Ruby Agent version 4.x

edit

[[release-notes-4.7.3] ==== 4.7.3

Fixed
edit
  • Address a bug where if capture_headers is false, ContextBuilder will raise "undefined method 'has_key?' for nil:NilClass" #1449

[[release-notes-4.7.2] ==== 4.7.2

Fixed
edit
  • Address machineType not being returned in GCP metadata #1435

[[release-notes-4.7.1] ==== 4.7.1

Fixed
edit
  • Skip capturing cookie header when it’s set separately #1405
  • Changes/fixes to metadata.cloud.* fields collected for GCP #1415
  • Pin version of bigdecimal for ruby 2.4 #1417
  • Use response method on Faraday error for older versions of the library #1419
  • Fix ActionDispatchSpy#render_exception for Rails 7.1 #1423
  • Use graphql < 2.1 when Ruby < 2.7 #1425
  • Guard against various Faraday exception response formats #1428

4.7.0

edit
Fixed
edit
  • Handle Faraday response being nil #1382
  • Fix error with invalid %-encoding #1400
Added
edit
  • Add keyword args for span_method helper #1395

4.6.2

edit
Fixed
edit
  • Fix Faraday::RackBuilder::StackLocked #1371

4.6.1

edit
Fixed
edit
  • Fix growing number of open file descriptors when HTTP request to APM is never sent #1351
  • Fix setting span http status code when Faraday Middleware is used #1368
  • Handle whitespace when splitting tracestate entries #1353

4.6.0

edit
Added
edit

Changed

edit
  • Expanded filtering to sanitize any key that contains the string auth #1266
  • Rename log_ecs_formatting option to log_ecs_reformatting, deprecate old option name #1248
  • When the configuration value for log_path is set, override the logger to point to that path instead of using e.g. Rails logger #1247
  • Only send tracestate header for distributed tracing when it has content #1277
  • Use the hostname as the Kubernetes pod name in the Container Info metadata if the pod id is parsed from cgroup #1314
Fixed
edit
  • Small change to Sidekiq tests to handle new configuration passing method #1283
  • Set transaction sample rate to 0 when it’s unsampled #1339
  • Don’t send unsampled transactions to APM server >= 8.0 #1341

4.5.1

edit
Changed
edit

Fixed

edit
  • Fixed dependencies to allow CI to build successfully #1259
  • Fixed warnings related to TimeTask timeouts #1255

4.5.0

edit
Changed
edit
  • Stop collecting the field http.request.socket.encrypted #1181
Fixed
edit
  • Fixed MongoDB spy thread safety #1202
  • Fixed span context fields for DynamoDB instrumentation #1178
  • Fixed span context fields for S3 instrumentation #1179
  • Update user agent info to match spec #1182

4.4.0

edit
Added
edit
  • Optional span to be ended instead of current span #1039
  • Config option log_ecs_formatting #1053
Fixed
edit
  • Fixed detecting Linux on Alpine for CPU/MEM metrics #1057

4.3.0

edit
Added
edit
  • Add JVM memory metrics #1040

4.2.0

edit
Added
edit
  • Add support for AWS Storage Table/CosmosDB #999
Fixed
edit
  • Align HTTP span types/subtypes with spec #1014
  • Passing a full URL as a path to Net::HTTP #1029
  • Fix growing number of open file descriptors #1033

4.1.0

edit
Added
edit
  • Azure App Services instance metadata #1007
Changed
edit
  • hostname is now reported split by configured_hostname and detected_hostname #1009
Fixed
edit
  • service_node_name is now correctly reported as service.node.configured_name #1009
  • Fix JSON parsing when using yajl-ruby #1012
  • Fix SpanHelpers when methods take blocks #1013
  • Fix missing environment param when fetching from Central Config #1014

4.0.0

edit
Upgrading
edit

Be aware that this release changes the agent’s general approach to instrumenting third party libraries. It now uses Module#prepend over alias method chaining.

This doesn’t necessarily impact your application but it could if you are using other gems that use the old approach to patch the same method. Mixing the two approaches can lead to infinite recursion.

Removed
edit
  • Removed support for Ruby 2.3 and JRuby 9.1 #901
  • Config option active, see enabled #900
  • Config option custom_key_filters, see sanitize_field_names #900
  • Config option default_tags, see global_labels #900
  • Config option default_labels, see global_labels #900
  • Config option ignore_url_patterns, see transaction_ignore_urls #900
  • Config option use_legacy_sql_parser, legacy parser no longer included #900
Changed
edit
  • Integrations (Spies) use Module#prepend over class_eval #890
  • The secrets filter no longer filters based on values, see sanitize_field_names #900
  • The secrets filter is aligned with other agents, see sanitize_field_names #900
Added
edit
  • Added set_service API #1006
Fixed
edit
  • AWS S3 spy accepts symbol bucket names #998
  • AWS S3 spy passing on blocks #998
  • SQL scanner now recognizes CQL style comments #1004