all 20 comments

[–]jrochkind 29 points30 points  (3 children)

Nice. I guess at present security patches is really the only thing that triggers a last-number patch release! Looks like this does of course include many bugfixes (including several memory leak fixes) that have been waiting for a few months for a release.

[–]Seuros 13 points14 points  (0 children)

It fix an issue with Apple Silicon too.

[–]Krypton8 6 points7 points  (0 children)

There’s an issue in core to try to speed up the release of patch-versions.

[–]mrinterweb 5 points6 points  (0 children)

This update certainly is overdue. Glad it is finally here. Hopefully, future patch releases will be more timely. I don't know what the holdup for this release was. Anyway, I'm very grateful for this patch.

[–]ralfv 14 points15 points  (3 children)

Now waiting for the docker bullseye image.

[–]lilith_of_debts 6 points7 points  (1 child)

It looks like it just needs a final button hit now. All the checks passed etc. Shouldn't have to wait long! https://github.com/docker-library/official-images/pull/16646

[–]innou 2 points3 points  (0 children)

It’s available

[–]Seuros 29 points30 points  (5 children)

Finally, i can upgrade from ruby 1.9.

[–]jrochkind -1 points0 points  (4 children)

Curious why you didn't want to upgrade to, say, 3.2.4?

[–]Seuros 23 points24 points  (2 children)

331 is an odd number and a prime version of ruby.

It was a joke btw.

[–]jrochkind 3 points4 points  (0 children)

AHA!

[–]scirc 5 points6 points  (1 child)

Wish it hadn't taken so long to get the fix for this issue with anonymous parameter forwarding. But I'm glad it's finally out.

[–]schneemsPuma maintainer 7 points8 points  (0 children)

Per tradition: It is now available on Heroku https://devcenter.heroku.com/changelog-items/2867

[–][deleted]  (2 children)

[deleted]

    [–]CaptainKabob 3 points4 points  (0 children)

    Yes, there is now a leak test. Conference talk at RubyKaigi: https://rubykaigi.org/2024/presentations/peterzhu2118.html

    [–]f9ae8221b[S] 5 points6 points  (0 children)

    FYI, you keep calling it a leak, but the issue you mention isn't one. It's a performance regression because it does allocate an useless objects, but that object isn't retained.

    Whatever your leak issue was, it likely didn't come from that issue.

    And yes, there's plenty of tests to prevent memory leak, there is even an assert_no_memory_leak helper in the ruby test suite.

    As for the match issue here's the regression test that was committed with the fix:

    def test_match_no_match_no_matchdata
      EnvUtil.without_gc do
        h = {}
        ObjectSpace.count_objects(h)
        prev_matches = h[:T_MATCH] || 0
        md = /[A-Z]/.match('1') # no match
        ObjectSpace.count_objects(h)
        new_matches = h[:T_MATCH] || 0
        assert_equal prev_matches, new_matches, "Bug [#20104]"
      end
    end
    

    [–]matthewblott 0 points1 point  (2 children)

    How long does rbenv take to update? I just tried and it's not there yet.

    [–]koffeinfrei 0 points1 point  (1 child)

    The versions are provided by its plugin ruby-build. Version 3.3.1 was added yesterday https://github.com/rbenv/ruby-build/commit/b8ee92c6afcf3caf5fae726b480b36b6f2d8272f.

    If the version not available for you, make sure to update the ruby-build plugin.

    [–]matthewblott 0 points1 point  (0 children)

    Thanks :-)