---
title: Ruby Compatibility Requirements
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: >-
  Docs > APM > Application Instrumentation > Compatibility Requirements > Ruby
  Compatibility Requirements
---

# Ruby Compatibility Requirements

{% alert level="info" %}
This documentation is for `datadog` gem v2.x. If you are looking for `ddtrace` gem v1.x documentation, see the legacy [Ruby Compatibility Requirements ](https://docs.datadoghq.com/tracing/trace_collection/compatibility/ruby_v1.md)documentation.
{% /alert %}

## Compatibility{% #compatibility %}

The Ruby Datadog Trace library is open source. See the [dd-trace-rb](https://github.com/DataDog/dd-trace-rb) GitHub repository for more information.

### Supported Ruby interpreters{% #supported-ruby-interpreters %}

| Type      | Documentation                                            | Version  | Support type | Gem version support |
| --------- | -------------------------------------------------------- | -------- | ------------ | ------------------- |
| MRI       | [https://www.ruby-lang.org/](https://www.ruby-lang.org/) | 4.0      | latest       | Latest              |
| 3.4       | latest                                                   | Latest   |
| 3.3       | latest                                                   | Latest   |
| 3.2       | latest                                                   | Latest   |
| 3.1       | latest                                                   | Latest   |
| 3.0       | latest                                                   | Latest   |
| 2.7       | latest                                                   | Latest   |
| 2.6       | latest                                                   | Latest   |
| 2.5       | latest                                                   | Latest   |
| 2.4       | EOL                                                      | < 2.0.0  |
| 2.3       | EOL                                                      | < 2.0.0  |
| 2.2       | EOL                                                      | < 2.0.0  |
| 2.1       | EOL                                                      | < 2.0.0  |
| 2.0       | EOL                                                      | < 0.50.0 |
| 1.9       | EOL                                                      | < 0.27.0 |
| JRuby     | [https://www.jruby.org](https://www.jruby.org)           | 9.4      | latest       | Latest              |
| 9.3       | latest                                                   | Latest   |
| 9.2.21.0+ | latest                                                   | Latest   |

### Supported web servers{% #supported-web-servers %}

| Type      | Documentation                                                          | Version      | Support type |
| --------- | ---------------------------------------------------------------------- | ------------ | ------------ |
| Puma      | [http://puma.io/](http://puma.io/)                                     | 2.16+ / 3.6+ | latest       |
| Unicorn   | [https://bogomips.org/unicorn/](https://bogomips.org/unicorn/)         | 4.8+ / 5.1+  | latest       |
| Passenger | [https://www.phusionpassenger.com/](https://www.phusionpassenger.com/) | 5.0+         | latest       |

### Supported tracing frameworks{% #supported-tracing-frameworks %}

| Type          | Documentation                                                                                                | Version   | Support type | Gem version support |
| ------------- | ------------------------------------------------------------------------------------------------------------ | --------- | ------------ | ------------------- |
| OpenTelemetry | [https://github.com/open-telemetry/opentelemetry-ruby](https://github.com/open-telemetry/opentelemetry-ruby) | \>= 1.1.0 | latest       | 1.9.0+              |
| OpenTracing   | [https://github.com/opentracing/opentracing-ruby](https://github.com/opentracing/opentracing-ruby)           | 0.4.1+    | EOL          | < 2.0.0             |

### Supported operating systems{% #supported-operating-systems %}

| OS            | Support type          | Package version |
| ------------- | --------------------- | --------------- |
| Linux x86_64  | latest                | Latest          |
| Linux aarch64 | latest                | Latest          |
| macOS         | Dev environments only | Latest          |
| MS Windows    | Unimplemented         | Latest          |

Need linux support for a CPU architecture not listed? [Contact our customer support team for special requests.](https://www.datadoghq.com/support)

### Supported Datadog agent versions{% #supported-datadog-agent-versions %}

| Datadog Agent version                                                      | Support type | Package version |
| -------------------------------------------------------------------------- | ------------ | --------------- |
| [7.x](https://docs.datadoghq.com/agent/basic_agent_usage.md?tab=agentv6v7) | latest       | Latest          |
| [6.x](https://docs.datadoghq.com/agent/basic_agent_usage.md?tab=agentv6v7) | Latest       | Latest          |
| [5.x](https://docs.datadoghq.com/agent/basic_agent_usage.md?tab=agentv5)   | Latest       | Latest          |

## Integrations{% #integrations %}

For a list of available integrations, and their configuration options, refer to the following:

| Name                       | Key                        | Versions Supported: MRI                     | Versions Supported: JRuby                   | How to configure                                                                                                   | Gem source                                                                   |
| -------------------------- | -------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- |
| Action Cable               | `action_cable`             | `>= 5.0`                                    | `>= 5.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#action-cable)                      | [Link](https://github.com/rails/rails/tree/master/actioncable)               |
| Action Mailer              | `action_mailer`            | `>= 5.0`                                    | `>= 5.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#action-mailer)                     | [Link](https://github.com/rails/rails/tree/master/actionmailer)              |
| Action Pack                | `action_pack`              | `>= 4.0`                                    | `>= 4.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#action-pack)                       | [Link](https://github.com/rails/rails/tree/master/actionpack)                |
| Action View                | `action_view`              | `>= 4.0`                                    | `>= 4.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#action-view)                       | [Link](https://github.com/rails/rails/tree/master/actionview)                |
| Active Job                 | `active_job`               | `>= 4.2`                                    | `>= 4.2`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#active-job)                        | [Link](https://github.com/rails/rails/tree/master/activejob)                 |
| Active Model Serializers   | `active_model_serializers` | `>= 0.9`                                    | `>= 0.9`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#active-model-serializers)          | [Link](https://github.com/rails-api/active_model_serializers)                |
| Active Record              | `active_record`            | `>= 4.0`                                    | `>= 4.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#active-record)                     | [Link](https://github.com/rails/rails/tree/master/activerecord)              |
| Active Support             | `active_support`           | `>= 4.0`                                    | `>= 4.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#active-support)                    | [Link](https://github.com/rails/rails/tree/master/activesupport)             |
| AWS                        | `aws`                      | `>= 2.0`                                    | `>= 2.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#aws)                               | [Link](https://github.com/aws/aws-sdk-ruby)                                  |
| Concurrent Ruby            | `concurrent_ruby`          | `>= 0.9`                                    | `>= 0.9`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#concurrent-ruby)                   | [Link](https://github.com/ruby-concurrency/concurrent-ruby)                  |
| Dalli                      | `dalli`                    | `>= 2.0`                                    | `>= 2.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#dalli)                             | [Link](https://github.com/petergoldstein/dalli)                              |
| DelayedJob                 | `delayed_job`              | `>= 4.1`                                    | `>= 4.1`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#delayedjob)                        | [Link](https://github.com/collectiveidea/delayed_job)                        |
| Elasticsearch              | `elasticsearch`            | `>= 1.0`                                    | `>= 1.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#elasticsearch)                     | [Link](https://github.com/elastic/elasticsearch-ruby)                        |
| Ethon                      | `ethon`                    | `>= 0.11`                                   | `>= 0.11`                                   | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#ethon)                             | [Link](https://github.com/typhoeus/ethon)                                    |
| Excon                      | `excon`                    | `>= 0.50`                                   | `>= 0.50`                                   | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#excon)                             | [Link](https://github.com/excon/excon)                                       |
| Faraday                    | `faraday`                  | `>= 0.14`                                   | `>= 0.14`                                   | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#faraday)                           | [Link](https://github.com/lostisland/faraday)                                |
| Grape                      | `grape`                    | `>= 1.0`                                    | `>= 1.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#grape)                             | [Link](https://github.com/ruby-grape/grape)                                  |
| GraphQL                    | `graphql`                  | `>= 2.2.6`, `2.1.11+`,`2.0.28+`, `1.13.21+` | `>= 2.2.6`, `2.1.11+`,`2.0.28+`, `1.13.21+` | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#graphql)                           | [Link](https://github.com/rmosolgo/graphql-ruby)                             |
| gRPC                       | `grpc`                     | `>= 1.7`                                    | *gem not available*                         | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#grpc)                              | [Link](https://github.com/grpc/grpc/tree/master/src/rubyc)                   |
| hanami                     | `hanami`                   | `>= 1`, `< 2`                               | `>= 1`, `< 2`                               | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#hanami)                            | [Link](https://github.com/hanami/hanami)                                     |
| http.rb                    | `httprb`                   | `>= 2.0`                                    | `>= 2.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#httprb)                            | [Link](https://github.com/httprb/http)                                       |
| httpclient                 | `httpclient`               | `>= 2.2`                                    | `>= 2.2`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#httpclient)                        | [Link](https://github.com/nahi/httpclient)                                   |
| httpx                      | `httpx`                    | `>= 0.11`                                   | `>= 0.11`                                   | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#httpx)                             | [Link](https://gitlab.com/honeyryderchuck/httpx)                             |
| Kafka                      | `ruby-kafka`               | `>= 0.7.10`                                 | `>= 0.7.10`                                 | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#kafka)                             | [Link](https://github.com/zendesk/ruby-kafka)                                |
| Karafka                    | `karafka`                  | `>= 2.3.0`                                  | `>= 2.3.0`                                  | [Link](https://docs.datadoghq.com/tracing/trace_collection/automatic_instrumentation/dd_libraries/ruby.md#karafka) | [Link](https://karafka.io/)                                                  |
| Kicks                      | `kicks`                    | `>= 3.0.0`                                  | `>= 3.0.0`                                  | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#kicks)                             | [Link](https://github.com/ruby-amqp/kicks)                                   |
| Makara (via Active Record) | `makara`                   | `>= 0.3.5`                                  | `>= 0.3.5`                                  | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#active-record)                     | [Link](https://github.com/instacart/makara)                                  |
| MongoDB                    | `mongo`                    | `>= 2.1`                                    | `>= 2.1`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#mongodb)                           | [Link](https://github.com/mongodb/mongo-ruby-driver)                         |
| MySQL2                     | `mysql2`                   | `>= 0.3.21`                                 | *gem not available*                         | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#mysql2)                            | [Link](https://github.com/brianmario/mysql2)                                 |
| Net/HTTP                   | `http`                     | *(Any supported Ruby)*                      | *(Any supported Ruby)*                      | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#nethttp)                           | [Link](https://ruby-doc.org/stdlib-2.4.0/libdoc/net/http/rdoc/Net/HTTP.html) |
| OpenSearch                 | `opensearch-ruby`          | `>= 1.0.0`                                  | `>= 1.0.0`                                  | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#opensearch)                        | [Link](https://github.com/opensearch-project/opensearch-ruby)                |
| Postgres                   | `pg`                       | `>= 0.18.4`                                 | *gem not available*                         | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#postgres)                          | [Link](https://github.com/ged/ruby-pg)                                       |
| Presto                     | `presto`                   | `>= 0.5.14`                                 | `>= 0.5.14`                                 | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#presto)                            | [Link](https://github.com/treasure-data/presto-client-ruby)                  |
| Que                        | `que`                      | `>= 1.0.0.beta2`                            | `>= 1.0.0.beta2`                            | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#que)                               | [Link](https://github.com/que-rb/que)                                        |
| Racecar                    | `racecar`                  | `>= 0.3.5`                                  | `>= 1.3.5`                                  | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#racecar)                           | [Link](https://github.com/zendesk/racecar)                                   |
| Rack                       | `rack`                     | `>= 1.1`                                    | `>= 1.1`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#rack)                              | [Link](https://github.com/rack/rack)                                         |
| Rails                      | `rails`                    | `>= 4.0`                                    | `>= 4.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#rails)                             | [Link](https://github.com/rails/rails)                                       |
| Rake                       | `rake`                     | `>= 12.0`                                   | `>= 12.0`                                   | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#rake)                              | [Link](https://github.com/ruby/rake)                                         |
| Redis                      | `redis`                    | `>= 3.2`                                    | `>= 3.2`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#redis)                             | [Link](https://github.com/redis/redis-rb)                                    |
| Resque                     | `resque`                   | `>= 1.0`                                    | `>= 1.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#resque)                            | [Link](https://github.com/resque/resque)                                     |
| Rest Client                | `rest-client`              | `>= 1.8`                                    | `>= 1.8`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#rest-client)                       | [Link](https://github.com/rest-client/rest-client)                           |
| Roda                       | `roda`                     | `>= 2.1, <4`                                | `>= 2.1, <4`                                | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#roda)                              | [Link](https://github.com/jeremyevans/roda)                                  |
| Sequel                     | `sequel`                   | `>= 3.41`                                   | `>= 3.41`                                   | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#sequel)                            | [Link](https://github.com/jeremyevans/sequel)                                |
| Shoryuken                  | `shoryuken`                | `>= 3.2`                                    | `>= 3.2`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#shoryuken)                         | [Link](https://github.com/phstc/shoryuken)                                   |
| Sidekiq                    | `sidekiq`                  | `>= 3.5.4`                                  | `>= 3.5.4`                                  | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#sidekiq)                           | [Link](https://github.com/mperham/sidekiq)                                   |
| Sinatra                    | `sinatra`                  | `>= 1.4`                                    | `>= 1.4`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#sinatra)                           | [Link](https://github.com/sinatra/sinatra)                                   |
| Sneakers                   | `sneakers`                 | `>= 2.12.0`                                 | `>= 2.12.0`                                 | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#sneakers)                          | [Link](https://github.com/jondot/sneakers)                                   |
| Stripe                     | `stripe`                   | `>= 5.15.0`                                 | `>= 5.15.0`                                 | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#stripe)                            | [Link](https://github.com/stripe/stripe-ruby)                                |
| Sucker Punch               | `sucker_punch`             | `>= 2.0`                                    | `>= 2.0`                                    | [Link](https://docs.datadoghq.com/tracing/trace_collection/dd_libraries/ruby.md#sucker-punch)                      | [Link](https://github.com/brandonhilkert/sucker_punch)                       |
| WaterDrop                  | `waterdrop`                | `>= 2.8.8.rc1`                              | `>= 2.8.8.rc1`                              | [Link](https://docs.datadoghq.com/tracing/trace_collection/automatic_instrumentation/dd_libraries/ruby.md#karafka) | [Link](https://github.com/karafka/waterdrop)                                 |

### Support Policy{% #support-policy %}

Datadog for Ruby is built upon dependencies defined in specific versions of the host operating system, Ruby runtime, certain Ruby libraries, and the Datadog Agent/API. When these versions are no longer supported by their maintainers, Datadog for Ruby limits its support for these as well.

#### Levels of Support{% #levels-of-support %}

| **Level**         | **Support provided**                                                                                                                           |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Unsupported       | Possibly functional, but not tested or supported. [Contact our customer support team for special requests.](https://www.datadoghq.com/support) |
| Unimplemented     | No implementation. [Contact our customer support team for special requests.](https://www.datadoghq.com/support)                                |
| Pre-release       | Initial implementation. May not yet contain all features. Support for new features, bug & security fixes provided on a best-effort basis.      |
| Latest            | Full implementation of all features. Full support for new features, bug & security fixes.                                                      |
| Maintenance       | Full implementation of existing features. Does not receive new features. Support for critical bug & security fixes only.                       |
| End-of-life (EOL) | No support. The version can still be used but no bugfixes will be provided.                                                                    |

#### Package Versioning{% #package-versioning %}

Datadog for Ruby practices [semantic versioning](https://semver.org).

As this relates to downgrading runtime support, it implies:

- **Major version updates** (e.g. `1.0.0` to `2.0.0`) may change support for any runtime from Beta/Latest to Maintenance/EOL.
- **Minor version updates** (e.g. `1.0.0` to `1.1.0`) may change support for any runtime from Beta/Latest to Maintenance.
- **Patch version updates** (e.g. `1.0.0` to `1.0.1`) will not change support for any runtime.

#### Library version support{% #library-version-support %}

Datadog for Ruby will provide GA support for the latest major version and maintenance support for the previous major version of the library. This support will be provided through the latest minor or patch version of the major version. For example, if 1.21.0 is the latest version of the library with maintenance support, bug fixes will be provided via a new release of 1.21.0 (or 1.20.1). Those bugfixes will not be backported as patches to previous minor versions of 1.x.

| Gem Major Version | Support type |
| ----------------- | ------------ |
| 2.x               | Latest       |
| 1.x               | Maintenance  |
| 0.x               | EOL          |

#### Additional support resources{% #additional-support-resources %}

- [Datadog Customer support](https://www.datadoghq.com/support)
- [Datadog for Ruby Setup Documentation](https://docs.datadoghq.com/tracing/setup_overview/setup/ruby.md)
- [Datadog for Ruby GitHub repository](https://github.com/DataDog/dd-trace-rb)
