Skip to content

Document Ruby 4.0 support and remove obsolete Ruby 3.5 references#5655

Merged
p-datadog merged 1 commit into
masterfrom
docs/ruby-4-0-support
May 1, 2026
Merged

Document Ruby 4.0 support and remove obsolete Ruby 3.5 references#5655
p-datadog merged 1 commit into
masterfrom
docs/ruby-4-0-support

Conversation

@p-datadog

@p-datadog p-datadog commented Apr 30, 2026

Copy link
Copy Markdown
Member

What does this PR do?

Updates the public Ruby compatibility documentation and one in-code comment to reflect that Ruby 4.0 is supported and that Ruby 3.5 was never released.

  • docs/Compatibility.md: adds an MRI 4.0 row to the supported-interpreters table, and removes the HTML gating comment that referenced # TODO: Ruby 3.5 - comments (no such comments exist anywhere in the repo).
  • datadog.gemspec: updates the comment on the logger dependency to say "Ruby 4.0" instead of "Ruby 3.5" (the linked Ruby commit demoting logger from defaults applies to what shipped as 4.0).

Motivation:

Matrixfile, docker-compose.yml, and the GitHub Actions test matrix all already run on Ruby 4.0. The customer-facing support doc lagged behind. The gating comment ("address all # TODO: Ruby 3.5 - comments before publishing 3.5") referenced a phantom set — there are zero such comments in the codebase, and 3.5 was never released.

Change log entry

Yes. Document official support for Ruby 4.0.

Additional Notes:

Companion CI cleanup in #5656 (adds Ruby 4.0 to the install-dependencies matrix in .gitlab-ci.yml).

How to test the change?

Docs- and comment-only change; the rendered Compatibility table now lists MRI 4.0 alongside the existing rows.

- docs/Compatibility.md: add MRI 4.0 to the supported interpreters
  table and drop the HTML gating comment that referenced
  "# TODO: Ruby 3.5 -" comments (no such comments exist; 3.5 was
  never released).
- datadog.gemspec: update the logger dependency comment to point to
  Ruby 4.0 (where logger is no longer a default gem) instead of
  the never-released 3.5.
@p-datadog p-datadog added the AI Generated Largely based on code generated by an AI or LLM. This label is the same across all dd-trace-* repos label Apr 30, 2026
@p-datadog
p-datadog requested review from a team as code owners April 30, 2026 19:13
@datadog-prod-us1-5

datadog-prod-us1-5 Bot commented Apr 30, 2026

Copy link
Copy Markdown

Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

🎯 Code Coverage (details)
Patch Coverage: 100.00%
Overall Coverage: 97.20% (-0.03%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: fd46516 | Docs | Datadog PR Page | Give us feedback!

@pr-commenter

pr-commenter Bot commented Apr 30, 2026

Copy link
Copy Markdown

Benchmarks

Benchmark execution time: 2026-04-30 19:41:26

Comparing candidate commit fd46516 in PR branch docs/ruby-4-0-support with baseline commit 56a5be1 in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 45 metrics, 1 unstable metrics.

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

@ivoanjo ivoanjo left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Great catch, thank you!

@p-datadog
p-datadog merged commit bb919c7 into master May 1, 2026
594 of 595 checks passed
@p-datadog
p-datadog deleted the docs/ruby-4-0-support branch May 1, 2026 13:50
@dd-octo-sts dd-octo-sts Bot added this to the 2.32.0 milestone May 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI Generated Largely based on code generated by an AI or LLM. This label is the same across all dd-trace-* repos

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants