• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Ruby agent release notesRSS

September 14
Ruby agent v10.8.0

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.

v10.8.0

  • Feature: Report a unique hostname for Google Cloud Run Worker Pools and Jobs

    Cloud Run hostname support, added in PR#3609, detected Cloud Run only through K_REVISION, the environment variable set by Cloud Run Services. The agent now also recognizes CLOUD_RUN_REVISION (Worker Pools) and CLOUD_RUN_EXECUTION (Jobs), so utilization.gcp_cloud_run.use_instance_as_host now applies to all three resource types. When utilization.gcp_cloud_run.include_revision_in_host is true, the hostname is built from whichever of these variables is present — for example, {CLOUD_RUN_EXECUTION}-{instance id} for a Job. Issue#3651 PR#3652

  • Feature: Add browser_monitoring.version configuration option

    Customers can now pin the exact browser agent loader version New Relic injects by setting the new browser_monitoring.version configuration option. See the browser agent EOL policy for which versions are currently available and supported. PR#3663

  • Feature: Add span.kind to background job libraries

    Now, the span.kind attribute will be added to produce and consume operations from background job libraries. This includes ActiveJob, Sidekiq, Resque and DelayedJob. PR#3636

  • Bugfix: DelayedJob instrumentation no longer reinstalls itself on every worker under prepend mode

    When DelayedJob instrumentation is installed via prepend (the default), creating more than one Delayed::Worker in the same process caused the agent to log "Installing DelayedJob instrumentation" and reinitialize the plugin again for each additional worker. This was harmless but noisy; it's now only done once per process, matching the existing chain-instrumentation behavior. PR#3654

  • Bugfix: Allowlisted configuration values are no longer case sensitive

    Previously, allowlisted configuration options required an exact case match, so a value with unexpected casing — like OBFUSCATED or ObFuScAtEd for slow_sql.record_sql — would silently fall back to the default. Configuration options that validate against an allowlist now match values regardless of case, so both are treated the same as obfuscated. Issue#3613 PR#3645

  • Bugfix: Puma instrumentation works when Puma is lazy-loaded

    With gem "puma", require: false, Puma was not yet loaded when the agent's dependency check ran, so Puma instrumentation would fail to install. The agent now recognizes Puma::RackHandler as evidence that Puma is present, fixing this issue. Issue#3641 PR#3650

August 20
Ruby agent v10.7.1

Important

Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.

Consultez la politique EOL de l'agent New Relic Ruby pour obtenir des informations sur la sortie de l'agent et les dates de support.

v10.7.1

  • Correction de bug : résolution de ArgumentError sur les opérations à clés multiples avec Dalli 5.1.0

    Ce correctif met à jour l’instrumentation de Dalli pour accepter et transférer les arguments d’options de requête facultatifs dans les opérations multi et pipeline. Nos remerciements vont à @dbackeus pour avoir apporté un correctif ! PR#3642

  • Correction de bug : les requests Async::HTTP ne lèvent plus NoMethodError lorsqu'un segment ne parvient pas à démarrer

    Si l'agent rencontrait une erreur interne lors de la création du segment pour une requête Async::HTTP, l'instrumentation continuait à utiliser ce segment manquant et pouvait lever une NoMethodError. C'est désormais corrigé, merci à @ydah. PR#3640

August 6
Ruby agent v10.7.0

Important

Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.

Consultez la politique EOL de l'agent New Relic Ruby pour obtenir des informations sur la sortie de l'agent et les dates de support.

v10.7.0

  • Fonctionnalité : ajouter transaction_tracer.cap_segment_artifacts option de configuration

    Les transactions de longue durée avec de nombreux segments peuvent entraîner une augmentation continue de l’utilisation de la mémoire pendant toute la durée de vie de la transaction. L’agent propose désormais une option de configuration transaction_tracer.cap_segment_artifacts facultative (la valeur par défaut est false). Lorsqu’elle est activée, une fois que transaction_tracer.limit_segments est atteint, l’agent arrête également d’enregistrer le temps exclusif pour tous les segments créés par la suite dans cette transaction, ce qui réduit l’utilisation de la mémoire au prix de données temporelles moins précises pour la transaction. PR#3615

  • Fonctionnalité : ajout de l'instrumentation des statistiques du serveur Puma

    L’agent échantillonne désormais les statistiques du serveur à l’échelle du cluster de Puma et les signale sous forme de métriques de tranche de temps Ruby/Puma/*, notamment backlog, running, pool_capacity, max_threads et requests_count. Les statistiques sont échantillonnées en mode unique et en mode cluster lorsque preload_app! est activé. Cette instrumentation est désactivée par défaut. Activez-la en définissant disable_puma_instrumentation sur false. Lorsqu’elle est activée, l’agent démarre un thread de rapport dans le processus maître Puma pour fournir ces métriques, ce qui exécute une connexion d’agent supplémentaire aux côtés des workers Puma. L’intervalle d’échantillonnage est configurable via le nouveau paramètre puma.sample_rate (60 secondes par défaut). Nécessite Puma 6.6 ou une version ultérieure. Consultez notre documentation pour plus d’informations. PR#3578

  • Fonctionnalité : signaler un nom d’hôte unique pour les instances Google Cloud Run

    L’agent détecte désormais Cloud Run et signale l’ID d’instance GCP en tant que nom d’hôte afin de pouvoir distinguer chaque instance. Avant cette modification, tous les noms d’hôte Google Cloud Run étaient localhost. Cette fonctionnalité est contrôlée par la nouvelle option de configuration utilization.gcp_cloud_run.use_instance_as_host (par défaut true). Définissez utilization.gcp_cloud_run.include_revision_in_host (par défaut false) sur true pour signaler le nom d’hôte en tant que {K_REVISION}-{instance id} à la place, où K_REVISION est le nom de révision Cloud Run. Problème n° 3295 PR n° 3609

  • Correction de bug : le SQL lent n'est plus enregistré après transaction_tracer.limit_segments dépassé

    Une fois qu'une transaction a dépassé transaction_tracer.limit_segments, les segments de datastore créés par la suite pouvaient toujours voir leur SQL lent enregistré. L'agent arrête désormais d'enregistrer le SQL lent pour tout segment créé après que la limite est atteinte. PR#3615

  • Correction de bug : les plans d’exécution pouvaient cibler la mauvaise base de données dans les applications Rails multi-bases de données (Rails >= 7.2)

    Sur Rails 7.2+, l’agent recueillait les plans d’exécution à l’aide d’une connexion provenant du pool par défaut/partagé de l’application plutôt que d’une connexion dédiée. Cela a principalement affecté les applications multi-bases de données. Les plans d’exécution pouvaient être générés sur la mauvaise base de données, et un échec d’exécution pouvait laisser une connexion partagée dans un mauvais état, affectant des requests non liées. L’agent utilise désormais sa propre connexion dédiée pour les plans d’exécution, comme il le faisait avant Rails 7.2, et réinitialise ou supprime cette connexion chaque fois qu’une tentative d’exécution échoue, de sorte qu’une mauvaise connexion n’est jamais réutilisée. Problème n° 3610 PR n° 3612

  • Correction de bug : l'instrumentation du monitoring de navigateurs n'échoue plus avec FrozenError

    Lorsqu’un premier fragment du corps de la réponse était un String gelé et qu’il y avait plusieurs fragments, l’instrumentation du navigateur rencontrait un FrozenError et l’en-tête de synchronisation du navigateur n’était jamais injecté. Cela a commencé à apparaître avec ERB 6.0.3+, qui a commencé à geler davantage de ses chaînes compilées. Ce problème est maintenant résolu. Issue#3624 PR#3625

  • Correction de bug : normaliser les valeurs de configuration booléennes pour autoriser toutes les casses

    Dans la version 9.x, l'agent acceptait les valeurs booléennes en majuscules, comme « FALSE », et les valeurs à casse mixte comme « True ». La version 10.0.0 incluait la PR#3341, qui a supprimé involontairement l'exigence d'insensibilité à la casse. Cela a conduit les utilisateurs qui avaient une casse autre que des minuscules à voir leurs options de configuration revenir aux valeurs par défaut. Désormais, l’agent utilise à nouveau des vérifications insensibles à la casse. Issue#3632 PR#3633

June 25
Ruby agent v10.6.0

Important

Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.

Consultez la politique EOL de l'agent New Relic Ruby pour obtenir des informations sur la sortie de l'agent et les dates de support.

v10.6.0

  • Fonctionnalité : les événements SpanLink sont désormais pris en charge pour l'agent hybride

    Les spans créés par une API OpenTelemetry peuvent désormais avoir des liens de span qui leur sont associés. Des liens peuvent être ajoutés au début d'un span, en les passant à l'argument links, ou en appelant l'API OpenTelemetry::Trace::Span#add_link. PR#3586

  • Fonctionnalité : les événements SpanEvent sont désormais pris en charge pour l'agent hybride

    Les spans créés par une API OpenTelemetry peuvent désormais avoir des événements SpanEvent qui leur sont associés via l’API OpenTelemetry::Trace::Span#add_event. Les événements SpanEvent capturent des annotations avec horodatage sur un span et sont envoyés à New Relic avec le span parent. PR#3587

  • Fonctionnalité : définir le type de span sur tous les spans de l'agent hybride

    Auparavant, seuls les spans OpenTelemetry traduits en segments de requêtes externes ou en segments de datastore ajoutaient le type de span en tant qu’attribut. Désormais, l’agent ajoute le type de span à tous les spans OpenTelemetry où la valeur est disponible. PR#3589

  • Fonctionnalité : ajouter la prise en charge d’OpenTelemetry::Tracer#start_root_span

    L'API OpenTelemetry::Tracer#start_root_span peut désormais être utilisée pour forcer le démarrage d'une transaction pour un span donné, à condition qu'il ait un type de span :server ou :consumer. Pour tous les autres types de spans, elle n'effectuera aucune opération. Cette méthode est le plus souvent utilisée dans l'instrumentation des tâches en arrière-plan. PR#3588

  • Correction de bug : correction de instrumentation.rails_event_logger: false qui ne désactive pas l'instrumentation

    Auparavant, définir instrumentation.rails_event_logger sur false ne désactivait pas l'instrumentation Rails.event comme prévu ; elle était toujours installée lors du démarrage de Rails. Ce problème est maintenant résolu. PR#3564

  • Correction de bug : normaliser les valeurs de type booléen à disabled pour les clés de configuration d'instrumentation

    Auparavant, seul disabled désactivait une clé de configuration instrumentation.*. Désormais, les valeurs de type booléen telles que false, no ou off se résolvent également en disabled et empêchent l'installation de l'instrumentation. PR#3579

  • Correction de bug : les métriques de supportabilité de logging par bibliothèque reflètent désormais l’état d’instrumentation de chaque bibliothèque

    Auparavant, les métriques Supportability/Logging/Ruby/{library}/{enabled|disabled} signalaient la valeur du paramètre global application_logging.enabled pour chaque bibliothèque, plutôt que l'état réel de chaque bibliothèque. Par conséquent, la métrique signalait enabled même lorsque vous aviez désactivé l'instrumentation de logging pour une bibliothèque spécifique ou que vous n'utilisiez pas du tout le gem de cette bibliothèque. Désormais, la métrique de chaque bibliothèque reflète si sa propre instrumentation de logging est activée. PR#3571

May 14
Ruby agent v10.5.0

Important

Nous vous recommandons de mettre à jour vers la dernière version de l'agent dès qu'elle est disponible. Si vous ne pouvez pas effectuer la mise à niveau vers la dernière version, mettez à jour vos agents vers une version datant de moins de 90 jours. En savoir plus sur la façon de tenir les agents informés.

Consultez la politique EOL de l'agent New Relic Ruby pour obtenir des informations sur la sortie de l'agent et les dates de support.

v10.5.0

  • Fonctionnalité : ajouter la prise en charge de Dalli 5.0 et corriger l'instrumentation du méta-protocole

    L’agent prend désormais en charge Dalli 5.0+, qui a supprimé Dalli::Protocol::Binary au profit exclusif du méta-protocole. Pour Dalli 3.2.0+, L'instrumentation pipelined_get cible désormais correctement Dalli::Protocol::Base (où la méthode est définie) plutôt que Dalli::Protocol::Binary, corrigeant une lacune où les appels get_multi n'étaient pas instrumentés lors de l'utilisation du méta-protocole. Pour Dalli 5.0+, l’agent instrumente également Dalli::Protocol::Meta#read_multi_req, qui est invoqué par l’optimisation get_multi à serveur unique de Dalli. PR#3541

  • Fonctionnalité : ajouter une option de configuration active_record_use_table_name

    Une nouvelle option de configuration, active_record_use_table_name, utilise le nom de table d'un modèle Active Record au lieu de son nom de classe pour nommer les métriques, les spans et les segments de trace de transaction. Cela peut être particulièrement utile pour réduire la cardinalité dans les applications utilisant l’héritage à table unique. L'option est définie par défaut sur false pour préserver le comportement existant. PR#3540

  • Fonctionnalité : masquer partiellement les clés de licence dans les logs de l'agent

    Auparavant, l'agent masquait complètement les clés de licence New Relic dans les logs de l'agent. Maintenant, les 10 premiers caractères sont visibles tandis que le reste est remplacé par *. Cela préserve suffisamment d’informations pour résoudre les problèmes liés à la région sans exposer la partie secrète de la clé. PR#3547

  • Correctif : résolution de l'incompatibilité de l'instrumentation de l'enregistreur sémantique avec rails_semantic_logger

    Auparavant, un ArgumentError était levé lorsqu'une exception atteignait ActionDispatch::DebugExceptions lors de l'utilisation de rails_semantic_logger. Ce problème est résolu. Merci à @jdelStrother de l’avoir signalé ! PR#3548

April 16
Ruby agent v10.4.0

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.

v10.4.0

  • Feature: Add Rails.event instrumentation for structured logging

    The agent now supports Rails.event as structured log events. When enabled, events published via Rails.event.notify are captured and forwarded to New Relic as log events. Event payloads, tags, context, timestamps, and source locations are automatically captured as log attributes.

    This instrumentation can be configured with the following options:

    • instrumentation.rails_event_logger - Controls whether Rails.event instrumentation is enabled. Defaults to use the value of application_logging.enabled.
    • instrumentation.rails_event_logger.event_names - An array of specific event names to capture. When empty (default), all Rails.event notifications are captured. Use this to filter events by name, for example: ['user.signup', 'payment.processed'].

    PR#3526

  • Feature: Add instrumentation for Rails Active Job Continuations

    The agent now instruments Rails Active Job Continuations, providing visibility into individual step execution within long-running jobs. Step names are included in segment metrics (e.g., Ruby/ActiveJob/default/MyJob/step/process_records) and step-specific attributes like cursor position, resumed status, and interrupted status are captured. A new configuration option, disable_active_job_step_names, allows users to exclude step names from metric names to reduce metric cardinality if needed (defaults to false). PR#3493

  • Feature: Add sidekiq.separate_transactions configuration option

    A new configuration option, sidekiq.separate_transactions, allows Sidekiq jobs executed during a web transaction to run in their own separate transaction. When enabled, this prevents Sidekiq job execution time from being included in web transaction metrics, providing more accurate performance data. The feature is opt-in (default: false) to maintain backward compatibility. This only affects jobs executed during active web transactions; jobs starting independently or nested within other background jobs are unaffected. Issue#3364 PR#3514

  • Bugfix: Update regexes that may have been vulnerable to ReDOS attacks

    Previously, the agent had a few regexes identified as possible targets for polynomial time complexity (ReDOS) attacks. Those regexes are now updated to address the concerns. PR#3520

  • Bugfix: Prevent crashes during HTTPX segment creation

    Previously, if start_external_request_segment encountered an error and returned nil, the agent would trigger a NoMethodError when attempting to add headers to the missing segment. We've added a guard check to ensure the instrumentation handles these cases gracefully.

    Bravo to @thebravoman for the report! Issue#3509 PR#3510

  • Bugfix: Make Transaction#finish idempotent

    Previously, if the Transaction#finish method was called multiple times, more than one transaction could be created for the same operation. Now, a mutex protects calls to Transaction#finish to make sure finish operations only run once. PR#3513

  • Bugfix: Log deprecation warning for Datastores.wrap API once

    Previously, this warning was being logged on every call to Datastores.wrap. Now, it will be logged only on the first call. In addition, the documentation has been updated to note the deprecated status of the second and third callback arguments. Issue#3516 PR#3519

Droits d'auteur © 2026 New Relic Inc.

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