• /
  • EnglishEspañol日本語한국어Português
  • Log inStart now

Ruby agent release notesRSS

June 27, 2016
Ruby agent v3.16.0.318

v3.16.0

  • Official Rails 5.0 support

    This version of the agent has been verified against the Rails 5.0.0 release.

  • Early access Action Cable instrumentation

    The Ruby agent instruments Action Cable channel actions and calls to ActionCable::Channel#Transmit in Rails 5. Feedback is welcome!

  • Obfuscate queries from oracle_enhanced adapter correctly

    This change allows the oracle_enhanced adapter to use the same obfuscation as oracle adapters. Thanks Dan Drinkard for the contribution!

  • Make it possible to define a newrelic_role for deployment with Capistrano 3

    Thanks NielsKSchjoedt for the contribution!

  • Retry initial connection to New Relic in Resque master if needed

    Previously, if the initial connection to New Relic in a monitored Resque master process failed, the agent would not retry, and monitoring for the process would be lost. This has been fixed, and the agent will continue retrying in its background harvest thread until it successfully connects.

April 25, 2016
Ruby agent v3.15.2.317

v3.15.2

  • Run explain plans on parameterized slow queries in AR4

    In our ActiveRecord 4 instrumentation, we moved to tracing slow queries using the payloads from ActiveSupport::Notifications sql.active_record events. As a result, we were unable to run explain plans on parameterized queries. This has now been updated to pass along and use the parameter values, when available, to get the explain plans.

  • Fix getMore metric grouping issue in Mongo 2.2.x instrumentation

    A metric grouping issue had cropped up when using the most recent Mongo gem (2.2.0) with the most recent release of the server (3.2.4). We now have a more future-proof setup for preventing these.

  • Restore older DataMapper support after password obfuscation fix

    Back in 3.14.3, we released a fix to avoid inadvertently sending sensitive information from DataMapper SQLErrors. Our implementation did not account for DataMapper versions below v0.10.0 not implementing the #options accessor. Thanks Bram de Vries for the fix to our fix!

  • Padrino 0.13.1 Support

    Users with Padrino 0.13.x apps were previously seeing the default transaction name "(unknown)" for all of their routes. We now provide the full Padrino route template in transaction names, including any parameter placeholders. Thanks Robert Schulze for the contribution!

  • Update transaction naming for Grape 0.16.x

    In Grape 0.16.x, route_ methods are no longer prefixed. Thanks to Daniel Doubrovkine for the contribution!

  • Fix name collision on method created for default metric name fix

    We had a name collision with the yard gem, which sets a class_name method on Module. We've renamed our internal method to derived_class_name instead.

March 24, 2016
Ruby agent v3.15.1.316

v3.15.1

  • Rack 2 alpha support

    This release includes experimental support for Rack 2 as of 2.0.0.alpha. Rack 2 is still in development, but the agent should work as expected for those who are experimenting with Rack 2.

  • Rails 5 beta 3 support

    We've tweaked our Action View instrumentation to accommodate changes introduced in Rails v5.0.0.beta3.

  • Defer referencing ::ActiveRecord::Base to avoid triggering its autoloading too soon

    In 3.12.1 and later versions of the agent, the agent references (and therefore loads) ActiveRecord::Base earlier on in the Rails loading process. This could jump ahead of initializers that should be run first. We now wait until ActiveRecord::Base is loaded elsewhere.

  • Fix explain plans for non-parameterized queries with single quote literals

    The agent does not run explain plans for queries still containing parameters (such as SELECT * FROM UNICORNS WHERE ID = $1 LIMIT 1). This check was unfortunately mutating the query to be obfuscated, causing an inability to collect an explain plan. This has now been fixed.

  • Fix default metric name for tracing class methods

    When using add_method_tracer on a class method but without passing in a metric_name_code, the default metric name will now look like Custom/ClassName/Class/method_name. We also addressed default metric names for anonymous classes and modules.

  • Fix issue when rendering SQL strings in developer mode

    When we obfuscate SQL statements, we rewrite the Statement objects as SQL strings inline in our sample buffers at harvest time. However, in developer mode, we also read out of these buffers when rendering pages. Depending on whether a harvest has run yet, the buffer will contain either Statement objects, SQL strings, or a mix. Now, developer mode can handle them all!

  • Fix DelayedJob Sampler reporting incorrect counts in Active Record 3 and below

    When fixing various deprecation warnings on ActiveRecord 4, we introduced a regression in our DelayedJob sampler which caused us to incorrectly report failed and locked job counts in ActiveRecord 3 and below. This is now fixed. Thanks Rangel Dokov for the contribution!

February 17, 2016
Ruby agent v3.15.0.314

Notes

  • Rails 5 support

    This release includes experimental support for Rails 5 as of 5.0.0.beta2. Please note that this release does not include any support for ActionCable, the WebSockets framework new to Rails 5.

  • Don't include extension from single format Grape API transaction names

    Starting with Grape 0.12.0, an API with a single format no longer declares methods with .:format, but with an extension such as .json. Thanks Daniel Doubrovkine for the contribution!

  • Fix warnings about shadowing outer local variable when running tests

    Thanks Rafael Almeida de Carvalho for the contribution!

  • Check config first for Rails middleware instrumentation installation

    Checking the config first avoids issues with mock classes that don't implement VERSION. Thanks Jesse Sanford for the contribution!

  • Remove a trailing whitespace in the template for generated newrelic.yml

    Thanks Paul Menzel for the contribution!

  • Reference external resources in comments and readme with HTTPS

    Thanks Benjamin Quorning for the contribution!

February 9, 2016
Ruby agent v3.14.3.313

Notes

  • Don't inadvertently send sensitive information from DataMapper SQLErrors

    DataObjects::SQLError captures the SQL query, and when using versions of data_objects prior to 0.10.8, built a URI attribute that contained the database connection password. The :query attribute now respects the obfuscation level set for slow SQL traces and splices out any password parameters to the URI when sending up traced errors to New Relic.

  • Improved SQL obfuscation algorithm

    To help standardize SQL obfuscation across New Relic language agents, we've improved the algorithm used and added more test cases.

  • Configurable longer sql_id attribute on slow SQL traces

    The sql_id attribute on slow SQL traces is used to aggregate normalized queries together. Previously, these IDs would generally be 9-10 digits long, due to a backend restriction. If slow_sql.use_longer_sql_id is set to true, these IDs will now be 18-19 digits long.

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!

Copyright © 2024 New Relic Inc.

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