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

Ruby agent release notesRSS

July 31
Ruby agent v9.20.0

중요

최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법 에 대해 자세히 알아보세요.

에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 루비 에이전트 EOL 정책을 참조하세요.

v9.20.0

  • 기능: Fargate용 ECS 도커 ID 추가

    이전에는 루비 에이전트가 AWS ECS Fargate 환경에서 실행할 때 도커 ID를 기록하지 않았습니다. 이제 도커 ID가 올바르게 기록됩니다. PR#3172

  • 기능: NewRelic::Helper.version_satisfied?를 추가하세요.

    에이전트에는 버전 비교를 단순화하는 새로운 도우미 메서드가 있습니다. NewRelic::Helper.version_satisfied? 세 개의 인수를 허용합니다. 왼쪽 버전 번호, 문자열 형태의 비교 연산자, 오른쪽 버전 번호입니다. 이 기여에 대해 @kekke-n 에게 감사드립니다. PR#3182

  • : 기간이 구성된 레버 값을 초과하는 경우 데이터 스토어 범위에 code.stacktrace 속성을 추가합니다.

    이제 에이전트는 기간이 구성된 레버 값을 초과하는 경우 데이터 스토어 범위에 code.stacktrace 속성을 추가합니다. 레버 값은 transaction_tracer.stack_trace_threshold 설정 옵션을 사용하여 구성됩니다. PR#3220

  • 기능: "알 수 없음" 상수 값 통합

    "알 수 없음"에 대한 다양한 대문자 사용 스타일 참조는 모두 두 개의 상수 NewRelic::UNKNOWNNewRelic::UNKNOWN_LOWER 로 통합되었습니다. @tsubasa1122 님, 귀하의 기여에 감사드립니다! PR#3185

  • 버그 수정: Brewfile 소스 링크 수정

    이전에는 멀티버스 README와 Brewfile의 링크가 끊어졌습니다. @emmanuel-ferdman 께서 문제를 해결하기 위해 PR을 제출해 주셔서 감사드립니다! PR#3191

  • 버그 수정: HTTPX 1.5.0 사용 시 발생하는 오류 수정

    에이전트는 이전에 새로운 HTTPX 버전 1.5.0을 사용하는 동안 오류를 발견했습니다. 이는 HTTPX가 응답을 저장하는 방식이 변경되었기 때문입니다. 에이전트가 이 변경 사항을 올바르게 처리하도록 업데이트되어 HTTPX 1.5.0을 사용할 때 더 이상 오류가 발생하지 않습니다. PR#3203

  • 버그 수정: 디버그 수준 에이전트 로그에 대한 버그 수정 및 개선

    에이전트가 설정 소스를 읽을 때 디버그 수준에서 에이전트에 의한 정보 로그를 개선합니다. PR#3221

  • 버그픽스: Slack의 서버측 위조 위험 수정

    내부적으로는 Slack에 업데이트를 게시하는 GitHub actions를 사용하여 출시된 젬을 추적합니다. [@odaysec]은 이 스텔라에 대한 서버 측 위조 위험을 줄일 수 있는 방법을 찾았습니다. 감사합니다! PR#3184

  • 버그 수정: JSON.load 호출을 JSON.parse로 교체

    일반적으로 JSON.parse는 JSON.load보다 더 안전한 것으로 간주됩니다. @odaysec 님, 이 사실을 알려주셔서 감사합니다! PR#3183 PR#3230

April 30
Ruby agent v9.19.0

중요

최신 에이전트 버전이 출시되면 즉시 업데이트하는 것이 좋습니다. 최신 버전으로 업그레이드할 수 없는 경우, 에이전트를 90일 이내 버전으로 업데이트하세요. 에이전트에게 최신 정보를 제공하는 방법 에 대해 자세히 알아보세요.

에이전트 릴리스 및 지원 날짜에 대한 정보는 뉴렐릭 루비 에이전트 EOL 정책을 참조하세요.

v9.19.0

  • 기능: 모든 스팬에 스레드 ID를 속성으로 추가

    이제 에이전트는 각 스팬의 속성으로 스레드 ID를 기록합니다. PR#3122

  • : W3C TraceContext Traces 플래그에 대한 지원 추가

    이전에는 에이전트가 샘플링 결정을 위해 traceparent 헤더의 트레이스 플래그 필드를 사용하지 않았습니다. 이로 인해 UI 에 조각난 트레이스가 생길 수 있습니다. 기본 동작은 변경되지 않지만 샘플링 결정 방식을 보다 효과적으로 제어할 수 있도록 두 가지 새로운 설정 옵션인 distributed_tracing.sampler.remote_parent_sampleddistributed_tracing.sampler.remote_parent_not_sampled 이 도입되었습니다. PR#3135

  • 버그 수정: 기본적으로 Transaction 이벤트에 request.uri를 포함합니다.

    뉴렐릭 데이터 사전은 트랜잭션 이벤트에 request.uri 속성이 있을 것으로 예상합니다. 이제 루비 요원이 이러한 기대를 충족시켜 드립니다. request.uri 거래 이벤트에서 제외하려면 transaction_events.attributes.exclude 'request.uri' 으로 설정하면 됩니다. PR#3103

  • 버그 수정: perform_all_later를 사용할 때 활성 작업 측정, 계측에서 발생하는 오류 수정

    이전에는 Active Job의 perform_all_later 메서드가 호출되고 에이전트가 실행 중이면 undefined method 'queue_name' for nil 메시지와 함께 NoMethodError 이 발생했습니다. 해당 오류는 수정되었으며 세그먼트 이름은 대기열의 첫 번째 작업을 반영하게 됩니다. 이 문제를 알려주시고 수정 방법을 알려주신 @tan-linx 에게 감사드립니다. PR#3110

April 2
Ruby agent v9.18.0

중요

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.18.0

  • Feature: Add elasticsearch.capture_cluster_name configuration option

    A new configuration option, elasticsearch.capture_cluster_name, has been added to control capturing Elasticsearch cluster names. Cluster names are captured by default, but can now be disabled as needed. PR#3038

  • Feature: Add support for sidekiq-delay_extensions

    Sidekiq delay extensions were removed from Sidekiq in 7.x and are now avaliable through the sidekiq-delay_extensions gem. Thanks to @sobrinho, the agent now has continued support for delay extensions.PR#3056

  • Feature: Parallelize calls for vendor metadata

    Previously, the agent would make calls for vendor metadata in a serial fashion. This could lead to a delay in starting the agent. Now, the agent will make these calls in parallel, reducing the time it takes to start the agent. PR#3094

  • Bugfix: Prevent a nil segment from causing errors in Net::HTTP instrumentation

    When using JRuby, a race condition can happen that causes the segment creation to fail and return nil. This would cause an error to occur when methods were later called on the nil segment. These methods will no longer be called if the segment is nil, preventing that error from occurring. PR#3046

  • Bugfix: JRuby multithreading improvements

    Added some additional nil checks and mutexes to prevent issues when using the agent on JRuby with multiple threads. Thanks to @NC-piercej for bringing this to our attention Issue#3021 PR#3053

  • Bugfix: Stop reporting rescued Sidekiq::OverLimit exceptions

    When Sidekiq's concurrent rate limiters encounter an OverLimit exception, Sidekiq typically handles this by re-enqueuing the job. Previously, all occurrences of Sidekiq::OverLimit were logged as errors in New Relic, even when Sidekiq's middleware resolved the exception. New Relic will no longer report errors that are handled by Sidekiq's own middleware. Thanks to @97jaz for reporting this issue. Issue#3037 PR#3047

  • Bugfix: Protect against nil agents or health checks

    In some cases the agent or health checks may be nil when they are called. Safe navigation operators have been added for protection on those occasions. PR#3049

  • Bugfix: Ignore Solid Queue ThreadError: queue empty error message by default

    When using the solid_queue gem, the agent previously generated excessive warn-level logs when the queue was empty. The agent now ignores queue empty error messages of the ThreadError class by default. This behavior can be adjusted using the error_collector.ignore_messages configuration option. PR#3060

  • Bugfix: Refactor URI host handling to accommodate downcasing frozen strings

    When URI host string was frozen, a FrozenError would be raised when the agent attempted to downcase the host as part of its data normalization process. Now, the update is friendly for frozen strings. Thank you @pedrol3001 for your contribution! PR#3097

January 29
Ruby agent v9.17.0

중요

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.17.0

  • Feature: Support Ruby 3.4.0

    The agent now supports Ruby 3.4.0. We've made incremental changes throughout the preview stage to reach compatibility. This release includes an update to the Thread Profiler for compatibility with Ruby 3.4.0's new backtrace format. Issue#2992 PR#2997

  • Feature: Add instrumentation for aws-sdk-firehose

    The agent now has instrumentation for the aws-sdk-firehose gem. PR#2973

  • Feature: Kubernetes APM auto-attach - new agent version precedent

    Previously, when a customer installed the Ruby agent via Kubernetes APM auto-attach and also had the Ruby agent listed in their Gemfile, the agent version in Gemfile would take precedence. Now, the agent version installed by auto-attach takes priority. PR#3018

  • Feature: Add health checks when the agent runs within Agent Control

    When the agent is started within an Agent Control environment, a health check file will be created at the configured file location for every agent process. By default, this location is: '/newrelic/apm/health'. The health check files will be updated at the configured frequency, which defaults to every five seconds. PR#2995

  • Feature: Add Redshift as recognized ActiveRecord adapter

    When the agent does not recognize an ActiveRecord adapter, the host, port, and database name information is not added to the datastore span. Redshift will now be treated like PostgreSQL, and the agent will save the host, port, and database name on the span. PR#3032

  • Feature: Add instrumentation for aws-sdk-kinesis

    The agent now has instrumentation for the aws-sdk-kinesis gem. It will record message broker segments for get_records, put_record, and put_records operations. All other operations will record standard segments. PR#2974

  • Bugfix: Stop emitting inaccurate debug-level log about deprecated configuration options

    In the previous major release, we dropped support for many disable_library_name configuration options in favor of instrumentation.library_name. Previously, a DEBUG level log warning appeared whenever disable_* options were set to true, even for libraries (e.g. Action Dispatch) without equivalent instrumentation.* options:

>DEBUG : [DEPRECATED] configuration disable_library_name for library_name will be removed in the next major release. Use instrumentation. library_name with one of ["auto", "disabled", "prepend", "chain"]

This inaccurate warning has been removed. If you are disabling instrumentation using instrumentation.library_name: disabled or NEW_RELIC_INSTRUMENTATION_LIBRARY_NAME=disabled, please verify the option exists by consulting our configuration documentation. If the option does not exist, check the 'Disabling' section to see if there is a related option. We apologize for the confusion. PR#3005

  • Bugfix: Do not attempt to decorate logs with nil messages

    The agent no longer attempts to add New Relic linking metadata to logs with nil messages. Thank you, @arlando for bringing this to our attention! Issue#2985 PR#2986

  • Bugfix: Stop renaming final Grape segment

    Previously, the agent renamed the final segment in Grape transactions to "Middleware/Grape/#{class_name}/call". This was a part of an old instrumentation pattern that is no longer relevant. Many thanks to @seriousdev-gh for bringing this issue to our attention and along with a great reproduction and suggested fix. PR#2987.

December 4, 2024
Ruby agent v9.16.1

중요

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.16.1

  • Bugfix: Added the support for the Trilogy database adapter.

    The agent now fully supports the Trilogy, a client library for MySQL-compatible database servers, and correctly lists MySQL as the corresponding database in the UI. PR#2966.

November 19, 2024
Ruby agent v9.16.0

중요

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.16.0

Version 9.16.0 introduces the following features and bug fixes:

  • Feature: Instrumentation for aws-sdk-lambda

    When the aws-sdk-lambda gem is available and used to invoke remote AWS Lambda functions, the timing and error details of the invocations will be reported to New Relic. PR#2926.

  • Feature: Add new configuration options to attach custom tags (labels) to logs

    The Ruby agent now allows you to opt-in to adding your custom tags (labels) to agent-forwarded logs. With custom tags on logs, platform engineers can easily filter, search, and correlate log data for faster and more efficient troubleshooting, improved performance, and optimized resource utilization. PR#2925

  • Feature: Update View Component instrumentation+

    The .identifier method will be formally exposed as part of the View Component public API. The agent will now use this method for building metric names when available, ensuring ongoing compatibility with all View Component versions. PR#2956

  • Bugfix: Record explain plan traces on Rails 7.2+

    Rails 7.2 removed adapter-specific connection methods (ex. ActiveRecord::Base.postgresql_connection) and replaced them with ActiveRecord::Base.with_connection. Our explain plan feature relies on making a connection to the database to create an explain plan trace. Due to a bug in our tests, we missed this regression. Now, the agent uses the new method to fetch explain plans on Rails 7.2+. Thank you, @gsar and @gstark for bringing this to our attention! Issue#2922 PR#2940

October 31, 2024
Ruby agent v9.15.0

중요

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.15.0

Version 9.15.0 updates View Component instrumentation to use a default metric name when one is unavailable, adds a configuration option to associate the AWS account ID with the DynamoDB calls from the AWS SDK, resolves a bug in rdkafka instrumentation when using the karafka-rdkafka gem, resolves a bug in the ruby-kafka instrumentation, fixes a bug with Grape instrumentation, and addresses a bug preventing the agent from running in serverless mode in an AWS Lambda layer.

  • Feature: New configuration option cloud.aws.account_id

    A new configuration option has been added, cloud.aws.account_id, that will allow New Relic to provide more details about certain calls made using the AWS SDK. For example, relationships between AWS services instrumented with New Relic's CloudWatch Metric Streams will have relationships formed in the service map with APM applications. Currently, the DynamoDB instrumentation is the only instrumentation that will make use of this configuration option, but this will be used in future instrumentation as well. PR#2904

  • Feature: Use default View/component metric name for unidentified View Components

    Previously, when a View Component metric name could not be identified, the agent would set the name as nil. Now, the agent defaults to using View/component as the metric name when one can not be identified. PR#2907

  • Bugfix: Instrumentation errors when using the karafka-rdkafka gem

    Due to version differences between the rdkafka gem and karafka-rdkafka gem, the agent could encounter an error when it tried to install rdkafka instrumentation. This has now been resolved. Thank you to @krisdigital for bringing this issue to our attention. PR#2880

  • Bugfix: Stop calling deprecated all_specs method to check for the presence of newrelic-grape

    In 9.14.0, we released a fix for calls to the deprecated Bundler.rubygems.all_specs, but the fix fell short for the agent's Grape instrumentation and deprecation warnings could still be raised. The condition has been simplified and deprecation warnings should no longer be raised. Thank you, @excelsior for bringing this to our attention. Issue#2885 PR#2906

  • Bugfix: Instrumentation errors when using the ruby-kafka gem

    Kafka::Consumer#each_message takes keyword arguments, while the prepended method is defined with a single splat positional argument. In Ruby >= 3.0, this signature mismatch raises an ArgumentError. Thank you @patrickarnett for providing this bugfix. PR#2915

  • Bugfix: Restore AWS Lambda layer operational functionality

    Version 9.14.0 of the agent introduced an optimization related to how the agent handles boolean configuration parameters which inadvertently caused the agent to stop operating properly in an AWS Lambda layer context. Issue#2919PR#2920

September 30, 2024
Ruby agent v9.14.0

중요

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.14.0

Version 9.14.0 adds Apache Kafka instrumentation for the rdkafka and ruby-kafka gems, introduces a configuration-based, automatic way to add custom instrumentation method tracers, correctly captures MIME type for ActionDispatch 7.0+ requests, properly handles Boolean coercion for newrelic.yml configuration, fixes a JRuby bug in the configuration manager, fixes a bug related to Bundler.rubygems.installed_specs, and fixes a bug to make the agent compatible with ViewComponent v3.15.0+.

  • Feature: Add Apache Kafka instrumentation for the rdkafka and ruby-kafka gems

    The agent now has instrumentation for both the rdkafka and ruby-kafka gems. The agent will record transactions and message broker segments for produce and consume calls made using these gems. PR#2824 PR#2842

  • Feature: Add a configuration option to permit custom method tracers to be defined automatically

    A new :automatic_custom_instrumentation_method_list configuration parameter has been added to permit the user to define a list of fully qualified (namespaced) Ruby methods for the agent to automatically add custom instrumentation for without requiring any code modifications to be made to the classes that define the methods.

    The list should be an array of CLASS#METHOD (for instance methods) and/or CLASS.METHOD (for class methods) strings.

    Use fully qualified class names (using the :: delimiter) that include any module or class namespacing.

    Here is some Ruby source code that defines a render_png instance method for an Image class and a notify class method for a User class, both within a MyCompany module namespace:

    module MyCompany
    class Image
    def render_png
    # code to render a PNG
    end
    end
    class User
    def self.notify
    # code to notify users
    end
    end
    end

    Given that source code, the newrelic.yml config file might request instrumentation for both of these methods like so:

    automatic_custom_instrumentation_method_list:
    - MyCompany::Image#render_png
    - MyCompany::User.notify

    That configuration example uses YAML array syntax to specify both methods. Alternatively, a comma-delimited string can be used instead:

    automatic_custom_instrumentation_method_list: 'MyCompany::Image#render_png, MyCompany::User.notify'

    Whitespace around the comma(s) in the list is optional. When configuring the agent with a list of methods via the NEW_RELIC_AUTOMATIC_CUSTOM_INSTRUMENTATION_METHOD_LIST environment variable, this comma-delimited string format should be used:

    export NEW_RELIC_AUTOMATIC_CUSTOM_INSTRUMENTATION_METHOD_LIST='MyCompany::Image#render_png, MyCompany::User.notify'

    PR#2851

  • Feature: Collect just MIME type for ActionDispatch 7.0+ requests

    Rails 7.0 introduced changes to the behavior of ActionDispatch::Request#content_type, adding extra request-related details the agent wasn't expecting to collect. Additionally, the agent's use of content_type was triggering deprecation warnings. The agent now uses ActionDispatch::Request#media_type to capture the MIME type. Thanks to @internethostage for letting us know about this change. Issue#2500 PR#2855

  • Bugfix: Corrected Boolean coercion for newrelic.yml configuration

    Previously, any String assigned to New Relic configurations expecting a Boolean value were evaluated as true. This could lead to unexpected behavior. For example, setting application_logging.enabled: 'false' in newrelic.yml would incorrectly evaluate to application_logging.enabled: true due to the truthy nature of Strings.

    Now, the agent strictly interprets Boolean configuration values. It recognizes both actual Boolean values and certain Strings/Symbols:

    • 'true', 'yes', or 'on' (evaluates to true)
    • 'false', 'no', or 'off' (evaluates to false)

    Any other inputs will revert to the setting's default configuration value. PR#2847

  • Bugfix: JRuby not saving configuration values correctly in configuration manager

    Previously, a change made to fix a different JRuby bug caused the agent to not save configuration values correctly in the configuration manager when running on JRuby. This has been fixed. PR#2848

  • Bugfix: Update condition to verify Bundler.rubygems.installed_specs is available

    To address a recent Bundler deprecation warning, we started using Bundler.rubygems.installed_specs instead of Bundler.rubygems.all_specs in environments that seemed appropriate. We discovered the version constraint we used was too low. Now, rather than check the version, we check for the method using respond_to?. PR#2853

  • Bugfix: Support view_component v3.15.0+

    Previously the agent had been making use of a private API to obtain a component identifier value. This private API was dropped in v3.15.0 of view_component, resulting in errors from the New Relic Ruby agent's continued attempts to use it. Many thanks to community member @navidemad for bringing this issue to our attention and supplying a bugfix with PR#2870.

Copyright © 2025 New Relic Inc.

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