Releases: DataDog/dd-trace-java
Releases · DataDog/dd-trace-java
1.26.1
Components
Continuous Integration Visibility
- 🐛 Update repo indexer to not follow symlinks that point inside the repo (#6401 - @nikita-tkachenko-datadog)
Trace context propagation
- Rate limit Datadog tags decoding warnings (#6385 - @bantonsson)
Instrumentations
1.26.0
Potentially Breaking Changes
Warning
Allow comma in request header tag values (#6376 - @bantonsson)
Components
Application Security Management (IAST)
- Match tainted objects with sources when checking unbounded vulnerabilities (#6122 - @manuel-alvarez-alvarez)
Application Security Management (WAF)
- Update ASM event rules to v1.10.0 (#6349 - @smola)
- Remove warning about unknown graphql.server.all_resolvers (#6344 - @smola)
Continuous Integration Visibility
- Implement custom code coverage mechanism for Intelligent Test Runner (#6390 - @nikita-tkachenko-datadog)
- Ignore configuration blocks when comparing skippable test identifiers (#6379 - @nikita-tkachenko-datadog)
- ⚡ Reduce per-test code coverage overhead (#6378 - @nikita-tkachenko-datadog)
- 🐛 Ensure module name is consistent between test.module, test.suite and test spans when build system is instrumented (#6354 - @nikita-tkachenko-datadog)
- Implement flaky tests retry for Cucumber JUnit 5 (#6339 - @nikita-tkachenko-datadog)
- Implement flaky tests retry for Spock (#6338 - @nikita-tkachenko-datadog)
- Implement flaky test retry for JUnit 5.3 (#6332 - @nikita-tkachenko-datadog)
- Implement Scalatest support (#6331 - @nikita-tkachenko-datadog)
- Added test suite level visibility for JUnit 3.8 test cases (#6320 - @nikita-tkachenko-datadog)
- 🐛 Fix source path detection in multi-project repos (#6318 - @nikita-tkachenko-datadog)
- 🐛 Fix root coverage packages calculation in large repositories (#6317 - @nikita-tkachenko-datadog)
Crash tracking
- cleanup crashtracking (#6363 - @richardstartin)
Data Streams Monitoring
- Add BP trigger for DSM Kafka Benchmark (#6173 - @ddyurchenko)
- Configurable DSM bucket duration (#6171 - @randomanderson)
- Extract Kafka cluster ID as tag for DSM (#6044 - @hokitam)
Database Monitoring
- 🐛 Append DBM trace context comments for SQL Server & Postgres (#6214 - @jmeunier28)
Dynamic Instrumentation
- Accept any config id from Remote Config (#6384 - @jpbempel)
- Disable debugger track while the UI is not ready (#6367 - @jpbempel)
- Add support of Java records (#6355 - @jpbempel)
- ✨ Send probe statuses to new debugger track (#6276 - @jpbempel)
GraalVM native-image
- Enable TimelineEvent in GraalVM native image (#6368 - @jbachorik)
- Have JFR setting event for native-image recording (#6348 - @jbachorik)
Profiling
- JFR stackdepth setting (#6335 - @jbachorik)
Trace context propagation
⚠️ Allow comma in request header tag values (#6376 - @bantonsson)
Tracer core
- 🐛 Fix span links serialization as tag (#6341 - @PerfectSlayer)
- Tag-based sampling rules (#6298 - @ygree)
Instrumentations
Apache Spark instrumentation
- Enforce new ingestion reason for spark traces (#6310 - @paul-laffon-dd)
- Add field parent_stage_ids to
spark.stage
spans (#6309 - @paul-laffon-dd)
Armeria Instrumentation
- 🐛 Armeria Jetty: ensure spans are finished (#6291 - @amarziali)
JAX-RS instrumentation
- 🐛 Make propagation happen on AsyncResponse using CFX JAX-RS (#6313 - @amarziali)
Spring instrumentation
- 🐛 Exclude spring-kafka runnables from spring scheduling wrapping (#6388 - @amarziali)
- 🐛 Make webflux compatible with latest spring 6 (#6352 - @amarziali)
Eclipse Vert.x instrumentation
- Add Vert.x 4 Redis client instrumentation (#6233) -- thanks @akshaypatidar1999 for the contribution!
Other changes
1.25.1
Note
There will be no 1.25.0 release
Components
Application Security Management (IAST)
- 🐛 Fix config
DD_IAST_TRUNCATION_MAX_VALUE_LENGTH
value typo (#6303 - @jandro996) - Add IAST support for org.json (#6165 - @DDJavierSantos)
- IAST support for Spring with gson (#6123 - @jandro996)
- IAST support for commons fileupload (#6089 - @DDJavierSantos)
Application Security Management (WAF)
- 🐛 Exclude OAuth from Spring Security instrumentation (#6278 - @smola)
- 🐛 Fix race in Spring Security instrumentation (hideUserNotFoundExceptions) (#6277 - @smola)
Build & Tooling
Continuous Integration Visibility
- Skip Git data upload if backend already knows of the available latest commits (#6301 - @nikita-tkachenko-datadog)
- Reduce ITR overhead on default branches (#6296 - @nikita-tkachenko-datadog)
- Allow Jacoco auto-instrumentation even when ITR is disabled (#6294 - @nikita-tkachenko-datadog)
- Remove user info from SSH git repo urls (#6275 - @nikita-tkachenko-datadog)
- 🐛 Include feature URI in test suite name in Cucumber instrumentations (#6274 - @nikita-tkachenko-datadog)
- Ensure test.framework and test.framework_version with multi-values have fixed order (#6271 - @nikita-tkachenko-datadog)
- Propagate ITR tags from module to session in headless mode (#6269 - @nikita-tkachenko-datadog)
- Implement coverage for Cucumber .feature files (#6251 - @nikita-tkachenko-datadog)
- 🐛 Fix conflicting CI Visibility instrumentation names (#6197 - @nikita-tkachenko-datadog)
- 🐛 Fix root coverage packages calculation in large repositories (#6317 - @nikita-tkachenko-datadog)
Data Streams Monitoring
- Add DSM for google pubsub (#6156 - @amarziali)
- ✨ Improve KStreams support (#5697 - @kr-igor)
Database Monitoring
Dynamic Instrumentation
- 🐛 Fix inner class signature matching (#6270 - @jpbempel)
- ✨ Add support of
@exception
for uncaught exception (#6264 - @jpbempel) - Handle WellKnown classes as primitives in EL (#6263 - @jpbempel)
- ✨ Add Remote Config based enablement for Symbol DB (#6252 - @jpbempel)
GraalVM native-image
- Support profiler in graalvm native image applications (#6145 - @jbachorik)
- 📖 Add GraalVM native image build instructions (#6265 - @ygree)
Profiling
- Upgrade ddprof to 0.90.0 (#6280 - @richardstartin)
- Add option to collect heap histogram after GC or periodically (#6240 - @richardstartin)
- Disable ddprof by default on GraalVM JIT (#6237 - @jbachorik)
- Surface cause when DD profiler can't be instantiated (#6223 - @richardstartin)
- Support profiler in graalvm native image applications (#6145 - @jbachorik)
- JFR based profiling context (#6261 - @richardstartin)
Remote Configuration
- Add new sampling rules criteria and support for dynamic config (#5164 - @PerfectSlayer)
Telemetry
- Report internal errors/exceptions via telemetry (#6057 - @ValentinZakharov)
Tracer core
- Add new sampling rules criteria and support for dynamic config (#5164 - @PerfectSlayer)
- Adds resource name matching to the trace sampling rules (#5900 - @dougqh)
Tracer internal logging
- Adds Tinylog instrumentation (#6267 - @zarirhamza)
- Support remote logging over logback's SocketAppender (#6229 - @mcculls)
Instrumentations
AWS Lambda instrumentation
- Add span error metadata to Datadog Lambda Extension request headers (#6061 - @DylanLovesCoffee)
Netty instrumentation
- 🐛 Add support for netty-reactor http2 client/server (#6226 - @amarziali)
OpenTelemetry instrumentation
- 🐛
⚠️ Store OpenTelemetry span kind as tag instead of span type and drop reserved attributes from span tags (#6239 - @PerfectSlayer)
Reactor instrumentation
- 🐛 Add support for netty-reactor http2 client/server (#6226 - @amarziali)
Spring instrumentation
- 🐛 Spring scheduling: have actuator display the right task class name (#6249 - @amarziali)
All other instrumentations
- Enable google-pubsub by default (#6225 - @amarziali)
- Add DSM for google pubsub (#6156 - @amarziali)
Other changes
1.24.2
1.24.1
Breaking Changes
Warning
Regression in the continuous profiler when running on OpenJ9. All stacktraces appear as truncated.
Components
Continuous Integration Visibility
- 🐛 Fix module name calculation for test executions whose working dir is outside of project repository (#6235 - @nikita-tkachenko-datadog)
Instrumentations
OpenTelemetry instrumentation
- 🐛
⚠️ Store OpenTelemetry span kind as tag instead of span type (#6232 - @PerfectSlayer)
1.24.0
Breaking Changes
Warning
Span operation and resource names issued from OpenTelemetry instrumentations will change according our new naming convention. Check #6104 for more details.
Warning
Regression in the continuous profiler when running on OpenJ9. All stacktraces appear as truncated.
Components
Application Security Management (IAST)
- Ensure grpc message handler generates telemetry metrics (#6204 - @manuel-alvarez-alvarez)
- Exclude net.jodah.failsafe from IAST (#6200 - @smola)
Continuous Integration Visibility
- Add custom test fingerprint tags to ITR requests (#6195 - @nikita-tkachenko-datadog)
- 🐛 Fix CI Visibility Manual API to not fail when there is no tracer injected (#6192 - @nikita-tkachenko-datadog)
- Add x-datadog-trace-id header to ITR backend requests (#6189 - @nikita-tkachenko-datadog)
- 🐛 Fix error when trying to get class stream for Mockito mocks (#6183 - @nikita-tkachenko-datadog)
- 🐛 Fix error when serializing skippable tests whose names contain non-ASCII characters (#6182 - @nikita-tkachenko-datadog)
- Fail fast when tracer versions do not match in parent and child processes (#6168 - @nikita-tkachenko-datadog)
- Update default versions of Datadog Javac plugin and Jacoco plugin injected by CI Visibility (#6166 - @nikita-tkachenko-datadog)
- Add caching to JVM info factory (#6162 - @nikita-tkachenko-datadog)
- Implement configuration-cache support in Gradle instrumentation (#6124 - @nikita-tkachenko-datadog)
Database Monitoring
- Fix SQL Server connection instrumentation driver class allow list (#6209 - @jmeunier28)
Dynamic Instrumentation
Metrics
- Revert setting dd.internal.card:none for UDS (#6220 - @mcculls)
- Upgrade bundled metrics integrations to 7.49.0 (#6207 - @mcculls)
Profiling
- Change default safemode to avoid last Java pc retry strategy (#6221 - @richardstartin)
Telemetry
- Fix log message to debug level when DD_API_KEY missing to create Telemetry Intake connection (#6213 - @ygree)
Trace context propagation
- ✨ Context propagation improvements (#6186 - @PerfectSlayer)
Tracer core
- ✨ Context propagation improvements (#6186 - @PerfectSlayer)
- Try to locate tracer JAR using class loader resource lookup when bootstrapping the agent (#6126 - @nikita-tkachenko-datadog)
Instrumentations
gRPC instrumentation
- ✨ Expose remote peer info for grpc client spans (#6184 - @amarziali)
OpenTelemetry instrumentation
- ✨ Ensure OpenTelemetry span kind is set (#6205 - @PerfectSlayer)
- ✨
⚠️ Add span operation naming convention (#6104 - @PerfectSlayer) - ✨ Add span links support to OpenTelemetry instrumentation (#5616 - @PerfectSlayer)
All other instrumentations
- 🔐 Obfuscate Cassandra statements (#6187 - @am312)
- 💡🧪 Add google pubsub instrumentation (#6147 - @amarziali)
- 🔐 Obfuscate Couchbase queries (#6116 - @nayeem-kamal)
1.23.0
Components
Application Security Management (IAST)
- 🐛 Ensure no strong references are kept due to source names (#6129 - @manuel-alvarez-alvarez)
- 🧹 Improve coverage for IAST web sources (#6083 - @manuel-alvarez-alvarez)
- Taint gson sources (deserialization) (#6056 - @jandro996)
- IAST Servlet.getRequestURL instrumentation (#6031 - @DDJavierSantos)
- Stacktrace leak protection for Tomcat 7 (#5740 - @ValentinZakharov)
Application Security Management (WAF)
- 🐛 Make sure AbstractServletInputStreamWrapper does not propagate exceptions (#6170 - @manuel-alvarez-alvarez)
- AppSec Xml support for play 2.6 (#6100 - @cataphract)
- Update to ASM rules 1.9.0 (#6181 - @ValentinZakharov)
Continuous Integration Visibility
- 🐛 Fix NPE when instrumenting Gradle projects that have no 'main' source set (#6174 - @nikita-tkachenko-datadog)
- 🐛 Fix forked JVM args duplication when auto-configuring Gradle test tasks (#6151 - @nikita-tkachenko-datadog)
- 🐛 Fix NPE in @setup calls when tracing Karate (#6146 - @nikita-tkachenko-datadog)
- 🐛 Fix CI Visibility to work with DD Admission Controller (#6139 - @nikita-tkachenko-datadog)
- 🐛 Fix NPE when tracing named parameterised tests in JUnit 4 instrumentation (#6125 - @nikita-tkachenko-datadog)
- 🐛 Fix suite name calculation for jqwik framework (#6108 - @nikita-tkachenko-datadog)
Database Monitoring
- 🐛 Append sql comments instead of prepend to prevent exceptions on CallableStatements (#6034 - @jmeunier28)
- DBM-APM: Selectively pre/append sql comments depending on DBMS typeq (#6160 - @jmeunier28)
Dynamic Instrumentation
- Add limits on dynamic log message (#6167 - @jpbempel)
- ✨ Improve snapshot pruning algorithm (#6164 - @jpbempel)
- 🐛 Fix accessing array field by reflection (#6154 - @jpbempel)
- Sample log probes with errors on condition (#6150 - @jpbempel)
- Add git repository and sha in RC request tags (#6143 - @jpbempel)
- 🐛 Fix tracer enabled detection default value (#6142 - @jpbempel)
- 🐛 Fix sampling for line probe without condition (#6135 - @jpbempel)
- ✨ Add Language Specifics in Symbol Extraction (#6119 - @jpbempel)
- Add support of lambdas as CLOSURE scope type (#6105 - @jpbempel)
- Change redacted values in snapshot & log templates (#6103 - @jpbempel)
Profiling
- Upgrade to ddprof 0.84.0 (#6176 - @richardstartin)
- Bump ddprof dep to 0.83.0 (#6169 - @jbachorik)
- add resource name to profile samples (#6113 - @richardstartin)
- Upgrade to ddprof 0.82.0 (#6109 - @richardstartin)
- report profiling context integration on root span (#6163 - @richardstartin)
Telemetry
Tracer core
- ✨ Update span links implementation (#6009 - @PerfectSlayer)
Instrumentations
Kafka instrumentation
Other changes
- instrument Exception and Error classes to avoid instrumenting generic throwables used for control flow (#6128 - @richardstartin)
1.22.0
Breaking Changes
See #5968 for further notes on details and the feature flag to revert back to the old behavior.
Components
Application Security Management (IAST)
- Handle serialization exceptions in IAST (#6102 - @smola)
- 🐛 Fix NPE in IAST evidence redaction (#6099 - @smola)
- Protect EvidenceAdapter against invalid ranges (#6071 - @jandro996)
- Changed HttpServletRequest.getRequestURI reported source to http.request.path (#6066 - @DDJavierSantos)
- Ensure that iast json tag does not exceed the maximum allowed (#5987 - @jandro996)
- Limit the max number of ranges for a tainted value (#5986 - @manuel-alvarez-alvarez)
- Truncate long String values in IAST Vulnerabilities (#5975 - @jandro996)
- 🐛 Fix issue redacting consecutive tainted values (#5969 - @manuel-alvarez-alvarez)
- 🐛 Fix the X-Content-Type-Options header string (#5950 - @DDJavierSantos)
- Add tainted range based redaction for XSS vulnerabilities (#5948 - @jandro996)
- ✨ Add redefinition listener to disable taintable visitor in case of failure (#5928 - @manuel-alvarez-alvarez)
- Update IAST vulnerability hash (#5926 - @jandro996)
- Add multipart support as IAST source for servlet (#5918 - @DDJavierSantos)
- Add propagation support to GRPC request payloads (#5894 - @manuel-alvarez-alvarez)
- Support servlet getRequestURI/getPathTranslated/getPathInfo as IAST sources (#5814 - @DDJavierSantos)
Application Security Management (WAF)
- Akka: skip synthetic header Raw-Request-Uri (#6101 - @cataphract)
- Update obfuscation query string regex (#6095 - @ValentinZakharov)
- Fix AppSec-related problems in akka-http (#5989 - @cataphract)
⚠️ Appsec support for Play 2.5+ (#5968 - @cataphract)- Added trusted IPs protocol (#5952 - @ValentinZakharov)
- 🐛 Fix blocking in netty 3.8 (#5947 - @cataphract)
- Added Api Security request data classification (#5942 - @ValentinZakharov)
- Add support of all rule tags in AppSec event reports (#5939 - @ValentinZakharov)
- Add API Security request schema extraction (#5888 - @ValentinZakharov)
- ASM WAF support for Akka HTTP (#5855 - @cataphract)
Build & Tooling
- Make sure internal 'datadog.trace.api.Functions' class is relocated in dd-trace-ot (#6005 - @mcculls)
Continuous Integration Visibility
- 🐛 Fix tracer logging when instrumenting Gradle Daemon (#6080 - @nikita-tkachenko-datadog)
- Add support for Karate testing framework (#6041 - @nikita-tkachenko-datadog)
- Add support for AWS CodePipeline CI provider (#6027 - @nikita-tkachenko-datadog)
- Remove application key header from settings and ITR requests (#5949 - @nikita-tkachenko-datadog)
- 🐛 Update Git unshallow logic to handle cases when HEAD points to a local-only commit (#5934 - @nikita-tkachenko-datadog)
- 🐛 Fix module coverage calculation issue where data from one module could influence data from another module (#5931 - @nikita-tkachenko-datadog)
- 🧹 Split JUnit 5 instrumentation logic into framework-specific modules (#5907 - @nikita-tkachenko-datadog)
- Implement ITR unskippable tests for TestNG (#5889 - @nikita-tkachenko-datadog)
- Imlpement ITR unskippable tests for JUnit 4 (#5882 - @nikita-tkachenko-datadog)
- 🧹 Create separate modules for test framework instrumentations based on JUnit 4 (#5875 - @nikita-tkachenko-datadog)
- Imlpement ITR unskippable tests for JUnit 5 (#5874 - @nikita-tkachenko-datadog)
- ⚡ Update Jacoco instrumentation logic to use static method handles instead of reflection (#5845 - @nikita-tkachenko-datadog)
- ✨ Automatically configure list of packages for Jacoco instrumentation (#5835 - @nikita-tkachenko-datadog)
Data Streams Monitoring
- Avoid potential deadlock in DefaultDataStreamsMonitoring on tracer shutdown (#6011 - @mcculls)
- ✨ Add DSM API changes to support kinesis use case (#6001 - @devinsba)
- ✨ Add DSM implementation for kinesis in SDKv1 (#5981 - @devinsba)
- ✨ Add DSM implementation for kinesis in SDKv2 (#5966 - @devinsba)
Dynamic Instrumentation
- 🐛 Fix sampling with probe condition (#6086 - @jpbempel)
- ✨ Add config for custom redacted types (#6059 - @jpbempel)
- ✨ Add config fo custom redacted identifiers (#6053 - @jpbempel)
- ✨ Introduce PII redaction based on keywords (#6048 - @jpbempel)
- 🐛 Disable sampling for span decoration probe (#6006 - @jpbempel)
- ✨ Introduce symbol extraction for debugger (#6004 - @jpbempel)
- 🐛 Fix race condition for applying probe rate limits (#5988 - @jpbempel)
- Fix boolean expression eval as template parameter (#5971 - @jpbempel)
- 🐛 Prevent calling size method from unknown classes (#5946 - @jpbempel)
GraalVM native-image
- Mark some default services as off during native-image build (#6079 - @mcculls)
- Skip task scope creation for Graal VMOperation threads (#6078 - @mcculls)
- Relocate OkHttp to avoid conflicts (#6018 - @luneo7 - thanks for the contribution!)
- Register that we will reflect on ConcurrentHashMap constructor at runtime (#5924 - @mcculls)
Metrics
Profiling
- add heap histogram option (#6076 - @richardstartin)
- Expose omit linenumbers mode for profiler (#6040 - @richardstartin)
- Upgrade to ddprof 0.81.0 (#6039 - @richardstartin)
- Do not record queue time before JFR is initialised (#5977 - @richardstartin)
- Upgrade to ddprof 0.79.0 (#5965 - @richardstartin)
- 🐛 fix wallclock profiler enablement logic (#5960 - @richardstartin)
- Enable jdk.ZAllocationStall event (#5954 - @richardstartin)
- Register netty event loops known to do IO for wallclock profiling (#5944 - @richardstartin)
- Propagate span into lettuce CommandHandler event loop (#5936 - @richardstartin)
- Do not start profiler if running in AWS Lambda. (#5891 - @purple4reina)
Telemetry
- 🐛 Fix dependency service for spaced paths (#6051 - @ygree)
- Flush telemetry data on JVM shutdown (#5943 - @nikita-tkachenko-datadog)
Tracer core
- Skip attaching the tracer to the keytool command (#6096 - @mcculls)
- 🧪 Service naming: use the root service instead DD_SERVICE when flattening (#5959 - @amarziali)
- Flush telemetry data on JVM shutdown (#5943 - @nikita-tkachenko-datadog)
- 🐛 Fix baggage HTTP header encoding (#5927 - @PerfectSlayer)
Instrumentations
Apache Spark instrumentation
- Add support for scala 2.13 for spark instrumentation (#6054 - @paul-laffon-dd)
- Rename spark streaming query attributes (#6029 - @paul-laffon-dd)
- Add spark streaming watermark gap metric (#5979 - @paul-laffon-dd)
- Add Databricks default service name if not set by the user (#5961 - @paul-laffon-dd)
⚠️ Rename operation name spark.batch to spark.streaming_batch (#5953 - @paul-laffon-dd)
Armeria Instrumentation
AWS SDK instrumentation
- 🐛 AWS set reponse status on error (#6055 - @ygree)
- ✨ Add DSM implementation for kinesis in SDKv1 (#5981 - @devinsba)
- ✨ Add DSM implementation for kinesis in SDKv2 (#5966 - @devinsba)
- ✨ Extract trace context from embedded SQS message attribute '_datadog' (#5920 - @mcculls)
gRPC instrumentation
- Register netty event loops known to do IO for wallclock profiling (#5944 - @richardstartin)
- ✨ Add support for armeria-grpc (#5819 - @devinsba)
JDBC instrumentation
Lettuce instrumentation
- Register netty event loops known to do IO for wallclock profiling (#5944 - @richardstartin)
- Propagate span into lettuce CommandHandler event loop (#5936 - @richardstartin)
Netty instrumentation
- Register netty event loops known to do IO for wallclock profiling (#5944 - @richardstartin)
OpenTelemetry instrumentation
- ✨ Improve OpenTelemetry span attributes encoding (#5980 - @PerfectSlayer)
- ✨ Add support for OpenTelemetry root context manipulation (#5970 - @PerfectSlayer)
- ✨ Add OpenTelemetry context propagator instrumentation support (#5962 - @PerfectSlayer)
Play Framework instrumentation
- 🐛 Fix play-2.6 reporting header ip as peer IP (#6014 - @cataphract)
Trace annotations instrumentation
All other instrumentations
- Add
weblogic.net.http.HttpURLConnection
to list of traced connection classes (#6047 - @mcculls) - Support tracing of custom (non-JDK) HttpURLConnection implementations (#6046 - @mcculls)
- Skip falling back to 'org.apache.jasper.servlet.JasperLoader.loadClass' (#5998 - @mcculls)
- Use package prefix to direct search for helper dependencies in OSGi (#5973 - @mcculls)
- Openliberty jakarta integration (#5652 - @nayeem-kamal)
1.21.0
Components
Application Security Management (IAST)
- Add Thymeleaf support to IAST XSS vulnerability (#5901)
- 🐛 Improved IAST request sampling with more accurate configuration (#5879)
- ⚡ Use bytes instead of strings in IAST metrics tags (#5872)
- 🐛 Fix request body tainting in spring boot 2.7.5 (#5867)
- Exclude net.jpountz.xxhash (#5856)
- Add XSS detection for Spring's ResponseBody (#5813)
- Add support for scala APIs (#5284)
Application Security Management (WAF)
- Update to ASM rules 1.8.0 (#5902)
- Make sure we close the AppSec default template resource after reading (#5876)
- 🐛 Fix blocking for jetty 10.0.16 and 11.0.16 (#5857)
- 🐛 Fix race condition in AppSec GatewayBridge (#5834)
- Improve query obfuscation regular expression (#5824)
Continuous Integration Visibility
- 🐛 Always populate test.command tag in session spans (#5885)
- 🐛 Fix deadlock occuring when stopping SignalServer (#5884)
- 🐛 Fix NullPointerException when calculating ITR skippable tests in TestNG (#5836)
- 🐛 Correctly handle cases when there are multiple JVM forks per single test module (#5806)
- Implement sending total coverage percentage for sessions and modules (#5769)
- Allow specifying additional JVM arguments for children processes (#5628)
Data Streams Monitoring
- ✨ Add version tag to data streams (#5866)
- Allow data streams monitoring to be controlled by dynamic config (#5779)
Dynamic Instrumentation
- Make
@duration
a float value in ms (#5823)
Metrics
Profiling
- Upgrade ddprof to 0.78.0 (#5914)
- GA the profiling context API (#5830)
- Restore exception profiling instrumentation enablement (#5826)
Remote Configuration
- Allow data streams monitoring to be controlled by dynamic config (#5779)
Telemetry
- Less verbose dependency collection debug logs (#5904)
- 🐛 Fix Telemetry Config Collector to collect String and Map values (#5886)
Tracer core
- 🧪 Make peer.service manually overridden by component (#5860)
- Skip attaching the tracer when we know the JVM is running a JDK tool such as
jstack
(#5854)
Instrumentations
Apache Spark instrumentation
- Add fallbacks when retrieving databricks ids (#5910)
- Custom spark spans tags at runtime (#5870)
- Add Spark SQL spans (#5820)
Eclipse Vert.x instrumentation
- Add vertx4 mysql client instrumentation (#5717) -- thanks @akshaypatidar1999 for the contribution!
JDBC instrumentation
- Preserve single line comment (--) prefixes when normalizing SQL (#5812)
JMS instrumentation
- Support tracing
jakarta.jms
calls (#5868) - Avoid duplicate traces for nested JMS receive calls (#5863)
OpenTelemetry instrumentation
- ✨ Add support for OpenTelemetry record exception span event (#5895)
- ✨ Only invalidate current OTel context if we created it (#5880)
All other instrumentations
- ✨ Add asynchronous type support for trace annotation instrumentation (#5802)
- Add instrumentation support for Apache Pekko (#5858) -- thanks @scoquelin for the contribution!
Other changes
1.20.1
Components
Continuous Integration Visibility
- 🐛 Fix NullPointerException when calculating ITR skippable tests in TestNG (#5842)
Other changes
- Replace okio dependency with fork that backports the fix for CVE-2023-3635 (#5851)
- Exclude JMXFetch jackson dependencies because we don't need them for our embedded usage (#5843)