Skip to content

Commit 67226b4

Browse files
authored
Update changelog for upcoming release (#15615)
1 parent 34e74b8 commit 67226b4

2 files changed

Lines changed: 134 additions & 8 deletions

File tree

.github/scripts/draft-change-log-entries.sh

Lines changed: 48 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,51 @@ echo
4141
echo "### 🧰 Tooling"
4242
echo
4343

44-
git log --reverse \
45-
--perl-regexp \
46-
--author='^(?!renovate\[bot\] )' \
47-
--pretty=format:"- %s" \
48-
"$range" \
49-
| sed -E 's, *\(#([0-9]+)\)$,\n ([#\1](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/\1)),'
50-
echo
44+
# Group commits by file type
45+
declare -A src_main_commits
46+
declare -A no_src_main_commits
47+
48+
while IFS= read -r commit_hash; do
49+
files=$(git diff-tree --no-commit-id --name-only -r "$commit_hash")
50+
51+
has_src_main=false
52+
53+
while IFS= read -r file; do
54+
if [[ $file =~ /src/main/ ]] && [[ ! $file =~ ^smoke-tests/ ]] && [[ ! $file =~ ^smoke-tests-otel-starter/ ]] && [[ ! $file =~ /testing/ ]]; then
55+
has_src_main=true
56+
break
57+
fi
58+
done <<< "$files"
59+
60+
commit_msg=$(git log --format=%s -n 1 "$commit_hash" | sed -E 's, *\(#([0-9]+)\)$,\n ([#\1](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/\1)),')
61+
62+
# Categorize commit
63+
if [[ $has_src_main == true ]]; then
64+
src_main_commits["$commit_hash"]="$commit_msg"
65+
else
66+
no_src_main_commits["$commit_hash"]="$commit_msg"
67+
fi
68+
done < <(git log --reverse --perl-regexp --author='^(?!renovate\[bot\] )' --pretty=format:"%H" "$range")
69+
70+
# Output grouped commits
71+
if [[ ${#src_main_commits[@]} -gt 0 ]]; then
72+
echo "#### Changes with src/main updates"
73+
echo
74+
for commit_hash in $(git log --reverse --perl-regexp --author='^(?!renovate\[bot\] )' --pretty=format:"%H" "$range"); do
75+
if [[ -n ${src_main_commits[$commit_hash]} ]]; then
76+
echo "- $(git log --format=%s -n 1 "$commit_hash" | sed -E 's, *\(#([0-9]+)\)$, ([#\1](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/\1)),')"
77+
fi
78+
done
79+
echo
80+
fi
81+
82+
if [[ ${#no_src_main_commits[@]} -gt 0 ]]; then
83+
echo "#### Changes without src/main updates"
84+
echo
85+
for commit_hash in $(git log --reverse --perl-regexp --author='^(?!renovate\[bot\] )' --pretty=format:"%H" "$range"); do
86+
if [[ -n ${no_src_main_commits[$commit_hash]} ]]; then
87+
echo "- $(git log --format=%s -n 1 "$commit_hash" | sed -E 's, *\(#([0-9]+)\)$, ([#\1](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/\1)),')"
88+
fi
89+
done
90+
echo
91+
fi

CHANGELOG.md

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,94 @@
44

55
### ⚠️ Breaking Changes
66

7-
- Logback appender `captureArguments` option split into two options: `captureTemplate` and `captureArguments`
7+
- ActiveMQ Classic JMX metrics: rename attributes and metrics to align
8+
with semantic conventions (see PR description for specifics)
9+
([#14996](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14996))
10+
- Library instrumentation: remove previously deprecated methods from telemetry builders
11+
([#15324](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15324))
12+
- Logback: `captureArguments` no longer captures message template, use `captureTemplate`
813
([#15423](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15423))
14+
- Play: disable controller spans by default,
15+
re-enable with `otel.instrumentation.common.experimental.controller-telemetry.enabled=true`
16+
([#15604](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15604))
917

18+
### 🚫 Deprecations
19+
20+
- Library instrumentation: deprecate `setSpanNameExtractor()` and `setStatusExtractor()`
21+
in favor of `setSpanNameExtractorCustomizer()` and `setStatusExtractorCustomizer()`
22+
([#15529](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15529))
23+
24+
### 🌟 New javaagent instrumentation
25+
26+
- Apache ElasticJob
27+
([#14933](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14933))
28+
29+
### 🌟 New library instrumentation
30+
31+
- Apache Iceberg
32+
([#15114](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15114))
33+
- Servlets
34+
([#15473](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15473))
35+
36+
### 📈 Enhancements
37+
38+
- Spring starter: add declarative config logging exporter
39+
([#14917](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14917))
40+
- Failsafe: add support for `RetryPolicy`
41+
([#15255](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15255),
42+
[#15537](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15537))
43+
- GraphQL: add option to disable capturing query documents
44+
([#15384](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15384))
45+
- JMX metrics: allow any classpath resource path in rules
46+
([#15413](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15413))
47+
- Spring Boot actuator autoconfigure: support Spring Boot 4
48+
([#15433](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15433))
49+
- Spring JMS: support Spring Boot 4
50+
([#15434](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15434))
51+
- Spring starter: support Spring Boot 4
52+
([#15459](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15459))
53+
- Lettuce: support custom `ClientResources`
54+
([#15470](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15470))
55+
- Lettuce: add reactor-core compatibility checker
56+
([#15472](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15472))
57+
- Servlet: propagate context explicitly for async runnables
58+
([#15476](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15476))
59+
- Servlet: always add `trace_id` and `span_id` attributes to requests
60+
([#15485](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15485))
61+
- Pekko HTTP: separate route instrumentation from HTTP server instrumentation
62+
([#15499](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15499))
63+
- MongoDB: emit versioned scope name
64+
([#15500](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15500))
65+
- Spring WebFlux: support Spring Boot 4
66+
([#15502](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15502),
67+
[#15574](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15574))
68+
- Spring WebMVC: support Spring Boot 4
69+
([#15525](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15525))
70+
- Spring Cloud Gateway: support Spring Boot 4
71+
([#15540](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15540))
72+
- Spring starter: add missing Kafka configuration options
73+
([#15592](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15592))
74+
- OpenTelemetry API interop: support new GlobalOpenTelemetry methods introduced in 1.57
75+
([#15620](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15620))
76+
77+
### 🛠️ Bug fixes
78+
79+
- Spring Web/WebFlux: restore GraalVM native-image compatibility
80+
([#15306](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15306))
81+
- Spring Kafka: end span in `afterRecord` callback
82+
([#15367](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15367))
83+
- Spring starter: fix environment variable overrides for array properties in declarative config
84+
([#15424](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15424))
85+
- Ktor: prevent double `end()` calls in `KtorServerTelemetry`
86+
([#15452](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15452))
87+
- OpenTelemetry API interop: fix null handling in `ExtendedOpenTelemetry` declarative config
88+
([#15478](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15478))
89+
- Akka HTTP: fix `http.route` attribute capture and span naming
90+
([#15504](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15504))
91+
- Extensions: fix SPI loading for `InstrumenterCustomizerProvider` and related classes
92+
([#15538](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15538))
93+
- Sanitize sql statements that may contain unquoted passwords
94+
([#15607](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15607))
1095

1196
## Version 2.22.0 (2025-11-20)
1297

0 commit comments

Comments
 (0)