• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

Ruby agent v7.0.0

April 23, 2021Download

v7.0.0

  • Ruby Agent 6.x to 7.x Migration Guide Available

    Please see our Ruby Agent 6.x to 7.x migration guide for helpful strategies and tips for migrating from earlier versions of the Ruby agent to 7.0.0. We cover new configuration settings, diagnosiing and installing SSL CA certificates and deprecated items and their replacements in this guide.

  • Ruby 2.0 and 2.1 dropped

    Support for Ruby 2.0 and 2.1 dropped with this release. We do not know of code changes that would prevent the agent from continuing to work with these releases. However, Rubies 2.0 and 2.1 are no longer included in our test matrices and are not supported for 7.0.0 and onward.

  • Implemented prepend auto-instrumentation strategies for most Ruby gems/libraries

    This release brings the auto-instrumentation strategies for most gems into the modern era for Ruby by providing both prepend and method-chaining (also known as method-aliasing) strategies for auto instrumenting. Prepend, which has been available since Ruby 2.0, is now the default strategy employed in auto-instrumenting. It's a known issue that some external gems lead to Stack Level too Deep exceptions when prepend and method-chaining are mixed. In such known cases, the auto-instrumenting strategy will fall back to method-chaining automatically.

    This release also deprecates many overlapping and inconsistently named configuration settings in favor of being able to control behavior of instrumentation per library with one setting that can be one of auto (the default), disabled, prepend, or chain.

    Please see the above-referenced migration guide for further details.

  • Removed SSL cert bundle

    The agent will no longer ship this bundle and will rely on system certs.

  • Removed deprecated config options

    The following config options were previously deprecated and are no longer available:

    • disable_active_record_4
    • disable_active_record_5
    • autostart.blacklisted_constants
    • autostart.blacklisted_executables
    • autostart.blacklisted_rake_tasks
    • strip_exception_messages.whitelist
  • Removed deprecated attribute

    The attribute httpResponseCode was previously deprecated and replaced with http.statusCode. This deprecated attribute has now been removed.

  • Removed deprecated option in notice_error

    Previously, the :trace_only option to NewRelic::Agent.notice_error was deprecated and replaced with :expected. This deprecated option has been removed.

  • Removed deprecated API methods

    Previously the API methods create_distributed_trace_payload and accept_distributed_trace_payload were deprecated. These have now been removed. Instead, please see insert_distributed_trace_headers and accept_distributed_trace_headers, respectively.

  • Bugfix: Prevent browser monitoring middleware from installing to middleware multiple times

    In rare cases on jRuby, the BrowserMonitoring middleware could attempt to install itself multiple times at start up. This bug fix addresses that by using a mutex to introduce thread safety to the operation. Sinatra in particular can have this race condition because its middleware stack is not installed until the first request is received.

  • Skip constructing Time for transactions

    Thanks to @viraptor, we are no longer constructing an unused Time object with every call to starting a new Transaction.

  • Bugfix: nil Middlewares injection now prevented and gracefully handled in Sinatra

    Previously, the agent could potentially inject multiples of an instrumented middleware if Sinatra received many requests at once during start up and initialization due to Sinatra's ability to delay full startup as long as possible. This has now been fixed, and the Ruby agent correctly instruments only once as well as gracefully handles nil middleware classes in general.

  • Bugfix: Ensure transaction nesting max depth is always consistent with length of segments

    Thanks to @warp for noticing and fixing the scenario where Transaction nesting_max_depth can get out of sync with segment length resulting in an exception when attempting to nest the initial segment which does not exist.

Support statement

New Relic recommends that you upgrade the agent regularly and at a minimum every 3 months. As of this release, the oldest supported version is 4.8.0.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.