---
title: ruby-agent-10-6-0
source: https://docs.newrelic.com/docs/release-notes/agent-release-notes/ruby-release-notes/ruby-agent-10-6-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](https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/).
>
> See the New Relic Ruby agent [EOL policy](https://docs.newrelic.com/docs/apm/agents/ruby-agent/getting-started/ruby-agent-eol-policy/) for information about agent releases and support dates.

## v10.6.0

-   **Feature: SpanLink events are now supported for the Hybrid agent**

    Spans created by an OpenTelemetry API can now have [Span Links](https://opentelemetry.io/docs/concepts/signals/traces/#span-links) associated with them. Links can be added on a span's start, by passing them to the `links` argument, or by calling the `OpenTelemetry::Trace::Span#add_link` API. [PR#3586](https://github.com/newrelic/newrelic-ruby-agent/pull/3586)

-   **Feature: SpanEvent events are now supported for the Hybrid agent**

    Spans created by an OpenTelemetry API can now have [SpanEvent events](https://opentelemetry.io/docs/concepts/signals/traces/#span-events) associated with them via the `OpenTelemetry::Trace::Span#add_event` API. SpanEvent events capture timestamped annotations on a span and are sent to New Relic alongside the parent span. [PR#3587](https://github.com/newrelic/newrelic-ruby-agent/pull/3587)

-   **Feature: Set span kind on all Hybrid agent spans**

    Previously, only OpenTelemetry spans translated into external request segments or datastore segments added span kind as an attribute. Now, the agent adds span kind to all OpenTelemetry spans where the value is available. [PR#3589](https://github.com/newrelic/newrelic-ruby-agent/pull/3589)

-   **Feature: Add support for OpenTelemetry::Tracer#start_root_span**

    The `OpenTelemetry::Tracer#start_root_span` API can now be used to force a transaction to start for a given span, provided it has a `:server` or `:consumer` span kind. For any other span kinds, it will no-op. This method is most commonly used in background job instrumentation. [PR#3588](https://github.com/newrelic/newrelic-ruby-agent/pull/3588)

-   **Bugfix: Fix `instrumentation.rails_event_logger: false` not disabling the instrumentation**

    Previously, setting `instrumentation.rails_event_logger` to `false` didn't disable the `Rails.event` instrumentation as expected; it would still be installed during Rails boot. This is now fixed. [PR#3564](https://github.com/newrelic/newrelic-ruby-agent/pull/3564)

-   **Bugfix: Normalize boolean-like values to `disabled` for instrumentation config keys**

    Previously, only `disabled` would turn off an `instrumentation.*` config key. Now, boolean-like values such as `false`, `no`, or `off` also resolve to `disabled` and prevent the instrumentation from being installed. [PR#3579](https://github.com/newrelic/newrelic-ruby-agent/pull/3579)

-   **Bugfix: Per-library logging supportability metrics now reflect each library's instrumentation state**

    Previously, the `Supportability/Logging/Ruby/{library}/{enabled|disabled}` metrics reported the value of the global `application_logging.enabled` setting for every library, rather than each library's actual state. As a result, the metric reported `enabled` even when you had disabled logging instrumentation for a specific library or weren't using that library's gem at all. Now, each library's metric reflects whether its own logging instrumentation is enabled. [PR#3571](https://github.com/newrelic/newrelic-ruby-agent/pull/3571)
