github open-telemetry/opentelemetry-java-instrumentation v2.26.0
Version 2.26.0

5 hours ago

This release targets the OpenTelemetry SDK 1.60.1.

Note that many artifacts have the -alpha suffix attached to their version number, reflecting that they are still alpha quality and will continue to have breaking changes. Please see the VERSIONING.md for more details.

⚠️ Breaking changes to non-stable APIs

  • Remove deprecated AWS Lambda v2.2 wrappers and forceFlush(int, TimeUnit) overload (#16170)
  • Remove deprecated HTTP client/server methods (#16167)
  • Remove deprecated database instrumentation methods and classes (#16164)
  • Remove deprecated peer-service mapping APIs (#16165)
  • Make runtime-telemetry deprecated classes now internal (#16173)
  • Remove AttributesExtractorUtil (#16152)
  • Remove marker interface from SqlClientAttributesGetter (#16205)
  • Merge network/server getter methods into DB attribute getters (#16264, #16268)
  • Rename SQL sanitizer classes to SQL analyzer (#16269)
  • Rename internal common module packages to follow new naming convention (#16284, #16308, #16327, #16341, #16373)

🚫 Deprecations

  • Deprecated individual runtime-telemetry module classes in favor of unified module (#16087)
  • Deprecated old HTTP server query parameter methods in favor of sensitive query param handling (#16097)
  • Deprecated old RPC attributes getter methods in favor of new ones supporting stable semantic conventions (#16130)
  • Deprecated old ClickHouse instrumentation methods as part of simplification (#16206)
  • Deprecated old R2DBC methods in favor of ones supporting db.system.name (#16251)
  • Deprecated old DbClientAttributesGetter methods; added getErrorType() with implementations (#16276)
  • Deprecated old RPC metrics methods in favor of ones supporting stable semantic conventions (#16298)
  • Deprecated old DbClientAttributesGetter methods; added getDbName() to better support old/stable semconv split (#16318)

📈 Enhancements

  • Add server address and port attributes for Spymemcached (#15242)
  • Add Kafka Connect as a built-in JMX metrics target (#15561)
  • Convert Lettuce instrumentation to use Instrumenter (#15838)
  • OpenSearch Java client: capture sanitized search query bodies (#15634)
  • Apply stable semantic conventions to Camel JMX metrics (#16088)
  • Add jvm.file_descriptor.limit metric (#16174)
  • Run gRPC client callbacks with parent context (#16175)
  • SQL summary: handle EXPLAIN statements (#16184)
  • Simplify InfluxDB instrumentation (#16207)
  • Update histogram buckets for db.client.operation.duration (#16222)
  • SQL summary: support Oracle dblink syntax (#16230)
  • Add instrumentation for ZIO HTTP server route (#16232)
  • Remove network attributes under database stable semconv flag (#16257)
  • Support Javalin 7 (#16261)
  • gRPC: initial stable semconv support (#16304)
  • Populate os.version resource attribute (#16311)
  • Camel: don't emit db spans under stable semconv (#16275)
  • Dubbo: stable semconv support (#16352)
  • Update the OpenTelemetry SDK version to 1.60.0 (#16407)
  • Use new stable LogRecordBuilder.setException() (#16423)
  • Configure semconv-stability.opt-in with declarative config API (#16443)
  • Support otel.event.name (#16220)

🛠️ Bug fixes

  • SQL sanitizer now treats double-quoted fragments as string literals by default (#15582)
  • Clear recorded exception when request completes (#16138)
  • Clear URL connection state after ending span (#16155)
  • Fix Spring declarative config with environment variable substitution (#15775)
  • Fix Ktor server send pipeline error handling (#16192)
  • Logging appenders: KeyValue attributes should take priority over MDC (#16239)
  • Create new PekkoRouteHolder for each request (#16258)
  • Tomcat JMX: ignore negative thread and session limits (#16355)
  • server.port is required on HTTP client spans (#16388)
  • Fix Ktor server instrumentation resolving peer address (#16392)
  • Fix class cast exception in servlet instrumentation (#16403)
  • Fix empty response body on Jetty HttpClient 9.4.24–9.4.43 (#16406)

🙇 Thank you

This release was possible thanks to the following contributors who shared their brilliant ideas and awesome pull requests:

@aaaugustine29
@Arpan200502
@breedx-splk
@filipl
@fuleow
@hilmarf
@huange7
@imrahul23
@jack-berg
@jaydeluca
@jonasplaum
@laurit
@lmolkova
@lucacavenaghi97
@minwoox
@mznet
@pepeshore
@richard-salac
@robsunday
@samwright
@self-sasi
@steverao
@SylvainJuge
@trask
@zeitlinger

Don't miss a new opentelemetry-java-instrumentation release

NewReleases is sending notifications on new releases.