1.21.1 - 2024-03-20
- Backports auto instrument shim with
datadog/auto_instrument
(#3535)
- Fix ActiveRecord resolving invalid string (#3523)
- Revert
http.route
tagging to fix instrumentation failure for Rails 7.1 apps (#3539) - Fix wrong permissions on released gem files (#3531)
1.21.0 - 2024-03-14
Allocation profiling is now in beta, and timeline profiling is enabled by default. For more details, check the release notes
- APM source code integration (#3463)
- Core: Reduce startup logs verbosity (#3468)
- Tracing: Add Concurrent::Async instrumentation (#3427)
- Profiling: System info support (#3357)
- Profiling: Add bin/ddprofrb (#3501)
- Bump datadog-ci dependency to 0.8.1 (#3518)
- Upgrade to libdatadog 6 (#3455)
- Core: Allow suppressing error logs for Core::Remote::Negotiation (#3495)
- Tracing: Add
http.route
tag to rack (#3345) - Tracing: Logs deprecation warning for
use
removal (#3438) - Profiling: Allocation sampling overhead improvements (#3434, #3440)
- Profiling: Enable timeline by default (#3428)
- Profiling: Rename Profiling files to reflect "datadog" instead of "ddtrace" (#3502)
- Profiling: Replace
profiling.advanced.experimental_allocation_enabled
withprofiling.allocation_enabled
and remove experimental warning (#3520)
- Core: Fix rare remote configuration worker thread leak (#3519)
- Tracing: Fix
Datadog::Tracing.reject!
with correct metrics (#3491) - Tracing: Guard PG result with
nil
check (#3511) - Profiling: Add workaround for Ruby VM bug causing crash in gc_finalize_deferred (#3473)
- Profiling: Fix missing profiling code hotspots when using ddtrace+otel (#3466)
- Profiling: Stop worker on clock failure (#3439)
- Profiling: Upgrade libdatadog to fix incorrect platform detection for x86_64-linux-gnu/aarch64-linux-gnu (#3503)
1.20.0 - 2024-02-05
- Tracing: Add
Trilogy
instrumentation (#3274) - Rack: Add remote configuration boot tags (#3315)
- Faraday: Add
on_error
option (#3431) - Profiling: Add dynamic allocation sampling (#3395)
- Bump
datadog-ci
dependency to 0.7.0 (#3408) - Improve performance of gathering ClassCount metric (#3386)
- OpenTelemetry: Fix internal loading (#3400)
- Core: Fix logger deadlock (#3426)
- Rack: Fix missing active trace (#3420)
- Redis: Fix instance configuration (#3278)
1.19.0 - 2024-01-10
Alpha support for memory profiling has been added. For more details, check the release notes
- Tracing: Add
on_error
settings formysql2
(#3316) - Core: Add install_signature to app-started telemetry event (#3349)
- Profiling: Heap Profiling (#3281) (#3287) (#3328) (#3329) (#3333) (#3360)
- Profiling: Redesign GC profiling to add timeline support and reduce overhead (#3313)
- Core: Use Ruby 3.3 stable for CI testing (#3354)
- Core: Bump
datadog-ci
dependency to 0.6.0 (#3361) - Core: Bump debase-ruby_core_source dependency to 3.3.1 (#3373)
- Docs: Backport "List Ruby 3.3 as supported in the docs" to master branch (#3374)
- Profiling: Import upstream
rb_profile_frames
fix (#3352) - Profiling: Allow the dynamic sampling rate overhead target to be set (#3310)
- Profiling: Split profiling tests into ractor and non-ractor suites. (#3320)
- Docs: Fix
pg
doc markdown format (#3317) - Tracing: Fix recursive
require
in Railtie (#3365) - Profiling: Fix issues stemming from rb_gc_force_recycle (#3366)
- Profiling: Fix Ruby 3.3 CI being broken in master due to profiler (#3356)
- Profiling: Fix "no signals" workaround detection when mariadb is in use (#3362)
1.18.0 - 2023-12-07
- Tracing: Support lib injection for ARM64 architecture (#3307)
- Tracing: Add
error_handler
forpg
instrumentation (#3303) - Appsec: Enable "Trusted IPs", a.k.a passlist with optional monitoring (#3229)
- Mark ddtrace threads as fork-safe (#3279)
- Bump
datadog-ci
dependency to 0.5.0 (#3308) - Bump
debase-ruby_core_source
dependency to 3.2.3 (#3284) - Profiling: Disable profiler on Ruby 3.3 when running with RUBY_MN_THREADS=1 (#3259)
- Profiling: Run without "no signals" workaround on passenger 6.0.19+ (#3280)
- Tracing: Fix
pg
instrumentationenabled
settings (#3271) - Profiling: Fix potential crash by importing upstream
rb_profile_frames
fix (#3289) - Appsec: Call
devise
RegistrationsController block (#3286)
1.17.0 - 2023-11-22
For W3C Trace Context, this release adds tracecontext
to the default trace propagation extraction and injection styles. The new defaults are:
- Extraction:
Datadog,b3multi,b3,tracecontext
- Injection:
Datadog,tracecontext
And to increase interoperability with tracecontext
, 128-bit Trace ID generation is now the default.
For OpenTelemetry, this release adds support for converting OpenTelemetry Trace Semantic Conventions into equivalent Datadog trace semantics. Also, it's now possible to configure top-level Datadog span fields using OpenTelemetry span attributes (DataDog#3262).
For CI Visibility, you can now manually create CI traces and spans with the newly released API.
- OpenTelemetry: Parse OpenTelemetry semantic conventions to Datadog's (#3273)
- OpenTelemetry: Support span reserved attribute overrides (#3262)
- Tracing: Ensure W3C
tracestate
is always propagated (#3255)
- Tracing: Set 128-bit trace_id to true by default (#3266)
- Tracing: Default trace propagation styles to
Datadog,b3multi,b3,tracecontext
(#3248,#3267) - Ci-App: Upgraded
datadog-ci
dependency to 0.4 (#3270)
1.16.2 - 2023-11-10
This release reverts a change to appsec response body parsing that was introduced in 1.16.0 that may cause memory leaks.
1.16.1 - 2023-11-08
- Tracing: Fix
concurrent-ruby
future propagation withoutactive_trace
(#3242) - Tracing: Fix host injection error handling (#3240)
1.16.0 - 2023-11-03
This release includes a security change for the Tracing Redis integration:
Currently, the Datadog Agent removes command arguments from the resource name. However there are cases, like Redis compressed keys, where this obfuscation cannot correctly remove command arguments. To safeguard that situation, the resource name set by the tracer will only be the command (e.g. SET
) with no arguments. To retain the previous behavior and keep arguments in the span resource, with the potential risk of some command arguments not being fully obfuscated, set DD_REDIS_COMMAND_ARGS=true
or set the option c.instrument :redis, command_args: true
.
- Tracing: Propagate trace through
Concurrent::Promises.future
(#1522) - Core: Name
Datadog::Core::Remote::Worker
thread (#3207)
- Tracing: Redis - Omit command arguments from span.resource by default (#3235)
- Ci-app: Bump
datadog-ci
dependency from 0.2.0 to 0.3.0 (#3223)
- Appsec: ASM parse response body (#3153)
- Appsec: ASM make sure to append content type and length information (#3204)
- Appsec: Make sure function that checks content-type header value accepts nil content-type header value (#3234)
- Profiling: Shut down profiler if any components failed (#3197)
- Tracing: Fix
ActiveSupport
instrumentation of custom cache stores (#3206)
1.15.0 - 2023-10-09
- Timeline view for Profiler beta
- Configure AppSec blocking responses via configuration or Remote Configuration
- CI visibility to configure with agentless mode
For more details, check the release notes
- Enable allocation counting feature by default for some Ruby 3 versions (#3176)
- Detect
WebMock
Cucumber
andRails.env
to disable telemetry and remote configuration for development environment (#3065, #3062, #3145) - Profiling: Import java-profiler PID controller and port it to C (#3190)
- Profiling: Record allocation type when sampling objects (#3096)
- Profiling: Include
ruby vm type
in profiler allocation samples (#3074) - Tracing: Support
Rack
3 (#3132) - Tracing: Support
Opensearch
3 (#3189) - Tracing:
grpc
addsclient_error_handler
option (#3095) - Tracing: Add
async
option fortest_mode
configuration (#3158) - Tracing: Implements
_dd.base_service
tag (#3018) - Appsec: Allow blocking response template configuration via ENV variables (#2975)
- Appsec: ASM API security. Schema extraction (#3131, #3166, #3177)
- Appsec: Enable configuring blocking response via Remote Configuration (#3099)
- Ci-app: Validate git tags (#3100)
- Ci-app: Add agentless mode (#3186)
- Appsec: Skip passing waf addresses when the value is empty (#3188)
- Profiling: Restore support for Ruby 3.3 (#3167)
- Profiling: Add approximate thread state categorization for timeline (#3162)
- Profiling: Wire up allocation sampling into
CpuAndWallTimeWorker
(#3103) - Tracing:
dalli
disable memcached command tag by default (#3171) - Tracing: Use first valid extracted style for distributed tracing (#2879)
- Tracing: Rename configuration option
on_set
toafter_set
(#3107) - Tracing: Rename
experimental_default_proc
todefault_proc
(#3091) - Tracing: Use
peer.service
for sql comment propagation (#3127) - Ci-app: Fix
Datadog::CI::Environment
to support the new CI specs (#3080) - Bump
datadog-ci
dependency to 0.2 (#3186) - Bump
debase-ruby_core_source
dependency to 3.2.2 (#3163) - Upgrade
libdatadog
5 (#3169, #3104) - Upgrade
libddwaf-rb
1.11.0 (#3087) - Update AppSec rules to 1.8.0 (#3140, #3139)
- Profiling: Add workaround for incorrect invoke location when logging gem is in use (#3183)
- Profiling: Fix missing endpoint profiling when
request_queuing
is enabled inrack
instrumentation (#3109) - Appsec: Span tags reporting the number of WAF failed loaded rules (#3106)
- Tracing: Fix tagging with empty data (#3102)
- Tracing: Fix
rails.cache.backend
span tag with multiple stores (#3060)
- Profiling: Remove legacy profiler codepath (#3172)
- Ci-app: Remove CI module and add a dependency on
datadog-ci
gem (#3128) - Tracing: Remove
depends_on
option from configuration DSL (#3085) - Tracing: Remove
delegate_to
option from configuration DSL (#3086)
1.14.0 - 2023-08-24
- Cucumber 8.0.0 support, test CI visibility with cucumber versions 6-8 (#3061)
- Tracing: Add
ddsource
to #to_log_format (#3025) - Core: include peer service configurations in telemetry payload (#3056)
- Tracing: Improve quantization (#3041)
- Profiling: Disable profiler on Ruby 3.3 due to incompatibility (#3054)
- Core: EnvironmentLogger adjustments (#3020, #3057)
- Appsec: Fix ASM setting for automated user events. (#3070)
- Tracing: Fix ActiveRecord adapter name for Rails 7 (#3051)
1.13.1 - 2023-08-14
- Tracing:
net/http
instrumentation excludes query string forhttp.url
tag (#3045) - Tracing: Remove
log_tags
warning when given hash for log injection (#3022) - Tracing: Fix OpenSearch integration loading (#3019)
- Core: Fix default hostname/port when mixing http and uds configuration (#3037)
- Core: Disable Telemetry and Remote Configuration in development environments (#3039)
- Profiling: Improve
Datadog::Profiling::HttpTransport
error logging (#3038) - Docs: Document known issues with hanging Resque workers (#3033)
1.13.0 - 2023-07-31
- Core: Add support for
Option
precedence (#2915) - Core: Add support for unsetting options (#2972)
- Core: Gauge primitive
RubyVM::YJIT.runtime_stats
, ifYJIT
is enabled (#2711, #2959)(@HeyNonster) - Core: Add Telemetry
app-client-configuration-change
event (#2977) - Core: Improve our
SafeDup
module (#2960) - Tracing: Add
OpenSearch
Integration (#2940) - Tracing: Implement
peer.service
tag to integrations (#2982) - Tracing: Add mandatory rpc and grpc tags for
grpc
integration (#2620, #2962) - Tracing: Include
_dd.profiling.enabled
tag (#2913) - Tracing: Support host injection (#2941, #3007)
- Tracing: Implement Dynamic Configuration for tracing (#2848, #2973)
- Tracing: Add for dynamic log injection configuration (#2992)
- Tracing: Add sampling configuration with
DD_TRACE_SAMPLING_RULES
(#2968) - Tracing: Add HTTP header tagging with
DD_TRACE_HEADER_TAGS
for clients and servers (#2946, #2935) - Profiling: Add fallback name/invoke location for unnamed threads started in native code (#2993)
- Profiling: Use invoke location as a fallback for nameless threads in the profiler (#2950)
- Profiling: Add fallback name for main thread in profiling data (#2939)
- Ci-app: Add
Minitest
CI integration (#2932) (@bravehager) - Appsec:
Devise
integration and automatic user events (#2877) - Appsec: Handle disabled tracing and appsec events (#2572)
- Appsec: Automate user events check for UUID in safe mode (#2952)
- Docs: Add Ruby 3.2 support to compatibility matrix (#2971)
- Core: Set maximum supported Ruby version (#2497)
- Core: Prevent telemetry requests from being traced (#2961)
- Core: Add
env
andtype
to Core configuration option (#2983, #2988, #2994) - Core: Remove
lazy
from Core configuration option (#2931, #2999) - Profiling: Bump
libdatadog
dependency to version 3 (#2948) - Profiling: Improve error message when
ddtrace_profiling_loader
fails to load (#2957) - Tracing: Improve log injection runtime conditionals (#2926, #2882)
- Core: Fix polynomial-time regular expressions (#2814)
- Core: Fix environment variable for dynamic configuration polling interval (#2967)
- Core: Reduce remote configuration error logging noise (#3011)
- Tracing: Fix manual log injection for 128 bit trace_id (#2974)
- Tracing: Ensure the GRPC client interceptor return the response (#2928) (@KJTsanaktsidis)
- Tracing: Remove dynamic input used in regular expression (#2867)
- Tracing: Fix distributed tracing header formats (#3005 )
- Profiling: Fix profiler
libmysqlclient
version detection withmysql2-aurora
gem (#2956) - Profiling: Automatically enable profiler "no signals" workaround for
passenger
web server (#2978)
1.12.1 - 2023-06-14
- Appsec: Add
appsec.blocked
tag to span (#2895) - Profiling: Add workaround for legacy profiler incompatibility with ruby-cloud-profiler gem (#2891)
- Core: Allow setting remote configuration service name (#2853)
- Appsec: Change the value format for the WAF address
server.request.query
(#2903) - Profiling: Log pkg-config command when building profiling native extension
- Appsec: Update blocked response content_type resolution (#2900)
- Appsec: Ensure to use service entry span. (#2898)
- Tracing: Fix AWS integration constant loading (#2896)
1.12.0 - 2023-06-02
- Profiling: Add support for profiling Ruby 3.3.0-preview1 (#2860)
- Appsec: Appsec support nested apps (#2836)
- Appsec: Appsec add support for custom rules (#2856)
- Appsec: Update appsec static rules to 1.7.0 version (#2869)
- Appsec: Tag AppSec on Rack top-level span (#2858)
- Profiling: Implement "no signals" workaround and enable CPU Profiling 2.0 for all customers (#2873)
- Ci: Update CI Visibility spec (#2874)
- Appsec: Added missing waf addresses to request operation (#2883)
- Tracing: Consistent APM Span tags for AWS SDK Requests (#2730)
- Tracing: Change default
service_name
values Part 2 (#2765) - Profiling: Bump debase-ruby_core_source dependency to 3.2.1 (#2875)
- Telemetry: Disable for non-HTTP agent connection (#2815)
- Tracing: Fix circular requires (#2826)
- Tracing: Update comment about Datadog::Tracing::Distributed::Ext to correct modules (#2840)
- Appsec: Check if
:appsec
setting is present before accessing it in remote component (#2854) - Telemetry: Do not send Dependency
hash
whenversion
is present (#2855) - Core: Fix symbol configuration for
env
andservice
(#2864) - Tracing: Fix sql comment propagation
full
mode when tracing is disabled (#2866) - Appsec: Use relative URI for server.request.uri.raw (#2890)
1.11.1 - 2023-05-03
- Appsec: Remove misreported
ASM_CUSTOM_RULES
capability (#2829) - Appsec: Fix block response content negotiation (#2824)
- Appsec: Fix incorrect remote configuration payload key handling (#2822)
1.11.0 - 2023-04-27
As of ddtrace 1.11.0, these features are GA and emabled by default:
- CPU Profiling 2.0
- Remote Configuration
- Telemetry
For more details, check the release notes.
- Add remote configuration, enabled by default (#2674, #2678, #2686, #2687, #2688, #2689, #2696, #2705, #2731, #2732, #2733, #2739, #2756, #2769, #2771, #2773, #2789, #2805, #2794)
- AppSec: Add response headers passing to WAF (#2701)
- Tracing: Distributed tracing for Sidekiq (#2513)
- Tracing: Add Roda integration (#2368)
- Profiling: Support disabling endpoint names collection in new profiler (#2698)
- Tracing: Support Sidekiq 7 (#2810)
- Core: Add support for Unix Domain Socket (UDS) configuration via
DD_TRACE_AGENT_URL
(#2806) - Core: Enable Telemetry by default (#2762)
- Core: Allow
1
as true value in environment variables (#2710) - Profiling: Enable CPU Profiling 2.0 by default (#2702)
- Tracing: Improve controller instrumentation and deprecate option
exception_controller
(#2726) - Tracing: Implement Span Attribute Schema Environment Variable (#2727)
- Tracing: Change default
service_name
values (gated by feature flag) (#2760)
- Bug: Tracing: Fix w3c propagation special character handling (#2720)
- Performance: Tracing: Use
+@
instead ofdup
for duplicating strings (#2704) - Profiling: Avoid triggering allocation sampling during sampling (#2690)
- Integrations: Tracing: Fix Rails < 3 conditional check in Utils#railtie_supported? (#2695)
- Profiling: Do not auto-enable new profiler when rugged gem is detected (#2741)
- Tracing: Fix using SemanticLogger#log(severity, message, progname) (#2748) (@rqz13)
- Profiling: Improve detection of mysql2 gem incompatibilities with profiler (#2770)
- AppSec: Remove check for
::Rack::Request.instance_methods.include?(:each_header)
at load time (#2778) - Tracing: Fix quadratic backtracking on invalid URI (#2788)
- Community: Correctly set mutex (#2757) (@ixti)
Read the full changeset and the release milestone.
1.11.0.beta1 - 2023-04-14
As of ddtrace 1.11.0.beta1, CPU Profiling 2.0 is now GA and enabled by default. For more details, check the release notes.
As of ddtrace 1.11.0.beta1, Remote Configuration is now public beta and disabled by default. For more details, check the release notes.
- Add remote configuration beta, disabled by default (#2674, #2678, #2686, #2687, #2688, #2689, #2696, #2705, #2731, #2732, #2733, #2739, #2756, #2769, #2771, #2773, #2789)
- AppSec: Add response headers passing to WAF (#2701)
- Tracing: Distributed tracing for Sidekiq (#2513)
- Tracing: Add Roda integration (#2368)
- Profiling: [PROF-6555] Support disabling endpoint names collection in new profiler (#2698)
- Core: Allow
1
as true value in environment variables (#2710) - Profiling: [PROF-7360] Enable CPU Profiling 2.0 by default (#2702)
- Tracing: Improve controller instrumentation and deprecate option
exception_controller
(#2726) - Tracing: Implement Span Attribute Schema Environment Variable (#2727)
- Bug: Tracing: Fix w3c propagation special character handling (#2720)
- Performance: Tracing: Use
+@
instead ofdup
for duplicating strings (#2704) - Profiling: [PROF-7307] Avoid triggering allocation sampling during sampling (#2690)
- Integrations: Tracing: Fix Rails < 3 conditional check in Utils#railtie_supported? (#2695)
- Profiling: [PROF-7409] Do not auto-enable new profiler when rugged gem is detected (#2741)
- Tracing: Fix using SemanticLogger#log(severity, message, progname) (#2748) (@rqz13)
- Profiling: [PROF-6447] Improve detection of mysql2 gem incompatibilities with profiler (#2770)
- AppSec: Remove check for
::Rack::Request.instance_methods.include?(:each_header)
at load time (#2778) - Tracing: Fix quadratic backtracking on invalid URI (#2788)
1.10.1 - 2023-03-10
- CI: Update TeamCity environment variable support (#2668)
- Core: Fix spurious dependency on AppSec when loading CI with
require 'datadog/ci'
(#2679) - Core: Allow multiple headers and multiple IPs per header for client IP (#2665)
- AppSec: prevent side-effect on AppSec login event tracking method arguments (#2663) (@coneill-enhance)
1.10.0 - 2023-03-06
- Support Ruby 3.2 (#2601)
- Publish init container image (beta) for
dd-trace-rb
injection through K8s admission controller (#2606) - Tracing: Support 128 bits trace id (#2543)
- Tracing: Add tags to integrations (
que
/racecar
/resque
/shoryken
/sneakers
/qless
/delayed_job
/kafka
/sidekiq
/dalli
/presto
/elasticsearch
) (#2619, #2613 , #2608, #2590) - Appsec: Introduce
AppSec::Instrumentation::Gateway::Argument
(#2648) - Appsec: Block request when user ID matches rules (#2642)
- Appsec: Block request base on response addresses matches (#2605)
- Appsec: Allow to set user id denylist (#2612)
- Profiling: Show profiler overhead in flamegraph for CPU Profiling 2.0 (#2607)
- Profiling: Add support for allocation samples to
ThreadContext
(#2657) - Profiling: Exclude disabled profiling sample value types from output (#2634)
- Profiling: Extend stack collector to record the alloc-samples metric (#2618)
- Profiling: Add
Profiling.allocation_count
API for new profiler (#2635)
- Tracing:
rack
instrumentation counts time spent in queue as part of thehttp_server.queue
span (#2591) (@agrobbin) - Appsec: Update ruleset to 1.5.2 (#2662, #2659, #2598)
- Appsec: Update
libddwaf
version to 1.6.2.0.0 (#2614) - Profiling: Upgrade profiler to use
libdatadog
v2.0.0 (#2599) - Profiling: Remove support for profiling Ruby 2.2 (#2592)
- Fix broken Ruby VM statistics for Ruby 3.2 (#2600)
- Tracing: Fix 'uninitialized constant GRPC::Interceptor' error with 'gapic-common' gem (#2649)
- Profiling: Fix profiler not adding the "In native code" placeholder (#2594)
- Fix profiler detection for google-protobuf installation (#2595)
1.9.0 - 2023-01-30
As of ddtrace 1.9.0, CPU Profiling 2.0 is now in opt-in (that is, disabled by default) public beta. For more details, check the release notes.
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.9.0
- Tracing: Add
Stripe
instrumentation (#2557) - Tracing: Add configurable response codes considered as errors for
Net/HTTP
,httprb
andhttpclient
(#2501, #2576)(@caramcc) - Tracing: Flexible header matching for HTTP propagator (#2504)
- Tracing:
OpenTelemetry
Traces support (#2496) - Tracing: W3C: Propagate unknown values as-is (#2485)
- Appsec: Add event kit API (#2512)
- Profiling: Allow profiler development on arm64 macOS (#2573)
- Core: Add
profiling_enabled
state to environment logger output (#2541) - Core: Add 'type' to
OptionDefinition
(#2493) - Allow
debase-ruby_core_source
3.2.0 to be used (#2526)
- Profiling: Upgrade to
libdatadog
to1.0.1.1.0
(#2530) - Appsec: Update appsec rules
1.4.3
(#2580) - Ci: Update CI Visibility metadata extraction (#2586)
- Profiling: Fix wrong
libdatadog
version being picked during profiler build (#2531) - Tracing: Support
PG
calls with a block (#2522) - Ci: Fix error in
teamcity
env vars (#2562)
1.8.0 - 2022-12-14
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.8.0
As of ddtrace 1.8.0, CPU Profiling 2.0 is now in opt-in (that is, disabled by default) public beta. For more details, check the release notes.
- Core: Profiling: [PROF-6559] Mark Ruby CPU Profiling 2.0 as being in beta (#2489)
- Tracing: Attempt to parse future version of TraceContext (#2473)
- Tracing: Add DD_TRACE_PROPAGATION_STYLE option (#2466)
- Integrations: Tracing: SQL comment propagation full mode with traceparent (#2464)
- Integrations: Tracing: Wire W3C propagator to HTTP & gRPC propagation (#2458)
- Integrations: Tracing: Auto-instrumentation with service_name from environmental variable (#2455)
- Core: Integrations: Tracing: Deprecation notice for B3 propagation configuration (#2454)
- Tracing: Add W3C Trace Context propagator (#2451)
- Integrations: Tracing: Redis 5 Instrumentation (#2428)
- Tracing: Changes
error.msg
toerror.message
for UNC (#2469) - Tracing: Semicolons not allowed in 'origin' (#2461)
- Core: Dev/refactor: Tracing: Dev/internal: Move Utils#next_id and constants to Tracing::Utils (#2463)
- Core: Dev/refactor: Tracing: Dev/internal: Move Tracing config settings from Core to Tracing (#2459)
- Core: Dev/refactor: Tracing: Dev/internal: Move Tracing diagnostic code from Core to Tracing (#2453)
- Integrations: Tracing: Improve redis integration patching (#2470)
- Tracing: Extra testing from W3C spec (#2460)
1.7.0 - 2022-11-29
- Integrations: Support que 2 (#2382) (@danhodge)
- Tracing: Unified tagging
span.kind
asserver
andclient
(#2365) - Tracing: Adds
span.kind
tag forkafka
,sidekiq
,racecar
,que
,shoryuken
,sneakers
, andresque
(#2420, #2419, #2413, #2394) - Tracing: Adds
span.kind
with valuesproducer
andconsumer
fordelayed_job
(#2393) - Tracing: Adds
span.kind
asclient
forredis
(#2392) - Appsec: Pass HTTP client IP to WAF (#2316)
- Unified tagging
process_id
(#2276)
- Allow
debase-ruby_core_source
0.10.18 to be used (#2435) - Update AppSec ruleset to v1.4.2 (#2390)
- Refactored clearing of profile data after Ruby app forks (#2362, #2367)
- Tracing: Move distributed propagation to Contrib (#2352)
- Fix ddtrace installation issue when users have CI=true (#2378)
1.6.1 - 2022-11-16
- Limit
redis
version support to less than 5
- [redis]: Fix frozen input for
Redis.new(...)
1.6.0 - 2022-11-15
- Trace level tags propagation in distributed tracing (#2260)
- [hanami]: Hanami 1.x instrumentation (#2230)
- [pg, mysql2]: option
comment_propagation
for SQL comment propagation, default isdisabled
(#2339)(#2324)
- [rack, sinatra]: Squash nested spans and improve patching mechanism.
No need toregister Datadog::Tracing::Contrib::Sinatra::Tracer
(#2217) - [rails, rack]: Fix Non-GET request method with rails exception controller (#2317)
- Upgrade to libdatadog 0.9.0.1.0 (#2302)
- Remove legacy profiling transport (#2062)
- [redis]: Fix redis instance configuration, not on
client
(#2363)
# Change your code from
Datadog.configure_onto(redis.client, service_name: '...')
# to
Datadog.configure_onto(redis, service_name: '...')
- Allow
DD_TAGS
values to have the colon character (#2292) - Ensure that
TraceSegment
can be reported correctly when they are dropped (#2335) - Docs: Fixes upgrade guide on configure_onto (#2307)
- Fix environment logger with IO transport (#2313)
1.5.2 - 2022-10-27
DD_TRACE_CLIENT_IP_HEADER_DISABLED
was changed toDD_TRACE_CLIENT_IP_ENABLED
. Although the former still works we encourage usage of the latter instead.
http.client_ip
tag collection is made opt-in for APM. Note thathttp.client_ip
is always collected when ASM is enabled as part of the security service provided (#2321, #2331)
1.5.1 - 2022-10-19
- Fix
URI::InvalidURIError
(#2310, #2318) (@yujideveloper) - Handle URLs with invalid characters (#2311, #2319)
- Fix missing appsec.event tag (#2306)
- Fix missing Rack and Rails request body parsing for AppSec analysis (#2306)
- Fix unneeded AppSec call in a Rack context when AppSec is disabled (#2306)
- Fix spurious AppSec instrumentation (#2306)
1.5.0 - 2022-09-29
c.tracing.instrument :rack, { quantize: { base: ... } }
will change its default from:exclude
to:show
in a future version. Voluntarily moving to:show
is recommended.c.tracing.instrument :rack, { quantize: { query: { show: ... } }
will change its default to:all
in a future version, together withquantize.query.obfuscate
changing to:internal
. Voluntarily moving to these future values is recommended.
- Feature: Single Span Sampling (#2128)
- Add query string automatic redaction (#2283)
- Use full URL in
http.url
tag (#2265) - Add
http.useragent
tag (#2252) - Add
http.client_ip
tag for Rack-based frameworks (#2248) - Ci-app: CI: Fetch committer and author in Bitrise (#2258)
- Bump allowed version of debase-ruby_core_source to include v0.10.17 (#2267)
- Bug: Fix
service_nam
typo toservice_name
(#2296) - Bug: Check AppSec Rails for railties instead of rails meta gem (#2293) (@seuros)
- Ci-app: Correctly extract commit message from AppVeyor (#2257)
OpenTracing context propagation (#2191, #2289)
1.4.1 - 2022-09-15
- Missing distributed traces when trace is dropped by priority sampling (#2101, #2279)
- Profiling support when Ruby is compiled without a shared library (#2250)
1.4.0 - 2022-08-25
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.4.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.3.0...v1.4.0
- Bump
libdatadog
dependency version (#2229)
- Fix CI instrumentation configuration (#2219)
1.3.0 - 2022-08-04
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.3.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.2.0...v1.3.0
- Top-level span being tagged to avoid duplicate computation (#2138)
- ActiveSupport: Optionally disable tracing with Rails (@marcotc)
- Rack: Resource overwritten by nested application (#2180)
- Rake: Explicit task instrumentation to prevent memory bloat (#2174)
- Sidekiq and DelayedJob: Add spans to improve tracing (#2170)
- Drop Profiling support for Ruby 2.1 (#2140)
- Migrate
libddprof
dependency tolibdatadog
(#2061)
- Fix OpenTracing propagation with TraceDigest (#2201)
- Fix SpanFilter dropping descendant spans (#2074)
- Redis: Fix Empty pipelined span being dropped (#757) (@sponomarev)
- Fix profiler not restarting on
Process.daemon
(#2150) - Fix setting service from Rails configuration (#2118) (@agrobbin)
- Some document and development improvement (@marocchino) (@yukimurasawa)
1.2.0 - 2022-07-11
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.2.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.1.0...v1.2.0
Special thanks go to @miketheman for gifting Datadog access to the datadog
gem a few days ago.
- Add Postgres (
pg
gem) instrumentation (#2054) (@jennchenn) - Add env var for debugging profiling native extension compilation issues (#2069)
- Teach Rest Client integration the
:split_by_domain
option (#2079) (@agrobbin) - Allow passing request_queuing option to Rack through Rails tracer (#2082) (@KieranP)
- Add Utility to Collect Platform Information (#2097) (@jennchenn)
- Add convenient interface for getting and setting tags using
[]
and[]=
respectively (#2076) (@ioquatix) - Add b3 metadata in grpc (#2110) (@henrich-m)
- Profiler now reports profiling data using the libddprof gem (#2059)
- Rename
Kernel#at_fork_blocks
monkey patch toKernel#ddtrace_at_fork_blocks
(#2070) - Improved error message for enabling profiling when
pkg-config
system tool is not installed (#2134)
- Prevent errors in
action_controller
integration when tracing is disabled (#2027) (@ahorner) - Fix profiler not building on ruby-head (3.2) due to VM refactoring (#2066)
- Span and trace IDs should not be zero (#2113) (@albertvaka)
- Fix object_id usage as thread local key (#2096)
- Fix profiling not working on Heroku and AWS Elastic Beanstalk due to linking issues (#2125)
1.1.0 - 2022-05-25
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.1.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0...v1.1.0
- Application Security Monitoring
- Elasticsearch: v8.0 support (#1985)
- Sidekiq: Quantize args (#1972) (@dudo)
- Profiling: Add libddprof dependency to power the new Ruby profiler (#2028)
- Helper to easily enable core dumps (#2010)
- Support spaces in environment variable DD_TAGS (#2011)
- Fix "circular require considered harmful" warnings (#1998)
- Logging: Change ddsource to a scalar value (#2022)
- Improve exception logging (#1992)
1.0.0 - 2022-04-28
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.0.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta2...v1.0.0
Diff since last stable release: https://github.com/DataDog/dd-trace-rb/compare/v0.54.2...v1.0.0
- GraphQL 2.0 support (#1982)
- AppSec: Update libddwaf to 1.3.0 (#1981)
- Rails log correlation (#1989) (@cwoodcox)
- Resource not inherited from lazily annotated spans (#1983)
- AppSec: Query address for libddwaf (#1990)
- Docs: Add undocumented Rake option (#1980) (@ecdemis123)
- Improvements to test suite & CI (#1970, #1974, #1991)
- Improvements to documentation (#1984)
1.0.0.beta2 - 2022-04-14
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.0.0.beta2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v1.0.0.beta1...v1.0.0.beta2
- Access to configuration settings is namespaced (#1922)
- AWS provides metrics by default (#1976) (@dudo)
- Update
debase-ruby_core_source
version (#1964) - Profiling: Hide symbols/functions in native extension (#1968)
- Profiling: Renamed code_provenance.json to code-provenance.json (#1919)
- AppSec: Update libddwaf to v1.2.1 (#1942)
- AppSec: Update rulesets to v1.3.1 (#1965, #1961, #1937)
- AppSec: Avoid exception on missing ruleset file (#1948)
- AppSec: Env var consistency (#1938)
- Rake instrumenting while disabled (#1940, #1945)
- Grape instrumenting while disabled (#1940, #1943)
- CI: require 'datadog/ci' not loading dependencies (#1911)
- CI: RSpec shared example file names (#1816) (@Drowze)
- General documentation improvements (#1958, #1933, #1927)
- Documentation fixes & improvements to 1.0 upgrade guide (#1956, #1973, #1939, #1914)
1.0.0.beta1 - 2022-02-15
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v1.0.0.beta1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.54.2...v1.0.0.beta1
See https://github.com/DataDog/dd-trace-rb/blob/v1.0.0.beta1/docs/UpgradeGuide.md.
0.54.2 - 2022-01-18
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.54.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.54.1...v0.54.2
- Bump
debase-ruby_core_source
dependency version; also allow older versions to be used (#1798, #1829) - Profiler: Reduce impact of reporting data in multi-process applications (#1807)
- Profiler: Update API used to report data to backend (#1820)
- Gracefully handle installation on environments where Ruby JIT seems to be available but is actually broken (#1801)
0.54.1 - 2021-11-30
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.54.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.54.0...v0.54.1
0.54.0 - 2021-11-17
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.54.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.53.0...v0.54.0
- MongoDB service name resolver when using multi cluster (#1423) (@skcc321)
- Service name override for ActiveJob in Rails configuration (#1703, #1770) (@hatstand)
- Profiler: Expose profile duration and start to the UI (#1709)
- Profiler: Gather CPU time without monkey patching Thread (#1735, #1740)
- Profiler: Link profiler samples to individual web requests (#1688)
- Profiler: Capture threads with empty backtrace (#1719)
- CI-App: Memoize environment tags to improve performance (#1762)
- CI-App:
test.framework_version
tag for rspec and cucumber (#1713)
- Set minimum version of dogstatsd-ruby 5 series to 5.3 (#1717)
- Use USER_KEEP/USER_REJECT for RuleSampler decisions (#1769)
- "private method `ruby2_keywords' called" errors (#1712, #1714)
- Configuration warning when Agent port is a String (#1720)
- Ensure internal trace buffer respects its maximum size (#1715)
- Remove erroneous maximum resque version support (#1761)
- CI-App: Environment variables parsing precedence (#1745, #1763)
- CI-App: GitHub Metadata Extraction (#1771)
- Profiler: Missing thread id for natively created threads (#1718)
- Docs: Active Job integration example code (#1721) (@y-yagi)
- Redis client patch to use prepend (#1743) (@justinhoward)
0.53.0 - 2021-10-06
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.53.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.52.0...v0.53.0
- ActiveJob integration (#1639) (@bensheldon)
- Instrument Action Cable subscribe/unsubscribe hooks (#1674) (@agrobbin)
- Instrument Sidekiq server internal events (heartbeat, job fetch, and scheduled push) (#1685) (@agrobbin)
- Correlate Active Job logs to the active DataDog trace (#1694) (@agrobbin)
- Runtime Metrics: Global VM cache statistics (#1680)
- Automatically send traces to agent Unix socket if present (#1700)
- CI-App: User Provided Git Metadata (#1662)
- ActionMailer integration (#1280)
- Profiler: Set Sinatra resource setting at beginning of request and delay setting fallback resource (#1628)
- Profiler: Use most recent event for trace resource name (#1695)
- Profiler: Limit number of threads per sample (#1699)
- Profiler: Rename
extract_trace_resource
toendpoint.collection.enabled
(#1702)
- Capture Rails exception before default error page is rendered (#1684)
NoMethodError
in sinatra integration when Tracer middleware is missing (#1643, #1644) (@mscrivo)- CI-App: Require
rspec-core
for RSpec integration (#1654) (@elliterate) - CI-App: Use the merge request branch on merge requests (#1687) (@carlallen)
- Remove circular dependencies. (#1668) (@saturnflyer)
- Links in the Table of Contents (#1661) (@chychkan)
- CI-App: Fix CI Visibility Spec Tests (#1706)
- Profiler: pprof encoding benchmark and improvements (#1511)
0.52.0 - 2021-08-09
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.52.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.51.1...v0.52.0
-
Add Sorbet typechecker to dd-trace-rb (#1607)
Note that no inline type signatures were added, to avoid a hard dependency on sorbet.
-
Profiler: Add support for annotating profiler stacks with the resource of the active web trace, if any (#1623)
Note that this data is not yet visible on the profiling interface.
-
Add error_handler option to GRPC tracer configuration (#1583) (@fteem)
-
User-friendly handling of slow submissions on shutdown (#1601)
-
Profiler: Add experimental toggle to disable the profiling native extension (#1594)
-
Profiler: Bootstrap profiling native extension (#1584)
- Profiler: Profiling data is no longer reported when there's less than 1 second of data to report (#1630)
- Move Grape span resource setting to beginning of request (#1629)
- Set resource in Sinatra spans at the beginning of requests, and delay setting fallback resource to end of requests (#1628)
- Move Rails span resource setting to beginning of request (#1626)
- Make registry a global constant repository (#1572)
- Profiler: Remove automatic agentless support (#1590)
- Profiler: Fix CPU-time accounting in Profiling when fibers are used (#1636)
- Don't set peer.service tag on grpc.server spans (#1632)
- CI-App: Fix GitHub actions environment variable extraction (#1622)
- Additional Faraday 1.4+ cgroup parsing formats (#1595)
- Avoid shipping development cruft files in gem releases (#1585)
0.51.1 - 2021-07-13
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.51.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.51.0...v0.51.1
- AWS-SDK instrumentation without
aws-sdk-s3
(#1592)
0.51.0 - 2021-07-12
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.51.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.50.0...v0.51.0
- Semantic Logger trace correlation injection (#1566)
- New and improved Lograge trace correlation injection (#1555)
- Profiler: Start profiler on
ddtrace/auto_instrument
- CI-App: Add runtime and OS information (#1587)
- CI-App: Read metadata from local git repository (#1561)
-
Rename
Datadog::Runtime
toDatadog::Core::Environment
(#1570)As we prepare the
Datadog
Ruby namespace to better accommodate new products, we are moving a few internal modules to a different location to avoid conflicts.None of the affected files are exposed publicly in our documentation, and they are only expected to be used internally and may change at any time, even between patch releases.
- The following modules have been moved:
Datadog::Runtime::Cgroup -> Datadog::Core::Environment::Cgroup Datadog::Runtime::ClassCount -> Datadog::Core::Environment::ClassCount Datadog::Runtime::Container -> Datadog::Core::Environment::Container Datadog::Runtime::GC -> Datadog::Core::Environment::GC Datadog::Runtime::Identity -> Datadog::Core::Environment::Identity Datadog::Runtime::ObjectSpace -> Datadog::Core::Environment::ObjectSpace Datadog::Runtime::Socket -> Datadog::Core::Environment::Socket Datadog::Runtime::ThreadCount -> Datadog::Core::Environment::ThreadCount
- Most constants from
Datadog::Ext::Runtime
have been moved to a new module:Datadog::Core::Environment::Ext
.
-
Skip CPU time instrumentation if logging gem is detected (#1557)
-
Initialize
dogstatsd-ruby
in single threaded mode (#1576)This should alleviate any existing issues with
dogstatsd-ruby
resource leaks. -
Do not use configured
dogstatsd-ruby
instance when it's an incompatible version (#1560) -
Ensure tags with special Datadog processing are consistently serialized (#1556)
-
Profiler: NameError during initialization (#1552)
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.50.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.49.0...v0.50.0
- Add warning, update documentation, for incompatible dogstastd-ruby version (#1544#1533)
- Add CI mode and Test mode feature (#1504)
- Add Gem.loaded_specs fallback behavior if protobuf or dogstatsd-ruby already loaded(#1506#1510)
- Declare EOL for Ruby 2.0 support (#1534)
- Rename Thread#native_thread_id to #pthread_thread_id to avoid conflict with Ruby 3.1 (#1537)
- Fix tracer ignoring value for service tag (service.name) in DD_TAGS (#1543)
- Fix nested error reporting to correctly walk clause chain (#1535)
- Fix AWS integration to prevent S3 URL presigning from generating a remote request span (#1494)
- Fix backtrace handling of exception classes that return nil message (#1500) (@masato-hi)
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.49.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.48.0...v0.49.0
- Add cause to error stack trace (#1472)
- Prevent double initialization when auto instrumenting non-Rails applications (#1497)
- Support kwargs in Ruby 3.0 for sucker_punch (#1495) (@lloeki)
- Fargate fixes and Container parsing for CGroups (#1487#1480#1475)
- Fix ActionPack instrumentation
#starts_with?
error(#1489) - Doc fixes (#1473) (@kexoth)
0.48.0 - 2021-04-19
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.48.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.47.0...v0.48.0
-
Add deprecation warning for Ruby 2.0 support (#1441)
Support for Ruby 2.0 will be available up to release
0.49.x
, and dropped from release0.50.0
and greater. Users are welcome to continue using version< 0.50.0
for their Ruby 2.0 deployments going forward. -
Auto instrument Resque workers by default (#1400)
- Ensure DD_TRACE_SAMPLE_RATE enables full RuleSampler (#1416)
- Fix Fargate 1.4 container ID not being read (#1457)
- Correctly close all StatsD clients (#1429)
- Improvements to test suite & CI (#1421, #1435, #1445, #1453, #1456, #1461)
- Improvements to documentation (#1455)
0.47.0 - 2021-03-29
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.47.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.46.0...v0.47.0
- Document support for httpx integration (#1396) (@HoneyryderChuck)
- Schemas to list of supported AWS services (#1415) (@tomgi)
- Branch test coverage report (#1343)
-
BREAKING Separate Resolver configuration and resolution steps (#1319)
Partial matching of connection fields (adapter, username, host, port, database) is now allowed. Previously, only an exact match of connections fields would be considered matching. This should help greatly simplify database configuration matching, as you will only need to provide enough fields to correctly separate your distinct database connections.
If you have a
c.use active_record, describe:
statement in your application that is currently not matching any connections, you might start seeing them match after this release.c.use active_record, describe:
statements that are currently matching a connection will continue to match that same connection.You can refer to the expanded ActiveSupport documentation for details on how to use the new partial matchers and configuration code examples.
The interface for
Datadog::Contrib::Configuration::Resolver
has changed: custom configuration resolvers that inherit fromDatadog::Contrib::Configuration::Resolver
will need be changed to fulfill the new interface. See code documentation forDatadog::Contrib::Configuration::Resolver
for specific API requirements. -
Remove type check from ThreadLocalContext#local. (#1399) (@orekyuu)
- Support for JRuby 9.2.0.0 (#1409)
- Failed integration message (#1394) (@e1senh0rn)
- Addressed "warning: instance variable @components not initialized" (#1419)
- Close /proc/self/cgroup file after reading (#1414)
- Improve internal "only once" behavior across the tracer (#1398)
- Increase thread-safety during tracer initialization (#1418)
- Use MINIMUM_VERSION in resque compatible? check (#1426) (@mriddle)
- Lint fixes for Rubocop 1.12.0 release (#1430)
- Internal tracer improvements (#1403)
- Improvements to test suite & CI (#1334, #1379, #1393, #1406, #1408, #1412, #1417, #1420, #1422, #1427, #1428, #1431, #1432)
0.46.0 - 2021-03-03
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.46.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.45.0...v0.46.0
- Add EventBridge to supported AWS services (#1368) (@tomgi)
- Add
time_now_provider
configuration option (#1224)- This new option allows the span
start_time
andend_time
to be configured in environments that change the default time provider, like with Timecop. More information in the official documentation.
- This new option allows the span
- Add name to background threads created by ddtrace (#1366)
- Rework RSpec instrumentation as separate traces for each test (#1381)
- ArgumentError: wrong number of arguments (given 2, expected 0) due to concurrent
require
(#1306, #1354) (@EvNomad) - Fix Rails' deprecation warnings (#1352)
- Fully populate Rake span fields on exceptions (#1377)
- Fix a typo in
httpclient
integration (#1365) (@y-yagi) - Add missing license files for vendor'd code (#1346)
- Improvements to test suite & CI (#1277, #1305, #1336, #1350, #1353, #1357, #1367, #1369, #1370, #1371, #1374, #1380)
- Improvements to documentation (#1332)
- Remove deprecated Datadog::Monkey (#1341)
- Remove deprecated Datadog::DeprecatedPin (#1342)
- Remove unused Shim/MethodWrapper/MethodWrapping (#1347)
- Remove APP_ANALYTICS from tests instrumentation (#1378) (@AdrianLC)
0.45.0 - 2021-01-26
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.45.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.44.0...v0.45.0
- Promote request_queuing out of experimental (#1320)
- Safeguards around distributed HTTP propagator (#1304)
- Improvements to test integrations (#1291, #1303, #1307)
- Direct object_id lookup for ActiveRecord connections (#1317)
- Avoid multiple parsing of Ethon URIs (#1302) (@callumj)
- Improvements to test suite & CI (#1309, #1318, #1321, #1323, #1325, #1331)
- Improvements to documentation (#1326)
0.44.0 - 2021-01-06
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.44.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.43.0...v0.44.0
- Ruby 3.0 support (#1281, #1296, #1298)
- Rails 6.1 support (#1295)
- Qless integration (#1237) (@sco11morgan)
- AWS Textract service to AWS integration (#1270) (@Sticksword)
- Ability to disable Redis argument capture (#1276) (@callumj)
- Upload coverage report to Codecov (#1289)
- Reduce Runtime Metrics frequency to every 10 seconds (#1269)
- Disambiguate resource names for Grape endpoints with shared paths (#1279) (@pzaich)
- Remove invalid Jenkins URL from CI integration (#1283)
- Reduce memory allocation when unnecessary (#1273, #1275) (@callumj)
- Improvements to test suite & CI (#847, #1256, #1257, #1266, #1272, #1277, #1278, #1284, #1286, #1287, #1293, #1299)
- Improvements to documentation (#1262, #1263, #1264, #1267, #1268, #1297)
0.43.0 - 2020-11-18
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.43.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.42.0...v0.43.0
- Background job custom error handlers (#1212) (@norbertnytko)
- Add "multi" methods instrumentation for Rails cache (#1217) (@michaelkl)
- Support custom error status codes for Grape (#1238)
- Cucumber integration (#1216)
- RSpec integration (#1234)
- Validation to
:on_error
argument onDatadog::Tracer#trace
(#1220)
- Update
TokenBucket#effective_rate
calculation (#1236)
- Avoid writer reinitialization during shutdown (#1235, #1248)
- Fix configuration multiplexing (#1204, #1227)
- Fix misnamed B3 distributed headers (#1226, #1229)
- Correct span type for AWS SDK (#1233)
- Correct span type for internal Pin on HTTP clients (#1239)
- Reset trace context after fork (#1225)
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.42.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.41.0...v0.42.0
-
Increase Resque support to include 2.0 (#1213) (@erict-square)
-
Improve gRPC Propagator to support metadata array values (#1203) (@mdehoog)
-
Access active correlation by Thread (#1200)
-
Improve delayed_job instrumentation (#1187) (@norbertnytko)
- Refactor Trace buffer into multiple components (#1195)
0.41.0 - 2020-09-30
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.41.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.40.0...v0.41.0
- Improve duration counting using monotonic clock (#424, #1173) (@soulcutter)
- Add peer.service tag to external services and skip tagging external services with language tag for runtime metrics (#934, #935, #1180)
- This helps support the way runtime metrics are associated with spans in the UI.
- Faster TraceBuffer for CRuby (#1172)
- Reduce memory usage during gem startup (#1090)
- Reduce memory usage of the HTTP transport (#1165)
- Improved prepared statement support for Sequel integrations (#1186)
- Fix Sequel instrumentation when executing literal strings (#1185) (@matchbookmac)
- Remove explicit
Logger
class verification (#1181) (@bartekbsh)- This allows users to pass in a custom logger that does not inherit from
Logger
class.
- This allows users to pass in a custom logger that does not inherit from
- Correct tracer buffer metric counting (#1182)
- Fix Span#pretty_print for empty duration (#1183)
- Improvements to test suite & CI (#1179, #1184, #1177, #1178, #1176)
- Reduce generated Span ID range to fit in Fixnum (#1189)
0.40.0 - 2020-09-08
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.40.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.39.0...v0.40.0
- Rails
log_injection
option to auto enable log correlation (#1157) - Que integration (#1141, #1146) (@hs-bguven)
Components#startup!
hook (#1151)- Code coverage report (#1159)
- Every commit now has a
coverage
CI step that contains the code coverage report. This report can be found in theArtifacts
tab of that CI step, undercoverage/index.html
.
- Every commit now has a
-
Sinatra nested modular applications possibly leaking spans (#1035, #1145)
- BREAKING for nested modular Sinatra applications only:
class Nested < Sinatra::Base end class TopLevel < Sinatra::Base use Nested # Nesting happens here end
- Non-breaking for classic applications nor modular non-nested applications.
Fixes issues introduced by #1015 (in 0.35.0), when we first introduced Sinatra support for modular applications.
The main issue we had to solve for modular support is how to handle nested applications, as only one application is actually responsible for handling the route. A naive implementation would cause the creation of nested
sinatra.request
spans, even for applications that did not handle the request. This is technically correct, as Sinatra is traversing that middleware, accruing overhead, but that does not aligned with our existing behavior of having a singlesinatra.request
span.While trying to achieve backwards-compatibility, we had to resort to a solution that turned out brittle:
sinatra.request
spans had to start in one middleware level and finished it in another. This allowed us to only capture thesinatra.request
for the matching route, and skip the non-matching one. This caused unexpected issues on some user setups, specially around Sinatra middleware that created spans in between the initialization and closure ofsinatra.request
spans.This change now address these implementation issues by creating multiple
sinatra.request
, one for each traversed Sinatra application, even non-matching ones. This instrumentation is more correct, but at the cost of being a breaking change for nested modular applications.Please see #1145 for more information, and example screenshots on how traces for affected applications will look like.
- BREAKING for nested modular Sinatra applications only:
-
Rack/Rails span error propagation with
rescue_from
(#1155, #1162) -
Prevent logger recursion during startup (#1158)
-
Race condition on new worker classes (#1154)
- These classes represent future work, and not being used at the moment.
- Run CI tests in parallel (#1156)
- Migrate minitest tests to RSpec (#1127, #1128, #1133, #1149, #1152, #1153)
- Improvements to test suite (#1134, #1148, #1163)
- Improvements to documentation (#1138)
- Ruby 1.9 support ended, as it transitions from Maintenance to End-Of-Life (#1137)
- GitLab status check when not applicable (#1160)
- Allows for PRs pass all status checks once again. Before this change, a
dd-gitlab/copy_to_s3
check would never leave the "Pending" status. This check tracks the deployment of a commit to an internal testing platform, which currently only happens onmaster
branch or when manually triggered internally.
- Allows for PRs pass all status checks once again. Before this change, a
0.39.0 - 2020-08-05
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.39.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.38.0...v0.39.0
- Consistent environment variables across languages (#1115)
- Default logger level from WARN to INFO (#1120) (@gingerlime)
- This change also reduces the startup environment log message to INFO level (#1104)
- HTTP::StateError on error responses for http.rb (#1116, #1122) (@evan-waters)
- Startup log error when using the test adapter (#1125, #1131) (@benhutton)
- Warning message for Faraday < 1.0 (#1129) (@fledman, @tjwp)
- Propagate Rails error message to Rack span (#1124)
0.38.0 - 2020-07-13
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.38.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.37.0...v0.38.0
- http.rb integration (#529, #853)
- Kafka integration (#1070) (@tjwp)
- Span#set_tags (#1081) (@DocX)
- retry_count tag for Sidekiq jobs (#1089) (@elyalvarado)
- Startup environment log (#1104, #1109)
- DD_SITE and DD_API_KEY configuration (#1107)
- Auto instrument Faraday default connection (#1057)
- Sidekiq client middleware is now the same for client and server (#1099) (@drcapulet)
- Single pass SpanFilter (#1071) (@tjwp)
- Ensure fatal exceptions are propagated (#1100)
- Respect child_of: option in Tracer#trace (#1082) (@DocX)
- Improve Writer thread safety (#1091) (@fledman)
0.37.0 - 2020-06-24
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.37.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.36.0...v0.37.0
- Documentation improvements regarding Datadog Agent defaults (#1074) (@cswatt)
- Improvements to test suite (#1043, #1051, #1062, #1075, #1076, #1086)
-
DEPRECATION: Deprecate Contrib::Configuration::Settings#tracer= (#1072, #1079)
-
The
tracer:
option is no longer supported for integration configuration. A deprecation warning will be issued when this option is used. -
Tracer instances are dynamically created when
ddtrace
is reconfigured (throughDatadog.configure{}
calls).A reference to a tracer instance cannot be stored as it will be replaced by a new instance during reconfiguration.
Retrieving the global tracer instance, by invoking
Datadog.tracer
, is the only safe mechanism to acquire the active tracer instance.Allowing an integration to set its tracer instance is effectively preventing that integration from dynamically retrieving the current active tracer in the future, thus causing it to record spans in a stale tracer instance. Spans recorded in a stale tracer instance will look disconnected from their parent context.
-
-
BREAKING: Remove Pin#tracer= and DeprecatedPin#tracer= (#1073)
- The
Pin
andDeprecatedPin
are internal tools used to provide more granular configuration for integrations. - The APIs being removed are not public nor have been externally documented. The
DeprecatedPin
specifically has been considered deprecated since 0.20.0. - This removal is a continuation of #1079 above, thus carrying the same rationale.
- The
- Remove
tracer
argument provided to integrations (e.g.c.use :rails, tracer: ...
). - Remove
tracer
argument provided toPin
orDeprecatedPin
initializers (e.g.Pin.new(service, tracer: ...)
). - If you require a custom tracer instance, use a global instance configuration:
Datadog.configure do |c| c.tracer.instance = custom_tracer end
0.36.0 - 2020-05-27
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.36.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.35.2...v0.36.0
- Prevent trace components from being re-initialized multiple times during setup (#1037)
- Allow Rails patching if Railties are loaded (#993, #1054) (@mustela, @bheemreddy181, @vramaiah)
- Pin delegates to default tracer unless configured (#1041)
0.35.2 - 2020-05-08
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.35.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.35.1...v0.35.2
- Internal tracer HTTP requests generating traces (#1030, #1033) (@gingerlime)
Datadog.configure
forcing all options to eager load (#1032, #1034) (@kelvin-acosta)
0.35.1 - 2020-05-05
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.35.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.35.0...v0.35.1
0.35.0 - 2020-04-29
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.35.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.34.2...v0.35.0
- Chunk large trace payloads before flushing (#818, #840)
- Support for Sinatra modular apps (#486, #913, #1015) (@jpaulgs, @tomasv, @ZimbiX)
- active_job support for Resque (#991) (@stefanahman, @psycholein)
- JRuby 9.2 to CI test matrix (#995)
TraceWriter
andAsyncTraceWriter
workers (#986)- Runtime metrics worker (#988)
- Populate env, service, and version from tags (#1008)
- Extract components from configuration (#996)
- Extract logger to components (#997)
- Extract runtime metrics worker from
Writer
(#1004) - Improvements to Faraday documentation (#1005)
- Runtime metrics not starting after #write (#1010)
0.34.2 - 2020-04-09
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.34.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.34.1...v0.34.2
- Revert Rails applications setting default
env
if none are configured. (#1000) (@errriclee)
0.34.1 - 2020-04-02
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.34.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.34.0...v0.34.1
- Rails applications set default
service
andenv
if none are configured. (#990)
0.34.0 - 2020-03-31
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.34.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.33.1...v0.34.0
Datadog::Event
for simple pub-sub messaging (#972)Datadog::Workers
for trace writing (#969, #973)_dd.measured
tag to some integrations for more statistics (#974)env
,service
,version
,tags
configuration for auto-tagging (#977, #980, #982, #983, #985)- Multiplexed configuration for Ethon, Excon, Faraday, HTTP integrations (#882, #953) (@stormsilver)
- Runtime metrics configuration dropping with new writer (#967, #968) (@ericmustin)
- Faraday "unexpected middleware" warnings on v0.x (#965, #971)
- Presto configuration (#975)
- Test suite issues (#981)
0.33.1 - 2020-03-09
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.33.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.33.0...v0.33.1
- NoMethodError when activating instrumentation for non-existent library (#964, #966) (@roccoblues, @brafales)
0.33.0 - 2020-03-05
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.33.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.32.0...v0.33.0
- Instrumentation for Presto (#775, #920, #961) (@ahammel, @ericmustin)
- Sidekiq job argument tagging (#933) (@mantrala)
- Support for multiple Redis services (#861, #937, #940) (@mberlanda)
- Support for Sidekiq w/ Delayed extensions (#798, #942) (@joeyAghion)
- Setter/reset behavior for configuration options (#957)
- Priority sampling rate tag (#891)
- Enforced minimum version requirements for instrumentation (#944)
- RubyGems minimum version requirement 2.0.0 (#954) (@Joas1988)
- Relaxed Rack minimum version to 1.1.0 (#952)
- AWS instrumentation patching when AWS is partially loaded (#938, #945) (@letiesperon, @illdelph)
- NoMethodError for RuleSampler with priority sampling (#949, #950) (@BabyGroot)
- Runtime metrics accumulating service names when disabled (#956)
- Sidekiq instrumentation incompatibility with Rails 6.0.2 (#943, #947) (@pj0tr)
- Documentation tweaks (#948, #955) (@mstruve, @link04)
- Various test suite issues (#930, #932, #951, #960)
0.32.0 - 2020-01-22
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.32.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.31.1...v0.32.0
- Improved annotation of
net/http
spans during exception (#888, #907) (@djmb, @ericmustin) - RuleSampler is now the default sampler; no behavior changes by default (#917)
0.31.1 - 2020-01-15
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.31.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.31.0...v0.31.1
- Implement SyncWriter#stop method (#914, #915) (@Yurokle)
- Fix references to Datadog::Tracer.log (#912)
- Ensure http.status_code tag is always a string (#927)
0.31.0 - 2020-01-07
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.31.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.30.1...v0.31.0
- Ruby 2.7 support (#805, #896)
- ActionCable integration (#132, #824) (@renchap, @ericmustin)
- Faraday 1.0 support (#906)
- Set resource for Rails template spans (#855, #881) (@djmb)
- at_exit hook for graceful Tracer shutdown (#884)
- Environment variables to configure RuleSampler defaults (#892)
- Updated partial trace flushing to conform with new back-end requirements (#845)
- Store numeric tags as metrics (#886)
- Moved logging from Datadog::Tracer to Datadog::Logger (#880)
- Changed default RuleSampler rate limit from unlimited to 100/s (#898)
0.30.1 - 2019-12-30
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.30.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.30.0...v0.30.1
- NoMethodError when configuring tracer with SyncWriter (#899, #900) (@Yurokle)
- Spans associated with runtime metrics when disabled (#885)
0.30.0 - 2019-12-04
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.30.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.29.1...v0.30.0
- Additional tracer health metrics (#867)
- Integration patching instrumentation (#871)
- Rule-based trace sampling (#854)
0.29.1 - 2019-11-26
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.29.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.29.0...v0.29.1
- Priority sampling not activating by default (#868)
0.29.0 - 2019-11-20
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.29.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.28.0...v0.29.0
- Default trace buffer size from 100 to 1000 (#865)
- Rack request start headers to accept more values (#832) (@JamesHarker)
- Faraday to apply default instrumentation out-of-the-box (#786, #843) (@mdross95)
- Synthetics trace context being ignored (#856)
- Tracer buffer constants (#851)
0.28.0 - 2019-10-01
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.28.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.27.0...v0.28.0
- Support for Rails 6.0 (#814)
- Multiplexing on hostname/port for Dalli (#823)
- Support for Redis array arguments (#796, #817) (@brafales)
- Encapsulate span resource name in Faraday integration (#811) (@giancarlocosta)
0.27.0 - 2019-09-04
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.27.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.26.0...v0.27.0
Support for Ruby < 2.0 is removed. Plan for timeline is as follows:
- 0.25.0: Support for Ruby < 2.0 is deprecated; retains full feature support.
- 0.26.0: Last version to support Ruby < 2.0; any new features will not support 1.9.
- 0.27.0: Support for Ruby < 2.0 is removed.
Version 0.26.x will receive only critical bugfixes for 1 year following the release of 0.26.0 (August 6th, 2020.)
- Support for Ruby 2.5 & 2.6 (#800, #802)
- Ethon integration (#527, #778) (@al-kudryavtsev)
- Support for Ruby 1.9 (#791)
0.26.0 - 2019-08-06
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.26.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.25.1...v0.26.0
Support for Ruby < 2.0 is deprecated. Plan for timeline is as follows:
- 0.25.0: Support for Ruby < 2.0 is deprecated; retains full feature support.
- 0.26.0: Last version to support Ruby < 2.0; any new features will not support 1.9.
- 0.27.0: Support for Ruby < 2.0 is removed.
Version 0.26.x will receive only critical bugfixes for 1 year following the release of 0.26.0 (August 6th, 2020.)
- Container ID tagging for containerized environments (#784)
- Datadog::Metrics constants (#789)
- Datadog::HTTPTransport and related components (#782)
0.25.1 - 2019-07-16
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.25.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.25.0...v0.25.1
- Redis integration not quantizing AUTH command (#776)
0.25.0 - 2019-06-27
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.25.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.24.0...v0.25.0
Support for Ruby < 2.0 is deprecated. Plan for timeline is as follows:
- 0.25.0: Support for Ruby < 2.0 is deprecated; retains full feature support.
- 0.26.0: Last version to support Ruby < 2.0; any new features will not support 1.9.
- 0.27.0: Support for Ruby < 2.0 is removed.
Version 0.26.x will receive only critical bugfixes for 1 year following the release of 0.26.0.
- Unix socket support for transport layer (#770)
- Renamed 'ForcedTracing' to 'ManualTracing' (#765)
- HTTP headers for distributed tracing sometimes appearing in duplicate (#768)
- Transport layer (#628)
- Ruby < 2.0 support (#771)
- Use of
Datadog::HTTPTransport
(#628) - Use of
Datadog::Ext::ForcedTracing
(#765)
0.24.0 - 2019-05-21
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.24.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.23.3...v0.24.0
0.23.3 - 2019-05-16
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.23.3
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.23.2...v0.23.3
- Integrations initializing tracer at load time (#756)
0.23.2 - 2019-05-10
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.23.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.23.1...v0.23.2
- Span types for HTTP, web, and some datastore integrations (#751)
- AWS integration not patching service-level gems (#707, #752) (@alksl, @tonypinder)
- Rails 6 warning for
parent_name
(#750) (@sinsoku)
0.23.1 - 2019-05-02
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.23.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.23.0...v0.23.1
- NoMethodError runtime_metrics for SyncWriter (#748)
0.23.0 - 2019-04-30
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.23.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.22.0...v0.23.0
- Obsolete service telemetry (#738)
0.22.0 - 2019-04-15
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.22.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.21.2...v0.22.0
In this release we are adding initial support for the beta Runtime metrics collection feature.
- Add warning log if an integration is incompatible (#722) (@ericmustin)
- Initial beta support for Runtime metrics collection (#677)
0.21.2 - 2019-04-10
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.21.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.21.1...v0.21.2
0.21.1 - 2019-03-26
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.21.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.21.0...v0.21.1
- Support
TAG_ENABLED
for custom instrumentation with analytics. (#728)
0.21.0 - 2019-03-20
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.21.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.20.0...v0.21.0
- Distributed traces with IDs in 2^64 range being dropped (#719)
- Custom logger level forced to warning (#681, #721) (@blaines, @ericmustin)
- Global configuration for tracing into configuration API (#714)
0.20.0 - 2019-03-07
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.20.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.19.1...v0.20.0
This release will log deprecation warnings for any usage of Datadog::Pin
.
These changes are backwards compatible, but all integration configuration should be moved away from Pin
and to the configuration API instead.
- Propagate synthetics origin header (#699)
- Enable distributed tracing by default (#701)
- Fix Rack http_server.queue spans missing from distributed traces (#709)
- Refactor MongoDB to use instrumentation module (#704)
- Refactor HTTP to use instrumentation module (#703)
- Deprecate GRPC global pin in favor of configuration API (#702)
- Deprecate Grape pin in favor of configuration API (#700)
- Deprecate Faraday pin in favor of configuration API (#696)
- Deprecate Dalli pin in favor of configuration API (#693)
0.19.1 - 2019-02-07
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.19.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.19.0...v0.19.1
- Priority sampling dropping spans (#686)
0.19.0 - 2019-01-22
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.19.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.18.3...v0.19.0
- Tracer#active_correlation for adding correlation IDs to logs. (#660, #664, #673)
- Opt-in support for
event_sample_rate
tag for some integrations. (#665, #666)
- Priority sampling enabled by default. (#654)
0.18.3 - 2019-01-17
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.18.3
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.18.2...v0.18.3
- Mongo
NoMethodError
when no span available during#failed
. (#674, #675) (@Azure7111) - Rack deprecation warnings firing with some 3rd party libraries present. (#672)
- Shoryuken resource name when used with ActiveJob. (#671) (@aurelian)
0.18.2 - 2019-01-03
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.18.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.18.1...v0.18.2
- Unfinished Mongo spans when SASL configured (#658) (@zachmccormick)
- Possible performance issue with unexpanded Rails cache keys (#630, #635) (@gingerlime)
0.18.1 - 2018-12-20
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.18.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.18.0...v0.18.1
- ActiveRecord
SystemStackError
with some 3rd party libraries (#661, #662) (@EpiFouloux, @tjgrathwell, @guizmaii)
0.18.0 - 2018-12-18
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.18.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.17.3...v0.18.0
- Shoryuken integration (#538, #626, #655) (@steveh, @JustSnow)
- Sidekiq client integration (#602, #650) (@dirk)
- Datadog::Shim for adding instrumentation (#648)
- Use
DD_AGENT_HOST
andDD_TRACE_AGENT_PORT
env vars if available (#631) - Inject
:connection
intosql.active_record
event (#640, #649, #656) (@guizmaii) - Return default configuration instead of
nil
on miss (#651)
0.17.3 - 2018-11-29
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.17.3
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.17.2...v0.17.3
- Bad resource names for Grape::API objects in Grape 1.2.0 (#639)
- RestClient raising NoMethodError when response is
nil
(#636, #642) (@frsantos) - Rack middleware inserted twice in some Rails applications (#641)
0.17.2 - 2018-11-23
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.17.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.17.1...v0.17.2
- Resque integration shutting down tracer when forking is disabled (#637)
0.17.1 - 2018-11-07
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.17.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.17.0...v0.17.1
- RestClient incorrect app type (#583) (@gaborszakacs)
- DelayedJob incorrect job name when used with ActiveJob (#605) (@agirlnamedsophia)
0.17.0 - 2018-10-30
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.17.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.16.1...v0.17.0
- Use Rack Env to update resource in Rails (#580) (@dasch)
- Expand support for Sidekiq to 3.5.4+ (#593)
- Expand support for mysql2 to 0.3.21+ (#578)
0.16.1 - 2018-10-17
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.16.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.16.0...v0.16.1
0.16.0 - 2018-09-18
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.16.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.15.0...v0.16.0
0.15.0 - 2018-09-12
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.15.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.2...v0.15.0
- Grape uninitialized constant TraceMiddleware (#525, #533) (@dim)
- Signed integer trace and span IDs being discarded in distributed traces (#530) (@alloy)
0.14.2 - 2018-08-23
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.1...v0.14.2
- Sampling priority from request headers not being used (#521)
0.14.1 - 2018-08-21
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0...v0.14.1
- Reduce verbosity of connection errors in log (#515)
0.14.0 - 2018-08-14
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.2...v0.14.0
- RestClient integration (#422, #460)
- DelayedJob integration (#393 #444)
- Version information to integrations (#483)
- Tracer#active_root_span helper (#503)
- Resque to flush traces when Job finishes instead of using SyncWriter (#474)
- ActiveRecord to allow configuring multiple databases (#451)
- Integrations configuration settings (#450, #452, #451)
- Context propagation for distributed traces when context is full (#502)
- Rake shutdown tracer after execution (#487) (@kissrobber)
- Deprecation warnings fired using Unicorn (#508)
0.14.0.rc1 - 2018-08-08
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0.rc1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0.beta2...v0.14.0.rc1
- Context propagation for distributed traces when context is full (#502)
0.14.0.beta2 - 2018-07-25
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0.beta2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.14.0.beta1...v0.14.0.beta2
- Rake shutdown tracer after execution (#487) @kissrobber
0.14.0.beta1 - 2018-07-24
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.14.0.beta1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.1...v0.14.0.beta1
- Resque to flush traces when Job finishes instead of using SyncWriter (#474)
- ActiveRecord to allow configuring multiple databases (#451)
- Integrations configuration settings (#450, #452, #451)
0.13.2 - 2018-08-07
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.1...v0.13.2
- Context propagation for distributed traces when context is full (#502)
0.13.1 - 2018-07-17
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.13.0...v0.13.1
- Configuration class variables don't lazy load (#477)
- Default tracer host
localhost
-->127.0.0.1
(#466, #480) (@NobodysNightmare)
- Workers not shutting down quickly in some short running processes (#475)
- Missing documentation for mysql2 and Rails (#476, #488)
- Missing variable in rescue block (#481) (@kitop)
- Unclosed spans in ActiveSupport::Notifications with multithreading (#431, #478) (@senny)
0.13.0 - 2018-06-20
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.12.1...v0.13.0
- Sequel integration (supporting Ruby 2.0+) (#171, #367) (@randy-girard, @twe4ked, @palin)
- gRPC integration (supporting Ruby 2.2+) (#379, #403) (@Jared-Prime)
- ActiveModelSerializers integration (#340) (@sullimander)
- Excon integration (#211, #426) (@walterking, @jeffjo)
- Rake integration (supporting Ruby 2.0+, Rake 12.0+) (#409)
- Request queuing tracing to Rack (experimental) (#272)
- ActiveSupport::Notifications::Event helper for event tracing (#400)
- Request and response header tags to Rack (#389)
- Request and response header tags to Sinatra (#427, #375)
- MySQL2 integration (#453) (@jamiehodge)
- Sidekiq job delay tag (#443, #418) (@gottfrois)
- Hash quantization into core library (#410)
- MongoDB integration to use Hash quantization library (#463)
- Hash quantization truncates arrays with nested objects (#463)
0.13.0.beta1 - 2018-05-09
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.13.0.beta1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0...v0.13.0.beta1
- Sequel integration (supporting Ruby 2.0+) (#171, #367) (@randy-girard, @twe4ked, @palin)
- gRPC integration (supporting Ruby 2.2+) (#379, #403) (@Jared-Prime)
- ActiveModelSerializers integration (#340) (@sullimander)
- Excon integration (#211) (@walterking)
- Rake integration (supporting Ruby 2.0+, Rake 12.0+) (#409)
- Request queuing tracing to Rack (experimental) (#272)
- ActiveSupport::Notifications::Event helper for event tracing (#400)
- Request and response header tags to Rack (#389)
- Hash quantization into core library (#410)
0.12.1 - 2018-06-12
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0...v0.12.1
- Cache configuration
Proxy
objects (#446) freeze
more constant strings, to improve memory usage (#446)Utils#truncate
to use slightly less memory (#446)
- Net/HTTP integration not permitting
service_name
to be overridden. (#407, #430) (@undergroundwebdesigns) - Block not being passed through Elasticsearch client initialization. (#421) (@shayonj)
- Devise raising
NoMethodError
when bad login attempts are made. (#419, #420) (@frsantos) - AWS spans using wrong resource name (#374, #377) (@jfrancoist)
- ActionView
NoMethodError
on very long traces. (#445, #447) (@jvalanen)
0.12.0 - 2018-05-08
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.4...v0.12.0
- GraphQL integration (supporting graphql 1.7.9+) (#295)
- ActiveRecord object instantiation tracing (#311, #334)
- Subscriber module for ActiveSupport::Notifications tracing (#324, #380, #390, #395) (@dasch)
- HTTP quantization module (#384)
- Partial flushing option to tracer (#247, #397)
- Rack applies URL quantization by default (#371)
- Elasticsearch applies body quantization by default (#362)
- Context for a single trace now has hard limit of 100,000 spans (#247)
- Tags with
rails.db.x
toactive_record.db.x
instead (#396)
- Loading the ddtrace library after Rails has fully initialized can result in load errors. (#357)
- Some scenarios where
middleware_names
could result in bad resource names (#354) - ActionController instrumentation conflicting with some gems that monkey patch Rails (#391)
- Use of
:datadog_rack_request_span
variable in favor of'datadog.rack_request_span'
in Rack. (#365, #392)
- Racecar to use ActiveSupport::Notifications Subscriber module (#381)
- Rails to use ActiveRecord integration instead of its own implementation (#396)
- ActiveRecord to use ActiveSupport::Notifications Subscriber module (#396)
0.12.0.rc1 - 2018-04-11
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0.rc1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.4...v0.12.0.rc1
- GraphQL integration (supporting graphql 1.7.9+) (#295)
- ActiveRecord object instantiation tracing (#311, #334)
- Subscriber module for ActiveSupport::Notifications tracing (#324, #380, #390, #395) (@dasch)
- HTTP quantization module (#384)
- Partial flushing option to tracer (#247, #397)
- Rack applies URL quantization by default (#371)
- Elasticsearch applies body quantization by default (#362)
- Context for a single trace now has hard limit of 100,000 spans (#247)
- Tags with
rails.db.x
toactive_record.db.x
instead (#396)
- Loading the ddtrace library after Rails has fully initialized can result in load errors. (#357)
- Some scenarios where
middleware_names
could result in bad resource names (#354) - ActionController instrumentation conflicting with some gems that monkey patch Rails (#391)
- Use of
:datadog_rack_request_span
variable in favor of'datadog.rack_request_span'
in Rack. (#365, #392)
- Racecar to use ActiveSupport::Notifications Subscriber module (#381)
- Rails to use ActiveRecord integration instead of its own implementation (#396)
- ActiveRecord to use ActiveSupport::Notifications Subscriber module (#396)
0.12.0.beta2 - 2018-02-28
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0.beta2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.12.0.beta1...v0.12.0.beta2
- Loading the ddtrace library after Rails has fully initialized can result in load errors. (#357)
0.12.0.beta1 - 2018-02-09
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.12.0.beta1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.2...v0.12.0.beta1
- GraphQL integration (supporting graphql 1.7.9+) (#295)
- ActiveRecord object instantiation tracing (#311, #334)
http.request_id
tag to Rack spans (#335)
0.11.4 - 2018-03-29
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.4
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.3...v0.11.4
- Transport body parsing when downgrading (#369)
- Transport incorrectly attempting to apply sampling to service metadata (#370)
sql.active_record
traces showing incorrect adapter settings when non-default adapter used (#383)
0.11.3 - 2018-03-06
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.3
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.2...v0.11.3
- CHANGELOG.md (#350, #363) (@awendt)
http.request_id
tag to Rack spans (#335)- Tracer configuration to README.md (#332) (@noma4i)
- Extra indentation in README.md (#349) (@ck3g)
http.url
when Rails raises exceptions (#351, #353)- Rails from being patched twice (#352)
- 4XX responses from middleware being marked as errors (#345)
- Rails exception middleware sometimes not being inserted at correct position (#345)
- Processing pipeline documentation typo (#355) (@MMartyn)
- Loading the ddtrace library after Rails has fully initialized can result in load errors. (#357)
- Use of block syntax with Rails
render
not working (#359, #360) (@dorner)
0.11.2 - 2018-02-02
Critical update: Datadog::Monkey
removed in version 0.11.1. Adds Datadog::Monkey
back as no-op, deprecated module.
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.1...v0.11.2
Datadog::Monkey
to be no-op and print deprecation warnings.
0.11.1 - 2018-01-29
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.0...v0.11.1
http.base_url
tag for Rack applications (#301, #327)distributed_tracing
option to Sinatra (#325)exception_controller
option to Rails (#320)
- Decoupled Sinatra and ActiveRecord integrations (#328, #330) (@hawknewton)
- Racecar uses preferred ActiveSupport::Notifications strategy (#323)
Datadog::Monkey
in favor of newer configuration API (#322)
- Custom resource names from Rails controllers being overridden (#321)
- Custom Rails exception controllers reporting as the resource (#320)
0.11.0 - 2018-01-17
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.10.0...v0.11.0
0.11.0.beta2 - 2017-12-27
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.0.beta2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.11.0.beta1...v0.11.0.beta2
0.11.0.beta1 - 2017-12-04
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.11.0.beta1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.10.0...v0.11.0.beta1
0.10.0 - 2017-11-30
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.10.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.9.2...v0.10.0
0.9.2 - 2017-11-03
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.9.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.9.1...v0.9.2
0.9.1 - 2017-11-02
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.9.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.9.0...v0.9.1
0.9.0 - 2017-10-06
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.9.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.8.2...v0.9.0
0.8.2 - 2017-09-08
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.8.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.8.1...v0.8.2
0.8.1 - 2017-08-10
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.8.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.8.0...v0.8.1
0.8.0 - 2017-07-24
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.8.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.7.2...v0.8.0
0.7.2 - 2017-05-24
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.7.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.7.1...v0.7.2
0.7.1 - 2017-05-10
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.7.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.7.0...v0.7.1
0.7.0 - 2017-04-24
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.7.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.6.2...v0.7.0
0.6.2 - 2017-04-07
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.6.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.6.1...v0.6.2
0.6.1 - 2017-04-05
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.6.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.6.0...v0.6.1
0.6.0 - 2017-03-28
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.6.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.5.0...v0.6.0
0.5.0 - 2017-03-08
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.5.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.3...v0.5.0
0.4.3 - 2017-02-17
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.3
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.2...v0.4.3
0.4.2 - 2017-02-14
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.2
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.1...v0.4.2
0.4.1 - 2017-02-14
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.4.0...v0.4.1
0.4.0 - 2017-01-24
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.4.0
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.1...v0.4.0
0.3.1 - 2017-01-23
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1