Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: DataDog/datadog-ruby_core_source
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.5.0
Choose a base ref
...
head repository: DataDog/datadog-ruby_core_source
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.5.1
Choose a head ref
  • 4 commits
  • 7 files changed
  • 1 contributor

Commits on Jan 13, 2026

  1. Bootstrap rspec

    ivoanjo committed Jan 13, 2026
    Configuration menu
    Copy the full SHA
    fc6bdfa View commit details
    Browse the repository at this point in the history
  2. Add spec for ruby_core_source

    ivoanjo committed Jan 13, 2026
    Configuration menu
    Copy the full SHA
    40d8465 View commit details
    Browse the repository at this point in the history
  3. [PROF-13445] Fix Ruby 4.0.1 picking 4.0.0-preview2 headers and bump g…

    …em version to 3.5.1
    
    **What does this PR do?**
    
    This PR fixes a bug in the "fuzzy" matching of headers to Ruby
    versions, where Ruby 4.0.1 would incorrectly fall back to
    4.0.0-preview2 headers INSTEAD of 4.0.0 stable headers.
    
    It also bumps the gem version so we can get this fix out ASAP before
    we cause issues to customers upgrading to 4.0.1 and later.
    
    **Motivation:**
    
    Fix support for Ruby > 4.0.0.
    
    **Additional Notes:**
    
    This bug lay dormant for a long time, as usually we didn't ship at
    the same time preview/rc headers and stable headers. But because
    dd-trace-rb CI is still running on 4.0.0-preview2, we kept both
    this time and so the bug came and said hi.
    
    The issue boils down to `Gem::Version` treating any suffixes as
    non-stable versions (including the `p0`).
    
    Thus `4.0.0.preview2` > `4.0.0.p0` because between non-stable
    versions it sorts on string (and `preview` comes after `p0`);
    eliminating the useless prefix for stable Rubies avoids this.
    
    Interestingly, in #24 I mentioned that we had a slight sharp edge
    where `4.0.0-preview3` would fall back to `4.0.0-preview2` and that
    didn't work correctly; and this PR actually fixes that as a side-effect:
    `4.0.0-preview3` will now fall back to the stable headers, which is
    actually correct.
    
    **How to test the change?**
    
    Since the gem didn't previously have tests I bootstrapped some
    quickly so I could add test coverage for this change.
    ivoanjo committed Jan 13, 2026
    Configuration menu
    Copy the full SHA
    f42b331 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #25 from DataDog/ivoanjo/prof-13445-fix-wrong-head…

    …ers-4_0_1
    
    [PROF-13445] Fix Ruby 4.0.1 picking 4.0.0-preview2 headers and bump gem version to 3.5.1
    ivoanjo authored Jan 13, 2026
    Configuration menu
    Copy the full SHA
    7f3dded View commit details
    Browse the repository at this point in the history
Loading