Skip to content

Releases: DataDog/dd-trace-java

1.11.0

28 Mar 13:27
cdf18ed
Compare
Choose a tag to compare

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

  • Telemetry API v1 update #4872
  • Convert malformed opaque URLs to hierarchical form #4820

CI Visibility

  • Add test suite level visibility support for TestNG #4764
  • Fix test-case spans to always be root spans #4965

1.10.1

20 Mar 15:30
v1.10.1
453981e
Compare
Choose a tag to compare

Fixes

0.115.1

20 Mar 15:28
v0.115.1
b4c24c3
Compare
Choose a tag to compare

Fixes

1.10.0

01 Mar 14:53
c545cdc
Compare
Choose a tag to compare

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 variable DD_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

23 Feb 16:36
97fe1ce
Compare
Choose a tag to compare

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

  • Add ProbeId as span tag #4744
  • Fix eval error in log template preventing capture #4736
  • Remove span name and fill automatically OperationName & ResourceName for Span Probe #4728

1.8.3

17 Feb 19:08
Compare
Choose a tag to compare

Fixes

  • This release fixes a bug on Kafka produce calls introduced in 1.8.0.

1.8.0

09 Feb 19:32
b447896
Compare
Choose a tag to compare

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

  • [API] Ignore null resource name #4708
  • [gRPC] Fix context propagation in gRPC SerializingExecutor #4680
  • [Debugger] Fix count & isEmpty expression for sets #4693

1.7.0

08 Feb 00:10
v1.7.0
453ff49
Compare
Choose a tag to compare

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

26 Jan 14:38
c256ff8
Compare
Choose a tag to compare

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

  • Support blocking on Ratpack #4557
  • Add suspicious request blocking for ASM #4531

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

18 Jan 14:42
4de17c1
Compare
Choose a tag to compare

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

Dependencies

  • Upgrade byte-buddy version to 1.12.22 #4547
  • Upgrade ASM version to 9.4 #4544