Skip to content

Commit 8e25e07

Browse files
otelbot[bot]trask
andauthored
Draft release notes (#19040)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com> Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
1 parent 63de06b commit 8e25e07

1 file changed

Lines changed: 148 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 148 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,155 @@
44

55
### ⚠️ Breaking changes to non-stable APIs
66

7-
- Changed the return type for `JmxTelemetry.start(...)` APIs.
7+
- Change the return type for `JmxTelemetry.start(...)` APIs.
88
([#18782](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18782))
9+
- Experimental runtime package telemetry now emits `package.checksum_algorithm=SHA-256` and
10+
64-character `package.checksum` values instead of SHA1 checksums.
11+
([#18846](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18846))
12+
13+
### 🚫 Deprecations
14+
15+
- Rename the common logging context keys to `otel.instrumentation.common.logging.trace-id-key`,
16+
`otel.instrumentation.common.logging.span-id-key`, and
17+
`otel.instrumentation.common.logging.trace-flags-key`, while keeping the old property names
18+
deprecated.
19+
([#18851](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18851))
20+
- Rename the `kafka-broker` and `kafka-connect` JMX target systems to
21+
`experimental-kafka-broker` and `experimental-kafka-connect`; the old names still work for now
22+
and log a warning.
23+
([#18971](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18971))
24+
25+
### 🌟 New javaagent instrumentation
26+
27+
- Add SOFARPC 5.4 instrumentation that emits RPC client and server spans and metrics.
28+
([#15589](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15589))
29+
- Add Javaagent instrumentation for HBase client 2.0.0 through 2.5.0.
30+
([#18253](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18253))
31+
32+
### 📈 Enhancements
33+
34+
- Add opt-in support for emitting HTTP request exceptions as log signals with
35+
`otel.semconv.exception.signal.preview=logs`.
36+
([#16259](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16259))
37+
- Add `opentelemetry-api-1.63` Javaagent instrumentation for OpenTelemetry API 1.63 and
38+
`opentelemetry-api-incubator` 1.63.
39+
([#18911](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18911))
40+
- Add `otel.semconv-stability.v3-preview` as a fallback for the declarative `v3_preview` semconv
41+
stability setting.
42+
([#18936](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18936))
43+
- Update the experimental stable database semantic-convention opt-in
44+
(`otel.semconv-stability.opt-in=database`) across database instrumentations, including span names
45+
and `db.*` attributes.
46+
([#18808](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18808),
47+
[#18853](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18853),
48+
[#18920](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18920),
49+
[#18922](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18922),
50+
[#18926](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18926),
51+
[#18930](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18930),
52+
[#18970](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18970),
53+
[#18979](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18979),
54+
[#18980](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18980),
55+
[#18984](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18984),
56+
[#18985](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18985),
57+
[#18986](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18986),
58+
[#18987](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18987),
59+
[#18989](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18989),
60+
[#18990](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18990),
61+
[#18992](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18992),
62+
[#18993](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18993),
63+
[#19004](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19004),
64+
[#19005](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19005))
65+
- Capture query text and parameterization for Cassandra batch statements.
66+
([#18964](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18964))
67+
- Keep `opentelemetry-api` and `opentelemetry-instrumentation-annotations` enabled under
68+
`otel.instrumentation.common.v3-preview` even when `default-enabled=false`.
69+
([#18792](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18792))
70+
- When `otel.instrumentation.common.v3-preview` is enabled, affected instrumentations emit `user.*`
71+
identity attributes instead of `enduser.*` ones.
72+
([#18795](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18795))
73+
- Disable Kafka client metrics by default when `otel.instrumentation.common.v3-preview=true`.
74+
([#18828](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18828))
75+
- Recognize Amazon Aurora DSQL and AWS wrapper JDBC URL prefixes when parsing JDBC connection
76+
metadata.
77+
([#18831](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18831))
78+
- Set instrumentation versions on emitted Meter scopes.
79+
([#18866](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18866))
80+
- Run `@WithSpan` instrumentation after other instrumentations so other advice can attach
81+
attributes to the active span.
82+
([#18874](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18874))
83+
- Emit database client failures as `db.client.operation.exception` logs when
84+
`otel.semconv.exception.signal.preview` is enabled.
85+
([#18889](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18889))
86+
- Emit RPC exceptions as log records when `otel.semconv.exception.signal.preview=logs` is enabled.
87+
([#18890](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18890))
88+
- Emit messaging exceptions as log records under `otel.semconv.exception.signal.preview`.
89+
([#18891](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18891))
90+
- Emit `faas.invocation.exception` log records for FaaS exceptions when
91+
`otel.semconv.exception.signal.preview=logs` is enabled.
92+
([#18892](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18892))
93+
- Emit `gen_ai.client.operation.exception` logs for OpenAI chat and embeddings failures when
94+
`otel.semconv.exception.signal.preview=logs` is enabled.
95+
([#18893](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18893))
96+
- Emit AWS SDK request failures as `rpc.client.call.exception` log records when
97+
`otel.semconv.exception.signal.preview=logs` is enabled.
98+
([#18894](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18894))
99+
- Declarative configuration now supports per-domain semantic-convention selection using
100+
`semconv.version`, `semconv.experimental`, and `semconv.dual_emit` settings.
101+
([#18908](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18908))
102+
- When `otel.instrumentation.common.v3-preview` is enabled, use
103+
`otel.semconv-stability.preview` instead of `otel.semconv-stability.opt-in` to opt in to the
104+
nonstable `service.peer` and `rpc` semantic conventions.
105+
([#18914](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18914))
106+
- Disable Kotlin coroutines `@WithSpan` instrumentation by default when
107+
`otel.instrumentation.common.v3-preview=true`.
108+
([#18919](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18919))
109+
- Use the summary-aware path in `SqlQueryAnalyzer.analyze()` when
110+
`otel.instrumentation.common.v3-preview` is enabled.
111+
([#18921](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18921))
112+
- When `otel.instrumentation.common.v3-preview` is enabled, deprecated JDBC/db sanitization config
113+
names are ignored in favor of `db.query_sanitization.enabled`.
114+
([#18934](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18934))
115+
- Include `jvm.gc.cause` on GC duration metrics when
116+
`otel.instrumentation.common.v3-preview` is enabled.
117+
([#18967](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18967))
118+
- Emit duration metrics for JDBC transaction operations `COMMIT` and `ROLLBACK`.
119+
([#19003](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19003))
120+
- Use a generated `InstrumentationVersion` class in OkHttp 3.0 instead of reading embedded
121+
version properties, avoiding Android StrictMode disk-read violations.
122+
([#19006](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19006))
123+
- Add thread details span attributes for declarative Spring starter configuration when
124+
`distribution.spring_starter.thread_details_enabled` is set.
125+
([#19008](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19008))
126+
127+
### 🛠️ Bug fixes
128+
129+
- Preserve the current context for Redisson command execution futures so async operations continue
130+
the active trace.
131+
([#18701](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18701))
132+
- Stop the Pulsar agent from creating duplicate receive spans for multi-topic consumers.
133+
([#18771](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18771))
134+
- Fix a hang in Ktor client streaming requests so spans end promptly with Ktor 3.5.0.
135+
([#18781](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18781))
136+
- Fix a `Bedrock` `converseStream` `NullPointerException` when a tool call has empty arguments.
137+
([#18783](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18783))
138+
- Capture the Pulsar message ID earlier so producer spans can record it reliably.
139+
([#18803](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18803))
140+
- Fix SQLite JDBC statement and prepared-statement instrumentation so SQLite connections produce
141+
SQL spans and parameter capture.
142+
([#18885](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18885))
143+
- Fix Logback MDC declarative configuration keys so `otel.instrumentation/development.java.*`
144+
settings apply correctly.
145+
([#18924](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18924))
146+
- Fix SQL password sanitization for mixed-case DDL targets like `create table` and `alter table`.
147+
([#18927](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18927))
148+
- Logs emitted through async Log4j loggers now keep the application thread's OpenTelemetry `Context`
149+
instead of falling back to span-only recovery.
150+
([#18937](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18937))
151+
- Avoid instrumentation errors when loading `redis.clients.jedis.Jedis`, `BinaryJedis`, and
152+
`UnifiedJedis`.
153+
([#19000](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19000))
154+
- Run OpenSearch async callbacks with the request's parent context.
155+
([#19027](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/19027))
9156

10157
## Version 2.28.1 (2026-05-20)
11158

0 commit comments

Comments
 (0)