Releases: DataDog/dd-trace-rb
0.54.2
Changed
- 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)
Fixed
- Gracefully handle installation on environments where Ruby JIT seems to be available but is actually broken (#1801)
Read the full changeset and the release milestone.
0.54.1
0.54.0
Added
- 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)
Changed
- Set minimum version of dogstatsd-ruby 5 series to 5.3 (#1717)
- Use USER_KEEP/USER_REJECT for RuleSampler decisions (#1769)
Fixed
- "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)
Refactored
- Redis client patch to use prepend (#1743) (@justinhoward)
Read the full changeset and the release milestone.
0.53.0
Added
- 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)
Changed
- 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)
Fixed
- 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)
Refactored
- Profiler: pprof encoding benchmark and improvements (#1511)
Read the full changeset and the release milestone.
0.52.0
Added
- 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)
Changed
- 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)
Fixed
- 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)
Read the full changeset and the release milestone.
0.51.1
0.51.0
Added
- 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)
Changed
-
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)
Fixed
-
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)
Refactored
Read the full changeset and the release milestone.
0.50.0
Dropping support for Ruby 2.0
As of 0.50.0, Ruby 2.0 is not supported.
Ruby 2.1 is now the minimum supported version.
Users are welcome to continue using version < 0.50.0 for their Ruby 2.0 deployments going forward.
Added
- 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)
Changed
- 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)
Fixed
- 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)
Refactored
Read the full changeset and the release milestone.
0.49.0
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.49.0
Git diff: v0.48.0...v0.49.0
Added
- Add cause to error stack trace (#1472)
Changed
Fixed
- 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)
- Fix ActionPack instrumentation
#starts_with?
error(#1489) - Doc fixes (#1473) (@kexoth 🎉 )
Refactored
0.48.0
Deprecating support for Ruby 2.0
Ruby 2.0 will be supported up to release 0.49.x
.
From release 0.50.0
and greater, Ruby 2.1 will be the minimum supported version.
Users are welcome to continue using version < 0.50.0
for their Ruby 2.0 deployments going forward.
Added
Changed
- Add deprecation warning for Ruby 2.0 support (#1441)
- Auto instrument Resque workers by default (#1400)
Fixed
- 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)
Refactored
- Improvements to test suite & CI (#1421, #1435, #1445, #1453, #1456, #1461)
- Improvements to documentation (#1455)
Read the full changeset and the release milestone.