Releases: DataDog/dd-trace-java
Releases · DataDog/dd-trace-java
1.11.0
Changes
Warning
Do not use this version for profiling, the crash reported in #4978 was fixed in v1.11.2
Core
- Allow using Java agent arguments to provide config properties #4888
- Add padding to B3 propagation headers #4945
- Performance improvement. Replace map-based TypeInfoCache with a fixed-sized array #4854
- Measured methods config option [Feature-request] #4738
- W3C trace context extractor/injector #4816
- Add missing URLAsResourceNameRule functionality to TagInterceptor #4798
- DSM context is now passed via dd-pathway-ctx-base64 #4835
- Fix Java version parsing for pre-releases #4884
- Harden config map parsing #4891
- Security upgrade jmxfetch to 0.47.5 (CVE-2022-1471) #4916
- Fix JSON serialization issue #4844
Integrations
- Rename GraphQL query->source tag to align it with the dd-trace-js instrumentaion #4968
- Improve Open Telemetry tracer API instrumentation #4947
- Added option to remove http resource name trailing slash #4889
- Avoid ClassNotFoundException when resteasy-spring attempts to process tracer-related beans #4921
- Fix performance degradation in Ratpack #4823
- Add Java HttpClient instrumentation #4372
- Implement DBM-APM feature for JDBC instrumentation #4847
- HTTP client path mapping [Feature-request] #4743
- Fix Spring Jetty instrumentation #4904
Application Security Management (ASM)
- Taint spring path and matrix variables #4901
- RESTEasy instrumentation for IAST #4707
- Jersey instrumentation for IAST #4670
- Reset vulnerability deduplication #4855
- Update client ip resolver #4878
- Update libsqreen 6.1.1 #4874
- Implemented http redirection when request blocked #4729
- Update ASM rules to 1.5.2 #4832
Profiling
- Reworked profiling context API #4914
- Added _dd.trace prefix to built in tracing based profiling attributes #4909
- Added service name and resource name to profiling context #4902
- Update jplib to 0.27.0 #4946
Debugger
- Fix matching source filename with different paths #4957
- Report evaluation error inline in message #4936
- Add version to probe config objects #4626
Telemetry
CI Visibility
1.10.1
Fixes
- [Security] Upgrade jmxfetch to
0.47.5
to fix CVE-2022-1471 #4911
0.115.1
Fixes
- [Security] Upgrade jmxfetch to
0.47.5
to fix CVE-2022-1471 #4912
1.10.0
Known Issues
- Memory leak in the profiler: see #4883.
Changes
Integrations
- [Integrations] Micronaut 3 support #4797
API
- Add Open Telemetry tracer API instrumentation #4669
The integration can be enabled by setting the Java property-Ddd.integration.opentelemetry.experimental.enabled=true
or the environment variableDD_INTEGRATION_OPENTELEMETRY_EXPERIMENTAL_ENABLED=true
Application Security Management (ASM)
- [IAST][Bug] Fix issue when converting bytes and floats to string in invoke dynamic #4810
Debugger
- Fix evaluateAt resolution for line probe #4800
Profiling
- Adjust profiling integration for changes in jplib 0.19.0 #4796
- Tag profile events with span operation name #4775
CI Visibility
- Add test suite level visibility support for JUnit4 and JUnit5 #4755
Remote Configuration
- Rename remote config poll interval environment variable #4524
1.9.0
Breaking changes
- Align DD_TRACE_PROPAGATION_STYLE* names with other tracers #4786
- [Aws-sdk] Simplify aws-sdk traces #4684 (see the link for details)
- [Aws-sdk] Trace distributed work related to consuming SQS messages #4730 (see the link for details)
Changes
Integrations
- Spring Webflux client 6 #4770
- [Aws-sdk] Simplify scope activation in AWS-SDK instrumentations #4739
- [Jetty] Fix async dispatch span not being finished in Jetty #4699
- [Bug] Fix Netty instrumentations to avoid errors when casting EmbeddedSocketAddress to InetSocketAddress #4727
- [Bug][Community] Fix IllegalStateException caused by Flows instrumentation in Kotlin coroutines #4719 (Thanks @monosoul for the contribution!)
API
- Avoid relocating com.kenai.jffi in dd-trace-ot #4779
Application Security Management (ASM)
- [WAF] Upgrade to libsqreen 6.1.0/libddwaf 1.8.2 #4760
- [WAF] Update ASM event rules to 1.5.1 #4751
- [IAST] Implementation of IAST telemetry #4782
Profiling
- Update to Java profiler library 0.15.0 #4774
- Disable Datadog profiler by default when ZGC is active #4712
CI Visibility
- Add source file path detection for Kotlin #4766
- [Bug] Do not fail if git info is missing #4711
- [Bug] Set 'env' to 'none' if not set or empty #4765
- [Bug] Fix DD Intake trace interceptor #4758
- [Bug] Fix duplicate listeners registration for JUnit5 #4740
Data Streams
- [Bug] Add null checks in Kafka #4748
Debugger
1.8.3
Fixes
- This release fixes a bug on Kafka produce calls introduced in 1.8.0.
1.8.0
Improvements
Changes
Known Issues
- This release introduces a bug on Kafka produce calls. Use 1.7.0 or >1.8.0 if your services uses Kafka.
Core
- Clean up Single Span Sampling logic. It shouldn't change trace sampling priority. #4695
Integrations
- Data streams: Add Tracking of Kafka commit and produce calls #4616
Application Security Management (ASM)
- Event tracking API #4608
- User blocking support #4116
- ASM remote config: new blocking capabilities and more granularity in subscriptions #4703
Fixes
1.7.0
Core
- Handle mapped baggage keys as case sensitive #4513 (Thanks @Xyaren for the contribution!)
- Consider Baggage when creating new root traces #4520 (Thanks @Xyaren for the contribution!)
- Fix Single Span Sampling for parent spans to drop child spans #4674
When using Single Span Ingestion, if the sampled span is the root span, its children will be sampled as well. You would thus receive more data than expected. If you are using this feature, please upgrade!
Integrations
- Kotlin coroutines instrumentation #4405
- Support Spring Web 6 / Boot 3 #4605
- Instrumentation for Kotlin coroutines 1.5.0+ #4624 (Thanks @monosoul for the contribution!)
- Add support for undertow-jakarta-servlet #4634
- Add the tracer's new springweb6 filters to reflect-config.json #4676
Telemetry
- Add flag to disable sending dependencies to telemetry #4497
Debugger
- Fix inner classes matching for line probes #4604
- Fix support for widening on equals operator #4617
- Fix log template evaluation #4623
- Fix incorrect argument name for already traced methods #4630
- Add support for string lexicographic comparison #4636
- Add support for
this
as object reference in Expression Language #4641 - Fix mixing capturing and non-capturing log probes #4649
- remove debugger check for config endpoint at bootstrap #4657
- Fix duplicated probe not instrumented #4665
Profiler
- Add flag to disable collection of exception messages in exception profiling #4627
- activate grpc.client span in ClientCall.request and ClientCall.halfClose #4640
- Ensure context propagation to gRPC pending calls to improve Code Hotspots for gRPC client #4646
- Profiler API to record time spent in queues #4653
- Track gRPC scheduling time in SynchronizationContext #4677
ASM
- Blocking on netty and grizzly #4581
- Fix 1-click activation for appsec without accompanying ASM_DD configuration #4614
- Update ASM event rules to 1.5.0 #4639
- Bump libddwaf to 1.6.2 #4650
CI Visibility
- Add support for test.codeowners and test.source.* tags #4597
Improvements
- Remove unnecessary check when debugger agent bootstraps #4672
1.6.0
When using Single Span Ingestion, if the sampled span is the root span, its children will be sampled as well. You would thus receive more data than expected. If you are using this feature, please upgrade to v1.7.0!
API
- Trace annotation operation name change #4572
Core
- Add client span without context health metric #4563
Integrations
- Improve gRPC error status handling #4573
Debugger
- Add formatting object values for log lines #4596
- Add string operations for Expression Language #4584
- Add well known classes as primitive-like objects #4583
- Do not serialize captured data for Log Probes #4577
- Add default rate limit for not capturing Log probe #4569
- Add report of index expression error #4568
Profiler
- Enable wallclock profiler by default, add config flags #4574
- Fix profiler version when the profiler hasn't loaded #4589
- More robust profiler availability check #4591
- Conflate arm64 with aarch64 correctly when loading profiler library #4598
- Remove profiling context tracker #4593
- Implement experimental profiler context tagging API #4565, #4580
- Upgrade to Java profiler library 0.10.0 #4564
ASM
DSM
- Direction tag is now used to prevent loops / hash explosions #4559
- Pathway tags added to spans #4421
Performance
- Optimization: assume there is only one version of 'java.*' classes in the JVM process #4590
- Support combining instrumenter matchers #4578
- Ignore everything under BOOTSTRAP_PACKAGE_PREFIXES when recording muzzle references #3907
Improvements
- Ignore org.bouncycastle.* types #4586
1.5.0
When using Single Span Ingestion, if the sampled span is the root span, its children will be sampled as well. You would thus receive more data than expected. If you are using this feature, please upgrade to v1.7.0!
Changes
API
- Remove dd-trace-api from dd-trace-ot artifact #4555
Integrations
- [Spring] Refactor BeanFactory advice so we can repair other injected bean definitions #4543
- [Aws-sdk] Delay activating next iteration scope when SQS polling until after netty call is complete #4515
Debugger
- Add ProbeId as metric tag #4558
- Fix log probe conditions #4535
- Fix method log probes at same location #4534
- Set error in instrumented span on exception #4525
Profiling
- Migrate from async-profiler to Datadog java profiler #4536
- Fix and log async-profiler activation #4533
- Add test for important profiling versions, remove architecture checks #4526
Application Security Management (ASM)
- Update ASM event rules to v1.4.3 #4553
CI Visibility
- Add validation for git metadata env vars #4481
Telemetry
- Fix issue resolving dependency with empty artifactId #4530