Releases: DataDog/dd-trace-cpp
v2.0.0
What's Changed
- fix: Apply "version" tag only when the span service name matches the default service name by @zacharycmontoya in #157
- feat!: Change default value of DD_TRACE_RATE_LIMIT to 100 by @zacharycmontoya in #159
- feat!: Set a default service name (DD_SERVICE) when no service is configured by @zacharycmontoya in #158
- refactor!: expose telemetry module by @dmehala in #166
- fix: telemetry support for sub-seconds intervals by @dmehala in #168
- Properly support setting DD_TRACE_TRANSPORT to "none" by @kristjanvalur in #172
- fix: Remote config service/env validation by @zacharycmontoya in #177
- perf: parse w3c traceparent using a custom parser by @dmehala in #178
- fix(telemetry): Handle empty configuration payload properly by @dmehala in #186
- feat: store tracer configuration in an in-memory file by @dmehala in #184
- feat: add telemetry logs by @dmehala in #185
- feat!: default to null logger by @dmehala in #187
- feat: add baggage API by @dmehala in #179
- fix(sampling): update condition by @dmehala in #198
- deps(nlohmann-json): upgrade to 3.12.0 by @dmehala in #210
- perf: improve mutex contention by @dmehala in #208
- feat(telemetry): track tracer and telemetry usage by @dmehala in #209
- feat: support origin detection by @dmehala in #214
- feat: support additional cgroup formats for container-id parsing by @zacharycmontoya in #222
- feat: support disablement of APM Tracing (the product) by @dmehala in #224
- fix(system-tests): set end time when a span is closed by @dmehala in #228
- deps(nlohmann-json):
FetchContentrely onfind_packageby @dmehala in #231 - fix: edge cases parsing of
DD_TAGSby @dmehala in #233 - fix(rc): improve trace sampling rules parsing by @dmehala in #232
- fix(rc): rework remote configuration handling by @dmehala in #234
- fix(rc): handle null values in RC APM Tracing payloads by @dmehala in #236
- feat(telemetry): report malformed baggage header by @rachelyangdog in #240
- Replace Abseil extension with bazel_dep and eliminate source patching by @mmorel-35 in #243
- chore(cmake): overall improvements by @dmehala in #242
New Contributors
- @kristjanvalur made their first contribution in #172
- @tlhunter made their first contribution in #175
- @mabdinur made their first contribution in #170
- @xopham made their first contribution in #180
- @dependabot[bot] made their first contribution in #182
- @ddyurchenko made their first contribution in #225
- @rachelyangdog made their first contribution in #240
Full Changelog: v1.0.0...v2.0.0
v1.0.0
This version introduces breaking changes and improvements. There is no special significance behind the version number, the shift to v1.0.0 reflects breaking changes and new feature updates.
Breaking Changes
- API Update: Major updates to the tracer API. This may require modifications to existing integrations. #131 by @dmehala
- Separation of public and private headers: Public and private headers have been reorganized, leading to a cleaner structure. Public headers are now located in
include/directory. #144 by @dmehala
What's Changed
- Bug Fix: Trimmed inspected headers to improve performance and accuracy. #137 by @dmehala
- New Feature: Ensured that
tracecontextheaders take precedence over Datadog headers (AIT-10281). #142 by @zacharycmontoya - Refactor: Refined Remote Configuration support to enhance stability. #130 by @dmehala
- Dependency Update: Bumped
libcurlto version 8.8.0. #135 by @dmehala
New Contributors
We are thrilled to welcome the following new contributors to the project:
- @cbeauchesne made their first contribution in #139
- @zacharycmontoya made their first contribution in #142
- @cataphract made their first contribution in #143
- @dubloom made their first contribution in #153
Full Changelog: Compare v0.2.2...v1.0.0
v0.2.2
v0.2.1
This update bring significant improvements to the functionality, compatibility, and flexibility of dd-trace-cpp. We encourage all users to update to the latest version to take advantage of these enhancements and fixes. Below is a comprehensive list of meaningful changes included in this release:
New Features
- Windows Support: We are pleased to announce that dd-trace-cpp now supports Windows, broadening the range of environments in which it can be used. #119 by @dmehala
- Datadog/W3C interoperability: This enhancement prepare ground for better interoperability between Datadog and W3C Tracecontext propagation style. #115 by @dmehala
- Remote Config Sampling Rules: This feature adds support for remote configuration of sampling rules, providing more control over how traces are sampled. #116 by @dmehala
- Expose Numeric Tags: This enhancement allows users to set numeric tags, providing greater flexibility and insight into your trace data. #111 by @Anilm3
- Report Host Information: Host informations are now included in telemetry reports, enhancing the granularity and utility of collected data. #118 by @dmehala
Bug Fixes
- Glob Matching: Fixed an issue with case sensitivity in glob matching, ensuring consistent behavior across tracers. #112 by @dmehala
- Remote Configuration polling interval: Resolved a bug allowing
DD_REMOTE_CONFIG_POLL_INTERVAL_SECONDSto accept floating-point input, allowing sub-second polling interval of remote configuration. #123 by @dmehala
Full Changelog: v0.2.0...v0.2.1
Thank you to all contributors who made this release possible!
New Contributors
v0.2.0
What's Changed
- Implemented support for APM Remote Configuration by @dmehala (#74).
- Enhanced telemetry reporting with integration and integration_version by @dmehala (#82).
- Introduced sampling delegation by @dmehala @dgoffredo (#59).
- Added support for DD_TAGS via dynamic configuration by @dmehala (#94).
- Added support for DD_TRACE_ENABLED via dynamic configuration through by @dmehala (#96).
- Applied SET(CURL_ZLIB OFF) in the build process by @dgoffredo (#99).
- Integrated active configuration feature by @dmehala (#97).
- Bazel-related chore: Added MODULE.bazel files for bzlmod by @mmorel-35 (#102).
- Fixed splitting of DD_TAGS by space or comma by @dmehala (#105).
Breaking Changes
- Renamed
config.defaults.*toconfig.*e.gconfig.defaults.service -> config.service
Full Changelog: v0.1.12...v0.2.0
v0.1.12
This release contains the following changes:
- The default trace propagation style is now "datadog, tracecontext" instead of "datadog" (#72).
- When "tracecontext" is among the configured propagation styles, the
tracestateheader will not be ignored in some cases where previously it would have been ignored (#72). - The tracer now generates 128-bit trace IDs by default (#71).
- Requests made to the Datadog Agent now have a configurable timeout (#66).
- Internal telemetry sends less data on tracer startup (#68).
v0.1.11
This release contains the following changes:
- The default trace context propagation style is now "datadog" instead of "tracecontext, datadog".
- Telemetry metrics are now published to the Datadog Agent.
- The library now builds on ARM64 platforms.
- The library now builds on Darwin.
v0.1.10
v0.1.9
This release contains changes that don't affect the behavior of the library:
- CMake build changes to easier integrate with nginx-datadog, as well as some code refactoring
- new microbenchmarks under
benchmark/ - a new usage example under
examples/http-server/