Ruby Agent 6.12.0.367

Released on: 
Monday, July 13, 2020 - 12:00

New Relic Ruby Agent Release Notes

v6.12.0

  • The New Relic Ruby agent is now open source under the Apache 2 license and you can now observe the project roadmap. See our Contributing guide and Code of Conduct for details on contributing!

  • Security: Updated all uses of Rake to >= 12.3.3

    All versions of Rake testing prior to 12.3.3 were removed to address CVE-2020-8130. No functionality in the agent was removed nor deprecated with this change, and older versions of rake are expected to continue to work as they have in the past. However, versions of rake < 12.3.3 are no longer tested nor supported.

  • Bugfix: fixes an error capturing content length in middleware on multi-part responses

    In the middleware tracing, the Content-Length header is sometimes returned as an array of values when content is a multi-part response. Previously, the agent would fail with "NoMethodError: undefined method to_i for Array" Error. This bug is now fixed and multi-part content lengths are summed for a total when an Array is present.

  • Added support for auto-instrumenting Mongo gem versions 2.6 to 2.12

  • Bugfix: MongoDB instrumentation did not handle CommandFailed events when noticing errors

    The mongo gem sometimes returns a CommandFailed object instead of a CommandSucceeded object with error attributes populated. The instrumentation did not handle noticing errors on CommandFailed objects and resulted in logging an error and backtrace to the log file.

    Additionally, a bug in recording the metric for "findAndModify" as all lowercased "findandmodify" for versions 2.1 through 2.5 was fixed.

  • Bugfix: Priority Sampler causes crash in high throughput environments in rare cases

    Previously, the priority sampling buffer would, in rare cases, generate an error in high-throughput environments once capacity is reached and the sampling algorithm engages. This issue is fixed.

  • Additional transaction information applied to Spans

    When distributed tracing and/or Infinite Tracing are enabled, the agent will now incorporate additional information from the Transaction event on to the root Span of the transaction.

    The following items are affected:

    • Custom attribute values applied to the Transaction via our add_custom_attributes API method.
    • Request parameters: request.parameters.*
    • Request headers: request.headers.*
    • Response headers: response.headers.*
    • Resque job arguments: job.resque.args.*
    • Sidekiq job arguments: job.sidekiq.args.*
    • Messaging arguments: message.*
    • httpResponseCode (deprecated in this version; see note below)/http.statusCode
    • response.status
    • request.uri
    • request.method
    • host.displayName
  • Security recommendation

    Review your Transaction attributes include and exclude configurations. Any attribute include or exclude settings specific to Transaction events should be applied to your Span attributes include and exclude configuration or your global attributes include and exclude configuration.

  • Agent attribute deprecation: httpResponseCode

    Starting in this agent version, the agent attribute httpResponseCode (string value) has been deprecated. Customers can begin using http.statusCode (integer value) immediately, and httpResponseCode will be removed in the agent's next major version update.

  • Bugfix: Eliminate warnings for distributed tracing when using sidekiq

    Previously, using sidekiq with distributed tracing disabled resulted in warning messages\ WARN : Not configured to accept distributed trace headers\ WARN : Not configured to insert distributed trace headers\ These messages no longer appear.