• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Ruby agent release notesRSS

September 14
Ruby agent v10.8.0

Importante

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

Importante

Recomendamos atualizar para a versão mais recente do agente assim que estiver disponível. Se você não puder atualizar para a versão mais recente, atualize seu agente para uma versão com no máximo 90 dias. Saiba mais sobre como manter o agente atualizado.

Consulte a política de fim de vida útil do agente Ruby New Relic para obter informações sobre lançamentos de agentes e datas de suporte.

v10.7.1

  • Correção de bug: resolve ArgumentError em operações de múltiplas chaves com Dalli 5.1.0

    Esta correção atualiza a instrumentação do Dalli para aceitar e encaminhar argumentos opcionais de opções de requests em operações múltiplas e em pipeline. Nossos agradecimentos a @dbackeus por contribuir com uma correção! PR#3642

  • Correção de bug: as requests de Async::HTTP não geram mais NoMethodError quando um segmento falha ao iniciar

    Se o agente encontrasse um erro interno ao criar o segmento para uma solicitação Async::HTTP, a instrumentação continuava a usar esse segmento ausente e poderia gerar um NoMethodError. Isso agora está corrigido, graças a @ydah. PR#3640

August 6
Ruby agent v10.7.0

Importante

Recomendamos atualizar para a versão mais recente do agente assim que estiver disponível. Se você não puder atualizar para a versão mais recente, atualize seu agente para uma versão com no máximo 90 dias. Saiba mais sobre como manter o agente atualizado.

Consulte a política de fim de vida útil do agente Ruby New Relic para obter informações sobre lançamentos de agentes e datas de suporte.

v10.7.0

  • Recurso: adicionar transaction_tracer.cap_segment_artifacts opção de configuração

    Transações de longa duração com muitos segmentos podem causar o aumento contínuo do uso de memória durante a vida útil da transação. O agente agora oferece uma opção de configuração transaction_tracer.cap_segment_artifacts opcional (o padrão é false). Quando ativado, assim que transaction_tracer.limit_segments for atingido, o agente também para de registrar o tempo exclusivo para quaisquer segmentos criados posteriormente nessa transação, reduzindo o uso de memória à custa de dados de tempo menos precisos para a transação. PR#3615

  • Recurso: Adicionar instrumentação de estatísticas do servidor Puma

    O agente agora faz a amostragem das estatísticas do servidor em todo o cluster do Puma e as relata como métricas de timeslice Ruby/Puma/*, incluindo backlog, running, pool_capacity, max_threads e requests_count. As estatísticas são amostradas no modo único e no modo em cluster quando preload_app! está habilitado. Esta instrumentação está desabilitada por padrão. Habilite-a definindo disable_puma_instrumentation como false. Quando habilitado, o agente inicia uma thread de relatório no processo mestre do Puma para entregar essas métricas, o que executa uma conexão adicional do agente junto com os workers do Puma. O intervalo de amostragem é configurável por meio da nova configuração puma.sample_rate (padrão de 60 segundos). Requer o Puma 6.6 ou posterior. Consulte nossos documentos para obter mais informações. PR#3578

  • Recurso: relatar um nome do host exclusivo para instâncias do Google Cloud Run

    O agente agora detecta o Cloud Run e relata o ID da instância do GCP como o nome do host para que instâncias individuais possam ser distinguidas. Antes dessa alteração, todos os nomes do host do Google Cloud Run eram localhost. Esse recurso é controlado pela nova opção de configuração utilization.gcp_cloud_run.use_instance_as_host (padrão true). utilization.gcp_cloud_run.include_revision_in_host (padrão false) deve ser definido como true para, em vez disso, relatar o nome do host como {K_REVISION}-{instance id}, em que K_REVISION é o nome da revisão do Cloud Run. Issue n.º 3295 PR n.º 3609

  • Correção de bug: o SQL lento não é mais registrado após transaction_tracer.limit_segments excedido

    Depois que uma transação excedia transaction_tracer.limit_segments, os segmentos de armazenamento de dados criados posteriormente ainda podiam ter seu SQL lento registrado. O agente agora para de registrar SQL lento para qualquer segmento criado após o limite ser atingido. PR#3615

  • Correção de bug: os planos de execução poderiam ter como destino o banco de dados errado em aplicativos Rails com vários bancos de dados (Rails >= 7.2)

    No Rails 7.2+, o agente coletou planos de explicação usando uma conexão do pool padrão/compartilhado do aplicativo, em vez de uma dedicada. Isso afetou principalmente aplicativos com vários bancos de dados. Os planos de explicação poderiam ser gerados no banco de dados errado, e uma explicação com falha poderia deixar uma conexão compartilhada em um estado ruim, afetando requests não relacionados. O agente agora usa sua própria conexão dedicada para planos de explicação, como fazia antes do Rails 7.2, e redefine ou descarta essa conexão sempre que uma tentativa de explicação falha, para que uma conexão ruim nunca seja reutilizada. Issue#3610 PR#3612

  • Correção de bug: a instrumentação do monitoramento de Browser não falha mais com FrozenError

    Quando o primeiro fragmento do corpo de uma resposta era um String congelado e havia vários fragmentos, a instrumentação do navegador atingia um FrozenError e o cabeçalho de tempo do navegador nunca era injetado. Isso começou a aparecer com o ERB 6.0.3+, que começou a congelar mais de suas strings compiladas. Esse problema já foi resolvido. Issue#3624 PR#3625

  • Correção de bug: normalizar valores de configuração booleanos para permitir qualquer formato de maiúsculas e minúsculas

    Na versão 9.x, o agente aceitava valores booleanos em maiúsculas, como "FALSE", e valores com letras maiúsculas e minúsculas, como "True". A versão 10.0.0 incluiu o PR#3341, que removeu acidentalmente o requisito de não diferenciar maiúsculas de minúsculas. Isso fez com que os usuários que tivessem qualquer uso de maiúsculas e minúsculas além de todas minúsculas tivessem suas opções de configuração revertidas para os padrões. Agora, o agente usa verificações que não diferenciam maiúsculas de minúsculas novamente. Issue#3632 PR#3633

June 25
Ruby agent v10.6.0

Importante

Recomendamos atualizar para a versão mais recente do agente assim que estiver disponível. Se você não puder atualizar para a versão mais recente, atualize seu agente para uma versão com no máximo 90 dias. Saiba mais sobre como manter o agente atualizado.

Consulte a política de fim de vida útil do agente Ruby New Relic para obter informações sobre lançamentos de agentes e datas de suporte.

v10.6.0

  • Recurso: eventos SpanLink agora são suportados para o agente Hybrid

    Spans criados por uma API do OpenTelemetry agora podem ter Span Links associados a eles. Links podem ser adicionados no início de um span, passando-os para o argumento links, ou chamando a API OpenTelemetry::Trace::Span#add_link. PR#3586

  • Recurso: eventos SpanEvent agora são suportados para o agente Hybrid

    Os spans criados por uma API do OpenTelemetry agora podem ter eventos SpanEvent associados a eles por meio da API OpenTelemetry::Trace::Span#add_event. Os eventos SpanEvent capturam anotações com timestamp em um span e são enviados para o New Relic junto com o span pai. PR#3587

  • Recurso: definir o tipo de span em todos os spans do agente Hybrid

    Anteriormente, apenas os spans do OpenTelemetry traduzidos em segmentos de solicitação externa ou segmentos de armazenamento de dados adicionavam o tipo de span como um atributo. Agora, o agente adiciona o tipo de span a todos os spans do OpenTelemetry onde o valor está disponível. PR#3589

  • Recurso: adicionar suporte para OpenTelemetry::Tracer#start_root_span

    A API OpenTelemetry::Tracer#start_root_span agora pode ser usada para forçar o início de uma transação para um determinado span, desde que ele tenha um tipo de span :server ou :consumer. Para quaisquer outros tipos de span, ela não executará nenhuma ação. Esse método é mais comumente usado na instrumentação de jobs em segundo plano. PR#3588

  • Correção de bug: corrigir instrumentation.rails_event_logger: false não desativando a instrumentação

    Anteriormente, definir instrumentation.rails_event_logger como false não desativava a instrumentação de Rails.event como esperado; ela ainda era instalada durante a inicialização do Rails. O problema já foi resolvido. PR#3564

  • Correção de bug: normalizar valores semelhantes a booleanos para disabled em chaves de configuração de instrumentação

    Anteriormente, apenas disabled desativaria uma chave de configuração instrumentation.*. Agora, valores do tipo booleano, como false, no ou off, também são resolvidos como disabled e impedem que a instrumentação seja instalada. PR#3579

  • Correção de bug: métricas de suportabilidade de logging por biblioteca agora refletem o estado de instrumentação de cada biblioteca

    Anteriormente, as métricas Supportability/Logging/Ruby/{library}/{enabled|disabled} relatavam o valor da configuração global application_logging.enabled para cada biblioteca, em vez do estado real de cada biblioteca. Como resultado, a métrica relatava enabled mesmo quando você havia desativado a instrumentação de log para uma biblioteca específica ou não estava usando a gem dessa biblioteca. Agora, a métrica de cada biblioteca reflete se sua própria instrumentação de log está ativada. PR#3571

May 14
Ruby agent v10.5.0

Importante

Recomendamos atualizar para a versão mais recente do agente assim que estiver disponível. Se você não puder atualizar para a versão mais recente, atualize seu agente para uma versão com no máximo 90 dias. Saiba mais sobre como manter o agente atualizado.

Consulte a política de fim de vida útil do agente Ruby New Relic para obter informações sobre lançamentos de agentes e datas de suporte.

v10.5.0

  • Recurso: adicionar suporte ao Dalli 5.0 e corrigir a instrumentação do metaprotocolo

    O agente agora oferece suporte ao Dalli 5.0+, que removeu Dalli::Protocol::Binary exclusivamente em favor do metaprotocolo. Para Dalli 3.2.0+, A instrumentação pipelined_get agora tem Dalli::Protocol::Base como destino corretamente (onde o método é definido) em vez de Dalli::Protocol::Binary, corrigindo uma lacuna em que as chamadas get_multi não eram instrumentadas ao usar o metaprotocolo. Para o Dalli 5.0+, o agente adicionalmente instrumenta Dalli::Protocol::Meta#read_multi_req, que é invocado pela otimização get_multi de servidor único do Dalli. PR#3541

  • Recurso: adicionar opção de configuração active_record_use_table_name

    Uma nova opção de configuração, active_record_use_table_name, usa o nome da tabela de um modelo Active Record em vez do nome de sua classe ao nomear métricas, spans e segmentos de trace da transação. Isso pode ser particularmente útil para reduzir a cardinalidade em aplicativos usando herança de tabela única. A opção tem como padrão false para preservar o comportamento existente. PR#3540

  • Recurso: ocultar parcialmente chaves de licença nos logs do agente

    Anteriormente, o agente ocultava completamente as chaves de licença da New Relic nos logs do agente. Agora, os primeiros 10 caracteres são visíveis enquanto o restante é substituído por *. Isso preserva o suficiente para solucionar problemas relacionados à região sem expor a parte secreta da chave. PR#3547

  • Correção de bug: corrigir a incompatibilidade da instrumentação do Semantic Logger com rails_semantic_logger

    Anteriormente, um ArgumentError era gerado quando uma exceção atingia ActionDispatch::DebugExceptions ao usar rails_semantic_logger. Isso foi corrigido. Obrigado a @jdelStrother por relatar isso! PR#3548

April 16
Ruby agent v10.4.0

Importante

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

Copyright © 2026 New Relic Inc.

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