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

Ruby agent release notesRSS

January 25, 2016
Ruby agent v3.14.2.312

Notes

  • Improved transaction names for Sinatra

    The agent will now use sinatra.route for transaction names on Sinatra 1.4.3+, which sets it in the request environment. This gives names that closer resemble the routes defined in the Sinatra DSL. Thanks to Brian Phillips for the suggestion!

  • Bugfix for error flag on transaction events

    There was an issue causing the error flag to always be set to false for Insights transaction events that has been fixed.

  • Official support for Sidekiq 4

    The Ruby agent now officially supports Sidekiq 4.

  • Additional attributes collected

    The agent now collects the following information in web transactions: Content-Length HTTP response and Content-Type HTTP request headers.

December 10, 2015
Ruby agent v3.14.1.311

Notes

  • Add support for setting a display name on hosts

    You can now configure a display name for your hosts using process_host.display_name, to more easily distinguish dynamically assigned hosts. For more info, see Change display name of hosts

  • Fixes automatic middleware instrumentation for Puma 2.12.x

    Starting with version 2.12.x the Puma project inlines versions of Rack::Builder and Rack::URLMap under the Puma namespace. This had the unfortunate side effect of breaking automatic Rack middleware instrumentation. We now instrument Puma::Rack::Builder and Puma::Rack::URLMap and once again have automatic Rack middleware instrumentation for applications running on Puma.

  • Do not use a DelayedJob's display_name for naming the transaction

    A DelayedJob's name may be superseded by a display_name, which can lead to a metric grouping issue if the display_name contains unique identifiers. We no longer use job name methods that may lead to an arbitrary display_name. Instead, we use the appropriate class and/or method names, depending what makes sense for the job and how it's called.

  • Improvements to Mongo 2.1.x instrumentation

    Fixes issue where getMore operations in batched queries could create metric grouping issues. Previously when multiple Mongo queries executed in the same scope only a single query was recorded as part of a transaction trace. Now transaction trace nodes will be created for every query executed during a transaction.

  • Bugfix for NewRelic::Agent.notice_error

    Fixes issue introduced in v3.14.0 where calling NewRelic::Agent.notice_error outside of an active transaction results in a NoMethodError.

  • Bugfix for Resque Transaction Error events

    Fixes error preventing Transaction Error events generated in Resque tasks from being sent to New Relic.

October 19, 2015
Ruby agent v3.14.0.305

Notes

  • pruby marshaller removed

    The deprecated pruby marshaller has now been removed; the marshaller config option now only accepts json. Customers still running Ruby 1.8.7/REE must add the json gem to their Gemfile, or (preferably) upgrade to Ruby 1.9.3 or higher.

  • Log dates in ISO 8601 format

    The agent will now log dates in ISO 8601 (YYYY-MM-DD) format, instead of MM/DD/YY.

  • Additional attributes collected

    The agent now collects the following information in web transactions: Accept, Host, User-Agent, Content-Length HTTP request headers, HTTP request method, and Content-Type HTTP response header.

  • TransactionErrors reported for APM error advanced analytics

    With this release, the agent reports TransactionError events. These new events power the beta feature Advanced Analytics for APM errors. The error events are also available today through New Relic Insights.

    Advanced Analytics for APM errors lets you see all of your errors, with granular detail. Filter and group by any attribute to analyze them. Take action to resolve issues through collaboration.

    For more information, see View APM errors and error traces.

September 28, 2015
Ruby agent v3.13.2.302

Bug Fixes

  • Don't fail to send data when using mathn library

    Version 3.12.1 introduced a bug with applications using the mathn library that would prevent the agent from sending data to New Relic. This has been fixed.

September 21, 2015
Ruby agent v3.13.1.300

Notes

  • Don't use a pager when running git log command

    This would cause Capistrano deploys to hang when a large number of commits were being deployed. Thanks to John Naegle for reporting and fixing this issue!

  • Official support for JRuby 9.0.0.0

    The Ruby agent is now officially fully tested and supported on JRuby 9.0.0.0.

  • Instrumentation for MongoDB 2.1.x

    Visibility in your MongoDB queries returns when using version 2.1.0 of the Mongo driver or newer. Thanks to Durran Jordan of MongoDB for contributing the Mongo Monitoring instrumentation!

  • Fix for ArgumentError "invalid byte sequence in UTF-8"

    This would come up when trying to parse out the operation from a database query containing characters that would trigger a invalid byte sequence in UTF-8 error. Thanks to Mario Izquierdo for reporting this issue!

  • Improved database metric names for ActiveRecord::Calculations queries

    Aggregate metrics recorded for queries made via the ActiveRecord::Calculations module (#count, #sum, #max, etc.) will now be associated with the correct model name, rather than being counted as generic 'select' operations.

  • Allow at_exit handlers to be installed for Rubinius

    Rubinius can support the at_exit block used by install_exit_handler. Thanks to Aidan Coyle for reporting and fixing this issue!

August 10, 2015
Ruby agent v3.13.0.299

Notes

  • Bugfix for uninitialized constant NewRelic::Agent::ParameterFiltering

    Users in some environments encountered a NameError: uninitialized constant NewRelic::Agent::ParameterFiltering from the Rails instrumentation while running v3.12.x of the Ruby agent. This issue has been fixed.

  • Rake task instrumentation

    The Ruby agent now provides opt-in tracing for Rake tasks. If you run long jobs via Rake, you can get all the visibility and goodness of New Relic that your other background jobs have. For more information, see Rake instrumentation.

  • Redis instrumentation

    Redis operations will now show up on the Databases tab and in transaction traces. By default, only command names will be captured; to capture command arguments, set transaction_tracer.record_redis_arguments to true in your configuration. For more information, see Redis instrumentation.

  • Fix for over-obfuscated SQL Traces and PostgreSQL

    An issue with the agent obfuscating column and table names from Slow SQL Traces when using PostgreSQL has been resolved.

  • Rubinius 2.5.8 VM metric renaming support

    Rubinius 2.5.8 changed some VM metric names and eliminated support for total allocated object counters. The agent has been updated accordingly.

  • Fix agent attributes with a value of false not being stored

    An issue introduced in v3.12.1 prevented attributes (like those added with add_custom_attributes) from being stored if their value was false. This has been fixed.

June 30, 2015
Ruby agent v3.12.1.298

Notes

  • More granular Database metrics for ActiveRecord 3 and 4

    Database metrics recorded for non-SELECT operations (UPDATE, INSERT, DELETE, etc.) on ActiveRecord 3 and 4 now include the model name that the query was being executed against, allowing you to view these queries broken down by model on the Datastores page. Thanks to Bill Kayser for reporting this issue!

  • Support for Multiverse testing third party gems

    The Ruby agent has rich support for testing multiple gem versions, but previously that wasn't accessible to third party gems. Now you can now simply require 'task/multiverse' in your Rakefile to access the same test:multiverse task that New Relic uses itself. For more details, see Multiverse: Test against multiple gem versions

  • Use Sidekiq 3.x's error handler

    Sidekiq versions 3.0 or higher provide an error handler for internal and middleware related failures. Failures at these points were previously unseen by the Ruby agent, but now they are properly traced.

  • Better error messages for common configuration problems with Capistrano

    Templating errors in newrelic.yml would result in obscure error messages during Capistrano deployments. These messages now more properly reflect the root cause of the errors.

  • newrelic_ignore methods allow strings

    The newrelic_ignore methods previously only supported passing symbols, and would quietly ignore any strings passed. Now strings can be passed as well to get the intuitive ignoring behavior you'd expect.

  • Replace DNS resolver for Resque jobs with Resolv

    In some circumstances customers with a very high number of short-lived Resque jobs were experiencing deadlocks during DNS resolution. Resolv is an all Ruby DNS resolver that replaces the libc implementation to prevent these deadlocks.

May 7, 2015
Ruby agent v3.12.0.288

Notes

  • Flexible capturing of attributes

    The Ruby agent now allows you more control over exactly which request parameters and job arguments are attached to transaction traces, traced errors, and Insights events. For details, see:

    https://docs.newrelic.com/docs/agents/ruby-agent/ruby-agent-attributes

  • Fixed missing URIs in traces for retried Excon requests

    If Excon's idempotent option retried a request, the transaction trace node for the call would miss having the URI assigned. This has been fixed.

  • Capturing request parameters from rescued exceptions in Grape

    If an exception was handled via a rescue_from in Grape, request parameters were not properly set on the error trace. This has been fixed. Thanks to Ankit Shah for helping us spot the bug.

April 5, 2015
Ruby agent v3.11.2.286

Notes

  • Better naming for Rack::URLMap

    If a Rack app made direct use of Rack::URLMap, instrumentation would miss out on using the clearest naming based on the app class. This has been fixed.

  • Avoid performance regression in makara database adapter

    Delegation in the makara database adapter caused performance issues when the agent looked up a connection in the pool. The agent now uses a faster lookup to work around this problem in makara, and allocates less as well. Thanks Mike Nelson for the help in resolving this!

  • Allow audit logging to STDOUT

    Previously audit logs of the agent's communication with New Relic could only write to a file. This prevented using the feature on cloud providers like Heroku. Now STDOUT is an allowed destination for audit_log.path. Logging can also be restricted to certain endpoints via audit_log.endpoints.

    For more information see https://docs.newrelic.com/docs/agents/ruby-agent/installation-configurat...

  • Fix for crash during startup when Rails required but not used

    If an application requires Rails but wasn't actually running it, the Ruby agent would fail during startup. This has been fixed.

  • Use IO.select explicitly in the event loop

    If an application adds their own select method to Object/Kernel or mixes in a module that overrides the select method (as with ActionView::Helpers) we would previously have used their implementation instead of the intended IO.select, leading to all sorts of unusual errors. We now explicitly reference IO.select in the event loop to avoid these issues.

  • Fix for background thread hangs on old Linux kernels

    When running under Ruby 1.8.7 on Linux kernel versions 2.6.11 and earlier, the background thread used by the agent to report data would hang, leading to no data being reported. This has been be fixed.

March 23, 2015
Ruby agent v3.11.1.284

Fix for segmentation fault with sequel_pg 1.6.11

The Ruby agent incorrectly rescued exceptions at a point which caused sequel_pg 1.6.11 to segfault. This has been fixed. Thanks to Oldrich Vetesnik for the report!

Copyright © 2025 New Relic Inc.

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