Important
We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date.
See the New Relic Ruby agent EOL policy for information about agent releases and support dates.
v9.10.0
Version 9.10.0 introduces instrumentation for DynamoDB, adds a new feature to automatically apply nonces from the Rails content security policy, fixes a bug that would cause an expected error to negatively impact a transaction's Apdex, and fixes the agent's autostart logic so that by default rails runner
and rails db
commands will not cause the agent to start.
Feature: Add instrumentation for DynamoDB
The agent has added instrumentation for the aws-sdk-dynamodb gem. The agent will now record datastore spans for DynamoDB client calls made with the aws-sdk-dynamodb gem. PR#2642
Feature: Automatically apply nonces from the Rails content security policy
To auto-inject browser monitoring with the New Relic Ruby agent, you either need to set your content security policy to 'unsafe-inline' or provide a nonce. Previously, the only way to provide a nonce was by using the
NewRelic::Agent.browser_timing_header
API. Now, when a Rails application uses the content security policy configuration to add a nonce, the nonce will be automatically applied to the browser agent. A new configuration option,browser_monitoring.content_security_policy_nonce
, toggles this feature. It is on by default. Thank you @baldarn for submitting this feature! PR#2544Bugfix: Expected errors related to HTTP status code, class, and message won't impact Apdex
The agent is supposed to prevent observed application errors from negatively impacting Apdex if the errors are either ignored or expected. There are two ways for the agent to expect an error: via the
notice_error
API receiving anexpected: true
argument or via matches made against user-configured lists for expected HTTP status codes (:'error_collector.expected_status_codes'
), expected error classes (:'error_collector.expected_classes'
), or expected error messages (:'error_collector.expected_messages'
). Previously, only errors expected via thenotice_error
API were correctly prevented from impacting Apdex. Expected errors set by configuration incorrectly impacted Apdex. This behavior has been fixed and now both types of expected errors will correctly not impact Apdex. Thanks very much to @florianpilz for bringing this issue to our attention. PR#2619Bugfix: Do not start the agent automatically when
rails runner
orrails db
commands are runPR#2239 taught the agent how to recognize
bin/rails
based contexts that it should not automatically start up in. Butbin/rails runner
andbin/rails db
commands would still see the agent start automatically. Those 2 contexts will now no longer see the agent start automatically. Thank you to @jdelStrother for both bringing thebin/rails
context to our attention and for letting us know about thebin/rails runner
andbin/rails db
outliers that still needed fixing. PR#2623Older agent versions that are still supported by New Relic can update to the new list of denylisted constants by having the following line added to the
newrelic.yml
configuration file:autostart.denylisted_constants: "Rails::Command::ConsoleCommand,Rails::Command::CredentialsCommand,Rails::Command::Db::System::ChangeCommand,Rails::Command::DbConsoleCommand,Rails::Command::DestroyCommand,Rails::Command::DevCommand,Rails::Command::EncryptedCommand,Rails::Command::GenerateCommand,Rails::Command::InitializersCommand,Rails::Command::NotesCommand,Rails::Command::RakeCommand,Rails::Command::RoutesCommand,Rails::Command::RunnerCommand,Rails::Command::SecretsCommand,Rails::Console,Rails::DBConsole"