|
2 | 2 |
|
3 | 3 | ## Unreleased |
4 | 4 |
|
| 5 | +### ⚠️ Breaking Changes |
| 6 | + |
| 7 | +- AWS SDK 2.x attributes updated to align with semantic conventions |
| 8 | + ([#15028](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15028)) |
| 9 | + - The following DynamoDB attributes have been renamed: |
| 10 | + - `aws.dynamodb.provisioned_throughput.read_capacity_units` → `aws.dynamodb.provisioned_read_capacity` (type changed from long to double) |
| 11 | + - `aws.dynamodb.provisioned_throughput.write_capacity_units` → `aws.dynamodb.provisioned_write_capacity` (type changed from long to double) |
| 12 | + - `aws.dynamodb.exclusive_start_table_name` → `aws.dynamodb.exclusive_start_table` |
| 13 | + - `aws.dynamodb.projection_expression` → `aws.dynamodb.projection` |
| 14 | + - `aws.dynamodb.scan_index_forward` → `aws.dynamodb.scan_forward` |
| 15 | + - The following attributes are no longer emitted by default but can be enabled with |
| 16 | + `otel.instrumentation.aws-sdk.experimental-span-attributes=true`: |
| 17 | + - `aws.queue.name` (SQS) |
| 18 | + - `aws.lambda.function.name` (Lambda) |
| 19 | + - `aws.lambda.function.arn` (Lambda) |
| 20 | +- JDBC library data source instrumentation now disabled by default |
| 21 | + ([#15074](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15074)) |
| 22 | +- JMX state metrics unit changed from empty string to `1` to align with semantic conventions |
| 23 | + ([#15093](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15093)) |
| 24 | +- AWS SDK 1.x attributes updated to align with semantic conventions |
| 25 | + ([#15094](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15094)) |
| 26 | + - Only affects users with `otel.instrumentation.aws-sdk.experimental-span-attributes=true` |
| 27 | + - The following attributes have been renamed and are now emitted by default (no experimental flag required): |
| 28 | + - `aws.bucket.name` (S3) → `aws.s3.bucket` |
| 29 | + - `aws.queue.url` (SQS) → `aws.sqs.queue.url` |
| 30 | + - `aws.stream.name` (Kinesis) → `aws.kinesis.stream_name` |
| 31 | + - `aws.table.name` (DynamoDB) → `aws.dynamodb.table_names` |
| 32 | +- Finatra controller spans now disabled by default |
| 33 | + ([#15118](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15118)) |
| 34 | +- Netty HTTP request wrapper class renamed from HttpRequestAndChannel to NettyRequest |
| 35 | + ([#15247](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15247)) |
| 36 | + |
| 37 | +### 🚫 Deprecations |
| 38 | + |
| 39 | +- TracingConsumerInterceptor and TracingProducerInterceptor deprecated in favor of new configurable interceptors |
| 40 | + ([#14929](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14929)) |
| 41 | +- Various builder methods updated to use UnaryOperator<X> instead of Function<X, X> |
| 42 | + ([#15101](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15101)) |
| 43 | +- DbClientCommonAttributesGetter deprecated in favor of DbClientAttributesGetter |
| 44 | + ([#15139](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15139)) |
| 45 | + |
| 46 | +### 📈 Enhancements |
| 47 | + |
| 48 | +- Avoid Unsafe usage on Java 23+ |
| 49 | + ([#14855](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14855), |
| 50 | + [#15091](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15091)) |
| 51 | +- Update Azure SDK instrumentation so `az.namespace` can be used for sampling |
| 52 | + ([#15068](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15068)) |
| 53 | +- Spring Boot Starter: OpenTelemetry SDK bean now overridable with cached environment variable lookups |
| 54 | + ([#15132](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15132)) |
| 55 | +- HTTP instrumentations now emit semantic convention schema URL |
| 56 | + ([#15144](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15144)) |
| 57 | +- Added instrumentation support for AsyncHttpClient version 1.8 |
| 58 | + ([#15195](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15195)) |
| 59 | +- Instrumenter customizer now receives instrumentation type |
| 60 | + ([#15227](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15227)) |
| 61 | +- Added support for Spring Framework 7.0 |
| 62 | + ([#15287](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15287), |
| 63 | + [#15299](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15299), |
| 64 | + [#15301](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15301), |
| 65 | + [#15304](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15304), |
| 66 | + [#15311](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15311)) |
| 67 | +- Added span status customizer to incubating InstrumenterCustomizer API |
| 68 | + ([#15288](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15288)) |
| 69 | + |
| 70 | +### 🛠️ Bug fixes |
| 71 | + |
| 72 | +- Fix missing `peer.service` in Netty HTTP spans |
| 73 | + ([#14963](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14963)) |
| 74 | +- Fix Couchbase span kind to be `CLIENT` instead of `INTERNAL` |
| 75 | + ([#14995](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/14995)) |
| 76 | +- Link attributes are now bridged to the Java agent when using OpenTelemetry API |
| 77 | + ([#15143](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15143)) |
| 78 | +- Potential race condition in JFR runtime metrics initialization fixed |
| 79 | + ([#15231](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15231)) |
| 80 | +- Regression fixed related to context propagation when using Spring `@EnableAsync` |
| 81 | + ([#15249](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15249)) |
| 82 | +- Declarative configuration now uses snake_case for distro resource provider attribute name |
| 83 | + ([#15260](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/15260)) |
| 84 | + |
5 | 85 | ## Version 2.21.0 (2025-10-17) |
6 | 86 |
|
7 | 87 | ## ⚠️ Breaking Changes |
|
0 commit comments