diff --git a/CHANGELOG.md b/CHANGELOG.md index 0633900ec0c9..925207fe1137 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,128 @@ ## Unreleased +## Unreleased + +### Migration notes + +- Old server/client socket getter methods deprecated + ([#9716](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9716)) + +### 📈 Enhancements + +- Allow enabling receive telemetry in kafka library instrumentation + ([#9693](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9693)) +- Add JdbcTelemetry and JdbcTelemetryBuilder + ([#9685](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9685)) +- Rename http.resend_count to http.request.resend_count + ([#9700](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9700)) +- Define `url.scheme` in terms of logical operation in HTTP server semconv + (when opting in to new semconv) + ([#9698](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9698)) +- Generate only consumer span for sqs receive message + ([#9652](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9652)) +- Replace `(client|server).socket.(address|port)` attributes with `network.(peer|local).(address|port)` + (when opting in to new semconv) + ([#9676](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9676)) +- Add capability for invokedynamic InstrumentationModules to inject proxies + ([#9565](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9565)) +- Make `network.transport` and `network.type` opt-in (when opting in to new semconv) + ([#9719](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9719)) +- Factor in `X-Forwarded-Host`/`Forwarded` when capturing `server.address` and `server.port` + (when opting in to new semconv) + ([#9721](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9721)) +- Move class that should've been internal to internal package + ([#9725](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9725)) +- Only set `server.port` when `server.address` is set (when opting in to new semconv) + ([#9737](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9737)) +- Add messaging conventions to sqs spans + ([#9712](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9712)) +- Make the JDBC driver config work with the OTel starter + ([#9625](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9625)) +- Don't normalize the '-' character in HTTP header names when opting in to new semconv + ([#9735](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9735)) +- Add instrumentation for jaxws metro 3.0+ + ([#9705](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9705)) +- Change `user_agent.original` from recommended to opt-in on HTTP client spans + ([#9776](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9776)) +- Change the precedence between `:authority` and `Host` headers + ([#9774](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9774)) +- Move capturing enduser.id attribute behind a flag + ([#9751](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9751), + [#9788](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9788)) +- Remove conditional requirement on `network.peer.address` and `network.peer.port` + (when opting in to new semconv) + ([#9775](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9775)) +- Change `client.port` from recommended to opt-in on HTTP server spans + (when opting in to new semconv) + ([#9786](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9786)) +- Make `url.scheme` opt in for HTTP client metrics and make `server.port` required + (when opting in to new semconv) + ([#9784](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9784)) +- Change `http.request.body.size` and `http.response.body.size` attributes from recommended to opt-in + (when opting in to new semconv) + ([#9799](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9799)) +- Capture `http.route` in spring-cloud-gateway + ([#9597](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9597)) +- Always set messaging operation + ([#9791](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9791)) +- Change `network.protocol.name` from opt-in to conditionally required + (when opting in to new semconv) + ([#9797](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9797)) +- Support specifying `spring.application.name` in the `bootstrap.properties`, `bootstrap.yml` + and `bootstrap.yaml` + ([#9801](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9801)) +- Add process spans to aws-1 sqs instrumentation + ([#9796](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9796)) +- Implement capturing message headers for aws1 sqs spans + ([#9824](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9824)) +- Add process spans to aws2 sqs instrumentation + ([#9778](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9778)) +- Add `service.name` to MDC + ([#9647](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9647)) +- Capture enduser attributes in Spring Security + ([#9777](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9777)) +- Capture message id in aws1 sqs instrumentation + ([#9841](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9841)) +- Implement capturing message headers for aws2 sqs spans + ([#9842](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9842)) +- Move kafka metrics to separate instrumentation module + ([#9862](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9862)) +- Capture logback logger context properties + ([#9553](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9553)) +- Stable JVM semconv implementation: classes + ([#9821](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9821)) +- Stable JVM semconv implementation: threads + ([#9839](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9839)) +- Stable JVM semconv implementation: GC + ([#9890](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9890)) +- Bridge incubator metrics apis + ([#9884](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9884)) +- Ability to instrument logs before OTel injection into OTel appenders + ([#9798](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9798)) +- Suppress instrumentation based on suppress Context key + ([#9739](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9739)) +- Stable JVM semconv implementation: the rest + ([#9896](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9896)) + +### 🛠️ Bug fixes + +- Fix armeria server instrumentation for http2 + ([#9723](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9723)) +- Guard against null list from aws SQS lib + ([#9710](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9710)) +- Fix parsing port from mariadb jdbc url + ([#9863](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9863)) + +### 🧰 Tooling + +- Improve disableShadowRelocate + ([#9715](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9715)) +- Allow injection of helper bytecode as resources + ([#9752](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9752)) +- Rewrite @Advice.Enter for indy advice + ([#9887](https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/9887)) + ## Version 1.31.0 (2023-10-12) ### 🌟 New javaagent instrumentation