-*- coding: utf-8 -*-

base-url = https://github.com/ruby/ruby

commit c04363c0a09d1e9cd03ff2e5cf6dd83e87a8a90c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2026-01-06 07:08:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2026-01-06 07:08:17 +0900

    Remove k0kubun from CODEOWNERS

    nagachika will take over the maintenance of ruby_3_4 going forward.

commit 2bf88ac15dec2588caf543215036bcf2cb0b485a
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-12 10:45:07 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-17 09:36:22 +0900

    make-snapshot: Fix Psych::DisallowedClass with newer psych

    ```
    $ tool/format-release ../www.ruby-lang.org 4.0.0-preview2 .
    /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/class_loader.rb:99:in 'Psych::ClassLoader::Restricted#find': Tried to load unspecified class: Date (Psych::DisallowedClass)
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/class_loader.rb:28:in 'Psych::ClassLoader#load'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/class_loader.rb:40:in 'Psych::ClassLoader#date'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/scalar_scanner.rb:65:in 'Psych::ScalarScanner#tokenize'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:65:in 'Psych::Visitors::ToRuby#deserialize'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:129:in 'Psych::Visitors::ToRuby#visit_Psych_Nodes_Scalar'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:30:in 'Psych::Visitors::Visitor#visit'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:6:in 'Psych::Visitors::Visitor#accept'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:35:in 'Psych::Visitors::ToRuby#accept'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:346:in 'block in Psych::Visitors::ToRuby#revive_hash'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:344:in 'Array#each'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:344:in 'Enumerable#each_slice'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:344:in 'Psych::Visitors::ToRuby#revive_hash'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:168:in 'Psych::Visitors::ToRuby#visit_Psych_Nodes_Mapping'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:30:in 'Psych::Visitors::Visitor#visit'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:6:in 'Psych::Visitors::Visitor#accept'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:35:in 'Psych::Visitors::ToRuby#accept'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:339:in 'block in Psych::Visitors::ToRuby#register_empty'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:339:in 'Array#each'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:339:in 'Psych::Visitors::ToRuby#register_empty'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:147:in 'Psych::Visitors::ToRuby#visit_Psych_Nodes_Sequence'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:30:in 'Psych::Visitors::Visitor#visit'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:6:in 'Psych::Visitors::Visitor#accept'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:35:in 'Psych::Visitors::ToRuby#accept'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:319:in 'Psych::Visitors::ToRuby#visit_Psych_Nodes_Document'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:30:in 'Psych::Visitors::Visitor#visit'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/visitor.rb:6:in 'Psych::Visitors::Visitor#accept'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych/visitors/to_ruby.rb:35:in 'Psych::Visitors::ToRuby#accept'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych.rb:336:in 'Psych.safe_load'
            from /opt/rubies/3.4.6/lib/ruby/3.4.0/psych.rb:371:in 'Psych.load'
            from tool/format-release:80:in 'Tarball.parse'
            from tool/format-release:269:in 'Object#main'
            from tool/format-release:272:in '<main>'
    ```

commit 995b59f66677d44767ce9faac6957e5543617ff9
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-17 08:56:55 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-17 08:56:55 +0900

    v3.4.8

commit d8f087b581735ec250b8671c3574fa4d5b16ae54
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-17 08:53:40 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-17 08:53:40 +0900

    merge revision(s) 9168cad4d63a5d281d443bde4edea6be213b0b25: [Backport #21266]

            [PATCH] YJIT: Bail out if proc would be stored above stack top

            Fixes [Bug #21266].

commit 252b718582baf5760a6db2efdb58b84a0bf3f47f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-17 08:53:03 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-17 08:53:03 +0900

    merge revision(s) bc2a8a002a6c41fc1b28e02e15e2fb2b72d1b66e, c26057ebafb23b063190d31d5b4d19a0e0a1306c: [Backport #21779]

            [PATCH] [Bug #21779] Uniquify `InitVM` functions as well as `Init`

            Avoid possible name conflict when `--with-static-linked-ext`.

            [PATCH] [Bug #21779] Do not export InitVM functions

            Fix ruby/io-console#105.

commit 7edff469e14541a480a6156efc1cc6e3b526e7bd
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-17 08:51:44 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-17 08:51:44 +0900

    merge revision(s) 1e7cf7b2bc1f9b356b2e980e1e18548618da6363: [Backport #21446]

            [PATCH] Fix refinement modification of method visibility in superclass

            Previously, this didn't work correctly, resulting in a
            SystemStackError. This fixes the issue by finding the related
            superclass method entry, and updating the orig_me in the
            refinement method to point to the superclass method.

            Fixes [Bug #21446]

commit 70a7c551fcead48f5964fbc7a0bd20cc50b635c0
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-12-17 03:33:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-17 04:55:31 +0900

    YJIT: Print `Rc` strong and weak count on assert failure

    For <https://bugs.ruby-lang.org/issues/21716>, the panic is looking like
    some sort of third party memory corruption, with YJIT taking the fall.
    At the point of this assert, the assembler has dropped, so there's
    nothing in YJIT's code other than JITState that could be holding on to
    these transient `PendingBranchRef`.

    The strong count being more than a handful or the weak count is non-zero
    shows that someone in the process (likely some native extension)
    corrupted the Rc's counts.

commit f19e9c6699150d56853ba1a33f6149d7588c8478
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-12-13 08:00:18 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-13 08:43:41 +0900

    YJIT: Fix panic from overly loose filtering in identity method inlining

    Credits to @rwstauner for noticing this issue in GH-15533.

commit 628a94104768b294ae8068c7bb39ab9e495fdd94
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-12-13 03:42:00 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-13 08:43:41 +0900

    YJIT: Add missing local variable type update for fallback setlocal blocks

    Previously, the chain_depth>0 version of setlocal blocks did not
    update the type of the local variable in the context. This can leave
    the context with stale type information and trigger or lead to miscompilation.

    To trigger the issue, YJIT needs to see the same ISEQ before and after
    environment escape and have tracked type info before the escape. To
    trigger in ISEQs that do not send with a block, it probably requires
    Kernel#binding or the use of include/ruby/debug.h APIs.

    [Backport #21772]

commit 88f1d98676d435a79e2086ed8054b459f1b4bd2a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2025-12-03 10:34:36 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-13 01:56:50 +0900

    Fix allocationless anonymous splat keyword argument check

    Previously, if an argument splat and keywords are provided by
    the caller, it did not check whether the method/proc accepted
    keywords before avoiding the allocation. This is incorrect,
    because if the method/proc does not accept keywords, the
    keywords passed by the caller are added as a positional
    argument, so there must be an allocation to avoid mutating
    the positional splat argument.

    Add a check that if the caller passes keywords, the
    method/proc must accept keywords in order to optimize.
    If the caller passes a keyword splat, either the
    method/proc must accept keywords, or the keyword splat must
    be empty in order to optimize.

    If keywords are explicitly disallowed via `**nil`, the
    optimization should be skipped, because the array is mutated
    before the ArgumentError exception is raised.

    In addition to a test for the correct behavior, add an
    allocation test for a method that accepts an anonymous splat
    without keywords.

    Fixes [Bug #21757]

commit 6dc27d14a0427da7b28a6884578009a9740f69fd
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-10-02 03:25:26 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-09 08:30:35 +0900

    Interpolation with only string literals must not be frozen

    Basically a redo of https://github.com/ruby/ruby/commit/a1403fb7cbd1fe0df97c932be9814c86081783dc
    but respecting the frozen string literal magic comment

    Fixes [Bug #21187]

commit bc40e758307c9be3e39497b5010fbaceb14bf8c7
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-07-22 09:13:44 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-09 08:30:35 +0900

    Interpolated strings must not be frozen

    Strings concatenated with backslash may end up being frozen when they
    shouldn't be.  This commit fixes the issue.  It required a change
    upstream in Prism, but also a change to the Prism compiler in CRuby.

      https://github.com/ruby/prism/pull/3606

    [Bug #21187]

commit d282e76fb6c9f56ac44b3abfc8a3fc9f10edd6f0
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-09 07:56:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-09 08:30:35 +0900

    Bump Prism to v1.5.2

    [Backport #21187]

commit d0b778cd19fdda858121d8f2405da2768603c9b1
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-09 08:03:34 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-09 08:03:34 +0900

    merge revision(s) 0b0da6c4b26f80ad6985722d3fc0f5cdee09125d: [Backport #21648]

            [PATCH] Correctly compile splats in for-loop index in prism

            Fixes [Bug #21648]

            This is a followup to https://github.com/ruby/ruby/pull/13597.
            The added test passed but didn't emit the same instructions.

            This also handles bare splats and aligns instructions for all cases

commit 955decc1da6cd2441c24d22e8909a3e995973769
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-09 07:46:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-09 07:46:06 +0900

    merge revision(s) beb85e7eeee4163cd45b69645a60cdb942f72c05: [Backport #21705]

            [PATCH] [Bug #21705] Fix segfaults on Windows

            It should check the type of the argument and coercion before
            converting the encoding.

commit fe8221af30768cbd15409d4cc52b2bb18e91667e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-09 07:44:48 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-09 07:44:48 +0900

    merge revision(s) f4f728b319086eea3db6e9909fb9c849c276f813: [Backport #21680]

            [PATCH] [Bug #21680] Fix (base**power_of_two).digits(base) bug (#15144)

            Fix wrong condition in base multiplying loop.

commit 625eeae0db2749e62152d8a750706eff24a271d0
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-09 07:38:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-09 07:38:24 +0900

    merge revision(s) a4dff09be79b52288a47658964d25e5aa84fc960: [Backport #21265]

            [PATCH] [Bug #21673] Fix resolving refined module-defined method

            A method defined in a module has no `defined_class`, use the ICLASS
            for it as the `defined_class`.

commit da66b64a18414d5ece52512eb016c1af2ede1730
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-09 07:36:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-09 07:36:06 +0900

    merge revision(s) 9d44cb0b2b5520b2b299851003ca2a97bf1e2079, 367ddd445cdf5ccc55a0481c944746ef595f72f7, 48dce7874fcb571765635b32fa6a3e3a12e228f8: [Backport #21655]

            [PATCH] Remove rbimpl_rstring_getmem() usage as workaround for GCC 15.2.1 optimization bug. [Bug #21655]

            [PATCH] include/ruby/internal/core/rstring.h: Remove rbimpl_rstring_getmem() definition.

            [PATCH] simplify RSRING_GETMEM() definition.

commit 1adfd3ec401e7a09e1e3e61708592b202a3f8277
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-09 07:29:57 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-09 07:29:57 +0900

    merge revision(s) c5bd4acd30320a8e180ce9fcb24acdab4e10c73a: [Backport #21666]

            [PATCH] [Bug #21666] Get rid of use of unspecified values

commit a2ba1478e8c6a810c0fa08695a48f95ef5c29c45
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-09 07:24:18 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-09 07:24:18 +0900

    merge revision(s) 190b017fc6c21ff7b61c2b5ece0294785e4a4ca2: [Backport #21703]

            [PATCH] Don't use non blocking pipes for RUBY_CRASH_REPORT

            [Bug #21703]

            RUBY_CRASH_REPORT does not work in some cases when shelling out on Linux.
            For example, given the following shell script dump.sh:

                #!/usr/bin/env bash
                cat > /tmp/crash

            And we see it fails like this:

                $ RUBY_CRASH_REPORT="|dump.sh" ruby -rfiddle -e "Fiddle::Pointer.new(1, 10)[0]"
                cat: -: Resource temporarily unavailable

commit ef2d4bf51bf28cfc427388a19e4a5fe9bbbe7a7a
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-12-09 07:21:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-09 07:21:06 +0900

    merge revision(s) 6e6f5d3c32a709c891ac6aa7833376907a6c81b5: [Backport #21265]

            [PATCH] Add test for [Bug #21265]

            The crash was fixed by a4dff09be79b52288a47658964d25e5aa84fc960 ("Fix
            resolving refined module-defined method"). I had a patch for this around
            for a few months but never merged it. Oops!

commit e4abacc53396865e20c226a7ac8ed8b86267874b
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2025-12-04 14:29:35 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-05 01:56:13 +0900

    Ractor.store_if_absent should not warn

    ```ruby
    $VERBOSE = true

    Ractor.store_if_absent :key do
    end #=> warning: the block passed to 'Ractor.store_if_absent' defined at <internal:ractor>:474 may be ignored
    ```

commit dd0dfecc361d3306ff674b5adcf81c0b1d7ee25d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-12-03 14:37:29 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-04 01:52:43 +0900

    Next Ruby version is 4.0, not 3.5

commit 28b2e2ede97b569c2f6121e7808975fbd5c6f298
  Author:     Randy Stauner <randy@r4s6.net>
  AuthorDate: 2025-11-26 11:29:02 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-12-02 02:45:35 +0900

    YJIT: Abort expandarray optimization if method_missing is defined

    Fixes: [Bug #21707]
    [AW: rewrote comments]
    Co-authored-by: Alan Wu <alanwu@ruby-lang.org>

commit 3b09e559da73e63ff25156fcb9e892948c7b2afb
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-12-02 02:44:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-12-02 02:44:46 +0900

    vm_cc_new: don't assume `cme` is present. (#15322)

    [Bug #21694]

    `vm_search_super_method` explictly calls `vm_cc_new` with `cme=NULL`
    when there is no super class.

commit 7482835d0b5c9f55662fb7c6586f456354e2b66e
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-08-20 11:13:00 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-11-18 06:28:01 +0900

    Avoid spawning thread for trivial getnameinfo calls

    When calling getnameinfo we spawn a thread because it may do a slow,
    blocking reverse-DNS lookup. Spawning a thread is relatively fast (~20µs
    on my Linux machine) but still an order of magnitude slower than when
    getnameinfo is simply translating to a numeric IP or port, which, at
    least in my tests on Linux, doesn't even make a syscall.

    This commit adds a fast path for when reverse DNS isn't required: either
    host isn't being fetched or NI_NUMERICHOST is set AND either the
    service name isn't required or NI_NUMERICSERV is set. The service name
    should only need to read /etc/services, which should be fast-ish, but
    is still I/O so I kept the existing behaviour (it could be on a network
    fs I guess).

    I tested with:

        s = TCPSocket.open("www.ruby-lang.org", 80)
        500_000.times { Socket.unpack_sockaddr_in(s.getpeername) }

    Before: 12.935s
    After: 0.338s

commit 9e4829699b544370dd3a83df3e2c6b9168c34159
  Author:     Luke Gruber <luke.gruber@shopify.com>
  AuthorDate: 2025-11-15 04:48:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-11-15 04:48:40 +0900

    ext/socket: Set raddrinfo thread as detached before thread start (#15194)

    Backport of https://github.com/ruby/ruby/pull/15142

    [Bug #21679]

commit 0b559eab0447905a784092824e5ea0999018cd01
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-11-14 05:01:55 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-11-15 03:07:34 +0900

    YJIT: Fix stack handling in rb_str_dup

    Previously because we did a stack_push before ccall, in some cases we
    could end up pushing an uninitialized value to the VM stack when
    spilling regs as part of the ccall.

    Co-authored-by: Luke Gruber <luke.gru@gmail.com>

commit 3f6cdb1246025388ab5be3da0be2dc4c5a1a5178
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-11-13 04:02:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-11-13 04:02:23 +0900

    Update next stable version to 4.0 from 3.5 (#15146)

commit e4b1f77dec69bcc7c1a5d082716bee5441f1d485
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-11-07 21:57:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-11-11 07:38:19 +0900

    Use `IO.popen` instead of `IO.foreach` with pipe

commit 9e426489f00a1b7816e8c6f299daa6116c5f505d
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-11-08 12:44:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-11-08 12:44:56 +0900

    Don't modify fstrings in rb_str_tmp_frozen_no_embed_acquire (#15104)

    [Bug #21671]

commit a7eba5453934e778c5911a4b69d9c3b8fdf31a23
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-10-28 21:55:18 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-11-07 03:25:54 +0900

    [Backport #21625] Allow io/wait methods with `IO#ungetc` in text mode

commit 3150a1d989d81089c7da7d0491321e370e71f482
  Author:     K.Takata <kentkt@csc.jp>
  AuthorDate: 2019-01-25 18:54:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-11-07 03:25:26 +0900

    [Backport #13671] Fix that "ss" in look-behind causes syntax error

    Fixes k-takata/Onigmo#92.

    This fix was ported from oniguruma:
    https://github.com/kkos/oniguruma/commit/257082dac8c6019198b56324012f0bd1830ff4ba

    https://github.com/k-takata/Onigmo/commit/b1a5445fbeba97b3e94a733c2ce11c033453af73

commit badb3600093ed5df2c64bc257b5cb3a149a88189
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-11-07 01:26:40 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-11-07 03:24:37 +0900

    merge revision(s) d17ce4bd05dc05d48f5f4bc75171fcebda1678ed: [Backport #21652]

            [PATCH] [Bug #21652] [DOC] Update unmarshalable object list

            The `Data` mentioned here was the old `T_DATA` class, not the current
            extended `Struct`.

commit f2fd5b3bc23bce7527192057d4b4b11fa179170f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-10-14 12:38:52 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-11-07 03:23:58 +0900

    [Backport #21638] Mark ractor-local `$VERBOSE` and `$DEBUG`

    https://github.com/sampersand/blog/blob/master/the%20-s%20flag.md#the-segfault

commit c26a2b12e1f7f0779f2e86f59a405b1913cf72c8
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-11-05 15:10:54 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-11-05 15:10:54 +0900

    merge revision(s) 377aa2a336cc700485c699ac49330f2a58b74906: [Backport #21668]

            [PATCH] Improve performance of UnicodeNormalize.canonical_ordering_one

            Use array_of_integer.sort! instead of buble-sort-like algorithm

commit 7ec94afa8faad31d8b973edc53347973062e4d20
  Author:     Andre Muta <andremuta@gmail.com>
  AuthorDate: 2025-10-30 12:55:40 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-11-02 00:51:57 +0900

    mn timer thread: force wakeups for timeouts

commit 0b7ea9c7953803a56622c62139404473a4115565
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-10-02 12:53:48 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-30 08:35:14 +0900

    YJIT: Prevent making a branch from a dead block to a live block

    I'm seeing some memory corruption in the wild on blocks in
    `IseqPayload::dead_blocks`. While I unfortunately can't recreate the
    issue, (For all I know, it could be some external code corrupting YJIT's
    memory.) establishing a link between dead blocks and live blocks seems
    fishy enough that we ought to prevent it. When it did happen, it might've
    had bad interacts with Code GC and the optimization to immediately
    free empty blocks.

commit 75ae7093a9b61b06a26770241c6d545c4b3d94e3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-10-23 08:22:43 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-23 11:57:28 +0900

    [ruby/rubygems] Removed credential assertion from stdout

    https://github.com/ruby/rubygems/commit/3946be008c

commit 7fa4d58ef28f701d6ac7475fd34cd69c32b554a1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-10-23 07:54:45 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-23 11:57:28 +0900

    [ruby/rubygems] Bump up vendored uri to 1.0.4

    https://github.com/ruby/rubygems/commit/bc77ec0bf2

commit 3afa38d0ee34a453d7c53d4512a8f14d25d23f57
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-08-14 01:39:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-23 05:53:20 +0900

    YJIT: Fix `defined?(yield)` and `block_given?` at top level

    Previously, YJIT returned truthy for the block given query at the top
    level. That's incorrect because the top level script never receives a
    block, and `yield` is a syntax error there.

    Inside methods, the number of hops to get from `iseq` to
    `iseq->body->local_iseq` is the same as the number of
    `VM_ENV_PREV_EP(ep)` hops to get to an environment with
    `VM_ENV_FLAG_LOCAL`. YJIT and the interpreter both rely on this as can
    be seen in get_lvar_level(). However, this identity does not hold for
    the top level frame because of `vm_set_eval_stack()`, which sets up
    `TOPLEVEL_BINDING`.

    Since only methods can take a block that `yield` goes to, have ISEQs
    that are the child of a non-method ISEQ return falsy for the block given
    query. This fixes the issue for the top level script and is an
    optimization for non-method contexts such as inside `ISEQ_TYPE_CLASS`.

commit 5d2a244bfd844be3a94670ddcb509fb5a6b4e847
  Author:     viralpraxis <viralpraxis@evilmartians.com>
  AuthorDate: 2025-10-20 03:55:45 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-21 01:24:12 +0900

    [Bug #21644] compile.c: fix `newrange` INSN peephole optimization for chilled string

    ref: https://bugs.ruby-lang.org/issues/21644

    ```shell
    $ ruby -v -e '("a" || "b").."c"'
    ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]
    -e:1: warning: possibly useless use of .. in void context
    -e:1: [BUG] Stack consistency error (sp: 7, bp: 6)
    ruby 3.4.7 (2025-10-08 revision 7a5688e2a2) +PRISM [x86_64-linux]

    -- Control frame information -----------------------------------------------
    c:0002 p:0013 s:0007 e:000005 EVAL   -e:1 [FINISH]
    c:0001 p:0000 s:0003 E:001920 DUMMY  [FINISH]

    -- Ruby level backtrace information ----------------------------------------
    -e:1:in '<main>'

    -- Threading information ---------------------------------------------------
    Total ractor count: 1
    Ruby thread count for this ractor: 1

    -- C level backtrace information -------------------------------------------
    ruby/3.4.7/lib/libruby.so.3.4(rb_print_backtrace+0x8) [0x78aa9573c882] /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/vm_dump.c:823
    ruby/3.4.7/lib/libruby.so.3.4(rb_vm_bugreport) /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/vm_dump.c:1155
    ruby/3.4.7/lib/libruby.so.3.4(rb_bug_without_die_internal+0x6b) [0x78aa9544c62f] /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/error.c:1097
    ruby/3.4.7/lib/libruby.so.3.4(rb_bug) /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/error.c:1115
    ruby/3.4.7/lib/libruby.so.3.4(vm_stack_consistency_error+0x1f) [0x78aa9544f091] /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/vm_insnhelper.c:6523
    ruby/3.4.7/lib/libruby.so.3.4(vm_get_cref) /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/insns.def:1134
    ruby/3.4.7/lib/libruby.so.3.4(vm_setclassvariable) /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/vm_insnhelper.c:1630
    ruby/3.4.7/lib/libruby.so.3.4(vm_setclassvariable) /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/vm_insnhelper.c:1627
    ruby/3.4.7/lib/libruby.so.3.4(vm_exec_core) /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/insns.def:253
    ruby/3.4.7/lib/libruby.so.3.4(vm_exec_loop+0xa) [0x78aa95724959] /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/vm.c:2622
    ruby/3.4.7/lib/libruby.so.3.4(rb_vm_exec) /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/vm.c:2598
    ruby/3.4.7/lib/libruby.so.3.4(rb_ec_exec_node+0xa5) [0x78aa95525695] /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/eval.c:281
    ruby/3.4.7/lib/libruby.so.3.4(ruby_run_node+0x83) [0x78aa95529333] /tmp/ruby-build.20251010151551.31019.jR04SY/ruby-3.4.7/eval.c:319
    ruby/3.4.7/bin/ruby(rb_main+0x21) [0x59d86f5e0186] ./main.c:43
    ruby/3.4.7/bin/ruby(main) ./main.c:68
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_call_main+0x7a) [0x78aa9502a1ca] ../sysdeps/nptl/libc_start_call_main.h:58
    /lib/x86_64-linux-gnu/libc.so.6(call_init+0x0) [0x78aa9502a28b] ../csu/libc-start.c:360
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main_impl) ../csu/libc-start.c:347
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main) (null):0
    [0x59d86f5e01d5]
    ```

    The optimization in question:

    https://github.com/ruby/ruby/blob/957c832db137e67289e93dfd9fd9e915b1f2fc87/compile.c\#L3453-L3480

    Before entering the `newrange` optimization, the iseq looks like this:

    ```
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(1,17)>
    0000 putchilledstring                       "a"                       (   1)[Li]
    0002 dup
    0003 branchif                               8
    0005 pop
    0006 putchilledstring                       "b"
    0008 putchilledstring                       "c"
    0010 newrange                               0
    0012 leave
    ```

    So the optimization constructs a new range using the wrong operands (`"b"` and `"c"` instead of `"a"` and `"c"`).

    I tried to fix this by checking whether the two previous instructions are labeled.

commit a841c313c50e7ebf74df6e940334c34c68145270
  Author:     Bo Anderson <mail@boanderson.me>
  AuthorDate: 2025-10-09 23:33:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-10-09 23:33:54 +0900

    Update rexml to 3.4.4 for Ruby 3.4 (CVE-2025-58767) (#14795)

    Update rexml to 3.4.4

    [Backport #21632]

commit fce44db5eb7baf1ddd2238254c3cf617fcfd1112
  Author:     Bo Anderson <mail@boanderson.me>
  AuthorDate: 2025-10-09 23:32:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-10-09 23:32:47 +0900

    Update openssl gem to 3.3.1 for Ruby 3.4 (#14792)

    Update openssl gem to 3.3.1

    [Backport #21631]

commit 17877eb2481977a415dd6e51ffe0a9103d575ce7
  Author:     刘皓 <whiteaxe@tuta.io>
  AuthorDate: 2025-10-09 23:30:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-10-09 23:30:42 +0900

    Backport WASI setjmp handler memory leak fixes to Ruby 3.4 (#14788)

    [Bug #21626]

commit 18e176659e8afe402cab7d39972f2d56f2cf378f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-10-09 08:50:40 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-09 08:50:58 +0900

    merge revision(s) 2bb6fe3854e2a4854bb89bfce4eaaea9d848fd1b: [Backport #21629]

            [PATCH] [Bug #21629] Initialize `struct RString`

    which appears to be missed in the previous commit for some reason.

commit 846bb760756a3bf1ab12d56d8909e104f16e6940
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-10-09 08:45:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-09 08:45:24 +0900

    merge revision(s) bbf1130f918ca26e33aba4711ccf99a8083517ea, 43dbb9a93f4de3f1170d7d18641c30e81cc08365, 2bb6fe3854e2a4854bb89bfce4eaaea9d848fd1b, 7c9dd0ecff61153b96473c6c51d5582e809da489: [Backport #21629]

            [PATCH] Add `RBIMPL_ATTR_NONSTRING_ARRAY()` macro for GCC 15

            [PATCH] [Bug #21629] Enable `nonstring` attribute on clang 21

            [PATCH] [Bug #21629] Initialize `struct RString`

            [PATCH] [Bug #21629] Initialize `struct RArray`

commit 9b5d6505ef0fbb27417a5b8face120dec73bacf2
  Author:     Takashi Kokubun <takashi.kokubun@shopify.com>
  AuthorDate: 2025-10-09 06:19:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-10-09 06:19:19 +0900

    post_push.yml: Backport commit-mail to ruby_3_4 (#14781)

commit a0937ff3c780ad870ab398bfc98f2e301fd98b9d
  Author:     Takashi Kokubun <takashi.kokubun@shopify.com>
  AuthorDate: 2025-10-08 17:07:37 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-10-08 17:07:37 +0900

    Backport fetch_changesets to ruby_3_4 (#14772)

commit 6809d1a002bf70cca22a6763646245fda0ff9070
  Author:     Takashi Kokubun <takashi.kokubun@shopify.com>
  AuthorDate: 2025-10-08 13:19:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-10-08 13:19:06 +0900

    Backport post_push.yml workflow to ruby_3_4 (#14769)

commit 7a5688e2a27668e48f8d6ff4af5b2208b98a2f5e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-10-08 01:42:48 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-08 01:42:48 +0900

    v3.4.7

commit ef3ce711fb29f7273216edb2fe41bb2604c835c3
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-10-08 01:41:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-08 01:41:15 +0900

    merge revision(s) 7ae67e8f6ad6e7fd0677b28a7a10961f79d55495: [Backport #21568]

            [PATCH] load.c: Fix dest and src of MEMMOVE

            When multiple files with the same name are required, the features_index
            hash stores the indexes in `$LOADED_FEATURES` array into a darray.
            The dest and src arguments for `MEMMOVE` were wrongly reversed when
            inserting a new index in the darray.

            [Bug #21568]

commit a7eb7e7c6fe02f7127ff527fff18a0914a7aa888
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-10-07 02:53:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-08 01:40:55 +0900

    tool/merger.rb: Fetch diff from GitHub instead of cgit

    Our cgit server has been shut down.

    tool/merger.rb: Fetch a diff in the patch format

    It expects "Subject:", so it needs to be a patch file.

commit d2cd7eaa11f57f81cdbacf0e8d5162d37e28337b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-10-07 10:30:16 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-08 01:15:46 +0900

    Update rubyspec as of CVE-2025-27221

commit 71462666e0f1ea720062e12f97b2ea89166038d1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-10-07 18:29:36 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-08 01:15:46 +0900

    Merge URI-1.0.4

commit 49d7295fc38583abf3018a16a2018667871d9f3d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-10-03 02:05:27 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-10-03 02:05:39 +0900

    macos.yml: macOS 13 hosted runner image is closing down

    https://github.blog/changelog/2025-09-19-github-actions-macos-13-runner-image-is-closing-down/

commit 264b2d78c366491834c9ce4499a4ad7b7564b89d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-30 07:10:37 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-30 07:10:58 +0900

    Reapply "merge revision(s) 62430c19c9f1ab49429cebe65f30588472648c95: [Backport #21342]"

    This reverts commit c414b9871f263331cde0af1c08cf5c1a47e1aedf.

commit c414b9871f263331cde0af1c08cf5c1a47e1aedf
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-30 07:08:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-30 07:08:47 +0900

    Revert "merge revision(s) 62430c19c9f1ab49429cebe65f30588472648c95: [Backport #21342]"

    This reverts commit 4306c9048fb674d24b92dc46b6746a4749564147.

commit 22c2262b83224f6798d60d539f1f8609d9722766
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-30 06:36:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-30 06:36:06 +0900

    merge revision(s) 354d47ae5bc4edcc94db4a5391ed71a8b9844e57: [Backport #21569]

            IBF: Avoid unaligned load on 32 bit platforms

            [Bug #21569]

commit 4306c9048fb674d24b92dc46b6746a4749564147
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-30 06:35:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-30 06:35:15 +0900

    merge revision(s) 62430c19c9f1ab49429cebe65f30588472648c95: [Backport #21342]

            Properly unlock locked mutexes on thread cleanup.

            Mutexes were being improperly unlocked on thread cleanup. This bug was
            introduced in 050a8954395.

            We must keep a reference from the mutex to the thread, because if the fiber
            is collected before the mutex is, then we cannot unlink it from the thread in
            `mutex_free`. If it's not unlinked from the the thread when it's freed, it
            causes bugs in `rb_thread_unlock_all_locking_mutexes`.

            We now mark the fiber when a mutex is locked, and the thread is marked
            as well. However, a fiber can still be freed in the same GC cycle as the
            mutex, so the reference to the thread is still needed.

            The reason we need to mark the fiber is that `mutex_owned_p()` has an ABA
            issue where if the fiber is collected while it's locked, a new fiber could be
            allocated at the same memory address and we could get false positives.

            Fixes [Bug #21342]

            Co-authored-by: John Hawthorn <john@hawthorn.email>

commit 88a96147a21900a2c22d3ae84d05cd3f6ee795c7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-30 06:31:05 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-30 06:31:05 +0900

    merge revision(s) ef2b26cc3eaed06c5c9d4ef2c6d8669ff357afa4: [Backport #21611]

            `struct iseq_catch_table` is packed

commit e900e9fc9ace5e36de5170c83df0f56167e4c8a9
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-09-18 12:24:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-09-18 12:24:02 +0900

    Use `ec->interrupt_mask` to prevent interrupts. [Backport #21610]

    Disallow pending interrupts to be checked during `FiberScheduler#unblock`.

    Ractors can send signals at any time, so the previous debug assertion can fail if a Ractor sends a signal.

    Co-authored-by: Luke Gruber <luke.gruber@shopify.com>

commit 6882012473b3bd3a9eb53ad7f7754144c0e63ef0
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-09-17 06:17:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-09-17 06:17:51 +0900

    [3.4] compile.c: Handle anonymous variables in `outer_variable_cmp` (#13493)

commit b5346f2c5be00f886c9ad2f4b807deb728265a0a
  Author:     Nick Dower <nicholasdower@gmail.com>
  AuthorDate: 2025-05-16 22:44:45 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-17 05:36:08 +0900

    Add a test case for `it` in a regex.

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit 1f6d845011cf8900c0e9c6fe5e4243a63a5ecae3
  Author:     Nick Dower <nicholasdower@gmail.com>
  AuthorDate: 2025-05-16 12:18:28 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-17 05:36:08 +0900

    [Bug #21313] Handle `it` in rescue and ensure blocks.

    The following is crashing for me:

    ```shell
    ruby --yjit --yjit-call-threshold=1 -e '1.tap { raise rescue p it }'

    ruby: YJIT has panicked. More info to follow...
    thread '<unnamed>' panicked at ./yjit/src/codegen.rs:2402:14:
    ...
    ```

    It seems `it` sometimes points to the wrong value:

    ```shell
    ruby -e '1.tap { raise rescue p it }'
    false

    ruby -e '1.tap { begin; raise; ensure; p it; end } rescue nil'
    false
    ```

    But only when `$!` is set:

    ```shell
    ruby -e '1.tap { begin; nil; ensure; p it; end }'
    1

    ruby -e '1.tap { begin; nil; rescue; ensure; p it; end }'
    1

    ruby -e '1.tap { begin; raise; rescue; ensure; p it; end }'
    1
    ```

commit dbd83256b1cec76c69756ecb8758b9e1079833de
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-16 07:38:23 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-16 07:38:23 +0900

    v3.4.6

commit 9c65da014548a141137e7e692699b129e3bc655f
  Author:     Takashi Kokubun <takashi.kokubun@shopify.com>
  AuthorDate: 2025-09-14 12:53:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-09-14 12:53:54 +0900

    Bump Prism version to 1.5.1 (#14549)

commit 09c067014fa27ad91d310de6a64b7a4443d7da0c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-13 07:22:44 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-13 07:24:16 +0900

    Attempt to fix [Backport #21567]

commit 21709a58682b9fef53e3e3dec97a0fe4498334e3
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-13 06:58:07 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-13 06:58:07 +0900

    merge revision(s) 7a05dbc47831a655a1ef8a1635f88292acd325da: [Backport #21561]

            File.dirname: return consistent encoding for `"."`

            [Bug #21561]

            It's preferable if the method is consistent in the encoding in
            the returned string.

commit 00fa53d0ba9ad3c70b634834ff4ca35c2923a894
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-13 06:56:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-13 06:56:47 +0900

    merge revision(s) 928fea3bfa86053c0bc6f7a5bf7559b115a676b5: [Backport #21567]

            Fix crash when $LOADED_FEATURES is modified during require

            [Bug #21567]

            When we require an object that is not a string, it will attempt to convert
            it to a string by calling to_str on it. If we modify the $LOADED_FEATURES
            array while it calls to_str, Ruby can crash because it can end up inserting
            the string in the wrong index in the array.

            For example, the following script crashes:

                require "tempfile"

                class MyString
                  def initialize(path)
                    @path = path
                  end

                  def to_str
                    $LOADED_FEATURES.clear
                    @path
                  end

                  def to_path = @path
                end

                def create_ruby_file = Tempfile.create(["test", ".rb"]).path

                require MyString.new(create_ruby_file)
                $LOADED_FEATURES.unshift(create_ruby_file)
                $LOADED_FEATURES << MyString.new(create_ruby_file)
                require create_ruby_file

            Crash log:

                test.rb:21: [BUG] Segmentation fault at 0x0000000000000004
                ruby 3.5.0dev (2025-09-09T09:29:35Z master ce94add7fb) +PRISM [arm64-darwin24]

                -- Crash Report log information --------------------------------------------
                  See Crash Report log file in one of the following locations:
                    * ~/Library/Logs/DiagnosticReports
                    * /Library/Logs/DiagnosticReports
                  for more details.
                Don't forget to include the above Crash Report log file in bug reports.

                -- Control frame information -----------------------------------------------
                c:0003 p:---- s:0011 e:000010 CFUNC  :require
                c:0002 p:0076 s:0006 e:000005 EVAL   test.rb:21 [FINISH]
                c:0001 p:0000 s:0003 E:0001b0 DUMMY  [FINISH]

                -- Ruby level backtrace information ----------------------------------------
                test.rb:21:in '<main>'
                test.rb:21:in 'require'

                -- Threading information ---------------------------------------------------
                Total ractor count: 1
                Ruby thread count for this ractor: 1

                -- Machine register context ------------------------------------------------
                  x0: 0x0000000000000004  x1: 0x000000000000c800  x2: 0x0000000000000000
                  x3: 0x0000000000000000  x4: 0x0000000000000205  x5: 0x0000000000000000
                  x6: 0x0000000000000000  x7: 0x0000000000000001 x18: 0x0000000000000000
                x19: 0x0000000209dfc0b0 x20: 0x0000000209dfc018 x21: 0x000000016ee8ab58
                x22: 0x0fffffff0009d71d x23: 0x0000000209dfc018 x24: 0x0000000209dfc150
                x25: 0x000000016ee8acc0 x26: 0x0000000000000000 x27: 0x0000000000000000
                x28: 0x0000000000000000  lr: 0x0000000101244140  fp: 0x000000016ee887f0
                  sp: 0x000000016ee887d0

                -- C level backtrace information -------------------------------------------
                miniruby(rb_print_backtrace+0x24) [0x101317b08] vm_dump.c:843
                miniruby(rb_print_backtrace) (null):0
                miniruby(rb_vm_bugreport+0x26c) [0x101317d94] vm_dump.c:1175
                miniruby(rb_bug_for_fatal_signal+0xa4) [0x10105ddac] error.c:1130
                miniruby(sig_do_nothing+0x0) [0x1012278c0] signal.c:948
                miniruby(sigsegv) (null):0
                /usr/lib/system/libsystem_platform.dylib(_sigtramp+0x38) [0x19c1216a4]
                miniruby(rb_str_new_frozen+0x1c) [0x101244140] string.c:1495
                miniruby(rb_check_realpath_internal+0x68) [0x101077804] file.c:4679
                miniruby(rb_check_realpath+0x2c) [0x101077aa4] file.c:4765
                miniruby(get_loaded_features_index+0x37c) [0x1010f9c94] load.c:467
                miniruby(rb_feature_p+0xd0) [0x1010f8174] load.c:582
                miniruby(search_required+0xac) [0x1010f6ad4] load.c:1193
                miniruby(require_internal+0x274) [0x1010f7518] load.c:1424
                miniruby(rb_require_string_internal+0x94) [0x1010f6830] load.c:1571
                miniruby(rb_require_string+0x58) [0x1010f66e8] load.c:1557
                miniruby(rb_f_require+0x1c) [0x1010f6684] load.c:1150
                miniruby(ractor_safe_call_cfunc_1+0x38) [0x101306c28] vm_insnhelper.c:3696
                miniruby(vm_call_cfunc_with_frame_+0x250) [0x1012f857c] vm_insnhelper.c:3873
                miniruby(vm_call_cfunc_with_frame+0x6c) [0x1012f8834] vm_insnhelper.c:3919
                miniruby(vm_sendish+0x1a8) [0x1012c990c] vm_insnhelper.c:6087
                miniruby(vm_exec_core+0x4050) [0x1012cfb48] insns.def:900
                miniruby(vm_exec_loop+0x80) [0x1012e5448] vm.c:2666
                miniruby(rb_vm_exec+0x134) [0x1012c9b40] vm.c:2645
                miniruby(rb_iseq_eval_main+0x34) [0x1012e5628] vm.c:2919
                miniruby(rb_ec_exec_node+0xe4) [0x10106d094] eval.c:282
                miniruby(ruby_run_node+0x94) [0x10106cf64] eval.c:320
                miniruby(rb_main+0x40) [0x100f7499c] main.c:42
                miniruby(main+0x60) [0x100f74928] main.c:62

commit cdd1de636bfa7790c72949d01e4a083845781d87
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-07-22 09:06:02 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-13 06:30:16 +0900

    Revert "[ruby/prism] Clear flags on interpolated strings"

    This reverts commit a495e6a44ce8cff17461b250e32ab63e409a642d.

    This break extension builds:

    ```
    /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:321:in 'String#replace': can't modify frozen String: "$(SDKROOT)$(prefix)/include" (FrozenError)
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:321:in 'RbConfig.expand'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:314:in 'block in RbConfig.expand'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'String#gsub'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'RbConfig.expand'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:314:in 'block in RbConfig.expand'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'String#gsub'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'RbConfig.expand'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:314:in 'block in RbConfig.expand'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'String#gsub'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'RbConfig.expand'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:325:in 'block in <module:RbConfig>'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:324:in 'Hash#each_value'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:324:in '<module:RbConfig>'
            from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:11:in '<top (required)>'
            from ./ext/extmk.rb:42:in 'Kernel#require'
            from ./ext/extmk.rb:42:in '<main>'
    make[1]: *** [ext/configure-ext.mk:70: ext/json/exts.mk] Error 1
    ```

commit c63d6bee7b1bba0308e72cb8d54538ff84af612a
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-09-13 05:49:35 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-13 06:30:16 +0900

    Explicitly use a ruby version for prism to parse the code as

    Prism can parse multiple versions of ruby. Because of that branch release managers are ok with simply
    bumping prism to its latest version.

    However, if no version is specified, it will parse as the latest known version, which can be ahead of the maintenance branch.
    So we need to explicitly pass a version to not accidentally introduce new syntax to maintenance branches.

commit 52b3f006cb31672c45b26f6a44a609fd1b8e2ee5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-13 05:09:30 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-13 06:30:16 +0900

    Bump Prism version to 1.5.0

commit 9cd1ac404e72587952d019df167e7793924699d6
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-09-11 06:02:21 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-11 07:35:06 +0900

    YJIT: Print more disassembly in release builds

    These `#[cfg(feature = "disasm")]` were unnecessary and we can provide
    the information like ruby source location regardless of the availability
    of capstone.

commit c866b9027b7429b402ed272ebaebb6c7831e3cb5
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-09-11 06:04:11 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-11 07:35:06 +0900

    YJIT: Remove dead code: `asm_comment!` checks `--yjit-dump-disasm`

commit ecebf1687dfd8defd44ff6514329224de4a598b1
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-09 05:30:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-09-09 05:30:57 +0900

    YJIT: Add more information to an assert message (#14481)

    YJIT: Add more information to an assert message in jit_guard_known_class (#14480)

    ---------

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit 600dc9cf1f8f52ba673bb43a718f7f980ea82404
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-09-09 05:11:34 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-09 05:29:50 +0900

    YJIT: Make the workflow names consistent with file names

commit 6d338434e335b1d4164a10cf12c7243119fd32c7
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-14 16:07:01 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Add missing write barrier for hash on iseq

    Found by wbcheck

commit 7de09550dad4f3921fba712009c1ec516a384fb2
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-13 07:06:38 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Add write barrier to rb_cArray_empty_frozen

    Found by wbcheck

commit f6448d65846d374d5096f53170cc9148f42df583
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-14 16:20:18 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Add write barrier to rb_cHash_empty_frozen

    Found by wbcheck

commit 4c0a2764b6634e6f2c11494fc015afd5c71537c2
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-10 02:09:10 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    More write barriers to local_iseq and parent_iseq

    Found by wbcheck

commit 3fb7c4f7e624de54fd18520585f3b294e83c2e20
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-08 12:10:05 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Use write barriers when loading catch table

    Found by wbcheck

commit eb2f79ff60065fd33a472f8e16d91b69b7a3735d
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-08 12:05:18 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Add missing write barriers to ibf_load

    Found by wbcheck

commit d2caeb1e70ea65a909bf2722706b2fd558982cc6
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-08 10:37:46 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Fix a missing write barrier to mandatory_only_iseq

    Found by wbcheck

commit ffbccd45ce04c050ae8c05162eb697bccc948a3b
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-09 02:52:33 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Add write barrier on tm_from_time->timew

    We want to always use time_set_timew, as timew is 64-bit even on 32-bit
    platforms so we need to be careful to both write that size, but still
    trigger write barriers if we end up with a heap object.

commit 34af4993bb57967d1ae3950472662667bce5d36c
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-09 02:59:13 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Add missing write barrier to time_init_copy

commit 6312c4000b1c2271141357b808e13e56c7bb3d6c
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-08 15:30:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Write barrier for zone on time

commit c2bda5c359fdf5bb9f1b813a066a3e47d445e620
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-10 10:13:38 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Add write barrier for hash in obj_traverse_i

    We are inserting directly into the st_table, so we need to issue a write
    barrier from the hash.

commit e1081f3b1aaf0766f4f01ce131b34b4b7ddbafa3
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-11 03:15:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Fix early write barrier rb_marshal_define_compat

    This write barrier occurred before the entry was added to the table, so
    if GC occurred when inserting into the table, the write could be missed.

commit ff124e9f93975e40ae91cff272a1c1d05273e615
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-15 17:18:22 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-09-06 01:05:06 +0900

    Fix too early writebarrier in tally_up

    After returning from the callback in st_update is the point that the
    hash table may be resized, which could trigger a GC and mark the table
    being used for the tally.

        RUBY_GC_LIBRARY=wbcheck WBCHECK_VERIFY_AFTER_WB=1 ./miniruby -e '(0...100).map(&:to_s).tally'

commit 38297e47945593daa3f395121c340260b9fae82d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-08-16 21:38:03 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-28 09:34:34 +0900

    CI: windows: Skip rebuilding vcpkg packages when cache restored

commit 958bdafd8a2bd7f9247024753dbc540aa311094d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-08-16 21:30:19 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-28 09:34:34 +0900

    CI: windows: Use possibly faster device for TMP/TEMP

commit ffc174470610eaa18e92254393f9b4a4c3ce54d8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-07-31 10:36:23 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-28 09:34:34 +0900

    Save vcpkg cache with master and stable branches

commit 0d367ce65fe4e85f207a8ca5f1f331dd90c6992e
  Author:     Luke Gruber <luke.gruber@shopify.com>
  AuthorDate: 2025-08-27 22:26:57 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-28 07:19:58 +0900

    Fix bad NameError raised using sendforward instruction through vcall

    If you called a VCALL method and the method takes forwarding arguments
    and then you forward those arguments along using the sendforward
    instruction, the method_missing class was wrongly chosen as NameError
    instead of NoMethodError. This is because the VM looked at the CallInfo
    of the vcall and determined it needed to raise NameError. Now we detect
    that case and raise NoMethodError.

    [Backport #21535]

commit 5a42d267bfabc86f86cae2e83de24b1b86bc316a
  Author:     Janosch Müller <janosch84@gmail.com>
  AuthorDate: 2023-04-14 03:43:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-28 07:17:15 +0900

    Make word prop match join_control to conform to UTS 18

    See <https://bugs.ruby-lang.org/issues/19417#note-3>.

    https://unicode.org/reports/tr18/#word states word should match join_control chars.

    It did not previously:

    ```ruby
    [*0x0..0xD799, *0xE000..0x10FFFF].map { |n| n.chr 'utf-8' } => all_chars
    all_chars.grep(/\p{join_control}/) => jc
    jc.count # => 2
    jc.grep(/\p{word}/).count # => 0
    ```
    [Backport #19417]

    ---

    Backporting note: I regenerated `enc/unicode/15.0.0/name2ctype.h` using
    `make update-unicode`.

commit fd036dbc3f39e6bdce735edf9ca187a690fe2079
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2025-05-30 14:32:09 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-28 06:29:42 +0900

    Do not respect ruby2_keywords on method/proc with post arguments

    Previously, ruby2_keywords could be used on a method or proc with
    post arguments, but I don't think the behavior is desired:

    ```ruby
    def a(*c, **kw) [c, kw] end
    def b(*a, b) a(*a, b) end
    ruby2_keywords(:b)

    b({foo: 1}, bar: 1)
    ```

    This changes ruby2_keywords to emit a warning and not set the
    flag on a method/proc with post arguments.

    While here, fix the ruby2_keywords specs for warnings, since they
    weren't testing what they should be testing.  They all warned
    because the method didn't accept a rest argument, not because it
    accepted a keyword or keyword rest argument.

    [Backport #21402]

commit d49c7d0661faa964099b8c28ac316e33ae641051
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-08-17 17:13:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-28 06:13:52 +0900

    [Backport #21546] Make the generated pc file relocatable

commit b97a159dd9d9843673b4b1de2b056a0868e7e0f9
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-08-27 09:35:11 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-28 01:07:32 +0900

    Bump PRISM version number to avoid collision with RubyGems version

commit 1f421d092bb8c290df5cfc9e95a01e279ebadc42
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-07-18 07:20:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-28 01:07:32 +0900

    When reading from stdin, put a wrapper around the IO object

    The purpose of this commit is to fix Bug #21188.  We need to detect when
    stdin has run in to an EOF case.  Unfortunately we can't _call_ the eof
    function on IO because it will block.

    Here is a short script to demonstrate the issue:

    ```ruby
    x = STDIN.gets
    puts x
    puts x.eof?
    ```

    If you run the script, then type some characters (but _NOT_ a newline),
    then hit Ctrl-D twice, it will print the input string.  Unfortunately,
    calling `eof?` will try to read from STDIN again causing us to need a
    3rd Ctrl-D to exit the program.

    Before introducing the EOF callback to Prism, the input loop looked
    kind of like this:

    ```ruby
    loop do
      str = STDIN.gets
      process(str)

      if str.nil?
        p :DONE
      end
    end
    ```

    Which required 3 Ctrl-D to exit.  If we naively changed it to something
    like this:

    ```ruby
    loop do
      str = STDIN.gets
      process(str)

      if STDIN.eof?
        p :DONE
      end
    end
    ```

    It would still require 3 Ctrl-D because `eof?` would block.  In this
    patch, we're wrapping the IO object, checking the buffer for a newline
    and length, and then using that to simulate a non-blocking eof? method.

    This commit wraps STDIN and emulates a non-blocking `eof` function.

    [Backport #21188]

commit c6614d4cdcf36442c099c0d11a7cd24e530b35f1
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-08-12 03:31:52 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-12 04:21:19 +0900

    YJIT: Fix `mismatched_lifetime_syntaxes`, new in Rust 1.89.0

commit 5026609f47b79da093642d9a7731c3880d2a054e
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-06-10 03:26:49 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-06 07:42:27 +0900

    Fix missing write barrier through M_TBL

    When creating a new origin in ensure_origin, we need to fire a write
    barrier after RCLASS_SET_ORIGIN. rb_class_set_super allocates, so GC
    could happen there, either incrementally marking or promoting the newly
    allocated class, and only after RCLASS_SET_ORIGIN will origin mark
    object in the M_TBL.

commit 07f7832cffea879946a796e066ccb13ccb4b2abd
  Author:     TSUYUSATO Kitsune <make.just.on@gmail.com>
  AuthorDate: 2025-07-29 00:44:44 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-01 02:02:40 +0900

    Correct castings to use OnigDistance

commit e6e547f3e582d585bfa00f330d40473c74086c09
  Author:     TSUYUSATO Kitsune <make.just.on@gmail.com>
  AuthorDate: 2025-07-28 18:45:57 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-01 02:02:40 +0900

    Add castings to prevent warnings

commit 9e024046c5f3917149015b9458ec07b145c5428b
  Author:     TSUYUSATO Kitsune <make.just.on@gmail.com>
  AuthorDate: 2025-07-28 17:50:36 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-01 02:02:40 +0900

    Port a Oniguruma patch: Integer overflow in onig_search_gpos()

    https://github.com/kkos/oniguruma/commit/778a43dd56925ed58bbe26e3a7bb8202d72c3f3f

    It differs from the Oniguruma patch in that it dosen't use `onigenc_get_prev_char_head()`
    because this function's signature has been changed by Oniguruma and the change is not ported
    in Onigmo for now. This patch respects the current Onigmo implementation.

    Co-Authored-By: K.Kosako <kkos@users.noreply.github.com>

commit 142fc23975e9e240d6b4a5ee4d63c45ab969fd10
  Author:     TSUYUSATO Kitsune <make.just.on@gmail.com>
  AuthorDate: 2025-07-28 16:18:11 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-01 02:02:40 +0900

    Port a Oniguruma patch: Integer overflow in backward_search_range() and onig_search_gpos()

    https://github.com/kkos/oniguruma/commit/bfc36d3d8139b8be4d3df630d625c58687b0c7d4

    Co-Authored-By: K.Kosako <kkos@users.noreply.github.com>

commit 9f45db04ac36386aedfb35d1f3a5ff9603a24d68
  Author:     TSUYUSATO Kitsune <make.just.on@gmail.com>
  AuthorDate: 2025-07-28 16:05:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-08-01 02:02:40 +0900

    Port a Oniguruma patch: Integer overflow in forward_search_range()

    https://github.com/kkos/oniguruma/commit/db64ef3189f54917a5008a02bdb000adc514a90a

    Co-Authored-By: K.Kosako <kkos@users.noreply.github.com>

commit 8b505a286080fead52a603fcd2761c2d6b3e3aec
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-22 06:45:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-22 06:45:15 +0900

    merge revision(s) 148db9c80f11af1780f0f3685201f28de8f6b47a: [Backport #21259]

            Fix flipflop line numbers

            [ruby-core:121605]

commit d713896f19517ab688b13174e6346a87fd9e01ee
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-31 08:00:53 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-18 01:23:16 +0900

    YJIT: Explicitly specify C ABI to fix Rust warning

    Backport of 7e733ca55168e3b1f10b685f6e9a52cf1deb5aff to
    fix [Bug #21514].

commit 20cda200d3ce092571d0b5d342dadca69636cb0f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-16 01:27:14 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-16 01:27:14 +0900

    v3.4.5

commit 8b1c313d4029715ea0371142fde2ac7de0b2b22c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-06-03 15:57:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-16 01:23:42 +0900

    [ruby/etc] Alias value or join to take in old Ruby

    https://github.com/ruby/etc/commit/3dbe760bed

commit d2264185fad4f272a8cb5b9865fd3cd47e5e8291
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-07-01 17:38:25 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-16 01:23:42 +0900

    [ruby/json] [ruby/json] Run `have_func` with the header providing the declarations

    https://github.com/ruby/json/commit/95fb084027

    https://github.com/ruby/json/commit/9d080765cc

commit 8a9c6e0304f554b3d9d9c29bb07e1ab8544d5c37
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-07-01 17:38:25 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-16 01:23:42 +0900

    [ruby/strscan] Run `have_func` with the header providing the declarations

    https://github.com/ruby/strscan/commit/18c0a59b65

commit 2473d0b6f758f3826de70f66412a6eb678fb9002
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-06-12 10:32:49 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-16 01:23:42 +0900

    [ruby/strscan] Update extconf.rb
    (https://github.com/ruby/strscan/pull/158)

    - `have_func` includes "ruby.h" by default.
    - include "ruby/re.h" where `rb_reg_onig_match` is declared.

    https://github.com/ruby/strscan/commit/1ac96f47e9

commit 05a7d345ce0cc6fc5c55a4df0e633b145c3e6316
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-07-01 17:38:25 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-16 01:23:42 +0900

    [ruby/openssl] [ruby/openssl] Run `have_func` with the header providing the declarations

    https://github.com/ruby/openssl/commit/b6f56c4540

    https://github.com/ruby/openssl/commit/5277ca1431

commit 9a11bc5a2456448381235f25f0b51b33d2baf946
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-07-15 17:34:50 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-16 01:23:42 +0900

    Merge etc 1.4.6

commit 84d49322701ea1a2451440f53633ed9fd4a72f02
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-07-15 17:34:32 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-16 01:23:42 +0900

    Merge io-nonblock 0.3.2

commit 854787a8b23f82f59f15c3253a8461534495d7f5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-07-15 17:34:14 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-16 01:23:42 +0900

    Merge io-wait 0.3.2

commit 282cbf68f0d4dcb75aeeefea1fac4ffd9e7a319b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-07-15 17:33:40 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-16 01:23:42 +0900

    Merge io-console 0.8.1

commit cfdc2465d9fcd14eba512bfa80b5fd7c9e67f18e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-07-14 18:23:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-07-15 18:34:31 +0900

    Split restore and save actions from action/cache. We need to save always vcpkg cache

commit 596126ee5aa35a65bcaca60b92b5547ef1a9d2da
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 06:50:56 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:50:56 +0900

    merge revision(s) b42afa1dbcbb91e89852b3b3bc72484d7f0a5528, f1f0cc14cc7d3f9be35b203e5583f9224b1e2387, 543e3a1896ae2fe3b5b954f6497d261ab5663a15, ed2806117a0b76e4439ce1a061fae21d9e116d69, 46e4c8673747de96838d2c5dec37446d23d99d88: [Backport #21500]

            Suppress gcc 15 unterminated-string-initialization warnings

            Separate `__has_attribute` from `defined(__has_attribute)`

            Fix Visual C warnings:
            ```
            regenc.h(121): warning C4067: unexpected tokens following preprocessor directive - expected a newline
            ```

            Cast up `int` instruction code to `VALUE`

            Fix Visual C warnings:
            ```
            iseq.c(3793): warning C4312: 'type cast': conversion from 'int' to 'void *' of greater size
            iseq.c(3794): warning C4312: 'type cast': conversion from 'int' to 'void *' of greater size
            ```

            Do not let files depend on a phony target

            Detect `clock_gettime` and `clock_getres` for winpthreads

commit 782aef10bbdb63aba6d71e4f5f1876888c70efcb
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 06:48:27 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:48:27 +0900

    merge revision(s) d77e02bd85ab7f841df8d473bac214b9a92a3506: [Backport #21497]

            [Bug #21497] [ruby/socket]: add full prototype
            MIME-Version: 1.0
            Content-Type: text/plain; charset=UTF-8
            Content-Transfer-Encoding: 8bit

            otherwise, gcc 15 will complain:

            > init.c:573:19: error: too many arguments to function ‘Rconnect’; expected 0, have 3
            >   573 |     return (VALUE)Rconnect(arg->fd, arg->sockaddr, arg->len);
            >       |                   ^~~~~~~~ ~~~~~~~
            > In file included from init.c:11:
            > rubysocket.h:294:5: note: declared here
            >   294 | int Rconnect();
            >       |     ^~~~~~~~

            > sockssocket.c:33:9: error: too many arguments to function ‘SOCKSinit’; expected 0, have 1
            >    33 |         SOCKSinit("ruby");
            >       |         ^~~~~~~~~ ~~~~~~
            > In file included from sockssocket.c:11:
            > rubysocket.h:293:6: note: declared here
            >   293 | void SOCKSinit();
            >       |      ^~~~~~~~~

            Signed-off-by: Z. Liu <zhixu.liu@gmail.com>

commit 02744e58f3d410931a58873e1dab8752740e60ff
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 06:31:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:31:20 +0900

    merge revision(s) c1877d431e76f4a782d51602fa8487e98d302956: [Backport #21437]

            [ruby/date] [Bug #21437] Date#hash for large years

            Addresses https://bugs.ruby-lang.org/issues/21437

            Signed-off-by: Dmitry Dygalo <dmitry.dygalo@workato.com>

            https://github.com/ruby/date/commit/31f07bc576

commit 2af8f305542fd20537435046c1a558db5b2cacc5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 06:30:53 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:30:53 +0900

    merge revision(s) 2e7e78cd590d20aa9d41422e96302f3edd73f623: [Backport #21440]

            [Bug #21440] Stop caching member list in frozen Data/Struct class

commit 508daebdcd730e34d5fb750880249deae8025b80
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 06:29:57 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:29:57 +0900

    merge revision(s) 1181a682a6c314c92686e3701defa1eb44068c4e, d84a811f31a65821642b165d712f380c0cc060e0: [Backport #21448]

            [Bug #21448] Use `getentropy(2)` only on macOS

            If this is not a system call, then it is using getrandom (which would
            have been tried already), and cannot be used as a replacement for the
            random devices.

            [Bug #21448] Reorder trials in `fill_random_bytes`

            First try dedicated system calls, such as `getrandom` or `getentropy`,
            next possible libraries, then fallback to `/dev/urandom`.

commit f0f97886fc0ef805835f0a0d7553e2a8abf988de
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 06:29:12 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:29:12 +0900

    merge revision(s) 1d94a9e1a4351e01f851dad250ba97dad859ee70: [Backport #21447]

            Fix handling of PM_CONSTANT_PATH_NODE node in keyword arguments with ARGS_SPLAT

            This was handled correctly in parse.y (NODE_COLON2), but not in
            prism. This wasn't caught earlier, because I only added tests for
            the optimized case and not the unoptimized case. Add tests for
            the unoptimized case.

            In code terms:

            ```ruby
            m(*a, kw: lvar::X)     # Does not require allocation for *a
            m(*a, kw: method()::X) # Requires allocation for *a
            ```

            This commit fixes the second case when prism is used.

commit fee92000fe96ac2dba0e87c5ed60c7440c8e2117
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 06:23:45 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:23:45 +0900

    merge revision(s) fa85d23ff4a02985ebfe0716b0ff768f5b4fe13d: [Backport #21380]

            [Bug #21380] Prohibit modification in String#split block

            Reported at https://hackerone.com/reports/3163876

commit 3a06b3d9f51bc4a3eef5fbaa035595ed34d65eba
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 06:16:02 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:17:12 +0900

    Revert "merge revision(s) ff222ac27afe712ef6ec2bb74c81cdde1a1fa176: [Backport #21370]"

    This reverts commit acb19e8707093593e967b6af03d92da5c570ffc6.

commit e68adac82a58e1b4a63d9e31047b59cbd515c54c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 06:14:34 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:14:34 +0900

    merge revision(s) 097d742a1ed53afb91e83aef01365d68b763357b: [Backport #20009]

            [Bug #20009] Support marshaling non-ASCII name class/module

commit 82e05dc945e3e2c5ab22be661f6caf6c7436461f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 06:10:16 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:10:16 +0900

    merge revision(s) f6cbf499bc98b851034fffb49fcbb59d495f6f7b: [Backport #21354]

            Fix Symbol#to_proc (rb_sym_to_proc) to be ractor safe

            In non-main ractors, don't use `sym_proc_cache`. It is not thread-safe
            to add to this array without a lock and also it leaks procs from one
            ractor to another. Instead, we create a new proc each time. If this
            results in poor performance we can come up with a solution later.

            Fixes [Bug #21354]

commit 585469aff3de855a9f3db8e51f12bf87300981af
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 06:04:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:04:20 +0900

    merge revision(s) 5ec9a392cdf7f971221dc073dd466bce877d8acb: [Backport #21439]

            [Bug #21439] Fix `PM_SPLAT_NODE` compilation error in for loops (#13597)

            [Bug #21439] Fix PM_SPLAT_NODE compilation error in for loops

            This commit fixes a crash that occurred when using splat nodes (*) as
            the index variable in for loops. The error "Unexpected node type for
            index in for node: PM_SPLAT_NODE" was thrown because the compiler
            didn't know how to handle splat nodes in this context.

            The fix allows code like `for *x in [[1,2], [3,4]]` to compile and
            execute correctly, where the splat collects each sub-array.

commit 79b73dd862f6e439142e56301e60a58ed1d44030
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 05:58:08 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 06:01:22 +0900

    merge revision(s) 8d49c05c134702c321198b70fbbf34dd80cc1ba6: [Backport #21395]

            Use the edge version of debug gem

commit 58d08abef567dab582ec5f7c3dcd2b8fabdaebd6
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 05:55:45 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 05:55:45 +0900

    merge revision(s) a084fef9afc7713aa4f4111f7e826c7ca1a607c7: [Backport #21099]

            [Bug #21099] Fix GC when Ractor list not initialized

            When the Ractor list is not initialized and a GC is ran at boot, then it
            would crash because the newobj_cache of the main Ractor is not cleared.
            This commit changes it to use ruby_single_main_ractor when it's available
            and iterate over the Ractor list when we have multiple Ractors.

commit c397c2d177a0b7fd13b69c5109418fbe1f9eccd1
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 05:55:05 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 05:55:05 +0900

    merge revision(s) 34b407a4a89e69dd04f692e2b29efa2816d4664a: [Backport #21394]

            Fix memory leak in Prism's RubyVM::InstructionSequence.new

            [Bug #21394]

            There are two ways to make RubyVM::InstructionSequence.new raise which
            would cause the options->scopes to leak memory:

            1. Passing in any (non T_FILE) object where the to_str raises.
            2. Passing in a T_FILE object where String#initialize_dup raises. This is
               because rb_io_path dups the string.

            Example 1:

                10.times do
                  100_000.times do
                    RubyVM::InstructionSequence.new(nil)
                  rescue TypeError
                  end

                  puts `ps -o rss= -p #{$$}`
                end

            Before:

                13392
                17104
                20256
                23920
                27264
                30432
                33584
                36752
                40032
                43232

            After:

                9392
                11072
                11648
                11648
                11648
                11712
                11712
                11712
                11744
                11744

            Example 2:

                require "tempfile"

                MyError = Class.new(StandardError)
                String.prepend(Module.new do
                  def initialize_dup(_)
                    if $raise_on_dup
                      raise MyError
                    else
                      super
                    end
                  end
                end)

                Tempfile.create do |f|
                  10.times do
                    100_000.times do
                      $raise_on_dup = true
                      RubyVM::InstructionSequence.new(f)
                    rescue MyError
                    else
                      raise "MyError was not raised during RubyVM::InstructionSequence.new"
                    end

                    puts `ps -o rss= -p #{$$}`
                  ensure
                    $raise_on_dup = false
                  end
                end

            Before:

                14080
                18512
                22000
                25184
                28320
                31600
                34736
                37904
                41088
                44256

            After:

                12016
                12464
                12880
                12880
                12880
                12912
                12912
                12912
                12912
                12912

commit acb19e8707093593e967b6af03d92da5c570ffc6
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 05:54:31 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 05:54:31 +0900

    merge revision(s) ff222ac27afe712ef6ec2bb74c81cdde1a1fa176: [Backport #21370]

            compile.c: Handle anonymous variables in `outer_variable_cmp`

            [Bug #21370]

commit cdb039d3e4f76ee01744814e5f08395835fa8e63
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 05:53:56 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 05:53:56 +0900

    merge revision(s) 9f91f3617bab2ee220d298ddb874ef73b10dac23: [Backport #21383]

            Fix memory leak with invalid yield in prism

            [Bug #21383]

            The following script leaks memory:

                10.times do
                  20_000.times do
                    eval("class C; yield; end")
                  rescue SyntaxError
                  end

                  puts `ps -o rss= -p #{$$}`
                end

            Before:

                16464
                25536
                29424
                35904
                39552
                44576
                46736
                51600
                56096
                59824

            After:

                13488
                16160
                18240
                20528
                19760
                21808
                21680
                22272
                22064
                22336

commit 1bdae3404b2918a8823d2fbac2f9e30f778aa1c9
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 05:52:11 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 05:52:11 +0900

    merge revision(s) 056497319658cbefe22351c6ec5c9fa6e4df72bd: [Backport #21357]

            [Bug #21357] Fix crash in Hash#merge with block

            Prior to https://github.com/ruby/ruby/commit/49b306ecb9e2e9e06e0b1590bacc5f4b38169c3c
            the `optional_arg` passed from `rb_hash_update_block_i` to `tbl_update`
            was a hash value (i.e. a VALUE). After that commit it changed to an
            `update_call_args`.

            If the block sets or changes the value, `tbl_update_modify` will set the
            `arg.value` back to an actual value and we won't crash. But in the case
            where the block returns the original value we end up calling
            `RB_OBJ_WRITTEN` with the `update_call_args` which is not expected and
            may crash.

            `arg.value` appears to only be used to pass to `RB_OBJ_WRITTEN` (others
            who need the `update_call_args` get it from `arg.arg`), so I don't think
            it needs to be set to anything upfront. And `tbl_update_modify` will set
            the `arg.value` in the cases we need the write barrier.

commit 247b452af3ace2000d27475a0cb05ebecf3bb29c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-07-15 05:49:12 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-15 05:49:12 +0900

    merge revision(s) 49b306ecb9e2e9e06e0b1590bacc5f4b38169c3c: [Backport #21333]

            [Bug #21333] Prohibit hash modification inside Hash#update block

commit 1e3d24a0f47e142270bfb6073feb77f6364af052
  Author:     Takashi Kokubun <takashi.kokubun@shopify.com>
  AuthorDate: 2025-07-10 06:51:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-07-10 06:51:32 +0900

    [ruby/prism] Accept a newline after the defined? keyword [Backport #21197] (#13327)

    * [ruby/prism] Accept a newline after the defined? keyword

    [Bug #21197]

    https://github.com/ruby/prism/commit/22be955ce9

    * Fix a compilation error

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    ---------

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>
    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit fd8a67fc8c10326042989da7d4e49b90c2f27ebb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-07-08 18:44:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-10 01:40:32 +0900

    Re-ordered vcpkg related steps. It may be affected with VsDevCmd.bat

commit 942d64b428ea72929d66198ff8751c4980b94777
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-07-08 18:42:02 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-07-10 01:40:32 +0900

    Use the latest version of Visual Studio with windows-2022 runner image

commit 5cd408a52ef6e31b16aeee548c900438dc560637
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-07-09 01:32:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-07-09 01:32:36 +0900

    Bump up resolv-0.6.2 for Ruby 3.4 (#13818)

commit 66437a400d9fa166f0d0c5770da80e41cde5815c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-07-02 01:31:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-07-02 01:31:57 +0900

    Backport GH-13617 for s390x (#13757)

commit 5df38256792b2823a3dc201c100d0bcccdc61688
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-06-25 14:37:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-06-25 15:22:45 +0900

    Specified --vcpkg-root with scoop directory

commit 0343fcdbfd848a8bc31be7f5c971944646ef4b45
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-06-25 13:40:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-06-25 15:22:45 +0900

    Replaced built-in binary cache of vcpkg to actions/cache

    ```
    %VCPKG_BINARY_SOURCES%: warning: The 'x-gha' binary caching backend has been removed. Consider using a NuGet-based binary caching provider instead, see extended documentation at https://learn.microsoft.com/vcpkg/users/binarycaching?WT.mc_id=vcpkg_inproduct_cli.
      on expression: clear;x-gha,readwrite
    ```

commit bb2c266498c4791b66071f426936fc49588a0922
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-06-25 13:38:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-06-25 15:22:45 +0900

    Added rake test to allow failures

commit 84a90636c5547f104ac382e996f44f0b2cab1050
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-05-26 20:11:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-06-25 15:22:45 +0900

    Win: Suppress false warnings from Visual C 17.14.1

    https://developercommunity.visualstudio.com/t/warning-C5287:-operands-are-different-e/10877942?

    It is not able to silence "operands are different enum types"
    warnings, even using an explicit cast, as the message says.

commit 8b59ba89a8c365ccf4a40ee6936ee855095eaf83
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-06-25 10:49:27 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-06-25 11:50:31 +0900

    Try to use windows-2025 runner for test-bundled-gems

commit d2ed304fd9546494ef865b5992e9b038a633bac5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-06-25 10:45:51 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-06-25 11:50:31 +0900

    Try to use the latest version of winsdk in windows-2025 runner

commit 309b1aaf1f92185eb060f6520a10498b90de856e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-05-26 20:37:14 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-06-25 11:50:31 +0900

    [Bug #21255] Win32: Do not export `__declspec(selectany)` symbols

    ```
    x64-vcruntime140-ruby350.def : error LNK2001: unresolved external symbol Avx2WmemEnabledWeakValue
    ```

commit 3c8be029b6d58e0edbe5d32678b1b8565886a011
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-06-25 10:02:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-06-25 11:50:31 +0900

    Try to use the latest version of Visual Studio in windows-2025 runner.

commit edfcbacabae6317195a55f2b83fafe2d2b3f6fc8
  Author:     Luke Gruber <luke.gruber@shopify.com>
  AuthorDate: 2025-06-18 05:56:26 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-06-21 02:13:59 +0900

    thread_cleanup: set CFP to NULL before clearing ec's stack

    We clear the CFP first so that if a sampling profiler interrupts the current thread during `rb_ec_set_vm_stack`,
    `thread_profile_frames` returns early instead of trying to walk the stack that's no longer set on the ec.

    The early return in `thread_profile_frames` was introduced at eab7f4623fb.

    Fixes [Bug #21441]

commit c57efbfb3ac3848f954735600bbab1ea814dd742
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2025-05-03 21:39:57 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-06-19 03:09:20 +0900

    Fix `heap-use-after-free` in `free_fast_fallback_getaddrinfo_entry` (#13231)

    This change addresses the following ASAN error:

    ```
    ==36597==ERROR: AddressSanitizer: heap-use-after-free on address 0x512000396ba8 at pc 0x7fcad5cbad9f bp 0x7fff19739af0 sp 0x7fff19739ae8
      WRITE of size 8 at 0x512000396ba8 thread T0
      [643/756] 36600=optparse/test_summary
          #0 0x7fcad5cbad9e in free_fast_fallback_getaddrinfo_entry /home/runner/work/ruby-dev-builder/ruby-dev-builder/ext/socket/raddrinfo.c:3046:22
          #1 0x7fcad5c9fb48 in fast_fallback_inetsock_cleanup /home/runner/work/ruby-dev-builder/ruby-dev-builder/ext/socket/ipsocket.c:1179:17
          #2 0x7fcadf3b611a in rb_ensure /home/runner/work/ruby-dev-builder/ruby-dev-builder/eval.c:1081:5
          #3 0x7fcad5c9b44b in rsock_init_inetsock /home/runner/work/ruby-dev-builder/ruby-dev-builder/ext/socket/ipsocket.c:1289:20
          #4 0x7fcad5ca22b8 in tcp_init /home/runner/work/ruby-dev-builder/ruby-dev-builder/ext/socket/tcpsocket.c:76:12
          #5 0x7fcadf83ba70 in vm_call0_cfunc_with_frame /home/runner/work/ruby-dev-builder/ruby-dev-builder/./vm_eval.c:164:15
    ...
    ```

    A `struct fast_fallback_getaddrinfo_shared` is shared between the main thread and two child threads.
    This struct contains an array of `fast_fallback_getaddrinfo_entry`.

    `fast_fallback_getaddrinfo_entry` and `fast_fallback_getaddrinfo_shared` were freed separately, and if `fast_fallback_getaddrinfo_shared` was freed first and then an attempt was made to free a `fast_fallback_getaddrinfo_entry`, a `heap-use-after-free` could occur.

    This change avoids that possibility by separating the deallocation of the addrinfo memory held by `fast_fallback_getaddrinfo_entry` from the access and lifecycle of the `fast_fallback_getaddrinfo_entry` itself.

commit 584365af7baeb80b74d31a26b8ec51e66b2ccc1a
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2025-01-29 22:19:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-06-19 03:09:20 +0900

    Ensure that memory is not freed before calling `free_fast_fallback_getaddrinfo_*` (#12661)

    Ensure that `getaddrinfo_entry` and `getaddrinfo_shared` exist before free them in the main thread.

commit 45ddafb95bd732f7305925a779cd8403ac30e1bf
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-06-19 02:47:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-06-19 02:47:59 +0900

    Fix use-after-free when resizing exivars (#13637)

    Fix generic_ivar_set_shape_ivptr for table rebuild

    [Bug #21438]

    Previously GC could trigger a table rebuild of the generic ivar
    st_table in the middle of calling the st_update callback. This could
    cause entries to be reallocated or rearranged and the update to be for
    the wrong entry.

    This commit adds an assertion to make that case easier to detect, and
    replaces the st_update with a separate st_lookup and st_insert.

    Also free after insert in generic_ivar_set_shape_ivptr

    Previously we were performing a realloc and then inserting the new value
    into the table. If the table was flagged as requiring a rebuild, this
    could trigger GC work and marking within that GC could access the ivptr
    freed by realloc.

    Co-authored-by: John Hawthorn <john@hawthorn.email>
    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

commit 2cce628721728409a26c2d4732f63419785c7fd8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-05-31 06:00:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-05-31 06:00:27 +0900

    Sync lockfile from rubygems/rubygems (#13472)

    * Sync lockfile from rubygems/rubygems

    * Restore lockfile for test-bundler

    In the past, bundler updated platform without normalized variable like arm64-darwin-23.
    We ignored that update. But the current bundler uses arm64-darwin for that.

    ---------

    Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>

commit 3941954fd48265f5eeeb4d339ffe48699fbbe1ec
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-05-28 21:09:55 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-29 03:14:49 +0900

    Remove unnecessary `GEM_PATH` modification

commit baa5f15b336c92c8ee8498056bd5d0e8d5b80f57
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-08 23:24:01 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-29 03:14:49 +0900

    Sync Bundler and adapt to new spec setup

commit 89bcc631f491bae1893bb578fb79dae3fc80dfe4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-05-27 19:25:09 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-29 03:14:49 +0900

    Revert "Revert https://github.com/rubygems/rubygems/commit/d74fa0fdda481043112f9de179be572b74a711ed"

    This reverts commit 7dcfdf1d7d1b1d13ab9bdc6f2b4bb89c78629332.

commit 877ae93e83d67eb78460af98384d96e7361fbd99
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-05-28 21:18:44 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-29 03:14:49 +0900

    Initialize `gems` tmp when initializing bundled_gems_spec suite

    That way it works even if no Bundler specs have run before.

commit 439428c8c5eb694a1262fee1e7c13766f065e992
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-22 12:42:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-05-23 12:56:37 +0900

    Skip failing example on Ubuntu runner of ruby/ruby

    https://github.com/ruby/ruby/actions/runs/14585602800/job/40910453142

commit 2de5cb2f13b7afaa6e2f4914eb934211255b4d37
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-23 09:37:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-05-23 12:56:37 +0900

    Skip RBS tests for RDocPluginParserTest caused by interface change of RDoc 6.14.0

    https://github.com/ruby/ruby/actions/runs/15199473008/job/42750815986?pr=13421

    ```
     Error: ArgumentError: wrong number of arguments (given 0, expected 1)
      /Users/runner/work/ruby/ruby/src/lib/rdoc/store.rb:123:in 'initialize'
      /Users/runner/work/ruby/ruby/src/gems/src/rbs/test/rbs/rdoc/rbs_parser_test.rb:8:in 'Class#new'
      /Users/runner/work/ruby/ruby/src/gems/src/rbs/test/rbs/rdoc/rbs_parser_test.rb:8:in 'RDocPluginParserTest#parser'
      /Users/runner/work/ruby/ruby/src/gems/src/rbs/test/rbs/rdoc/rbs_parser_test.rb:147:in 'RDocPluginParserTest#test_instance_method_comment_and_tokens'
    ```

commit df487932fad588f57b6fc77e032beaef9751eb98
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-23 09:24:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-05-23 12:56:37 +0900

    test/lib/helper.rb is only for ruby/rdoc repo

commit 7dcfdf1d7d1b1d13ab9bdc6f2b4bb89c78629332
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-23 08:36:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-05-23 12:56:37 +0900

    Revert https://github.com/rubygems/rubygems/commit/d74fa0fdda481043112f9de179be572b74a711ed

commit bc2e95ee93d3e0584e4d916bed8bb0382762c4ec
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2025-05-23 06:50:09 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-23 07:04:47 +0900

    Apply new RDoc config options

commit 03eb777c69d64aa4941891a784c1fd67b44ea42c
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2025-05-23 06:49:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-23 07:04:47 +0900

    Sync RDoc 6.14.0

commit ca1ea9578485c27daac1e16107cb48551a58d8ad
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-05-21 00:58:32 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-23 01:21:10 +0900

    Include stdbool.h without checking with autoconf

    As reported in <https://bugs.ruby-lang.org/issues/21340>, older autoconf
    have an AC_HEADER_STDBOOL that's incompatible with C23. Autoconf 2.72
    fixed the macro, but also mentions that it's obsolescent since all
    current compilers have this header.

    Since we require C99 [1] and VS 2015 [2], should be able take
    that suggestion and include stdbool.h without a check. This worked
    fine on rubyci.org.

    [Backport #21340]

    [1]: https://bugs.ruby-lang.org/issues/15347
    [2]: https://bugs.ruby-lang.org/issues/19982

commit 616771e34e651d2a09ab3dad77d826c2100512e8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-22 16:15:55 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-23 01:20:28 +0900

    Merge RubyGems-3.6.9 and Bundler-2.6.9

commit d766eceb48792e938ed4a2e303df7027e3c43c1e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-22 16:14:56 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-23 01:20:28 +0900

    Merge RubyGems-3.6.8 and Bundler-2.6.8

commit 8125827578ed5ce3487f9ee08a4adc072f74a234
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-21 18:20:33 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-23 01:19:24 +0900

    windows-2025 runner removed D drive from their environment

commit c104fc41b0e8ce80f4178c3b384d1405570714b2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-21 17:33:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-23 01:19:24 +0900

    Disabled TRAP cache of CodeQL

commit a38531fd3f617bf734ef7d6c595325f69985ea1d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-05-14 09:59:23 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-14 12:11:06 +0900

    v3.4.4

commit d8e7ab99a30f60620cccdff9e2e729968a4d84d1
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-05-14 12:10:15 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-05-14 12:10:15 +0900

    YJIT: Split the block on optimized getlocal/setlocal (#13331)

commit a21b88a6081edaa73549caa285d4f0d26d1f8462
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-05-14 10:37:59 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-14 12:01:10 +0900

    [Bug #21331] Prohibit hash modification during stlike loop

commit 22f2047a3d8b02018269b49dbcd23b8101314009
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-05-14 10:26:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-14 12:00:58 +0900

    Remove unused retval assignments

commit fbcb3271857115596d9a2760bb117d196d7f57a9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-05-14 10:23:16 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-14 12:00:53 +0900

    Revert "[Bug #21331] Prohibit modification during stlike loop"

    This reverts commit bb180b87b43c45e17ff49735a26d7a188d5c8396, which
    caused "malloc during GC" error on wasm.

commit 65e02ab1a6e4482f417ec1d1cb4453958ad36ca3
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-05-14 09:18:43 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-14 09:18:43 +0900

    merge revision(s) 3e47e7a499acd256be549935fcb559d3c82e556c, b48b841378f80e16378ceb83f3b78e52df9ae023, 2fe8b9cd3d308d754f3d33a948dfb1dd782a10dc: [Backport #21327]

            Fix redefinition of `clock_gettime` and `clock_getres`

            winpthreads-git 12.0.0.r720 provides `clock_gettime` and
            `clock_getres` as inline functions.

            digest.so needs ruby/digest.h which is installed by build-ext

            Copy to path with the base name

commit 862480a316c014d2b4659b22cd12e311c0810105
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-05-14 09:14:49 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-14 09:14:49 +0900

    merge revision(s) bb180b87b43c45e17ff49735a26d7a188d5c8396: [Backport #21331]

            [Bug #21331] Prohibit modification during stlike loop

commit 7e44df91b6d01be68391a029997f5ccdabe80603
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-04-29 21:13:17 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-08 02:04:46 +0900

    Fix C23 (GCC 15) WIN32 compatibility for rb_define_* functions

    Backport [Bug #21286]

commit 4aac15063094d30c3ed0c3639ffbf54a595731a5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-05-07 07:35:58 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-07 07:35:58 +0900

    Skip an unstable Ractor test

commit 7afa08ce8d245c7d756ddaeb78daddb61fd0e271
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-05-06 05:35:28 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-07 07:34:58 +0900

    YJIT: End the block after OPTIMIZE_METHOD_TYPE_CALL

commit ac311437d3c4d60fe4ac100e9652b0cbc3e5f481
  Author:     Daniel Colson <danieljamescolson@gmail.com>
  AuthorDate: 2025-04-29 01:54:25 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-03 01:02:57 +0900

    [Backport 3.4] Fix C level backtraces for USE_ELF

    [Backport #21289]

commit 3557739db95833454de34a4169212633dec8c76d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-16 10:59:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-05-01 16:10:56 +0900

    [rubygems/rubygems] Fixed rubocop issue: Layout/SpaceInsideBlockBraces

    https://github.com/rubygems/rubygems/commit/77a52b011a

commit 1a0a1690cdcda415879e28302d888a1dc1e3d74a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-16 08:29:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-05-01 16:10:56 +0900

    Run the proper version of `rake`

commit 9e22d6fb1e546b4dde2a518cfc808e5d89044cff
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-01 13:31:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-05-01 16:10:56 +0900

    Use windows-2022 image for test-bundled-gems

    rake test is broken with system ruby

    https://github.com/ruby/ruby/actions/runs/14768933827/job/41465573970?pr=13221

commit b04f3995ea520d723de5507203abc63537ad8fd3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-01 12:12:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-05-01 16:10:56 +0900

    Bump up the latest version of actions

commit 6e95400497b8cc6663fb417a53bf2d33b265bfb1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-01 11:34:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-05-01 16:10:56 +0900

    ubuntu-20.04 is retired

commit 321fb434ff74bac551eb0fa548bb55ccd895e2ba
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-01 11:22:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-05-01 16:10:56 +0900

    Rename matrix.vs to matrix.os. It's not Visual Studio version now

commit c11836eceace1339d8b4388ed9625acac837241d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-05-01 11:16:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-05-01 16:10:56 +0900

    Use windows-2022 and windows-2025 because windows-2019 is EOL at June 2025

commit 53549b3b1ff412daed3e8063329b4538373796cb
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-17 11:53:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-01 03:29:58 +0900

    Supply LIBCLANG_PATH for clang-14 for yjit-bindgen

    Or else it gets confused from all the different versions of LLVM in the
    image.

commit 84e7f671606ed504b37f5c6979184973955969b6
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-17 04:04:52 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-01 02:58:47 +0900

    Use clang-14 to match the libclang version bindgen finds by default

commit 4fc785b91bec95cf4bb7a604fcb302db4deece90
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-16 16:08:31 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-01 02:38:18 +0900

    sd ubuntu-20.04 ubuntu-22.04 .github/workflows/*

commit aed8b7ff54a8cd94ea9929d1df9bcfde07331af0
  Author:     nick evans <nick@rubinick.dev>
  AuthorDate: 2025-05-01 01:56:12 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-05-01 02:37:13 +0900

    Bump net-imap to v0.5.8 for Ruby 3.4 (CVE-2025-43857)

    v0.5.7 addresses CVE-2025-43857 (GHSA-j3g3-5qv5-52mj).

    v0.5.8 fixes some bugs in `Net::IMAP::SequenceSet`.

commit 50b1759be00713535c41f5650feb3967c533450a
  Author:     Rian McGuire <rian@rian.id.au>
  AuthorDate: 2025-04-28 21:50:29 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-29 01:23:33 +0900

    YJIT: Fix potential infinite loop when OOM (GH-13186)

    Avoid generating an infinite loop in the case where:
    1. Block `first` is adjacent to block `second`, and the branch from `first` to
       `second` is a fallthrough, and
    2. Block `second` immediately exits to the interpreter, and
    3. Block `second` is invalidated and YJIT is OOM

    While pondering how to fix this, I think I've stumbled on another related edge case:
    1. Block `incoming_one` and `incoming_two` both branch to block `second`. Block
       `incoming_one` has a fallthrough
    2. Block `second` immediately exits to the interpreter (so it starts with its exit)
    3. When Block `second` is invalidated, the incoming fallthrough branch from
       `incoming_one` might be rewritten first, which overwrites the start of block
       `second` with a jump to a new branch stub.
    4. YJIT runs of out memory
    5. The incoming branch from `incoming_two` is then rewritten, but because we're
       OOM we can't generate a new stub, so we use `second`'s exit as the branch
       target. However `second`'s exit was already overwritten with a jump to the
       branch stub for `incoming_one`, so `incoming_two` will end up jumping to
       `incoming_one`'s branch stub.

    Backport [Bug #21257]

commit d0b7e5b6a04bde21ca483d20a1546b28b401c2d4
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-04-14 16:33:49 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-14 16:33:49 +0900

    v3.4.3

commit 1c23c3095325a4ade2064cc3b35ce8e678e03ebf
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-04-14 16:29:03 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-14 16:29:03 +0900

    Revert "merge revision(s) 052794bfe1970e90f4f4f9e37fc362dd27903a8d: [Backport #21197]"

    This reverts commit e630a0f7ae909dafe2e1dbc47baf90cd795b4a5f.

commit 1b6f9cd6ea5715ad33d8ba4c78382aa8aafdbcd4
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-04-14 16:25:55 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-14 16:25:55 +0900

    merge revision(s) 0d6263bd416338a339651fb97fe4d62701704c4b: [Backport #21220]

            Fix coverage measurement for negative line numbers

            Fixes [Bug #21220]

            Co-Authored-By: Mike Bourgeous <mike@mikebourgeous.com>
            Co-Authored-By: Jean Boussier <jean.boussier@gmail.com>

commit 9abd48df705c37f69ec9fd954f84cbbbd65db624
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-04-14 16:21:51 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-14 16:21:51 +0900

    merge revision(s) 3a7b9ca93b91dcc086b9ac8b9957e59268f9493b: [Backport #21217]

            Fix `Integer.sqrt` to never exceed actual value

            `Integer.sqrt` uses `sqrt(3)` from libm for small values.
            This method must return a value less than or equal to the actual integer
            square root, but libm's sqrt does not always guarantee that.

            This change corrects that by decrementing the result if necessary.

            Fixes [Bug #21217]

commit 7b5e4125b9935cd78d80719de018dad446780e40
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-04-14 16:20:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-14 16:20:04 +0900

    merge revision(s) f27ed98effff9891d28edc7119d45811bcedd510: [Backport #21183]

            [ruby/prism] Freeze `Prism::VERSION`

            Closes https://github.com/ruby/prism/pull/3422

            https://github.com/ruby/prism/commit/b488a84253

commit e630a0f7ae909dafe2e1dbc47baf90cd795b4a5f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-04-14 16:18:37 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-14 16:18:37 +0900

    merge revision(s) 052794bfe1970e90f4f4f9e37fc362dd27903a8d: [Backport #21197]

            [ruby/prism] Accept a newline after the defined? keyword

            [Bug #21197]

            https://github.com/ruby/prism/commit/22be955ce9

commit 86e37a9b707057922198137aab99bff5cc760317
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-15 00:36:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-10 08:02:37 +0900

    Test for the crash

commit 7e093fb43a692935823de1bb32ac4f05e46329bb
  Author:     Luke Jahnke <luke.jahnke@gmail.com>
  AuthorDate: 2025-03-14 22:38:33 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-10 08:02:37 +0900

    Fix crash in TCPSocket.open

    Fix segfault crash observable with TCPSocket.open(nil, nil)

commit e580145171c16d3ca31ee0732e3ed87ff7dfd774
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-09 09:19:31 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-09 09:54:29 +0900

    Merge RubyGems-3.6.7 and Bundler-2.6.7

commit db2bf9f078c21b9e0234a736214ed74642d9f795
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-09 09:19:10 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-09 09:54:29 +0900

    Merge RubyGems-3.6.6 and Bundler-2.6.6

commit bbf5f12331913f16b8f635626d4a438bd3ffd599
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-03 19:30:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-04 07:32:20 +0900

    Use EnvUtil.apply_timeout_scale

commit 4d6143dd18e295849d05a9e75891dc52a72a782f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-03 19:07:08 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-04 07:32:20 +0900

    Extend open_timeout for test failure on s390x

    https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20250403T060004Z.fail.html.gz

commit 34e990fcec828a3e555ed353780e4e94e50b70a6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-03 11:54:19 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-03 13:45:14 +0900

    Picking test fix from https://github.com/ruby/ruby/commit/3d8a66568e8106b367665d716e0d3c8c8208aa07

    The original change is https://github.com/ruby/ruby/commit/d78ff6a767ca813ac5fa178dd7611f20a993c191

commit aa5d760fba6044594b642daee00544d59037cc83
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-03 09:40:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-03 13:13:54 +0900

    Enforce to use CMake 3 because CMake 4 is not compatible to build libyaml via vcpkg

commit e3fc29a9b7fd7869723d2e13185c1387c6d026db
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-02 19:08:39 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-04-03 01:16:27 +0900

    Improve backtrace of errors raised by `Socket.tcp_with_fast_fallback`

    [Bug #21211]

    Socket errors raised from background threads are hard to track down because
    their backtrace starts from the spawned thread.

    To solve this we can raise a new error with the old one as `cause`.

commit 66d133ab19726899c23db77e808674aa031a062d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-01 15:20:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-02 10:33:47 +0900

    [rubygems/rubygems] Bump up minimum required version for cmake 4

    https://github.com/rubygems/rubygems/commit/3e77caeddf

commit 5ab0b9143ab5a92b134c6788f893ac539825b300
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-24 15:43:40 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-28 08:41:51 +0900

    [Backport #21141] [DOC] Refine description of `Time#utc?`

commit bd99a2ef6ac72a43aacf8543aef19e8c1bcb354f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-15 16:15:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-28 08:41:51 +0900

    [Backport #21141] [DOC] Clarify what time is in UTC

commit 00c6e537ce46e4482c77fa8676a4a1e44cc6f623
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-03-22 01:19:42 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-28 07:23:56 +0900

    FCALL shouldn't be forwarded from caller

    When we forward an FCALL (a method call with an implicit self), we
    shouldn't forward the FCALL flag because it ignores method visibility
    checks.  This patch removes the FCALL flag from callers.

    [Bug #21196]

commit aa7380f9d8a9a37d7c4d8f827d8b119c0ffbb6f2
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-03-23 09:42:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-28 07:23:31 +0900

    Fix handling of `error`/`errno` in `io_internal_wait`. (#12961)

    [Bug #21195]

commit 2efa40053917eca8f1f9ee434cef188a4486f78f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-21 02:19:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:24:30 +0900

    [rubygems/rubygems] Support git 2.49

    One error message that we parse is now slightly different.

    https://github.com/rubygems/rubygems/commit/758528791d

commit 5b3970f68b9108e0976b75b5d67da8c56eaa9db4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-29 16:55:44 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-21 01:41:35 +0900

    [Bug #21094] Update nested module names when setting temporary name

    [Backport #21094]

commit 8b491169c32621d4e74324eed08465448dfc54d5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-17 21:37:00 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-21 01:38:42 +0900

    [Bug #21186] multibyte char literal should be a single letter word

    [Backport #21186]

commit 6ca43e9b16ded4f884e9a54e9f8f6f6c4e5f0f73
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-03-11 11:37:44 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-15 04:04:25 +0900

    Push a real iseq in rb_vm_push_frame_fname()

    Previously, vm_make_env_each() (used during proc
    creation and for the debug inspector C API) picked up the
    non-GC-allocated iseq that rb_vm_push_frame_fname() creates,
    which led to a SEGV when the GC tried to mark the non GC object.

    Put a real iseq imemo instead. Speed should be about the same since
    the old code also did a imemo allocation and a malloc allocation.

    Real iseq allows ironing out the special-casing of dummy frames in
    rb_execution_context_mark() and rb_execution_context_update(). A check
    is added to RubyVM::ISeq#eval, though, to stop attempts to run dummy
    iseqs.

    [Bug #21180]

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

commit 31502b0d8569b806d723a0e49a919921bf5d6e2c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-03-12 02:14:13 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-15 04:04:25 +0900

    Have `ast` live longer in ISeq.compile_file to fix GC stress crash

    Previously, live range of `ast_value` ended on the call right before
    rb_ast_dispose(), which led to premature collection and use-after-free.

    We observed this crashing on -O3, -DVM_CHECK_MODE, with GCC 11.4.0 on
    Ubuntu.

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

commit 5cc439829783e83d4189e1dbaf11a239e8db8471
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-26 11:13:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-14 01:28:17 +0900

    Check LoadError first

    The message from dlerror is not our concern.

commit adc7f046ec931ea8f5e3868ecdbd1556bffebce2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-26 09:09:56 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-14 01:28:17 +0900

    Added assertion strings with Xcode 16.3 beta

commit ae2fcdc0f705e767045c2bd5253e8eae733d2edb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-20 13:04:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-13 02:51:50 +0900

    [Bug #19841] Refine error on marshaling recursive USERDEF

commit 0e416faf450159a989fba87b41f3e3874a4af129
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-11 05:18:59 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-12 01:16:22 +0900

    Fix `Socket.tcp_with_fast_fallback` to be usable from a Ractor

    [Bug #21179]

    ```
    socket.rb:1046:in 'Socket::HostnameResolutionStore#get_addrinfo': can not access non-shareable objects in constant
    Socket::HostnameResolutionStore::PRIORITY_ON_V6 by non-main ractor. (Ractor::IsolationError)
            from socket.rb:724:in 'block in Socket.tcp_with_fast_fallback'
            from socket.rb:720:in 'Socket.tcp_with_fast_fallback'
    ```

commit 762e76cc50db059e71d1f6c13674103a488f5171
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-06 04:22:01 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-11 04:57:06 +0900

    RUBY_FREE_AT_EXIT does not work when error in -r

    [Bug #21173]

    When loading a file using the command line -r, it is processed before
    RUBY_FREE_AT_EXIT is checked. So if the loaded file raises an error, it
    will cause memory to not be freed with RUBY_FREE_AT_EXIT.

    For example `ruby -rtest.rb -e ""` will report a large amount of memory
    leaks if `test.rb` raises.

commit e15a9044d7a9ee5435e7a6d19ef9ac46b50bb880
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-04 10:22:17 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-11 04:04:54 +0900

    [Bug #21163] Fix hexadecimal float conversion

commit 161cffb39970b147f92d779834a393b5637d6d00
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-06 01:29:32 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-07 02:24:37 +0900

    Fix a race condition with interned strings sweeping.

    [Bug #21172]

    This fixes a rare CI failure.

    The timeline of the race condition is:

    - A `"foo" oid=1` string is interned.
    - `"foo" oid=1` is no longer referenced and will be swept in the future.
    - Another `"foo" oid=2` string is interned.
    - `register_fstring` finds `"foo" oid=1`, but since it is about to be swept,
      removes it from `fstring_table` and insert `"foo" oid=2` instead.
    - `"foo" oid=1` is swept, since it has the `RSTRING_FSTR` flag,
      a `st_delete` is issued in `fstring_table` which removes `"foo" oid=2`.

    I don't know how to reproduce this bug consistently in a single test
    case.

commit 698741d73a0e6c998fb47297ce7b129366b4835b
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-03-05 05:54:33 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-06 08:15:45 +0900

    Replace tombstone when converting AR to ST hash

    [Bug #21170]

    st_table reserves -1 as a special hash value to indicate that an entry
    has been deleted. So that that's a valid value to be returned from the
    hash function, do_hash replaces -1 with 0 so that it is not mistaken for
    the sentinel.

    Previously, when upgrading an AR table to an ST table,
    rb_st_add_direct_with_hash was used which did not perform the same
    conversion, this could lead to a hash in a broken state where one if its
    entries which was supposed to exist being marked as a tombstone.

    The hash could then become further corrupted when the ST table required
    resizing as the falsely tombstoned entry would be skipped but it would
    be counted in num entries, leading to an uninitialized entry at index
    15.

    In most cases this will be really rare, unless using a very poorly
    implemented custom hash function.

    This also adds two debug assertions, one that st_add_direct_with_hash
    does not receive the reserved hash value, and a second in
    rebuild_table_with, which ensures that after we rebuild/compact a table
    it contains the expected number of elements.

    Co-authored-by: Alan Wu <alanwu@ruby-lang.org>

commit 9a7e3aab487286ba0dfeb17089d41424fa3a515b
  Author:     a5-stable <sh07e1916@gmail.com>
  AuthorDate: 2025-03-05 22:46:57 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-06 01:38:24 +0900

    yjit.rb: Fix parameter name in documentation

commit d40c6cf7b606edb815adf7a8e9abe98f38a8f747
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-17 21:46:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-05 06:04:27 +0900

    [Bug #21144] Win32: Use Windows time zone ID if TZ is not set

    If the TZ environment variable is not set, the time zone names
    retrieved from the system are localized for UI display and may vary
    across editions and language packs for the same time zone.
    Use the time zone IDs that are invariant across environments instead.

commit 3d744a0a9436fbf7901c345055dd3d775b518361
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-28 05:53:38 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-04 08:42:16 +0900

    [ruby/prism] Use a locale-insensitive version of tolower

    [Bug #21161]

    The `tolower` function provided by the libc is locale dependent
    and can behave in ways you wouldn't expect for some value
    of `LC_CTYPE`.

    https://github.com/ruby/prism/commit/e3488256b4

    Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit ddb73fbd115631e6dec3bdd230c1cfc13027602e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-27 11:07:36 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-04 08:41:33 +0900

    [Bug #21159] module names should not be modifiable

commit 82e43a9cde3a876dc492d635e53f77ba2b19408f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-29 16:55:44 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-04 08:41:33 +0900

    [Feature #19521] Test for `Module#set_temporary_name`

commit eb8ee7c189d051e656f781ce2775ede1157edd6a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2025-02-18 10:23:14 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-04 07:01:09 +0900

    Ensure IO.copy_stream buffer is an independent string

    Otherwise, changes to the buffer by the destination write method
    could result in data changing for supposedly independent strings.

    Fixes [Bug #21131]

commit 6d2c7d4304bbf8450d31b624f5dc40a92e44f00b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-13 02:07:05 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-04 06:45:41 +0900

    [Bug #21030] Fix step for non-numeric range

    When the end points of an inclusive range equal, `Range#step` should
    yields the element once.

commit 7759263c5154d3c561a8488ba196205a1526bf61
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-28 14:47:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-28 16:43:27 +0900

    Visual Studio 2022 17.13.x couldn't build miniruby.exe. It prevents other PRs.

    https://github.com/actions/runner-images/commit/e43209e1398efe7739e42509162b3187515b9359

    ```
    user32.lib advapi32.lib shell32.lib ws2_32.lib iphlpapi.lib gmp.lib imagehlp.lib shlwapi.lib bcrypt.lib
    linking miniruby.exe
       Creating library miniruby.lib and object miniruby.exp
    [BUG] heap_idx_for_size: allocation size too large (size=145u, heap_idx=25u)
    ruby 3.5.0dev (2025-02-28T01:12:37Z pull/12827/merge 3d6a5a1883) [x64-mswin64_140]
    ```

    ```
    user32.lib advapi32.lib shell32.lib ws2_32.lib iphlpapi.lib imagehlp.lib shlwapi.lib bcrypt.lib
      linking miniruby.exe
      NMAKE : fatal error U1077: '@ miniruby.exe -v' : return code '0xc0000005'
    ```

commit 5f2e0cb0c65e56b0f8008de74a563d9a084d30a2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-26 18:16:48 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-28 02:00:25 +0900

    Merge uri-1.0.3

commit 5653eb90bb1b548f0bbe92af717da44a77eb0d55
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-26 18:15:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-28 02:00:25 +0900

    Merge cgi-0.4.2

commit 8d2be590ad567b7b03286731f9a9754d24370f00
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-24 23:20:12 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-26 02:05:34 +0900

    [Bug #21153] Add missing op-assign to top const in `command_asgn`

    It was defined in `arg` only; add that pattern to `command_asgn` as
    well.

commit 06451f0dec107625f3a7794230e90d539a55a08a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-21 09:28:07 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-21 09:50:20 +0900

    Merge RubyGems-3.6.5 and Bundler-2.6.5

commit a0025b6e5d440139ebc16a555cddb4dc9dd45449
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-21 09:27:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-21 09:50:20 +0900

    Merge RubyGems-3.6.4 and Bundler-2.6.4

commit 19c69f382baa13cac3bf36b861067bdc424e1be1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-21 09:27:17 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-21 09:50:20 +0900

    Merge RubyGems-3.6.3 and Bundler-2.6.3

commit 20a72bb6ec9cb27a91f00481de36fe5348296d8d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-21 03:58:27 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-21 09:35:02 +0900

    [ruby/mmtk] Fix compatibility for Rust 1.85

    https://github.com/ruby/mmtk/commit/9da566e26a

commit f627efe8ae580d777d87c3bb8c0b350b49af62e8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-02-18 02:57:54 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-19 02:14:05 +0900

    [ruby/prism] Fix escape unicode curly inline whitespace

    Fixes [Bug #21145]

    https://github.com/ruby/prism/commit/be2d845639

commit d2930f8e7a5db8a7337fa43370940381b420cc3e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-15 06:25:54 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-15 06:25:54 +0900

    v3.4.2

commit d5f42a07b26d4430c4c51ec3bb5bc482c68e9aca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-02-15 04:20:11 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-15 04:41:55 +0900

    Fix locals_test based on previous backports

commit 62f736f23e9099c5aa29975dc7fbe2fe8c40b5b2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-02-15 03:15:57 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-15 03:19:25 +0900

    Backport Bug #21137

commit eaa26b8c8c8de09daddbef131837a008963399dc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-16 12:29:57 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-15 03:19:25 +0900

    Backport Bug #21118 and Bug #21043

commit 45fe3c137b6cc0b2546493e37d6334d8f39e076d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-02-15 02:51:14 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-15 03:19:25 +0900

    Backport Bug #21031

commit 24f48c83e7e851a6ca712fc7b498634da9a24789
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-26 15:01:48 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:43:19 +0900

    [Bug #20982] Put spaces in `ENV.inspect` results as well as `Hash`

commit 80f2329f76b76ce7bd4fcd9a878b2bc5b0626b26
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-26 13:02:29 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:43:19 +0900

    Refine ENV tests

commit 270129fdcb923654d9741465ec26e179507e8c96
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:29:23 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:29:23 +0900

    merge revision(s) 19c39e4cfaa467e69b9848c9c5496d7f50d39c7f, d78ff6a767ca813ac5fa178dd7611f20a993c191: [Backport #20984]

            [Bug #20984] ENV.inspect should be encoding aware

            [Bug #20984] Fix test with locale encoding

commit de7a196bd4b22f6073e6cf6c2d7d6fd8171b6baa
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:20:21 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:20:27 +0900

    Revert "merge revision(s) cb419e3912f0514b8151469b0a4a4b83cbbcce78: [Backport #21031]"

    This reverts commit 7adf89d7ad30552d7e57709d24eec266f601d38b.

commit d5666bbf9191bb990096faa159ee2fb8d7c86f92
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2025-02-12 20:43:05 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:19:01 +0900

    tool/downloader.rb: Stop caching already existing files

    Previously, the script was caching any file already present in the
    destination directory, regardless of its origin. This caused issues
    when the directory contained files copied from external sources like
    `autoreconf --install`.

    For example:
    1. `./autogen.sh --install` copies `config.guess` and `config.sub`
       from the system to `./tool`.
    2. `ruby tool/downloader.rb -d tool -e gnu config.guess config.sub`
       treats those files as if they were downloaded and caches them.
    3. Removing the files: `rm tool/config.guess tool/config.sub`.
    4. Running the downloader again, it mistakenly restores the cached
       files instead of downloading fresh versions.

commit 18daf8326a370d674b9e8aa6d124eafe1b53b847
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-16 18:02:16 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:19:01 +0900

    Use configu.guess with wasi compatible version

commit 9a0984436888a59f4914c3035c53657baf62ce2b
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:17:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:17:41 +0900

    merge revision(s) b21e1aed2ed5b22b50efc658289a403eeed581df: [Backport #21114]

            [ruby/prism] Fix infinite loop in error recovery

            When recovering from a depth error that occurs at the end of the
            file, we need to break out of parsing statements.

            Fixes [Bug #21114]

            https://github.com/ruby/prism/commit/a32e268787

commit d3fc56dcfa7b408cc3b6788efad36fd8df3e55da
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:17:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:17:04 +0900

    merge revision(s) 127325a4bad409ee5da91084fac768934a8fd9e3: [Backport #21117]

            [ruby/prism] No writing to numbered parameters

            Fixes [Bug #21117]

            https://github.com/ruby/prism/commit/19d4bab5a0

commit e3b16320e6b39e81606771f507278bf14045fa13
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:14:14 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:14:14 +0900

    merge revision(s) 91a10c07579f282a94e4b5830feaeca87f9a7dd3: [Backport #21112]

            Fix a typo in WeakKeyMap argument error

            [Bug #21112]

commit 319c3c70385a63aaea3c1a68a79c70cfd533c6b6
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:13:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:13:47 +0900

    merge revision(s) 1683dadb19876f0a64589bdbbcf6fff8143f78ff: [Backport #21088]

            Do not save ResolutionError if resolution succeeds for any address family (#12678)

            * Do not save ResolutionError if resolution succeeds for any address family

            Socket with Happy Eyeballs Version 2 performs connection attempts and name resolution in parallel.

            In the existing implementation, if a connection attempt failed for one address family while name resolution was still in progress for the other, and that name resolution later failed, the method would terminate with a name resolution error.
            This behavior was intended to ensure that the final error reflected the most recent failure, potentially overriding an earlier error.

            However, [Bug #21088](https://bugs.ruby-lang.org/issues/21088) made me realize that terminating with a name resolution error is unnatural when name resolution succeeded for at least one address family.

            This PR modifies the behavior so that if name resolution succeeds for one address family, any name resolution error from the other is not saved.

            This PR includes the following changes:

            * Do not display select(2) as the system call that caused the raised error, as it is for internal processing

            * Fix bug: Get errno with Socket::SO_ERROR in Windows environment with a workaround for tests not passing

commit e5403bd137d57991d8788cd29bbb5916d75acb36
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:12:33 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:12:33 +0900

    merge revision(s) db02a6b3ab4cabbdf492c26dcb1929b4ef0370a1: [Backport #21103]

            [Bug #21103] Fix local variable index calculation with forwarding

            Forwarding argument is optimized not to packed when no other arguments
            and an internal object refers values before it.  This size is decided
            at called time, calculate the local variable index from the fixed end
            point.

commit feb4a688a24a1966c8d08962a1104001234efcae
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:12:07 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:12:07 +0900

    merge revision(s) 46b544c54955348ef1ea9692b837b061f59f91cd, d3abee739f4feb91bb9aaae33877d70c8c576db0: [Backport #21095]

            Prefer `uname -n` over `hostname`. (#12647)

            Add fallback for `hostname` if `uname` isn't available. (#12655)

commit 2ee25f7b47a30b7515cdb4da341d28931d8b5810
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:11:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:11:06 +0900

    merge revision(s) 2b6fc9ea7212543a1be26768403f59c7a759b5ea: [Backport #21092]

            [Bug #21092] Fallback variables after execonf has done

            When reading from a dummy makefile, the global variables initialized
            in `init_mkmf` may not be overridden.

commit ead3bbc2405ad1df2228c44133ee1c6574ef5973
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:09:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:09:41 +0900

    merge revision(s) d4a1a2780c39bc648496ac92fc6e6ce2eb38ab47: [Backport #21032]

            rb_feature_p: skip `get_expanded_load_path` for absolute paths

            Ref: https://github.com/fxn/zeitwerk/pull/308

            ```ruby
            require 'benchmark'

            $LOAD_PATH << 'relative-path'

            autoload :FOO, '/tmp/foo.rb'

            puts Benchmark.realtime {
              500_000.times do
                Object.autoload?(:FOO)
              end
            }
            ```

            The above script takes 2.5 seconds on `master`, and only
            50ms on this branch.

            When we're looking for a feature with an absolute path, we don't
            need to call the expensive `get_expanded_load_path`.

commit 2108ab2cb68e9d975e4dcf035a11243e1173336f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:09:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:09:15 +0900

    merge revision(s) 04ec07794657cd2444ecb001a522b9df2db1b90a: [Backport #21038]

            Preserve `errno` in `rb_fiber_scheduler_unblock`. (#12576)

            [Bug #21038]

            Co-authored-by: Julian Scheid <julians37@gmail.com>

commit 3fdf7279a0b1ac35fdf233464a93b3d268133d5a
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:08:44 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:08:44 +0900

    merge revision(s) e0d600ec190c64aff76cfcbd6009cffb927da166: [Backport #21012]

            Avoid opt_aset_with optimization inside multiple assignment

            Previously, since the opt_aset_with optimization was introduced,
            use of the opt_aset_with optimization inside multiple assignment
            would result in a segfault or incorrect instructions.

            Fixes [Bug #21012]

            Co-authored-by: Nobuyoshi Nakada <nobu.nakada@gmail.com>

commit 3db440f5a19ca8d46c2c5d5ec029dbae73cc34f9
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:08:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:08:20 +0900

    merge revision(s) f7059af50a31a4d27a04ace0beadb60616f3f971: [Backport #21046]

            Use no-inline version `rb_current_ec` on Arm64

            The TLS across .so issue seems related to Arm64, but not Darwin.

commit 04298f2d158fa860293d2ed2779cba69bc47f404
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:07:57 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:07:57 +0900

    merge revision(s) c2908613368b2ae404d094a15df61d830fc46dc9: [Backport #21048]

            [ruby/prism] Fix rescue modifier precedence

            Fixes [Bug #21048]

            https://github.com/ruby/prism/commit/07202005cb

commit cd395232b0491f9c4463c5889bab8d2c050e75e2
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:07:25 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:07:25 +0900

    merge revision(s) 241ada7b1ca4fd71dc47a83d912ee25162a555d9: [Backport #21085]

            [ruby/prism] Do not put empty statements in while because of -n

            Fixes [Bug #21085]

            https://github.com/ruby/prism/commit/ebb9c36a10

commit 7adf89d7ad30552d7e57709d24eec266f601d38b
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:06:50 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:06:50 +0900

    merge revision(s) cb419e3912f0514b8151469b0a4a4b83cbbcce78: [Backport #21031]

            [PRISM] Handle forwarding inside eval

            Fixes [Bug #21031]

commit 579b94ae61d123dfb06caa2499be4ef6879cbf1f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 14:06:07 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 14:06:07 +0900

    merge revision(s) 931a870606f4e286a1c7bacf022940994f3c431b: [Backport #21044]

            [ruby/prism] Increase value of PRISM_DEPTH_MAXIMUM to 10000

            The previous value of 1_000 was added with a reference to the Bison
            parser[^1], but the value of YYMAXDEPTH in the Bison docs is 10_000,
            not 1_000.

            [^1]: https://www.gnu.org/software/bison/manual/html_node/Memory-Management.html

            Fixes [Bug #21044]

            https://github.com/ruby/prism/commit/e098533ab4

            Co-authored-by: Nony Dutton <nonydutton@gmail.com>

commit bc359b9971088ff921e26346f395c70640654e9e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 11:01:42 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 11:01:42 +0900

    merge revision(s) b176d4f52e4af67654814dab3e9c5f4bf9170e54: [Backport #21008]

            [Bug #21008] Normalize before sum to float

            After switching to `Float`-mode when summing `Numeric` objects,
            normalization for `Float` is still needed.

commit b65cea74295358265dfabc9e1f4d107b21e58e58
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 11:01:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 11:01:20 +0900

    merge revision(s) 8034e9c3d001ca3dff124ab42972684eac8af2ae: [Backport #20995]

            [Bug #20995] Protect `IO.popen` block from exiting by exception

commit c989d90754edeefa4e692d2cd8c351394cb217e7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 10:54:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:54:41 +0900

    merge revision(s) 117d6e145a0270ab8fc9134403519ef13b9ebb24: [Backport #21027]

            [ruby/prism] Fix `not` receiver

            `not foo` should be `!foo`
            `not()` should be `!nil`

            Fixes [Bug #21027]

            https://github.com/ruby/prism/commit/871ed4b462

commit 9240f01b1fbe5ea4f6a2017d35f8f605f84f0039
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 10:54:21 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:54:21 +0900

    merge revision(s) 63723c8d5908569918fb27e070ae5bc9de33c8bd: [Backport #21014]

            Correctly set node_id on iseq location

            The iseq location object has a slot for node ids.  parse.y was correctly
            populating that field but Prism was not. This commit populates the field
            with the ast node id for that iseq

            [Bug #21014]

commit c3d30e4dabb2b895c347e10221467dd1b1124ca4
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 10:53:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:53:47 +0900

    merge revision(s) 051af9529b03c11aff8f6a09522c69983e3a9d72: [Backport #21017]

            [Bug #21017] Fix `--with-parser` configure option

commit 698f808cc78b01bc23ff893eaabcc09a454b56ee
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 10:53:11 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:53:11 +0900

    merge revision(s) 5fec9308320e8b377681ef19b0cd46d53f94e8ac, 1a06bee027d5c5b65ed0aaee76ee0040554d4efd: [Backport #20992]

            [Bug #20992] Test for local variable name encodings

            Do not intern invalid symbols in eval parse

            When the inner code cannot represent the name of the locals in the
            outer code, do not bother putting them into the constant pool as
            they will not be referenced.

            Fixes [Bug #20992]

            Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 82f7cb794109794f6ffa95ffb3be8e5149dd74bd
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 10:52:28 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:52:28 +0900

    merge revision(s) ad96c5a72908042489357b73dc936c4bc38d919b, ca81142eff98cccb03ff523322aefe4e7346fd0e: [Backport #21010]

            [ruby/prism] Throw syntax error for endless method with `[]=`

            Prism shoudld throw a syntax error for endless methods when the method
            name uses brackets. Previously it would not. This matches the behavior
            of parse.y.

            Fixes https://bugs.ruby-lang.org/issues/21010

            https://github.com/ruby/prism/commit/43c16a89ef

            [ruby/prism] [Bug #21010] Reject endless method definition of `[]=`

            Fixes: https://bugs.ruby-lang.org/issues/20785

            https://github.com/ruby/prism/commit/192960ce5d

commit 68013d43a35a8368caa7b30c501e270333d04b35
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 10:52:03 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:52:03 +0900

    merge revision(s) 31905d9e23ec6d1fa2a52f1ef2533f2056e7c9fb: [Backport #21001]

            Allow escaping from ensures through next

            Fixes [Bug #21001]

commit 8a86e52fb5fc49367e79f8f49fb451ab74e089bb
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 10:51:38 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:51:38 +0900

    merge revision(s) 668701cb0b42f27c5f54309a358c6fcbb24b5d85: [Backport #21002]

            Added copyright for vendored turbo_tests.

            [Bug #21002]

commit d720ea59ca36f726b8484b3b66e3e2c40784ac89
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 10:51:03 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:51:03 +0900

    merge revision(s) 2a1cff40f5e7875f69a7d0ed59eab92cc86c65ff: [Backport #21003]

            Do not warn unused block when using forwarding

            Fixes [Bug #21003]

commit 5ba052675f0eefe77dd7ab30bb9ac186f8d82ccb
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 10:50:05 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:50:05 +0900

    merge revision(s) fb18bb183c24ca82b8f114ed090d62bd69b5df84: [Backport #20989]

            [Bug #20989] Ripper: Pass `compile_error`

            For the universal parser, `rb_parser_reg_fragment_check` function is
            shared between the parser and ripper.  However `parser_params` struct
            is partially different, and `compile_error` function depends on that
            part indirectly.

commit 4bafaef0a55fdc45a7b8275a82ceb0f3e3419d00
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 10:47:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:47:24 +0900

    merge revision(s) 7df5d65eac86940619f87da7e70bc0911097ae2f: [Backport #20981]

            [Bug #20981] Bring back `rb_undefine_finalizer`

commit 294aef53b8c988f605001e4555d9532cefe8806d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-09 09:07:07 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:46:14 +0900

    YJIT: Filter `&` calls from specialized C method codegen

    Evident with the crash reported in [Bug #20997], the C replacement
    codegen functions aren't authored to handle block arguments (nor
    should they because the extra code from the complexity defeats
    optimization). Filter sites with VM_CALL_ARGS_BLOCKARG.

commit 706f1d0573f0b807bee4c0cc8937b8f5b9b24ebd
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-29 06:13:28 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:44:58 +0900

    YJIT: Initialize locals in ISeqs defined with `...`

    Backport of GH-12660:

        Previously, callers of forwardable ISeqs moved the stack pointer up
        without writing to the stack. If there happens to be a stale value in
        the area skipped over, it could crash due to "try to mark T_NONE". Also,
        the uninitialized local variables were observable through `binding`.

        Initialize the locals to nil.

        [Bug #21021]

commit 12c716eea02f0efbb7dcd4ddb3a8b0523cdb99c2
  Author:     nick evans <nick@rubinick.dev>
  AuthorDate: 2025-02-11 23:03:02 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:44:25 +0900

    Bump net-imap to v0.5.6 for Ruby 3.4 (CVE-2025-25186)

    This update addresses CVE-2025-25186 (GHSA-7fc5-f82f-cx69).

commit 787436cd1ae00616b88bc494baaaee7c361f31b9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-07 11:02:42 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:42:41 +0900

    Support `git ls-files ...`.split style for file list of gemspec

commit 555373aec859413efd3237cf717931f4b7ac1cb1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-05 14:49:14 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:42:41 +0900

    Bump up net-smtp-0.5.1

commit 3c9e65d370f43b8eec99debad606964f80a935c5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-06 15:49:13 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:42:11 +0900

    glibc and musl didn't provide A1-A7, FP and S3-S8 constants.

    * https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/loongarch/sys/ucontext.h
    * https://git.musl-libc.org/cgit/musl/tree/arch/loongarch64/bits/signal.h

commit b5c921e01074891680b45353519a1e0bfe7c1036
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-14 19:11:33 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:40:19 +0900

    [Bug #21024] <cstdbool> header has been useless

    And finally deprecated at C++-17.
    Patched by jprokop (Jarek Prokop).

commit 73690b520da4c3ab680ddc477cacaeaeed75d558
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-05 01:41:00 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:37:38 +0900

    YJIT: Fix crash when yielding keyword arguments

    Previously, the code for dropping surplus arguments when yielding
    into blocks erroneously attempted to drop keyword arguments when there
    is in fact no surplus arguments. Fix the condition and test that
    supplying the exact number of keyword arguments as require compiles
    without fallback.

commit cefa630bce3aea8317f09fe73c6439f67c42bb69
  Author:     Nick Dower <nicholasdower@gmail.com>
  AuthorDate: 2025-01-03 01:24:55 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:37:38 +0900

    YJIT: Add crashing test for yielding keyword args

    Code like the following is crashing for us on 3.4.1:

    ```ruby
    def a(&) = yield(x: 0)

    1000.times { a { |x:| x } }
    ```

    Crash:

    ```
    ruby: YJIT has panicked. More info to follow...
    thread '<unnamed>' panicked at ./yjit/src/codegen.rs:8018:13:
    assertion `left == right` failed
      left: 0
     right: 1
    ```

    Co-authored-by: Dani Acherkan <dtl.117@gmail.com>

commit 65f2a4beecd3017ced366e3957eef501f2860c1f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-14 10:36:58 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-14 10:36:58 +0900

    Add k0kubun as CODEOWNERS

commit 48d4efcb85000e1ebae42004e963b5d0cedddcf2
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2024-12-25 16:43:20 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2024-12-25 16:43:20 +0900

    v3.4.1

commit f45010833071b953744658842369e3496dfacb48
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-25 13:50:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-12-25 13:50:41 +0900

    [DOC] Fix indentation for rdoc

commit 663f833bac04aa7ca16855d18a6bf6febd0597c5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-25 13:49:52 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-12-25 13:49:52 +0900

    [DOC] Mention method argument optimization

commit e25b350fc57684e61583879aeaa2f3c1c8011847
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-25 13:42:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-12-25 13:42:06 +0900

    [DOC] Fix the broken format of RubyVM::YJIT.enable docs

commit 7245d3e3565d0744cb5e8f697b6721eaa700a4d6
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-25 13:36:12 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-12-25 13:36:12 +0900

    [DOC] Mention --yjit-perf=codegen in NEWS

commit 828e913cf7a98619ca1bdc29279dc72c1c81db17
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-25 13:31:02 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-12-25 13:31:02 +0900

    [DOC] Use the same indentation depth as adjacent sections

commit 1b0e362692fceea92c7431d4e6149debd46c7f0e
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-25 12:41:11 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-25 13:22:15 +0900

    [DOC] Fix typo in NEWS.md regarding thread-safety

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12465

commit bf878b54945e15e5bd36b8459ff48faeb242358a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-25 13:16:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-25 13:16:28 +0900

    [DOC] Ractor::RemoteError

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12467

commit 2acbf45d368e03f8a38906676b2e3e63f299c67d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-25 13:16:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-25 13:16:14 +0900

    [DOC] Monitor

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12467

commit 871124c3ea9ccdc0e53efac73369786b494f6f96
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-25 13:07:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-25 13:07:22 +0900

    [DOC] Stop document Ripper::Lexer

    `:nodoc:` seems not working for inner classes.

commit e8aca1aafc16b458bb496e127133d8c4371c0816
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-25 12:00:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-25 12:00:00 +0900

    [DOC] Fix indentation

    RDoc markdown parser requires exact 4 spaces or tab as indentation.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12464

commit f72b94bdb68b6ebc16e8c9aa70ec9a1a9f259efc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-25 11:37:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-25 11:37:37 +0900

    [DOC] Fix duplicate entries

    A tentative workaround for duplicate entries in "Class and Module
    Index".

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12463

commit 51d3f6459b2e2a381c8250dc3257c10db312c822
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-25 11:25:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-25 11:25:03 +0900

    [DOC] Hide Fiber::Pool

    It is experimental yet and is disabled currently.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12462

commit 92f850ae8428febb4d1d1754addf1045fbb4f71b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-25 11:13:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-25 11:13:07 +0900

    [DOC] Hide Ractor::Selector

    It is not enabled by default currently.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12461

commit 36e9028f9394a4415eca7c3db6a4b7f24531628f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-25 11:00:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-12-25 11:00:06 +0900

    [DOC] Clarified YJIT stats changes

commit 4e4b87d324b0711180d99468ed40528abfd52db7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-25 10:48:49 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-12-25 10:48:49 +0900

    [DOC] Categorize YJIT new features

commit e46314edd11d6807b603498150e0785c87d5d3a5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-25 10:30:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-25 10:30:40 +0900

    [DOC] Monitor

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12460

commit 8aac08498ba7ad915eaf614fb0ceec8480a0b3ac
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-25 08:46:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-25 08:46:15 +0900

    Update bundler version on NEWS.md

commit 468b7af67e5ea2f7308581115d4c4eb6d4d45556
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-12-25 05:40:57 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-12-25 05:40:57 +0900

    [DOC] RegExp: The Graph property includes some control characters

    The behavior of this is a carry-over from Oniguruma:
      https://github.com/kkos/oniguruma/blob/5eaee9f5f8f674aff4875c2b35db00758fa349d6/doc/RE#L246

    The previous phrasing was inaccurate since it's fair to construe e.g.
    Zero Width Joiner as a control character.

    Reported-by: https://github.com/ruby/ruby/pull/12294

commit 372e19bbb50efd6f2744450cde30b25fadbf0b5b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-25 04:29:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-25 04:29:42 +0900

    [DOC] Add IRB's new completion section to NEWS.md

    * Fix link and copyedit blurb

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12458

    Merged-By: XrXr

commit 645d604766d8df32d8dcae04dbfe7e5f7a382e4f
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-25 01:40:22 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-12-25 04:02:00 +0900

    Fix missing/broken links in NEWS.md

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12456

commit 58460b4dbd44328aefa6960fefd940e28034023b
  Author:     Victor Shepelev <zverok.offline@gmail.com>
  AuthorDate: 2024-12-25 03:49:55 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-25 03:49:55 +0900

    [DOC] Adjust documentation related to backtraces (#12420)

  Notes:
    Merged-By: zverok <zverok.offline@gmail.com>

commit 3be1baab82d8627ce52391030160bcbca69db01d
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-12-25 03:06:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-25 03:06:02 +0900

    Introduce a timeout to prevent `rb_thread_fd_select` from hanging with write(2) failure (#12457)

    Rarely, there are cases where a write(2) call from a child thread
    to notify the main thread of the completion of name resolution fails.
    If this happens while the main thread is waiting in `rb_thread_fd_select`,
    rb_thread_fd_select may not notice that the name resolution has completed and end up hanging.

    This issue becomes a problem when there are no sockets currently being connected,
    no addresses ready for immediate connection attempts,
    and name resolution has already completed for one address family
    while the main thread is waiting for the name resolution of the other address family.
    (If name resolution is not completed for either address family,
    the chances of write(2) failing in both child threads are likely low.)

    To avoid this issue, a timeout is introduced to rb_thread_fd_select under the above conditions.
    This way, even if the issue occurs,
    the completion of name resolution should still be detected
    in the subsequent `if (!resolution_store.is_all_finished) ...` block.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 07e89bde4693fa6b8da4c152f1cf91686d1823f1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-24 00:55:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-24 23:40:12 +0900

    Fix MEMMOVE in rb_darray_insert

    Ruby's MEMMOVE takes in the element data type for the third argument, not
    the size of the element. What this did was do sizeof(sizeof( ... )) which
    always returned sizeof(size_t).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12442

commit 13e6fe9bbc9dd251f6c71cb5130a7a83b415134b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-24 21:31:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-24 21:31:52 +0900

    [DOC] Hide `RubyVM::Shape` that is for debug from RDoc totally

commit 94df8a0cae1aa8bd7ebcd689437fd3276777a2b0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-24 16:23:37 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-24 17:50:01 +0900

    Postpone spec of eszett with ignore case in look behind

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12455

commit 737ca6b83dbba5167f012bc41740973aca7e6fb6
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-12-24 17:10:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-24 17:10:43 +0900

    Bundle rbs-3.8.0 (#12453)

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit 1b0c46daed9186b82ab4fef1a4ab225afe582ee6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-24 13:06:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-24 13:27:05 +0900

    [Bug #20979] [DOC] Add a proviso to `+comment` option

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12450

commit fb82f3a632fa07dd270ed188cd6ce751ecabcb84
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-24 11:42:15 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-24 13:25:55 +0900

    Win32: Defer change of timezone name encoding after 3.4

    This change will be merged into 3.5 along with other encoding, command
    line, environment variables, etc.

    Revert following commits:

    - bd831bcca534955533d9135d8c2f22d7ae5b9aa8
      [Bug #20929] Win32: Use `wcsftime`

    - 1c15f641cc2bb88fa88123a11036ed58fbf9aa6d
      [Bug #20929] Win32: Encode timezone name in UTF-8

    - 78762b52185aa80ee55c0d49b495aceed863dce2
      [Bug #20929] Fix `assert_zone_encoding`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12448

commit 42026ec3da6acb2c398bea8c8dc97103a7c936ec
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-23 20:24:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-24 12:07:54 +0900

    Fix bundled gems warning for sub feature locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12439

commit 0d81177c2013b0a596eb4caebe0bcca557144139
  Author:     lukeg <luke.gru@gmail.com>
  AuthorDate: 2023-04-05 05:24:59 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-12-24 11:40:00 +0900

    Fix calls to require_internal in multi-ractor mode

    After a ractor is started (multi-ractor mode), any calls to
    require_internal will hang the process due to deadlock. For example,
    loading a new encoding will deadlock after a ractor starts.

    Fixes [Bug #19562]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/7656

commit 38af38edcbceb9d17aaf84420008fe839f77e42f
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-02-17 04:08:39 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-12-24 11:38:44 +0900

    Fix ractor move of unshareable frozen objects

    These objects didn't retain their frozen status after the move

    Bug [#19408]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/9996

commit 1eb5c03fda7e9616a1461f48f4bd8b8739de122d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-24 11:38:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-24 11:38:05 +0900

    Added previous version or prime

commit ed7ed25e6ea66ae7a95755811f9ecac67bc480f4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-24 11:27:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-24 11:27:37 +0900

    Update RubyGems, Bundler and missing histories of minitest and typeprof

commit ab8fd5bb6cdb9c661673f2edf0546ff3a63fe189
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-12-24 09:57:11 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-12-24 10:47:20 +0900

    not a incompatbile, but a feature

    The change of `Object#singleton_method` doesn't harm existing code
    so it should be new feature (bug fix).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12446

commit 2a08f7283ed2ca18e25f4b4d19d2f5c6b450c574
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-12-24 03:37:56 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-12-24 09:05:49 +0900

    Fix [Bug #20779] Dedicated native thread creation failed bug

    When a dedicated native thread fails to create (OS can't create more
    threads), don't add the ruby-level thread to the thread scheduler. If
    it's added, then next time the thread is scheduled to run it will sleep
    forever, waiting for a native thread that doesn't exist to pick it up.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12441

commit 9e0eb9778d557ef59a541a65be658040951de5be
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-24 05:02:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-24 07:21:10 +0900

    Merge RubyGems-3.6.2 and Bundler-2.6.2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12444

commit 527cc7328207de06750debf4c6bfce81a897957d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-24 07:12:08 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-24 07:12:08 +0900

    YJIT: Return None if entry block compilation fails (#12445)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 5b22f14e5366738336ca880d0efaf05b6cf90961
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-24 04:57:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-24 06:44:30 +0900

    GC guard the iseq in eval for prism

    We need to GC guard the iseq because the code above it malloc memory which
    could trigger a GC. Since we only use ISEQ_BODY, the compiler may optimize
    out the iseq local variable so we need to GC guard it.

    Fixes: http://ci.rvm.jp/results/trunk_asan@ruby-sp1/5484752

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12443

commit f4476f0d07c781c906ed1353d8e1be5a7314d6e7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-21 06:48:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-23 23:03:32 +0900

    Disable GC during RUBY_INTERNAL_EVENT_NEWOBJ

    We must disable GC when running RUBY_INTERNAL_EVENT_NEWOBJ hooks because
    the callback could call xmalloc which could potentially trigger a GC,
    and a lot of code is unsafe to trigger a GC right after an object has
    been allocated because they perform initialization for the object and
    assume that the GC does not trigger before then.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12419

commit 4e12c2577839bd1696a3b318988be1c4de807d48
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-23 21:53:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-23 21:53:47 +0900

    [DOC] Fix indentation

    RDoc markdown parser requires exact 4 spaces or tab as indentation.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12440

commit 376ef474debf4faa38725d12d20af010822ee212
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-12-23 20:08:18 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-12-23 20:40:03 +0900

    Bundle TypeProf 0.30.1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12437

commit 1aba05f370cc227c40159c026476435b28da5da1
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-12-23 17:38:39 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-12-23 20:40:03 +0900

    Check if TypeProf 0.30.1 (planned) passes the CI

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12437

commit bf5f8ecef1e95ba94ecbb64dc2766f1639194243
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-23 19:21:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-23 19:21:46 +0900

    [Bug #20978] Use `ruby_bug` instead of `ruby_version_is`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12438

commit adad97a0310ebcd749e906be48bdabe9740deddf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-23 18:16:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-23 18:16:28 +0900

    [Bug #20978] Stringize Fiber storage keys

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12438

commit a11bb36316fa4e2a63e58ca03c44dca7ad93a32f
  Author:     zzak <zzakscott@gmail.com>
  AuthorDate: 2024-12-23 17:37:47 +0900
  Commit:     zzak <zzakscott@gmail.com>
  CommitDate: 2024-12-23 17:37:47 +0900

    Add more back quotes for code and fix missing feature#20018 link

commit 49de9078c7ab7864f2ef8544ee7c3e16047ffe23
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-23 16:39:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-23 16:39:47 +0900

    Added version histories for csv, net-imap, power_assert and rbs

commit 4de6680a88ba6610489d9fc21152969e49da6e23
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-23 16:21:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-23 16:21:27 +0900

    Added limitation of bundled_gems.rb with sub-feature example

commit 3cbfd2191617a36d55d6b46bc01325114bea58f1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-21 03:14:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-23 16:01:30 +0900

    Fix code location in bundled gems warnings

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12412

commit 62a727536cb702269d34fe0cf70c4374af63c068
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-21 03:14:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-23 16:01:30 +0900

    Fix spec description

    We're actually expecting the warning to not be displayed here.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12412

commit a51b5660dce898cf96f7f6ea74f015e17c355e84
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-21 03:13:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-23 16:01:30 +0900

    Find uplevel for bundled gems warnings just once

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12412

commit a6253c15adf4072adf46f114aa0eee29fbdcc77b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-23 14:58:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-23 15:49:30 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12436

commit d8c152eeadb518d6a757fe1fccf70d8941519cfb
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-22 23:12:35 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-12-23 15:16:32 +0900

    Lrama v0.6.11

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12429

commit 34e6bb48af2814eefd91968c58c1dede3b56f30e
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-12-23 15:05:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-23 15:05:00 +0900

    Improve doc for `Socket::ResolutionError` (#12434)

    Also, a topic about Socket::ResolutionError is added to NEWS

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit f2d1c3d3ce80e895b3295443c6bd3d63647d7d04
  Author:     Kazuki Tsujimoto <kazuki@callcc.net>
  AuthorDate: 2024-12-23 15:01:20 +0900
  Commit:     Kazuki Tsujimoto <kazuki@callcc.net>
  CommitDate: 2024-12-23 15:01:20 +0900

    [DOC] Fix a typo in NEWS.md

commit 8947e53bd6119d7bfd4896d2c2082079b918f281
  Author:     Kazuki Tsujimoto <kazuki@callcc.net>
  AuthorDate: 2024-12-23 14:56:01 +0900
  Commit:     Kazuki Tsujimoto <kazuki@callcc.net>
  CommitDate: 2024-12-23 14:57:58 +0900

    Update power_assert to 2.0.5

commit 18580bc4e0296dac77d583c037f6346441773e02
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-12-23 13:58:25 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-12-23 14:53:51 +0900

    Add a test case for nested block `it`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12435

commit bd569cb7081e11628ee637ce9364d56c653c932c
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-12-23 12:30:55 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-12-23 14:07:19 +0900

    add back quotes for method/class names

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12433

commit 667a0f9f928be843a0810f2c61b633be1f8cd46a
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-23 13:46:50 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-23 13:46:50 +0900

    Revert "[Bug #20965] Define `it` like an ordinary argument" (#12418)

    Revert "[Bug #20965] Define `it` like an ordinary argument (#12398)"

    Reverts [ruby/ruby#12398](https://github.com/ruby/ruby/pull/12398) as per https://bugs.ruby-lang.org/issues/20970#note-6 and https://bugs.ruby-lang.org/issues/20965#note-7.
    We need more time to design the intended behavior, and it's too late for Ruby 3.4.

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit b19fcd02fae7bea162c6f1cee371a4b024305be7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-02 22:38:24 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-23 11:52:14 +0900

    Use the dedicated constants `LIBARG` and `LIBPATHFLAG`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/9815

commit be7e5f1f85685a757bea6c8dae4e30914a5eec67
  Author:     Julien Marrec <julien.marrec@gmail.com>
  AuthorDate: 2024-02-02 17:40:38 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-23 11:52:14 +0900

    Implements [Feature #3456]: Support pkgconf on windows

    1. Store the `PKG_CONFIG` variable in Makefile.sub (or try to get it from the ENV var PKG_CONFIG in mkmf.rb)
    2. Try to use --msvc-syntax, with a fallback to replacing -Lxxx with -libpath:xxx. --msvc-syntax has been in pkgconf since 1.4.0 (released 7 years ago). pkg-config (freedesktop), does not support it, hence the fallback.
    3. The `try_ldflags` passes these `ldflags` as the `opt` parameter to the `link_command`, not as `ldflags`. Unix systems are forgiving in that regard, MSVC is not: as a result as passing them as `opt`, they (specifically the `/libpath:xxx` ones) end up passed before the `-link` command to `cl.exe` and it throws because it ignores it and therefore can't find the lib.

    ```
    cl : Command line warning D9002 : ignoring unknown option '-libpath:C:/Users/julien/.conan2/p/libff3726d89a6255c/p/lib'
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/9815

commit c695536cc8ea4be69849394b0c64c974d52c603a
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-12-20 17:42:53 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-12-23 11:05:34 +0900

    use `st_update` to prevent table extension

    to prevent the following scenario:

    1. `delete_unique_str()` can be called while GC (sweeping)
    2. it calls `st_insert()` to decrement the counter
    3. `st_insert()` can try to extend the table even if the key exists
    4. `xmalloc` while GC and cause BUG

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12407

commit 60c814607d5a1cc0522303cfe8378183a427dd79
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-23 09:39:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-23 09:39:08 +0900

    Omit TestEval#test_outer_local_variable_under_gc_compact_stress with s390x

commit af903a77d7d39ba353769dd67ee7c7d12a75b28d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-23 07:10:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-23 09:08:13 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12431

commit 0ea0b1a15d2c926be3f474f3024f90929b35fb74
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-22 23:42:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-22 23:42:40 +0900

    [DOC] Update about optional dump flags

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12430

commit f7ce62cc5b2a7465add04fa2c49fb1068b3bb42b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-22 23:14:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-22 23:14:03 +0900

    Add `hello`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12427

commit 354e790794d9fd4996172da9235e3b09fcb3e4ca
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-20 16:48:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-22 22:10:27 +0900

    Simplify MODULAR_GC_DIR setting

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12428

commit fca85845ab3ee12b9d1907a1335aa3f18bf322f7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-20 16:48:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-22 22:10:26 +0900

    Install modular GC libraries

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12428

commit e1ff13b1465cc548ff1f9416c22492e6177d59a3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-20 16:46:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-22 22:10:26 +0900

    modular-gc-precheck for mswin

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12428

commit 4fb5d746ce02dcaf8702f97f88946c090b65d4a2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-20 16:44:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-22 22:10:26 +0900

    Split `modular-gc` into build and installation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12428

commit 2f2530b195008209e1d9e4e9734509d5f956fa49
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-20 16:41:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-22 22:10:26 +0900

    Allow variables in modular_gc_dir

    Such as `$(ruby_version)`, `$(arch)` and so on.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12428

commit 626037e143886bb5d15b3c5ebf1e04fc711407fa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 11:24:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-22 22:10:26 +0900

    Support RUBY_MODULAR_GC with LOAD_RELATIVE

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12428

commit 99d5e6ab7a8a6cf42a75e5b29c396f670259b9c1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-20 01:09:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-22 22:10:02 +0900

    Suppress WIN32OLE deprecation warnings for the time being

commit cd8ad9634d9ab93f813d23b92384e04ecb8cc5f9
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-22 17:39:19 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-22 18:09:02 +0900

    s/Punctation/Punctuation/

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12426

commit b8fe5550e7e0e623805a954b148286bda2b38ecd
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-22 17:39:00 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-22 18:09:02 +0900

    s/backslashs/backslashes/

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12426

commit b0d40d3d039d50afd6ca7e95f77cfb3932a50b69
  Author:     Yudai Takada <t.yudai92@gmail.com>
  AuthorDate: 2024-12-22 18:08:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-22 18:08:39 +0900

    [DOC] Fix typos in comments in ractor.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12425

    Merged-By: nobu <nobu@ruby-lang.org>

commit 3808d29e2001c374f3bcda32a42519d6c28e5d09
  Author:     zverok <zverok.offline@gmail.com>
  AuthorDate: 2024-12-22 03:33:13 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-22 15:08:19 +0900

    Fix extra 'warning:' prefix for chilled Symbol#to_s

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12423

commit e76d2fddad7829ad5e2d36455b68e1025bbfbf33
  Author:     zverok <zverok.offline@gmail.com>
  AuthorDate: 2024-12-22 03:23:43 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-22 15:07:56 +0900

    [DOC] Fix typo in related class reference

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12422

commit 9e3e1c7fc9dddb61de4867ad786e86958d11b33c
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-12-18 23:04:35 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-12-22 03:33:03 +0900

    [ruby/openssl] Ruby/OpenSSL 3.3.0

    https://github.com/ruby/openssl/commit/e5153dbbb4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12421

commit 2a3f2412b704cfd4eb34c90e2032e3e2d40d3ae2
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-12-20 20:48:54 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-12-22 03:33:03 +0900

    [ruby/openssl] ssl: fix flaky test case test_ctx_client_session_cb_tls13_exception

    In the test case, the client raises an exception in the session_new_cb
    and may not cleanly close the connection. Let's ignore exceptions raised
    at the server side.

    Fixes: https://github.com/ruby/openssl/issues/828

    https://github.com/ruby/openssl/commit/210ba0334a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12421

commit 486246209777ca36cd7d2620368c5b455f113910
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-12-11 01:42:57 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-12-22 03:33:03 +0900

    [ruby/openssl] digest: remove optional parameter from OpenSSL::Digest#finish

    OpenSSL::Digest#finish overrides Digest::Instance#finish and is called
    from the Digest::Class framework in the digest library. This method is
    not supposed to take any arguments, as suggested by the RDoc comment for
    Digest::Instance#finish.

    It is a private method and not exposed to users. Let's remove it.

    This optional parameter exists since r15602 in Ruby trunk, the commit
    which converted OpenSSL::Digest to a subclass of Digest::Class.

    https://github.com/ruby/openssl/commit/dcb2a4f30b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12421

commit 9de2b407d7034b81963f8c5663233d353356d6cc
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-12-11 00:59:37 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-12-22 03:33:03 +0900

    [ruby/openssl] digest: make output buffer String independent in #finish

    Likewise, OpenSSL::Digest#finish needs to make the output buffer
    independent before writing to it.

    https://github.com/ruby/openssl/commit/9cc8a83466

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12421

commit 637f019f1f7611ba41f761a1b17e4228661d0a5b
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-12-10 23:06:00 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-12-22 03:33:03 +0900

    [ruby/openssl] cipher: make output buffer String independent

    OpenSSL::Cipher#update accepts a String as the second argument to be
    used as the output buffer. The buffer must be directly writable, in
    other words, it must not be frozen and not a shared string.

    rb_str_resize() does not make the String independent if the String
    already has the intended length. Use the rb_str_modify() family instead
    to check it.

    Fixes: https://bugs.ruby-lang.org/issues/20937

    https://github.com/ruby/openssl/commit/1de3b80a46

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12421

commit c79b4354074742ca1cbbb25a4f04bbffeb58407d
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-07-03 19:40:07 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-12-22 03:33:03 +0900

    [ruby/openssl] pkcs12: add PKCS12#set_mac

    Add a binding for PKCS12_set_mac() to set MAC parameters and
    (re-)calculate MAC for the content.

    This allows generating PKCS #12 with consistent MAC parameters with
    different OpenSSL versions. OpenSSL 3.0 changed the default hash
    function used for HMAC and the KDF from SHA-1 to SHA-256.

    Fixes: https://github.com/ruby/openssl/issues/772

    https://github.com/ruby/openssl/commit/f5ed2a74b6

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12421

commit 78f55ccd9be6c1893f07c841843a75f3b988dcf2
  Author:     Victor Shepelev <zverok.offline@gmail.com>
  AuthorDate: 2024-12-22 03:06:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-22 03:06:48 +0900

    [DOC] Move Time#xmlschema docs to the core (#12403)

  Notes:
    Merged-By: zverok <zverok.offline@gmail.com>

commit efe671f9d3de51c9c391a5de4ec3d32766b35079
  Author:     Victor Shepelev <zverok.offline@gmail.com>
  AuthorDate: 2024-12-22 03:05:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-22 03:05:26 +0900

    Properly document Ractor#require (#12389)

  Notes:
    Merged-By: zverok <zverok.offline@gmail.com>

commit 6114094aa049ffcf3202254933e5da1552837c32
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-21 10:45:51 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-12-21 10:45:52 +0900

    [DOC] Resurrected YJIT section

    under "Implementation improvements", similarly to past versions.

    We also don't do categorization like "* New features" (which was in this
    file) or "New features:" (which was on the release notes), so I used the
    standard header format instead.

    I applied the same change to release notes, copied the same thing back
    to NEWS.md, and then removed the TL;DR section from it.

commit 861ee7a3212d5e3e794d08034062fd4c21cac2a9
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-21 10:33:08 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-12-21 10:40:33 +0900

    [DOC] Reorder Language changes entries a little

    Warnings aren't something to brag first on the release notes. So I
    lowered the string literal one just a little. However, it still seems
    significant compared to other Bug tickets and incompatibilities/warnings,
    so I still kept it relatively high.

commit 018b77503936370174d30b5c8cb2473d55fc35dd
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-12-20 09:13:18 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-12-21 07:21:57 +0900

    FREE_AT_EXIT: Free all allocations from fiber pool

    The fiber pool allocations form a singly-linked list, so when we're
    running with RUBY_FREE_AT_EXIT we need to walk the linked list freeing
    each element, otherwise it can be detected as a memory leak.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12405

commit 36966456c728b4faba8aa7c853cdccdfcf9a14ab
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-21 04:33:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-21 06:52:36 +0900

    GC guard lookup_name

    When searching for native extensions, if the name does not end in ".so"
    then we create a new string and append ".so" so it. If the native extension
    is in static_ext_inits, then we could trigger a GC in the rb_filesystem_str_new_cstr.
    This could cuase the GC to free lookup_name since we don't use the local
    variable anymore.

    This bug was caught in this ASAN build:
    http://ci.rvm.jp/results/trunk_asan@ruby-sp1/5479182

        ==435614==ERROR: AddressSanitizer: use-after-poison on address 0x715a63022da0 at pc 0x5e7463873e4e bp 0x7fff383c8b00 sp 0x7fff383c82c0
        READ of size 14 at 0x715a63022da0 thread T0
            #0 0x5e7463873e4d in __asan_memcpy (/tmp/ruby/build/trunk_asan/ruby+0x214e4d) (BuildId: 607411c0626a2f66b4c20c02179b346aace20898)
            #1 0x5e7463b50a82 in memcpy /usr/include/x86_64-linux-gnu/bits/string_fortified.h:29:10
            #2 0x5e7463b50a82 in ruby_nonempty_memcpy /tmp/ruby/src/trunk_asan/include/ruby/internal/memory.h:671:16
            #3 0x5e7463b50a82 in str_enc_new /tmp/ruby/src/trunk_asan/string.c:1035:9
            #4 0x5e74639b97dd in search_required /tmp/ruby/src/trunk_asan/load.c:1126:21
            #5 0x5e74639b97dd in require_internal /tmp/ruby/src/trunk_asan/load.c:1274:17
            #6 0x5e74639b83c1 in rb_require_string_internal /tmp/ruby/src/trunk_asan/load.c:1401:22
            #7 0x5e74639b83c1 in rb_require_string /tmp/ruby/src/trunk_asan/load.c:1387:12

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12414

commit 391b6746cdc3fa39d1a5d832debe9c5b5dc39f51
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-12-21 05:47:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-21 06:45:28 +0900

    Provide Ractor support for **

    Fixes [Bug #20916]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12417

commit 97f55466760d89a54e82608e5c7c31fba60158ca
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-21 04:09:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-21 05:04:08 +0900

    Don't print bug report in asan_death_callback when no VM

    If we don't have the VM (e.g. printing memory leaks in LSAN after shutdown)
    then we will crash when we try to print the bug report. This issue was
    reported in: https://github.com/ruby/ruby/pull/12309#issuecomment-2555766525

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12413

commit aa360c3bee359f456d2f72dfa1bc9767074587ae
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-12-21 04:48:12 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-12-21 04:51:53 +0900

    [DOC] Fix to GC.config docs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12415

commit 07724d7b6f96f3758c64d7cede3c72b5b317e41e
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-12-21 01:30:23 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-12-21 04:47:01 +0900

    [DOC] Document the :implementation key of GC.config

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12411

commit 5d1fde06d489893a846bf0e69d18d958a827c27c
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-21 03:57:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-21 03:57:02 +0900

    [DOC] Refresh standard libraries page (#12404)

    * Migrate standard library doc page to markdown

    * Improve libraries listing and link to source code

    * Fix grammar and improve phrasing

    Co-authored-by: Jeremy Evans <code@jeremyevans.net>

  Notes:
    Merged-By: jeremyevans <code@jeremyevans.net>

commit 83a34fb060aa0cbd569d747ceecddd8fd6e50ed2
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-12-19 02:01:10 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-12-21 03:55:36 +0900

    [DOC] Don't document gemspec files

    Since https://github.com/ruby/ruby/commit/cf711863cbe0b81be5ff0adfb64936137995cc4e, gemspecs are included because the default exclude is overwritten

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12386

commit e23a60b929cff951252167935e8868b69ae3dc74
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-18 04:14:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-20 22:24:54 +0900

    Fix GC compaction crash when using local variables in eval

    If we have local variables outside of the eval, the local variables names
    are IDs. We convert these IDs to char * using rb_id2name. However, these
    char * are actually Ruby strings, which may be embedded. This means that
    it is not safe to rb_id2name and call any potential GC entrypoints because
    if a GC compaction runs, the embedded string may move and the pointer will
    change.

    For example, if you compile with `-DRGENGC_CHECK_MODE=1`, then the following
    script will crash:

        GC.auto_compact = :empty
        GC.stress = true

        o = Object.new

        eval("def o.m(k: 0) k end")

    The crash message is:

        test.rb:6: [BUG] Local with constant_id 1 does not exist
        ruby 3.4.0dev (2024-12-17T18:34:57Z prism-local-compac.. 434346726c) +PRISM [arm64-darwin24]

        -- C level backtrace information -------------------------------------------
        miniruby(rb_print_backtrace+0x24) [0x10312fec4] vm_dump.c:823
        miniruby(rb_print_backtrace) (null):0
        miniruby(rb_vm_bugreport+0x2d4) [0x1031301b8] vm_dump.c:1155
        miniruby(rb_bug_without_die_internal+0xa8) [0x102dd6a94] error.c:1097
        miniruby(rb_bug+0x28) [0x102dd6b00] error.c:1115
        miniruby(pm_lookup_local_index+0xec) [0x102d61e4c] prism_compile.c:1237
        miniruby(pm_compile_node+0x45d0) [0x102d252f4] prism_compile.c:9334
        miniruby(pm_compile_node+0x1864) [0x102d22588] prism_compile.c:8650
        miniruby(pm_compile_node+0x65ec) [0x102d27310] prism_compile.c:9897
        miniruby(pm_compile_scope_node+0x3008) [0x102d77bcc] prism_compile.c:6584
        miniruby(pm_compile_node+0x5ec4) [0x102d26be8] prism_compile.c:9768
        miniruby(pm_iseq_compile_node+0xac) [0x102d20bf0] prism_compile.c:10069
        miniruby(pm_iseq_new_with_opt_try+0x2c) [0x102e7d088] iseq.c:1029
        miniruby(rb_protect+0x108) [0x102dea9bc] eval.c:1033
        miniruby(pm_iseq_new_with_opt+0x264) [0x102e7c444] iseq.c:1082
        miniruby(pm_iseq_new_eval+0xec) [0x102e7c8e0] iseq.c:961
        miniruby(pm_eval_make_iseq+0x594) [0x1031209cc] vm_eval.c:1770
        miniruby(eval_make_iseq+0x54) [0x103120068] vm_eval.c:1799

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12374

commit 85f3ed8cdbc4c106033b81021a9957ced6a94311
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-18 03:34:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-20 22:24:54 +0900

    Don't recompute the strlen in pm_eval_make_iseq

    We've already computed the length of the string, so we can reuse it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12374

commit e8d393c8ae0c6282262b7a7886947379a9fd81a3
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-12-20 18:52:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-20 22:19:57 +0900

    [PRISM] Treat it as a local when compiling patterns

    Fixes [Bug #20973]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12408

commit 0397bfa2c83f442cb46dd0219d30c52aa7ff6d16
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-12-20 15:37:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-20 22:19:09 +0900

    [PRISM] Fix compiling popped opt_str_uminus and opt_str_freeze

    Put a pop as needed. This example currently causes [BUG]:

            $ ruby --parser=prism -e'1.times{"".freeze;nil}'
            -e:1: [BUG] Stack consistency error (sp: 15, bp: 14)
            ruby 3.4.0dev (2024-12-20T00:48:01Z master 978df259ca) +PRISM [x86_64-linux]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12410

commit b53a75230feb1db64320545ae45514ebd8d4c535
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-12-20 18:55:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-20 18:55:26 +0900

    Fix tests for fast_fallback (#12406)

    * TCPSocket.new: Close resources in ensure

    * TCPSocket.new: Remove unnecessary comments

    * Socket.tcp: Make assert_separately in TestSocket more readable

    * Socket.tcp: Returning instead of exiting

    * Socket.tcp: Close resources in ensure

    * Socket.tcp: Avoid test failures on hosts that only support IPv4

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 2f6c694977dc0cdc4766a8a921e74290963c19a7
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-12-19 07:10:04 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-12-20 16:49:30 +0900

    Memerror is fatal if VM cannot be unlocked.

    [Bug #20942]

    If we've raised a memerror while the VM is locked, and the tag we're
    jumping to has been locked at a different level to the current lock (ie.
    we've locked the VM again since the tag we're jumping to) then we should
    consider this memerror fatal and exit, since the tag cannot unlock the
    VM.

    Co-Authored-By: Peter Zhu <peter@peterzhu.ca>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12393

commit 978df259ca90c25ca2acb95a099ff6d3ff0161b0
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-12-20 09:48:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-20 09:48:01 +0900

    Bundle rbs-3.8 (#12399)

    * Clean up skip tests

    * Bundle rbs-3.8.0.pre.1

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit 2a44a57e1455302fc90c94cf02ff89c9f3bcf5d2
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-19 05:36:59 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-12-20 07:15:23 +0900

    [DOC] Link to special `fatal` class through `rdoc-ref`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12391

commit 33f95d632dce42fac35da29eaed33f0a5a4f0dcb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-20 03:52:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-20 06:25:23 +0900

    Don't unpoison the CC in vm_ccs_free

    The poison status is maintained by the GC, so don't unpoison it in vm_ccs_free.
    If the object is not a garbage object, then it should not be poisoned.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12402

commit 84eff67644aa0dabb996daf68eb060c2f3f5c7bb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-20 03:12:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-20 03:20:31 +0900

    [DOC] Add gc/README.md

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12379

commit 5978f2f114a5a669a39cdc46c457a3ea8ee24056
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-20 02:28:21 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-20 02:28:21 +0900

    Fix use-after-free in vm_ccs_free()

    `struct rb_callcache *` point to an imemo object on the GC heap when
    pushed into `struct rb_class_cc_entries`, but by the time vm_ccs_free()
    runs, the entire GC page the imemo was on could already be deallocated.
    With the right conditions, vm_ccs_free() wrote to freed memory.
    rb_objspace_garbage_object_p() by itself is not enough to determine
    liveness.

    I conjectured this situation to be possible in
    <https://github.com/ruby/ruby/pull/11995> using hints from crashes
    in the wild. With c37bdfa5311be0aa8503b995299fb9547cede0a6 ("Make
    asan_poison_object poison the whole slot"), the in-tree test suite
    now recreates this scenario[^1][^2][^3].

    Use rb_gc_pointer_to_heap_p(). Other uses of
    rb_objspace_garbage_object_p() could be making the same mistake, but
    correcting them might introduce serious performance regressions, so
    leave them alone for now.

    [^1]: http://ci.rvm.jp/results/trunk_asan@ruby-sp1/5477412
    [^2]: http://ci.rvm.jp/results/trunk_asan@ruby-sp1/5477445
    [^3]: http://ci.rvm.jp/results/trunk_asan@ruby-sp1/5477448

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12401

    Merged-By: XrXr

commit ce849d565bf6aae8e0179fffb04eb1f665f17347
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-20 00:32:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-20 00:32:14 +0900

    ruby2_keywords warnings: Quote non-UTF8 method names fully

    It used to quote only part of the method name because NUL byte in
    the method terminates the C string:

    ```
    (irb)> "abcdef".encode("UTF-16LE").bytes
    => [97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102, 0]
    ```

    ```
    expected: /abcdef/
    actual: warning: Skipping set of ruby2_keywords flag for a (method not defined in Ruby)\n".
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12396

    Merged-By: XrXr

commit 7b2ae8df905d7bbc084d31a8f55cecc7e7c422b3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-19 23:20:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-19 23:20:09 +0900

    [Bug #20969] Pass `assignable` from ripper

    For the universal parser, `rb_reg_named_capture_assign_iter_impl`
    function is shared between the parser and ripper.  However
    `parser_params` struct is partially different, and `assignable`
    function depends on that part indirectly.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12400

commit a58675386c10f4183116056bc0cf289548883ac0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-19 02:01:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-19 23:14:34 +0900

    Prefix asan_poison_object with rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12385

commit fcd44eee09f0a26c7711732bc8782fb8afa924f2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-19 00:19:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-19 23:14:34 +0900

    Fix compaction in ASAN with RGENGC_CHECK_MODE enabled

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12385

commit a72717675f0ddaa07127ea2fa25b7c1e271fdbce
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-14 03:46:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-19 23:14:34 +0900

    Export asan_poison_object

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12385

commit 16750a47d0718e82818020233ed3258f8ac74aad
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-14 03:43:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-19 23:14:34 +0900

    Don't calculate the aligned slot when unlocking page

    If we try to use GET_PAGE_HEADER, it can trigger the read barrier. If we
    try to align on the slot then we end up unlocking the heap page of a
    lower memory address.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12385

commit f02e31294c8159239f656379ccbb34e466c0ab43
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-12 04:09:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-19 23:14:34 +0900

    Don't unpoison a NULL object

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12385

commit a1265601960a4de12ce88842bcd8f3fecdf3660c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-12 02:58:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-19 23:14:34 +0900

    Unpoison memory before accessing next element of freelist

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12385

commit c37bdfa5311be0aa8503b995299fb9547cede0a6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-12 02:18:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-19 23:14:34 +0900

    Make asan_poison_object poison the whole slot

    This change poisons the whole slot of the object rather than just the flags.
    This allows ASAN to find any reads/writes into the slot after it has been
    freed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12385

commit ccded855b6bb2d9ab268c139f8241dcac410155f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-19 21:18:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 21:18:24 +0900

    Fixed label typo

commit 40af25d7fe408b657299fc11dbc6738cbc1fe59d
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-19 05:16:04 +0900
  Commit:     Stan Lo <stan.lo@shopify.com>
  CommitDate: 2024-12-19 20:58:49 +0900

    Fix bundled gems' indentations and link to their repos

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12390

commit b009f94747c8e5eb6988216facae978e6b10c7d8
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-19 04:38:36 +0900
  Commit:     Stan Lo <stan.lo@shopify.com>
  CommitDate: 2024-12-19 20:55:28 +0900

    Link to default gems' github repos

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12390

commit 7cb071c95178d236df621bddd68322a367ed604b
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-19 04:16:48 +0900
  Commit:     Stan Lo <stan.lo@shopify.com>
  CommitDate: 2024-12-19 20:52:44 +0900

    Fix release entries' indentation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12390

commit 46fec0f62a1803d44edb8b06e39ac0f358e56670
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-19 16:12:16 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-19 16:12:16 +0900

    [Bug #20965] Define `it` like an ordinary argument (#12398)

    Also fixes [Bug #20955]

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 2783868de27113040fbfb5401325852fd12fbcd2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-19 13:44:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 13:44:56 +0900

    Update NEWS.md with debug-1.10.0

commit a945c87aa8427e151b4b9329d797af8ce7235b3c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-19 13:18:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 13:18:11 +0900

    Update with logger-1.6.4

commit 0275cc0524dc343ed06436226c711e00c10dd182
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-19 13:15:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 13:16:56 +0900

    [ruby/logger] v1.6.4

    https://github.com/ruby/logger/commit/216cedef7c

commit d16b043cdd39d7ee8d9570798ef42cd9afc4a6f1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-19 12:36:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 13:16:50 +0900

    [ruby/logger] Use `__FILE__` for wasm

    `/dev/null` is not available on wasm.

    https://github.com/ruby/logger/commit/4be05c2208

commit 68e2022b5b23935db6e02e18270c6fb830945b17
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-19 11:50:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 12:20:22 +0900

    The test of net-imap is passed with Windows

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12397

commit efc26d20357360e6a3265c8c6a65772af697dda1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-19 08:15:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 08:45:31 +0900

    Added the latest versions of irb, json and rdoc to NEWS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12394

commit 91efe7b64f7ff6f67b8c270d37db50590af3a979
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-12-19 01:58:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 08:45:31 +0900

    [ruby/json] Release 2.9.1

    https://github.com/ruby/json/commit/f745ec145e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12394

commit 979b19b741b30b7e6f0bece5d11e9668297d2cd9
  Author:     Naohisa Goto <ngotogenome@gmail.com>
  AuthorDate: 2024-12-19 01:20:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 08:45:31 +0900

    [ruby/json] Add support for Solaris 10 which lacks strnlen()

    Check for existence of strnlen() and use alternative code if it is missing.

    https://github.com/ruby/json/commit/48d4bbc3a0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12394

commit bba66f94f24701ea22741196beaedc81ed19789e
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-18 18:51:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 08:45:31 +0900

    [ruby/rdoc] Bump version to v6.10.0

    https://github.com/ruby/rdoc/commit/2b79892ab4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12394

commit a920808c4bf1bfa802d46c86993adfd7313459d4
  Author:     James Reid-Smith <james.reidsmith@shopify.com>
  AuthorDate: 2024-12-18 09:07:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 08:45:31 +0900

    [ruby/rdoc] Auto-hide navigation on link click
    (https://github.com/ruby/rdoc/pull/1238)

    Hide navigation sidebar when clicking anchor links on mobile devices.
    Previously, anchor links would change the page but the navigation
    sidebar would block the view.

    https://github.com/ruby/rdoc/commit/f12a96b7fa

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12394

commit 35ff04ce5ee3f4758fbde1ff2940161b02b05527
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-18 19:20:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-19 08:45:31 +0900

    [ruby/irb] Bump version to v1.14.3
    (https://github.com/ruby/irb/pull/1050)

    https://github.com/ruby/irb/commit/49050f9bf3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12394

commit c194b26132eb7babe8a98d3fc61b9a8ac15a23d0
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-12-19 05:58:29 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-12-19 06:52:11 +0900

    debug v1.10.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12392

commit 173ae93e56c62e5cf178d403ae8abcc1b125306d
  Author:     Victor Shepelev <zverok.offline@gmail.com>
  AuthorDate: 2024-12-19 04:38:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-19 04:38:40 +0900

    Document 'it' and update numbered parameters docs (#12375)

  Notes:
    Merged-By: zverok <zverok.offline@gmail.com>

commit 477c505ac0d4d23a860ffafbb487f7598aa89ca3
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-19 02:08:15 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-19 02:08:15 +0900

    [DOC] Fix output examples containing old Hash#inspect format

    The inspect format was intentionally changed as an outcome of
    [Bug #20433] [ruby-core:118668], but some documentation update
    was missing, as [Bug #20962] pointed out. Update some output
    examples that clearly use Hash#inspect.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12384

    Merged-By: XrXr

commit 528ec7060464d30359e593055df6b53362cd1060
  Author:     Naohisa Goto <ngotogenome@gmail.com>
  AuthorDate: 2024-12-18 23:37:22 +0900
  Commit:     Naohisa Goto <ngotogenome@gmail.com>
  CommitDate: 2024-12-18 23:37:22 +0900

    use RBIMPL_ATTR_MAYBE_UNUSED

    The macro MAYBE_UNUSED, prepared by ./configure, may not be defined in
    some environments such as Oracle Developer Studio 12.5 on Solaris 10.

    This fixes [Bug #20963]

commit d07aa670b4e38c1e7bb17c42ebf86a8012b0f987
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-18 21:49:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-18 21:49:37 +0900

    Get rid of duplicate modifier for MSVC

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12383

commit 8417d09f9381c93352fe2cddbdfd4144b5924979
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-18 17:14:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 17:14:54 +0900

    Removed unnecessary sentence for stdlib

commit dd1208afa7b8012edaabc26cc4d2366c0d0d8139
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-18 16:31:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 16:45:10 +0900

    Extract auto-update workflow for default gems on NEWS.md

    We should stop it until final release of Ruby.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12381

commit 647449fc91c9d37752b09ac5f0a7859deee9e70e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-18 14:36:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 14:41:51 +0900

    Update description for default and bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12380

commit 96ae73e72232deaafd7a1f28b36f040da916b270
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-18 14:22:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 14:41:51 +0900

    Restore rake-13.2.0 and added bundled versions of Ruby 3.3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12380

commit d80b466a04047c3ca37dfa6837a69b7f8d313016
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-18 13:07:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 14:41:51 +0900

    Added version histories of updated default gems for Ruby 3.4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12380

commit 6336431a64cac606ed8fa35ed577ba37755eccfc
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-12-18 11:50:00 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-12-18 11:50:00 +0900

    [DOC] rb_id2name(): Note truncation danger (+minor copyediting)

    Thanks, nobu!

commit 827acccce7265538bb632f001eca90a050874bd8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-18 11:22:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 11:22:13 +0900

    Skip to sync lib/irb/.document

commit 57f6329ba7aa744101efe026bea0a0bd46c77fc8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-13 11:52:19 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-18 11:12:34 +0900

    Check RUBY_THREAD_TIMESLICE value

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12328

commit c07fb791504cdfa32ff1be165758fcc624b26c2d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-29 02:38:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-12-18 11:10:05 +0900

    Avoid file descriptor leak

    `extra_fd` was leaked if `fd_set_cloexec` fails -- I can't think of any
    chance of that happening here, but just in case.

    Coverity Scan found this issue.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12201

commit 25602421fb1f451746e25cc1a80b815a556be4a2
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2024-12-12 16:10:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 11:00:36 +0900

    [DOC] Fix the block parameter name in Array#zip

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12316

commit 3edbf6cfc5dba4da62ac23af5f0ebbbd61c8451a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-18 10:13:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 10:27:03 +0900

    [ruby/psych] Bump up v5.2.2

    https://github.com/ruby/psych/commit/746e1ad24d

commit b3abdd4cf45f370d763f6782db46c8ada5818a44
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-17 05:26:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 10:05:21 +0900

    Bump Rubygems version to 3.6.1

commit 64b8e2da6822273a059158138d3bb03ca8975547
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-17 05:26:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 10:05:21 +0900

    Bump Bundler version to 2.6.1

commit 559e9fe9905ec86374d23c1c74f79099df631427
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-17 03:23:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 10:05:21 +0900

    Bump vendored securerandom to 0.4.1

commit b9ad8fa52454e0dc7db2a4a617daecf5fa7d5bdb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-17 03:18:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-18 10:05:21 +0900

    Bump vendored timeout to 0.4.3

commit 498d6eb114c52bd16a6821029959e88ed8f87396
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-12-18 09:48:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-18 09:48:26 +0900

    Wrap `do_fast_fallback_getaddrinfo` with `rb_thread_prevent_fork` (#12366)

    Wrap `do_fast_fallback_getaddrinfo` with `rb_thread_prevent_fork`

    Referencing PR #10864,
    wrap `do_fast_fallback_getaddrinfo` with `rb_thread_prevent_fork`
    to avoid fork safety issues.

    `do_fast_fallback_getaddrinfo` internally uses getaddrinfo(3),
    leading to fork safety issues, as described in PR #10864.
    This change ensures that `do_fast_fallback_getaddrinfo`
    is guarded by `rb_thread_prevent_fork`,
    preventing fork during its execution and avoiding related issues.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 98bf912d4b88169bf953a290d96fa7f556ad0589
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-18 08:48:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-18 08:48:01 +0900

    [DOC] Added references of github releases for bundled gems (#12365)

    * Added references of github releases for bundled gems

    * Removed bundled version of 3.3.0 and maintenance releases

    * Added history of racc, mutex_m, bigdecimal, drb, syslog and csv

    * Added test-unit, rss, net-ftp, prime and nkf.

    * Added power_assert 2.0.4

    * Removed unnecessary version of Rake

    * Update NEWS.md

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    ---------

    Co-authored-by: Stan Lo <stan001212@gmail.com>

  Notes:
    Merged-By: hsbt <hsbt@ruby-lang.org>

commit fef8ecc708e0dbb5725abb1aa24329cf612f8c41
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-18 06:48:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-18 06:48:31 +0900

    [ruby/rdoc] Enable cross reference in code
    (https://github.com/ruby/rdoc/pull/1240)

    Some people like to mark up method names in MarkDown style block
    quotes, like this: [ruby/ruby#12333](https://github.com/ruby/ruby/pull/12333).
    Currently, no links are created in the code in the RDoc, but such
    words most likely refer to methods.
    This PR makes a word a code cross-reference if the whole word can be
    resolved as a reference.

    https://github.com/ruby/rdoc/commit/7d7efb0709

commit 375fec7c53c5b32f85c05f759c080678d29a9a94
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-18 05:06:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-18 06:32:13 +0900

    [DOC] Add note to rb_id2name about GC compaction

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12376

commit 1254850a616b0af57b11c2d744af1ce9988aa5e7
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-18 06:23:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-18 06:23:56 +0900

    [ruby/rdoc] Update tests for ruby/rdoc#1247
    (https://github.com/ruby/rdoc/pull/1248)

    https://github.com/ruby/rdoc/commit/94b9858000

commit 408f5368908889e1af141b05d3afd8704b0ef33a
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-12-18 05:56:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-18 05:56:24 +0900

    [ruby/rdoc] `aligns` may include `:center`
    (https://github.com/ruby/rdoc/pull/1247)

    https://github.com/ruby/rdoc/commit/cbbf04d6f8

commit 9715131c32fa9753da6a616c9ad3891e27bcff5b
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-12-18 01:34:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-18 03:01:39 +0900

    [DOC] Fix example in Numeric#to_int

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12372

commit 6bf7a1765f89561155eb12148ea1985e82ba8600
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-18 02:32:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-18 02:32:42 +0900

    YJIT: Load registers on JIT entry to reuse blocks (#12355)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 0b2f034208a1131900257a7923a71bf4e3b56a3e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-18 00:28:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-18 02:28:18 +0900

    [rubygems/rubygems] Fix missing `Gem::Uri.redact` on some Ruby 3.1 versions

    Our CI did not catch this because it was testing with Ruby 3.1 patch
    levels that include a RubyGems version that already has
    `Gem::Uri.redact`.

    We should make sure the system-rubygems workflow always tests against
    the oldest supportted Ruby/RubyGems combination.

    https://github.com/rubygems/rubygems/commit/3b695e3be1

commit 707c6420b1ea599c223a17781185c0b6fb0f3518
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-17 23:27:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-18 01:03:38 +0900

    Don't reference update frames with VM_FRAME_MAGIC_DUMMY

    Frames with VM_FRAME_MAGIC_DUMMY pushed by rb_vm_push_frame_fname have
    allocated iseq, so we should not reference update it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12371

commit 429b867d1b2de9dcdd558b13c3c9ab54e94e5a9b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-17 00:50:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-18 01:03:38 +0900

    Fix autoload_table_compact

    The keys are IDs, so we cannot update references on them.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12371

commit 9733304d6112ca3ac81b70dfecf7b2b7f63beff5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-17 00:49:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-18 01:03:38 +0900

    Assert Ruby object in rb_gc_location

    rb_gc_location doesn't check that the object is actually a Ruby object
    and only checks if the object looks like a T_MOVED. This may have unexpected
    outcomes if the object is not a Ruby object (e.g. a piece of malloc memory
    may be corrupted).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12371

commit 50a67820fbbb9347b3d659502bca80b0b921eeb2
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-12-18 00:55:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-18 00:55:43 +0900

    [DOC] Change arg names from n to count (#12288)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 86cf18e01e8be1db6194b7cb27357150998d9056
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-12-17 21:13:20 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-12-18 00:13:53 +0900

    [PRISM] Recurse use_deconstructed_cache in Alternation Nodes

    This fixes the behavioural difference between Prism and parse.y when
    evaluating the following code

    ```ruby
    1 in [1 | [1]]
    ```

    Fixes [Bug #20956]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12370

commit c25dd4ee472e1516be64b9b2f0a9e222ef7532d6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-17 14:55:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-17 20:25:06 +0900

    Win32: Add coroutine for mswin on arm64

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12367

commit e4a4dea2c0b67048ec73f36e8dac3c637249119e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-13 14:49:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-17 20:25:06 +0900

    Win32: Fix the macro for arm64 on mswin

    Visual C defines `_M_`-prefixed macros for the target architectures.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12367

commit 5a7a1a4a13ae11e4cef274c98e0c5bbcb7b1d192
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-13 14:45:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-17 20:25:06 +0900

    Win32: Fix `rbimpl_size_mul_overflow` on arm64

    `_umul128` is specific to x86_64 platform, see higher words by
    `__umulh` on arm64.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12367

commit 36c36d0486b0c884759c038ceaf4aa495785996a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-13 14:44:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-17 20:25:05 +0900

    Win32: Allow arm64 platform

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12367

commit a652d8b6807a9b81a4fe9bad519840c732896eea
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-12-17 18:28:04 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-17 18:28:04 +0900

    Launchable: Start recording test-spec in compilers.yaml (#12364)

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit c5c88def57b580b4e7ec259dc21469d6690f04e0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-17 15:53:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-17 15:55:55 +0900

    Update bundled_gems

commit ce72d1448728e47d0c9dee99acba08413bec186c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-17 15:48:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-17 15:48:33 +0900

    [ruby/win32ole] Bump up v1.9.1

    https://github.com/ruby/win32ole/commit/3e9b3b02e9

commit fc38023d4e4f44ce1d4d7c1e7921668b52983452
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-17 15:47:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-17 15:47:52 +0900

    [ruby/tmpdir] Bump up v0.3.1

    https://github.com/ruby/tmpdir/commit/0245079c24

commit 20ce09e0b8ceff2a4a71f5328e11905cfc44951c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-17 14:13:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-17 14:13:04 +0900

    Move Refinement#refined_class changes to Compatibility issues section

commit ef09d2dfdd0fcf152c24f6442a5bd637327e187d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-17 13:31:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-17 13:31:01 +0900

    Added JSON entry

commit 9a5290249047ce7182f8cfcbade8f5c94d162954
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-17 12:32:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-17 12:35:59 +0900

    Added YJIT entries from draft of release announcement

commit 9f0b84ee45524dcd6b3acf32137661ebd9a437d1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-17 12:10:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-17 12:25:00 +0900

    Added changes of RubyGems-3.6.x and Bundler-2.6.x to NEWS.md

commit c7a638747ae4c2cf7eee17b07e782b1ee446ec82
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-12-17 11:58:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-17 11:58:00 +0900

    Fix constant documents (#12357)

    Delete duplicated `Document-const:` directives

    Those directives are attached to `rb_define_const` and `rb_file_const` where we don’t need them because the functions are supported by RDoc.

commit b6973e4ffc8b762d2395470082179109f5bb2374
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-17 10:10:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-17 10:10:26 +0900

    [Bug #20951] [DOC] UTC offset in `utc_to_local`

commit 187b8fdb6990145210ef6394ca8d866c2f885854
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2024-12-17 05:02:50 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-17 09:46:27 +0900

    Fix coroutine implementaion on Windows-Arm64

    When setjmp/longjmp/exceptions are used on Windows it's necessary to store+restore additional information from the TEB.
    I didn't find any official documentation about the values to be saved, but found the corresponding boost/context implemenataion:
        https://github.com/boostorg/context/commit/abf8e04e23cf05a499594e674d1c90db39117662

    This is similar to the special TIB handling on x86/x86_64 on Windows.

    Without this fix an exception in a fiber segfaults without any output:
      ruby -e "Fiber.new{ raise 'test' }.resume"

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12363

commit 047a87bd7a8d24afa36cc6533868dc65c9198948
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-14 01:30:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-17 09:39:03 +0900

    Bump Rubygems version to 3.6.0

commit 11910b26063e3f2d4adabddaf833262f6d537475
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-14 01:30:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-17 09:38:45 +0900

    Bump Bundler version to 2.6.0

commit 535f0746edf15792987d43b6ddb8e914c1e9b9d7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-17 09:32:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-17 09:32:38 +0900

    Fix indent rule by rubygems/bundler cops

commit d42fcda00201a8f98a226225700b896b50e9c267
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-13 23:33:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-17 09:22:17 +0900

    Bump vendored resolv to 0.6.0

commit 2eee7a52e1d3ad5b623829784453a06c78efadef
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-12-17 08:43:41 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-12-17 08:43:41 +0900

    Export __asan_default_options for GCC

    Unlike Clang 15, GCC 11 seems require default symbol visibility.

commit 2102fe32ff8191ad51001daf57a1ed09a1ebc824
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-12-17 07:11:36 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-12-17 07:11:36 +0900

    Detect ASAN when using older GCC versions

    Newer GCCs have __has_feature and older ones have
    __SANITIZE_ADDRESS__[1]. Relevant since ASAN with GCC 11 on the popular
    Ubuntu Jammy failed to build previously.

    [1]: https://gcc.gnu.org/onlinedocs/gcc-4.8.0/cpp/Common-Predefined-Macros.html

commit 0a99daa3216c298695a5fc595fc772ebc5d1834c
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-12-17 06:53:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-17 06:53:33 +0900

    Update bundled gems list as of 2024-12-16

commit b72e8ab816b51f23c573535eb9df68c8022d7260
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-12-17 06:44:34 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-17 06:44:34 +0900

    Add back summary table for pack/unpack directives (#12349)

    * Add back summary table for pack/unpack directives
    * This concise summary is very helpful e.g. to find the right Integer
      directive, and is much better at getting an overview than very long text.
    * From https://github.com/ruby/ruby/pull/6567
    * I merged the tables for Array#pack and String#unpack,
      there were almost the same except for String and Misc. directives.
    * Tune up the tabular data and moves it to the top.

    Co-authored-by: Burdette Lamar <BurdetteLamar@Yahoo.com>
    Co-authored-by: Stan Lo <stan001212@gmail.com>

  Notes:
    Merged-By: eregon <eregontp@gmail.com>

commit 09dc63526ea4cbebaaadbf80782a73722bb263b6
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-17 03:02:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-17 06:41:59 +0900

    Bundle repl_type_completor 0.1.9

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12361

commit 5ff1c479d6953c169cdc7348fd1b621d53f33c87
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-17 04:59:01 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-12-17 06:00:49 +0900

    Sync net-http commits

    https://github.com/ruby/net-http/commit/9bcf818fd009eafb11107c7457aa56d533d16d94
    https://github.com/ruby/net-http/commit/5e34e74261f40f4f10c93d7700761c437117f494

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12362

commit cf711863cbe0b81be5ff0adfb64936137995cc4e
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-13 08:39:24 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-12-17 04:55:33 +0900

    Exclude irb from documentation generation

    - IRB has its own documentation in the project readme and https://ruby.github.io/irb/ already.
    - As a tool, its internal implementation details are not relevant to the user.
    - Excluding it from the documentation generation reduces the size of the generated documentation
      and makes search results more relevant.

    I also checked the there are no references to IRB so it should not break any links.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12325

commit 29d3ea1e84d44335d998cadaf7cf3b45270a962e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-14 03:17:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-17 04:51:16 +0900

    [rubygems/rubygems] Fix `bundle lock --add-checksums` when gems are already installed

    https://github.com/rubygems/rubygems/commit/a087c452ad

commit a6fd6cb72f22531cc3cc976de99c5f9eccbf7101
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-17 04:34:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-17 04:35:00 +0900

    [ruby/rdoc] Print warnings for rdoc-ref links that can't be resolved
    (https://github.com/ruby/rdoc/pull/1241)

    https://github.com/ruby/rdoc/commit/4a5206ae56

commit 80b8feb929be08bd718518a57d2b549c8dab80b3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-17 01:07:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-17 03:32:35 +0900

    Don't directly use rb_gc_impl_location in gc.c

    Use the wrapper gc_location_internal instead that checks for special
    constants.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12359

commit d28368d27f6ee8e82dc293f10cbbcbe7f07fa9d1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-17 01:02:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-17 03:32:35 +0900

    Move special constant check in rb_gc_location to gc.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12359

commit d0968b1b4c402a355f207db10abbb067ee3d3377
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-13 01:42:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-17 03:09:54 +0900

    [rubygems/rubygems] Fix `gem info` tagging some non default gems as default

    https://github.com/rubygems/rubygems/commit/7585825c57

commit c4d35040f4720b02856daaea4d4580aeda0af268
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-13 01:41:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-17 03:09:54 +0900

    [rubygems/rubygems] Improve indentation of a `gem info` test

    https://github.com/rubygems/rubygems/commit/b0a092dac3

commit 516a6cd1ad620b880651c1333bd856a9d7dec3c4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-17 01:41:41 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-17 02:24:24 +0900

    Check whether object is valid in allocation_info_tracer_compact

    When reference updating ObjectSpace.trace_object_allocations, we need to
    check whether the object is valid or not because it does not mark the
    object so the object may be dead. This can cause a segmentation fault
    if the object is on a free heap page.

    For example, the following script crashes:

        require "objspace"

        objs = []
        ObjectSpace.trace_object_allocations do
          1_000_000.times do
            objs << Object.new
          end
        end

        objs = nil

        # Free pages that the objs were on
        GC.start

        # Run compaction and check that it doesn't crash
        GC.compact

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12360

commit 9b3831e90831b8410040f4c064abfcc61626e061
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-12-17 02:10:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-17 02:10:27 +0900

    [ruby/reline] Bump version to 0.6.0
    (https://github.com/ruby/reline/pull/795)

    https://github.com/ruby/reline/commit/e0850cd5ba

commit db78ab5ed278e0e3e73fe9142d15415a0fc8e3a1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-02 04:06:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-17 00:51:22 +0900

    [ruby/prism] Update src/prism.c

    https://github.com/ruby/prism/commit/544df5835f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12358

commit f6e0a037aa21bd90830cecc397c16918890d76a2
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-04 15:32:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-17 00:51:22 +0900

    [ruby/prism] [Bug #20785] Allow `, and` and `, or`  after patterns

    Partially: https://bugs.ruby-lang.org/issues/20785

    https://github.com/ruby/prism/commit/71c9102d02

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12358

commit 0dc35f0d3027413d7fd7f73d6be1d7ea99cf156e
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-11-09 02:26:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-17 00:51:22 +0900

    [ruby/prism] Ignore newlines in labelled lambda arguments

    https://github.com/ruby/prism/commit/4ce6bcf182

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12358

commit a21237571e57e1c6992d41424300996303859b3e
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-10-02 03:50:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-17 00:51:22 +0900

    [ruby/prism] Fix 3112 - disallow commas after block arg

    Prism was already disallowing arguments after block args, but in
    parse.y, any comma after a block arg is a syntax error. This moves the
    error handling into `PM_TOKEN_UAMPERSAND` where we can check if the
    current type is `PM_TOKEN_COMMA`then raise an error. I've also updated
    the tests to include the examplesfrom ruby/prism#3112.

    Fixes: ruby/prism#3112

    https://github.com/ruby/prism/commit/754cf8eddc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12358

commit 8eaa976cbe20ef81a3dd17097337394bf798d7f0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-11-05 01:33:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-17 00:51:22 +0900

    [ruby/prism] Fix up regression in ruby parser translation

    https://github.com/ruby/prism/commit/b283a72c88

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12358

commit 2ab1b07b84a9f2947f52b8b7bb758eb00a51b47f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-11-05 01:07:37 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-17 00:51:22 +0900

    [ruby/prism] Simplify srange_find in parser compiler

    https://github.com/ruby/prism/commit/34efacc618

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12358

commit cc967a470b65b3fe4bae00d930a42e213eca6687
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-11-05 00:53:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-17 00:51:22 +0900

    [ruby/prism] Add do keyword tracking for While/Until

    https://github.com/ruby/prism/commit/9686897290

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12358

commit 737d6741207d4ded6d24066091f06ef167cad2aa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-11 03:28:53 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-17 00:51:22 +0900

    [ruby/prism] Bump to v1.2.0

    https://github.com/ruby/prism/commit/817a8e39d9

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12358

commit 4931220cbf225164754739946c0b4629aafaad58
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-03 04:26:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-17 00:51:22 +0900

    [ruby/prism] Bump to v1.1.0

    https://github.com/ruby/prism/commit/f80026883d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12358

commit 15765eac0ae156afe69b53ab317c4096f2c2c0ec
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-14 02:20:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-17 00:12:54 +0900

    Fix ObjectSpace.trace_object_allocations for compaction

    We need to reinsert into the ST table when an object moves because it is
    a numtable that hashes on the object address, so when an object moves we
    need to reinsert it rather than just updating the key.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12339

commit b0385305060e6edf98f92993f3f13c5e6a978b0e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-14 02:20:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-17 00:12:54 +0900

    Fix compaction check for ObjectSpace.trace_object_allocations

    We should be checking for key for moved objects rather than the value
    because the key is a Ruby object and the value is malloc'd memory.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12339

commit 39d0ebb6e84a68ef6b5b43f33fb32f36428be548
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-12-16 20:26:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-17 00:00:27 +0900

    [ruby/prism] Blocks & kwargs are not valid in index assignments

    Ruby feature: https://bugs.ruby-lang.org/issues/20952

    https://github.com/ruby/prism/commit/e612df5f36

commit a46fe5c807361f07604eaba447f0487076977e7e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-16 23:49:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 23:55:39 +0900

    [ruby/rdoc] Fix to parse `rb_define_global_const`

    https://github.com/ruby/ruby/pull/12357

    https://github.com/ruby/rdoc/commit/458ecbb7f7

commit 4428c51f01638c1ce6ba8a9eb8ffea00a4c78318
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-16 22:53:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 22:53:34 +0900

    [ruby/reline] Change quoted_insert and bracketed_paste to a single
    key input
    (https://github.com/ruby/reline/pull/792)

    https://github.com/ruby/reline/commit/8f331edb07

commit 9e7e938ed9feffeefd08c88f446bbd44282b397c
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-16 21:49:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 21:49:17 +0900

    [ruby/rdoc] Bump version to v6.9.1

    https://github.com/ruby/rdoc/commit/7cd125e2f0

commit 946c823ddbd2f9bd9429d7d1b229a5ba773e540f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-18 16:14:44 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-16 20:54:40 +0900

    Freeze `Random::Formatter::ALPHANUMERIC` and its elements

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12356

commit 784bd9c42ebc58c5ba6f40d9600b9591db81c8d8
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-16 20:32:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 20:32:43 +0900

    [ruby/rdoc] Add attribute :force to RDoc::RubygemsHook just like
    RDoc::RubyGemsHook
    (https://github.com/ruby/rdoc/pull/1244)

    Rubygems creates an instance of RDoc::RubygemsHook, sets `doc.force = overwrite`, then calls `doc.generate` the document.
    RDoc::RubygemsHook needs attribute `:force` just like RDoc::RubyGemsHook.

    https://github.com/ruby/rdoc/commit/01bdbcdd4d

commit a3991599fa4dc058578ef9c3ecec2ea6562dddca
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-08 16:04:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 19:28:10 +0900

    [ruby/tmpdir] Move private constants under `Dir::Tmpname` module

    Including `TMPDIR_CANDIDATES` extracted from `Dir.tmpdir` invariant.

    https://github.com/ruby/tmpdir/commit/d219ee273f

commit 0769a48a215d40d3c52876d1377ceefe50db3afe
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-08 18:28:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 19:13:45 +0900

    [ruby/tmpdir] Tell if the block is given by block argument

    https://github.com/ruby/tmpdir/commit/6e97a96d3b

commit bf0f3239071a9fa11dc1b9553106eb37c89f384c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-16 18:31:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 18:40:01 +0900

    [ruby/tmpdir] Fix for path-like objects

    Fix https://github.com/ruby/tmpdir/pull/37

    https://github.com/ruby/tmpdir/commit/a8ceafae7d

commit eef4e8a2c89f6c15096a43ea6783aa7994f1d0ca
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2024-12-06 21:47:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-16 16:57:32 +0900

    [DOC] Add Warning[:strict_unused_block] to NEWS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12280

commit 5d97c14fec90b96f82d13299f578d16ee9996b3f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-12-16 08:31:49 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-12-16 16:37:55 +0900

    FIx Ractor.main? to return `true` not `0`

    [Bug #20954]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12352

commit 923f831804b8bc26bf0412b932791d9090ff8ac4
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-16 16:27:43 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-12-16 16:27:43 +0900

    Suppress -Wsuggest-attribute=format

commit 89d3b724885b5e443fa33eb8269d32d5555a790c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-16 14:42:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 14:43:01 +0900

    [ruby/securerandom] Bump up v0.4.1

    https://github.com/ruby/securerandom/commit/65fb8ddcc3

commit 7923e420c49b366db7b10bbeaf17653c3acc24c0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-16 14:02:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 14:35:47 +0900

    [ruby/securerandom] Only define compatible method in < Ruby 3.3

    https://github.com/ruby/securerandom/commit/2c8cdfba7b

commit 3a4433dddd4ba27d23feff83efd9d48604420df8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-16 13:48:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 14:35:47 +0900

    [ruby/securerandom] Restore SecureRandom.alphanumeric same as Random::Formatter.alphanumeric of Ruby 3.3/3.4

    Fixes https://github.com/ruby/securerandom/pull/35

    https://github.com/ruby/securerandom/commit/fbb36e36cc

commit 5e838197a318503c3d53f8662353ff29c5c3bd4a
  Author:     zzak <zzakscott@gmail.com>
  AuthorDate: 2024-12-05 15:06:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 13:01:53 +0900

    [ruby/psych] Don't autolink Exception in psych module docs

    https://docs.ruby-lang.org/en/master/Psych.html#module-Psych-label-Exception+handling

    https://github.com/ruby/psych/commit/c53c298222

commit 2f315667eb11c80793912e944abfa8516170172f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-16 12:53:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 12:53:22 +0900

    [ruby/timeout] Bump up v0.4.3

    https://github.com/ruby/timeout/commit/607d8c6fbe

commit 379128dcbf19c0777333b8c1a86bf52469633c9a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-16 12:31:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 12:31:55 +0900

    [ruby/digest] Bump up v3.2.0

    https://github.com/ruby/digest/commit/26c757fe9a

commit 939c92e8dc9bd86442957b620a517bd4bb3a930b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-16 10:12:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-16 10:22:30 +0900

    Lock released version of fiddle-1.1.6

commit 7c260bd424c25755554885fb1bc25492e5df598f
  Author:     Dani Smith <code@danini.dev>
  AuthorDate: 2024-12-12 08:43:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-16 10:22:30 +0900

    [ruby/fiddle] ffi_backend: convert numeric function args to pointers
    (https://github.com/ruby/fiddle/pull/162)

    This allows for passing integers as pointer arguments to functions when
    using the FFI backend. This is a workaround until we can get JRuby's FFI
    implementation to allow for it directly (see also
    https://github.com/jruby/jruby/pull/8423)

    ---------

    https://github.com/ruby/fiddle/commit/e2f0952e9b

    Co-authored-by: Benoit Daloze <eregontp@gmail.com>

commit 41e24c2f3e9a5ff29cccbfe92ecf4d412e5a4e0d
  Author:     Alexander Momchilov <amomchilov@users.noreply.github.com>
  AuthorDate: 2024-12-13 10:28:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-16 10:10:34 +0900

    [ruby/strscan] [DOC] Add syntax highlighting to MarkDown code blocks
    (https://github.com/ruby/strscan/pull/126)

    Split off from https://github.com/ruby/ruby/pull/12322

    https://github.com/ruby/strscan/commit/9bee37e0f5

commit 219c2eee5a4a2b76f054c396635893e6139694a4
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-12-12 11:41:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-16 10:10:34 +0900

    [ruby/strscan] Bump version

    https://github.com/ruby/strscan/commit/fd140b8582

commit 9389a27e4967a170da98af8cd33d6ee1c063d3d5
  Author:     nvh0412 <nvh0412@gmail.com>
  AuthorDate: 2024-12-15 19:47:16 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-16 10:07:39 +0900

    [DOC] Fix broken parameter display and see links for Socket

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12350

commit a0db65df2932abcc29d2da67a21ca1e8b7814d0e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-16 08:49:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-16 09:34:57 +0900

    Rollback repl_type_completor-0.1.7 because the test of 0.1.8 is failing with Ruby master

    https://github.com/ruby/ruby/actions/runs/12343218221/job/34443981066?pr=12351#step:14:456

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12351

commit f2739fd299d5aa0c81ab9a66a1b3f7ff9d84f829
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-16 08:32:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-16 09:34:57 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12351

commit 1ac28224e0d8515422879ead8c1446224964ddd2
  Author:     Victor Shepelev <zverok.offline@gmail.com>
  AuthorDate: 2024-12-16 04:53:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-16 04:53:39 +0900

    [DOC] Adjust argument unpacking docs and document **nil (#12228)

    [DOC] Rewrite argument unpacking docs and document **nil

  Notes:
    Merged-By: zverok <zverok.offline@gmail.com>

commit 16b84b72a4ceb570c7af451f7d16aad02e68404b
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-15 21:30:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-16 03:46:51 +0900

    [rubygems/rubygems] Fix broken link to license file

    https://github.com/rubygems/rubygems/commit/76cb4aad70

commit 366fd9642f7b03de08796b39b5a10a55d5acabe3
  Author:     James Reid-Smith <james.reidsmith@shopify.com>
  AuthorDate: 2024-12-15 22:36:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-15 22:36:38 +0900

    [ruby/rdoc] Hide hamburger on desktop
    (https://github.com/ruby/rdoc/pull/1237)

    * Clean up the duplicate definitions and unnecessary print styling

    * Hides the navigation toggle when there's enough room to always display the navigation

    * Update lib/rdoc/generator/template/darkfish/css/rdoc.css

    ---------

    https://github.com/ruby/rdoc/commit/c6193bf1e2

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit f9dc41b6a961f27bc3151cdef3674911e0b564e7
  Author:     James Reid-Smith <james.reidsmith@shopify.com>
  AuthorDate: 2024-12-15 22:24:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-15 22:24:53 +0900

    [ruby/rdoc] Fix iPad Pro navigation not shown
    (https://github.com/ruby/rdoc/pull/1236)

    Found this issue when I was debugging the navigation toggle. I noticed
    it first in the chrome dev tools, but it was also reproducible on
    an iPad Pro.

    Symptom:
    - On iPad Pro, the navigation section is hidden but there's enough
      space to show it. Making the user have to click the hamburger
      button to show it but it's not necessary to hide the navigation
      section.
    - On desktop, the navigation section is shown.
    - On mobile, the navigation section is hidden until the hamburger
      button is clicked.

    Fix:
    - The javascript code was matching 1024px instead of 1023px. The media
      sections of the css was altering the layout on 1024px. So ipad got
      the full desktop layout but the navigation section was hidden.

    https://github.com/ruby/rdoc/commit/1794e59755

commit 2c57b87cc3ffd7d65ff2c096f9f860bdb9f540dd
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-15 20:50:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-15 20:50:43 +0900

    [ruby/reline] Refactor Reline::Unicode ed_ vi_ em_ methods
    (https://github.com/ruby/reline/pull/720)

    * Refactor Reline::Unicode vi_ ed_ em_ methods

    * Make Reline::Unicode's vi_ ed_ em_ method encoding safe

    https://github.com/ruby/reline/commit/cdd7288978

commit 5c372969ad65a5b5a329cc591daac7030a2eccc5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-13 13:53:33 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-15 17:15:22 +0900

    [Bug #20940] [PRISM] Support NO_COLOR

    Also use bold/faint SGR when possible.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12329

commit 966458199d870b88b42898d4a063b487c1ef6b00
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-15 16:57:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-15 16:57:24 +0900

    [Bug #20951] [DOC] About UTC offset calculation after `utc_to_local`

commit a2e4100472fd50a61162eaec35ce558fdcc1fe83
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-15 16:56:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-15 16:56:00 +0900

    [DOC] Sort the NEWS entries alphabetically

commit e06b3b5ad1f6453ebebc5d9a54d82e3bb2ab116f
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-13 02:19:58 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-15 16:55:30 +0900

    [Bug #20927] Fix compile_shareable_literal_constant for hash with keyword splat

    Compilation of NODE_HASH in compile_shareable_literal_constant does not support hash that contains keyword splat.
    If there is a keyword splat, fallback to default case.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12338

commit 730731cc86d1cf87a3478ffc242d52c70eda2e42
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-15 04:10:32 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-15 15:36:08 +0900

    Fix links to syntax/literals.rdoc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12348

commit e9926afb24d00ffd721c39d535a3b91cb8a0ea56
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-15 04:06:17 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-15 15:36:08 +0900

    Fix broken links to `Socket.tcp_fast_fallback=`

    Since it's a singleton method, it should be referenced as `Socket.tcp_fast_fallback=`,
    not `Socket#tcp_fast_fallback=`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12348

commit e08e168a57dde3b76d3de380fa167e58fce6acdd
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-15 03:38:12 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-15 15:30:45 +0900

    Add date to doc/.document

    Otherwise, dozens of links to date/calendars.rdoc will still be broken
    after https://github.com/ruby/date/pull/113

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12346

commit 6d00dee30aeb09c35bc85fb06543d5185d137272
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-15 03:27:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-15 15:20:10 +0900

    [ruby/date] Fix broken rdoc-ref to the calendar page

    https://github.com/ruby/date/commit/cb52e64be1

commit 9486f46a1eb7cc83a1c831a8feb68db7e02f4f58
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-12-15 09:51:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-15 09:51:57 +0900

    Update NEWS.md for `Socket.tcp` and `TCPSocket.new` (#12347)

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 593b90a6d4a7d072f19b46889705370b7c3e6c11
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-15 04:37:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-15 04:37:57 +0900

    [ruby/irb] Fix broken rdoc-ref caused by a typo
    (https://github.com/ruby/irb/pull/1049)

    https://github.com/ruby/irb/commit/cdc88fe87f

commit 792275e5f06e32e7a3ba523477b2019dc124f07c
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-14 21:12:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-14 21:12:45 +0900

    [ruby/rdoc] Fix dead links in the markup reference page
    (https://github.com/ruby/rdoc/pull/1242)

    https://github.com/ruby/rdoc/commit/d1cb9dc3c4

commit 70f5c62af1feb707739b0d1a6d842bc76dcebb7e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-14 18:01:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-14 18:01:19 +0900

    Extract `NUM2WV` macro

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12345

commit 9f924e2f13992241c447190a9eb139bf46dcb8d9
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-12-14 15:51:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-14 15:51:19 +0900

    Improve APIs for Globally Enabling/Disabling fast_fallback in Socket (#12257)

    This change includes the following updates:
    - Added an environment variable `RUBY_TCP_NO_FAST_FALLBACK` to control enabling/disabling fast_fallback
    - Updated documentation and man pages
    - Revised the implementation of Socket.tcp_fast_fallback= and Socket.tcp_fast_fallback, which previously performed dynamic name resolution of constants and variables. As a result, the following performance improvements were achieved:

    (Case of 1000 executions of `TCPSocket.new` to the local host)

    Rehearsal -----------------------------------------
    before   0.031462   0.147946   0.179408 (  0.249279)
    after    0.031164   0.146839   0.178003 (  0.346935)
    -------------------------------- total: 0.178003sec

                user     system      total        real
    before   0.027584   0.138712   0.166296 (  0.233356)
    after    0.025953   0.127608   0.153561 (  0.237971)

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 77016a7b4341d861b83e222c18333204b63f480b
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-14 10:19:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-14 10:19:22 +0900

    [DOC] Fix grammar errors, typos, and improve readability of string.rb

    Because this file's comments have one extra space after the `#` sign,
    almost every line is updated. IMO, it's better to address this issue
    in one go.

    Co-authored-by: Jeremy Evans <code@jeremyevans.net>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12151

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 211857f48fb844da101d9acb0e465d37f6836b96
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-14 07:59:24 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-12-14 08:09:39 +0900

    Fix incorrect rdoc-ref links in array.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12344

commit b37777c36f6cb27d55f4fe44a95b3c970fbf9848
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-12-14 06:29:21 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-12-14 07:02:06 +0900

    [PRISM] Blocks are also a syntax error in array assignment

    Actually close [Bug #20952]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12343

commit 1cf32b2d7f2bb0dafce6108ecfc496491b19ad8a
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-11-14 02:51:56 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-12-14 06:57:14 +0900

    Fix threads stuck as zombie under M:N

    In this case thread_sched_switch0 never returns, so we would never
    end up setting finished to true.

    Fixes [Bug #20638]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12080

commit e1946657205fb14583dd3020d60c5236a11fdd9b
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-12-14 05:35:54 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-12-14 06:22:35 +0900

    [PRISM] using []= to set kwargs is a syntax error

    Fixes [Bug #20952]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12342

commit 880a90cf2e56f9782b578fd48088c184bf3952ac
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-14 03:41:07 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-12-14 04:25:32 +0900

    [DOC] [Feature #20205] Document the new power of String#+@

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12341

commit c3b06792410e99c32ff5c05580ffaef7d5f377c4
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-14 03:26:27 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-12-14 04:25:32 +0900

    [DOC] NEWS: Mention String#+@ change with chilled string

    From experience, a not insignificant number of people run into this when
    trying upgrade. Also it's good to bring up `+@` because it's relevant in
    general to the topic.

    [Feature #20205]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12341

commit ba304ec0292b948195197b249e2a38678d768755
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-14 04:21:15 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-12-14 04:21:46 +0900

    [DOC] NEWS: Drop code quotes to get RDoc crossref

    But leave constants alone because of
    https://github.com/ruby/rdoc/issues/1011

commit 5ed1dac21eab6861ea7e9b9501dd3db149577d3b
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-14 04:21:15 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-12-14 04:21:46 +0900

    [DOC] Have RDoc pick up Fiber::Scheduler#blocking_operation_wait

    ... and list it.

commit 89c8d6487c22371032a479fd8b060d931b510670
  Author:     Alex Rocha <9896751+alexcrocha@users.noreply.github.com>
  AuthorDate: 2024-12-14 03:27:20 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-14 03:27:20 +0900

    [DOC] Improve array.rb documentation (#12340)

    * Fix grammar errors, typos, and improve readability of array.rb

    * [DOC] Remove an extra space

    ---------

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit a5f3a0137564c606c05b4b7a5e7545fbb28a0d9d
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2024-12-14 03:25:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-14 03:25:27 +0900

    [DOC] Fix incorrect `Array#fetch_values` examples (#12337)

    [DOC] Fix incorrect Array#fetch_values examples

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 562b9fc525334eb7d77f5eb496407239efd834f2
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-14 02:08:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-14 02:08:34 +0900

    [ruby/irb] Avoid generating documentation pages for internal
    components
    (https://github.com/ruby/irb/pull/1047)

    https://github.com/ruby/irb/commit/f57025a35e

commit 598c6cfe80242e4392338881f46bf783dc844935
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-14 01:13:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-14 01:13:27 +0900

    [ruby/rdoc] Bump version to v6.9.0

    https://github.com/ruby/rdoc/commit/dba9474732

commit f3a117605c86b44ef48f313dc921c7fb86ff3481
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-14 00:41:04 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-14 00:41:04 +0900

    YJIT: Speculate block arg for `c_func_method(&nil)` calls (#12326)

    A good amount of call sites always pass nil as block argument, but the
    nil doesn't show up in the context. Put a runtime guard for those
    cases to handle it. Particular relevant for the `ruby-lsp` benchmark in
    `yjit-bench`. Up to a 2% speedup across headline benchmarks.

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
    Co-authored-by: Kevin Menard <kevin@nirvdrum.com>
    Co-authored-by: Randy Stauner <randy.stauner@shopify.com>

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 92dd9734a967c20e628c8f77c5ce700058dcd58c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-13 04:03:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-14 00:10:03 +0900

    Fix use-after-free in ep in Proc#dup for ifunc procs

    [Bug #20950]

    ifunc proc has the ep allocated in the cfunc_proc_t which is the data of
    the TypedData object. If an ifunc proc is duplicated, the ep points to
    the ep of the source object. If the source object is freed, then the ep
    of the duplicated object now points to a freed memory region. If we try
    to use the ep we could crash.

    For example, the following script crashes:

        p = { a: 1 }.to_proc
        100.times do
          p = p.dup
          GC.start
          p.call
        rescue ArgumentError
        end

    This commit changes ifunc proc to also duplicate the ep when it is duplicated.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12319

commit 6cde41bc52cb411a3259349b23fab2cd05789b01
  Author:     Camden Narzt <6243207+CamJN@users.noreply.github.com>
  AuthorDate: 2024-12-12 04:29:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-13 23:23:30 +0900

    [rubygems/rubygems] Fix restarting with locked version when $PROGRAM_NAME has been changed

    Use Process.argv0 instead of $PROGRAM_NAME because $PROGRAM_NAME is
    liable to be changed but Process.argv0 is not.

    https://github.com/rubygems/rubygems/commit/43b747dc9e

commit 3cb79d408253cd4f60c2bd0a69ceedfc424b63e8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-12-13 16:26:43 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-12-13 19:19:31 +0900

    Bundle typeprof 0.30.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12332

commit c3a1f240338698896096e84c50a37e2700988528
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-12-13 17:58:45 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-12-13 18:27:48 +0900

    Add a note about `Symbol#to_s` returning a chilled string in NEWS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12334

commit 4702143a7525e12923c8d4dbec76123e72d06765
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-12-13 17:51:16 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-12-13 18:27:48 +0900

    Update NEWS.md with Time#xmlschema, Array#fetch_values and String#append_as_bytes

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12334

commit e09c23433e2a7f4e2410b46c8dc79496f0453307
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-12-13 16:18:17 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-12-13 17:05:58 +0900

    followup 0bdb38ba6be208064a514c12a9b80328645689f8

    (forgot to amend...)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12331

commit 1d3091b4db5656f8feb3dfe5113573d80352b72d
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-12-13 16:13:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-13 16:13:40 +0900

    Launchable: Refactor entrypoint.sh (#12314)

    * Use `launchable record session` command to split test sessions based on test suites.
    * Use BTESTS env instead of RUBY_TESTOPTS for passing CLI option to `make btest`.
    * Group Launchable logs
    * Add several flavors to identify the relationship between test session and GH workflow.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit e91b25ec8dc84e16496ab2a2490338aeb101731d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-13 15:05:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-13 15:39:41 +0900

    Fixed compatibility error with setup command and rdoc plugin on rubygems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12330

commit 654404a9c2667034ac0a20069e071b6fbf2d37cd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-13 14:42:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-13 14:42:13 +0900

    Removed unnecessary plugin file in ruby/ruby repository

commit 7e3c29250e781be31507c6bcd6bf2ae49b81e809
  Author:     mterada1228 <49284339+mterada1228@users.noreply.github.com>
  AuthorDate: 2024-12-13 14:34:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-13 14:35:00 +0900

    Make it loose coupling between RubyGems and RDoc (#1171)

    * Make it loose coupling between RubyGems and RDoc

    \### Problems

    There are following problems because of tight coupling between RubyGems and RDoc.

    1. If there are braking changes in RDoc, RubyGems is also broken.
    2. When we maintain RDoc, we have to change RubyGems.

    The reason why they are happened is that RubyGems creates documents about a gem with installing it.

    Note that RubyGems uses functions of RDoc to create documents.
    Specifically,

    - Creating documents is executed by `rubygems/lib/rubygems/rdoc.rb`.
    - `::RDoc::RubygemsHook` which is defined by RDoc is called by the file.

    \### Solution

    RubyGems has the plugin system.

    If a gem includes `rubygems_plugin.rb`, RubyGems loads it.
    RubyGems executes a process defined in it while installing gems, uninstalling gems or other events.

    We can use the system to solve the problems.

    The root cause is RubyGems directly references the class of RDoc.

    We can remove the root cause by making RDoc RubyGems plugin.

    Alternatively `rubygems_plugin.rb` creates documents about gems.

    \### FAQ

    Q1. Do we need to change codes of RubyGems?

    A.

    No, we don't.

    This change keeps compatibility of API used from RubyGems.

    Q2. Is it better to delete existing codes related to RDoc in RubyGems?

    No, it isn't.

    If we change codes of RubyGems,
    we can't keep a compatibility.

    Example:

    If we delete codes that uses `RDoc::RubygemsHook` in `rubygems/lib/rubygems/rdoc.rb`,
    documentations are not created with old RDoc.

    Q3. When can we delete `rubygems/lib/rubygems/rdoc.rb`?

    A.

    We can delete it when all users use RDoc including `rubygems_plugin`.

    Next ruby version is 3.4.
    If it includes the RDoc including `rubygems_plugin`,
    we can delete `rubygems/lib/rubygems/rdoc.rb` after ruby 3.3 is EOL.

    Q4. Is it a breaking change that Rubygems creates documents with
    rubygems_plugin not RDoc::RubygemsHook?

    A.

    No, it isn't.

    If we simply implement this approach,
    we move the implementation from `rdoc/lib/rdoc/rubygems_hook.rb` to
    `rubygems_plugin.rb`.

    This way can be breaking change.

    It seems to be fine that we just need to delete `rdoc/rubygems_hook.rb` but it doesn't work.
    It generates multiple documents.

    `rubygems/lib/rubygems/rdoc.rb` has the following code.

    ```
    begin
      require "rdoc/rubygems_hook"
      # ...
    rescue LoadError
    end
    ```

    This code ignores RDoc related processes when `rdoc/rubygems_hook` can't be required.
    But, this 'require' is not failed.

    This is because Ruby installs Rdoc as a default gem.

    So, Rdoc installed as a default gem generates documents and one installed as a normal gem does it too.

    If you think that this behavior is accectable,
    we can just delete `rdoc/rubygems_hook.rb`.

    What do you think about this approach?

    In this change, we take another approach to solve the problem that creates multiple documents.

    If `Gem.done_installing(&Gem::RDoc.method(:generation_hook))` in `rubygems/rdoc.rb` doesn't create documents,
    we can solve the problem.

    We have some options.

    * We change `rubygems/rdoc.rb` and then don't execute `Gem.done_installing`.
      (This is a change for RubyGems.)
    * We change `rdoc/rubygems_hook.rb` and then make `generation_hook` a no-op method.
      (This is a change for RDoc.)

    We choose the latter to avoid changing for RubyGems.

    \### Test

    \#### Preparation

    Install Rdoc which including our changes by executing `rake install`.

    ❯ rake install

    We confirmed that Rdoc which including our changes was installed.

    ❯ gem list | grep rdoc
    rdoc (6.6.0, default: 6.4.0)

    \#### Check point

    We tested to check compatibility.

    How to chack the compatibility?

    We tested creating same documents by our RDoc and old RDoc with latest RubyGems.

    We used following versions to test.

    ```
    ❯ ruby -v
    ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin22]

    ❯ gem list | grep rdoc
    rdoc (default: 6.4.0)

    ❯ ruby -I rubygems/lib rubygems/exe/gem --version
    3.5.14
    ```

    Here is a result of test with old RDoc.
    We can see that the document is created correctlly with `Parsing...` and `Done installing...`.

    ```
    ❯ ruby -I rubygems/lib rubygems/exe/gem install pkg-config
    Successfully installed pkg-config-1.5.6
    Parsing documentation for pkg-config-1.5.6
    Done installing documentation for pkg-config after 0 seconds
    1 gem installed
    ```

    Here is a result of test with our RDoc.
    We can see that the document is created correctlly with `Parsing...` and `Done installing...`.

    ```
    ❯ ruby -I rubygems/lib rubygems/exe/gem install pkg-config
    Successfully installed pkg-config-1.5.6
    Parsing documentation for pkg-config-1.5.6
    Done installing documentation for pkg-config after 0 seconds
    1 gem installed
    ```

    As you can see we got the same results, our RDoc keeps compatibility.

    * rename a test file

    * Revert "rename a test file"

    This reverts commit 70a144bf3fb8f2cc653972e858b5fed3747765d7.

    * revert a test class name

    * exclude `TestRDocRubyGemsHook` at job of ruby-core

    * When `rubygems_plugin.rb` is not found, `test_rdoc_rubygems_hook.rb` is skipped.

    * remove unnecessary whitespace

    * add comment

    * Add support for the case that RDoc is installed as a default gem

    * Fix problems

    Co-authored-by: mterada1228 <49284339+mterada1228@users.noreply.github.com>

    * Simplify

    * removed unused blank lines and revert test

    * for rerun tests

    * add comment for rubygems_plugin.rb

    ---------

    Co-authored-by: Sutou Kouhei <kou@clear-code.com>
    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>

commit 86f00c9922df4ce7c1a493ac7bd1e0eff77b8b14
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-13 13:49:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-13 13:49:33 +0900

    [DOC] Update `rb_strlen_lit`

    It is not "in bytes" for wide char literal.

commit 1fd2437b630ecc999016288b4ee049f1c91cfd02
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-13 11:59:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-13 11:59:58 +0900

    [DOC] Move the comma outside the `<tt>` tag

commit 71bebcf6586fd7ab58bd8c65df98852ccfba8282
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-12 03:25:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-13 11:29:34 +0900

    Bump vendored uri to 1.0.2

commit 57f222c182de3593463816e31b1379867ec9ebc1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-12 03:25:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-13 11:29:17 +0900

    Bump vendored net-http to 0.6.0

commit cd460d5d8d79e31d36f7854e5043f2fdef75db4d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-12 03:24:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-13 11:24:08 +0900

    Bump vendored securerandom to 0.4.0

commit 3a3286776202afba483322d8c7757f70519f154f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-13 01:21:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-13 11:20:44 +0900

    [rubygems/rubygems] Add note about why we don't use `Open3`

    https://github.com/rubygems/rubygems/commit/72316ed2fa

commit 4fe134fab98e5530eb418a3be42c302f93025c9b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-13 01:20:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-13 11:20:44 +0900

    [rubygems/rubygems] No need for `--quiet` since we hide output by default

    https://github.com/rubygems/rubygems/commit/77133a23f5

commit 706cabb135de0983711286588394623184331288
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-12 04:30:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-13 11:20:43 +0900

    [rubygems/rubygems] Don't print a bunch of blank lines when setting up dependencies

    https://github.com/rubygems/rubygems/commit/48fd2d0514

commit 8cc47c90509186f02afb207c38213127d0ea3278
  Author:     Alexander Momchilov <amomchilov@users.noreply.github.com>
  AuthorDate: 2024-12-13 10:55:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-13 10:55:23 +0900

    Improve "Building Ruby" docs  (#12320)

    * Clarify “Building Ruby” docs

    * Fix test examples to work from `build` dir

    * Clarify “Testing Ruby” examples with real examples

    All the commands should run correctly by default, without the user needing to modify them. This builds confidence that the relative paths are working correct from within the `build` directory.

    Also, let’s use a consistent example throughout, for greater clarity.

    * Improve examples to use `-v` flag in-context

    This shows the correct way to combine `-v` with another parameter, e.g. a specific file to test.

    * Other readability improvements

    * Clarify `make` implementation support

commit f0f9e2f50c7b19a311a421b2dc7ddfea6bbb2a28
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-11-25 11:25:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-13 10:54:48 +0900

    [ruby/resolv] Allow setting default Resolv::DNS config in Resolv.new

    If a positional argument is provided, the use_ipv6 keyword
    option is ignored:

    ```ruby
    Resolv.new([Resolv::DNS.new], use_ipv6: false)
    ```

    Issue a warning in this case.

    Currently, you have to pass a positional hash argument to set
    the DNS config.  However, after support for the use_ipv6 keyword
    argument is removed, you will be able to pass either a positional
    hash or keyword arguments.  Code that was just specifying the
    use_ipv6 keyword optional will still work correctly in that case.

    https://github.com/ruby/resolv/commit/5ff9dda991

commit 0ea5c13bc6c4707aa8d2dce9b0c5af7513fb5f66
  Author:     Alexander Momchilov <amomchilov@users.noreply.github.com>
  AuthorDate: 2024-12-13 10:49:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-13 10:49:45 +0900

    [DOC] Improve formatting in Markdown files (#12322)

    * Fix WASM bullet/code indentation

    * Use `console` code highlighting where appropriate

    … which handles the prefix `$` correctly.

    * Migrate feature proposal template to MarkDown

    * Set language on code blocks

commit 43faf09bb9ca325ca042ba725a923ff47af48fd9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-13 10:12:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-13 10:13:12 +0900

    [ruby/resolv] Bump up v0.6.0

    https://github.com/ruby/resolv/commit/cb4b335034

commit 573c18212886cc95a47ed16b7400995b9c410c0f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-13 10:05:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-13 10:05:55 +0900

    Lock released version of stringio-3.1.2

commit 5e05642c610455cf3311da33b32685e9adeafa69
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-13 09:58:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-13 10:05:16 +0900

    [ruby/logger] Bump up v1.6.3

    https://github.com/ruby/logger/commit/97bce95f49

commit 57825bf3901f938336ea59ac0b73204df1b62a86
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-12-13 09:54:37 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-12-13 09:54:37 +0900

    bootstraptest: On -j failure, show total test count

    It used to always try to divide by zero like:

        FAIL 1/0 tests failed

commit f5850c0cf762717892a76ed96303161e336d2a3d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-13 09:48:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-13 09:50:02 +0900

    [ruby/shellwords] Bump up v0.2.2

    https://github.com/ruby/shellwords/commit/55ab74d37a

commit 5a9008516a4cf9e3006b402fad966e966430519d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-13 09:33:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-13 09:33:58 +0900

    [ruby/zlib] Bump up v3.2.1

    https://github.com/ruby/zlib/commit/d2e29b23c8

commit fffef9aa5d89b6cca3dc634f5278b1fc67fb3d08
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-11-02 07:06:35 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-12-13 09:04:49 +0900

    Add an environment variable for controlling the default Thread quantum

    This commit adds an environment variable `RUBY_THREAD_TIMESLICE` for
    specifying the default thread quantum in milliseconds.  You can adjust
    this variable to tune throughput, which is especially useful on
    multithreaded systems that are mixing CPU bound work and IO bound work.

    The default quantum remains 100ms.

    [Feature #20861]

    Co-Authored-By: John Hawthorn <john@hawthorn.email>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11981

commit e11c86f43e045462f4c0e2eaa2ddb4fdb6927ea7
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-12-13 07:40:29 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-12-13 08:28:16 +0900

    Fix error messages so we don't output an extra line

    Before this commit, when a file ended with a newline, the syntax error
    message would show an extra line after the file.

    For example, the error message would look like this:

    ```
    [aaron@tc-lan-adapter ~/g/ruby (master)]$ echo "foo(" > test.rb
    [aaron@tc-lan-adapter ~/g/ruby (master)]$ od -c test.rb
    0000000    f   o   o   (  \n
    0000005
    [aaron@tc-lan-adapter ~/g/ruby (master)]$ wc -l test.rb
           1 test.rb
    [aaron@tc-lan-adapter ~/g/ruby (master)]$ ./miniruby test.rb
    test.rb: test.rb:1: syntax error found (SyntaxError)
    > 1 | foo(
        |     ^ unexpected end-of-input; expected a `)` to close the arguments
      2 |
    ```

    This commit fixes the "end of line" book keeping when printing an error
    so that there is no extra line output at the end of the file:

    ```
    [aaron@tc-lan-adapter ~/g/ruby (fix-last-line-error)]$ echo "foo(" | ./miniruby
    -: -:1: syntax error found (SyntaxError)
    > 1 | foo(
        |     ^ unexpected end-of-input; expected a `)` to close the arguments

    [aaron@tc-lan-adapter ~/g/ruby (fix-last-line-error)]$ echo -n "foo(" | ./miniruby
    -: -:1: syntax error found (SyntaxError)
    > 1 | foo(
        |     ^ unexpected end-of-input; expected a `)` to close the arguments

    ```

    Notice that in the above example, the error message only displays one
    line regardless of whether or not the file ended with a newline.

    [Bug #20918]
    [ruby-core:120035]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12324

commit 5e8c9b4b284d3200dc74ff41243288caf0d7b4f6
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-13 06:44:15 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-13 06:44:15 +0900

    [DOC] Fix grammar errors, typos, and improve readability of trace_point.rb (#12150)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit ff8570b005e552685d518898b866070ff116eab6
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-12 21:55:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-13 06:43:25 +0900

    Fix LoadError's linking issue

    Original issue: https://github.com/ruby/rdoc/issues/1128

    The problem is caused by the `# :stopdoc:` directive in `bundled_gems.rb`,
    which's scope covers the redefinition of `LoadError`.

    Since the goal of `# :stopdoc:` is to hide the documentation of `Gem::BUNDLED_GEMS`,
    we can use `# :nodoc:` on it instead.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12317

commit 0bdb38ba6be208064a514c12a9b80328645689f8
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-12-13 04:52:34 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-12-13 06:22:13 +0900

    `Ractor.set_if_absent(key)`

    to initialize ractor local storage in thread-safety.
    [Feature #20875]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12321

commit 79d90e73511dc9dfda7926802b624d6fec22fe12
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-12 04:40:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-13 04:07:56 +0900

    Call rb_bug_without_die when ASAN error reported

    This will give us the Ruby stack trace when an ASAN error is reported.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12309

commit 2da70aac258051d8a7eb89203e928a33727dbdf6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-12 04:27:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-13 04:07:56 +0900

    Don't output memory map in crash report for ASAN

    ASAN maps a large amount of memory, which makes the memory map section
    massive.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12309

commit ca2d19d4e5a47822c250179f88c814c5f401e9bd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-12 04:22:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-13 04:07:56 +0900

    Implement rb_bug_without_die

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12309

commit c0caf1cc1aaa3ba2e9d09977ee2a51e35114c70f
  Author:     James Reid-Smith <james.reidsmith@shopify.com>
  AuthorDate: 2024-12-13 02:26:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-13 02:26:06 +0900

    [ruby/irb] Load history when starting a direct debug session
    (https://github.com/ruby/irb/pull/1046)

    * Load history when starting a direct debug session

    When starting a debug session directly with RUBY_DEBUG_IRB_CONSOLE=1 and
    `require 'debug'; debugger`, IRB's history wasn't loaded. This commit ensures
    history is loaded in this case by calling `load_history` when configuring IRB
    for the debugger.

    Fixes ruby/irb#975

    * Update test/irb/test_history.rb

    * Update lib/irb/debug.rb

    ---------

    https://github.com/ruby/irb/commit/7f851b5353

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 300be2b192a16c064d4e1c9203feda8df6a391fc
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-13 01:40:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-13 01:40:08 +0900

    [ruby/reline] Undo and redo should restore indentation
    (https://github.com/ruby/reline/pull/793)

    * Undo and redo should restore indentation

    Undo and redo should not perform auto indentation. It should not change the indentation. Instead, it should restore previous indentation.

    * Rename ivar undoing(undoing or redoing) to restoring

    https://github.com/ruby/reline/commit/6355a6e0b2

commit 776ec521480d9523732b96c55af4addfdd007e61
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-12 23:29:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 23:39:20 +0900

    [ruby/win32ole] Deprecate old constants in toplevel

    https://github.com/ruby/win32ole/commit/eaa1507262

commit 20b62ac063e1c490480c7565d442340e39230183
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-12 22:53:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 23:16:29 +0900

    [ruby/win32ole] [DOC] Hide old constants for the backward compatibility from RDoc

    https://github.com/ruby/win32ole/commit/99e1ea403f

commit ca427e63ada16b833f58587e9fd468899e105ec5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-12 22:35:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 23:16:28 +0900

    [ruby/win32ole] [DOC] Fix a markup for code

    https://github.com/ruby/win32ole/commit/542d39372c

commit 54964526c645010d9303a02ae0089761cbf7202f
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2024-12-12 22:58:13 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2024-12-12 22:58:44 +0900

    increase diff.renameLimit

commit 911879e01f061c9ea2d3ca4eb6d73dd6981422e4
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-12 22:14:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 22:14:56 +0900

    [ruby/irb] Bump version to v1.14.2
    (https://github.com/ruby/irb/pull/1045)

    https://github.com/ruby/irb/commit/dd31884657

commit 197a3efc751f43956fc9ad30d688b4bfa3f7fbdb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-12 18:30:43 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-12 18:30:43 +0900

    [Feature #20884] News of toplevel "Ruby" name reservation

commit 4d86f3bf6d1fe7bf7d4b25fc42f7aba9f401bbb4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-12 15:59:25 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-12 17:45:06 +0900

    [Feature #20884] Reserve "Ruby" toplevel name

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12315

commit 267ecf5f02bf0bdb183be06f17b7d2fdc8d1a3ad
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-12 15:33:24 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-12 17:45:06 +0900

    Add `rb_warn_reserved_name_at`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12315

commit 46e8a26c17d20d19838a3b55316e06229ac1e2fd
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-12-12 16:32:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-12 16:32:35 +0900

    Launchable: Start recording test-spec results (#12302)

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 78ca87f8a8c79f0af1b7c6a0d819faacd75ec76e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-12 16:14:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-12 16:14:25 +0900

    Lock released version of strscan-3.1.1

commit 6a1aaf3679ed6d467172debc10de4df1c484a21b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-12 15:01:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-12 15:10:21 +0900

    Separated load path for test-bundler tasks for Windows

commit 58f3cdad26a0531ba3a54554a56b18fa2b0511a3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-12 13:44:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-12 14:43:07 +0900

    tmp/test-pipes is no longer needed

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12250

commit f43e04ce091fc90627a836e0ba98d499cc5340da
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-12 13:33:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-12 14:43:07 +0900

    Hide pending results of turbo_tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12250

commit 5d5525e3a8934ad0be44f4f8c5826e15101f66a5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-12 12:12:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-12 14:43:07 +0900

    Use directory structure and GEM_HOME for ruby-core repository

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12250

commit 1967ae20b99d3012abef7a0219d1b085a0637fff
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-12 11:50:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-12 14:43:07 +0900

    Use patched version of turbo_tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12250

commit 91f6c370afdb4973062a51001ab5b14e38185f9c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-04 15:05:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-12 14:43:07 +0900

    Use turbo_tests instead of parallel_tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12250

commit 29caae9991f08fb386c414f4c6270c68cdf69c30
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-12-12 09:55:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 10:10:13 +0900

    [ruby/prism] Use isinf on non-mingw windows

    https://github.com/ruby/prism/commit/2f903d7865

commit 36f49eb2b48d855fd168bf5371c9932e35c8029b
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-12-12 07:32:43 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-12-12 09:58:35 +0900

    Fix compilation with MALLOC_ALLOCATED_SIZE

    Previously compilation failed with -DMALLOC_ALLOCATED_SIZE=1

    Co-authored-by: Matthew Draper <matthew@trebex.net>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12313

commit 9181e8bc87dd167673bc6cfc255c7003e4c6b05e
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-12-12 08:54:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 09:42:44 +0900

    [ruby/prism] Decode %r like % strings

    %r regular expressions need to be decoded like strings.  This commit
    fixes %r decoding so it works like strings.

    https://github.com/ruby/prism/commit/85bfd9c0cd

commit 0a1fa994820c3373c538376fcee82565135c7e77
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-12-12 09:29:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 09:42:27 +0900

    [ruby/prism] Same numbered param cannot be used in child blocks

    Raise an exception when the same numbered param is used inside a child
    block.  For example, the following code should be a syntax error:

    ```ruby
    -> { _1 + -> { _1 } }
    ```

    Fixes https://github.com/ruby/prism/pull/3291

    https://github.com/ruby/prism/commit/d4fc441838

commit 54f8e6fbbcdbe3162e39b5053b0ebbf872fc2d77
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-12-12 08:23:25 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-12-12 09:30:57 +0900

    Use malloc for prism string source

    Prism will later free this string via free rather than xfree, so we need
    to use malloc rather than xmalloc.

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
    Co-authored-by: Matthew Draper <matthew@trebex.net>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12312

commit d84859061a39b81b85bdbae8cfff5088a5c78a93
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-12-12 07:44:50 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-12-12 08:37:32 +0900

    Use ruby_strdup/xfree in fast_fallback

    Any memory allocated with xmalloc needs to be matched with xfree rather
    than plain free.

    Ruby unfortunately redefines strdup to be ruby_strdup, which uses
    xmalloc so needs to be xfreed. Previously these were mismatched.

    This commit changes the copy to be an explicit ruby_strdup (to avoid
    confusion) and the free to be xfree.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12311

commit 9fe6fd86936ead769fe983feb5461ca4f192f16e
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-12-06 03:56:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 08:06:32 +0900

    [ruby/prism] Fix percent delimiter strings with crlfs

    parse.y treats CRLF as a LF and basically "normalizes" them before
    parsing.  That means a string like `%\nfoo\r\n` is actually treated as
    `%\nfoo\n` for the purposes of parsing.  This happens on both the
    opening side of the percent string as well as on the closing side.  So
    for example `%\r\nfoo\n` must be treated as `%\nfoo\n`.

    To handle this in Prism, when we start a % string, we check if it starts
    with `\r\n`, and then consider the terminator to actually be `\n`.  Then
    we check if there are `\r\n` as we lex the string and treat those as
    `\n`, but only in the case the start was a `\n`.

    Fixes: #3230

    [Bug #20938]

    https://github.com/ruby/prism/commit/e573ceaad6

    Co-authored-by: John Hawthorn <jhawthorn@github.com>
    Co-authored-by: eileencodes <eileencodes@gmail.com>
    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit d53e4545f4754c789828cdf491df1eacf982d121
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-12 06:45:23 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-12-12 07:44:43 +0900

    YJIT: Fix unread field lint in release builds

    ```
    warning: fields `blue_begin` and `blue_end` are never read
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12310

commit 9fe06cc03524dc528dc4563f1468912151224e85
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-12 06:30:31 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-12-12 07:44:43 +0900

    YJIT: Disable static_mut_refs for now

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12310

commit 6cb75564f9008f64a0166d65099481767c53b643
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-12 04:35:31 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-12-12 07:44:43 +0900

    YJIT: Use the correct size constant

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12310

commit 34e68548d43175c5d496b533dec280e935a8d2d5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-12-12 04:09:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 04:50:20 +0900

    [ruby/prism] Bump typechecking deps

    https://github.com/ruby/prism/commit/230c8b8a48

commit cfb72138827863b4b1f8841cc3ff4adaba662fbf
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:34:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:28 +0900

    [rubygems/rubygems] Normalize CLI flag documentation and make sure all flags are documented

    https://github.com/rubygems/rubygems/commit/20a834818b

commit e1fcf20ea16d6603fb4ae78f0e8f1a57930e8b19
  Author:     Adam Leach <github@adamleach.uk>
  AuthorDate: 2024-11-28 04:11:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:28 +0900

    [rubygems/rubygems] Add documentation for changelog flags in `bundle gem`

    The --changelog and --no-changelog flags are missing from docs, this adds them in a way that matches other flags

    https://github.com/rubygems/rubygems/commit/92f77678fe

commit f658f6612456fee44058790818690631294a3b25
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:31:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:27 +0900

    [rubygems/rubygems] Add missing `--pre` flag to `bundle update --help`

    https://github.com/rubygems/rubygems/commit/21335a7378

commit af11c8ef4f5c0c5ddb3fd9b0e7edec00541323ac
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:30:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:27 +0900

    [rubygems/rubygems] Add missing `--outdated` flag to `bundle show --help`

    https://github.com/rubygems/rubygems/commit/2864e54ce3

commit a1fee6de951d2a0e7ccda104887bd27a904efad5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:29:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:26 +0900

    [rubygems/rubygems] Add missing flags documentation to `bundle outdated --help`

    https://github.com/rubygems/rubygems/commit/ad3b654bf3

commit 1806f3facc56b59014ef886af45de4273085a7d9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:27:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:26 +0900

    [rubygems/rubygems] Add several missing flags to `bundle lock --help`

    https://github.com/rubygems/rubygems/commit/4070da1264

commit 496e791a2e5a0da6e274b126ca1550e11a1d42ee
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:23:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:25 +0900

    [rubygems/rubygems] Add missing flag documentation to `bundle inject --help`

    https://github.com/rubygems/rubygems/commit/2a01773cdb

commit 6e3a6f6411c7d6f050de7f2b46eaeaddfa8d8228
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:20:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:25 +0900

    [rubygems/rubygems] Add missing `--version` flag to `bundle info --help`

    https://github.com/rubygems/rubygems/commit/5022b49e31

commit f5ed1b56d017b8a7d67d4dd0b1d1e1a0856ac5d9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:16:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:24 +0900

    [rubygems/rubygems] Add several missing flags to `bundle gem --help`

    https://github.com/rubygems/rubygems/commit/aaf6398870

commit 443319de3542a21e7aa2603ff0f0d46759db6089
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:14:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:24 +0900

    [rubygems/rubygems] Add missing `--gemfile` flag to exec, lock, and update command's help

    https://github.com/rubygems/rubygems/commit/418dfbf373

commit c4bd744800a53f40a7ee760217f0acdde5da465c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:11:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:24 +0900

    [rubygems/rubygems] Normalize whitespace in option lists in man pages

    https://github.com/rubygems/rubygems/commit/33ff4f8f2f

commit 5633cff415b3825477205fe5f51bcefc8f355beb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:08:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:23 +0900

    [rubygems/rubygems] Add missing flag documentation to `bundle cache --help`

    https://github.com/rubygems/rubygems/commit/b760a882a1

commit e88039ee4c3069b138754525747e55312895b343
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:05:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:23 +0900

    [rubygems/rubygems] Add missing `--all-platforms` flag to `bundle binstubs --help`

    https://github.com/rubygems/rubygems/commit/440b7b8282

commit 447189d7de7fca4c316b4fa5eafbba0978945c13
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:05:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:22 +0900

    [rubygems/rubygems] Add missing `--glob` flag to `bundle add --help`

    https://github.com/rubygems/rubygems/commit/1e4dc0a703

commit bbd11a79753759fafda5d2e235e126197a2a2047
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 03:02:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:22 +0900

    [rubygems/rubygems] Add missing `--target-rbconfig` flag to `bundle install --help`

    https://github.com/rubygems/rubygems/commit/54dbcdc656

commit ac959b177a337a25c9b7e04742ed5d29767bc87d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 02:58:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:21 +0900

    [rubygems/rubygems] Clarify `--target-rbconfig` option banner

    https://github.com/rubygems/rubygems/commit/6625998ca6

commit 99460d1edab161081eded7f062cb230ab4c4419f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-10 22:13:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:21 +0900

    [rubygems/rubygems] Add missing banners to `bundle exec` CLI flags

    https://github.com/rubygems/rubygems/commit/c6f62b2eed

commit 06f074eb5c8391a8694fdadbe5201cbb7d083117
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-10 22:11:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:56:20 +0900

    [rubygems/rubygems] Style CLI options consistently

    In one liners, no whitespace for alignment.

    https://github.com/rubygems/rubygems/commit/413339a9ca

commit 13530af05a5783173d09c50da20539171c79fb5e
  Author:     Josef Haider <josef.haider@oracle.com>
  AuthorDate: 2024-12-05 00:46:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 02:06:13 +0900

    [rubygems/rubygems] Avoid UTF-32 and UTF-16 strings with trailing bytes in truffleruby

    https://github.com/rubygems/rubygems/commit/5f8249471f

commit b37ab8c1232f1ae3b43050f574fdb771a1dedc5c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 23:34:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 01:18:12 +0900

    [rubygems/rubygems] Add missing man pages for `bundle env` and `bundle licenses` commands

    https://github.com/rubygems/rubygems/commit/6e1a515d58

commit d91ca85b970719aa2b37b8543bac544efe43ecf3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 23:37:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 01:18:11 +0900

    [rubygems/rubygems] Bring man pages up to date

    https://github.com/rubygems/rubygems/commit/8288cfd3e0

commit e31f6a8f8b9f9133217c03c6a612de9454da2b37
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-11 23:33:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-12 01:18:10 +0900

    [rubygems/rubygems] Align all header lines with titles for consistency

    https://github.com/rubygems/rubygems/commit/83fd1c6718

commit 2335ecb7fac38f72c8ecedab79fcc2f197249ef3
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-11 20:30:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-11 20:30:36 +0900

    [ruby/irb] Page the output in irb:rdbg sessions too
    (https://github.com/ruby/irb/pull/1043)

    IRB started to page its evaluation output and it became a useful feature
    for users. However, in `irb:rdbg` sessions, the output is not paged so
    the sudden change in behavior is surprising and inconvenient.

    This commit makes `irb:rdbg` sessions page the output of the debugger
    too.

    https://github.com/ruby/irb/commit/8241ec9a0c

commit f9601903f64e56d95c140074980584c09373b040
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-12-11 18:57:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-11 18:57:23 +0900

    Use `rb_thread_fd_select` instead of select(2) (#12292)

    * Use `rb_thread_fd_select` instead of select(2)

    For fixing https://bugs.ruby-lang.org/issues/20932 .
    `TCPSocket.new`, which internally uses select(2) for HEv2, can cause SEGV if the number of file descriptors exceeds `FD_SETSIZE`.
    This change avoids that issue by replacing select(2) with `rb_thread_fd_select`, which is provided as part of Ruby's internal API.

    ---

    This includes the following changes.

    * rb_thread_fd_select does not need common pipe

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 824642e883cf43ed6bf053b37ed7ee02f749c062
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-11 17:00:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-11 17:02:34 +0900

    [ruby/digest] Bump up v3.2.0.pre0, preparing to stable release

    https://github.com/ruby/digest/commit/d19c84fd68

commit f243733564940401d914686837b701bc31311248
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-11 16:12:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-11 16:12:04 +0900

    [Bug #20941] Bail out when recursing no memory

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12307

commit c2a5d4cdc0e7f5e8b0937f4b395e2f062472d6e7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-11 15:30:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-11 15:30:14 +0900

    Fixed upstream path of ruby/resolv

commit 4a49089278d5bd5a6ba5caf150e813852f8a01ea
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-12-11 14:40:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-11 14:48:16 +0900

    [ruby/fiddle] dlopen: add support for INPUT(-lXXX)

    GitHub: fix https://github.com/ruby/fiddle/pull/166

    Arch Linux's libncurses.so uses this style.

    https://github.com/ruby/fiddle/commit/77d3dc934f

commit 473fb6385e6072e8e55c8f44debe6dadc0d5621c
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2024-12-11 09:57:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-11 14:48:16 +0900

    [ruby/fiddle] Implement `Fiddle::Pointer.read` and `.write` on the
    FFI backend
    (https://github.com/ruby/fiddle/pull/165)

    https://github.com/ruby/fiddle/commit/0bd963d3b8

commit 0c7fe4b09273c389d71ea32eb354a5889d6ed5ce
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-10 14:02:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-11 14:48:15 +0900

    [ruby/fiddle] Fix the glob pattern to include `/usr/lib`
    (https://github.com/ruby/fiddle/pull/164)

    Fix up #161.

    https://github.com/ruby/fiddle/commit/481651e836

commit c71f7faaa96954a73516275e6beeccdffffc62f7
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-12-11 08:16:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-11 08:16:24 +0900

    YJIT: add MPLR talk link. Encourage users to use --yjit-mem-size (#12305)

    * Add MPLR talk. Encourage users to use --yjit-mem-size.

    * Improve text

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 5edf1c8febb105da077b8b690b5e1df9d99099a6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-07 00:40:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-11 02:59:36 +0900

    Improve NEWS.md for modular GC [DOC]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12281

commit 979543e7bf2d25a49aff8f267a077ff7e9ff3f9c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-11 01:13:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-11 01:13:15 +0900

    Use `rb_str_conv_enc` for simplicity

commit e90b447655dd39ad1eb645cdaae450efd605db00
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-10 23:57:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-10 23:57:57 +0900

    [Bug #20924] Fix reading with delimiter in wide character encodings

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12304

commit 3422bfcab6bfdedd10e5c85f5fd6334387712bc6
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2024-12-10 11:51:49 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-10 23:12:27 +0900

    [Bug #20936] Fix #size for Range#reverse_each

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12301

commit d5abcae43500e3b51b9fcb0918d7e849e024aee1
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-12-10 04:00:08 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-12-10 22:38:52 +0900

    Fix formatting of spec/ruby/optional/capi/ext/hash_spec.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12297

commit de5df203bcfb228b7043ae0116535953c325ddb4
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-12-10 03:32:39 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-12-10 22:38:52 +0900

    Update to ruby/spec@9f10222

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12297

commit a90d8c335a6f5f2ae0c9480c9a546089f52e9028
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-12-10 03:32:35 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-12-10 22:38:52 +0900

    Update to ruby/mspec@c600b8f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12297

commit 3568e7aef7ace192297693deb770c10928ade314
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-10 19:28:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-10 19:28:22 +0900

    [ruby/reline] Fix line wrapped cursor position
    (https://github.com/ruby/reline/pull/791)

    Cursor position calculation was wrong when the input line contains "\1" or CSI escape sequence.

    https://github.com/ruby/reline/commit/a1943daaf4

commit ebb80c26b34525eb5630e17e195313943acc421c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-23 04:49:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-10 19:08:49 +0900

    [ruby/resolv] Securerandom should be always available

    https://github.com/ruby/resolv/commit/324c355eb7

commit af9a904f387d2b6b7ab2ade446b408ecd364aa53
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-10 15:50:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-10 18:29:38 +0900

    [ruby/resolv] Build the extension library only when CRuby (Fix
    https://github.com/ruby/resolv/pull/69)

    On JRuby no C compiler is available and this call results in a runtime
    error.

    https://github.com/ruby/resolv/commit/33105bc504

commit 19b684637f1f8c6442e3d09ac0a6d5d607ea0828
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-10 16:25:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-10 17:17:50 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12303

commit f12e2622c1d3a438cbae6afdadf824e228207ae6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-10 11:18:38 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-10 12:31:47 +0900

    Split system dependent commands to clean modular-gc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12300

commit ce2f3983868308fd330d4134e66e46b0a82c666b
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-03 21:48:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-10 12:21:19 +0900

    Remove unused macros from parse.y

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11781

commit bfb7571d24f15e1ca2361d4fe7f594848cc5ea07
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-08 01:54:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-10 11:50:36 +0900

    Remove minimum Bison version requirement from parse.y

    How about removing `%require “version”` since it is a definition to specify the minimum version of Bison and is not needed now that we have completely moved to Lrama?

    see: https://www.gnu.org/software/bison/manual/html_node/Require-Decl.html

commit cb8f18620538e0ac31d0f9e5d7ff4fb5a15ef632
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-12-08 08:01:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-10 11:30:19 +0900

    [ruby/strscan] [DOC] doc/strscan/strscan.md - update Matcher Methods
    (https://github.com/ruby/strscan/pull/123)

    Added support for string pattern type in
    https://github.com/ruby/strscan/pull/106.
    And fix Success Return content.

    https://github.com/ruby/strscan/commit/6a5acde674

commit b5ed7aae3be78f15ea46e56b8b7f19f25d1c0788
  Author:     Dani Smith <code@danini.dev>
  AuthorDate: 2024-12-04 22:31:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-10 11:30:19 +0900

    [ruby/fiddle] Fix test_dlopen_linker_script_input_linux being
    omitted on Fedora 40 aarch64
    (https://github.com/ruby/fiddle/pull/161)

    I found working on Fedora 40 on aarch64 that
    `test_dlopen_linker_script_input_linux` was omitted due to not finding
    libncurses.so, since it is in /usr/lib64. This PR makes the glob a
    little more portable.

    https://github.com/ruby/fiddle/commit/444774c0c4

commit 462e2cfccf592905c8735a5cf920c7efdd56cabb
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-12-10 11:15:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-10 11:15:01 +0900

    Launchable: Remove unnecessary command (#12299)

    `launchable verify` command is designed for checking if CLI has been configured successfully. We've already checked it, so we don't need calling this command anymore.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit cfc2b21a05ab1a6602a70331d895924851a527e9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-10 01:48:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-10 06:35:21 +0900

    Clean all modular GCs

    We should run `make clean` or `make distclean` on each of the GC directories.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12295

commit 5d4242fa81435e4fa39911c97e1e802fe855678f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-10 01:47:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-10 06:35:21 +0900

    Only delete gc directory if empty

    If building in the source directory, this will delete the gc directory.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12295

commit 88d49628dd9e72efb5773bcdff9da7e6ab187ceb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-10 01:47:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-10 06:35:21 +0900

    Don't delete .gc directory

    We build in the gc directory since commit d0575032527916b523035be87ad876152c886c85,
    so we don't need to remove the .gc directory.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12295

commit 0c9c6efc20dd2fefbebb8a6a0d39952ffd425e33
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-10 05:48:39 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-12-10 06:20:01 +0900

    Add missing fiber nil check to avoid slow rb_check_funcall()

    Check for nil like other callers of rb_fiber_scheduler_current().

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12298

commit 476d655053b0e3ea447dc6549b821d18636c6603
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-12-07 12:49:53 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-12-10 06:08:35 +0900

    objspace_dump: Use FILE* to avoid crashing in mark functions

    We observed crashes from rb_io_bufwrite() thread switching (through
    rb_thread_check_ints()) in the middle of rb_execution_context_mark(). By
    the time rb_execution_context_mark() gets a timeslice again, it read
    garbage from a frame that was already popped in another thread, crashing
    the process in SEGV. Other mark functions probably have their own ways
    of breaking, but clearly, the usual IO code do too much for this
    perilous pseudo GC context.

    Use `FILE*` like before 5001cc47169614ea07d87651c95c2ee185e374e0
    ("Optimize ObjectSpace.dump_all"). Also, add type checking for
    the private _dump methods.

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12285

commit de7feb0538266b2d66b444f4142773c2f510cdcc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-10 04:11:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-10 04:11:49 +0900

    [ruby/mmtk] Also remove .rustc_info.json in clean-mmtk target

    https://github.com/ruby/mmtk/commit/4b67c8b4da

commit ea7e34fd5d9323f07ab9fdfa561b752d3546dfde
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-10 03:34:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-10 03:37:07 +0900

    [ruby/mmtk] Add target clean-mmtk to clean Rust debug and release directories

    https://github.com/ruby/mmtk/commit/1f71cb873c

commit 14e0a40cd0f7b79c9fd63c671399c389667611c3
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-10 03:09:39 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-12-10 03:09:40 +0900

    YJIT: Add a comment about a lazy frame call

    jit_prepare_lazy_frame_call is a complicated trick and comes with memory
    overhead. Every use of the function should come with justification.

commit cff031253f228ed28a00d95935e42c68a85f34ad
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-12-10 03:02:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-10 03:02:40 +0900

    YJIT: Spill/load argument registers to reuse blocks (#12287)

    * YJIT: Spill/load argument registers to reuse blocks

    * Mention the immediate function name

    * Explain the context behind spill/load operations

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 93f8de777f690b5cb98b7974fa5e0a232eafbb4b
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-10 02:20:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-10 02:21:01 +0900

    [ruby/rdoc] Expand rdoc-ref targets at the end of ri output
    (https://github.com/ruby/rdoc/pull/1141)

    There have been several document refactors in ruby/ruby that extract
    individual methods/classes' documentation into separate files, like
    ruby/ruby#6567

    Because RI is not capable of rendering those references, RI users
    are left with dramatically fewer documentation on those methods/classes.

    This commit adds a new option `--expand-ref` (default: true) to expand
    all the rdoc-ref targets at the end of the output.

    https://github.com/ruby/rdoc/commit/9e2b28c6e3

commit 7341a4fc07ec8f12ff25538d39383ecf68a5f852
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-07 05:08:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-10 01:52:02 +0900

    [Bug #20933] Fix IO::Buffer overlap calculation

    The allocated buffers may be consecutive memory addresses. This will mean
    that `b->base == a->base + a->size` even though `a` and `b` are separate
    buffers.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12284

commit 8010d79bb429ed8dac5244e481ba5ddc108797a2
  Author:     Max Bernstein <max.bernstein@shopify.com>
  AuthorDate: 2024-12-10 00:36:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-10 00:36:17 +0900

    YJIT: Only enable disassembly colors for tty (#12283)

    * YJIT: Use fully-qualified name for OPTIONS in get_options!

    * YJIT: Only enable disassembly colors for tty

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit b11287706f691bb5fffede44559132544f553d7f
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-12-10 00:08:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-10 00:08:56 +0900

    Fix Connection Attempt Delay of `Socket.tcp` (#12291)

    The following two commits fix the proper clearing of the Connection Attempt Delay in `TCPSocket.new`.

    - https://github.com/ruby/ruby/pull/12087/commits/b2f610b0edf8f84d9d0fce038f3ebfa9f2cb0223
    - https://github.com/ruby/ruby/pull/12223/commits/6f4efaec5352cdeb6cab86036a83f53c9fa5c3d2

    The same fix will be applied to `Socket.tcp`.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 652b0c13a7a0bb74477cd09d2c65f2292dcd06d8
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-12-09 17:00:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-09 17:00:19 +0900

    Launchable: Remove FIXME comment (#12293)

    https://github.com/launchableinc/cli/issues/786 has already been solved, so we can remove the comment.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 676b4ec04b9824988e92ed139689dcebcec5984d
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-12-09 16:25:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-09 16:25:43 +0900

    Enable more Launchable integration in bootstraptest and test-all (#12255)

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 771612475948bb6d15b2a6a229c49d0675155e86
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-03 13:53:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-09 14:06:05 +0900

    [ruby/etc] Bump up 1.4.5

    https://github.com/ruby/etc/commit/5019f4314a

commit ef2b538502c12537e9033543a552e5b4a8ea866f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 17:43:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-09 14:05:12 +0900

    [ruby/psych] Bump up 5.2.1

    https://github.com/ruby/psych/commit/7c81f7db53

commit bb74fa7a3d57ef8b23dfc766d8f71c83a81fc277
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-09 13:13:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-09 13:13:31 +0900

    Added did_you_mean-2.0.0 change to NEWS.md

    https://github.com/ruby/did_you_mean/pull/194

commit 2a8c8ee92d35654288db3a37ad2d5c4c60550516
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-09 13:10:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-09 13:10:26 +0900

    Move compatibility changes of stdlib to that section

commit c73552e473c04b22c958bd6759311d18f60ceb36
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-12-09 11:31:13 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-09 11:31:13 +0900

    Revert "Launchable: Stop recording tests temporarily" (#12289)

    Revert "Launchable: Stop recording tests temporarily (#12268)"

    This reverts commit 866f1a1f2d6f0425b1535fb5697a30404e83e7c2.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 895f2c21522e89a808ef6d746f48c28b86f02633
  Author:     OKURA Masafumi <masafumi.o1988@gmail.com>
  AuthorDate: 2024-12-09 08:14:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-09 08:14:18 +0900

    [ruby/rdoc] lint: Remove unreachable code
    (https://github.com/ruby/rdoc/pull/1137)

    This is an attempt to utilize RuboCop further.
    RuboCop was added in https://github.com/ruby/rdoc/commit/9262fdd43a3a
    but only a few rules have been enabled.
    I believe we can utilize RuboCop more for better code quality,
    especially with Lint cops.
    This is the first step to enable other Lint cops.
    This commit also exclude some auto generated files.

    https://github.com/ruby/rdoc/commit/a53287fce0

commit dd43af3be7eddb832c77ef367456fa023fed7d7a
  Author:     nicholas a. evans <nick@rubinick.dev>
  AuthorDate: 2024-12-08 19:43:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-08 19:43:47 +0900

    [ruby/rdoc] Use distinct styles for note lists and label lists
    (https://github.com/ruby/rdoc/pull/1209)

    * Use the original `label` description list style

    As a default for all description lists, the original "label" style is
    more readable.

    This is slightly different from the original `label` dl though:
    * slightly increased left margin for `dd` (to 1em)
    * removed right margin on `dd`
    * removed `dt` bottom margin and `dd` top margin, to reduce the gap
      between the term and its description (to only the standard line-height
      gap).

    * Add closing tags for description list terms

    Without the closing tags, the dt elements contain whitespace after the
    text.  This normally isn't a big deal, but does mess some things up,
    e.g: using `::after` with `content: ", "` in stylesheets.

    * Restore float:left style for note lists

    Unlike the original note list styles, this version sets the line-height
    for all `dt` elements to be the same as the `p` elements contained
    inside the `dd`, so that the second line has the same indentation as all
    subsequent lines.

    * Add commas between note list terms

    https://github.com/ruby/rdoc/commit/9e69ea6d75

commit bd831bcca534955533d9135d8c2f22d7ae5b9aa8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-07 19:02:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-07 19:02:17 +0900

    [Bug #20929] Win32: Use `wcsftime`

    `_strftime_l` is not available on msvcrt that is still used by 32bit
    mingw compiler.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12286

commit c9bbf7e3eba9d42983d89b07273f4f31e9ca8d0e
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-06-12 03:01:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 17:15:08 +0900

    [ruby/openssl] ssl: do not clear existing SSL options in SSLContext#set_params

    Apply SSL options set in DEFAULT_PARAMS without clearing existing
    options.

    It currently clears options in order to avoid setting one of the
    options included in OpenSSL::SSL::OP_ALL unless explicitly specified,
    namely OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS. Now that
    OpenSSL::SSL::OP_ALL has been removed from SSLContext#initialize, it is
    no longer necessary.

    https://github.com/ruby/openssl/commit/77c3db2d65

commit 510c190739b83cfa4fdb56e9d9c0578af25c9c6a
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-06-12 02:29:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 17:15:08 +0900

    [ruby/openssl] ssl: do not enable OpenSSL::SSL::OP_ALL by default

    Respect the SSL options set by default by SSL_CTX() and by the
    system-wide OpenSSL configuration file.

    OpenSSL::SSL::SSLContext#initialize currently adds OpenSSL::SSL::OP_ALL
    on top of the default SSL options. Let's stop doing it.

    OpenSSL::SSL::OP_ALL is a set of options that changes OpenSSL's behavior
    to workaround various TLS implementation bugs. Using it is considered
    usually safe, but is not completely harmless.

    https://github.com/ruby/openssl/commit/00bec0d905

commit 33196b7ab007c82ebd3fa3759850b1ddc10d50ef
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-06-12 02:26:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 17:15:07 +0900

    [ruby/openssl] ssl: improve documentation of SSLContext#options=

    https://github.com/ruby/openssl/commit/9120fcde6a

commit 09d516b62e0859af364b23f9bd0128dae31d7e38
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-10-31 04:12:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:55:47 +0900

    [ruby/openssl] Call Init_ossl_*() functions in alphabetical order

    It was originally sorted in alphabetical order, but it has been broken
    over time. Let's fix it.

    https://github.com/ruby/openssl/commit/974c67f38f

commit 1df63d9451459209c00f5e8db033f18d145cc741
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-10-30 04:03:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:55:47 +0900

    [ruby/openssl] Mark variables and functions as static whenever possible

    https://github.com/ruby/openssl/commit/85d6b7f192

commit cbe7bfd9a81273c04a40f1ff19f516f8db31ac53
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-10-30 03:59:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:55:46 +0900

    [ruby/openssl] ts: fix exception class raised when getting an OID name

    get_asn1obj() is used by several methods in OpenSSL::Timestamp to get
    the string representation of an OID. On an error, such as memory
    allocation failure, it can raise OpenSSL::X509::AttributeError. It
    should be OpenSSL::Timestamp::TimestampError instead.

    https://github.com/ruby/openssl/commit/a424aad1df

commit f8e9302e66e336d4e174182ebebc6a05a47ac28b
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-10-30 03:53:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:55:46 +0900

    [ruby/openssl] ts: avoid using OpenSSL::PKCS7's internals

    Internals of OpenSSL::PKCS7 should be kept within ossl_pkcs7.c.

    Add a new ossl_pkcs7_new() function for duplicating and wrapping an
    OpenSSL PKCS7 object in OpenSSL::PKCS7. This follows the convention
    used by other ossl_*_new() functions.

    https://github.com/ruby/openssl/commit/b5f79f771e

commit 870cce9798e7e1ad5b6c0ade7a4247b53b4f34ce
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-10-30 03:33:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:55:46 +0900

    [ruby/openssl] x509store: fix exception class in OpenSSL::X509::StoreContext#verify

    Follow-up commit https://github.com/ruby/openssl/commit/0789643d7333 (openssl: clear OpenSSL error
    queue before return to Ruby, 2016-05-18). It should raise
    OpenSSL::X509::StoreError instead of OpenSSL::X509::CertificateError.

    https://github.com/ruby/openssl/commit/0201f23ad6

commit 3656c1db29b2070816f67cf9fc7af03d9d078ad1
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-10-30 03:26:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:55:45 +0900

    [ruby/openssl] ns_spki: fix exception class in OpenSSL::Netscape::SPKI#to_der

    It should raise OpenSSL::Netscape::SPKIError instead of
    OpenSSL::X509::CertificateError.

    No test cases covered this because it only occurs in exceptional
    cases, such as memory allocation failure.

    https://github.com/ruby/openssl/commit/527b6101d1

commit b207b956c1d936e92351136ea3ad7f2f54df8128
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-10-30 03:18:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:55:45 +0900

    [ruby/openssl] pkey/ec: fix exception class in OpenSSL::PKey::EC.new

    Fix a copy-and-paste error introduced in commit https://github.com/ruby/openssl/commit/74f6c6175688 (pkey:
    allocate EVP_PKEY on #initialize, 2021-04-12).

    It should raise OpenSSL::PKey::ECError instead of
    OpenSSL::PKey::DSAError.

    https://github.com/ruby/openssl/commit/b1f6a04abf

commit 5444885726bbb1b75bbc1c7a04a3837efb87b7d0
  Author:     HoneyryderChuck <cardoso_tiago@hotmail.com>
  AuthorDate: 2024-11-25 17:53:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:52:02 +0900

    [ruby/openssl] make configs shareable when frozen

    https://github.com/ruby/openssl/commit/654cb22e21

commit 9cae90f9d704aa741a2b5a6a1bf2423d2c28c410
  Author:     HoneyryderChuck <cardoso_tiago@hotmail.com>
  AuthorDate: 2024-11-25 17:51:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:52:01 +0900

    [ruby/openssl] freeze OpenSSL::Config::DEFAULT_CONFIG_FILE

    https://github.com/ruby/openssl/commit/3cc1825435

commit 2a006fe54b2596f67db8f1ef8697f12e61789b37
  Author:     HoneyryderChuck <cardoso_tiago@hotmail.com>
  AuthorDate: 2024-11-25 17:51:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:52:01 +0900

    [ruby/openssl] make config frozen on initialize

    https://github.com/ruby/openssl/commit/50599513cf

commit 06fc13a15c72ecf77a638b45ea325d945bc7cc6d
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-11-24 14:45:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:37:32 +0900

    [ruby/openssl] ssl: handle callback exceptions in SSLSocket#sysread and #syswrite

    Check the ID_callback_state ivar after SSL_read() or SSL_write()
    returns, similar to what ossl_start_ssl() does.

    Previously, callbacks that can raise a Ruby exception were only called
    from ossl_start_ssl(). This has changed in OpenSSL 1.1.1. Particularly,
    the session_new_cb will be called whenever a client receives a
    NewSessionTicket message, which can happen at any time during a TLS 1.3
    connection.

    https://github.com/ruby/openssl/commit/aac9ce1304

commit 19acb3af2eb3dbad5f6ed2b56299298f968810fd
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-11-15 00:43:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 16:36:19 +0900

    [ruby/openssl] ssl: fix potential exception in servername_cb

    ssl_servername_cb() is a callback function called from OpenSSL and Ruby
    exceptions must not be raised from it. Allocate the Array within
    rb_protect().

    https://github.com/ruby/openssl/commit/3a2bf74d35

commit 8ad6860ff79a7d52668df695e4bfc14a0940bdee
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-07 03:51:08 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-07 03:51:08 +0900

    [DOC] New homepage for docs.ruby-lang.org/en (#12227)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 8502a549ef506164ba506cecb5e1003bf53a4f27
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-12-07 02:25:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-07 02:25:39 +0900

    YJIT: small fix to stats formatting. (#12282)

    Avoid division by zero and NaN%, e.g.
    num_throw_break:                   0 ( NaN%)
    num_throw_retry:                   0 ( NaN%)
    num_throw_return:                  0 ( NaN%)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit c45503f957bf4aa337d2d54fe39b72db5dea6f1c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-06 06:06:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-07 00:22:03 +0900

    Add rb_gc_impl_active_gc_name to gc/gc_impl.h

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12271

commit 48443c02049d6310bd49811911ce5e3d5e9fb0ff
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-06 01:59:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 00:19:19 +0900

    [rubygems/rubygems] Skip unresolved deps warning on `Gem::Specification.reset` on benign cases

    If `Gem::Specification.reset` is used, but there are still unresolved
    dependencies, RubyGems prints a warning. There are though, certain cases
    where the situation will not cause any issues.

    One such case is when the unresolved dependency does not restrict any
    versions (>= 0) and there's a default gem matching it.

    In this situation, it doesn't matter if Gem paths change, because
    default gems are still activatable, so the dependency will be properly
    activated if ever needed.

    https://github.com/rubygems/rubygems/commit/e5f8a3068e

commit ba91ff5f782f008821d61e2e70dfb89751766f2b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-06 22:26:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-07 00:19:19 +0900

    [rubygems/rubygems] Make sure unresolved deps are properly cleared by `Gem::Specification.reset`

    https://github.com/rubygems/rubygems/commit/3976326a7b

commit 78614ee900af7c5c4764daa282b81f3ef5951850
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-06 21:47:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-06 21:47:35 +0900

    CI: Clean up intermediate files more

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12279

commit 3901df708d5e5f599583de2cc46fc0bfee407bf9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-06 21:06:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-06 21:12:57 +0900

    [DOC] Move `GC.config` news

    To "Core classes updates" from "Language changes".

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12278

commit 0fac583d52118a71f44eb38e24bf0be9697d066d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-06 20:18:43 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-06 21:12:57 +0900

    [DOC] Fix a typo

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12278

commit efaea5a62e5fd75a1837808554cbe5b5af43f2b7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-06 20:14:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-06 21:12:57 +0900

    [DOC] Adjust the link to `Kernel` method

    RDoc displays instance methods defined in `Kernel` as in `Object`.
    This behavior may be somewhat questionable now, but for now it is what
    it is.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12278

commit bf49ff95be33b29d39848f261b982e45acaece6a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-06 19:56:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-06 21:12:57 +0900

    [DOC] Fix class and method links

    Make existing (including newly added) classes, modules and methods
    linkable.  Oppositely enclose removed names in backticks.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12278

commit 69fb4a5f38d34d6bd95fdcd754d1805b136a20e8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-06 20:01:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-06 20:01:37 +0900

    typeprof-757303fe8de0cf5e5583b4a76f8abbbd55c44776 is working with Windows

commit cb8625e81b195035883fd803413c05d718e5f0ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-06 19:40:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-06 19:40:56 +0900

    [Bug #20929] NEWS for `Time#zone` encoding change on Windows

commit 1c15f641cc2bb88fa88123a11036ed58fbf9aa6d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-06 16:56:29 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-06 18:59:38 +0900

    [Bug #20929] Win32: Encode timezone name in UTF-8

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12269

commit 78762b52185aa80ee55c0d49b495aceed863dce2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-05 19:52:54 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-06 18:59:38 +0900

    [Bug #20929] Fix `assert_zone_encoding`

    The default internal encoding is not taken into account to encode
    timezone name.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12269

commit 58b4e249ed8d33fc78528bc77516d541c04d65f2
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-12-03 03:00:01 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-12-06 18:48:30 +0900

    [MMTk/CI] Skip Ractor btests with MMTk

    currently these are flaky, so until we can make them more robust, we'll
    skip them for MMTk CI

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12212

commit 7caf2ffe00ed7ac195058f4ff07056a287ca0f8d
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-30 00:02:47 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-12-06 18:48:30 +0900

    Remove the GC build check in Ubuntu.yml

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12212

commit ffb26a53d16d4b7a75f9c57b8f558757104fd22f
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-29 07:20:44 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-12-06 18:48:30 +0900

    Add Modular GC (default, MMTk) builds to CI

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12212

commit 5f65321915843faf47231a941f284e7375d6fb10
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-06 16:09:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-06 16:09:24 +0900

    [ruby/reline] Combine MAPPINGS(single byte input to symbol) with
    key_bindings(escape sequence to symbol)
    (https://github.com/ruby/reline/pull/715)

    https://github.com/ruby/reline/commit/6a7e249374

commit 6ccaa37eb365afd6b01359e63dac85aef35987a5
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-06 10:30:10 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-06 12:32:20 +0900

    [Bug #20926] Fix a crashes with `shareable_constant_value: experimental_everything` using parse.y's parser

    https://bugs.ruby-lang.org/issues/20926

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12275

commit 81c24b3c29089a2fc095bf76d37cc8111cb7bcce
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-06 09:26:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-06 10:31:16 +0900

    We need to specify --with-opt-dir for jemalloc installation path

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12273

commit 0b5d6c80bab79a96860d0d4e4dfc28d707f40533
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-06 09:15:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-06 10:31:16 +0900

    Added -with-gmp build to macOS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12273

commit bc214d10b8854fec728b3b2fe472e58688661cba
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-06 09:13:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-06 10:31:16 +0900

    Added jemalloc build to GitHub Actions

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12273

commit b021f6f8a74bee71aa5ce153e7c2095f0f41ed3d
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-12-06 07:51:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-06 07:51:32 +0900

    Use symbol.h in vm.c to get macro for faster ID to sym (#12272)

    The macro provided by symbol.h uses STATIC_ID2SYM
    when it can which speeds up methods that declare keyword args.

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
    Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>
    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit eedb30d3855d31e15e6db48faea25af4afb63b6d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-05 06:54:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-06 06:21:37 +0900

    Use rb_gc_enable/rb_gc_disable_no_rest instead of ruby_disable_gc

    We should use the rb_gc_enable/rb_gc_disable_no_rest APIs instead of
    directly setting the ruby_disable_gc variable.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12264

commit d4fb966186837795e1fd4f2cfa21af9bd962e01d
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-12-06 04:47:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-06 05:12:45 +0900

    [ruby/mmtk] Add MMTk test exclusions for Ruby CI

    https://github.com/ruby/mmtk/commit/f62e5803f1

commit 7ccad5b9f81f5184511d0f0445e15a8a089feb00
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-06 03:36:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-06 04:12:56 +0900

    darray.h does not depend on internal/bits.h

    darray.h no longer depends on internal/bits.h, so we can remove it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12270

commit 305318edbb0a5ddeb1f282a50d7ab39bb6706167
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-12-05 08:49:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-06 04:00:44 +0900

    [rubygems/rubygems] Apply suggestions from code review

    https://github.com/rubygems/rubygems/commit/7c634ecd72

commit 7daf85bdf250a1056e7441ee88b588cf69d00556
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-12-05 05:45:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-06 04:00:44 +0900

    [rubygems/rubygems] Stop storing executable names in ivars

    Removes usage of these classes as ACE gadgets

    See https://nastystereo.com/security/ruby-3.4-deserialization.html

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/89ad04db86

commit 6877c38866b4213f5aa476223d21a4f4b5364247
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-12-03 06:05:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-06 03:42:01 +0900

    [ruby/prism] Fix error messages for unterminated ( and {

    If we hit an EOF token, and the character before the EOF is a newline,
    we should make EOF token start at the previous newline.  That way any
    errors reported will occur on that line.

    For example "foo(\n" should report an error on line 1 even though the
    EOF technically occurs on line 2.

    [Bug #20918]
    https://bugs.ruby-lang.org/issues/20918

    https://github.com/ruby/prism/commit/60bc43de8e

commit d8dbc2dcba43ff36221f6549205d2d4cf64b760c
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-12-05 23:41:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-06 01:28:02 +0900

    [ruby/mmtk] Support setting the mmtk thread count with MMTK_THREADS

    https://github.com/ruby/mmtk/commit/e4d6b56824

commit ce1ad1b816f912d0750669c57211d72ea723e28d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-05 04:29:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-06 00:33:26 +0900

    Standardize on the name "modular GC"

    We have name fragmentation for this feature, including "shared GC",
    "modular GC", and "external GC". This commit standardizes the feature
    name to "modular GC" and the implementation to "GC library".

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12261

commit 26ab20fec1d8ca7c168e8537383a0d8274a7d273
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-05 21:31:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-05 21:31:51 +0900

    [ruby/rdoc] Workaround JRuby's jar-dependencies error and test
    failures on CI
    (https://github.com/ruby/rdoc/pull/1225)

    * Workaround JRuby's jar-dependencies error on CI

    * Skip problematic encoding test for JRuby

    https://github.com/ruby/rdoc/commit/3f9897d64c

commit 2ecd2fe0ed251f9946d5322d96cbfaf61ccbdd65
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-05 20:36:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-05 20:36:34 +0900

    [ruby/rdoc] Deprecate `main` and `title` directives
    (https://github.com/ruby/rdoc/pull/1218)

    * Deprecate :main: directive

    * Deprecate :title: direcive

    * Update documentation

    * Remove :main: directive's usage

    * Update test cases

    * Add '.rdoc_options' to suggested alternatives

    https://github.com/ruby/rdoc/commit/e2d4ac9dad

commit 866f1a1f2d6f0425b1535fb5697a30404e83e7c2
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-12-05 17:58:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-05 17:58:46 +0900

    Launchable: Stop recording tests temporarily (#12268)

    There is a system trouble in Launchable, so I'm going to stop recording tests temporarily in compilers.yaml

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 5335b140abd492f1a3b86a9d4dc230c520133bae
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-12-05 16:39:04 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-12-05 17:16:31 +0900

    array.c: Remove unused `rb_ary_verify` function

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12266

commit 811bc15c75ff12c1a89ecac0af7d097e9de73d2f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-12-03 17:22:21 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-12-05 17:16:22 +0900

    [ruby/json] Release 2.9.0

    https://github.com/ruby/json/commit/e1f6456499

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12267

commit 1510d72bec297047b5fd44eb89cf66cd4cb248e8
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-12-03 17:11:31 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-12-05 17:16:22 +0900

    [ruby/json] Fix generate(script_safe: true) to not confuse unrelated characters

    Fix: https://github.com/ruby/json/issues/715

    The first byte check was missing.

    https://github.com/ruby/json/commit/93a7f8717d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12267

commit 0ef4a7d745f51751c12468d9452edee18308e277
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-12-05 14:59:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-05 14:59:18 +0900

    Bundle RBS 3.7 (#12265)

  Notes:
    Merged-By: soutaro <matsumoto@soutaro.com>

commit bf225feb265af6d796721d3a7e2b6800d160d42d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-12-05 03:55:35 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-12-05 06:46:02 +0900

    Fix an off by one in `rb_ary_resize`

    When setting len to X we only need to grow the array
    if len is bigger than capa. If they're equal we don't need to
    increase capacity.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12262

commit 1c4dbb133e8de0e2f194e659e8d3d47171e32643
  Author:     Maximillian Polhill <xodene@github.com>
  AuthorDate: 2024-12-05 06:34:16 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-05 06:34:16 +0900

    YJIT: Generate specialized code for Symbol for objtostring (#12247)

    * YJIT: Generate specialized code for Symbol for objtostring

    Co-authored-by: John Hawthorn <john@hawthorn.email>

    * Update yjit/src/codegen.rs

    ---------

    Co-authored-by: John Hawthorn <john@hawthorn.email>
    Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 4b4d52ef50a926f0af6eeb3423c8e0e44603cd26
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-12-05 06:24:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-05 06:24:36 +0900

    YJIT: track time since initialization (#12263)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 3c91a1e5fda8b3e03348dc533dcf292a598f1f77
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-30 06:08:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-05 04:29:24 +0900

    Fix ATTRIBUTE_NO_ADDRESS_SAFETY_ANALYSIS for MSAN

    There's no case for when RUBY_MSAN_ENABLED, so the macro ends up doing
    nothing when it should instead have __attribute__((__no_sanitize__("memory"))).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12219

commit 5898abd08406f9a432fe4ae9743005ebfcd71435
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-04 08:42:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-05 02:31:21 +0900

    [ruby/prism] Add document CapturePatternNode fields

    Partially: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/1ffd693f9b

commit 8a228f297e036025656d5682cd14f7189fca8830
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-04 08:59:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-05 02:22:17 +0900

    [ruby/prism] Add document CaseMatchNode fields

    Partially: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/a78da01ef6

commit f88ebb4ad760a8c30278e136c25e216db0d47d26
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-04 09:18:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-05 02:22:00 +0900

    [ruby/prism] Add document CaseNode fields

    Partially: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/2f473b0713

commit 932897af0e784d19ff508d45f473dd4d78f7149e
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-04 16:17:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-05 02:21:44 +0900

    [ruby/prism] Add document ClassVariableAndWriteNode fields

    Partially: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/7be164e0b7

commit 62b51d9ad7e42090d29ab48a1d5b7ad17313370b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-04 03:30:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-05 00:25:43 +0900

    Use BUILDING_SHARED_GC instead of RB_AMALGAMATED_DEFAULT_GC

    We can use the BUILDING_SHARED_GC flag to check if we're building gc_impl.h
    as a shared GC or building the default GC.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12243

commit 834d68238cfb4ffd701c65820c6d22c4a7ac0dc9
  Author:     Yuki Nishijima <yuki@xpillars.software>
  AuthorDate: 2024-12-04 21:30:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 21:32:02 +0900

    [ruby/did_you_mean] Bump version to 2.0.0

    https://github.com/ruby/did_you_mean/commit/1cce337962

commit ef5dfcef3ddf30399d9a83ed7e4735e98ec01a9a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 17:17:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 21:07:11 +0900

    [ruby/did_you_mean] Removed deprecated constants for Ruby 3.4

    https://github.com/ruby/did_you_mean/commit/e11bf81438

commit 86c01b6aa0833e1bddda6ba8315c9d414aef0f76
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-04 16:54:48 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-04 17:49:55 +0900

    [Bug #20928] Fix build when `malloc_usable_size` is available

    Copy from gc/default/default.c and revert the part of 51bd81651794.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12260

commit 4d460944c777b55882dad4c487dfe0a84ca71be1
  Author:     sodacris <wjxa20152015@gmail.com>
  AuthorDate: 2024-12-02 11:51:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 17:35:00 +0900

    [rubygems/rubygems] Rework `Bundler.which` tests

    Refactor to use real test cases rather than mock.

    Add relative path tests wich `Dir.chdir`.

    https://github.com/rubygems/rubygems/commit/ed556a0a53

commit 55f2917cfda6a792e4e24e8b2b98e55ff4a400fd
  Author:     sodacris <wjxa20152015@gmail.com>
  AuthorDate: 2024-12-02 11:50:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 17:35:00 +0900

    [rubygems/rubygems] allow `bat` files to be created alongside with script files on Windows

    https://github.com/rubygems/rubygems/commit/ed5b847f03

commit e18fb1281ae1b7ba27e13d0dc9f5293db8bf9eb6
  Author:     sodacris <wjxa20152015@gmail.com>
  AuthorDate: 2024-12-02 11:50:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 17:34:57 +0900

    [rubygems/rubygems] add relative path support for `bundle exec`

    https://github.com/rubygems/rubygems/commit/c982085f86

commit d2c55e33fb4cf22859ef5c70fe532342d7bb2c62
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-12-04 16:33:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-12-04 17:12:26 +0900

    Remove meaningless NULL checks

    The functions dereference `*dead_entry` without a NULL check

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12258

commit 3b27818062f5bd4723a3b76f7fb7e963f4dd1f49
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-03 19:43:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 16:48:59 +0900

    [ruby/shellwords] NUL char cannot be in shell words

    https://github.com/ruby/shellwords/commit/2c7ae1b76c

commit edd3977b4024c27b92a8e132b2762226298a475a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 14:05:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 16:45:39 +0900

    [ruby/logger] Enable log file rotation on Windows

    Since ruby 2.3, a file opened with `File::SHARE_DELETE` and
    `File::BINARY` can be renamed or removed.

    https://github.com/ruby/logger/commit/7b6146fee6

commit ed47b6b32445107e870d8b1e9825141802fb8fdd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 12:54:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 16:45:37 +0900

    [ruby/logger] Extract `Logger::LogDevice#handle_write_errors`

    https://github.com/ruby/logger/commit/f904ad2f7c

commit c516669f26ef16228f2579f32b1a86566c04dad3
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-12-04 16:02:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 16:02:11 +0900

    Update bundled gems list as of 2024-12-04

commit f76a4cda86afef8f9007b403febeb5524269f007
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-04 13:27:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-04 14:34:01 +0900

    Added Bug #19266, Bug #20795 and net-http changes about removing deprecated constants to NEWS

commit c0454abdee127fcf5c6952ae1cebed57401d9044
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-12-04 13:23:02 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-12-04 13:59:54 +0900

    Remove meaningless comma expression

    Coverity Scan alerts `for(i, j=0;...)` as a misuse of comma expression.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12256

commit 56576b6cce73a97990e16148250d1ac9357a1bed
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-04 12:06:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-04 13:09:40 +0900

    Removed needless RSpec option

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12252

commit b532662d2d5a794ca1ec97eac29ee807d1debbb2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-04 11:55:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-04 13:09:40 +0900

    Use same RSPECOPTS for test-bundler and test-bundler-parallel

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12252

commit 239c30798a5fad8f73e725e1e97184c1ee788c4c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-04 11:43:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-04 13:09:40 +0900

    Simplify test-bundler-parallel

    Get rid of repeated exec XRUBY recursively.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12252

commit 59f7a5d336ade910626f88f8c2c33a4b8bd54bad
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-12-04 11:44:28 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-12-04 12:15:23 +0900

    Remove meaningless NULL checks

    In this context, `th` must not be NULL

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12253

commit a0eb541e52f43bfb3a889b9a6a69f6f37d5b79a0
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-29 13:33:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 10:35:29 +0900

    [ruby/psych] Do not depend on the evaluation order of C arguments

    The evaluation order of C arguments is unspecified.
    `RSTRING_LEN(value)` would fail if the conversion to a String by
    `StringValuePtr(value)` is not done yet.

    Coverity Scan found this issue.

    https://github.com/ruby/psych/commit/d1e6bf323a

commit e539342f65e468fc7f926277eff61cb8b8a60622
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-04 06:55:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 06:55:33 +0900

    [ruby/irb] Don't show 'Maybe IRB bug!' in show_source and ls command
    (https://github.com/ruby/irb/pull/1039)

    https://github.com/ruby/irb/commit/9eb14a3a0b

commit 3a90663776f94e4a617a4069d1d073cc1eca0526
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-04 03:26:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-04 06:16:13 +0900

    Move external_gc_loaded_p to gc_functions

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12242

commit 6adc69c41c6edb409c5306573511cd6d8b436fbe
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-29 13:28:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-12-04 05:43:08 +0900

    Do not depend on the evaluation order of C arguments

    The evaluation order of C arguments is unspecified.
    `RSTRING_LEN(str)` would fails if the conversion to a String by
    `StringValuePtr` is not done yet.

    Coverity Scan found this issue.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12209

commit 5d156007f60e7ee00b1c0d21914825972a7580ae
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-04 02:46:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 04:30:17 +0900

    [ruby/prism] Add document CallOperatorWriteNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/f1f8776973

commit 917f348a0c2b956f2d5bbb1abdce878a595844e3
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-04 02:50:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 04:29:56 +0900

    [ruby/prism] Add document CallOrWriteNode fields

    Partially: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/3c01cc7c77

commit 0f921cf41dc0bb6c0846988e78cef0d2dce9e871
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-04 02:53:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-04 04:29:38 +0900

    [ruby/prism] Add document CallTargetNode fields

    Partially: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/649ef29c29

commit 8fd65cd8701cb1ebfa6d718c4f8727a9bfcd056c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-04 03:44:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-04 03:44:17 +0900

    [DOC] Rename "GC module" to "GC library" in NEWS.md

commit e20904d7cff727f14559acd39f5279fed816553d
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-12-03 12:41:12 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-12-04 03:03:59 +0900

    Fix use of getaddrinfo_shared->lock

    In some locations we were using shared->lock and in others
    &shared->lock, and we were leaking the allocated memory.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12239

commit 757303fe8de0cf5e5583b4a76f8abbbd55c44776
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-12-03 19:56:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-12-03 21:43:58 +0900

    Use the edge version of typeprof

    It should work on Windows, hopefully

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12240

commit b4481a6b8bf753d94fca852117058afa2493bb3d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-03 17:43:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-03 17:43:56 +0900

    Fixed wrong instruction with mswin build

commit f6b62d001a7ee868a745054d2e6146167570e682
  Author:     Cosmic Oppai <cosmicoppai@protonmail.com>
  AuthorDate: 2024-11-19 05:26:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 15:49:57 +0900

    [ruby/timeout] removed the non numeric check

    https://github.com/ruby/timeout/commit/7d2af46a00

    Co-authored-by: Jeremy Evans <code@jeremyevans.net>

commit 7dc7aab4e9496b131f6355808bde1369dc7f1ab2
  Author:     Cosmic Oppai <cosmicoppai@protonmail.com>
  AuthorDate: 2024-11-18 19:05:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 15:49:56 +0900

    [ruby/timeout] updated doc string

    https://github.com/ruby/timeout/commit/4be6423de4

    Co-authored-by: Jeremy Evans <code@jeremyevans.net>

commit e97225b18258dc81f38e0500ca819fec4791308a
  Author:     CosmicOppai <cosmicoppai@protonmail.com>
  AuthorDate: 2024-10-18 04:40:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 15:49:56 +0900

    [ruby/timeout] updated tests

    https://github.com/ruby/timeout/commit/c6d121aa18

commit b156efc2a6f2574eb7eebbf34b0027e19a0c5838
  Author:     CosmicOppai <cosmicoppai@protonmail.com>
  AuthorDate: 2024-10-18 04:38:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 15:49:55 +0900

    [ruby/timeout] updated doc and kept the nil compatiability

    https://github.com/ruby/timeout/commit/f992632cf3

commit e7dd185e2147ff0ce5ad6a3de563749a4ad8ccb2
  Author:     CosmicOppai <cosmicoppai@protonmail.com>
  AuthorDate: 2024-10-15 09:51:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 15:49:55 +0900

    [ruby/timeout] refactor the change to raise for nil and type-errror and added tests

    https://github.com/ruby/timeout/commit/ffc8d7c003

commit 0839eae2d362b70d1b36b939b7ad6aa809a618a9
  Author:     CosmicOppai <cosmicoppai@protonmail.com>
  AuthorDate: 2024-10-14 19:54:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 15:49:54 +0900

    [ruby/timeout] refactor the change to keep the compatability with nil and type-errror and added tests

    https://github.com/ruby/timeout/commit/e8a7dbdb87

commit 0f2cd39e680c9b15ddd94d34770a8a17d0c5a0ae
  Author:     CosmicOppai <cosmicoppai@protonmail.com>
  AuthorDate: 2024-10-14 19:53:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 15:49:54 +0900

    [ruby/timeout] refactor the change to keep the compatability with nil and type-errror and added tests

    https://github.com/ruby/timeout/commit/8342544979

commit 203a02344766bdab347c82e7fd082248cad38364
  Author:     CosmicOppai <cosmicoppai@protonmail.com>
  AuthorDate: 2024-10-14 18:15:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 15:49:53 +0900

    [ruby/timeout] added the check for negative sec

    https://github.com/ruby/timeout/commit/8e57887eee

commit de50236c3a06690522f88534309ab335090a37f7
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-12-03 15:02:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-03 15:02:18 +0900

    Enable Launchable integration in compilers.yml (#12136)

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit f1b576e12e766b27d0077f31148eea6c0831d39f
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-12-03 10:56:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-03 14:24:13 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12237

commit ddf0080fd3d82e84aec48894d4e27f6d4f718c82
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-03 14:05:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 14:05:14 +0900

    [ruby/io-console] Bump up 0.8.0

    https://github.com/ruby/io-console/commit/467508a0c6

commit 80a5db55e368a7269cb2c807f9be6916d9772f02
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-03 13:58:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 13:59:13 +0900

    [ruby/etc] Use same license files with ruby/ruby

    https://github.com/ruby/etc/commit/8d585ea0c9

commit bbcb094e2d1501079eeec2104800cc0df9cc540f
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-12-03 13:25:20 +0900
  Commit:     Kazuhiro NISHIYAMA <znz@users.noreply.github.com>
  CommitDate: 2024-12-03 13:56:26 +0900

    Socket#connect may be raise ECONNREFUSED

    On my environment with `sudo ufw default reject outgoing`,
    outgoing packets are filtered without allow rules.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12238

commit e34163d7fe8d416f9952d775eb743b58f376f0e3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-03 13:51:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 13:52:19 +0900

    [ruby/pp] Bump up 0.6.2

    https://github.com/ruby/pp/commit/979f9d972d

commit 9bd1e6ee04ed8f0cc88da3366534e08fa2d5fa48
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-03 13:32:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 13:38:16 +0900

    [ruby/io-nonblock] Bump up 0.3.1

    https://github.com/ruby/io-nonblock/commit/16727a8ab3

commit 043f26edee38fb52fe43e208a7ad571c38a0718d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-12-03 12:10:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 12:11:18 +0900

    [ruby/error_highlight] Bump version

    https://github.com/ruby/error_highlight/commit/a8e9eb7f2f

commit d85e8b53393779f7cc7aa5779387fc68ac85dc47
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-03 09:03:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-03 10:59:32 +0900

    Reapply "[ruby/rdoc] fix: C variables should never show up in Ancestors tree"

    This reverts commit 0fe82ae087130d7f360cc0607be93995cedbdb16.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12233

commit 59d23174c01d201b4a1bbc0eaab32b167a3cb975
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-03 09:18:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-03 09:53:17 +0900

    Added missing header file for _finite

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12232

commit 4e382c285fc3080f013a10cdce5408a97823fd3b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-03 08:39:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-03 09:53:17 +0900

    Lock json-schema-5.1.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12232

commit af5c34fb0b6d06f9c78952bccc9879fa735b3857
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-12-03 07:07:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 07:08:03 +0900

    [ruby/rdoc] Prefer String#ord to #codepoints[0]
    (https://github.com/ruby/rdoc/pull/1220)

    https://github.com/ruby/rdoc/commit/09d7f35420

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 4cce246d86d8ce16f13cfbbec465e0279d060f7f
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-12-03 07:07:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 07:07:31 +0900

    [ruby/rdoc] ClassModule#superclass= accepts a ClassModule as an
    argument
    (https://github.com/ruby/rdoc/pull/1222)

    It is necessary for ClassModule's instance variable @superclass to
    always be a String (or nil) so that the class can be saved with
    `#marshal_dump` and loaded with `#marshal_load`.

    However, there's no type checking being done, which allows a bug like
    the one reported in #1221 (which was introduced in #1217) that sets
    superclass to a ClassModule. That bug requires:

    - setting a superclass to a NormalClass
    - marshal_save
    - marshal_load (which raises an exception)

    With this change, passing a ClassModule to ClassModule#superclass= is
    explicitly allowed by saving the full name of the ClassModule in the
    @superclass instance variable.

    https://github.com/ruby/rdoc/commit/9ced6d534c

commit d588a1c880c5aadb3a802358df73b0c6e1fcf1a1
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-12-02 07:56:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-03 05:28:53 +0900

    Correct order of listed methods

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12229

commit c8dd0479553d4c872b41d667c8fc7a9340594a08
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-12-03 04:40:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 05:19:52 +0900

    [ruby/prism] _finitef is unavailable on Windows x86

    Instead cast it inline to a double on Windows.

    https://github.com/ruby/prism/commit/9064d872aa

commit 05346b19b994eb254c5144d168197f2a5eb0ba76
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-03 04:48:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-12-03 04:48:49 +0900

    [DOC] Fix capitalization in NEWS.md

commit fd217d475d885d02e526deef644d552cdec28b13
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-27 19:31:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:42:16 +0900

    [ruby/prism] Reject invalid operator after match predicate or after match required

    Partially fixes: #3171

    https://github.com/ruby/prism/commit/d0d9699c27

commit 2ba598726360226b5a00d7c72a62479c6eb0e87a
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-27 19:18:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:41:38 +0900

    [ruby/prism] Reject invalid dot method call after match predicate or after match required

    Partially fixes:  https://github.com/ruby/prism/issues/3171

    https://github.com/ruby/prism/commit/5c33fa5a1a

commit aa77bfd13ee183adde6bdc7812cfbb9580ea4b7a
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-27 19:53:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:39:49 +0900

    [ruby/prism] Reject extra comma in array after keyword argument

    Fixes: https://github.com/ruby/prism/issues/3109

    https://github.com/ruby/prism/commit/9ed989c30d

commit 90404ca46004e10e4e64e7b4e648d88ffcfb65ee
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 21:07:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:38:12 +0900

    Fix example of array pattern that results in a SyntaxError

    ```
    ❯ ruby --parser=prism --dump=parsetree -e "foo in *1"
    ruby: -e:1: syntax error found (SyntaxError)
    > 1 | foo in *1
        |         ^ unexpected integer, expecting end-of-input
      2 |
    ```

commit b1f992e02745fed15e57e802073741623273c706
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 22:50:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:37:05 +0900

    [ruby/prism] Add document BeginNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/b8f40988ab

commit 76aa9fd1125f54dd60577fbc304f6eb93228fff5
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 22:49:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:36:42 +0900

    [ruby/prism] Add document ArrayPatternNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/396c6d4340

commit 4574ac5f79fac964806e463737b994780e735aa8
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 22:53:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:36:19 +0900

    [ruby/prism] Add document AliasMethodNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/27f13fabc6

commit d53cf5e6df11b9a1637aaf72f1d05a50e2406929
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 22:58:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:35:58 +0900

    [ruby/prism] Add document ArgumentsNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/1388ca389e

commit 06dcadd1602050a539fb83768c5a2138a3663461
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 23:05:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:35:37 +0900

    [ruby/prism] Add document BlockArgumentNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/b1c2f323f9

commit 80897f97b2d37352a92803e594153f02956fcc5f
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 23:08:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:35:16 +0900

    [ruby/prism] Add document BlockLocalVariableNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/8353be1dfe

commit efb3f84ce89aed6ed8c52117007796fc4bd01c06
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 23:33:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:34:49 +0900

    [ruby/prism] Add document BlockNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/9c0ef71449

commit 02fa822ebce7b197fcadbb4b2d66df7a1166fe8b
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 23:38:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:34:21 +0900

    [ruby/prism] Add document BlockParameterNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/480897eccf

commit c7e1cb0404c7fd522681f72265714537db700b9c
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 23:45:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:33:57 +0900

    [ruby/prism] Add document BlockParametersNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/75d1bde6cc

commit 20206da7f751474ce20a20092937f806c7f7bc18
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 23:54:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:33:19 +0900

    [ruby/prism] Add document CallAndWriteNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/d1570f2e06

commit 3c2646ebe891c33f52ad55d569cd4ec334c6f97e
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-29 00:32:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 03:32:49 +0900

    [ruby/prism] Add document CallNode fields

    Partially fixes: https://github.com/ruby/prism/issues/2123

    https://github.com/ruby/prism/commit/145ae8f993

commit 36aeb12aa91976e8a8872fd575fe195dbd760964
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-03 01:44:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 01:44:49 +0900

    [ruby/reline] Implement buffered output to Reline::ANSI
    (https://github.com/ruby/reline/pull/790)

    Minimize the call of STDOUT.write
    This will improve rendering performance especially when there is a busy thread `Thread.new{loop{}}`

    https://github.com/ruby/reline/commit/a6fe45f5ba

commit 44ef172dbdf78ee5e0bc1c7f3ebe6e348ab54323
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-02 20:04:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-03 01:06:44 +0900

    [rubygems/rubygems] [DOC] Fix missing single quote

    https://github.com/rubygems/rubygems/commit/722d4c6926

commit 8f57204c19b983f37d00b3f6edc4500d93480a72
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-12-02 21:47:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-12-02 21:47:51 +0900

    Avoid test failures on hosts that only support IPv4 (#12213)

    To verify the behavior of HEv2, some tests were prepared. But unexpected failures occur in certain environments.
    This happens in environments where "localhost" resolves only to an IPv4 address during tests that verify connections to IPv6.

    For example, the following situation can occur:

    - The server process is bound to ::1.
    - The client socket always resolves "localhost" to 127.0.0.1 and attempts to connect to 127.0.0.1.
    - Since no server is bound to 127.0.0.1, an ECONNREFUSED error is raised.

    In such situations, the behavior of `TCPSocket.new` remains unchanged from before the introduction of HEv2.
    (The failures occur because tests explicitly binding to ::1 were added to verify HEv2 behavior.)

    This change ensures that the affected tests are skipped in environments of this kind.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 2b895a7ad53d025e91566c4f51eac3623f99eddf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 17:42:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-02 17:42:13 +0900

    [ruby/net-http] Bump up 0.6.0

    https://github.com/ruby/net-http/commit/6475fa68ba

commit 157fe74795b151413150b0f79b9b8bd58da95da7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 17:03:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-02 17:03:46 +0900

    [ruby/logger] Bump up 1.6.2

    https://github.com/ruby/logger/commit/2d07f086f8

commit 8ec58a91f7f66467596881dafa818ec456e2de80
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-10 20:00:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-02 17:03:30 +0900

    [ruby/io-console] Add IO#ttyname that returns the tty name or nil

    https://github.com/ruby/io-console/commit/fdad351501

commit 229592f175eab0a42071bdd237107b1ce1d5ba40
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 16:50:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-02 16:51:06 +0900

    [ruby/date] Bump up 3.4.1

    https://github.com/ruby/date/commit/a3295ad262

commit ff52431ee5a9bdefa8240e69ea4220591babad4b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 16:44:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-02 16:45:05 +0900

    [ruby/securerandom] Bump up 0.4.0

    https://github.com/ruby/securerandom/commit/53f97f3151

commit 165e34ed94de221d218c0e8c0e9fed9781634ebd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 14:22:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 15:32:05 +0900

    Disabled test_s_random_bytes_is_fork_safe again

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12231

commit 587bd583cc6f2ad799b420823c60427196c39c1b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 12:57:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 15:32:05 +0900

    [ruby/securerandom] Enabled test_s_random_bytes_is_fork_safe with Apple Silicon and expand running times

    https://github.com/ruby/securerandom/commit/40ddef8a83

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12231

commit 983ae63f5912204f88e61bf8dd9c0d7c1d009503
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 12:19:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 15:32:05 +0900

    [ruby/securerandom] Random::Formatter is only provided from Ruby 3.1

    https://github.com/ruby/securerandom/commit/90c7e390f5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12231

commit 94f8bc95e3c6e7917628e0465c687bd61d6d8531
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 12:18:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 15:32:05 +0900

    [ruby/securerandom] Enabled test_s_random_bytes_is_fork_safe on GitHub Actions

    https://github.com/ruby/securerandom/commit/bb1c078e9f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12231

commit eb0442a58177525dde6b68c30ee2d0755260ac28
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 12:16:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 15:32:05 +0900

    [ruby/securerandom] Removed unnecessary module for SecureRandom tests

    https://github.com/ruby/securerandom/commit/da7d324c7d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12231

commit 9948a8c8dfa54ac2671bada6ccc493a70d88ef70
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-01 11:26:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-02 14:00:47 +0900

    [ruby/io-console] Freeze the version string

    https://github.com/ruby/io-console/commit/aa79919f79

commit decc02996a21afa2689d618a973e0d822053b4f7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-02 12:28:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-02 12:37:15 +0900

    [ruby/io-console] Check if `rb_syserr_fail_str` is available

    Truffle ruby seems to lack it.

    https://github.com/ruby/io-console/commit/839c1e80eb

commit 9b6036667e494bb44fe1de4abf41ad0091c375be
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 10:20:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 10:50:34 +0900

    Removed trailing spaces

commit 0eca6c305949ab824811f2968bef7a1fad20a787
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 10:14:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 10:50:34 +0900

    Update strscan structure for strscan/strscan.rb

commit 9a7f050eda62b8492d3d0fd8ecc32df854f05874
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-11-29 15:22:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 10:50:34 +0900

    [ruby/strscan] test: don't omit "(...)" for method calls that have at least one argument

    https://github.com/ruby/strscan/commit/dddae9c99a

commit 636d57bd1c523ef3653708e4010270919a01b2a0
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-28 13:15:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 10:50:34 +0900

    [ruby/strscan] Micro optimize encoding checks
    (https://github.com/ruby/strscan/pull/117)

    Profiling shows a lot of time spent in various encoding check functions.
    I'm working on optimizing them on the Ruby side, but if we assume most
    strings are one of the simple 3 encodings, we can skip a lot of
    overhead.

    ```ruby
    require 'strscan'
    require 'benchmark/ips'

    source = 10_000.times.map { rand(9999999).to_s }.join(",").force_encoding(Encoding::UTF_8).freeze

    def scan_to_i(source)
      scanner = StringScanner.new(source)
      while number = scanner.scan(/\d+/)
        number.to_i
        scanner.skip(",")
      end
    end

    def scan_integer(source)
      scanner = StringScanner.new(source)
      while scanner.scan_integer
        scanner.skip(",")
      end
    end

    Benchmark.ips do |x|
      x.report("scan.to_i") { scan_to_i(source) }
      x.report("scan_integer") { scan_integer(source) }
      x.compare!
    end
    ```

    Before:

    ```
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/strscan/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
               scan.to_i    93.000 i/100ms
            scan_integer   232.000 i/100ms
    Calculating -------------------------------------
               scan.to_i    933.191 (± 0.2%) i/s    (1.07 ms/i) -      4.743k in   5.082597s
            scan_integer      2.326k (± 0.8%) i/s  (429.99 μs/i) -     11.832k in   5.087974s

    Comparison:
            scan_integer:     2325.6 i/s
               scan.to_i:      933.2 i/s - 2.49x  slower
    ```

    After:

    ```
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/strscan/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
               scan.to_i    96.000 i/100ms
            scan_integer   274.000 i/100ms
    Calculating -------------------------------------
               scan.to_i    969.489 (± 0.2%) i/s    (1.03 ms/i) -      4.896k in   5.050114s
            scan_integer      2.756k (± 0.1%) i/s  (362.88 μs/i) -     13.974k in   5.070837s

    Comparison:
            scan_integer:     2755.8 i/s
               scan.to_i:      969.5 i/s - 2.84x  slower
    ```

    https://github.com/ruby/strscan/commit/c02b1ce684

commit 79cc3d26ed3a038750988070d81912ece31c735b
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-27 17:31:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 10:50:34 +0900

    StringScanner#scan_integer support base 16 integers (#116)

    Followup: https://github.com/ruby/strscan/pull/115

    `scan_integer` is now implemented in Ruby as to efficiently handle
    keyword arguments without allocating a Hash. Given the goal of
    `scan_integer` is to more effciently parse integers without having to
    allocate an intermediary object, using `rb_scan_args` would defeat the
    purpose.

    Additionally, the C implementation now uses `rb_isdigit` and
    `rb_isxdigit`, because on Windows `isdigit` is locale dependent.

commit 5514485e1336382b02f61c5e2f127ec9d437b201
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-29 09:41:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 10:50:34 +0900

    [ruby/strscan] Prevent a warning "ambiguous first argument" during a
    test
    (https://github.com/ruby/strscan/pull/118)

    https://rubyci.s3.amazonaws.com/debian11/ruby-master/log/20241128T153002Z.log.html.gz
    ```
    /home/chkbuild/chkbuild/tmp/build/20241128T153002Z/ruby/test/strscan/test_stringscanner.rb:908: warning: ambiguous first argument; put parentheses or a space even after `-` operator
    ```

    https://github.com/ruby/strscan/commit/af3fd2f045

commit 8f2575a17d9f8e669ab131a86786ff5c11a33459
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 10:32:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 10:32:05 +0900

    Typofix

commit 0fe82ae087130d7f360cc0607be93995cedbdb16
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-02 09:39:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 09:39:56 +0900

    Revert "[ruby/rdoc] fix: C variables should never show up in Ancestors tree"

    This reverts commit 2923f42ed7622f6310c63aab4c0abf05402f9a04.

    https://github.com/ruby/actions/actions/runs/12108034481/job/33755653615#step:23:1031

    ```
    /home/runner/work/actions/actions/snapshot-master/lib/rdoc/code_object.rb:322:in 'RDoc::CodeObject#parent': undefined method 'find_class_or_module' for nil (NoMethodError)
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/code_object/class_module.rb:342:in 'RDoc::ClassModule#marshal_dump'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/store.rb:878:in 'Marshal.dump'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/store.rb:878:in 'block in RDoc::Store#save_class'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/store.rb:877:in 'IO.open'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/store.rb:877:in 'RDoc::Store#save_class'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/store.rb:763:in 'block in RDoc::Store#save'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/store.rb:762:in 'Array#each'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/store.rb:762:in 'RDoc::Store#save'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/generator/ri.rb:27:in 'RDoc::Generator::RI#generate'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/rdoc.rb:528:in 'block in RDoc::RDoc#generate'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/rdoc.rb:522:in 'Dir.chdir'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/rdoc.rb:522:in 'RDoc::RDoc#generate'
            from /home/runner/work/actions/actions/snapshot-master/lib/rdoc/rdoc.rb:501:in 'RDoc::RDoc#document'
            from ./tool/rdoc-srcdir:27:in '<main>'
    ```

commit ae59b44041d118514d6ac835e3b34f8a1a72e198
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2024-11-29 11:10:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 08:28:58 +0900

    [ruby/set] Fix ^ to respect subclasses

    https://github.com/ruby/set/commit/f88ecdef6b

commit f2334cf4b1fe3b903a17c46004e9dc9127397da7
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2024-11-29 12:31:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-02 08:28:44 +0900

    [ruby/set] Speed up Set#flatten

    Improved performance by ensuring that identical `Set` objects are
    processed only once.

    https://github.com/ruby/set/commit/cadb686e93

commit 96fac34797b3cf5d020cef8546cc37c6733c88f2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-01 12:17:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-01 17:31:10 +0900

    Win32: Accept slashes in --with-opt-dir argument

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12225

commit 029174a402b5f51f58cec4e16a134fc4fdf17553
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-30 22:12:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-01 10:13:35 +0900

    Win32: Use the symbolic name for the default NTVER

    And embed the given `_WIN32_WINNT` in config.h as well, for extension
    libraries.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12225

commit 091c7d4a5477bc303b0c51e05cbc8d25bba5249d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-30 21:37:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-01 10:13:34 +0900

    Win32: Make waring 4013 error

    ```
    'function' undefined; assuming extern returning int
    The compiler encountered a call to an undefined function.
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12225

commit 0fc70022e694da2c8c6ee5dbde2de24b2a389d93
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-12-01 02:21:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-01 02:21:20 +0900

    [ruby/reline] Call user defined sigwinch and sigcont handler
    (https://github.com/ruby/reline/pull/788)

    https://github.com/ruby/reline/commit/7d44770c84

commit 569f27b4259f0d11e0291f28528a5c9de1249a44
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-12-01 01:21:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-01 01:22:05 +0900

    [ruby/irb] Prevent cursor flickering
    (https://github.com/ruby/irb/pull/1041)

    https://github.com/ruby/irb/commit/0506ed0e11

commit 83bd9191d8537e0c5c413841a2234552d2a3b756
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-12-01 01:06:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-01 01:06:54 +0900

    [ruby/rdoc] Methods are sorted symbols-first
    (https://github.com/ruby/rdoc/pull/1219)

    There are three distinct ranges of symbols in ASCII:

    - the range below "A", 0..64 in decimal
    - the range between "Z" and "a", 91..96 in decimal
    - the range above "z", 123..127 in decimal

    With this change, any method starting with a character in these
    "symbol ranges" will be sorted before a method starting with an alpha
    ASCII character. The remaining methods, all starting with alpha or
    8-bit characters, will be sorted against each other exactly as before.

    Specifically this addresses the issue from #1204 which is that `#[]`
    and `#^` were previously sorted _after_ the alpha methods. These
    methods will now be sorted before alpha methods.

    Fixes https://github.com/ruby/rdoc/pull/1204

    https://github.com/ruby/rdoc/commit/a4f13d242b

commit da03ab62e649db2fdf09b0bc93fe2efc635774c7
  Author:     Pascal Terjan <pterjan@gmail.com>
  AuthorDate: 2024-11-30 23:42:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 23:42:31 +0900

    [ruby/reline] Fix tests failing when INPUTRC is defined
    (https://github.com/ruby/reline/pull/789)

    Failure: test_empty_xdg_config_home(Reline::Config::Test)
    /home/pterjan/reline/test/reline/test_config.rb:563:in `test_empty_xdg_config_home'
         560:     expected = File.expand_path('~/.config/readline/inputrc')
         561:     FileUtils.mkdir_p(File.dirname(expected))
         562:     FileUtils.touch(expected)
      => 563:     assert_equal expected, @config.inputrc_path
         564:   ensure
         565:     FileUtils.rm(expected)
         566:     ENV['XDG_CONFIG_HOME'] = xdg_config_home_backup
    <"/tmp/test_reline_config_4131165/.config/readline/inputrc"> expected but was
    <"/etc/inputrc">

    https://github.com/ruby/reline/commit/7de5a50f63

commit 2923f42ed7622f6310c63aab4c0abf05402f9a04
  Author:     Mike Dalessio <mike@37signals.com>
  AuthorDate: 2024-11-30 21:31:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 21:31:42 +0900

    [ruby/rdoc] fix: C variables should never show up in Ancestors tree
    (https://github.com/ruby/rdoc/pull/1217)

    If a NormalClass's superclass is a C enclosure, then update the
    superclass to point to the RDoc::NormalClass.

    This is done in a single pass after all files have been parsed.

    Fixes https://github.com/ruby/rdoc/pull/1205.

    https://github.com/ruby/rdoc/commit/1ecd9581b1

commit 3d07754ee2c707343f79321b0fd358af3154709f
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-30 18:51:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-30 18:51:53 +0900

    Improve the conditions for clearing the Connection Attempt Delay upon connection failure (#12223)

    * Improve the conditions for clearing the Connection Attempt Delay upon connection failure

    This change addresses a case that was overlooked in [ruby/ruby#12087](https://github.com/ruby/ruby/pull/12087).
    In the previous change, the Connection Attempt Delay was cleared at the point of a connection failure only if both of the following conditions were met:

    - No other sockets were attempting a connection
    - There were addresses still available to start a new connection

    In this update, the second condition has been removed.
    As a result, if name resolution succeeds after a connection failure and new addresses are obtained, it will be able to immediately attempt a connection to one of them.

    If there are no sockets attempting a connection, no addresses available for connection, and name resolution has completed, an exception will still be raised as before.

    ---

    Additionally, the following minor fixes have been made:

    * Refactor: Remove unnecessary members

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit fdf60d735cdfd42e11acedcb16f4b5c8b6896b38
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-30 15:24:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-30 15:24:30 +0900

    Win32: Fix dependencies with VPATH on nmake

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12224

commit ed9fff67f0aa4b3ca2704063d2a2bc28fd4aff5e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-30 15:21:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-30 15:21:51 +0900

    Win32: Accept a symbolic name for `--with-ntver` option

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12224

commit 4745338a3f336d7bedb02895534721661551ebb9
  Author:     jeremyd2019 <github@jdrake.com>
  AuthorDate: 2024-11-30 09:29:57 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-30 14:22:55 +0900

    [win32] fix arm64 instruction decoding

    Two minor fixes to arm64 instruction decoding when looking for __pioinfo:
    1. add_mask was shifted by one bit, it was intended to be 0x7f800000.  However, since the mask was already excluding matching the 'sh' bit, and since the purpose of the add following the adrp is to add in the lower 12 bits, I opted to set the mask to 0x7fc00000 and simply remove the handling for the 12 bit shift option which is now required to be disabled in order to match.
    2. adrp's immediate was supposed to be sign extended.  So far, I have not seen cases where the global variable ends up before the code in memory, but it's a possibility, so handle the sign extension.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12222

commit 8149f4d6abd4df27d07c047b133451a1364f8d9a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-30 09:10:29 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-30 14:04:53 +0900

    [Bug #20910] dtrace related symbols are not considered leaked

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12221

commit f1dda5ed011b79d0d7bd31b09b55b5e19d8abd0c
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-11-27 09:40:47 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-11-30 13:41:00 +0900

    Warn when redefining __id__ as well as object_id

    [Feature #20912]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12177

commit a505cd32fb55aec0423c5b57d17ae31c076b44ab
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-11-28 16:32:56 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-11-30 13:37:27 +0900

    RUBY_DEBUG: Verify PC correctness every alloc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12204

commit 660b995365f719fa59ed6f2809bb1527e6470d14
  Author:     viralpraxis <iaroslav2k@gmail.com>
  AuthorDate: 2024-11-30 06:13:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-30 08:42:48 +0900

    [Bug #20915] Fix SEGV with `TracePoint#parameters` and aliased C method

    The following snippet results with a SEGV:

    ```ruby
    C = Class.new do
      alias_method :new_to_s, :to_s
    end

    TracePoint.new(:c_call, &:parameters).enable { C.new.new_to_s }
    ```

    at MRI 3.3.6 and ruby 3.4.0dev

    The root cause of the issue lies in the `rb_tracearg_parameters` function
    within the `RUBY_EVENT_C_RETURN` branch. Specifically, when the invoked
    method is an alias for a C function,
    `rb_method_entry_without_refinements(..., trace_arg->called_id, ...)`
    may return NULL. In that case we can fallback to `trace_arg->id`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12186

commit 88764dde78ee3475cd61447e45945a6569e8d639
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-11-30 08:33:44 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-11-30 08:33:44 +0900

    [DOC] Rewrite docs for rb_sym2str()

    Explaining this by reference to rb_id2str() obscures a few important
    details because IDs and symbols don't map to each other perfectly (you
    can have a dynamic symbol without an ID!) Also, it used to take 2
    redirections to get to concrete information, and I think being more
    direct is friendlier.

commit 2a0006c10102e544d18767f17eff3c8301c14959
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-11-30 08:33:44 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-11-30 08:33:44 +0900

    [DOC] Mention that rb_id2str() returns a frozen string

commit 2fc357c16d2b10f5a9058063c78c308d34101921
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-11-30 05:58:46 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-11-30 06:45:22 +0900

    YJIT: Avoid std::ffi::CString with rb_intern2() during boot

    Fewer allocations on boot, too.

    Suggested-by: https://github.com/ruby/ruby/pull/12217

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12220

commit 36a98307aa014a83778d4a6bb9f6c898345833f0
  Author:     Durable Programming Team <djberube@durableprogramming.com>
  AuthorDate: 2024-11-30 01:03:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 04:29:15 +0900

    [rubygems/rubygems] make pretty_print tests whitespace agnostic

    https://github.com/rubygems/rubygems/commit/23e9396d22

commit 7e02410bf848a009cf57d3ab9f5113b25645e245
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-30 04:07:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 04:07:35 +0900

    [ruby/reline] Don't skip start_with check on encoding-incompatible
    candidates
    (https://github.com/ruby/reline/pull/787)

    https://github.com/ruby/reline/commit/8588be652f

commit c06dcba964954d948b9c7b7f12314fcd82fe62af
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-11-30 03:15:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 03:15:46 +0900

    [ruby/reline] Fix RELINE_TEST_ENCODING
    (https://github.com/ruby/reline/pull/743)

    * Fix RELINE_TEST_ENCODING

    It was not working because it was not environment variable.

    * Fix Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8

    Error: test_completion_append_character(Reline::KeyActor::EmacsTest): Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:814:in 'block in Reline::LineEditor#filter_normalize_candidates'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Array#select'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Reline::LineEditor#filter_normalize_candidates'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:831:in 'Reline::LineEditor#perform_completion'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1434:in 'Reline::LineEditor#complete'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Method#call'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Reline::LineEditor#wrap_method_call'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1029:in 'block in Reline::LineEditor#process_key'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:932:in 'Reline::LineEditor#run_for_operators'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1028:in 'Reline::LineEditor#process_key'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1051:in 'Reline::LineEditor#normal_char'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1089:in 'Reline::LineEditor#input_key'
    /home/runner/work/reline/reline/test/reline/helper.rb:124:in 'block in Reline::TestCase#input_keys'
    /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Array#each'
    /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Reline::TestCase#input_keys'
    /home/runner/work/reline/reline/test/reline/test_key_actor_emacs.rb:948:in 'Reline::KeyActor::EmacsTest#test_completion_append_character'
    ===============================================================================
    ===============================================================================
    Error: test_continuous_completion_disabled_with_perfect_match(Reline::KeyActor::EmacsTest): Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:814:in 'block in Reline::LineEditor#filter_normalize_candidates'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Array#select'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Reline::LineEditor#filter_normalize_candidates'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:831:in 'Reline::LineEditor#perform_completion'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1434:in 'Reline::LineEditor#complete'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Method#call'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Reline::LineEditor#wrap_method_call'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1029:in 'block in Reline::LineEditor#process_key'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:932:in 'Reline::LineEditor#run_for_operators'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1028:in 'Reline::LineEditor#process_key'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1051:in 'Reline::LineEditor#normal_char'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1089:in 'Reline::LineEditor#input_key'
    /home/runner/work/reline/reline/test/reline/helper.rb:124:in 'block in Reline::TestCase#input_keys'
    /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Array#each'
    /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Reline::TestCase#input_keys'
    /home/runner/work/reline/reline/test/reline/test_key_actor_emacs.rb:936:in 'Reline::KeyActor::EmacsTest#test_continuous_completion_disabled_with_perfect_match'
    ===============================================================================
    ===============================================================================
    Error: test_continuous_completion_with_perfect_match(Reline::KeyActor::EmacsTest): Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:814:in 'block in Reline::LineEditor#filter_normalize_candidates'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Array#select'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Reline::LineEditor#filter_normalize_candidates'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:831:in 'Reline::LineEditor#perform_completion'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1434:in 'Reline::LineEditor#complete'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Method#call'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Reline::LineEditor#wrap_method_call'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1029:in 'block in Reline::LineEditor#process_key'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:932:in 'Reline::LineEditor#run_for_operators'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1028:in 'Reline::LineEditor#process_key'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1051:in 'Reline::LineEditor#normal_char'
    /home/runner/work/reline/reline/lib/reline/line_editor.rb:1089:in 'Reline::LineEditor#input_key'
    /home/runner/work/reline/reline/test/reline/helper.rb:124:in 'block in Reline::TestCase#input_keys'
    /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Array#each'
    /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Reline::TestCase#input_keys'
    /home/runner/work/reline/reline/test/reline/test_key_actor_emacs.rb:924:in 'Reline::KeyActor::EmacsTest#test_continuous_completion_with_perfect_match'
    ===============================================================================
    Finished in 2.118582151 seconds.
    385 tests, 1762 assertions, 0 failures, 3 errors, 0 pendings, 3 omissions, 0 notifications

    https://github.com/ruby/reline/commit/4df825c48f

commit 7f34c75b8beeb3f391a2b381873fc16c6fa1f463
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-30 02:41:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-30 03:15:03 +0900

    Use `RSTRING_PTR` instead of `StringValuePtr`

    ... since it is certain to be a String in this context.

    Also, I want to avoid the anxious use of `StringValuePtr(str)` and
    `RSTRING_LEN(str)` as arguments in the same function call.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12216

commit f65a6c090c229de1665af49f2e51fc1d6397ab72
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-29 04:04:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-30 00:46:43 +0900

    Fix use-after-free in constant cache

    [Bug #20921]

    When we create a cache entry for a constant, the following sequence of
    events could happen:

    - vm_track_constant_cache is called to insert a constant cache.
    - In vm_track_constant_cache, we first look up the ST table for the ID
      of the constant. Assume the ST table exists because another iseq also
      holds a cache entry for this ID.
    - We then insert into this ST table with the iseq_inline_constant_cache.
    - However, while inserting into this ST table, it allocates memory, which
      could trigger a GC. Assume that it does trigger a GC.
    - The GC frees the one and only other iseq that holds a cache entry for
      this ID.
    - In remove_from_constant_cache, it will appear that the ST table is now
      empty because there are no more iseq with cache entries for this ID, so
      we free the ST table.
    - We complete GC and continue our st_insert. However, this ST table has
      been freed so we now have a use-after-free.

    This issue is very hard to reproduce, because it requires that the GC runs
    at a very specific time. However, we can make it show up by applying this
    patch which runs GC right before the st_insert to mimic the st_insert
    triggering a GC:

        diff --git a/vm_insnhelper.c b/vm_insnhelper.c
        index 3cb23f06f0..a93998136a 100644
        --- a/vm_insnhelper.c
        +++ b/vm_insnhelper.c
        @@ -6338,6 +6338,10 @@ vm_track_constant_cache(ID id, void *ic)
                rb_id_table_insert(const_cache, id, (VALUE)ics);
            }

        +    if (id == rb_intern("MyConstant")) rb_gc();
        +
            st_insert(ics, (st_data_t) ic, (st_data_t) Qtrue);
        }

    And if we run this script:

        Object.const_set("MyConstant", "Hello!")

        my_proc = eval("-> { MyConstant }")
        my_proc.call

        my_proc = eval("-> { MyConstant }")
        my_proc.call

    We can see that ASAN outputs a use-after-free error:

        ==36540==ERROR: AddressSanitizer: heap-use-after-free on address 0x606000049528 at pc 0x000102f3ceac bp 0x00016d607a70 sp 0x00016d607a68
        READ of size 8 at 0x606000049528 thread T0
            #0 0x102f3cea8 in do_hash st.c:321
            #1 0x102f3ddd0 in rb_st_insert st.c:1132
            #2 0x103140700 in vm_track_constant_cache vm_insnhelper.c:6345
            #3 0x1030b91d8 in vm_ic_track_const_chain vm_insnhelper.c:6356
            #4 0x1030b8cf8 in rb_vm_opt_getconstant_path vm_insnhelper.c:6424
            #5 0x1030bc1e0 in vm_exec_core insns.def:263
            #6 0x1030b55fc in rb_vm_exec vm.c:2585
            #7 0x1030fe0ac in rb_iseq_eval_main vm.c:2851
            #8 0x102a82588 in rb_ec_exec_node eval.c:281
            #9 0x102a81fe0 in ruby_run_node eval.c:319
            #10 0x1027f3db4 in rb_main main.c:43
            #11 0x1027f3bd4 in main main.c:68
            #12 0x183900270  (<unknown module>)

        0x606000049528 is located 8 bytes inside of 56-byte region [0x606000049520,0x606000049558)
        freed by thread T0 here:
            #0 0x104174d40 in free+0x98 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x54d40)
            #1 0x102ada89c in rb_gc_impl_free default.c:8183
            #2 0x102ada7dc in ruby_sized_xfree gc.c:4507
            #3 0x102ac4d34 in ruby_xfree gc.c:4518
            #4 0x102f3cb34 in rb_st_free_table st.c:663
            #5 0x102bd52d8 in remove_from_constant_cache iseq.c:119
            #6 0x102bbe2cc in iseq_clear_ic_references iseq.c:153
            #7 0x102bbd2a0 in rb_iseq_free iseq.c:166
            #8 0x102b32ed0 in rb_imemo_free imemo.c:564
            #9 0x102ac4b44 in rb_gc_obj_free gc.c:1407
            #10 0x102af4290 in gc_sweep_plane default.c:3546
            #11 0x102af3bdc in gc_sweep_page default.c:3634
            #12 0x102aeb140 in gc_sweep_step default.c:3906
            #13 0x102aeadf0 in gc_sweep_rest default.c:3978
            #14 0x102ae4714 in gc_sweep default.c:4155
            #15 0x102af8474 in gc_start default.c:6484
            #16 0x102afbe30 in garbage_collect default.c:6363
            #17 0x102ad37f0 in rb_gc_impl_start default.c:6816
            #18 0x102ad3634 in rb_gc gc.c:3624
            #19 0x1031406ec in vm_track_constant_cache vm_insnhelper.c:6342
            #20 0x1030b91d8 in vm_ic_track_const_chain vm_insnhelper.c:6356
            #21 0x1030b8cf8 in rb_vm_opt_getconstant_path vm_insnhelper.c:6424
            #22 0x1030bc1e0 in vm_exec_core insns.def:263
            #23 0x1030b55fc in rb_vm_exec vm.c:2585
            #24 0x1030fe0ac in rb_iseq_eval_main vm.c:2851
            #25 0x102a82588 in rb_ec_exec_node eval.c:281
            #26 0x102a81fe0 in ruby_run_node eval.c:319
            #27 0x1027f3db4 in rb_main main.c:43
            #28 0x1027f3bd4 in main main.c:68
            #29 0x183900270  (<unknown module>)

        previously allocated by thread T0 here:
            #0 0x104174c04 in malloc+0x94 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x54c04)
            #1 0x102ada0ec in rb_gc_impl_malloc default.c:8198
            #2 0x102acee44 in ruby_xmalloc gc.c:4438
            #3 0x102f3c85c in rb_st_init_table_with_size st.c:571
            #4 0x102f3c900 in rb_st_init_table st.c:600
            #5 0x102f3c920 in rb_st_init_numtable st.c:608
            #6 0x103140698 in vm_track_constant_cache vm_insnhelper.c:6337
            #7 0x1030b91d8 in vm_ic_track_const_chain vm_insnhelper.c:6356
            #8 0x1030b8cf8 in rb_vm_opt_getconstant_path vm_insnhelper.c:6424
            #9 0x1030bc1e0 in vm_exec_core insns.def:263
            #10 0x1030b55fc in rb_vm_exec vm.c:2585
            #11 0x1030fe0ac in rb_iseq_eval_main vm.c:2851
            #12 0x102a82588 in rb_ec_exec_node eval.c:281
            #13 0x102a81fe0 in ruby_run_node eval.c:319
            #14 0x1027f3db4 in rb_main main.c:43
            #15 0x1027f3bd4 in main main.c:68
            #16 0x183900270  (<unknown module>)

    This commit fixes this bug by adding a inserting_constant_cache_id field
    to the VM, which stores the ID that is currently being inserted and, in
    remove_from_constant_cache, we don't free the ST table for ID equal to
    this one.

    Co-Authored-By: Alan Wu <alanwu@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12203

commit 73c4023c2df59c996f948bad4715349a167da254
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-29 03:48:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 00:29:33 +0900

    [rubygems/rubygems] Enable pending exec spec

    This is how Ruby works, and it's not going to change. So let's run the
    test since it makes no sense to keep it pending.

    https://github.com/rubygems/rubygems/commit/5f78d3c737

commit d2e5994161795272d2cb207044156e8f0c40a95f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-29 03:47:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 00:29:32 +0900

    [rubygems/rubygems] Improve heredoc indentation in exec specs

    https://github.com/rubygems/rubygems/commit/abb658757f

commit 8b7516438100ff379e92ebc2b524cb9c16f3392c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-29 06:32:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 00:29:32 +0900

    [rubygems/rubygems] Unify specs testing Bundler.setup failing behavior

    They had slightly different behavior in Bundler 2 and Bundler 3 because
    Bundler 3 will auto-clean after `bundle install`, so one of them system
    installed gems won't be present when `Bundler.setup` fails.

    We can unify the specs by moving installing system gems to _after_
    `bundle install`, so the behavior in both cases is the same. Also, only
    this spec actually needs these gems installed, so we can move that from
    the `before` block to the body of the spec.

    https://github.com/rubygems/rubygems/commit/b7251ec9c6

commit ee7ff4a12b9eefaeced9b6da52f7b21317ab595c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-27 03:46:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 00:27:40 +0900

    [rubygems/rubygems] Backwards compatibility for 2.5.17-2.5.23 caches

    https://github.com/rubygems/rubygems/commit/9dbfce76cf

commit 9a4d91fa9507d981a02595d1760628f74396feec
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-22 19:14:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 00:27:39 +0900

    [rubygems/rubygems] Restore previous application cache format for git sources

    And make sure `bundle install --local` can install from it without git.

    https://github.com/rubygems/rubygems/commit/7d6b631620

commit 2a8437a1eb54f8beedb9c1f2e2dd5001d04ca13b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-27 03:07:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 00:27:38 +0900

    [rubygems/rubygems] Check feature flag earlier

    https://github.com/rubygems/rubygems/commit/33536aa61c

commit 68c7e7534929aee9b3f56218560be4a7f465b1b1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-27 02:57:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 00:27:37 +0900

    [rubygems/rubygems] Remove unnecessary early return

    These are never equal.

    https://github.com/rubygems/rubygems/commit/69e369da74

commit 34f6334bca195a3aaf2e066da00afb14a510972e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-26 04:52:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-30 00:27:34 +0900

    [rubygems/rubygems] Improve naming in git sources

    The "revision" attribute is actually getting the revision from the
    Gemfile.lock file. So I think "locked" is a better term here to avoid
    confusion with the revision checked out in `vendor/cache`.

    https://github.com/rubygems/rubygems/commit/ca5bdebe1f

commit 8aeb67de7dd9c8cf505985be45cd0efcea88f895
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-29 23:33:47 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-30 00:03:07 +0900

    Remove a useless condition expression

    `len` is always at least 1 here.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12215

commit 705714be3e8aee2a295bea8789b997f5dd2450cc
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-11-29 18:16:47 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-11-29 23:19:05 +0900

    prefer ruby_memerror instead

    This could be out of GVL

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12188

commit 25ad7e8e6c272bf4d13bbd575bb184cd7542714d
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-11-28 10:08:16 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-11-29 23:19:05 +0900

    rb_gc_impl_malloc can return NULL

    Let there be rooms for each GC implementations how to handle multi
    threaded situations.  They can be totally reentrant, or can have
    their own mutex, or can rely on rb_thread_call_with_gvl.

    In any ways the allocator (has been, but now officially is)
    expected to run properly without a GVL.  This means there need be
    a way for them to inform the interpreter about their allocation
    failures, without relying on raising exceptions.

    Let them do so by returning NULL.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12188

commit ae85fc72717c5b6d13be101781d41a8738c01034
  Author:     Akinori MUSHA <knu@idaemons.org>
  AuthorDate: 2024-11-29 19:26:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-29 19:27:25 +0900

    [ruby/set] Bump VERSION to 1.1.1

    https://github.com/ruby/set/commit/1c3cded76a

commit 49d2e79fb0dd57caed269c67660ff4cc68b3d729
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-29 18:49:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-29 18:49:02 +0900

    Ensure to close pipes when `TCPSocket.new` finishes processing (#12181)

    `TCPSocket.new` with HEv2 uses three threads.
    The last of these threads to exit closed pipes.
    However, if pipes were open at the end of the main thread, they would leak.
    This change avoids this by closing pipes at the end of the main thread.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 22e1a8c478e92fafcb597d74a2d4f08c57f07c4c
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-29 14:18:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-29 14:18:09 +0900

    Allow disable to `fast_fallback` of `TCPSocket.new` (#12210)

    with `Socket.tcp_fast_fallback=`
    The functions that `Socket.tcp` had are now also available in `TCPSocket.new`.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit f9d0bc22f5ca019f3c517b42ea4a50867fe56700
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-29 11:41:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-29 12:38:20 +0900

    Remove a useless check if fd is negative

    If `slave` is negative, neither `dup2(slave,0)` or `close(slave)` should
    be executed. I believe this check is completely useless.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12207

commit a32981b6b89c23c7b650c6b1d1309e86856735ff
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-29 11:51:29 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-29 12:27:04 +0900

    Remove a useless check

    Here `nb` should never be NULL. If it were, the following
    `nb->buffer_list` would be strange.

    A follow-up to ddd8da4b6ba3dfcca21ca710e7cef2fa3b9632d7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12208

commit 43dd9c721f9bec8aeeaf6c6ca98313cb0e97b510
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-29 11:12:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-29 11:48:10 +0900

    [ruby/date] Fix mixed declarations and code

    This still support ruby 2.6 which does not require C99.

    https://github.com/ruby/date/commit/61d849758f

commit b910de641bed7cbcac2760261d747c17db0ebbab
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-29 11:08:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-29 11:48:09 +0900

    [ruby/date] Suppress compound-token-split-by-macro warnings

    It was used intentionally.

    https://github.com/ruby/date/commit/291b40f939

commit ad773b5e9955375b81ad14f9bb9dd4dc069e4a5e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-29 09:44:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-29 10:39:01 +0900

    [ruby/time] [DOC] Make RDoc coverage 100%

    https://github.com/ruby/time/commit/c668704413

commit 84b14c03851d919a99766386c619fe703134c36c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-29 08:46:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-29 09:49:07 +0900

    Dont't need to run nmake test

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12205

commit c392bec8cc03fe012f63e43145bcaaf83cf30fa1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-29 08:35:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-29 09:49:07 +0900

    Use only -j option for test option

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12205

commit 60fa8ec70150c1f91a1990ca60b3454e4d6aaf9a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-29 08:15:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-29 09:49:07 +0900

    nmake check is working now with Windows platform

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12205

commit a1500eefdb75744e0d8e06ebe095bc7b3070105b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-29 09:12:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-29 09:13:51 +0900

    Remove document file needless for ruby core

    This reverts commit 743a31d639d4c96827b1b17f59c829c1ec31abc3,
    "[ruby/date] [DOC] Make document coverage 100%".  This file is only
    for rdoc coverage in the date gem, and useless when the built-in Time
    is documented.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12206

commit a5119a3f27c368f649198f7a3b7dce726d9bd2a0
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-11-28 17:59:04 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-11-29 05:04:12 +0900

    YJIT: Add missing prepare before calling str_dup

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12202

commit 50a34637a4bdd64a709937f09c839195a2b1d967
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-29 02:16:39 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-29 03:01:46 +0900

    Avoid illegal pointer

    When loading a crafted marshal data of Random, a pointer to an illegal
    address was created. I don't think there is any harm since the data is
    normalized before access, but just to be safe, I add a check to make it
    an error.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12200

commit bd88cffd8cced676353716a7e5b1b753f65c256c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-12 03:09:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-29 00:52:16 +0900

    [rubygems/rubygems] Test with Ruby 3.4

    https://github.com/rubygems/rubygems/commit/23d06195fa

commit afea58a0ef07b05846dbb24ca8afbf2a4ef2e44d
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-11-29 00:22:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-29 00:22:40 +0900

    [ruby/reline] Bump version to 0.5.12
    (https://github.com/ruby/reline/pull/786)

    https://github.com/ruby/reline/commit/d4f6741e7e

commit 47f8a552f6e3baa98d6fe785436cc2e17297af32
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-28 22:39:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-28 22:39:35 +0900

    Ensure to free fast_fallback_getaddrinfo_shared with single family (#12199)

    With https://github.com/ruby/ruby/pull/12156,
    the memory of the `struct fast_fallback_getaddrinfo_shared`
    is now allocated even if there is only one address family.
    This change will always free it when `TCPSocket.new` finishes.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 3af1a0474196a52e555c5bb22d3ff6077d591449
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-28 13:14:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-28 21:38:16 +0900

    [ruby/prism] Fix a copy-paste error

    This is not important because of the path of `assert(false)`, but just
    in case.

    Coverity Scan found this issue.

    https://github.com/ruby/prism/commit/7335c62f9d

commit 36ed9c2fc9674c79f38dce9cabbea77b5ef3e40c
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-11-28 21:18:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-28 21:18:11 +0900

    [ruby/rdoc] Improve how gemspec's files are defined
    (https://github.com/ruby/rdoc/pull/1212)

    Currently, the gemspec's files are defined by hand, which is error-prone.

    For example: https://github.com/ruby/rdoc/pull/1211

    This commit uses `Dir.glob` where possible to reduce the risk of that
    happening again.

    - Additional files added with this approach:

        ```
        # This should have been added by only captured by this commit
        lib/rdoc/parser/prism_ruby.rb

        # These are folders and can be included/ignored either way
        lib/rdoc/generator/template/darkfish
        lib/rdoc/generator/template/darkfish/css
        lib/rdoc/generator/template/darkfish/fonts
        lib/rdoc/generator/template/darkfish/images
        lib/rdoc/generator/template/darkfish/js
        lib/rdoc/generator/template/json_index
        lib/rdoc/generator/template/json_index/js
        ```

    - Files that are ignored after this change:

        ```
        # They make no difference on documentation generation
        # Probably can be removed
        lib/rdoc/generator/template/darkfish/.document
        lib/rdoc/generator/template/json_index/.document
        ```

    https://github.com/ruby/rdoc/commit/ac2a151f10

commit de89bff122c65cabd92ad5e6f59ca9b8cbc121a4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-28 19:02:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-28 19:02:56 +0900

    `INIT_ANCHOR` no longer needed usually

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12198

commit b8f248ee5a38b1123a8dac6e8895640e64504ea7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-28 18:53:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-28 18:53:10 +0900

    Initialize `LINK_ANCHOR` totally

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12198

commit 31a3e877771dabbcd40f481023eaaf541c58af6d
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-28 17:39:12 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-28 18:19:02 +0900

    [DOC] typo fix in NEWS.md

    follow up: https://github.com/ruby/ruby/pull/12196/files#r1861730753

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12197

commit da2c083fca8c0477fd5fd99dc1725d1c4dc5fa3c
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-28 16:55:14 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-28 17:36:31 +0900

    add a NEWS entry about extra rescue/ensure frames

    from backtraces.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12196

commit 2f870b651aae5bb42a76b5d067a9f27f5864516b
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-28 16:50:14 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-28 17:36:31 +0900

    add NEWS entries about Ractor related changes.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12196

commit 319ac31529eb7bf7e5a4ef582c6f930bd8fca62e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-28 15:13:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-28 15:13:52 +0900

    Assert that non-empty LINK_ANCHOR does not loop

    After any `LINK_ELEMENT` sequence is added, `LINK_ANCHOR` must not
    loop.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12195

commit 84bf0b37741fadd88c8ce8591e77476880dd209a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-28 14:27:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-28 14:56:46 +0900

    Always declared gems that are test failures on Windows to allowed failures list

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12193

commit 03d9dfa60ce63c2f66ed56f1a6901165d2d3492e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-28 14:26:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-28 14:56:46 +0900

    Exclude successful gems from TEST_BUNDLED_GEMS_ALLOW_FAILURES

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12193

commit 54c8265dab74a8cab0101853b23882bb4c28cb0b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-28 13:42:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-28 14:56:46 +0900

    Skip test-all on nmake test-bundled-gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12193

commit 227791acb1485517a6add042c325d1f16f1b044d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-28 13:25:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-28 14:56:46 +0900

    Try to run nmake test-bundled-gems in Windows platform

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12193

commit 38f76cb57a3829653c0dbfc9b6c51d3501b92ca1
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-28 13:57:56 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-28 14:49:37 +0900

    Avoid an operation on a pointer after free

    A follow-up to ef59175a68c448fe334125824b477a9e1d5629bc. That commit
    uses `&body->local_table[...]` but `body->local_table` is already freed.
    I think it is an undefined behavior to calculate a pointer that exceeds
    the bound by more than 1.

    This change moves the free of `body->local_table` after the calculation.

    Coverity Scan found this issue.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12194

commit c0e607cef1fb6e1795b0969c1533b63dc349d484
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-28 12:57:28 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-28 13:26:26 +0900

    Fix a possible leak of a file descriptor

    The same issue as https://github.com/ruby/prism/pull/3246

    Coverity Scan found this issue.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12192

commit e0b68b2dc93da31f93232fe0b545ba66c3ae9ea4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-28 11:03:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-28 12:24:17 +0900

    Bump up test-unit 3.6.4

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12187

commit f90f4735c97b4a9f5638f200ee3e0438c0bffb04
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-27 11:28:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-28 12:24:17 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12187

commit 1a8f1379bc644acaa752d5cafae5eb054b29bfef
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-28 12:23:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-28 12:23:56 +0900

    Skip failure tests with Windows platform

commit 29e90a598a0c055c7d1a2d5e9fe279a6d30fae6a
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-28 10:51:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-28 11:15:25 +0900

    [ruby/prism] Fix a possible leak of a file descriptor

    When mmap fails for any reason, the fd must be closed.

    Coverity Scan found this issue.

    https://github.com/ruby/prism/commit/c06e9c400f

commit 7dd2afbe3a14d021e5554288517709f5778c3d58
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-28 03:57:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-28 04:36:50 +0900

    Fix global-buffer-overflow when outputting C backtrace

    fill_lines is passed -1 for offset, which causes it to read the -1 index
    of traces. This is not valid memory as -1 is reading before the trace
    global variable in rb_print_backtrace. This code comes from commit
    99d1f5f88b9b6de3124e31019902f91e030d334f, where there used to be special
    handling for the -1 index.

    We can see this error in ASAN:

        ==71037==ERROR: AddressSanitizer: global-buffer-overflow on address 0x00010157abf8 at pc 0x00010116f3b8 bp 0x00016f92c3b0 sp 0x00016f92c3a8
        READ of size 8 at 0x00010157abf8 thread T0
            #0 0x10116f3b4 in debug_info_read addr2line.c:1945
            #1 0x10116cc90 in fill_lines addr2line.c:2497
            #2 0x101169dbc in rb_dump_backtrace_with_lines addr2line.c:2635
            #3 0x100e56788 in rb_print_backtrace vm_dump.c:825
            #4 0x100e56db4 in rb_vm_bugreport vm_dump.c:1155
            #5 0x100734dc4 in rb_bug_without_die error.c:1085
            #6 0x100734ae4 in rb_bug error.c:109

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12185

commit 34a43d59721bfc492d133875e43664039bf8900e
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-28 03:51:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-28 03:51:04 +0900

    [ruby/reline] Fix io_gate.encoding raises IOError in ruby <= 3.0
    (https://github.com/ruby/reline/pull/785)

    https://github.com/ruby/reline/commit/85e20f0031

commit 33c6bbca222eacfd0635105666edf892091b8180
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-28 03:36:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-28 03:36:57 +0900

    [ruby/reline] fix/omit test that fail in encoding=US_ASCII
    (https://github.com/ruby/reline/pull/784)

    https://github.com/ruby/reline/commit/a6d1ac54e6

commit 0af2eafc590d863568e8203312f415142608d48c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-28 00:24:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-28 02:12:23 +0900

    Fix C level backtrace info on macOS clang 16

    macOS clang 16 generates DWARF5, which have Mach-O section names that
    are limited to 16 characters, which causes sections with long names to
    be truncated and not match above.

    See: https://wiki.dwarfstd.org/Best_Practices.md#Mach-2d-O

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12182

commit 3354324c6e2cfe8d313c06ee4832a5285682110e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-27 12:17:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-11-28 02:04:07 +0900

    Move `Kernel#with_yjit` to `Module#with_yjit`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12178

commit 14ce2443db2c97f870b6da74b613e05cab42042c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-28 00:44:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-28 01:32:58 +0900

    Make rb_bug_without_die static

    It's not used outside of error.c.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12183

commit 209f8ba7c4ce0130fbdd3872b629a66f9c889910
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-27 11:18:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-27 23:35:20 +0900

    [ruby/json] Prevent a warning of "a candidate for gnu_printf format attribute"

    GCC 13 prints the following warning.

    https://rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20241127T001003Z.log.html.gz
    ```
    compiling generator.c
    generator.c: In function ‘raise_generator_error’:
    generator.c:91:5: warning: function ‘raise_generator_error’ might be a candidate for ‘gnu_printf’ format attribute [-Wsuggest-attribute=format]
       91 |     VALUE str = rb_vsprintf(fmt, args);
          |     ^~~~~
    ```

    This change prevents the warning by specifying the format attribute.

    https://github.com/ruby/json/commit/b8c1490846

commit 26d020cb6ea98adb38b370cf49b8101292d6f193
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-27 18:32:57 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-27 22:50:07 +0900

    Optimize `rb_must_asciicompat`

    While profiling `strscan`, I noticed `rb_must_asciicompat` was quite
    slow, as more than 5% of the benchmark was spent in it: https://share.firefox.dev/49bOcTn

    By checking for the common 3 ASCII compatible encoding index first,
    we can skip a lot of expensive operations in the happy path.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12180

commit 43b059b6a3b5c49b7d883c49dd1200580c1f92be
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-11-27 21:03:26 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-11-27 21:03:26 +0900

    [DOC] Fix a link and sort links in NEWS.md

commit 87fc9f4a7045a5178fc5cd9597ffc10c91fcc012
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-26 19:34:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-27 17:31:56 +0900

    [DOC] Add more links to maintainers

commit ac7b63e3534d123198e868ece160675f29da5a57
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-27 16:17:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-27 16:45:10 +0900

    Fixed test condition for specified bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12179

commit 26aebdb6d6ada732bf0aadd9062e65291c7cc413
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-27 14:22:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-27 16:45:10 +0900

    Added --env option to mspec for test-bundled-gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12179

commit 671e6eb6447575e6acfd0b52e6ac9034c6611c0c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-27 13:33:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-27 16:45:10 +0900

    Run only specified bundled gems with BUNDLED_GEMS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12179

commit 9349e98be23f1e6812f9b52c35cddb9d6bfe4762
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-27 12:40:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-27 16:45:10 +0900

    Allow to run 'make test-bundled-gems BUNDLED_GEMS=csv,rexml' for only testing csv and rexml

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12179

commit 24889e44f779ee86cb38569fc735f33f05992c0b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-27 11:52:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-27 16:45:10 +0900

    Rename environment name to more descriptive

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12179

commit c41af37ee64e4fec5f09916485123e8f9ec002cb
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-11-27 08:35:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-27 12:19:39 +0900

    [ruby/io-console] Read errno before calling rb_io_path()

    Possible fix for recent crashes seen on CI.

         [BUG] rb_sys_fail_str(<STDIN>) - errno == 0

    rb_io_path() calls rb_obj_dup(), which could call initialize_dup in Ruby
    and clobber errno before rb_sys_fail_str() gets to read errno. So
    save it out first.

    (Using separate statements because order of evaluation in function call
    list is unspecified, and order is important here.)

    https://github.com/ruby/io-console/commit/0ba400b5e7

commit 3face42d8a0becf6142d2bcc834186b9665c0380
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-27 11:43:02 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-27 11:43:02 +0900

    Revert "Add a temporal debugging code"

    This reverts commit 5bd144c1bb20e22e4d9f5e5e0264820fd3ef8137.

commit 42b1eaf2346748dd5ba7135aa30552e1ed0092ae
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-26 20:48:04 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-27 10:47:40 +0900

    Mark `fiber_entry` no-return

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12176

commit d5de1a57893b16aff7bc3336b34fa2e9acefb3d2
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-26 17:22:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-27 09:24:07 +0900

    [ruby/strscan] Implement #scan_integer to efficiently parse Integer
    (https://github.com/ruby/strscan/pull/115)

    Fix: https://github.com/ruby/strscan/issues/113

    This allows to directly parse an Integer from a String without needing
    to first allocate a sub string.

    Notes:

    The implementation is limited by design, it's meant as a first step,
    only the most straightforward, based 10 integers are supported.

    https://github.com/ruby/strscan/commit/6a3c74b4c8

commit a041a6c1b5c3fd05f5aeeb15d83cfe7a68570852
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-11-04 06:21:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-27 09:24:06 +0900

    [ruby/strscan] Add scan and search benchmark
    (https://github.com/ruby/strscan/pull/111)

    # Why?
    To improve the parsing process, I would like to add benchmarks for all
    parsing processes.

    ## scan
    - scan_full(regexp, false, true) == StringScanner#check
    - scan_full(regexp, false, false) ==  StringScanner#match?

    ### CRuby

    ```
    $ benchmark-driver benchmark/scan.yaml
    Warming up --------------------------------------
              check(reg)    10.558M i/s -     10.848M times in 1.027445s (94.71ns/i)
              check(str)    13.368M i/s -     13.782M times in 1.030978s (74.80ns/i)
             match?(reg)    16.080M i/s -     16.247M times in 1.010340s (62.19ns/i)
             match?(str)    23.336M i/s -     23.501M times in 1.007088s (42.85ns/i)
    Calculating -------------------------------------
              check(reg)    11.601M i/s -     31.675M times in 2.730287s (86.20ns/i)
              check(str)    15.217M i/s -     40.104M times in 2.635475s (65.72ns/i)
             match?(reg)    18.781M i/s -     48.241M times in 2.568662s (53.25ns/i)
             match?(str)    29.441M i/s -     70.007M times in 2.377840s (33.97ns/i)

    Comparison:
             match?(str):  29441324.5 i/s
             match?(reg):  18780543.7 i/s - 1.57x  slower
              check(str):  15217130.1 i/s - 1.93x  slower
              check(reg):  11601371.2 i/s - 2.54x  slower
    ```
    ### JRuby

    ```
    $ benchmark-driver benchmark/scan.yaml
    Warming up --------------------------------------
              check(reg)     8.129M i/s -      8.090M times in 0.995222s (123.02ns/i)
              check(str)    16.691M i/s -     16.616M times in 0.995519s (59.91ns/i)
             match?(reg)     8.979M i/s -      9.001M times in 1.002440s (111.37ns/i)
             match?(str)    26.138M i/s -     26.011M times in 0.995150s (38.26ns/i)
    Calculating -------------------------------------
              check(reg)    11.808M i/s -     24.387M times in 2.065238s (84.69ns/i)
              check(str)    31.762M i/s -     50.072M times in 1.576495s (31.48ns/i)
             match?(reg)    13.944M i/s -     26.936M times in 1.931719s (71.71ns/i)
             match?(str)    50.872M i/s -     78.414M times in 1.541392s (19.66ns/i)

    Comparison:
             match?(str):  50872250.2 i/s
              check(str):  31761544.3 i/s - 1.60x  slower
             match?(reg):  13944219.6 i/s - 3.65x  slower
              check(reg):  11808244.1 i/s - 4.31x  slower
    ```

    ## search
    - search_full(regexp, false, true) == StringScanner#check_until
    - search_full(regexp, false, false) == StringScanner#exist?
    ```
    $ benchmark-driver benchmark/search.yaml
    Warming up --------------------------------------
        check_until(reg)     9.338M i/s -      9.456M times in 1.012573s (107.09ns/i)
        check_until(str)    11.385M i/s -     11.979M times in 1.052173s (87.83ns/i)
             exist?(reg)    13.416M i/s -     13.517M times in 1.007532s (74.54ns/i)
             exist?(str)    17.976M i/s -     18.677M times in 1.038981s (55.63ns/i)
    Calculating -------------------------------------
        check_until(reg)    10.297M i/s -     28.015M times in 2.720634s (97.11ns/i)
        check_until(str)    12.684M i/s -     34.156M times in 2.692853s (78.84ns/i)
             exist?(reg)    15.184M i/s -     40.249M times in 2.650786s (65.86ns/i)
             exist?(str)    21.426M i/s -     53.928M times in 2.517008s (46.67ns/i)

    Comparison:
             exist?(str):  21425527.1 i/s
             exist?(reg):  15183679.9 i/s - 1.41x  slower
        check_until(str):  12684053.7 i/s - 1.69x  slower
        check_until(reg):  10297134.8 i/s - 2.08x  slower
    ```

    ### JRuby
    ```
    $ benchmark-driver benchmark/search.yaml
    Warming up --------------------------------------
        check_until(reg)     7.646M i/s -      7.649M times in 1.000381s (130.78ns/i)
        check_until(str)    13.075M i/s -     13.010M times in 0.995048s (76.48ns/i)
             exist?(reg)     8.728M i/s -      8.684M times in 0.994921s (114.57ns/i)
             exist?(str)    20.609M i/s -     20.514M times in 0.995399s (48.52ns/i)
    Calculating -------------------------------------
        check_until(reg)     9.371M i/s -     22.939M times in 2.447900s (106.71ns/i)
        check_until(str)    22.760M i/s -     39.225M times in 1.723414s (43.94ns/i)
             exist?(reg)    11.758M i/s -     26.185M times in 2.226997s (85.05ns/i)
             exist?(str)    34.564M i/s -     61.827M times in 1.788749s (28.93ns/i)

    Comparison:
             exist?(str):  34564306.2 i/s
        check_until(str):  22759878.4 i/s - 1.52x  slower
             exist?(reg):  11757927.4 i/s - 2.94x  slower
        check_until(reg):   9371009.3 i/s - 3.69x  slower
    ```

    https://github.com/ruby/strscan/commit/81a80a176b

commit 092a48de7ef905e393abe3369a37e558333a5039
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-11-01 08:56:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-27 07:04:26 +0900

    [rubygems/rubygems] [SpecFetcher] If candidates include {name}-ruby or ruby-{name}, recommend those.

    https://github.com/rubygems/rubygems/commit/d7d33172c1

commit 8f9b9aecd04c4fa2bc9d15de4dfb3c6105e97b49
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-11-27 06:49:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-27 06:49:24 +0900

    YJIT: Implement opt_reverse insn (#12175)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 33f15ce80d35d6052f8350ac3097ce3a9e84d58f
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-26 23:51:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-27 06:40:15 +0900

    Sync the main branch of `ruby/mmtk`

    The sync script defaults to `master` when analysing which commits to
    pick, but the default for new repos now is `main`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12174

commit 1dd40ec18a55ff46f52d0ba44ff5d7923f57c08f
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-11-27 04:31:08 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-27 04:31:08 +0900

    Optimize instructions when creating an array just to call `include?` (#12123)

    * Add opt_duparray_send insn to skip the allocation on `#include?`

    If the method isn't going to modify the array we don't need to copy it.
    This avoids the allocation / array copy for things like `[:a, :b].include?(x)`.

    This adds a BOP for include? and tracks redefinition for it on Array.

    Co-authored-by: Andrew Novoselac <andrew.novoselac@shopify.com>

    * YJIT: Implement opt_duparray_send include_p

    Co-authored-by: Andrew Novoselac <andrew.novoselac@shopify.com>

    * Update opt_newarray_send to support simple forms of include?(arg)

    Similar to opt_duparray_send but for non-static arrays.

    * YJIT: Implement opt_newarray_send include_p

    ---------

    Co-authored-by: Andrew Novoselac <andrew.novoselac@shopify.com>

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit c1dcd1d4965100292e8f649042c74e10d58e6c0f
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-27 02:58:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-27 02:58:43 +0900

    [ruby/reline] KeyStroke handles multibyte character
    (https://github.com/ruby/reline/pull/713)

    https://github.com/ruby/reline/commit/5a8da85f2b

commit def684508cb35320b78e5761a82402deee146576
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-27 02:50:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-27 02:50:30 +0900

    [ruby/irb] Fix indentation of xstring literal
    (https://github.com/ruby/irb/pull/1038)

    Fixes indent calculation of this input
    ```
    if false
    p `ls`
    end
    ```

    https://github.com/ruby/irb/commit/4217a46f5d

commit c192d688d1e373855ccaba7a20a1fb103666c8ce
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-26 18:57:22 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-26 20:59:33 +0900

    Add Modular GC and MMTk to NEWS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12173

commit 796d315958f9d23ca3b3524f76c4f267c65edfe0
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-26 18:17:40 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-26 19:46:16 +0900

    Add NEWS.md entry about `Hash.new(capacity:)`

    [Feature #19236]

    Ref: https://github.com/ruby/ruby/pull/10357

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12171

commit ffbfec394a99d519b89630dd20cf0415975d0fc8
  Author:     Raed Rizqie <raed.rizqie@gmail.com>
  AuthorDate: 2024-11-26 00:58:07 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-26 19:36:04 +0900

    [MinGW] - Fix NET_LUID check

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12165

commit ad28f3a779867495e57bc5cde8b580b2a8716c04
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-26 18:33:54 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-26 19:25:25 +0900

    Remove `Kernel.with_yjit` class method

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12172

commit 9508cf86de895f3d79719f0ee2cd1a0e0f5d03ad
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-26 01:39:20 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-26 19:06:21 +0900

    Clear shared_gc directory

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12166

commit d0575032527916b523035be87ad876152c886c85
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-26 01:23:42 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-26 19:06:21 +0900

    Use extmk.rb to configure shared GC

    Since mkmf.rb is for extension libraries after installation, it cannot
    work alone in build directory and needs to run from extmk.rb.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12166

commit 9a5f6a45c65493b5d020fde927aaf19313be882e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-26 01:22:38 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-26 19:06:21 +0900

    Fix up gc/extconf_base.rb

    - Add flags to appropriate variables.

    - Use `append_cflags` to append a flag safely, instead of appending
      blindly.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12166

commit c5d31cb96be7407f102a2efebddcf4ab19cba168
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-26 01:04:07 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-26 19:06:21 +0900

    Shell dependent command should be in Makefile.in

    As common.mk is used by nmake.exe, the commands there need to be
    accepted also by cmd.exe.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12166

commit 16d98dc3c14675295ecb0945d0464c02a66453a7
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-26 19:02:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-26 19:02:58 +0900

    [ruby/uri] Suppress deprecate warning of test class (retry)
    (https://github.com/ruby/uri/pull/140)

    A follow-up to https://github.com/ruby/uri/commit/bd2e4be9d0fa

    Also, leave a comment that the use of `URI::REGEXP` is intentional

    https://github.com/ruby/uri/commit/bdf765e44a

commit 5471f284d2e91341e4e241155ef892b4fa17e2a3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-26 14:40:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    Skip failing rbs tests with latest HEAD of ruby/json

    ```
    NoMethodError: undefined method 'flush' for an instance of JsonWrite
    ```

commit 2b91a56d40f384de8dcdfb334e996f2ff058f6e7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-15 06:03:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Remove no longer necessary code

    https://github.com/rubygems/rubygems/commit/9ea1539b08

commit 10de74b75b8e74b2758f806d18522b096dc60c16
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-21 19:50:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Avoid needing a second pass to ignore unlocked gems

    When converging locked specifications to select the ones that should be
    preserved while resolving, we can avoid having to do a second pass to
    ignore the ones that have been explicitly unlocked.

    https://github.com/rubygems/rubygems/commit/411742703e

commit 44ad2e3f388180a2018abf4415a73522aca52bdd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-18 22:18:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Allow some materialized specs to be missing

    As long as some spec in the materialization is complete.

    https://github.com/rubygems/rubygems/commit/9a673b0bbb

commit 36fb7994fec6f5699ade85c5e8a55ed7f7d8148d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-18 20:42:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Deprecate `check` parameter to `Bundler::SpecSet#for`

    https://github.com/rubygems/rubygems/commit/3041b3d784

commit c76b1ea2a6ed4901afac4f7a23b532a867354408
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-16 08:20:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Keep track of materializations in the original resolve

    This gives more flexibility to allow further improvements.

    https://github.com/rubygems/rubygems/commit/f11a890f5e

commit e15921c69454e700cbff08108c0dad26366112df
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-14 01:57:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Create LazySpecifications directly with most_specific_locked_platform

    So there's no need to pass it around in so many places.

    https://github.com/rubygems/rubygems/commit/784ab7481b

commit 963f98a94f978552c9ceb413dab085d2cdfc1236
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-19 04:53:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Enable `Performance/MapCompact` cop

    https://github.com/rubygems/rubygems/commit/0c3a65871a

commit 4addaaf4df9a7b48c3490b806c195fcb7be999b5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-19 04:51:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] More aggressive `Performance/FlatMap` cop configuration

    https://github.com/rubygems/rubygems/commit/d8d68cc00e

commit 11e522b913af36acfe10e8ba9cfc0a14b0335aa0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-21 19:59:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Fix installs of subdependencies of unlocked dependencies to be conservative

    When converging specification to pass the set of versions that should be
    preserved from the lockfile during resolution, we should make sure all
    top level gems are considered, and only exclude those gems themselves
    (and not their dependencies) if their locked versions happen to not be
    satisfied by an edited Gemfile.

    https://github.com/rubygems/rubygems/commit/ed2f1b7b88

commit dd400ba6302ffba1a70a123ff4b472df05005499
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-20 00:25:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Filter out gems to unlock inside `converge_specs`

    https://github.com/rubygems/rubygems/commit/d0f789970f

commit 91995d0ad13c56dffd57c18fcc0b4bafdc95c24d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-18 22:17:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Remove unnecessary `verbose` parameter

    For consistency with other specs.

    https://github.com/rubygems/rubygems/commit/a5b2449896

commit d63eeafe690712bde051983f766de1008133f054
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-18 22:03:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Remove unnecessary `let` and nesting

    https://github.com/rubygems/rubygems/commit/c519830d4d

commit 6386d49f9e2443db8ecb59b9be7ce5b2be9f1cd3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-18 21:41:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Fix development dependencies considered unnecessarily sometimes

    When used with `LazySpecification` objects, `SpecSet#for` was
    incorrectly considering development dependencies. This did not cause any
    issues because all usages of this method with `LazySpecification`'s are
    not strict, meaning the pass `check = false` and ignore incomplete
    specifications. But it was still doing more work than necessary because
    development dependencies were still added to the `deps` array for
    processing and then ignored because of not being found in the spec set.

    Same when converging path specifications and replacing their dependencies.

    https://github.com/rubygems/rubygems/commit/6afca8a95f

commit 7c9346033197128a40c76dffa1745757132ff623
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-14 18:01:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Simplify more

    https://github.com/rubygems/rubygems/commit/a2bb68a29b

commit d6a0e575c9654bf68cb39c40e510614a2647f1c2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-16 07:00:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Don't bother sorting if there's a single element

    https://github.com/rubygems/rubygems/commit/6dc64f9851

commit 83ce2351ffe76b82612d23202ce8188a29071377
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-14 17:52:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Remove no longer necessary code

    https://github.com/rubygems/rubygems/commit/e1caeecdf8

commit 631908d9a8dbdb74bd4bf2c39b451a17d85640b8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-14 17:40:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Use `platform` local variable

    https://github.com/rubygems/rubygems/commit/6a6041d073

commit 6916999fed6f3db258eb0180d89468df737db87b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-14 01:57:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] This is about locked_platforms

    https://github.com/rubygems/rubygems/commit/df2c9eb52f

commit 7b66aee0b7277ea0b316630520f45e5938c26841
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-14 01:56:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [rubygems/rubygems] Set instance variables in consistent order

    https://github.com/rubygems/rubygems/commit/c382b606bd

commit 693a79352157ee925308f029e6c3c0cad202aee4
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-25 19:15:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    JSON::GeneratorError expose invalid object

    Fix: https://github.com/ruby/json/issues/710

    Makes it easier to debug why a given tree of objects can't
    be dumped as JSON.

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

commit 6805e889354aa0eb6901c2a24c107fded436b4cc
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-23 17:51:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [ruby/json] Stop using `rb_gc_mark_locations`

    It's using `rb_gc_mark_maybe` under the hood, which isn't what
    we need.

    https://github.com/ruby/json/commit/e10d0bffcd

commit ee0de3fd4e02f95f42fd3fe9cb18bcfe3e7e2bf1
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-06 03:57:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-26 15:11:05 +0900

    [ruby/json] JSON.dump: write directly into the provided IO

    Ref: https://github.com/ruby/json/issues/524

    Rather than to buffer everything in memory.

    Unfortunately Ruby doesn't provide an API to write into
    and IO without first allocating a string, which is a bit
    wasteful.

    https://github.com/ruby/json/commit/f017af6c0a

commit 519701657fad62799045f6230f79de1941cc3c76
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-11-26 14:00:59 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-11-26 14:00:59 +0900

    Update NEWS.md for Bug #20620

commit aa5b1d8df9407576153db5c240c2e68df5195be0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-26 13:09:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-26 13:09:24 +0900

    [Feature #20293] Add `Warning.categories` to NEWS

commit 8655b9f7c644b023036c8745e3b26ed541af2325
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-26 10:47:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-26 12:32:01 +0900

    [ruby/uri] Suppress deprecate warning of test class and use EnvUtil.suppress_warning.

    https://github.com/ruby/uri/commit/bd2e4be9d0

commit 1d9dc4c5044c056d9c3ec61aafde9905dba49a67
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-26 10:32:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-26 12:32:01 +0900

    [ruby/uri] Revert "Prevent a warning: URI::REGEXP is obsolete
    (https://github.com/ruby/uri/pull/138)"

    This reverts commit https://github.com/ruby/uri/commit/c00726a20a00.

    https://github.com/ruby/uri/commit/22f5a7a790

commit 22c1ba9409a52f4e5524b9cec8b61b73e2d1b5b5
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-26 12:12:59 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-26 12:12:59 +0900

    NEWS.md: Fix a typo

commit 92cf8a570552c05e62f3b11e4a1655337a5c1667
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-26 12:10:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-26 12:10:03 +0900

    Add NEWS entries temporarily

    https://bugs.ruby-lang.org/issues/20108
    https://bugs.ruby-lang.org/issues/20564
    https://bugs.ruby-lang.org/issues/20705
    https://bugs.ruby-lang.org/issues/20782
    https://bugs.ruby-lang.org/issues/20811

commit c60cac50f4c927c013200a72b16de492d796f368
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-26 12:08:55 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-26 12:08:55 +0900

    NEWS.md: sort the entries alphabetically

commit 6b4f8945d600168bf530d21395da8293fbd5e8ba
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-26 11:05:16 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-26 11:46:34 +0900

    Many of Oniguruma functions need valid encoding strings

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12169

commit 02b70256b5171d4b85ea7eeab836d3d7cfb3dbfc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-26 10:55:49 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-26 11:46:34 +0900

    Check negative integer underflow

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12169

commit c08e1f336c95ad4e13e20d29980f11f67334affe
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-26 11:28:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-26 11:44:00 +0900

    [ruby/resolv] Omit Windows and MinGW platforms with with_udp_and_tcp

    https://github.com/ruby/resolv/actions/runs/12021339854/job/33511655994?pr=64

    ```
      => 705:     with_udp_and_tcp('127.0.0.1', 0) do |u1, t1|
         706:       with_udp_and_tcp('127.0.0.1', 0) do |u2,t2|
         707:         u2.close # XXX: u2 UDP socket is not used, but using #with_udp_and_tcp to enable Windows EACCES workaround
         708:         _, server1_port, _, server1_address = u1.addr
    Error: Errno::EACCES: Permission denied - bind(2) for "127.0.0.1" port 55685
    ```

    https://github.com/ruby/ruby/actions/runs/12005069051/job/33461068529?pr=12161

    ```
        1) Error:
      TestResolvDNS#test_multiple_servers_with_timeout_and_truncated_tcp_fallback:
      Errno::EACCES: Permission denied - bind(2) for "127.0.0.1" port 50676
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TCPServer#initialize'
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TCPServer.new'
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TestResolvDNS#with_udp_and_tcp'
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:705:in 'TestResolvDNS#test_multiple_servers_with_timeout_and_truncated_tcp_fallback'
    ```

    https://github.com/ruby/resolv/commit/05765df178

commit 4e59ae6e27c3eb16f1f743faf2a2ec92cceb0a75
  Author:     Shugo Maeda <shugo@ruby-lang.org>
  AuthorDate: 2024-11-26 11:13:59 +0900
  Commit:     Shugo Maeda <shugo@ruby-lang.org>
  CommitDate: 2024-11-26 11:13:59 +0900

    Add news about MatchData#bytebegin and MatchData#byteend

commit 56fbf64a533d87c9029c60f2924372f0ba53bd4a
  Author:     Maximillian Polhill <xodene@github.com>
  AuthorDate: 2024-11-26 04:29:55 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-11-26 10:29:58 +0900

    Fix vm_objtostring optimization for Symbol

    Co-authored-by: John Hawthorn <john@hawthorn.email>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12168

commit 36f67f6bbbacb242e2c9e8fbd6d07ac706287ba2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-26 09:22:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-26 09:28:06 +0900

    [ruby/resolv] _1 is not provided in Ruby 2.5

    https://github.com/ruby/resolv/commit/83f18e2a49

commit 7be0d505146deb4a8a641da3b1c0e4d2aa174784
  Author:     Mike Linksvayer <mlinksva@github.com>
  AuthorDate: 2024-11-26 05:25:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-26 07:31:44 +0900

    [ruby/logger] include license texts in gem

    https://github.com/ruby/logger/commit/1a64cb552f

commit 544d684412b15c7b8baa9d5920f25b5b1f6205bb
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-11-24 21:59:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-26 05:38:20 +0900

    Use footnote links instead

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12157

commit 96766517b0e315b3328311f7042e52e62bb157a0
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-11-23 23:57:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-26 05:38:20 +0900

    Update maintainer GH handles and add links when possible

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12157

commit c3144e4f6dc89b3eeb841224bd3388364d0b504f
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-11-23 23:44:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-26 05:38:20 +0900

    Escape Module in the header

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12157

commit 7c200a46ade23c8ef91441a1437d0bbc579a441e
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-11-23 23:42:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-26 05:38:20 +0900

    Add new lines after headers

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12157

commit 9362753d07d17e6ce04df1af0fffb076c2443fb3
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-11-23 23:38:41 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-26 05:38:20 +0900

    Update RDoc's maintainers list

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12157

commit 081bdc512543a5f25251ed2b708e8761828dd704
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-11-26 04:32:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-26 04:32:19 +0900

    YJIT: fix small typo in command line options help (#12167)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 62b9da7088fa54e9817efc0db1c5d6ddab438baa
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-20 19:59:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-26 03:14:32 +0900

    [rubygems/rubygems] Fix `bundle lock --add-checksums`

    Due to a typo in the spec, the issue was not caught initially. If
    Bundler does not need to re-resolve, `bundle lock` is a noop so Bundler
    does not add checksums.

    To fix the issue, we do something similar to what `bundle install` does,
    just without actually installation. First set the domain (local or
    remote) according to whether a re-resolve is necessary, and then
    materialize lazy specifications into real specifications, so that
    checksums are actually fetched from each source.

    https://github.com/rubygems/rubygems/commit/84b6f4ee96

commit e7bb505130936590782385b7d62528f20709217b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-20 21:18:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-26 03:14:31 +0900

    [rubygems/rubygems] Make installer code more clear

    I always found the `resolve_if_necessary` method pretty confusing
    because by reading it, it suggests that resolution always happens, and
    the point is whether that needs to be local or remote. This commit tries
    to make that more clear.

    https://github.com/rubygems/rubygems/commit/93d6861ee8

commit c215e95572d0e4f2b682634fd7ed8c8418e07eb1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-20 21:03:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-26 03:14:31 +0900

    [rubygems/rubygems] Most of the times, eagerly resolving is not necessary

    All we need is to setup remote or local sources appropriately.

    https://github.com/rubygems/rubygems/commit/3ceff46a2a

commit 0f41cc442e1eace3c854f2e0d09e079f481a5dce
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-26 02:38:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-26 02:38:50 +0900

    [ruby/reline] Fix tab completion appending quote
    (https://github.com/ruby/reline/pull/782)

    https://github.com/ruby/reline/commit/cbf213291c

commit cedcf2d681f08f8bed8ef8f3a8bd4e67d4a04c77
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-25 21:05:18 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-26 02:18:39 +0900

    error.c: call `va_end` before jumping

    The man page is clear that every `va_start` call MUST be succeeded by
    the corresponding `va_end` call.

    So `rb_raise` can't call `rb_exc_raise` before `va_end`, otherwise
    `va_end` is never called.

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

commit 1d510a952d7345ffbe4565f417aeb1322dd1a8ac
  Author:     gemmaro <gemmaro.dev@gmail.com>
  AuthorDate: 2024-11-25 22:40:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-26 01:20:52 +0900

    [rubygems/rubygems] Fix test task name on generated readme when using test-unit

    * bundler/lib/bundler/templates/newgem/README.md.tt (Development): Use the
    test_task value to get the correct test task name ("test", not "test-unit").
    * bundler/spec/commands/newgem_spec.rb (README.md): Add tests for test task
    names for each test frameworks.

    https://github.com/rubygems/rubygems/commit/2a24708a63

commit e1de5a6e3b27b8ac4b97ca8491697703ba12a41b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-22 02:16:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-25 23:57:03 +0900

    [rubygems/rubygems] Fix gemfury credentials getting written to logs in verbose mode

    https://github.com/rubygems/rubygems/commit/585a6a89d4

commit eb87147bda31b200b0b88a8c39689739381a4b62
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-08 21:41:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-25 23:57:03 +0900

    [rubygems/rubygems] Improve index fetcher specs

    https://github.com/rubygems/rubygems/commit/09e0971ab8

commit 77990f67518382e0eb25af30d7d120957ba70285
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-22 19:23:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-25 23:56:09 +0900

    [rubygems/rubygems] Remove comment about oldest supported version

    That's indeed the ideal behavior but it's a mess to maintain because the
    version of RubyGems shipped with each patchlevel of Ruby changes. We
    could try looking at the `VERSION` constant in `
    RbConfig::CONFIG["rubylibdir"` but for now I calling what's in there now
    as good enough.

    https://github.com/rubygems/rubygems/commit/40ccf2b093

commit 4e6ada3ae4e81d27270b0205eaa778a824cb09c6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-22 19:18:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-25 23:56:08 +0900

    [rubygems/rubygems] Remove unnecessary and out of date ruby version check

    We already do this check in `setup.rb` itself, which is run earlier.

    https://github.com/rubygems/rubygems/commit/160cc3f1c5

commit d2acc71d32c0731ba3d85d65b03e1484b2d66b69
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-22 19:15:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-25 23:56:08 +0900

    [rubygems/rubygems] Remove now dead code

    https://github.com/rubygems/rubygems/commit/31fadaf2d2

commit f127bcb8294fd417c253dd7acab3ff3b9f0bf555
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-23 18:28:17 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-25 22:05:23 +0900

    define rb_current_ec_set in all cases

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12149

commit 551be8219e8a4c5b0021716b047976d66feb3048
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-22 22:30:00 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-25 22:05:23 +0900

    Place all non-default GC API behind USE_SHARED_GC

    So that it doesn't get included in the generated binaries for builds
    that don't support loading shared GC modules

    Co-Authored-By: Peter Zhu <peter@peterzhu.ca>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12149

commit d61933e5034248febeb22c18cb779c9348d2444e
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-22 21:32:16 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-25 22:05:23 +0900

    Use extconf to build external GC modules

    Co-Authored-By: Peter Zhu <peter@peterzhu.ca>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12149

commit 92585898fb369c79e7f711465e5934ff4c1879f9
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-25 18:23:39 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-25 20:18:48 +0900

    Prevent memory leak

    ```
    for (int i = 0; i < arg->family_size; i++) {
        arg->getaddrinfo_entries[i] = allocate_fast_fallback_getaddrinfo_entry();
        if (!(arg->getaddrinfo_entries[i])) rb_syserr_fail(errno, "calloc(3)");
    ```

    If the allocation fails in the second interation, the memory allocated
    in the first iteration would be leaked.

    This change prevents the memory leak by allocating the memory in
    advance.
    (The struct name `fast_fallback_getaddrinfo_shared` might no longer be
    good.)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12163

commit 6ab76a6212853f8d43aa2505be3d198e574988ae
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-25 17:00:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-25 19:13:32 +0900

    [rubygems/rubygems] Prevent a warning: net/http: Content-Type did not set

    `make test-all RUBYOPT=-w` in the ruby/ruby repo printed the warning.
    This change prevents the warning by specifying the content-type
    explicitly.

    A follow-up to https://github.com/rubygems/rubygems/commit/b70c1bb1503d

    https://github.com/rubygems/rubygems/commit/d573af07f6

commit 4d8c793bc31e2adae2120861178d176ec64be408
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-25 16:10:14 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-25 17:40:14 +0900

    Fix initialization of `struct wait_fast_fallback_arg::cancelled`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12161

commit a355f7d351912bdbc0004629778ed3fd5ad03f75
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-09 12:14:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-25 17:00:03 +0900

    [ruby/open-uri] Use `ENV.update`

    https://github.com/ruby/open-uri/commit/04067e54b9

commit da8f55401174408bda4823f5ac52adfc38a92b0e
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-25 16:28:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-25 16:28:52 +0900

    [ruby/uri] Prevent a warning: URI::REGEXP is obsolete
    (https://github.com/ruby/uri/pull/138)

    https://github.com/ruby/uri/commit/c00726a20a

commit 73cc312e42917c385be2d5622b51dc5cd007c79b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-25 14:42:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-25 15:46:07 +0900

    Skip flaky tests of rbs in macOS 15.x

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12160

commit f78f1e927fd18fffb24289065b3dec8ec6c2bd24
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-25 15:44:40 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-25 15:45:00 +0900

    Prevent a warning: setting Encoding.default_external

commit ff5fc4b5a13e0833d306d472a0a7633f6b838f86
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-25 14:10:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-25 14:10:54 +0900

    Do not save the last error without sockets in the connection attempt (#12153)

    * Do not save the last_error if there are no sockets waiting to be connected

    In this implementation, the results of both name resolution and connection attempts are awaited using select(2).
    When it returned, the implementation attempted to check for connections even if there were no sockets currently attempting to connect, treating the absence of connected sockets as a connection failure.
    With this fix, it will no longer check for connections when there are no sockets waiting to be connected.

    Additionally, the following minor fixes have been made:

    * Handle failure of getsockopt(2) and removed unnecessary continue in the loop

    * Tweak: Use common API to check in_progress_fds

    * Safely call TCPServer.new in test

    * Set empty writefds when there is no socket waiting to be connected

    * Enable fast_fallback option

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit b305df8c78d7c71ec8cfb96c74fa44d24797e7e9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-25 10:58:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-25 10:58:24 +0900

    Skip sync failure when we specified old version

commit 30fda411390a1712b440ce4a7382c9d756e5ef35
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-25 08:16:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-25 08:16:53 +0900

    Removed redundant argument at Reline::LineEditor::CompletionBlockTest

commit bf47b1b5230759dd16fc0930753d37a3eb6f30e2
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-25 00:45:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-25 00:45:18 +0900

    [ruby/reline] Fix completion quote, preposing and target calculation
    bug
    (https://github.com/ruby/reline/pull/763)

    https://github.com/ruby/reline/commit/d3ba7216eb

commit c6ca33995592ebc5abd7ddcff244c3ea6ae29c47
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-24 18:25:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-24 18:34:01 +0900

    Fix `--empty` option of `ifchange`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12159

commit 3826019f310991aedf0612408d7b821faf513ca4
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-11-23 19:50:00 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-24 17:47:06 +0900

    Fix a build failure with musl

    ```
    compiling gc.c
    In file included from gc.c:80:
    /usr/include/sys/prctl.h:88:8: error: redefinition of 'struct prctl_mm_map'
       88 | struct prctl_mm_map {
          |        ^~~~~~~~~~~~
    In file included from gc.c:79:
    /usr/include/linux/prctl.h:134:8: note: originally defined here
      134 | struct prctl_mm_map {
          |        ^~~~~~~~~~~~
    ```

    The first include is not needed and is what causes this issue.
    Two other places in ruby exclusively use the sys import.

    See https://github.com/seccomp/libseccomp/issues/19 for a similar problem.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12154

commit a8c2d5e7bee5fad0965baeb58d312ddc5932ec26
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-24 08:54:12 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-24 08:54:12 +0900

    Ensure fiber scheduler re-acquires mutex when interrupted from sleep. (#12158)

    [Bug #20907]

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 31997661e4f36071cf6316591ffce541616eb4b5
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-24 00:44:13 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-24 00:44:13 +0900

    UBF is also required for synchronous name resolution (#12156)

    `rb_thread_call_without_gvl2` is used to wait for the results of name resolution and connection attempts.
    When there is only one address family to resolve, the necessary resources were not being passed to the UBF.
    With this change, the handling of resources has been revised and organized to work consistently, whether there are two address families to resolve or only one.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 8d575e4972343986d4d2d987b0d51d90398a7f29
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-23 23:04:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-23 23:04:02 +0900

    Save the error that occurred during name resolution (#12155)

    even if a system call error happens after the name resolution failure in the child thread.

    pipe and write(2) are used to notify the main thread of the name resolution results from the child thread.
    After name resolution is completed in the child thread, if the call to write(2) fails, the main thread retrieves the resolved addresses.
    However, when name resolution failed, the corresponding error was not being saved in `last_error`.
    With this change, name resolution failures will now be saved in last_error even if the write(2) call in the child thread fails.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 34e36a72a7a01e720140fc48a31f3444b3b62c53
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-11-20 14:05:39 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-11-23 18:16:48 +0900

    Ensure global variable traces are freed at exit

        ASAN_OPTIONS="detect_leaks=1" RUBY_FREE_AT_EXIT=1 ./miniruby -e 'trace_var(:$x){}'

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12146

commit a8ebc596d6c4df190df269668dc0168e96fff0fb
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-11-21 16:06:34 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-11-23 12:25:01 +0900

    Free parse result under -c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12148

commit b4d13fac3dd5420475aa1e14fdad8137da7e3ee0
  Author:     Josh Cooper <joshcooper@users.noreply.github.com>
  AuthorDate: 2024-10-30 06:18:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-23 02:26:03 +0900

    [ruby/openssl] Support signing CRLs using Ed25519

    Allow CRLs to be signed using Ed25519 private keys by passing a nil digest.

    https://github.com/ruby/openssl/commit/b62375bcde

commit 6389c9a39524d757b99c199a57679f594d1788e3
  Author:     Josh Cooper <joshcooper@users.noreply.github.com>
  AuthorDate: 2024-10-09 03:52:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-23 02:26:02 +0900

    [ruby/openssl] Support signing requests using Ed25519

    Allow requests to be signed using Ed25519 private keys by passing a nil digest.
    This is similar to commit https://github.com/ruby/openssl/commit/b0fc10009120 when signing certs.

    Calling PKey#public_key is deprecated and does not work for Ed25519. The same
    can be accomplished by passing the private key.

    https://github.com/ruby/openssl/commit/d96090320d

commit ce4906efb3e304567f67a129ab65a86e081cd2ea
  Author:     Josh Cooper <joshcooper@users.noreply.github.com>
  AuthorDate: 2024-11-05 01:41:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-23 02:26:02 +0900

    [ruby/openssl] Check for compatible openssl versions earlier

    test_pkey wasn't checking for libressl as is done elsewhere.

    Note the libressl version check is different when testing pkey, because
    PKey#sign relies on EVP_PKey_sign, whereas signing an X509 cert/request/crl
    relies on ASN1_item_sign.

    https://github.com/ruby/openssl/commit/f1db5c88a2

commit 0989400a925cd201defdca9eb28eb87200b30785
  Author:     sodacris <wjxa20152015@gmail.com>
  AuthorDate: 2024-11-22 20:58:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-22 22:36:21 +0900

    [rubygems/rubygems] fix bundle which commands on windows

    https://github.com/rubygems/rubygems/commit/9e0018d9fe

commit 80cfa57234255667a86d46096093099349a7262a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-22 17:54:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-22 19:01:55 +0900

    [Feature #20563] Update required Windows version

    Update the default `NTVER`, so that the declarations of APIs
    introduced since Windows 8 will be enabled.
    https://learn.microsoft.com/cpp/porting/modifying-winver-and-win32-winnt

commit 770ca58cd3ffdf88e8629d8b5bd1d2ada139852b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-22 05:35:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-22 18:55:25 +0900

    [ruby/mmtk] Use extconf.rb for external GC compilation

    This commit adds extconf.rb for both the default GC and and MMTk to build
    the external GC. This allows common.mk to not need to contain any
    implementation-specific build configuration.

    https://github.com/ruby/mmtk/commit/db6a29b4a9

commit 19840dfd718465e3bd7a6cf4cf981944443b2985
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-22 05:34:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-22 18:55:24 +0900

    [ruby/mmtk] [Feature #20860] Implement Mark-Sweep with MMTK

    This commit implements the mark-sweep algorithm using MMTk and allows
    customizing the plan using MMTK_PLAN.

    https://github.com/ruby/mmtk/commit/6fea5e5ffc

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 211aef1bc0f42545897892122da44ed01e066186
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-22 05:33:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-22 18:55:23 +0900

    [ruby/mmtk] [Feature #20860] Implement NoGC with MMTk

    This commit only supports initializing MMTk with NoGC and object
    allocation.

    https://github.com/ruby/mmtk/commit/39aa10e537

    Co-Authored-By: Kunshan Wang <wks1986@gmail.com>

commit f90c3563174fdbb53c55ac15860f8934976bf3f8
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-11-22 17:46:29 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-11-22 17:46:29 +0900

    [DOC] Fix a link in NEWS.md

commit 37a72b0150ec36b4ea27175039afc28c62207b0c
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-11-22 16:00:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-22 16:00:50 +0900

    Update bundled gems list as of 2024-11-21

commit 5bd144c1bb20e22e4d9f5e5e0264820fd3ef8137
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-22 14:29:47 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-22 15:00:20 +0900

    Add a temporal debugging code

    ... to check the return value of ioctl

    http://ci.rvm.jp/results/trunk_asan@ruby-sp1/5423172
    ```
    /tmp/ruby/src/trunk_asan/lib/reline/io/ansi.rb:192: [BUG] rb_sys_fail_str(<STDIN>) - errno == 0
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12147

commit 4e01878badf6bbc06fa6538f6bea199f772b1b3e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-22 10:36:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-22 10:36:05 +0900

    [Bug #20903] `rb_econv_str_append` arguments expected to be String

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12145

commit 801e66352e698eb533c535f600d958bc1e07e75e
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-20 01:01:06 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-22 06:09:55 +0900

    Sync ruby/mmtk into the gc/mmtk directory

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12120

commit 3b5b34e3ae86ca6f0e38a37d4455e4005debf93a
  Author:     Adam Daniels <adam@mediadrive.ca>
  AuthorDate: 2024-11-20 00:39:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-22 05:41:30 +0900

    [rubygems/rubygems] Set $0 to exe when running `gem exec` to fix name in CLI output

    The $0 value is used in many CLI libraries to determine the name of the
    application, when displaying help and error messages.

    Without setting this value, it defaults to `gem` which can be confusing.

    Before:

    ```
    $ gem exec kamal help
    Commands:
      gem accessory           # Manage accessories (db/redis/search)
      gem app                 # Manage application
      gem audit               # Show audit log from servers
      gem build               # Build application image
      gem config              # Show combined config (including secrets!)
      gem deploy              # Deploy app to servers
      gem details             # Show details about all containers
      gem docs [SECTION]      # Show Kamal configuration documentation
      gem help [COMMAND]      # Describe available commands or one specific command
      gem init                # Create config stub in config/deploy.yml and secrets stub in .kamal
      gem lock                # Manage the deploy lock
      gem proxy               # Manage kamal-proxy
      gem prune               # Prune old application images and containers
      gem redeploy            # Deploy app to servers without bootstrapping servers, starting kamal-proxy, pruning, and registry login
      gem registry            # Login and -out of the image registry
      gem remove              # Remove kamal-proxy, app, accessories, and registry session from servers
      gem rollback [VERSION]  # Rollback app to VERSION
      gem secrets             # Helpers for extracting secrets
      gem server              # Bootstrap servers with curl and Docker
      gem setup               # Setup all accessories, push the env, and deploy app to servers
      gem upgrade             # Upgrade from Kamal 1.x to 2.0
      gem version             # Show Kamal version
    ```

    After:

    ```
    $ gem exec kamal help
    Commands:
      kamal accessory           # Manage accessories (db/redis/search)
      kamal app                 # Manage application
      kamal audit               # Show audit log from servers
      kamal build               # Build application image
      kamal config              # Show combined config (including secrets!)
      kamal deploy              # Deploy app to servers
      kamal details             # Show details about all containers
      kamal docs [SECTION]      # Show Kamal configuration documentation
      kamal help [COMMAND]      # Describe available commands or one specific command
      kamal init                # Create config stub in config/deploy.yml and secrets stub in .kamal
      kamal lock                # Manage the deploy lock
      kamal proxy               # Manage kamal-proxy
      kamal prune               # Prune old application images and containers
      kamal redeploy            # Deploy app to servers without bootstrapping servers, starting kamal-proxy, pruning, and registry login
      kamal registry            # Login and -out of the image registry
      kamal remove              # Remove kamal-proxy, app, accessories, and registry session from servers
      kamal rollback [VERSION]  # Rollback app to VERSION
      kamal secrets             # Helpers for extracting secrets
      kamal server              # Bootstrap servers with curl and Docker
      kamal setup               # Setup all accessories, push the env, and deploy app to servers
      kamal upgrade             # Upgrade from Kamal 1.x to 2.0
      kamal version             # Show Kamal version
    ```

    https://github.com/rubygems/rubygems/commit/4fd060b96d

commit 8ea349515a14679e8c8e6e728f4f9f25952114e1
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-11-21 12:38:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-22 05:34:01 +0900

    Ensure that all Bundler commands have a man page

    Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>

commit 8ae7c22972d82b14d7308e16c26389fa4412727f
  Author:     Kunshan Wang <wks1986@gmail.com>
  AuthorDate: 2024-11-19 17:07:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-22 03:48:05 +0900

    Annotate anonymous mmap

    Use PR_SET_VMA_ANON_NAME to set human-readable names for anonymous
    virtual memory areas mapped by `mmap()` when compiled and run on Linux
    5.17 or higher.  This makes it convenient for developers to debug mmap.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12119

commit 640bacceb19f3ba2b60789a01511e5e280f8b4ce
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-21 07:11:01 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-21 23:49:00 +0900

    Fix typo in parse.y GH Actions workflow

    with-praser -> with-parser

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12131

commit 680e06002666883537c05f796c31c6eacd6b4858
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-21 01:20:38 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-21 22:51:59 +0900

    [prism/compiler] end_cursor should never be NULL

    This fixes a failed assertion reported to SimpleCov

    https://github.com/simplecov-ruby/simplecov/issues/1113

    This can be repro'd as follows:

    1. Create a file `test.rb` containing the following code

    ```
    @foo&.(@bar)
    ```

    2. require it with branch coverage enabled

    ```
    ruby -rcoverage -e "Coverage.start(branches: true); require_relative 'test.rb'"
    ```

    The assertion is failing because the Prism compiler is incorrectly
    detecting the start and end cursor position of the call site for the
    implicit call .()

    This patch replicates the parse.y behaviour of setting the default
    end_cursor to be the final closing location of the call node.

    This behaviour can be verified against `parse.y` by modifying the test
    command as follows:

    ```
    ruby --parser=parse.y -rcoverage -e "Coverage.start(branches: true); require_relative 'test.rb'"
    ```

    [Bug #20866]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12130

commit 890c83e6078f8796628afdb101548a4ed1961bb0
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-11-21 10:43:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 21:25:31 +0900

    [rubygems/rubygems] Fix `bundle remove` sometimes not removing gems

    https://github.com/rubygems/rubygems/commit/e7f5f067e8

commit ac5661db7b2298c70eb2bf5676cc3f920a640c49
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-20 05:21:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 19:37:51 +0900

    [rubygems/rubygems] Fix locking of incorrect version of git gem in an edge case

    In particular, when a gem registry transitive dependency is changed to a
    git source direct dependency.

    https://github.com/rubygems/rubygems/commit/bcdc7660d9

commit 486485a535ece120dec5daa37c6b06c9d3af7e17
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-20 04:41:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 19:37:51 +0900

    [rubygems/rubygems] Refactor

    https://github.com/rubygems/rubygems/commit/9964c16bb9

commit 0a7099a0ae91401ae02199b25a0b6a4d10cc1143
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-20 04:43:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 19:37:50 +0900

    [rubygems/rubygems] Extract a `source` local

    https://github.com/rubygems/rubygems/commit/c5a9449069

commit 8cf1222e5679b170baa77a860c43a805d6a448ca
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-20 04:42:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 19:37:50 +0900

    [rubygems/rubygems] Reuse `name` local

    https://github.com/rubygems/rubygems/commit/508fb45b76

commit 335ef5ed8164521812fcc5a4f8f9915b030e25b3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-15 18:57:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 19:37:49 +0900

    [rubygems/rubygems] Remove no longer necessary code

    https://github.com/rubygems/rubygems/commit/2a36af0f38

commit 796757a01c29830f9d1d7fe4b08eb26b7827e6e3
  Author:     Lars Kanis <lars.kanis@sincnovation.com>
  AuthorDate: 2024-11-15 21:35:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 19:35:58 +0900

    [rubygems/rubygems] Remove override of worker jobs for `bundle install --local`

    There seems to be no reason why the install should be serial for --local.
    The packages are still installed in the right dependency order in this case, so that parallel install can be used.
    This patch disables parallel install only in case of no_install_needed.

    Also remove the `option` argument, which is effectifely not used.

    https://github.com/rubygems/rubygems/commit/5da934ddb6

commit 42b0d4641699fb8effa3db46d6673a481f557ef1
  Author:     sodacris <wjxa20152015@gmail.com>
  AuthorDate: 2024-11-21 08:14:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 19:29:32 +0900

    [rubygems/rubygems] move system_gems let commands

    https://github.com/rubygems/rubygems/commit/1fc1e74f4d

commit cabfaa9fb4731c0b82847f51f0b5266f8c78415f
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-21 18:47:43 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-21 19:23:15 +0900

    Extend the timeout of fork-exit bootstraptest

    It often fails randomly.

    http://ci.rvm.jp/results/trunk-yjit@ruby-sp2-noble-docker/5421564
    ```
     Fstderr output is not empty
       bootstraptest.test_fork.rb_78_287.rb:16:in 'block in <main>': failed (RuntimeError)
               from <internal:numeric>:257:in 'Integer#times'
               from bootstraptest.test_fork.rb_78_287.rb:10:in '<main>'
    ```

    I'm not sure why the frequency of failure has suddenly increased,
    though.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12142

commit b85425493a26a63dfee20d618e7df235bc0aa38e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-21 16:51:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-21 19:16:27 +0900

    Omit flaky example with Windows platform

    https://github.com/ruby/ruby/actions/runs/11948300522/job/33305664284?pr=12139

    ```
      IO#wait [events, timeout] passed changes thread status to 'sleep' when waits for WRITABLE event FAILED
      Expected false == "sleep"
      to be truthy but was false
      D:/a/ruby/ruby/src/spec/ruby/library/io-wait/wait_spec.rb:99:in 'block (3 levels) in <top (required)>'
      D:/a/ruby/ruby/src/spec/ruby/library/io-wait/wait_spec.rb:8:in '<top (required)>'
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12140

commit 6fc8607b7ac0045535697d9ac59f489cdb801181
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-21 18:14:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-21 18:46:27 +0900

    Skip make install with gmp build

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12141

commit c23bf42d796567331a0cfc1a9b5d50e5260f2eae
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-11-21 16:06:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-21 16:59:14 +0900

    Fix error "fatal: detected dubious ownership in repository at '/github/workspace/src'"

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12139

commit 0780e7680309adec83bd02e2d3a941d18cb5f119
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-21 13:42:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-21 15:32:12 +0900

    Removed needless require for build_metadata

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12137

commit d43f796292dca6755c4cdf0823d1b9dff80ebeb5
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-21 10:55:41 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-21 15:20:11 +0900

    Fix the usage of realloc

    http://ci.rvm.jp/results/trunk-repeat50@ruby-sp2-noble-docker/5420911
    ```
    /tmp/ruby/src/trunk-repeat50/ext/socket/ipsocket.c: In function ‘reallocate_connection_attempt_fds’:
    /tmp/ruby/src/trunk-repeat50/ext/socket/ipsocket.c:292:62: warning: pointer ‘fds’ may be used after ‘realloc’ [-Wuse-after-free]
      292 |     for (int i = current_capacity; i < new_capacity; i++) fds[i] = -1;
          |                                                              ^
    /tmp/ruby/src/trunk-repeat50/ext/socket/ipsocket.c:288:9: note: call to ‘realloc’ here
      288 |     if (realloc(fds, new_capacity * sizeof(int)) == NULL) {
          |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ```

commit f20b6e5dbcb8af41c64dc468976e518806b0712f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-21 11:24:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 13:39:31 +0900

    [rubygems/rubygems] Explicitly load build_metadata.rb because Spec::BuildMetadata is only called from BundlerBuilder.

    The current code is broken to call Spec::Builders#build_* method directly.

    https://github.com/rubygems/rubygems/commit/4922ae40dd

commit af54f0f76d0e2d2e8575eefb00e0eda0cd5f5de4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-21 09:32:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 11:13:07 +0900

    [rubygems/rubygems] Silent verbose stdout for dependency of test gems

    https://github.com/rubygems/rubygems/commit/51854e1982

commit 89deb38736ccfb89a2de82a6087ce0723ba700e4
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-21 09:46:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-21 09:46:27 +0900

    bignum nogvl is offload safe. (#12132)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 03ff7db5fe1eaab9b9569185017f6ae87d36ac0e
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-21 08:00:55 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-21 08:00:55 +0900

    Update `scheduler.c` to use `RUBY_ASSERT`. (#12129)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit bf718cef592d9c6c3229c2da0ee1169cfefa17c6
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-11-21 07:13:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-21 07:13:31 +0900

    YJIT: Make compilation_failure a default stat (#12128)

    It's good to monitor compilation failures.

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit f6e6e6687069cbefa5ba777d98d1f90b566b4ada
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-21 06:40:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 06:40:55 +0900

    [ruby/zlib] Add support for safe offload of nogvl code.
    (https://github.com/ruby/zlib/pull/89)

    https://github.com/ruby/zlib/commit/a535271862

commit b143fd5bd8527da3ddd176a3d6a362d0ab3bc6c7
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-21 06:02:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 06:02:16 +0900

    [ruby/zlib] Don't call `rb_str_set_len` while released the GVL.
    (https://github.com/ruby/zlib/pull/88)

    * Only release the GVL where necessary.

    - Several string manipulation methods were invoked while the GVL was
      released. This is unsafe.
    - The mutex protecting multi-threaded access was not covering buffer state
      manipulation, leading to data corruption and out-of-bounds writes.
    - Using `rb_str_locktmp` prevents changes to buffer while it's in use.

    [Bug #20863]

    https://github.com/ruby/zlib/commit/e445cf3c80

commit b70c1bb1503df69716312ce5b0ad89e9be02d44b
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-11-14 09:48:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 04:32:49 +0900

    [rubygems/rubygems] Add --attestation option to gem push

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/a5412d9a0e

commit b4969348bf16c9aaf8eaf78b230527955939d59c
  Author:     Andrew Nesbitt <andrewnez@gmail.com>
  AuthorDate: 2024-11-20 17:53:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 04:13:27 +0900

    [rubygems/rubygems] Add man page for 'bundle issue' command

    https://github.com/rubygems/rubygems/commit/3f39571181

commit 51bf0d4d68fb6cc2b073ab45ce882ab5bbece629
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-11-21 03:59:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 03:59:26 +0900

    [ruby/irb] Store method objects in constants
    (https://github.com/ruby/irb/pull/1033)

    It probably won't speed up things significantly, but these are hot paths
    and we can save a few method calls per completion/input call.

    https://github.com/ruby/irb/commit/f1e25ec7ae

commit 2bf5d26eb9eac56cef326d470fb7bd50261df7fe
  Author:     Thierry Deo <thierry.deo@gmail.com>
  AuthorDate: 2024-11-13 17:07:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 01:59:55 +0900

    [ruby/psych] Eagerly require `date`.

    https://github.com/ruby/psych/commit/b2aa0032c0

commit 577e6a3e191ce7fdbf9b3a4bdc7ea7cea9e70855
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-21 01:17:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 01:38:33 +0900

    [ruby/etc] Prefer `rb_intern_const` over `rb_intern` for literal strings

    https://github.com/ruby/etc/commit/53362d891c

commit 41a9460227f67b274e61c2fc48df8b92ed0884e4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-21 01:16:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-21 01:16:10 +0900

    [DOC] Fix typo in comment for STR_PRECOMPUTED_HASH

commit 3b7892b6e4d1a1a5d6019987f9b46ed443dd104f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-11-20 06:58:19 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-11-21 00:59:31 +0900

    Fix a bug in rb_include_module that stops nested inclusion into module subclasses

    This bug was present since the code was originally added by me
    in 3556a834a2847e52162d1d3302d4c64390df1694.

    Fixes [Bug #20871]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12125

commit 9db056f2ea2c1a9f9887a3436b212f52c3ad3b8d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-11-19 07:01:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-21 00:40:49 +0900

    [DOC] Tweaks for Array

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12113

commit 350b544468d36361ca698ce8cf9aa512bfde0678
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-11-20 08:16:05 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-11-21 00:06:14 +0900

    YJIT: Refactor to forward jump_to_next_insn() return value

    It's more concise this way and since `return Some(EndBlock)` is the only
    correct answer, no point repeating it everywhere.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12124

commit 199877d2583a5c4b9553b9c197aca39b46ba77e6
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-11-20 08:02:26 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-11-21 00:06:14 +0900

    YJIT: Abandon block when gen_outlined_exit() fails

    When CodeBlock::set_page fails (part of next_page(), see their docs for
    exact conditions), it can cause gen_outlined_exit() to fail while there
    is still plenty of memory available. Previously, this can have YJIT
    running incomplete code due to taking the early return in
    end_block_with_jump() that manifested as crashes with SIGILL.

    Add and use a wrapper with error handling.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12124

commit 2df2e868bc21e39ac493cebac1c981f1ed279010
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-11-21 00:02:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-21 00:02:17 +0900

    [ruby/irb] Move main object's safe call logic to Context
    (https://github.com/ruby/irb/pull/1034)

    https://github.com/ruby/irb/commit/9750fa23cc

commit 743a31d639d4c96827b1b17f59c829c1ec31abc3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-20 23:00:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-20 23:03:40 +0900

    [ruby/date] [DOC] Make document coverage 100%

    https://github.com/ruby/date/commit/269392b775

commit 3c0b09ac9e9afe5a8a536ac3c27c9202bcebc25c
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-20 17:27:16 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-20 17:27:16 +0900

    Allow `io_buffer_memmove` to release the GVL for large buffers. (#12021)

    [Feature #20902]

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 682ff52e8f4d495eb7e1d32ebb7819ac01bab1ed
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-11-20 16:00:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-20 16:00:36 +0900

    Update bundled gems list as of 2024-11-20

commit 9c268302bfb4890d3757caa60981802a88bfbd89
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-20 15:40:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-20 15:40:17 +0900

    Introduce `Fiber::Scheduler#blocking_operation_wait`. (#12016)

    Redirect `rb_nogvl` blocking operations to the fiber scheduler if possible
    to prevent stalling the event loop.

    [Feature #20876]

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 86b1c838573b5459e9e5b8fab62ec3430d2ac872
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-11-20 08:30:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-20 11:04:54 +0900

    Fix typos and grammar errors in kernel.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12122

commit a208ac6f4b174108dacab01d64e265653aae9d69
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-19 05:50:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-20 09:42:25 +0900

    Use webrick 1.9 in Bundler specs

commit a5709631a168a187fa8949f27f3aa65243e68060
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-19 05:48:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-20 09:42:10 +0900

    webrick is no longer needed in `dev_gems.rb` gemfile

    Since 3ae4358024ed4a8438aa14611b3b939b39cdd18b.

commit b56aacba78c95c1d7151c8cb66165fb69510bac3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-14 18:54:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-20 01:50:04 +0900

    [rubygems/rubygems] Define a few `inspect` methods to help debugging

    https://github.com/rubygems/rubygems/commit/ad26ccde38

commit 0914da52e005bacd75bf8b943a3c3e0bafc05a37
  Author:     Andrew Nesbitt <andrewnez@gmail.com>
  AuthorDate: 2024-11-19 01:03:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-20 01:36:19 +0900

    [rubygems/rubygems] Add man page for 'bundle fund' command

    Signed-off-by: Andrew Nesbitt <andrewnez@gmail.com>

    https://github.com/rubygems/rubygems/commit/897819da36

commit cd7c6c66b4a3ea0604b84528fe5f11bacb98d56b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-13 23:18:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 23:52:01 +0900

    [ruby/pp] Simplify range nil check

    https://github.com/ruby/pp/commit/3e4b7c03b0

    Co-authored-by: Nobuyoshi Nakada <nobu.nakada@gmail.com>

commit 7b51b3c75b503de744b5988619915033a3a9b7ff
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-09 13:31:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 23:52:01 +0900

    [ruby/pp] Fix pretty printing range begin/end with false or nil

    https://github.com/ruby/pp/commit/6d9c0f255a

commit 0de7e6ccb02dad6b067c29e4b6fdce0c3938bad5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-19 23:43:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 23:43:33 +0900

    [ruby/pp] [DOC] Mark up the method name

    https://github.com/ruby/pp/commit/e787cd9139

commit bc9237966412c87d0a2d64b2787d2a39a04eca65
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-19 22:17:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 22:17:11 +0900

    [ruby/irb] Don't use delegator to install helper methods to main
    object
    (https://github.com/ruby/irb/pull/1031)

    IRB used delegator to install command as a method of frozen main object.
    Command is not a method now. We can drop it.

    https://github.com/ruby/irb/commit/2f1c593801

commit edf5a738a36fccd07ea79d825bda0f8bd56224a2
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2024-11-19 22:13:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 22:13:20 +0900

    [ruby/irb] Complete the missing documentation abount the environment
    variables
    (https://github.com/ruby/irb/pull/1028)

    https://github.com/ruby/irb/commit/68f5cf0535

commit dd473cec29a9bb98705f9782c747264a88bc14f0
  Author:     sodacris <wjxa20152015@gmail.com>
  AuthorDate: 2024-11-18 16:53:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 21:56:01 +0900

    [rubygems/rubygems] Fix binstub test bug

    the overwritten binstub in the test has a final new line that makes it
    not match "OMG" exactly from the beginning, that's why the test passes,
    but `bintubs` command without `--force` flag is not supposed to update
    the binstub.

    This change fixes the test to test what's supposed to update the
    binstub, and also fixes the assertion that that it will fail in the
    future if `--force` stops updating the binstub.

    https://github.com/rubygems/rubygems/commit/dfc9023337

commit 492b379b52a8c35c53038cde35c506cde2776834
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-19 21:23:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 21:34:47 +0900

    [ruby/pp] [DOC] Add documents

    https://github.com/ruby/pp/commit/dbf177d0fc

commit 6dc333265077944ab17a7f4ae2ed65f8c5348e41
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-11-19 20:51:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 20:51:56 +0900

    [ruby/rdoc] Bump version to v6.8.1

    https://github.com/ruby/rdoc/commit/9a7ab17f40

commit 39f421c9f12914dc28d4ced03a19e550c48b6c37
  Author:     Ihor Shevkun <ishe-ua@users.noreply.github.com>
  AuthorDate: 2024-11-19 20:32:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 20:32:26 +0900

    [ruby/rdoc] Update rdoc.gemspec
    (https://github.com/ruby/rdoc/pull/1211)

    https://github.com/ruby/rdoc/commit/10596827f0

commit 716ea630dbd6cea62049a7a438d7d4f4f84d4aae
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-19 18:13:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 18:19:16 +0900

    [ruby/net-http] Need to restore under the Net namespace

    https://github.com/ruby/net-http/commit/4650f86981

commit 811dfa7cb7b6f7acceffb542c781fbfc6466080c
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-11-19 16:00:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 16:00:52 +0900

    Update bundled gems list as of 2024-11-19

commit da8c8743d554055d0e98ca0f8551f067948fff34
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-19 14:47:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 14:47:37 +0900

    [ruby/rdoc] Bump up v6.8.0

    https://github.com/ruby/rdoc/commit/cf09b2ebb8

commit 7ed027a8332e6f64b2a3253f3b48c0488f1184aa
  Author:     Shugo Maeda <shugo@ruby-lang.org>
  AuthorDate: 2024-11-19 13:41:39 +0900
  Commit:     Shugo Maeda <shugo.maeda@gmail.com>
  CommitDate: 2024-11-19 14:33:38 +0900

    Remove deprecated method Refinement#refined_class

    [Feature #20901]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12115

commit 9c777f282f8482400d4b0c7993d520c18cb1b652
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-19 12:43:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-19 12:43:38 +0900

    [Bug #20900] Warn deprecated constant when removing

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12114

commit 727b2a29990022fc96eddb4c63271f0eac60d926
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-19 12:42:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 12:42:43 +0900

    [ruby/digest] Fix `-Wundef` warnings

    https://github.com/ruby/digest/commit/0ea3ac9926

commit b23c5063e8ccfe67d0bd64a87b18b00675b0577d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-19 12:23:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-19 12:39:17 +0900

    [ruby/net-http] Restore HTTPSession constant for backward compatibility

    https://github.com/ruby/net-http/commit/37f17d29e0

commit eb2b0c2a0d98b1a7929b47574cc2ec87c8c2e984
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2024-11-18 12:47:41 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-19 12:15:48 +0900

    [DOC] Fix the default `limit` of String#split

    We can't pass `nil` as the second parameter of `String#split`.
    Therefore, descriptions like "if limit is nil, ..." are not appropriate.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12109

commit 519b23369514f72e89ea8bed2e053685c4060ac7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-19 03:46:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-19 08:13:10 +0900

    Test with sinatra to 4.1.0

commit 4a7ac694e521b33c4952e57c29909b4a9ac3a67c
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-11-16 05:27:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-19 00:04:50 +0900

    Fix grammar errors and typos in gc.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12102

commit 07bf7840668b217aa67418fd2e35fed57d74d7a5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 20:03:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-18 20:46:07 +0900

    Don't need to call test-bundled-gems-fetch for bundled_gems_spec-run

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12111

commit d9a9d5a0c0f5dedaabacb02352bc2aa06eb1e73b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 20:00:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-18 20:46:07 +0900

    Move configuration to RSpec.configure

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12111

commit 2dc8c48e09410f3473429c9de6432529828c67ca
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 19:06:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-18 20:46:07 +0900

    Need to install all of dependency for bundler test suite

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12111

commit 73614b6efe2f52397cd8467ed999f5628aa890be
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 18:57:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-18 20:46:07 +0900

    Added PREPARE_BUNDLED_GEMS before bundled_gems_spec-run

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12111

commit 0c8bd35ba452e13080fa0d272985d4158204d044
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 18:52:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-18 20:46:07 +0900

    Install zeitwerk at test-bundled-gems-prepare

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12111

commit ce580f4ae5b46807a8d6930fde10a0b4ab32f534
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 18:52:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-18 20:46:07 +0900

    Fixed dependency of make test-bundled-gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12111

commit c17ab1eea048105c256a115f4127802b5c283fcc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 18:18:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-18 20:46:07 +0900

    Fixed required path with example location

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12111

commit 1a416920f19acccaa7600a6c1e841a198decb50e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 16:50:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-18 20:46:07 +0900

    Load required helpers from bundler examples and invoke bundled_gems_spec.rb at test-bundled-gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12111

commit df077a498ee6c53d74988d80262d9b2dfcbe18d3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 16:39:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-18 20:46:07 +0900

    Move spec directory from bundler examples

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12111

commit ee0915feeb1afdc448af610f2d470945a991a118
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-11-18 19:32:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-18 19:32:31 +0900

    [ruby/rdoc] Extract excerpt from raw pages correctly
    (https://github.com/ruby/rdoc/pull/1200)

    Fixes https://bugs.ruby-lang.org/issues/20862

    https://github.com/ruby/rdoc/commit/3c678249e2

commit 3fee7e7d38ebc9879eadb5d9217b082c199fe2e4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-18 18:03:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-18 18:05:49 +0900

    win32/ifchange.bat: Discard useless message

    When the destination does not exist, `del` needs to do nothing.

commit d768b200ab51f48b8c24115fad890a57ebcddd5f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-18 17:59:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-18 18:05:29 +0900

    win32/setup.mak: Remove unnecessary quotes and adjust quoting style

commit 7407aa51eaaac99bdedda3ddfcf71a37a8feaa50
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 15:00:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-18 15:48:20 +0900

    Don't use Spec::Path.base_system_gem_path

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12110

commit 498c960a121f395e0b67ed62ab2f18ab841f658f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 14:55:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-18 15:48:20 +0900

    Install zeitwerk without bundle install

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12110

commit 29fdb73c5b3904ffcc420058533988adc4a16d1e
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-11-16 06:49:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-18 13:34:40 +0900

    [ruby/digest] Fix loading of digest ext libraries with `--with-static-linked-ext`

    `rb_ext_resolve_symbol` is not always available on some platforms
    including WASI, and we don't need to use it when the extension is built
    as a static library. This commit prefers to use `rb_digest_wrap_metadata`
    directly when the extension is built as a static library to avoid the
    unnecessary use of `rb_ext_resolve_symbol`.

    https://github.com/ruby/digest/commit/f8ff014622

commit 572eebf603877161d46352328752c5c9542ac65b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-18 13:28:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-18 13:28:47 +0900

    [ruby/tempfile] Bump up v0.3.1

    https://github.com/ruby/tempfile/commit/297bdf2c8d

commit 6c142d05fa7446cccffc36d81b3ca98ae6199c83
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-11-16 05:51:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-18 13:19:40 +0900

    [ruby/tempfile] Stop using `IO::NULL` for feature detection

    `IO::NULL`'s underlying file `/dev/null` is not always available on
    WASI, so use of the file on top-level code (introduced in
    https://github.com/ruby/tempfile/pull/36) causes tempfile library not
    to work at all on WASI.

    https://github.com/ruby/tempfile/commit/d50939890e

commit 9c6217fd05912388a629d8151f40484f8ff0a072
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-16 19:05:28 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-18 12:23:18 +0900

    [ruby/json] Fix the BEWARE documentation in `load` and `unsafe_load`.

    https://github.com/ruby/json/commit/2d62ec449f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12103

commit f3e17a84f4bc4d6bc5c87d95f4460ad5d29e2006
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-14 22:54:13 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-18 12:23:18 +0900

    [ruby/json] Release 2.8.2

    https://github.com/ruby/json/commit/d5e4a6e3fd

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12103

commit 62e1469e8bcf379cd8bb9f0f2381be0bc22ce82a
  Author:     razokulover <yuhei.nakasaka@gmail.com>
  AuthorDate: 2024-11-14 20:24:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-18 12:23:18 +0900

    [ruby/json] Fix redundant to_str call

    https://github.com/ruby/json/commit/61f022dfbd

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12103

commit 8fe8021f5a5b48520f9c1095e7cfa1fd416b6dfd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-17 22:49:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-17 22:49:16 +0900

    Win32: Expose wchar main routine only

    Warned if both of `main` and `wmain` are exposed:
    ```
    LINK : warning LNK4067: ambiguous entry point; selected 'mainCRTStartup'
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12108

commit 36d02dc33e2bd47c653a7ad06ed92973f3dcab37
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-17 22:45:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-17 22:45:07 +0900

    Fix format modifier for `size_t`

    Also fix the message, just `RB_GC_MAX_NAME_LEN` chars long is OK.

commit c129e01125f7ed297cd1e261d6edc0e75781cf19
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-17 19:56:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-17 19:56:02 +0900

    Make `rb_ec_set_vm_stack` conformant to the C++11 requirement

    Https://learn.microsoft.com/en-us/cpp/build/reference/zc-inline-remove-unreferenced-comdat?view=msvc-140
    > If `/Zc:inline` is specified, the compiler enforces the C++11
    > requirement that all functions declared inline must have a definition
    > available in the same translation unit if they're used.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12107

commit a6fe3feacdfce00f42aadd4880cba3b67ff9a5d4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-17 19:29:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-17 19:29:16 +0900

    Win32: Remove unreferenced COMDAT from object files

    Windows 11 SDK Version 10.0.26100.0 introduced a new internal inline
    function in ucrt/corecrt_math.h.  Even it appears in object files and
    will be included in the DEF file, it will be removed from the DLL and
    result in a linker error.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12107

commit 6588cc4e29074d7b0d3d78725769d2efba1c25ee
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-17 10:54:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-17 10:54:20 +0900

    Workaround for VC 19.42.34433 again

    Prefix underscore is already removed here.

commit 3c30af77fea37a10b95a3fc322ff20d7086cab5f
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-17 10:36:33 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-17 10:36:33 +0900

    Fix stack-use-after-return (#12105)

    http://ci.rvm.jp/results/trunk_asan@ruby-sp1/5409001

    ```
    =================================================================
    ==3263562==ERROR: AddressSanitizer: stack-use-after-return on address 0x735a8f190da8 at pc 0x735a6f58dabc bp 0x735a639ffd10 sp 0x735a639ffd08
    READ of size 4 at 0x735a8f190da8 thread T211
    =================================================================
    ```

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit bc409f3fe3fab2e540f8630aced0655be68dfac3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-16 23:52:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-17 00:05:38 +0900

    Workaround for VC 19.42.34433

    Suddenly it began to add `_ucrt_int_to_float` by the recent version.

commit 7be4c0a88d4aefe652a17e82f8b823a342809039
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-16 22:46:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-16 22:46:26 +0900

    mkexports.rb: Revert removed flip-flop

    This reverts commit 63ae1e3cb5d302e5229143c00152328166d26780.

commit 002438767d04c2ba728593c3d71f224548295f34
  Author:     HoneyryderChuck <cardoso_tiago@hotmail.com>
  AuthorDate: 2024-11-04 23:45:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-16 13:18:14 +0900

    [ruby/io-nonblock] mark extension as ractor safe

    https://github.com/ruby/io-nonblock/commit/ba445b37d5

commit 2a0f8d62b6f958b4df8fd806e4fea7599f8610f9
  Author:     Schneems <richard.schneeman+foo@gmail.com>
  AuthorDate: 2024-11-16 01:07:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-16 01:09:30 +0900

    [ruby/syntax_suggest] v2.0.2

    https://github.com/ruby/syntax_suggest/commit/e99b5ba287

commit 3a547e2539124e8ecd9b09f747fb8f516295134e
  Author:     Schneems <richard.schneeman+foo@gmail.com>
  AuthorDate: 2024-11-16 01:02:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-16 01:06:25 +0900

    [ruby/syntax_suggest] Explain why class exists

    https://github.com/ruby/syntax_suggest/commit/8c36b0cb35

commit 03a77c03eb7c21995d062420dd4280b303ade820
  Author:     Schneems <richard.schneeman+foo@gmail.com>
  AuthorDate: 2024-11-16 01:01:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-16 01:06:24 +0900

    [ruby/syntax_suggest] Fix spelling

    https://github.com/ruby/syntax_suggest/commit/9c78283363

commit 7969f6791fc219ba3e3af84574344d870b44fe4f
  Author:     Schneems <richard.schneeman+foo@gmail.com>
  AuthorDate: 2024-11-16 01:00:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-16 01:06:24 +0900

    [ruby/syntax_suggest] Freeze strings

    https://github.com/ruby/syntax_suggest/commit/b17bf0baca

commit ed4871afede9ec613f78fc61c3acff521653f5c5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-15 14:53:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-15 18:28:16 +0900

    Update `rubyarchdir` and `rubylibdir` as well for tests

    These are also different between build time and after installation.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12099

commit 84470d72c548c4b1994c30368a23eaf5368851a5
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-15 18:12:37 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-15 18:12:37 +0900

    Disable HEv2 tests temporarily (#12097)

    * Disable HEv2 tests temporarily

    To suppress error log output in CI.
    They should have been DISABLE in PR #12070.

    ---

    Additionally, the following fixes have been made:

    - Remove unnecessary `assert_separately` from the related tests

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit a6f25023ac85d066652a0d27473af698aa75e465
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 15:13:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 17:50:24 +0900

    Port test_warn_zeitwerk.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12098

commit 5bd0dfbf2e47ac5ec44e49b91e9ae5f96767e47f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 14:52:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 17:50:24 +0900

    Port test_warn_bootsnap_and_gem.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12098

commit 5395afd42239255ff5fb76f74c5de505af60e7d6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 14:33:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 17:50:24 +0900

    Port test_warn_bootsnap_rubyarchdir_gem.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12098

commit 0afd77d76ac9eb0ad65b841dc8eb7b68d399a3cb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 14:28:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 17:50:24 +0900

    Port test_warn_bootsnap.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12098

commit b45f7a54aff65eb37d60264f8dcbbc18587b9855
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 13:13:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 14:04:19 +0900

    Find .ext/common path from LOAD_PATH for out-of-place build

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12096

commit 8dccf5a334b97e29c410c75638989ac4cb904556
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 12:11:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 14:04:19 +0900

    Port test_no_warn_sub_feature.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12096

commit 52e867268e1ecf91a3a4b3b8d587ba4c37e17f9c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 11:49:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 14:04:19 +0900

    Port test_warn_sub_feature.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12096

commit c5637f940a46dcab7497187b63938ee5f40e43ed
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 11:45:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 14:04:19 +0900

    fiddle provide sub-feature like fiddle/import

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12096

commit 587955169e6af51eee32e34d68bc74b0dcec947c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 10:57:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 14:04:19 +0900

    Port -r option test to RSpec examples

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12096

commit 208c46702a1045154b1f8c6d33f1a693d181f475
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 10:50:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 14:04:19 +0900

    Port bundle exec with shebang script to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12096

commit 703cffffc9a269c308ad78bec896b7961a01166e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 10:40:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 14:04:19 +0900

    Port bundle exec warning check to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12096

commit 49fde29f77dabef1994b9579b0e6899a38481048
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 10:09:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 14:04:19 +0900

    Port test_no_warn_dependency.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12096

commit bb20083050c47fbc171704d8f4aaa2473e4d743a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 09:56:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 14:04:19 +0900

    Port test_warn_dependency.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12096

commit 699e710ad86a9fa3dcc7d80fcc4f71a39e65ddcd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-15 09:22:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 14:04:19 +0900

    Port test_no_warn_dash_gem.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12096

commit 8e98fbdd19e49e6972d1eda1523b699b99a825f6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-15 11:59:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-15 12:15:04 +0900

    [ruby/net-http] Remove deprecated constants

    These constants, isolated in net/http/backward.rb, have not only been
    deprecated since 2001, but have also had a warning since 2021.

    https://github.com/ruby/net-http/commit/265bfa929f

commit 226cfda3069c76c094d294a68585b5772fcc730a
  Author:     Schneems <richard.schneeman+foo@gmail.com>
  AuthorDate: 2024-11-15 09:54:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-15 10:31:26 +0900

    [ruby/syntax_suggest] Fix missing line break due to puts logic

    In #225 it was reported that the output looks incorrect:

    ```
    $ cat /tmp/4a71c7e417cc9eac0971e3a2519b295c/scratch.rb
    def x.y.z
    end
    $ ruby /tmp/4a71c7e417cc9eac0971e3a2519b295c/scratch.rb
    /tmp/4a71c7e417cc9eac0971e3a2519b295c/scratch.rb: --> /tmp/4a71c7e417cc9eac0971e3a2519b295c/scratch.rb
    expected a delimiter to close the parametersunexpected '.', ignoring it
    > 1  def x.y.z
    > 2  end
    ```

    Specifically:

    ```
    expected a delimiter to close the parametersunexpected '.', ignoring it
    ```

    However this does not show up when executing the debug executable:

    ```
    $ bin/bundle exec exe/syntax_suggest /tmp/4a71c7e417cc9eac0971e3a2519b295c/scratch.rb
    --> /tmp/4a71c7e417cc9eac0971e3a2519b295c/scratch.rb

    expected a delimiter to close the parameters
    unexpected '.', ignoring it

    > 1  def x.y.z
    > 2  end
    ```

    This is because `exe/syntax_suggest` uses STDOUT.puts while calling `ruby` with the filename uses a fake IO object represented by MiniStringIO. This class was incorrectly not adding a newline to the end of the print.

    The fix was to move the class to it's own file where it can be tested and then fix the behavior.

    close https://github.com/ruby/syntax_suggest/pull/225

    https://github.com/ruby/syntax_suggest/commit/d2ecd94a3b

    Co-authored-by: Andy Yong <andyywz@gmail.com>

commit 51666c827b5aa9289113699670cbd6910ea2b3b1
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-15 09:18:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-15 09:18:09 +0900

    Make fast_fallback option false by default temporarily (#12070)

    to suppress failing output in CI.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit facb82aba528384aece896167ab9403f1d922f94
  Author:     Dave Corson-Knowles <david.corsonknowles@gusto.com>
  AuthorDate: 2024-11-15 04:33:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-15 08:21:05 +0900

    [rubygems/rubygems] Update test_project_sanity.rb

    https://github.com/rubygems/rubygems/commit/279eefb8a3

commit 11265baed972fa717041a351b815add7fcdc14aa
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-14 18:13:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 08:16:03 +0900

    Use environmental variable for bundled_gems_spec.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12086

commit 2d2e5a38bf1fdbd3decc8b459a82b29fb4a4f46a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-14 17:49:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 08:16:03 +0900

    Port test_warn_redefined.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12086

commit 1063b5a140370a6c43b0ae19e5abc72d74b68b75
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-14 17:42:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 08:16:03 +0900

    Port test_warn_dash_gem.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12086

commit b44272fcb456bb723d3dfa3b3736a05a2cbf30b2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-14 17:27:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-15 08:16:03 +0900

    Port test_warn_bundled_gems.rb to RSpec example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12086

commit 31bdffb5b987e3086b7954f3fc164872f2075918
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-11-15 08:15:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-15 08:15:39 +0900

    YJIT: Specialize String#dup (#12090)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 8f3a6ebcf4cc585c60687f3d9941bf9bcd7eb9b6
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-15 08:14:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-15 08:14:18 +0900

    [ruby/reline] Drop loading terminfo, remove fiddle dependency in
    non-windows environment.
    (https://github.com/ruby/reline/pull/769)

    Reline works perfectly in most major terminal emulators without terminfo.
    In minor/old terminal emulator, we used to get key bindings from terminfo, but I think it is not used so much.

    https://github.com/ruby/reline/commit/3ceba3bff7

commit 4074c6b427ff53fc9e3dbffcd2792e5dd8b3a7ef
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-14 23:34:24 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-15 02:29:47 +0900

    Fix a stack-buffer-overflow bug

    http://ci.rvm.jp/results/trunk_asan@ruby-sp1/5408428
    ```
    ==3159643==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x796cf8f09041 at pc 0x6539bbf68ded bp 0x796cfadffcf0 sp 0x796cfadff4b8
    READ of size 2 at 0x796cf8f09041 thread T13
        #0 0x6539bbf68dec in strlen (/tmp/ruby/build/trunk_asan/ruby+0x18edec) (BuildId: cca267c7ae091060e1b82a6b4ed1aeaf00edebab)
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12089

commit 7e2f9eaccd008e1ef91411145112f5820a05580b
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-11-15 02:04:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-15 02:04:48 +0900

    YJIT: Specialize Integer#pred (#12082)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit fd4b27472ead7294d1e6bdab1d29cd3a28786da6
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-15 00:25:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-15 00:25:59 +0900

    Do not wait connection attempt delay without in progress fds (#12087)

    Do not wait Connection Attempt Delay without in progress fds

    Reset Connection Attempt Delay when connection fails and there is no other socket connection in progress.
    This is intended to resolve an issue that was temporarily worked around in Pull Request #12062.

    `TCPServer::new` (used in tests such as `TestNetHTTP_v1_2_chunked#test_timeout_during_non_chunked_streamed_HTTP_session_write`) can only connect over either IPv6 or IPv4, depending on the environment.
    Since HEv2 attempts to connect over IPv6 first, environments where IPv6 connections are unavailable return ECONNREFUSED immediately.
    In such cases, the client should immediately retry the connection over IPv4.
    However, HEv2 includes a specification for a "Connection Attempt Delay," where it waits 250ms after the previous connection attempt before starting the next one.
    This delay causes Net::OpenTimeout (100ms) to be exceeded while waiting for the next connection attempt to start.

    With this change, when a connection attempt fails, if there are sockets still attempting to connect and there are addresses yet to be tried, the Connection Attempt Delay will be resetted, allowing the next connection attempt to start immediately.

    ---

    Additionally, the following minor fixes have been made:

    - The `nfds` value used for select(2) is now reset with each wait.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 54ff9d35253d73f3acea5b9b861b44cdb044c7e6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-14 22:11:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-14 22:50:05 +0900

    Remove dependency of version.c on gc/gc.h

    version.c does not depend on gc/gc.h.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12088

commit 42501015b4ffac67671cc5e1daedbacf5840d71b
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-11 21:04:12 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-14 19:46:36 +0900

    rb_raise when attempting to set the GC implementation name

    Instead of silently ignoring the key, we should raise to clearly tell
    the user that this key is read-only.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11872

commit 6795fc4981d29e10da73a9eb23069d7f914115da
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-09 05:58:53 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-14 19:46:36 +0900

    rb_bug if rb_gc_impl_active_gc_name is too long

    This avoids the need to malloc, and reduces the complexity of truncating
    the long string for display in RUBY_DESCRIPTION.

    The developer of a GC implementation should be responsible for giving it
    a succinct name.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11872

commit ee290c94a3dd0327f3407edb02272d37470edc95
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-09 05:30:06 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-14 19:46:36 +0900

    Include the currently active GC in RUBY_DESCRIPTION

    This will add +MOD_GC to the version string and Ruby description when
    Ruby is compiled with shared gc support.

    When shared GC support is compiled in and a GC module has been loaded
    using RUBY_GC_LIBRARY, the version string will include the name of
    the currently active GC as reported by the rb_gc_active_gc_name function
    in the form

    +MOD_GC[gc_name]

    [Feature #20794]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11872

commit fa10441981c89deec914ba243360b40c5aede6ed
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-08 20:16:14 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-14 19:46:36 +0900

    Expose GC.config[:implementation], to query the currently active GC

    And a default and readonly key to the GC.config hash that names the
    current GC implementation.

    This is provided by each implementation by the API function
    rb_gc_impl_active_gc_name

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11872

commit 8a4ce4e9a9245c67f5b2b3c360c1400a16ad2c58
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-14 14:46:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-14 16:44:01 +0900

    [rubygems/rubygems] URI::DEFAULT_PARSER.escape is obsoleted. We should use URI::RFC2396_PARSER.escape explicitly

    https://github.com/rubygems/rubygems/commit/64f026c9d4

commit 331f1647d76079cc974faf7a10381f4f68e5430d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-14 14:39:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-14 16:44:01 +0900

    [rubygems/rubygems] Revert "mustermann depends on URI::RFC2396_PARSER behavior"

    This reverts commit https://github.com/rubygems/rubygems/commit/82b25dd75afd.

    https://github.com/rubygems/rubygems/commit/16adf53f23

commit 0f5e3dca5a5856aec2fc916a4b566f0047680b84
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-14 12:48:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-14 12:49:15 +0900

    [ruby/uri] Bump up v1.0.2

    https://github.com/ruby/uri/commit/e46960a467

commit 310e6603a27bcfd8e505756150e4e5d7f1e20611
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-14 11:58:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-14 12:32:13 +0900

    [ruby/uri] Check existence constants only URI module

    https://github.com/ruby/uri/commit/b6f583369a

commit 43285f543b4ab12431a21e6b253c6520c1a69663
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-14 11:22:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-14 11:22:14 +0900

    [ruby/pp] Bump up v0.6.1

    https://github.com/ruby/pp/commit/812933668d

commit 7ece47e0de0f3a22752a4c1b9f7d9466d32d8f0d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-12 04:45:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    Update vendored thor to 1.3.2

commit 99c35edae1e98c77ac258513bf2f201b447a559d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-12 04:44:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    Update vendored timeout to 0.4.2

commit d9c754ab442109a654ea3a89f551b0b05f121f6f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-12 04:42:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    Update vendored securerandom to 0.3.2

commit 0ef7d59ef2230db26162c2b17338cfdda7abc9e8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-12 04:41:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    Update vendored resolv to 0.5.0

commit 26036b1248598bd0788681f7902b5874a16a7736
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-12 04:38:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    Update vendored net-http to 0.5.0

commit 570336b80fa533ced117aef58be7b99ce9739d93
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-12 04:36:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    Update vendored fileutils to 1.7.3

commit cadf559a99a8a9f6e9c8a4b4c1aad32cf1350a4b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-12 04:33:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    Update vendored optparse to 0.6.0

commit abb6f5c8bc2dba500414e47c6d433d1856749517
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-09 04:17:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    [rubygems/rubygems] Fix `bin/rake spec:all` task

    Only in CI, if two different test runs are started (like `bin/rake
    spec:all` does), the second one would not install the dev version of
    Bundler and would fail to start.

    This commit makes it work the same locally and in CI.

    https://github.com/rubygems/rubygems/commit/7a5ca6c40f

commit bf569c80ea7e2482d6023f5aa5658f7d4a1febc1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-09 03:37:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    [rubygems/rubygems] I don't see how this could happen

    https://github.com/rubygems/rubygems/commit/8b6f9b7f05

commit 4fc82519a0a60d6f863764c9f2b355f2054ea1f5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-09 03:36:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    [rubygems/rubygems] Make sure `bundle viz` specs are actually run

    These are marked as realworld, but the realworld workflow file does not
    install graphviz, so the specs are actually skipped.

    These are not actually realworld, so remove that tag. Now they'll be run
    together with the reset of specs in the standard workflow file, which
    does install `graphviz`.

    https://github.com/rubygems/rubygems/commit/e865fcaa22

commit a0f1f161452e9a8c3d017ffbfce5744c775b668f
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-08-24 13:29:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    asn1: fix ObjectId#==

    Compare by the dotted decimal notation rather than the NID.

    OpenSSL::ASN1::ObjectId can store OIDs that are not registered in
    OpenSSL's internal table. NID is not defined for such an OID, but it is
    not an error.

    The == method also should not raise TypeError if the other object is
    not an instance of OpenSSL::ASN1::ObjectId.

    Fixes: https://github.com/ruby/openssl/issues/791

commit 4e7e2e9e8914e1fcbe8410634393525a183b491c
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-11-01 18:54:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    [ruby/openssl] pkcs7: fix memory leak in error path of PKCS7.new and .read_smime

    A follow-up to commit https://github.com/ruby/openssl/commit/27e11f2d1dcd and https://github.com/ruby/openssl/commit/07eceb7f6326. The PKCS7 object
    must be freed before raising an exception.

    https://github.com/ruby/openssl/commit/172eee4665

commit 419fb2f3b94d8b7ccb462177667070e13ed9df8a
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-07-09 21:15:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    [ruby/openssl] x509: fix handling of multiple URIs in Certificate#crl_uris

    The implementation of OpenSSL::X509::Certificate#crl_uris makes the
    assumption that each DistributionPoint in the CRL distribution points
    extension contains a single general name of type URI. This is not
    guaranteed by RFC 5280. A DistributionPoint may contain zero or more
    than one URIs.

    Let's include all URIs found in the extension. If only non-URI pointers
    are found, return nil.

    Fixes: https://github.com/ruby/openssl/issues/775

    https://github.com/ruby/openssl/commit/71f4fef2fa

commit 97be56fc62e942d882ad12ea299240415cdf404f
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-07-09 21:09:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    [ruby/openssl] test_x509cert.rb: break up test_extension into smaller units

    test_extesion is testing too many features at once and is hard to
    navigate. Let's split each chunk apart for more clarity.

    https://github.com/ruby/openssl/commit/461cfcb070

commit a4183781ec2ed00585932575ce48e0c561dc6dc4
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-13 21:34:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-14 11:21:39 +0900

    [ruby/json] Only use the key cache if the Hash is in an Array

    Otherwise the likeliness of seeing that key again is really low, and looking up
    the cache is just a waste.

    Before:

    ```
    == Parsing small hash (65 bytes)
    ruby 3.4.0dev (2024-11-13T12:32:57Z fstr-update-callba.. https://github.com/ruby/json/commit/9b44b455b3) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json   343.049k i/100ms
                      oj   213.943k i/100ms
              Oj::Parser    31.583k i/100ms
               rapidjson   303.433k i/100ms
    Calculating -------------------------------------
                    json      3.704M (± 1.5%) i/s  (270.01 ns/i) -     18.525M in   5.003078s
                      oj      2.200M (± 1.1%) i/s  (454.46 ns/i) -     11.125M in   5.056526s
              Oj::Parser    285.369k (± 4.8%) i/s    (3.50 μs/i) -      1.453M in   5.103866s
               rapidjson      3.216M (± 1.6%) i/s  (310.95 ns/i) -     16.082M in   5.001973s

    Comparison:
                    json:  3703517.4 i/s
               rapidjson:  3215983.0 i/s - 1.15x  slower
                      oj:  2200417.1 i/s - 1.68x  slower
              Oj::Parser:   285369.1 i/s - 12.98x  slower

    == Parsing test from oj (258 bytes)
    ruby 3.4.0dev (2024-11-13T12:32:57Z fstr-update-callba.. https://github.com/ruby/json/commit/9b44b455b3) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json    54.539k i/100ms
                      oj    41.473k i/100ms
              Oj::Parser    24.064k i/100ms
               rapidjson    51.466k i/100ms
    Calculating -------------------------------------
                    json    549.386k (± 1.6%) i/s    (1.82 μs/i) -      2.781M in   5.064316s
                      oj    417.003k (± 1.3%) i/s    (2.40 μs/i) -      2.115M in   5.073047s
              Oj::Parser    226.500k (± 4.7%) i/s    (4.42 μs/i) -      1.131M in   5.005466s
               rapidjson    526.124k (± 1.0%) i/s    (1.90 μs/i) -      2.676M in   5.087176s

    Comparison:
                    json:   549385.6 i/s
               rapidjson:   526124.3 i/s - 1.04x  slower
                      oj:   417003.4 i/s - 1.32x  slower
              Oj::Parser:   226500.4 i/s - 2.43x  slower
    ```

    After:

    ```
    == Parsing small hash (65 bytes)
    ruby 3.4.0dev (2024-11-13T12:32:57Z fstr-update-callba.. https://github.com/ruby/json/commit/9b44b455b3) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json   361.394k i/100ms
                      oj   217.203k i/100ms
              Oj::Parser    28.855k i/100ms
               rapidjson   303.404k i/100ms
    Calculating -------------------------------------
                    json      3.859M (± 2.9%) i/s  (259.13 ns/i) -     19.515M in   5.061302s
                      oj      2.191M (± 1.6%) i/s  (456.49 ns/i) -     11.077M in   5.058043s
              Oj::Parser    315.132k (± 7.1%) i/s    (3.17 μs/i) -      1.587M in   5.065707s
               rapidjson      3.156M (± 4.0%) i/s  (316.88 ns/i) -     15.777M in   5.008949s

    Comparison:
                    json:  3859046.5 i/s
               rapidjson:  3155778.5 i/s - 1.22x  slower
                      oj:  2190616.0 i/s - 1.76x  slower
              Oj::Parser:   315132.4 i/s - 12.25x  slower

    == Parsing test from oj (258 bytes)
    ruby 3.4.0dev (2024-11-13T12:32:57Z fstr-update-callba.. https://github.com/ruby/json/commit/9b44b455b3) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json    55.682k i/100ms
                      oj    40.343k i/100ms
              Oj::Parser    25.119k i/100ms
               rapidjson    51.500k i/100ms
    Calculating -------------------------------------
                    json    555.808k (± 1.4%) i/s    (1.80 μs/i) -      2.784M in   5.010092s
                      oj    412.283k (± 1.7%) i/s    (2.43 μs/i) -      2.098M in   5.089900s
              Oj::Parser    279.306k (±13.3%) i/s    (3.58 μs/i) -      1.356M in   5.022079s
               rapidjson    517.177k (± 2.7%) i/s    (1.93 μs/i) -      2.626M in   5.082352s

    Comparison:
                    json:   555808.3 i/s
               rapidjson:   517177.1 i/s - 1.07x  slower
                      oj:   412283.2 i/s - 1.35x  slower
              Oj::Parser:   279306.5 i/s - 1.99x  slower
    ```

    https://github.com/ruby/json/commit/00c45ddc9f

commit 1bab8bf88fdd23d9a86131a43fac7736c88e4608
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-13 12:02:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-14 11:20:04 +0900

    [ruby/uri] Removed duplicated declare step for constants under the URI::RFC2396_REGEXP::PATTERN

    https://github.com/ruby/uri/commit/60a8bc1575

commit 1d6c986104afa77f5874cd2f8441682e59b2097a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-13 12:01:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-14 11:20:04 +0900

    [ruby/uri] Restore constants like URI::REGEXP::PATTERN::IPV6ADDR

    https://github.com/ruby/uri/commit/ee9a38701a

commit 30e1d6b5a894966ab9144cd50c7ce47020ea86be
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-11-14 06:17:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-14 06:17:29 +0900

    YJIT: Add inline_block_count stat (#12081)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 907146973a7aeb85d1748cb427e87d914d86a3b9
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-11-14 04:46:29 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-11-14 05:27:26 +0900

    Add a comment about Integer#downto Enumerator

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12074

commit 01db456196e17eb067f70eb1d4fceba143a51c01
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-11-13 13:47:48 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-11-14 05:27:26 +0900

    Move Array#map to Ruby

    Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12074

commit c9a5a71695af4596346e70f29dddb9ddb6106177
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-11-13 13:39:32 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-11-14 05:27:26 +0900

    Move Array#select to Ruby

    Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12074

commit d57d85548f92143054d90af11b00a25e0239bce0
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-11-13 13:35:38 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-11-14 05:27:26 +0900

    Move Integer#downto to Ruby

    Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12074

commit beafae97505f9def3967e958bb1f7bc7fd7b9a7a
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-11-14 02:25:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-14 02:25:09 +0900

    YJIT: Specialize `String#[]` (`String#slice`) with fixnum arguments (#12069)

    * YJIT: Specialize `String#[]` (`String#slice`) with fixnum arguments

    String#[] is in the top few C calls of several YJIT benchmarks:
    liquid-compile rubocop mail sudoku

    This speeds up these benchmarks by 1-2%.

    * YJIT: Try harder to get type info for `String#[]`

    In the large generated code of the mail gem the context doesn't have
    the type info.  In that case if we peek at the stack and add a guard
    we can still apply the specialization
    and it speeds up the mail benchmark by 5%.

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 202a377d215483fa6e4c52b210574720096d1593
  Author:     Alexis Bernard <alexis@basesecrete.com>
  AuthorDate: 2024-11-14 01:13:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-14 01:13:21 +0900

    [ruby/rdoc] Split list of class and instance methods in two
    (https://github.com/ruby/rdoc/pull/1206)

    Looking for a method is easier because eyes don't have to skip dashes or
    double colon.

    https://github.com/ruby/rdoc/commit/6852567640

commit 6deeec5d459ecff5ec4628523b14ac7379fd942e
  Author:     Jean byroot Boussier <jean.boussier+github@shopify.com>
  AuthorDate: 2024-11-13 23:20:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-13 23:20:00 +0900

    Mark strings returned by Symbol#to_s as chilled  (#12065)

    * Use FL_USER0 for ELTS_SHARED

    This makes space in RString for two bits for chilled strings.

    * Mark strings returned by `Symbol#to_s` as chilled

    [Feature #20350]

    `STR_CHILLED` now spans on two user flags. If one bit is set it
    marks a chilled string literal, if it's the other it marks a
    `Symbol#to_s` chilled string.

    Since it's not possible, and doesn't make much sense to include
    debug info when `--debug-frozen-string-literal` is set, we can't
    include allocation source, but we can safely include the symbol
    name in the warning message, making it much easier to find the source
    of the issue.

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

    ---------

    Co-authored-by: Étienne Barrié <etienne.barrie@gmail.com>
    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 37a16c7812f5b7e6faa762b927e9f04065cc495a
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-13 21:17:49 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-13 22:14:24 +0900

    string.c: preserve coderange when interning a string

    Since `str_do_hash` will most likely scan the string to
    compute the coderange, we might as well copy it over in the
    interned string in case it's useful later.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12077

commit fae86a701edf9afef6b05199fe8f6651b1e155ea
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-13 17:34:45 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-13 21:32:32 +0900

    string.c: Directly create strings with the correct encoding

    While profiling msgpack-ruby I noticed a very substantial amout of time
    spent in `rb_enc_associate_index`, called by `rb_utf8_str_new`.

    On that benchmark, `rb_utf8_str_new` is 33% of the total runtime,
    in big part because it cause GC to trigger often, but even then
    `5.3%` of the total runtime is spent in `rb_enc_associate_index`
    called by `rb_utf8_str_new`.

    After closer inspection, it appears that it's performing a lot of
    safety check we can assert we don't need, and other extra useless
    operations, because strings are first created and filled as ASCII-8BIT
    and then later reassociated to the desired encoding.

    By directly allocating the string with the right encoding, it allow
    to skip a lot of duplicated and useless operations.

    After this change, the time spent in `rb_utf8_str_new` is down
    to `28.4%` of total runtime, and most of that is GC.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12076

commit bfb4783c0133e2b3b39093c439100dbe1b546c4e
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-12 19:53:35 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-13 18:29:07 +0900

    Move `Symbol#name` into `symbol.rb`

    This allows to declare it as leaf just like `Symbol#to_s`.

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

commit ae733a693b8c5eaea44841c58c1507ffcf3b2d58
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-11 21:32:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-13 17:35:40 +0900

    [rubygems/rubygems] Include original error when openssl fails to load

    https://github.com/rubygems/rubygems/commit/440343b791

commit 38b07a7feee2afb229882f270af1947273f13a2f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-13 16:43:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-13 16:54:20 +0900

    Revert force_activate feature. It's unnecessary for Ruby 3.4.

    I will add this feature for Ruby 3.5 again.

commit 233576843721a551fa276ba5c3cf19b38fa4ead1
  Author:     HoneyryderChuck <cardoso_tiago@hotmail.com>
  AuthorDate: 2024-10-20 01:09:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-13 16:25:51 +0900

    [ruby/openssl] make bn shareable when frozen

    https://github.com/ruby/openssl/commit/d3c8e661e8

commit 0f28be6ab9384ff3345c655d6dc04550222ed7fd
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-11-13 12:36:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-13 16:09:58 +0900

    [CI] add GCC 14

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12073

commit 942ec7ab338c783c95dc119b9161466f1dbb82b3
  Author:     Orien Madgwick <497874+orien@users.noreply.github.com>
  AuthorDate: 2024-11-13 13:20:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-13 14:07:53 +0900

    [ruby/uri] Remove rakelib/ dir from gem also

    https://github.com/ruby/uri/commit/a0dd612e90

commit 7d5fdd97cce8c6ac321ee0f5e63e969656247af8
  Author:     Orien Madgwick <497874+orien@users.noreply.github.com>
  AuthorDate: 2024-11-11 11:34:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-13 14:07:53 +0900

    [ruby/uri] Remove unused files from the gem package

    https://github.com/ruby/uri/commit/f0847c266c

commit 441069c093ab0d21efff1f0f3144fdf412f9f675
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-12 19:34:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-13 13:47:36 +0900

    We can't handle optional dependency without new API of Rubygems.

    I don't want to make bundled_gems.rb more complex and complicate.

    Revert "Fixed warning condition with LoadError"

    This reverts commit 3a9e48b9a4860022f43d8101c0f3249299437886.

    Revert "Only warn fiddle as optional dependency"

    This reverts commit ff3f61556fb62d12d57d017f4c54f1a8fd5208be.

    Revert "Only `warn` about bundled gems when require succeeds"

    This reverts commit a70adce1ce5fae8eaae385214ac0d2e7d17c1103.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12072

commit ee1cd1656fc667840282a4e9c3f2cc5e3154e50e
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-13 03:52:39 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-13 04:21:27 +0900

    ObjectSpace.dump: handle Module#set_temporary_name

    [Bug #20892]

    Until the introduction of that method, it was impossible for a
    Module name not to be valid JSON, hence it wasn't going through
    the slower escaping function.

    This assumption no longer hold.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12067

commit 6c123649cd9631342395096cf735835820c208b6
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-11-10 23:00:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 23:20:39 +0900

    [ruby/prism] Use RbConfig to locate libprism and headers when it is a default gem

    * This is notably necessary on TruffleRuby, which is updating to Ruby 3.3 which introduces Prism as a default gem.
    * Using the existing path is not an option as it would end up in truffleruby/lib/build/libprism.so and
      "truffleruby/lib/include/#{header}" which are not good places for such files.

    https://github.com/ruby/prism/commit/5d16473e69

commit eca3680c274030215dc941584acb975a88a51fcb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-12 07:03:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 23:19:46 +0900

    [ruby/prism] Fix use of uninitialized value when parsing regexp

    Parsing the regexp /\A{/ causes uses an uninitialized value because it
    tries to parse it as a range quantifier, so it reads the character after
    the closing curly bracket. This is using uninitialized values because
    prism strings are not null terminated. This can be seen in the Valgrind
    output:

        ==834710== Conditional jump or move depends on uninitialised value(s)
        ==834710==    at 0x5DA010: pm_regexp_parse_range_quantifier (regexp.c:163)
        ==834710==    by 0x5DA010: pm_regexp_parse_quantifier (regexp.c:243)
        ==834710==    by 0x5DAD69: pm_regexp_parse_expression (regexp.c:738)
        ==834710==    by 0x5DAD69: pm_regexp_parse_pattern (regexp.c:761)
        ==834710==    by 0x5DAD69: pm_regexp_parse (regexp.c:773)
        ==834710==    by 0x5A2EE7: parse_regular_expression_named_captures (prism.c:20886)
        ==834710==    by 0x5A2EE7: parse_expression_infix (prism.c:21388)
        ==834710==    by 0x5A5FA5: parse_expression (prism.c:21804)
        ==834710==    by 0x5A64F3: parse_statements (prism.c:13858)
        ==834710==    by 0x5A9730: parse_program (prism.c:22011)
        ==834710==    by 0x576F0D: parse_input_success_p (extension.c:1062)
        ==834710==    by 0x576F0D: parse_success_p (extension.c:1084)

    This commit adds checks for the end of the string to
    pm_regexp_parse_range_quantifier.

    https://github.com/ruby/prism/commit/be6cbc23ef

commit fee706d9dd52d7f0444357259f33d335f21c980b
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-12 19:14:05 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-12 19:14:05 +0900

    Allow Net::HTTP#request to raise Net::OpenTimeout (#12062)

    with a TCPSoerver that is only listening
    to avoid AssertionFailedError on Ubuntu.

    ---

    The tests such as
    `TestNetHTTP_v1_2_chunked#test_timeout_during_non_chunked_streamed_HTTP_session_write`
    expect to raise a `Net::WriteTimeout` due to a failure in writing to the server.

    However, on Ubuntu environments,
    the server immediately returns a "Connection Refused" in such cases.
    The socket created with `TCPSocket.new` that supports HEv2 catches this immediately
    and raises a `Net::OpenTimeout`.
    As a result, these tests fail due to raising a different exception than expected.
    This PR adds `Net::OpenTimeout` asexceptions to avoid these test failures.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit dc08d6e9172c655c770d91c5d5fba5beda431a7d
  Author:     License Update <license.update@rubygems.org>
  AuthorDate: 2024-11-12 03:56:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 17:06:36 +0900

    [rubygems/rubygems] Update SPDX license list as of 2024-08-19

    https://github.com/rubygems/rubygems/commit/5a094cbfab

commit f17cfb49580b400aec307710e2d27788c493cb72
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-12 16:09:40 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-12 16:40:52 +0900

    Add missing macros for `__has_builtin`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12060

commit 8409edc4971f34cf0d77c375909c5b8f7b1e058a
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-11-05 11:05:59 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-11-12 16:33:21 +0900

    Fix regex timeout double-free after stack_double

    As of 10574857ce167869524b97ee862b610928f6272f, it's possible to crash
    on a double free due to `stk_alloc` AKA `msa->stack_p` being freed
    twice, once at the end of match_at and a second time in `FREE_MATCH_ARG`
    in the parent caller.

    Fixes [Bug #20886]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12030

commit da151ab1e7ff62d55b16d677a74f0a472081497b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-12 15:04:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 15:04:57 +0900

    [ruby/io-console] Bump up v0.8.0.beta1

    https://github.com/ruby/io-console/commit/8ec27d403e

commit 0452b3fabbd2c4c673665fd3f4b08a54841d0b8e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-12 14:24:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 14:25:15 +0900

    [ruby/io-console] Update license files same as ruby/ruby

    https://github.com/ruby/io-console/commit/c9e3f44268

commit 9c5290138a52f1c78c01e135e2cc6543be4d31a3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-12 13:09:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 13:09:58 +0900

    [ruby/zlib] Bump up v3.2.0

    https://github.com/ruby/zlib/commit/7bb6d982fe

commit a7d510808df26715de1eab0ba80adb535b1aea16
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-12 11:09:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-12 11:37:16 +0900

    [DOC] `--with-opt-dir` options and `CONFIGURE_ARGS`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12059

commit bf741c6fac4613c597a2dffe8a3856a950a154bd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-12 11:29:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 11:34:23 +0900

    [ruby/pp] Fixed file list for pp gem

    https://github.com/ruby/pp/commit/b192896a1d

commit 9a55375df723e3b8ab4d710b0dbf7729fd4e0ca5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-12 11:31:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-12 11:31:40 +0900

    Removed unused variable

commit 400f78939cbe0b7ab8790062598fd8ac6d4584c3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-12 11:18:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 11:18:17 +0900

    [ruby/pp] Bump up v0.6.0

    https://github.com/ruby/pp/commit/af2229e8e6

commit 83702f7157a8c74dd4d7d6d79dea78d90a7b6570
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-07-12 19:23:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 11:13:15 +0900

    [ruby/pp] Handle BasicObject

    Right now attempting to pretty print a BasicObject or any other
    object lacking a few core Object methods will result in an error

    ```
    Error: test_basic_object(PPTestModule::PPInspectTest): NoMethodError: undefined method `is_a?' for an instance of BasicObject
    lib/pp.rb:192:in `pp'
    lib/pp.rb:97:in `block in pp'
    lib/pp.rb:158:in `guard_inspect_key'
    lib/pp.rb:97:in `pp'
    test/test_pp.rb:131:in `test_basic_object'
         128:
         129:   def test_basic_object
         130:     a = BasicObject.new
      => 131:     assert_match(/\A#<BasicObject:0x[\da-f]+>\n\z/, PP.pp(a, ''.dup))
         132:   end
         133: end
         134:
    ```

    With some fairly small changes we can fallback to `Object#inspect`
    which is better than an error.

    https://github.com/ruby/pp/commit/4e9f6c2de0

commit 107a4da122126e6d0e0ad12898d7511e472709a3
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-07 19:47:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 11:11:43 +0900

    [ruby/pp] Data#pretty_print handle privated or removed members

    [Bug #20808]

    The previous implementation assumed all members are accessible,
    but it's possible for users to change the visibility of members or
    to entirely remove the accessor.

    https://github.com/ruby/pp/commit/fb19501434

commit 4c270200dbc2a3a4511e8b793a033078afd6fb31
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-11-12 10:06:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-12 10:06:48 +0900

    [Feature #120782] Introduction of Happy Eyeballs Version 2 (RFC8305) in TCPSocket.new (#11653)

    * Introduction of Happy Eyeballs Version 2 (RFC8305) in TCPSocket.new

    This is an implementation of Happy Eyeballs version 2 (RFC 8305) in `TCPSocket.new`.
    See https://github.com/ruby/ruby/pull/11653

    1. Background
    Prior to this implementation, I implemented Happy Eyeballs Version 2 (HEv2) for `Socket.tcp` in https://github.com/ruby/ruby/pull/9374.
    HEv2 is an algorithm defined in [RFC 8305](https://datatracker.ietf.org/doc/html/rfc8305), aimed at improving network connectivity.
    For more details on the specific cases that HEv2 helps, please refer to https://bugs.ruby-lang.org/issues/20108.

    2. Proposal & Outcome
    This proposal implements the same HEv2 algorithm in `TCPSocket.new`.
    Since `TCPSocket.new` is used more widely than `Socket.tcp`, this change is expected to broaden the impact of HEv2's benefits.
    Like `Socket.tcp`, I have also added `fast_fallback` keyword argument to `TCPSocket.new`.
    This option is set to true by default, enabling the HEv2 functionality.
    However, users can explicitly set it to false to disable HEv2 and use the previous behavior of `TCPSocket.new`.

    It should be noted that HEv2 is enabled only in environments where pthreads are available.
    This specification follows the approach taken in https://bugs.ruby-lang.org/issues/19965 , where name resolution can be interrupted.
    (In environments where pthreads are not available, the `fast_fallback` option is ignored.)

    3. Performance
    Below is the benchmark of 100 requests to `www.ruby-lang.org` with the fast_fallback option set to true and false, respectively.
    While there is a slight performance degradation when HEv2 is enabled, the degradation is smaller compared to that seen in `Socket.tcp`.

    ```
    ~/s/build ❯❯❯ ../install/bin/ruby ../ruby/test.rb
    Rehearsal --------------------------------------------------------
    fast_fallback: true    0.017588   0.097045   0.114633 (  1.460664)
    fast_fallback: false   0.014033   0.078984   0.093017 (  1.413951)
    ----------------------------------------------- total: 0.207650sec

                               user     system      total        real
    fast_fallback: true    0.020891   0.124054   0.144945 (  1.473816)
    fast_fallback: false   0.018392   0.110852   0.129244 (  1.466014)
    ```

    * Update debug prints

    Co-authored-by: Nobuyoshi Nakada <nobu.nakada@gmail.com>

    * Remove debug prints

    * misc

    * Disable HEv2 in Win

    * Raise resolution error with hostname resolution

    * Fix to handle errors

    * Remove warnings

    * Errors that do not need to be handled

    * misc

    * Improve doc

    * Fix bug on cancellation

    * Avoid EAI_ADDRFAMILY for resolving IPv6

    * Follow upstream

    * misc

    * Refactor connection_attempt_fds management

    - Introduced allocate_connection_attempt_fds and reallocate_connection_attempt_fds for improved memory allocation of connection_attempt_fds
    - Added remove_connection_attempt_fd to resize connection_attempt_fds dynamically.
    - Simplified the in_progress_fds function to only check the size of connection_attempt_fds.

    * Rename do_pthread_create to raddrinfo_pthread_create to avoid conflicting

    ---------

    Co-authored-by: Nobuyoshi Nakada <nobu.nakada@gmail.com>

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 821a5b966fbc2926dc3bf88b6ba09879fa35318e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-11-12 03:27:28 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-11-12 06:35:57 +0900

    YJIT: Probe away from the heap when requesting exec memory

    I was looking at some crash reports and noticed that many have a line
    like the following for YJIT code memory:

        <addr>-<addr> r-xp 00000000 00:00 0  [heap]

    I guess YJIT confused the kernel into thinking this region is from
    sbrk(). While this seems to have no consequences beyond mislabeling,
    it's still a little concerning.

    Probe downwards instead.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12058

commit 1d1c80e6443e21a7e10d9d4987b0deb1ef8ec374
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-12 05:45:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-12 05:45:11 +0900

    Fix false-positive memory leak using Valgrind in YJIT (#12057)

    When we run with RUBY_FREE_AT_EXIT, there's a false-positive memory leak
    reported in YJIT because the METHOD_CODEGEN_TABLE is never freed. This
    commit adds rb_yjit_free_at_exit that is called at shutdown when
    RUBY_FREE_AT_EXIT is set.

    Reported memory leak:

        ==699816== 1,104 bytes in 1 blocks are possibly lost in loss record 1 of 1
        ==699816==    at 0x484680F: malloc (vg_replace_malloc.c:446)
        ==699816==    by 0x155B3E: UnknownInlinedFun (unix.rs:14)
        ==699816==    by 0x155B3E: UnknownInlinedFun (stats.rs:36)
        ==699816==    by 0x155B3E: UnknownInlinedFun (stats.rs:27)
        ==699816==    by 0x155B3E: alloc (alloc.rs:98)
        ==699816==    by 0x155B3E: alloc_impl (alloc.rs:181)
        ==699816==    by 0x155B3E: allocate (alloc.rs:241)
        ==699816==    by 0x155B3E: do_alloc<alloc::alloc::Global> (alloc.rs:15)
        ==699816==    by 0x155B3E: new_uninitialized<alloc::alloc::Global> (mod.rs:1750)
        ==699816==    by 0x155B3E: fallible_with_capacity<alloc::alloc::Global> (mod.rs:1788)
        ==699816==    by 0x155B3E: prepare_resize<alloc::alloc::Global> (mod.rs:2864)
        ==699816==    by 0x155B3E: resize_inner<alloc::alloc::Global> (mod.rs:3060)
        ==699816==    by 0x155B3E: reserve_rehash_inner<alloc::alloc::Global> (mod.rs:2950)
        ==699816==    by 0x155B3E: hashbrown::raw::RawTable<T,A>::reserve_rehash (mod.rs:1231)
        ==699816==    by 0x5BC39F: UnknownInlinedFun (mod.rs:1179)
        ==699816==    by 0x5BC39F: find_or_find_insert_slot<(usize, fn(&mut yjit::codegen::JITState, &mut yjit::backend::ir::Assembler, *const yjit::cruby::autogened::rb_callinfo, *const yjit::cruby::autogened::rb_callable_method_entry_struct, core::option::Option<yjit::codegen::BlockHandler>, i32, core::option::Option<yjit::cruby::VALUE>) -> bool), alloc::alloc::Global, hashbrown::map::equivalent_key::{closure_env#0}<usize, usize, fn(&mut yjit::codegen::JITState, &mut yjit::backend::ir::Assembler, *const yjit::cruby::autogened::rb_callinfo, *const yjit::cruby::autogened::rb_callable_method_entry_struct, core::option::Option<yjit::codegen::BlockHandler>, i32, core::option::Option<yjit::cruby::VALUE>) -> bool>, hashbrown::map::make_hasher::{closure_env#0}<usize, fn(&mut yjit::codegen::JITState, &mut yjit::backend::ir::Assembler, *const yjit::cruby::autogened::rb_callinfo, *const yjit::cruby::autogened::rb_callable_method_entry_struct, core::option::Option<yjit::codegen::BlockHandler>, i32, core::option::Option<yjit::cruby::VALUE>) -> bool, std::hash::random::RandomState>> (mod.rs:1413)
        ==699816==    by 0x5BC39F: hashbrown::map::HashMap<K,V,S,A>::insert (map.rs:1754)
        ==699816==    by 0x57C5C6: insert<usize, fn(&mut yjit::codegen::JITState, &mut yjit::backend::ir::Assembler, *const yjit::cruby::autogened::rb_callinfo, *const yjit::cruby::autogened::rb_callable_method_entry_struct, core::option::Option<yjit::codegen::BlockHandler>, i32, core::option::Option<yjit::cruby::VALUE>) -> bool, std::hash::random::RandomState> (map.rs:1104)
        ==699816==    by 0x57C5C6: yjit::codegen::reg_method_codegen (codegen.rs:10521)
        ==699816==    by 0x57C295: yjit::codegen::yjit_reg_method_codegen_fns (codegen.rs:10464)
        ==699816==    by 0x5C6B07: rb_yjit_init (yjit.rs:40)
        ==699816==    by 0x393723: ruby_opt_init (ruby.c:1820)
        ==699816==    by 0x393723: ruby_opt_init (ruby.c:1767)
        ==699816==    by 0x3957D4: prism_script (ruby.c:2215)
        ==699816==    by 0x3957D4: process_options (ruby.c:2538)
        ==699816==    by 0x396065: ruby_process_options (ruby.c:3166)
        ==699816==    by 0x236E56: ruby_options (eval.c:117)
        ==699816==    by 0x15BAED: rb_main (main.c:43)
        ==699816==    by 0x15BAED: main (main.c:62)

    After this patch, there are no more memory leaks reported when running
    RUBY_FREE_AT_EXIT with Valgrind on an empty Ruby script:

        $ RUBY_FREE_AT_EXIT=1 valgrind --leak-check=full ruby -e ""
        ...
        ==700357== HEAP SUMMARY:
        ==700357==     in use at exit: 0 bytes in 0 blocks
        ==700357==   total heap usage: 36,559 allocs, 36,559 frees, 6,064,783 bytes allocated
        ==700357==
        ==700357== All heap blocks were freed -- no leaks are possible

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 64827b15e8a1437d12bb387137f2928655232838
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-12 05:13:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-12 05:13:24 +0900

    [ruby/json] Fix $VERBOSE restore

    Manually sync this commit that was missed.

    https://github.com/ruby/json/commit/6ae9155

commit db0c7be6423dbe8ddcb8a525d7a72e0c4c95e72e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-07 22:05:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 04:24:42 +0900

    [rubygems/rubygems] Add a `lockfile_checksums` configuration to include checksums in fresh lockfiles

    https://github.com/rubygems/rubygems/commit/50b9ef8589

commit 8672e88cd2c983917c38f6c1c138b3de55607b96
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-09 05:01:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-12 03:38:40 +0900

    Make ObjectSpace::WeakMap#[]= return Qnil

    Instead of returning some obscure value in ObjectSpace::WeakMap#[]= that's
    not even useful, we can just simply return Qnil.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12037

commit 6a3eb384cebce1558ddda563bce61f39c494264f
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-11-10 01:51:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-12 01:23:00 +0900

    [DOC] Tweaks for array indexes

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12044

commit 071d0eca8efc2e6ef1f41d2bb42eb94037e4b88d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-11-09 07:37:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-12 01:21:13 +0900

    [DOC] Sort items in What's Here

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12039

commit 25d17868de058cd857ec04496222b101be9a5429
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-12 00:31:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-12 00:31:04 +0900

    [ruby/reline] Refactor perform_completon
    (https://github.com/ruby/reline/pull/778)

    Flatten recursive method
    Remove CompletionState::COMPLETE

    https://github.com/ruby/reline/commit/aa5b278f3d

commit 3ac5c053279c9a567fe1fa336840fd86f730c5e5
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-11-09 07:22:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-11 23:43:30 +0900

    [DOC] Tweaks for Array#|

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12038

commit a1148d4aada8b3bb2e1c370766baad11c28edf23
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-06 21:11:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-11 21:49:26 +0900

    [rubygems/rubygems] Cancel `bundle console` deprecation

    https://github.com/rubygems/rubygems/commit/506a863b36

commit d1f921ebdd4d5ee667211ca22bd8599bd33fe756
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-11 17:54:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 18:22:47 +0900

    Added -j2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12051

commit 4ae2dbbe459f9eb5acf29cf3fd28def7d7c1b859
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-11 17:53:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 18:22:47 +0900

    Fixed dependencies name

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12051

commit 4100d650d7610b7aeaf7f269c83650660eb29336
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-11 17:50:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 18:22:47 +0900

    Use cygwin Ruby

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12051

commit 0867ca3407dfc4d0a35a74eb95c0d8ebc7cb655e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-11 16:51:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 18:22:47 +0900

    Try to build with Cygwin

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12051

commit 461fa56e1014d00c03f459ef6afc2c7626c824df
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-11 17:59:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-11 18:00:08 +0900

    [ruby/securerandom] Bump up v0.3.2

    https://github.com/ruby/securerandom/commit/9703d96a76

commit a6ad6f350d7607103c5591402fc1a28b900199ac
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-11 12:06:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-11 12:07:12 +0900

    [ruby/resolv] Bump up v0.5.0

    https://github.com/ruby/resolv/commit/c4837aae9b

commit 25252677f91605ab545b4005b69a52ac8e19063d
  Author:     Joe Rafaniello <jrafanie@gmail.com>
  AuthorDate: 2024-11-09 01:57:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-11 11:42:53 +0900

    [ruby/uri] Fix minor typo from
    https://github.com/ruby/uri/commit/9997c1acee

    https://github.com/ruby/uri/commit/c191b627cb

commit bb6a3edadfd71b712acd8c375cd127359a34fddd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-08 20:20:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:53:28 +0900

    Bump vendored uri to 1.0.1

commit 1b137a94a486104d6f886b079919d561796106e4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 15:25:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:41:04 +0900

    [ruby/psych] Bump up v5.2.0

    https://github.com/ruby/psych/commit/6ea07fdadd

commit c457f7211739eeeb4e9f4e714e27471e80da8ca5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 15:04:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:41:03 +0900

    [ruby/psych] Bump up v5.2.0.beta7

    https://github.com/ruby/psych/commit/6609955e68

commit 318bb6a28a1e8973f43230e62ad6493553f13d72
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 14:52:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:41:02 +0900

    [ruby/psych] Bump up v5.2.0.beta6

    https://github.com/ruby/psych/commit/b89064efa5

commit 6e002609aa66651e71593a2c6be109aa7b0c8a39
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 14:24:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:41:01 +0900

    [ruby/psych] Bump up v5.2.0.beta5

    https://github.com/ruby/psych/commit/48e5af8454

commit db34be164eaa9efba2c70612e7bef677212ae99c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 13:57:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:41:00 +0900

    [ruby/psych] Bump up v5.2.0.beta4

    https://github.com/ruby/psych/commit/288febbc87

commit 1b6a26e23a43564de2e221f1b123e749bd3403d6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-08 01:22:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:40:11 +0900

    [ruby/json] JSON.load_file: explictly load the file as UTF-8

    Fix: https://github.com/ruby/json/issues/697

    This way even if `Encoding.default_external` is set to a weird value
    the document will be parsed just fine.

    https://github.com/ruby/json/commit/3a8505a8fa

commit 58317328b6b2bdb2f76a565e95af6c37c727881a
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-07 16:49:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:40:10 +0900

    [ruby/json] Rename parse_float into parse_number

    https://github.com/ruby/json/commit/e51e796697

commit c991f75c19d787ba461037304c78c1ed6ca7c837
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-11-07 10:12:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:40:10 +0900

    [ruby/json] Reduce comparisons when parsing numbers

    Before this commit, we would try to scan for a float, then if that
    failed, scan for an integer.  But floats and integers have many bytes in
    common, so we would end up scanning the same bytes multiple times.

    This patch combines integer and float scanning machines so that we only
    have to scan bytes once.  If the machine finds "float parts", then it
    executes the "isFloat" transition in the machine, which sets a boolean
    letting us know that the parser found a float.

    If we didn't find a float, but we did match, then we know it's an int.

    https://github.com/ruby/json/commit/0c0e0930cd

commit f1be046a1d0a4d6acaec4580d5c885e3b81468af
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-07 02:35:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:40:09 +0900

    [ruby/json] Release 2.8.1

    https://github.com/ruby/json/commit/49650f7312

commit a78cb959ec92dabb0bb1049649860b4582378866
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-07 02:32:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:40:08 +0900

    [ruby/json] Fix gemspec to include .jar files

    Fix: https://github.com/ruby/json/issues/694

    This was lost during the .gemspec merge and not noticed
    because it was falling back to loading the jars from the
    stdlib.

    https://github.com/ruby/json/commit/07cf261251

commit a75fabf6a7974cff17f4db683da2e314ee1872f6
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-11-09 15:49:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:28:40 +0900

    Bump version

commit a23c6db5c52dccd670a530f08662adf485ab5151
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-11-09 15:33:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-11 09:19:48 +0900

    [ruby/fiddle] Accept Symbol as Function name again

    GitHub: fix https://github.com/ruby/fiddle/pull/159

    It's used by FFI test. So Symbol may be used by other use cases.

    https://github.com/ruby/fiddle/pull/139 introduced the "Function name is String" limitation. This
    commit removed the limitation.

    Reported by Mamoru TASAKA. Thanks!!!

    https://github.com/ruby/fiddle/commit/cea30fe5f9

commit 5eaa4c76c64c5d14e826fbd0eeef014643f9fb27
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-11-11 04:11:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-11 04:11:58 +0900

    [ruby/reline] Remove unused things from reline/unicode.rb
    (https://github.com/ruby/reline/pull/759)

    * Remove garbage(nil) from Reline::Unicode.split_by_width result

    * Remove unused width from Reline::Unicode vi_ ed_ em_ method return value

    * Remove unused height from Unicode.split_by_width return value

    * Rename split_by_width to split_line_by_width and add legacy split_by_width for IRB

    https://github.com/ruby/reline/commit/f32446ebc4

commit bce1bd1dc168f41e6d41c19e5a4cefb618fb9e29
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-10 22:52:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-10 22:52:17 +0900

    rb_strlen_lit: support wide string literals

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12046

commit 2f88a9258da4b9d8922c0892bff8f1015555be34
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-10 21:57:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-10 21:57:56 +0900

    Fix sign-conversion warnings on IL32 platforms

    If `long` and `int` are the same size, `unsigned int` max would exceed
    `signed long` range.  It is guaranteed by `RB_POSFIXABLE` that `v` can
    be casted to `long` safely here.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12045

commit e8accdb22e1038d98bd88feab4fa3ccfab7de533
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-10 21:31:43 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-10 21:31:43 +0900

    Make `MUNICODE_FLAG` simply expanded

    It is not expected that `target_os` will change going forward.

commit 9588319e72a110fc303482d64cc073292d707a33
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-09 20:37:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-09 20:37:40 +0900

    [Bug #20800] Use config target for bin directory as-is

    The "target" in `RbConfig::CONFIG` is being changed from config.sub to
    align to the system `uname`. Use the value modified by config.sub, and
    make the directory same as GNU utilities, such as binutils.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12043

commit 379bbd6d9c1269809aea4566da0727eaf3f77c32
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-09 19:58:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-09 19:58:44 +0900

    [Bug #20800] Move executable binary file path

    From under "libexec", under `$(target)/bin` like as binutils.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12043

commit 303a52c201a693345cf789e9fb7edbcefcb34ec9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-08 18:43:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-09 19:16:58 +0900

    [Bug #20800] Locate executable binary file under "libexec" directly

    "libexec" means the directory for executable or binary files already.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12043

commit e83eca01a1616f54e403146c2c942aadc203d49c
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-11-09 15:58:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-09 15:58:40 +0900

    Update bundled gems list as of 2024-11-08

commit 2694585fb38fcb2becaa7c65d8a1ec0b0b320b9b
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-11-09 13:26:53 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-11-09 14:13:15 +0900

    Fix race condition in test_self_stop

    This test was relying on a sleep to synchronise the parent and child
    processes. By having the child be the process that stops itself with
    SIGSTOP, instead of the parent, we can actually properly wait for that
    using waitpid2 and be notified of the stop.

    This use of sleep to synchronise processes is potentially flaky and
    caused failures under rr's `--chaos` mode.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12042

commit c8c94bfb1edd6e1e045d503dfba9a96077306a27
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-10-24 14:32:55 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-11-09 10:39:19 +0900

    Fix benign off-by-one

    Previously we always reserved one more byte than necessary in the
    sprintf output string.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12029

commit 1f6dd9071c7994dd639d2e1cf2fe04e944173f17
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-10-23 11:22:37 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-11-09 10:39:19 +0900

    Fix update_coderange for binary strings

    Although a binary (aka ASCII-8BIT) string will never have a broken
    coderange, it still has to differentiate between "valid" and "7bit".

    On Ruby 3.4/trunk this problem is masked because we now clear the
    coderange more agressively in rb_str_resize, and we happened to always
    be strinking this string, but we should not assume that.

    On Ruby 3.3 this created strings where `ascii_only?` was true in cases
    it shouldn't be as well as other problems.

    Fixes [Bug #20883]

    Co-authored-by: Daniel Colson <danieljamescolson@gmail.com>
    Co-authored-by: Matthew Draper <matthew@trebex.net>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12029

commit 51ffef281996727c60571771cd07c1459ba58cd2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-09 04:33:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-09 05:43:41 +0900

    Fix memory leak in prism when syntax error in iseq compilation

    If there's a syntax error during iseq compilation then prism would leak
    memory because it would not free the pm_parse_result_t.

    This commit changes pm_iseq_new_with_opt to have a rb_protect to catch
    when an error is raised, and return NULL and set error_state to a value
    that can be raised by calling rb_jump_tag after memory has been freed.

    For example:

        10.times do
          10_000.times do
            eval("/[/=~s")
          rescue SyntaxError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        39280
        68736
        99232
        128864
        158896
        188208
        217344
        246304
        275376
        304592

    After:

        12192
        13200
        14256
        14848
        16000
        16000
        16000
        16064
        17232
        17952

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12036

commit 72550d269ea89cd0bfcede7ad01a7c70ed01ba06
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-11-09 04:56:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-09 04:56:44 +0900

    [DOC] Doc for Array#zip (#11961)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit dccfab0c5348629223080bfd0cfd82be4163c9ad
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-11-09 04:09:55 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-09 04:09:55 +0900

    YJIT: Always abandon the block when gen_branch() or defer_compilation() fails

    In [1], we started checking for gen_branch failures, but I made two
    crucial mistakes. One, defer_compilation() had the same issue as
    gen_branch() but wasn't checked. Two, returning None from a codegen
    function does not throw away the block. Checking how gen_single_block()
    handles codegen functions, you can see that None terminates the block
    with an exit, but does not overall return an Err. This handling is fine
    for unimplemented instructions, for example, but incorrect in case
    gen_branch() fails. The missing branch essentially corrupts the
    block; adding more code after a missing branch doesn't correct the code.

    Always abandon the block when defer_compilation() or gen_branch() fails.

    [1]: cb661d7d82984cdb54485ea3f4af01ac21960882
    Fixup: [1]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12035

    Merged-By: XrXr

commit 6767117b07ecb825edb7ee82a27d7d05b6a9b79a
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-11-08 07:36:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-09 00:50:54 +0900

    [ruby/prism] Fix splat after kwsplat

    https://github.com/ruby/prism/commit/70c1cd480f

commit 4b4c94b17cf5eb6d068bfa1186815391dedb19a3
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-11-07 23:41:58 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-11-09 00:29:55 +0900

    CI: In parse.y runs, use ./configure --with-parser=parse.y

    Because tests might not use the command-line --parser option, or be
    aware that they should be, it's better to test with the default
    parser set.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12025

commit 39537e07fe606b8b05ce2a07368f1341fe96db5d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-08 19:04:07 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-09 00:08:03 +0900

    Check bignum multiplication digits overflow

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12034

commit edb1c8215d849726adb8011a7dff9d38a73baa61
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-08 18:35:52 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-09 00:08:03 +0900

    Add integer overflow check macros for add/sub as well as mul

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12034

commit d1969474e9762d2ca293efadce0f68da0c2137c0
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-11-08 01:46:35 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-11-09 00:06:47 +0900

    YJIT: Pass panic message to rb_bug()

    So that the Rust panic message is forwarded to the RUBY_CRASH_REPORT
    system, instead of only the static "YJIT panicked" message done so
    previously. This helps with triaging crashes since it's easier than
    trying to parse stderr output.

    Sample:

        <internal:yjit_hook>:2: [BUG] YJIT: panicked at src/codegen.rs:1197:5:
        explicit panic
        ...

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12027

commit fbe35bcc825fbae215f6ff283731f5e2f4a55a88
  Author:     samisalamiws <62200850+samisalamiws@users.noreply.github.com>
  AuthorDate: 2022-01-17 20:47:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 21:15:31 +0900

    [rubygems/rubygems] Fix private registry credentials being written to logs

    https://github.com/rubygems/rubygems/commit/d070fa10c1

    Co-authored-by: Artem Ignatyev <zazubrik@gmail.com>

commit 10d694a1ffdcdaae67a693bb68c4bd658ec2d157
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-12 20:40:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 21:06:32 +0900

    [rubygems/rubygems] Warn on insecure materialization

    https://github.com/rubygems/rubygems/commit/bc2537de71

commit 7cb0bb43b9e465b8f2b36d143c2df44641d2f395
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-06 22:51:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 21:06:31 +0900

    [rubygems/rubygems] Fix typo

    https://github.com/rubygems/rubygems/commit/f68a2c30bb

commit 8869c3117a5a28032a3fdabd97955020966f15b3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-06 22:31:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 21:06:31 +0900

    [rubygems/rubygems] Simplify tests that deal with lockfile using only "ruby" platform

    Using an old bundler version was necessary at the beginning because we
    checked the version of Bundler being run in order to enable the new
    behavior. But we removed that a long time ago and now we only look at
    whether the lockfile only includes "ruby" as a platform or not.

    https://github.com/rubygems/rubygems/commit/8fc3d38ff3

commit 7f2db157320bd516132458fe56c492c3b02dec28
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-03 00:31:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 21:06:30 +0900

    [rubygems/rubygems] Small tweak

    https://github.com/rubygems/rubygems/commit/98641d21a2

commit 4d83f37ff75bc5819c02e37aafd403a00433ec96
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 00:53:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 21:06:30 +0900

    [rubygems/rubygems] Reduce global state

    https://github.com/rubygems/rubygems/commit/43c0c41c6b

commit ebf07f7a9c2988848424e2acc6cd5a5bb90ba9c4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-18 01:02:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 21:06:29 +0900

    [rubygems/rubygems] Remove unnecessary attribute

    It's defined in the superclass already.

    https://github.com/rubygems/rubygems/commit/e269f5477b

commit bf35b2c0feb972a952e8815d8ca3154891eccee7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-18 00:49:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 21:06:29 +0900

    [rubygems/rubygems] Cleaner extension of `Gem::Specification` to be able to set source

    https://github.com/rubygems/rubygems/commit/3749273ec6

commit 50e6363ea4da73c4ed3080e9c322f3bcd89560dc
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-17 00:55:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 21:06:28 +0900

    [rubygems/rubygems] Remove accessor that's been unused for years

    https://github.com/rubygems/rubygems/commit/ffd2fbaf6c

commit 88fa4fe5897d9cf6d41739deaa2f564b03eb7d55
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-16 23:23:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 21:06:28 +0900

    [rubygems/rubygems] Make sure platforms in spec lockfile are properly sorted

    https://github.com/rubygems/rubygems/commit/99b4ac4548

commit fde6d189b23a5d471d212509ab1a6609718c74fe
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-08 20:53:21 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-08 20:53:21 +0900

    Avoid calculating large powers

    ... for slow CI machines like macOS.

commit c348a4fd7ae7b50cc8839693aab87457a0aba6f7
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-08 15:46:12 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-08 19:48:56 +0900

    Avoid interger multiplication overflow

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12033

commit 45cd4a8296814f3b082dfb906cdef29974726731
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-08 14:46:35 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-08 19:48:56 +0900

    Do not round `a**b` to infinity

    ... instead, just calculate the value unless it is too big.
    Also, this change raises an ArgumentError if it is expected to exceed
    16 GB in a 64-bit environment.

    (It is possible to calculate it straightforward, but it would likely be
    out-of-memory, so I didn't think it would make sense.)

    [Feature #20811]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12033

commit f7b334e002eba25e386917337771b65bed5297f8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-07 02:42:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 19:27:03 +0900

    [rubygems/rubygems] Add `bundle lock --add-checksums` to add checksums to an existing lockfile

    https://github.com/rubygems/rubygems/commit/0a9c1ce60d

commit 1f62a98f737285e1e5bf3262081b5205a6d139f9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-07 03:01:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 19:26:45 +0900

    [rubygems/rubygems] Remove no longer necessary hacks to define the `gem` command

    We did this because RubyGems `require` would call `gem` on self, so
    defining a `gem` method in the CLI would cause conflicts. However, this
    is not the case since
    https://github.com/rubygems/rubygems/commit/439c4464890958fec17b3aa65b9d3a4dbdd3bf90,
    so this should no longer be necessary.

    https://github.com/rubygems/rubygems/commit/3e5c861046

commit 1615996067b91f7e7e2b9c239b25247b4471e8b9
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-07 09:50:12 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-08 18:02:46 +0900

    specify NOINLINE for LTO

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11142

commit 78064d0770c40af89f9a57eb111a27fba00b2ec8
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-06 16:04:35 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-08 18:02:46 +0900

    skip `SystemStackError`

    with -O0 build, prism parser consumes a lot of machine stack and
    it doesn't work with minimum machine stack for threads, which
    specified with `RUBY_THREAD_MACHINE_STACK_SIZE=1`.

    So simply ignore `SystemStackError` for btest.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11142

commit 97aaf6f760259c639dc3ceb3a80fe82411649569
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-06 02:31:29 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-08 18:02:46 +0900

    introduce `rb_ec_check_ints()`

    to avoid TLS issue with N:M threads.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11142

commit 0d63b9b4a49d7477b5201f5d40ecd64916cd0e43
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-05 11:49:21 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-08 18:02:46 +0900

    check closing flag

    `Ractor.receive` and `Ractor.yield` should stop when the
    incoming/outgoing port is closed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11142

commit 4886a54d74338c8a9c57312b51331296a2d506df
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-05 10:57:04 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-08 18:02:46 +0900

    fix rjit-bindgen info

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11142

commit 8d88d35fc1ae183cee48f3819ac6cd709c96d285
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-05 10:56:19 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-08 18:02:46 +0900

    correct dependencies

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11142

commit aa63699d10e489bc6d9c13406fc47f581001568b
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-05 04:54:06 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-08 18:02:46 +0900

    support `require` in non-main Ractors

    Many libraries should be loaded on the main ractor because of
    setting constants with unshareable objects and so on.

    This patch allows to call `requore` on non-main Ractors by
    asking the main ractor to call `require` on it. The calling ractor
    waits for the result of `require` from the main ractor.

    If the `require` call failed with some reasons, an exception
    objects will be deliverred from the main ractor to the calling ractor
    if it is copy-able.

    Same on `require_relative` and `require` by `autoload`.

    Now `Ractor.new{pp obj}` works well (the first call of `pp` requires
    `pp` library implicitly).

    [Feature #20627]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11142

commit 075a102c937969c62a6798b32b3c3188df91a075
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-05 04:43:24 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-08 18:02:46 +0900

    `Ractor.[]` and `Ractor.[]=`

    `Ractor#[]/[]=` is only for accessors to the current ractor, so that
    `Ractor.[]/[]=` is simpler.
    [Feature #20715]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11142

commit f0d0c030c04c1c3949ac85a37b7d4bf8acebface
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-05 03:57:48 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-08 18:02:46 +0900

    `Ractor.main?`

    to return the current ractor is the main ractor.
    (== `Ractor.current == Ractor.main`)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11142

commit c8297c3eed571e978dded34dd2036a53d6f28bb3
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-05 03:55:52 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-08 18:02:46 +0900

    `interrupt_exec`

    introduce
    - rb_threadptr_interrupt_exec
    - rb_ractor_interrupt_exec

    to intercept the thread/ractor execution.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11142

commit 35d8427b8b393e1ea6977872d9246e1527927d59
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-08 15:07:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 15:07:54 +0900

    [ruby/uri] Bump up v1.0.1

    https://github.com/ruby/uri/commit/3011eb6f6e

commit d7c65398e0a3d4f1e1201effc96929c7f102e37b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-08 15:05:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 15:06:30 +0900

    [ruby/uri] Added more fallback constants like URI::PARTTERN and URI::REGEXP

    Fixed https://github.com/ruby/uri/issues/125

    https://github.com/ruby/uri/commit/1f3d3df02a

commit 7772fe05bcb212a96684ea763b7e5c70dc2d848e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-08 14:18:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 14:18:39 +0900

    [ruby/win32-registry] Bump up v0.1.0

    https://github.com/ruby/win32-registry/commit/a87076ee42

commit 7c9cda9b52b6eabde597f265b652c8fdac5aa801
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-08 14:00:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 14:00:24 +0900

    [ruby/time] Bump up v0.4.1

    https://github.com/ruby/time/commit/539b151049

commit a698b5ebb88ceb54cad4d50abdb4fbc2197eb237
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-08 13:22:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 13:22:33 +0900

    [ruby/optparse] Bump up v0.6.0

    https://github.com/ruby/optparse/commit/080360ffd4

commit 475e8f8c46e9712c32ccd0c33d651dcb7851f6f7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-08 13:05:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 13:05:28 +0900

    [ruby/pstore] Bump up v0.1.4

    https://github.com/ruby/pstore/commit/a63a70a830

commit ae785d88bf8d77c7ea0e431afa39d57481596e85
  Author:     Daisuke Fujimura (fd0) <booleanlabel@gmail.com>
  AuthorDate: 2024-11-06 21:28:19 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-08 12:57:06 +0900

    `EXE_LDFLAGS` uses the same `MUNICODE_FLAG`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12015

commit 07f45065a7546872192f92fa3b28d0c1bfeb6941
  Author:     Daisuke Fujimura (fd0) <booleanlabel@gmail.com>
  AuthorDate: 2024-11-06 10:01:35 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-08 12:57:06 +0900

    `-municode` is available for MinGW-w64 targets only

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12015

commit 82dfdb8646ca075b4c1f1750069a83040cc1d0c8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-08 12:53:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 12:54:21 +0900

    [ruby/singleton] Bump up v0.3.0

    https://github.com/ruby/singleton/commit/256c91171b

commit 306ce9a9e0f2fe9fe3ec17bf284bcbb22d8a4450
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-11-08 12:38:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 12:38:15 +0900

    [ruby/reline] Bump version to 0.5.11
    (https://github.com/ruby/reline/pull/777)

    https://github.com/ruby/reline/commit/4d90743409

commit b99c17a95bb70064c5526689811c1550a530350f
  Author:     YO4 <ysno@ac.auone-net.jp>
  AuthorDate: 2024-11-08 12:28:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 12:28:57 +0900

    [ruby/reline] Windows fix (https://github.com/ruby/reline/pull/775)

    * test_yamatanooroti: close tempfile before unlink

    * test_yamatanooroti: omit because of windows does not support job control

    * test_yamatanooroti: change startup message detection for windows

    * windows.rb: can call win32api using nil as NULL for pointer argument

    Exception occurred when interrupted with Ctrl+C on legacy conhost

    * windows.rb: fix get_screen_size

    return [window height, buffer width] insted of [buffer height, buffer width]

    * windows.rb: import scroll_down() from ansi.rb

    * windows.rb: add auto linewrap control if VT output not supported (legacy console)

    * unfreeze WIN32API pointer arguments

    They internally duplicate arguments so api functions write to another place.
    This breaks the console mode detection with ruby-head.

    * remove useless code from Win32API#call

    argument repacking and return value tweaking is not needed for Reline::Windows requirements.

    * Correctly handle top of console viewport

    * Revert "remove useless code from Win32API#call"

    This reverts commit https://github.com/ruby/reline/commit/060ba140ed43.

    * Revert "windows.rb: can call win32api using nil as NULL for pointer argument"

    This reverts commit https://github.com/ruby/reline/commit/93a23bc5d0c9.

    https://github.com/ruby/reline/commit/47c1ffbabe

commit 3406e8aad9f43b03b50cef7263fd6f7ae9f38804
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-08 11:45:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 11:45:51 +0900

    [ruby/benchmark] Bump up v0.4.0

    https://github.com/ruby/benchmark/commit/a5d77ceae0

commit 9523f53465bff9e77dfeba82526112e2de91bdb4
  Author:     Kaíque Kandy Koga <kaiquekandykoga@gmail.com>
  AuthorDate: 2022-08-09 02:53:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-08 11:32:30 +0900

    [ruby/benchmark] Adjust ljust Benchmark#bm with labels was not using the highest length among the labels to adjust the correct ljust. Instead of printing the result during the report generation, now it is waiting to print the result once it is generated.

    Benchmark.bm { |x|
      x.item("aaaa") { 1 }
      x.item("aaaaaaaa") { 0 }
    }

    After

                  user     system      total        real
    aaaa      0.000005   0.000002   0.000007 (  0.000003)
    aaaaaaaa  0.000001   0.000001   0.000002 (  0.000002)

    Before

           user     system      total        real
    aaaa  0.000005   0.000001   0.000006 (  0.000003)
    aaaaaaaa  0.000002   0.000001   0.000003 (  0.000003)

    https://github.com/ruby/benchmark/commit/3e74533ead

commit b56b70a373753fd5c6d1b6df911342c8d0138695
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-08 10:44:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-08 11:27:33 +0900

    Temporary removed gmp because vcpkg package is broken.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12032

commit 74077a99bfdb62c66cbabd9a111c24fe9c2fa66c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-08 10:34:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 10:35:02 +0900

    [ruby/ostruct] Bump up v0.6.1

    https://github.com/ruby/ostruct/commit/b38680089f

commit c05f849cf25c8de7221e148eb72c3d59b2c89dbb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-08 10:24:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-08 10:27:59 +0900

    [ruby/ostruct] Update license files same as ruby/ruby

    https://github.com/ruby/ostruct/commit/85a773bb41

commit fca07d73e3778a782fd719ceda606a62f028d1dc
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-11-07 23:35:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-07 23:35:19 +0900

    Respect RUBY_CRASH_REPORT path when RUBY_ASSERT() fails

    Previously, it always used stderr. Slight shuffle of the first line
    of the crash due to reusing code from rb_bug():

    ```diff
    -Assertion Failed: /ruby/object.c:649:rb_obj_itself:false
    +/ruby/object.c:649: Assertion Failed: rb_obj_itself:false
    ```

    Tested locally to confirm that it writes to the file given with
    RUBY_CRASH_REPORT. Follow-up for [Feature #19790].

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12019

    Merged-By: XrXr

commit 3f7c72cd33566eb11497c1d41c2b94c98c364882
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2024-11-07 21:51:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-07 21:52:01 +0900

    [ruby/irb] Correct ja/help-message for --context-mode and --prompt
    (https://github.com/ruby/irb/pull/1029)

    https://github.com/ruby/irb/commit/b21432daf7

commit 6385a28c3359d0083117541a0db7de06aab556fb
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-11-07 21:47:12 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-11-07 21:47:43 +0900

    Quarantine unreliable spec

    * See discussion on https://github.com/ruby/spec/pull/1210

commit ee29aade1a432cbd5e4d5ec6ea6ccb4fa87361be
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-07 21:03:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-07 21:03:37 +0900

    [Bug #20869] Discard read buffer and encoding converters at seeking

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12023

commit 1701ddea73cf482289361c7559ad42e2694f65f1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-07 19:33:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-07 19:33:41 +0900

    [Bug #20802] Copy encodings at reopen as well

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12022

commit ffcfaf4ce4eba4975f6ef79bf4b6c898180107f2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-06 01:55:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-07 19:03:54 +0900

    [rubygems/rubygems] Undeprecate Gemfiles without a global source

    After having a second look at this deprecation, the explanation that
    we're giving does not make a lot of sense. When working only with local
    gems, Bundler will indeed generate a different lockfile depending on
    the latest installed version of each gem is at `bundle install` time.

    That's the same situation that happens with remote sources: Bundler will
    generate a different lockfile depending on the latest version of each
    gem available remotely.

    So, I don't think "a consistent lockfile not getting generated" is a
    good motivation for deprecating this.

    Also, this deprecation brings additional challenges, since for example,
    it should arguably not get printed when using `bundle install --local`?

    The original problem when this deprecation was introduced was an
    incorrect message about a missing gem having been yanked.

    So, I think a better solution is to, as long as we give proper error
    messages when things go wrong, let users do what's best for them and
    undo the deprecation.

    https://github.com/rubygems/rubygems/commit/17499cb83f

commit df3395f2e301e7739dda5b7455e8c6b1c25b334d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 12:55:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-07 18:45:05 +0900

    [ruby/fcntl] Fixup gemspec files

    https://github.com/ruby/fcntl/commit/9e14019f53

commit fb6645a51095469ab6eac9a819c36c70743de7fa
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 15:52:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-07 15:52:30 +0900

    [ruby/uri] Bump up v1.0.0

    https://github.com/ruby/uri/commit/af8d9d6bb1

commit 33a80fc0cd77d4dd8d32d25c71ee4c5b102e01b0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 13:50:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-07 13:50:30 +0900

    [ruby/psych] Bump up v5.2.0.beta3

    https://github.com/ruby/psych/commit/d9e18aaab7

commit f102901f9a7c0a75f45ad908c84dbe80783e7daa
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 13:43:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-07 13:43:40 +0900

    [ruby/psych] Bump up v5.2.0.beta2

    https://github.com/ruby/psych/commit/a0c353ec97

commit f87ec81e087c14e3bff1f67177619a148caa6a11
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-07 13:18:26 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-07 13:18:57 +0900

    Prevent method redefinition warnings in test

commit 6a39e6fc2d0db590ad605f7af9c99d32c64c6a22
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-07 13:17:54 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-07 13:18:57 +0900

    Prevent a warning: ambiguous `/`

commit 4e5ea9f056e4c77e3720d412bb95d9ec4e7da6ed
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 12:52:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-07 12:52:11 +0900

    [ruby/fcntl] Bump up v1.2.0

    https://github.com/ruby/fcntl/commit/3292a8a862

commit 0193f6c2889795014c2707d8e3dd943a303a13c3
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-11-07 12:19:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-07 12:19:42 +0900

    [DOC] Doc for Array#values_at (#11960)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 72bc6984192cd7489afafd70a60567e0f87b1ecc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 11:39:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-07 11:39:23 +0900

    [ruby/net-http] Bump up v0.5.0

    https://github.com/ruby/net-http/commit/28a4bf9295

commit 048bb1e1763c3ea9208a4049b515c15252f19cf1
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-07 11:28:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-07 11:28:47 +0900

    `ubf_th` appears to be unused. (#11994)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 849e651d510765ee7ec2140430846230b2473fd5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 11:26:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-07 11:26:50 +0900

    [ruby/delegate] Bump up v0.4.0

    https://github.com/ruby/delegate/commit/713059a5e9

commit cf70564c9783d5d48edd0f941df530ffc8493738
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 11:25:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-07 11:26:50 +0900

    [ruby/delegate] Bump up required ruby version to 3.0

    https://github.com/ruby/delegate/commit/6daeb4248f

commit 7c893c8d6bbd1c84b3081d95aac3f8d69f8c20fb
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-07 10:18:48 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-07 10:18:48 +0900

    Loosen the criteria for timing checks of Kernel#sleep

    The test was too flaky

commit 342455e56fb4f5e0601f45c565baa9a909cf680e
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2024-11-07 09:17:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-07 09:17:16 +0900

    [ruby/logger] Enable subclasses to configure level isolation
    (https://github.com/ruby/logger/pull/103)

    `Logger#with_level` was recently added to enable configuring a
    `Logger`'s level for the duration of a block. However, the configured
    level is always tied to the currently running `Fiber`, which is not
    always ideal in applications that mix `Thread`s and `Fiber`s.

    For example, Active Support has provided a similar feature
    (`ActiveSupport::Logger#log_at`) which, depending on configuration, can
    be isolated to either `Thread`s or `Fiber`s.

    This commit enables subclasses of `Logger` to customize the level
    isolation. Ideally, it will enable replacing most of Active Support's
    `#log_at`, since both methods end up serving the same purpose.

    https://github.com/ruby/logger/commit/dae2b832cd

commit 6bc614260db57971889d32f54aa46e1bc7a07f2a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-07 07:56:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-07 07:56:36 +0900

    We should run Check Dependencies always for required status

commit e4c15b8ace76d2a27191fe275b81d73f842cac26
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-07 00:10:15 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-07 07:31:30 +0900

    [ruby/json] Release 2.8.0

    https://github.com/ruby/json/commit/8071cc6f09

commit d188a6883fead74d3468da96c0e3d05efd759a1e
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-06 20:58:23 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-07 07:31:30 +0900

    [ruby/json] Implement a fast path for integer parsing

    `rb_cstr2inum` isn't very fast because it handles tons of
    different scenarios, and also require a NULL terminated string
    which forces us to copy the number into a secondary buffer.

    But since the parser already computed the length, we can much more
    cheaply do this with a very simple function as long as the number
    is small enough to fit into a native type (`long long`).

    If the number is too long, we can fallback to the `rb_cstr2inum`
    slowpath.

    Before:

    ```
    == Parsing citm_catalog.json (1727030 bytes)
    ruby 3.4.0dev (2024-11-06T07:59:09Z precompute-hash-wh.. https://github.com/ruby/json/commit/7943f98a8a) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json    40.000 i/100ms
                      oj    35.000 i/100ms
              Oj::Parser    45.000 i/100ms
               rapidjson    38.000 i/100ms
    Calculating -------------------------------------
                    json    425.941 (± 1.9%) i/s    (2.35 ms/i) -      2.160k in   5.072833s
                      oj    349.617 (± 1.7%) i/s    (2.86 ms/i) -      1.750k in   5.006953s
              Oj::Parser    464.767 (± 1.7%) i/s    (2.15 ms/i) -      2.340k in   5.036381s
               rapidjson    382.413 (± 2.4%) i/s    (2.61 ms/i) -      1.938k in   5.070757s

    Comparison:
                    json:      425.9 i/s
              Oj::Parser:      464.8 i/s - 1.09x  faster
               rapidjson:      382.4 i/s - 1.11x  slower
                      oj:      349.6 i/s - 1.22x  slower
    ```

    After:

    ```
    == Parsing citm_catalog.json (1727030 bytes)
    ruby 3.4.0dev (2024-11-06T07:59:09Z precompute-hash-wh.. https://github.com/ruby/json/commit/7943f98a8a) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json    46.000 i/100ms
                      oj    33.000 i/100ms
              Oj::Parser    45.000 i/100ms
               rapidjson    39.000 i/100ms
    Calculating -------------------------------------
                    json    462.332 (± 3.2%) i/s    (2.16 ms/i) -      2.346k in   5.080504s
                      oj    351.140 (± 1.1%) i/s    (2.85 ms/i) -      1.782k in   5.075616s
              Oj::Parser    473.500 (± 1.3%) i/s    (2.11 ms/i) -      2.385k in   5.037695s
               rapidjson    395.052 (± 3.5%) i/s    (2.53 ms/i) -      1.989k in   5.042275s

    Comparison:
                    json:      462.3 i/s
              Oj::Parser:      473.5 i/s - same-ish: difference falls within error
               rapidjson:      395.1 i/s - 1.17x  slower
                      oj:      351.1 i/s - 1.32x  slower
    ```

    https://github.com/ruby/json/commit/3a4dc9e1b4

commit 29d76d8c8b9e45f51a2fa6819b3854f2423239b0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-06 19:56:34 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-07 07:31:30 +0900

    [ruby/json] Fix right shift warnings

    Ignoring `CHAR_BITS` > 8 platform, as far as `ch` indexes
    `escape_table` that is hard-coded as 256 elements.

    ```
    ../../../../src/ext/json/generator/generator.c(121): warning C4333: '>>': right shift by too large amount, data loss
    ../../../../src/ext/json/generator/generator.c(122): warning C4333: '>>': right shift by too large amount, data loss
    ../../../../src/ext/json/generator/generator.c(243): warning C4333: '>>': right shift by too large amount, data loss
    ../../../../src/ext/json/generator/generator.c(244): warning C4333: '>>': right shift by too large amount, data loss
    ../../../../src/ext/json/generator/generator.c(291): warning C4333: '>>': right shift by too large amount, data loss
    ../../../../src/ext/json/generator/generator.c(292): warning C4333: '>>': right shift by too large amount, data loss
    ```

    https://github.com/ruby/json/commit/fb82373612

commit 6cea370b23b4adee92d5c43be9637cb24769f7d1
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-06 19:53:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-07 07:31:30 +0900

    [ruby/json] parser.rl: parse_string implement a fast path

    If we assume most string don't contain any escape sequence we can avoid
    a lot of costly operations when it holds true.

    Before:

    ```
    == Parsing activitypub.json (58160 bytes)
    ruby 3.4.0dev (2024-11-06T07:59:09Z precompute-hash-wh.. https://github.com/ruby/json/commit/7943f98a8a) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json   884.000 i/100ms
                      oj   789.000 i/100ms
              Oj::Parser   943.000 i/100ms
               rapidjson   584.000 i/100ms
    Calculating -------------------------------------
                    json      8.897k (± 1.3%) i/s  (112.40 μs/i) -     45.084k in   5.068520s
                      oj      7.967k (± 1.5%) i/s  (125.52 μs/i) -     40.239k in   5.051985s
              Oj::Parser      9.564k (± 1.4%) i/s  (104.56 μs/i) -     48.093k in   5.029626s
               rapidjson      5.947k (± 1.4%) i/s  (168.16 μs/i) -     29.784k in   5.009437s

    Comparison:
                    json:     8896.5 i/s
              Oj::Parser:     9563.8 i/s - 1.08x  faster
                      oj:     7966.8 i/s - 1.12x  slower
               rapidjson:     5946.7 i/s - 1.50x  slower

    == Parsing twitter.json (567916 bytes)
    ruby 3.4.0dev (2024-11-06T07:59:09Z precompute-hash-wh.. https://github.com/ruby/json/commit/7943f98a8a) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json    83.000 i/100ms
                      oj    64.000 i/100ms
              Oj::Parser    77.000 i/100ms
               rapidjson    54.000 i/100ms
    Calculating -------------------------------------
                    json    823.083 (± 1.8%) i/s    (1.21 ms/i) -      4.150k in   5.043805s
                      oj    632.538 (± 1.4%) i/s    (1.58 ms/i) -      3.200k in   5.060073s
              Oj::Parser    769.122 (± 1.8%) i/s    (1.30 ms/i) -      3.850k in   5.007501s
               rapidjson    548.494 (± 1.5%) i/s    (1.82 ms/i) -      2.754k in   5.022153s

    Comparison:
                    json:      823.1 i/s
              Oj::Parser:      769.1 i/s - 1.07x  slower
                      oj:      632.5 i/s - 1.30x  slower
               rapidjson:      548.5 i/s - 1.50x  slower

    == Parsing citm_catalog.json (1727030 bytes)
    ruby 3.4.0dev (2024-11-06T07:59:09Z precompute-hash-wh.. https://github.com/ruby/json/commit/7943f98a8a) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json    41.000 i/100ms
                      oj    34.000 i/100ms
              Oj::Parser    45.000 i/100ms
               rapidjson    39.000 i/100ms
    Calculating -------------------------------------
                    json    427.162 (± 1.2%) i/s    (2.34 ms/i) -      2.173k in   5.087666s
                      oj    351.463 (± 2.8%) i/s    (2.85 ms/i) -      1.768k in   5.035149s
              Oj::Parser    461.849 (± 3.7%) i/s    (2.17 ms/i) -      2.340k in   5.074461s
               rapidjson    395.155 (± 1.8%) i/s    (2.53 ms/i) -      1.989k in   5.034927s

    Comparison:
                    json:      427.2 i/s
              Oj::Parser:      461.8 i/s - 1.08x  faster
               rapidjson:      395.2 i/s - 1.08x  slower
                      oj:      351.5 i/s - 1.22x  slower
    ```

    After:

    ```
    == Parsing activitypub.json (58160 bytes)
    ruby 3.4.0dev (2024-11-06T07:59:09Z precompute-hash-wh.. https://github.com/ruby/json/commit/7943f98a8a) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json   953.000 i/100ms
                      oj   813.000 i/100ms
              Oj::Parser   956.000 i/100ms
               rapidjson   563.000 i/100ms
    Calculating -------------------------------------
                    json      9.525k (± 1.2%) i/s  (104.98 μs/i) -     47.650k in   5.003252s
                      oj      8.117k (± 0.5%) i/s  (123.20 μs/i) -     40.650k in   5.008283s
              Oj::Parser      9.590k (± 3.2%) i/s  (104.27 μs/i) -     48.756k in   5.089794s
               rapidjson      6.020k (± 0.9%) i/s  (166.10 μs/i) -     30.402k in   5.050155s

    Comparison:
                    json:     9525.3 i/s
              Oj::Parser:     9590.1 i/s - same-ish: difference falls within error
                      oj:     8116.7 i/s - 1.17x  slower
               rapidjson:     6020.5 i/s - 1.58x  slower

    == Parsing twitter.json (567916 bytes)
    ruby 3.4.0dev (2024-11-06T07:59:09Z precompute-hash-wh.. https://github.com/ruby/json/commit/7943f98a8a) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json    87.000 i/100ms
                      oj    64.000 i/100ms
              Oj::Parser    75.000 i/100ms
               rapidjson    55.000 i/100ms
    Calculating -------------------------------------
                    json    866.563 (± 0.8%) i/s    (1.15 ms/i) -      4.350k in   5.020138s
                      oj    643.567 (± 0.8%) i/s    (1.55 ms/i) -      3.264k in   5.072101s
              Oj::Parser    777.346 (± 3.5%) i/s    (1.29 ms/i) -      3.900k in   5.023933s
               rapidjson    557.158 (± 0.7%) i/s    (1.79 ms/i) -      2.805k in   5.034731s

    Comparison:
                    json:      866.6 i/s
              Oj::Parser:      777.3 i/s - 1.11x  slower
                      oj:      643.6 i/s - 1.35x  slower
               rapidjson:      557.2 i/s - 1.56x  slower

    == Parsing citm_catalog.json (1727030 bytes)
    ruby 3.4.0dev (2024-11-06T07:59:09Z precompute-hash-wh.. https://github.com/ruby/json/commit/7943f98a8a) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
                    json    41.000 i/100ms
                      oj    35.000 i/100ms
              Oj::Parser    40.000 i/100ms
               rapidjson    39.000 i/100ms
    Calculating -------------------------------------
                    json    429.216 (± 1.2%) i/s    (2.33 ms/i) -      2.173k in   5.063351s
                      oj    354.755 (± 1.1%) i/s    (2.82 ms/i) -      1.785k in   5.032374s
              Oj::Parser    465.114 (± 3.7%) i/s    (2.15 ms/i) -      2.360k in   5.081634s
               rapidjson    387.135 (± 1.3%) i/s    (2.58 ms/i) -      1.950k in   5.037787s

    Comparison:
                    json:      429.2 i/s
              Oj::Parser:      465.1 i/s - 1.08x  faster
               rapidjson:      387.1 i/s - 1.11x  slower
                      oj:      354.8 i/s - 1.21x  slower
    ```

    https://github.com/ruby/json/commit/96bd97c61e

commit 8254f6492c49ce7ace6b12af981034083066176e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-06 12:51:06 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-07 07:31:30 +0900

    [ruby/json] Categorize deprecated warning

    https://github.com/ruby/json/commit/1acce7aceb

commit fdc82cca83bbbfe88f90d2888e139a6dde481101
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-11-07 05:57:34 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-11-07 05:58:28 +0900

    Update to ruby/spec@54c391e

commit 9bc63e7ba066b31314bbd66def4932b398eaf4c9
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-11-07 05:57:33 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-11-07 05:58:28 +0900

    Update to ruby/mspec@6499325

commit 35bf6603372360c7680653328274a670fa1d9f38
  Author:     Kasumi Hanazuki <kasumi@rollingapple.net>
  AuthorDate: 2024-11-07 05:55:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-07 05:55:39 +0900

    io_buffer.c: Allow copies between overlapping buffers with #copy and #set_string (#11640)

    The current implementation of `IO::Buffer#copy` and `#set_string` has
    an undefined behavior when the source and destination memory overlaps,
    due to the underlying use of the `memcpy` C function.

    This patch guarantees the methods to be safe even when copying between
    overlapping buffers by replacing `memcpy` with `memmove`,

    Fixes: [Bug #20745]

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 56ecc243e230e8e99761ec0ffc5116601f094bb0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-06 00:45:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-07 00:34:20 +0900

    [Bug #20868] Fix Method#hash to not change after compaction

    The hash value of a Method must remain constant after a compaction, otherwise
    it may not work as the key in a hash table.

    For example:

        def a; end

        # Need this method here because otherwise the iseq may be on the C stack
        # which would get pinned and not move during compaction
        def get_hash
          method(:a).hash
        end

        puts get_hash # => 2993401401091578131

        GC.verify_compaction_references(expand_heap: true, toward: :empty)

        puts get_hash # => -2162775864511574135

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12004

commit 96e695ad00b78cf7090eebdb4cfa9dd3350bd299
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-11-05 11:14:51 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-11-06 23:58:47 +0900

    Fix flakiness in TestGc#test_thrashing_for_young_objects

    I caught a reproduction of this test failing under rr, and was able to
    replay it to isolate the failure. The call to
    `before_stat_heap = GC.stat_heap` is itself allocating a hash, which in
    unlucky circumstances can result in a new page being allocated and thus
    `before_stats[:heap_allocated_pages]` no longer equals
    `after_stats[:heap_allocated_pages]`.

    The solution is to use the form of GC.stat/stat_heap which takes a hash
    as an argument, and thus needs to perform no Ruby allocations itself.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11997

commit 261f5d3202683125651a12519c079ef9d5f303f4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-06 03:20:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 22:16:58 +0900

    [rubygems/rubygems] Add naive infinite loop detection when fixing lockfile dependencies

    https://github.com/rubygems/rubygems/commit/5e933968a2

commit c79d236493c7d4ccfa50bf819c6bd62687c3fea5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-06 03:08:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 22:16:58 +0900

    [rubygems/rubygems] Note about why we don't fix lockfile dependencies backed by installed specs

    https://github.com/rubygems/rubygems/commit/6fa94b5d72

commit 40a2e8e9cfbe6e9003a4deff2bf44fffbee11437
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-04 21:22:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 22:16:57 +0900

    [rubygems/rubygems] This is not about the lockfile anymore

    https://github.com/rubygems/rubygems/commit/f2e0a72291

commit 54f6b787e34c517932def7a6e52c7958281129dd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-03 00:50:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 22:16:57 +0900

    [rubygems/rubygems] Automatically fix lockfile when the API reveals missing deps

    https://github.com/rubygems/rubygems/commit/92196ccfdb

commit a4938e5bc03440ed6db87d20f9c923817af60b62
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-05 20:01:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 22:16:57 +0900

    [rubygems/rubygems] Add missing spec for materializing lockfiles with only "ruby" platform

    https://github.com/rubygems/rubygems/commit/4168a7f488

commit db7455ae659dc4b7b7238e86d7d447ac44349419
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-03 00:34:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 22:16:56 +0900

    [rubygems/rubygems] Check for `EndpointSpecification` exactly

    https://github.com/rubygems/rubygems/commit/8fac200ded

commit 3e7a43e5e8ffcf357ee6ed9f92f5ae16d79119c4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-18 01:43:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 22:16:56 +0900

    [rubygems/rubygems] Simplify code structure

    https://github.com/rubygems/rubygems/commit/a4dd06f095

commit cb49ed2660c4d7700773ae0ede46c9abb4aa5ec2
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-11-06 21:54:37 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-11-06 21:59:38 +0900

    Update ext/openssl/depend

    This is a follow-up to commit e5860e565467cb330f2c7b9ae140a1e4b89c0b71.

commit 84a8b911c16cdd7933598c327a8aaff57032ced5
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-11-04 20:05:52 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-06 20:57:17 +0900

    Store precomputed hash when there's capacity

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11990

commit 350baed6a942c233989d286d0764e8d7571e1eab
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-31 06:27:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 20:37:29 +0900

    [rubygems/rubygems] Fix manifest in gem package using incorrect platform sometimes

    If a gem package is built from a specification whose platform has been
    modified, it will include metadata using the old platform.

    This change should fix the problem by making sure `original_platform` is
    always properly set.

    https://github.com/rubygems/rubygems/commit/ecd5cd4547

commit 8c184885b09d600b4c35fe04be3da0c9c5b36adf
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-05 04:02:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 20:37:10 +0900

    [rubygems/rubygems] Fix some JRuby warnings when using `bundler/setup` with Ruby's -w flag

    When using the `bundler/setup` entrypoint, Bundler prints the following
    warnings in JRuby in `-w` is passed to Ruby.

    ```
    /path/to/bundler/shared_helpers.rb:10: warning: constant Bundler::WINDOWS is deprecated
    /path/to/bundler/shared_helpers.rb:11: warning: constant Bundler::FREEBSD is deprecated
    /path/to/bundler/lib/bundler/shared_helpers.rb:12: warning: constant Bundler::NULL is deprecated
    ```

    This does not happen in CRuby.

    This seems like a JRuby bug but we can skip it by autoloading the
    constants.

    https://github.com/rubygems/rubygems/commit/761ca29fa2

commit e5860e565467cb330f2c7b9ae140a1e4b89c0b71
  Author:     HoneyryderChuck <cardoso_tiago@hotmail.com>
  AuthorDate: 2024-10-30 01:48:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 19:17:41 +0900

    [ruby/openssl] move ractor safe macro to ossl.h

    in order to import or define the RUBY_TYPED_FROZEN_SHAREABLE macro.

    https://github.com/ruby/openssl/commit/b8504c2215

commit 3b9896acfcaf992ac233578ca8ec5bb69978de4a
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-06 18:19:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-06 18:19:40 +0900

    Revert "Introduce Fiber Scheduler `blocking_region` hook. (#11963)" (#12013)

    This reverts some of commit 87fb44dff6409a19d12052cf0fc07ba80a4c45ac.

    We will rename and propose a slightly different interface.

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 82008d38e01f8b0b3f808a91841b8d7682f5a45a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-06 17:57:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 17:57:59 +0900

    [ruby/shellwords] Bump up v0.2.1

    https://github.com/ruby/shellwords/commit/ee08b981ac

commit 8f4227b664d8e74fc81adf0b31b2951c40fce0ea
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-06 17:37:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 17:37:52 +0900

    [ruby/open-uri] Bump up v0.5.0

    https://github.com/ruby/open-uri/commit/8f5a4ef6f9

commit 0c59048b3a981a80d57d2318c37b36e24180415d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-06 17:26:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 17:26:55 +0900

    [ruby/timeout] Bump up v0.4.2

    https://github.com/ruby/timeout/commit/2f52522994

commit 7d9e9eabe7d6c53f5a24297b6275d8935648e3b7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-06 17:04:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 17:05:01 +0900

    [ruby/tmpdir] Bump up v0.3.0

    https://github.com/ruby/tmpdir/commit/ef9ca591cf

commit 7e167b3225312410dcd8c303aa1ca9a904eeff6e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-06 16:47:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 16:47:49 +0900

    [ruby/tempfile] Bump up v0.3.0

    https://github.com/ruby/tempfile/commit/2ff9b3ccef

commit a3a0c675c1e701d88b5d0cbcea54f17cc85f0d46
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-06 16:32:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 16:32:52 +0900

    [ruby/yaml] Bump up v0.4.0

    https://github.com/ruby/yaml/commit/5e9bfff132

commit 0949c586c05e7513497fd2e84edb039517362dd3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-06 16:08:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 16:09:08 +0900

    [ruby/pathname] Bump up v0.4.0

    https://github.com/ruby/pathname/commit/b020cbde46

commit a2dd471d9e00868c31fcb94901c11a3cc67a6920
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-06 15:45:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-06 15:45:32 +0900

    macOS 15 is the stable version today

commit d71be7274bd2623bb521be72c245c08fc38d6ae4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-06 13:31:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-06 13:31:38 +0900

    [Bug #20873] Consider `-FIXNUM_MIN` overflow

    `-FIXNUM_MIN` is usually greater than `FIXNUM_MAX` on platforms using
    two's complement representation.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12011

commit 18c3e2d9f1f1d5fc90d95bfa118982aaebc75928
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-06 12:35:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-06 12:58:21 +0900

    Assert newly added warning in `JSON.load`

commit c690ca03f33441f299d0b59e4a91fc22bf1781bf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-06 11:03:48 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-11-06 12:37:13 +0900

    Ignore return value of `into_raw_fd`

    Fix as the compiler orders:
    ```
    warning: unused return value of `into_raw_fd` that must be used
       --> ../src/yjit/src/disasm.rs:123:21
        |
    123 |                     file.into_raw_fd(); // keep the fd open
        |                     ^^^^^^^^^^^^^^^^^^
        |
        = note: losing the raw file descriptor may leak resources
        = note: `#[warn(unused_must_use)]` on by default
    help: use `let _ = ...` to ignore the resulting value
        |
    123 |                     let _ = file.into_raw_fd(); // keep the fd open
        |                     +++++++

    warning: unused return value of `into_raw_fd` that must be used
      --> ../src/yjit/src/log.rs:84:21
       |
    84 |                     file.into_raw_fd(); // keep the fd open
       |                     ^^^^^^^^^^^^^^^^^^
       |
       = note: losing the raw file descriptor may leak resources
    help: use `let _ = ...` to ignore the resulting value
       |
    84 |                     let _ = file.into_raw_fd(); // keep the fd open
       |                     +++++++
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12009

commit ab7ab9e4508c24b998703824aa9576fb2e092065
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-11-06 03:41:59 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-06 11:06:18 +0900

    `Warning[:strict_unused_block]`

    to show unused block warning strictly.

    ```ruby
    class C
      def f = nil
    end

    class D
      def f = yield
    end

    [C.new, D.new].each{|obj| obj.f{}}
    ```

    In this case, `D#f` accepts a block. However `C#f` doesn't
    accept a block. There are some cases passing a block with
    `obj.f{}` where `obj` is `C` or `D`. To avoid warnings on
    such cases, "unused block warning" will be warned only if
    there is not same name which accepts a block.
    On the above example, `C.new.f{}` doesn't show any warnings
    because there is a same name `D#f` which accepts a block.

    We call this default behavior as "relax mode".

    `strict_unused_block` new warning category changes from
    "relax mode" to "strict mode", we don't check same name
    methods and `C.new.f{}` will be warned.

    [Feature #15554]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12005

commit 4203c70dfa96649bae305350817d7cc3c9bc5888
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-11-05 04:57:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-11-06 07:08:35 +0900

    Allow eval to see top scope

    Fixes [Bug #20856]

    Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11993

commit 4120f2babd7924a31c6d685be2429492af5c19b9
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-06 01:30:42 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-06 02:00:36 +0900

    [ruby/json] Appease ruby/ruby CI

    https://github.com/ruby/json/commit/bc2c970ce4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12003

commit 633f65e4718ee611638bd71cdce1c66710eb6f24
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-06 01:29:32 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-06 02:00:36 +0900

    [ruby/json] Strip whitespaces

    https://github.com/ruby/json/commit/e85107197b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12003

commit 9987298654c5951d320f00876e2df0c2aa27c02c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-06 01:13:42 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-06 02:00:36 +0900

    Update depend files

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12003

commit ca8f21ace86e9c7ab184b3f0087ff458c06b178c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-06 00:35:58 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-06 02:00:36 +0900

    [ruby/json] Resync

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12003

commit e8522f06b51f86214d28259118c736ac8951d8cd
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-11-02 04:22:42 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-06 02:00:36 +0900

    [ruby/json] Re-enable passing test

    https://github.com/ruby/json/commit/82d21f01c5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12003

commit f664e7eaabf919c893bfbfab9e774db0523eec11
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-04 21:15:20 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-06 02:00:36 +0900

    [ruby/json] Add tests for the behavior of JSON.generate with base types subclasses

    Ref: https://github.com/ruby/json/pull/674
    Ref: https://github.com/ruby/json/pull/668

    The behavior on such case it quite unclear, the goal here is to
    figure out whatever was the behavior on Cext version of `json 2.7.0`
    and get all implementations to converge.

    We can then decide to make them all behave differently if we so wish.

    https://github.com/ruby/json/commit/614921dcef

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12003

commit 2f84a02ad51414c0b2e80da671745184031e6f4c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-03 18:22:20 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-06 02:00:36 +0900

    [ruby/json] Use rb_str_new_frozen

    https://github.com/ruby/json/commit/90c8aaaa6a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12003

commit ed22e6837941b429538cff5c8110b2caf2634474
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-03 17:27:59 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-06 02:00:36 +0900

    [ruby/json] JSON::Ext::Parser mark the name cache entries when not on the heap

    This is somewhat dead code as unless you are using `JSON::Parser.new`
    direcltly we never allocate `JSON::Ext::Parser` anymore.

    But still, we should mark all its reference in case some code out there
    uses that.

    Followup: #675

    https://github.com/ruby/json/commit/8bf74a977b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12003

commit 241a03483c7eecfba008500df78716eb083d808b
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-06 00:33:47 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-06 02:00:36 +0900

    Update json gem syncing logic

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12003

commit 7fe775698b88b9f212b54806c9925aed150ba18a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-05 20:38:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-06 01:07:25 +0900

    [rubygems/rubygems] Test with JRuby 9.4.9.0

    https://github.com/rubygems/rubygems/commit/b282668d9d

commit 01e509c45bca9ca5800df36690904f4b883d3292
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-11-05 19:43:13 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-11-06 00:36:34 +0900

    Remove RGENGC_FORCE_MAJOR_GC flag

    [Bug #20762]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12002

commit 74fcf437676f0019c55368753252fbe4afdf52ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-04 09:39:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-05 23:04:49 +0900

    Use wide character startup

    Mingw crt-git 12.0.0.r369.g0d4221712-1 now prohibits "command line
    contains characters that are not supported in the active code page".
    https://sourceforge.net/p/mingw-w64/mingw-w64/ci/0d42217123d3aec0341b79f6d959c76e09648a1e/

    Already Ruby builds `argv` in `rb_w32_sysinit`, instead of mswin- or
    mingw-made `argv`.  Just bypass the conversion in mingw crt.

commit ed06f018bdffe9bb7f8bdbf15fa5a727e402bfe9
  Author:     YO4 <ysno@ac.auone-net.jp>
  AuthorDate: 2024-11-05 22:53:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-05 22:53:41 +0900

    [ruby/irb] windows does not support Process.kill("TERM", pid)
    (https://github.com/ruby/irb/pull/1026)

    https://github.com/ruby/irb/commit/7bbb885163

commit e440268d51fe02b303e3817a7a733a0dac1c5091
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-05 17:16:08 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-05 20:19:55 +0900

    Get rid of JSON benchmarks

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11999

commit 1cb9f9af23538b26e31fa1b3ffd432549af70671
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-11-05 17:11:33 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-05 20:19:55 +0900

    tool/sync_default_gems.rb: update json rules

    `lib/json/ext/generator/state.rb` should actually be
    `ext/json/lib/json/ext/generator/state.rb`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11999

commit 6c5a808b865906bc6baa2593e4f0b438af3f01cf
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-05 19:18:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-05 19:48:00 +0900

    Use rb_fiber_scheduler_get() instead of rb_fiber_scheduler_current()

    rb_fiber_scheduler_current() may return nil depending on whether the
    scheduler is being prevented for some reason, e.g., Fiber.blocking{}.

    Co-Authored-By: Samuel Williams <samuel.williams@oriontransfer.co.nz>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12001

commit cb1c79e87b0711230a333ee629aba24e06f530d0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-05 18:04:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-05 18:04:19 +0900

    Name dependency checks job

    And run on the latest ubuntu.

commit 7e9c5903a8a2ea2e084e0707eccd7bc5ce29f23e
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-05 17:55:59 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-05 17:55:59 +0900

    Update dependency

commit 2d2d363012f6806fe6ad3fd699837a47ba599b10
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-11-05 17:19:27 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-11-05 17:48:01 +0900

    Let vm_dump show whether the fiber scheduler is enabled or not

    ... just for the case.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12000

commit 348a53415339076afc4a02fcd09f3ae36e9c4c61
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-26 21:56:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-05 14:01:03 +0900

    [ruby/stringio] Copy from the relocated string

    When ungetting the string same as the same buffer string, extending
    the buffer can move the pointer in the argument.  Reported by manun
    Manu (manun) at https://hackerone.com/reports/2805165.

    https://github.com/ruby/stringio/commit/95c1194832

commit 511954dd5c22d8b63cd66c726d453c8db1408d3b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-05 13:16:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-05 13:19:40 +0900

    [ruby/date] Extract Julian calendar epoch literals

    https://github.com/ruby/date/commit/e677e99a86

commit c51feedbfd90362df1b4dc4499f6b939781c6fdd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-05 12:44:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-05 13:19:39 +0900

    [ruby/date] Update `argc` by `rb_scan_args` not to contain keywords

    https://github.com/ruby/date/commit/f277463439

commit e4f5fd8e5fe6c8d69da4055636b8b048fe621bcf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-05 12:41:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-05 13:19:39 +0900

    [ruby/date] Refine assertions

    https://github.com/ruby/date/commit/1970b740d0

commit ee4599dbe7e49a242a1e8170b0439cfb0130ad98
  Author:     Dmitrii Zudin <pelbyl@icloud.com>
  AuthorDate: 2024-09-22 05:37:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-05 12:38:13 +0900

    [ruby/date] Fix incorrect argc2 decrement in datetime_s_iso8601 function

    Replace the decrement (argc2--) with an increment (argc2++) for
    the correct number of arguments when opt is provided.

    https://github.com/ruby/date/commit/b6974b00d8

commit e0611ebd9a4c05a9c16a1da8e5c3081f7890ea8c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-05 09:41:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-05 12:15:13 +0900

    Try macos-15 build

    https://github.com/actions/runner-images/issues/10686

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11996

commit ff560644692057f8caa3697d6821d6d2e865f724
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-05 11:02:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-05 11:02:13 +0900

    Fixup b1fc1af4440. Removed benchmark files from ruby/json

commit b1fc1af444055641b3dfdba701540f9c75759d3d
  Author:     nagachika <nagachika@ruby-lang.org>
  AuthorDate: 2024-11-01 20:26:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-05 08:58:53 +0900

    Stop syncing json benchmarks.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11978

commit d6d2c24715ee1f686831723fff41d46dfea35e8b
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-11-05 07:51:29 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-11-05 07:51:56 +0900

    macos-12 is deprecated and fails on Mondays

    https://github.com/actions/runner-images/issues/10721

commit 7ae4b858b3ab7b51a6bda388414adf27fd71c23b
  Author:     Alexis Bernard <alexis@bernard.io>
  AuthorDate: 2024-11-05 02:34:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-05 02:34:27 +0900

    [ruby/rdoc] Display class ancestors in the sidebar #1183

    https://github.com/ruby/rdoc/commit/50dda13426

commit 478e0fc710b8fefaa3bdb7cb41dda8716e29927a
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-11-05 01:14:28 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-05 01:14:28 +0900

    YJIT: Replace Array#each only when YJIT is enabled (#11955)

    * YJIT: Replace Array#each only when YJIT is enabled

    * Add comments about BUILTIN_ATTR_C_TRACE

    * Make Ruby Array#each available with --yjit as well

    * Fix all paths that expect a C location

    * Use method_basic_definition_p to detect patches

    * Copy a comment about C_TRACE flag to compilers

    * Rephrase a comment about add_yjit_hook

    * Give METHOD_ENTRY_BASIC flag to Array#each

    * Add --yjit-c-builtin option

    * Allow inconsistent source_location in test-spec

    * Refactor a check of BUILTIN_ATTR_C_TRACE

    * Set METHOD_ENTRY_BASIC without touching vm->running

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 51ac93011a8b279c1e2b93bbe6c8709392e82f57
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-04 20:43:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-04 23:32:25 +0900

    Fix a typo in a local variable name

commit 4dc120cb7ff51eb56caec43b6f61cee9cdf59ff2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-04 20:25:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-04 23:32:25 +0900

    Fix Dir.mktmpdir argument

    The temporary directory is the second argument.

commit 1e037108a13bc876af9adf09d133dcc3274aa277
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-11-04 19:41:04 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-11-04 22:37:14 +0900

    Precompute hash only once when interning string literals

    When a fake string is interned, use the capa field to store the string
    hash. This lets us compute it once for hash lookup and embedding the
    hash in the interned string.

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11989

commit 09874e90bf4e7850c00552cfee2beb103902a4ad
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-04 21:12:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-04 21:12:49 +0900

    Mingw: Exclude failing tests due to the crt change

    Mingw crt-git 12.0.0.r369.g0d4221712-1 now prohibits "command line
    contains characters that are not supported in the active code page".
    https://sourceforge.net/p/mingw-w64/mingw-w64/ci/0d42217123d3aec0341b79f6d959c76e09648a1e/

    Provisionally exclude tests that fail by passing such characters.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11991

commit e7518a7859afdb8bb0745d084e59a82cb1dba4a5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-03-13 22:11:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-04 19:18:55 +0900

    Validate user input encoding

    If the user has the encoding of her system messed up, she may end up
    sending us incorrectly encoding input, causing "invalid byte sequence in
    UTF-8" errors at random places.

    These errors can be forced on a system without encoding issues with
    something like:

    ```
    $ gem install$(echo -e "\xFF") foo
    /Users/deivid/.asdf/installs/ruby/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/config_file.rb:534:in `block in set_config_file_name': invalid byte sequence in UTF-8 (ArgumentError)
            from /Users/deivid/.asdf/installs/ruby/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/config_file.rb:530:in `each'
            from /Users/deivid/.asdf/installs/ruby/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/config_file.rb:530:in `set_config_file_name'
            from /Users/deivid/.asdf/installs/ruby/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/config_file.rb:177:in `initialize'
            from /Users/deivid/.asdf/installs/ruby/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/gem_runner.rb:71:in `new'
            from /Users/deivid/.asdf/installs/ruby/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/gem_runner.rb:71:in `do_configuration'
            from /Users/deivid/.asdf/installs/ruby/3.2.1/lib/ruby/site_ruby/3.2.0/rubygems/gem_runner.rb:33:in `run'
            from /Users/deivid/.asdf/installs/ruby/3.2.1/bin/gem:10:in `<main>'
    ```

    This commit makes RubyGems print a better error in this case:

    ```
    $ ruby -Ilib bin/gem install$(echo -e "\xFF") foo
    /Users/deivid/Code/rubygems/rubygems/lib/rubygems/gem_runner.rb:75:in `validate_encoding': invalid argument: 'install�' has invalid encoding (Gem::OptionParser::InvalidArgument)
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/gem_runner.rb:31:in `run'
            from bin/gem:10:in `<main>'
    ```

commit 9ce1b5e11f807541ba9e3f7800fe4f64dfd1a906
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-22 23:57:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-04 19:04:58 +0900

    [rubygems/rubygems] Fix commands with 2 MFA requests when webauthn is enabled

    If a command requires two MFA authenticated requests, and webauthn is
    enabled, then first one will succeed but the second one will fail
    because it tries to reuse the OTP code from the first request and that
    does not work.

    This happens when you have not yet logged in to rubygems.org, or when
    you have an API key with invalid scopes for the current operation. In
    that case, we need:

    * An API request to get a token or change scopes for the one that you
      have.
    * Another API request to perform the actual operation.

    Instead of trying to reuse the token, make sure it's cleared so we are
    asked to authenticate again. We only do this when webauthn is enabled
    because reusing TOPT tokens otherwise is allowed and I don't want to
    break that.

    https://github.com/rubygems/rubygems/commit/669e343935

commit 1b190b342b2f642cbba12cf6551df2bec7432d71
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-01 03:47:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-04 19:04:58 +0900

    [rubygems/rubygems] TermError should inherit from SystemExit

    The `gem owner` command rescues standard errors, but does not rescue
    SystemExit errors. If TermError is a standard error, not a system exit,
    tests don't behave like realworld for this command.

    https://github.com/rubygems/rubygems/commit/cf7d500f4d

commit 7fba517d5028eb810c07d4beca601f1382d66708
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-23 19:58:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-04 19:04:57 +0900

    [rubygems/rubygems] OTP is already added by `rubygems_api_request`

    https://github.com/rubygems/rubygems/commit/15930fe126

commit 50dbe19b685047cff7000878b330eee8a3f2583d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-11-01 01:02:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-04 19:04:40 +0900

    [rubygems/rubygems] Fix incompatible encodings error

    https://github.com/rubygems/rubygems/commit/d478ec403f

commit 21af248f920e4f6806b35e40503f8b84f9edd1ec
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-11-04 03:28:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-04 03:43:18 +0900

    [ruby/prism] Error for def ivar

    https://github.com/ruby/prism/commit/232a02acef

commit 3e2ee990576ac64eabc5b186cae68c4e4e814701
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-02 05:00:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-03 06:25:16 +0900

    Skip TestProc#test_hash_does_not_change_after_compaction if compaction is not supported

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11980

commit e2909570bb00c7c6056638b71c1d3c363dc0d40d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-02 22:27:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-02 22:27:03 +0900

    Include windows.h for `LONG` and `Interlocked` functions

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11985

commit 4031beb0836a04ac9a8824c8ce63d1571ff76948
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-02 10:44:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-11-02 10:44:11 +0900

    Add documentation for `RUBY_ASSERT_CRITICAL_SECTION`. (#11982)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit c7708d22c33040a74ea7ac683bf7407d3759edfe
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-01 00:02:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-01 23:49:50 +0900

    Improve coverage of TestProc#test_hash_uniqueness

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11966

commit 813286762c29e2f8d8f9cb077fecdac3a2ec7c09
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-31 23:52:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-01 23:49:50 +0900

    Add TestProc#test_hash_equal

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11966

commit 53b3fac6d2dd11fe2416eb159aed6f1c565451be
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-31 23:31:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-01 23:49:50 +0900

    Rename test_hash to test_hash_uniqueness

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11966

commit 29c480dd6fca993590c82078ba797e2c4e876ac7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-31 05:41:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-01 23:49:50 +0900

    [Bug #20853] Fix Proc#hash to not change after compaction

    The hash value of a Proc must remain constant after a compaction, otherwise
    it may not work as the key in a hash table.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11966

commit 40cd292f9573b763074f08dea451144c3aaf19c6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-01 16:02:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-01 16:02:35 +0900

    Balance omnibus compilations

commit 260d4c7af8767dea5fd19c342282359feee4e6d9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-01 10:41:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-01 15:02:00 +0900

    Balance omnibus compilations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11976

commit c11c99a5b5b6bb6495edf30a3fe347798755575f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-01 10:29:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-01 15:01:59 +0900

    Extract the condition to skip

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11976

commit 314b556cc57d93a6e0e2b120fb7e7a0c2186cb97
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-01 14:04:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-01 14:04:32 +0900

    [ruby/fileutils] Bump up v1.7.3

    https://github.com/ruby/fileutils/commit/c138e67613

commit bb5f28c8f7e692571a30359e08b539bc8c3538c4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-01 13:38:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:42:16 +0900

    [ruby/date] Bump up v3.4.0

    https://github.com/ruby/date/commit/94f8e51e65

commit 8a768890f7f480b58814f64bbc3ff40c4a2251d4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-01 13:32:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-01 13:32:35 +0900

    [ruby/win32ole] Bump up v1.9.0

    https://github.com/ruby/win32ole/commit/31bd08aa9c

commit c866fb7caf3d7921f0ecd1b8a061163d5ce9779e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-01 13:09:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-01 13:09:41 +0900

    [ruby/etc] Bump up v1.4.4

    https://github.com/ruby/etc/commit/0d2f76ffb4

commit 90eb879df4f80e589a2032c6da9cfd5e4c0d38a9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-01 12:36:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    Skip failing test with RBS and JSON

commit ee4fa4cceea91bcc6ddf3b9ba0a096b939f524ec
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-31 23:22:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] json_string_unescape: Use the returned RString as buffer

    Rather than to copy into a buffer to unescape and then copy that
    buffer into the final string, we can directly copy into the final
    string.

    The downside is that if the string contains a lot of escaping, we
    end up returning a string that's larger than strictly necessary, but
    it's probably fine.

    Before:

    ```
    == Parsing twitter.json (567916 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    56.000 i/100ms
                      oj    58.000 i/100ms
               oj strict    74.000 i/100ms
              Oj::Parser    76.000 i/100ms
               rapidjson    52.000 i/100ms
    Calculating -------------------------------------
                    json    556.659 (± 2.9%) i/s    (1.80 ms/i) -      2.800k in   5.034719s
                      oj    604.077 (± 3.8%) i/s    (1.66 ms/i) -      3.016k in   5.001546s
               oj strict    706.942 (± 3.5%) i/s    (1.41 ms/i) -      3.552k in   5.030954s
              Oj::Parser    752.917 (± 3.2%) i/s    (1.33 ms/i) -      3.800k in   5.052707s
               rapidjson    546.470 (± 3.5%) i/s    (1.83 ms/i) -      2.756k in   5.049855s

    Comparison:
                    json:      556.7 i/s
              Oj::Parser:      752.9 i/s - 1.35x  faster
               oj strict:      706.9 i/s - 1.27x  faster
                      oj:      604.1 i/s - 1.09x  faster
               rapidjson:      546.5 i/s - same-ish: difference falls within error

    == Parsing citm_catalog.json (1727030 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    29.000 i/100ms
                      oj    32.000 i/100ms
               oj strict    38.000 i/100ms
              Oj::Parser    42.000 i/100ms
               rapidjson    38.000 i/100ms
    Calculating -------------------------------------
                    json    317.858 (± 3.1%) i/s    (3.15 ms/i) -      1.595k in   5.023245s
                      oj    348.168 (± 2.6%) i/s    (2.87 ms/i) -      1.760k in   5.058431s
               oj strict    394.599 (± 2.8%) i/s    (2.53 ms/i) -      1.976k in   5.012073s
              Oj::Parser    403.771 (± 3.0%) i/s    (2.48 ms/i) -      2.058k in   5.101578s
               rapidjson    383.441 (± 3.7%) i/s    (2.61 ms/i) -      1.938k in   5.061355s

    Comparison:
                    json:      317.9 i/s
              Oj::Parser:      403.8 i/s - 1.27x  faster
               oj strict:      394.6 i/s - 1.24x  faster
               rapidjson:      383.4 i/s - 1.21x  faster
                      oj:      348.2 i/s - 1.10x  faster
    ```

    After:

    ```
    == Parsing twitter.json (567916 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    56.000 i/100ms
                      oj    62.000 i/100ms
               oj strict    73.000 i/100ms
              Oj::Parser    76.000 i/100ms
               rapidjson    54.000 i/100ms
    Calculating -------------------------------------
                    json    561.009 (± 7.5%) i/s    (1.78 ms/i) -      2.800k in   5.039548s
                      oj    601.124 (± 4.3%) i/s    (1.66 ms/i) -      3.038k in   5.064686s
               oj strict    707.455 (± 3.4%) i/s    (1.41 ms/i) -      3.577k in   5.062540s
              Oj::Parser    751.799 (± 3.1%) i/s    (1.33 ms/i) -      3.800k in   5.059509s
               rapidjson    535.641 (± 3.2%) i/s    (1.87 ms/i) -      2.700k in   5.045816s

    Comparison:
                    json:      561.0 i/s
              Oj::Parser:      751.8 i/s - 1.34x  faster
               oj strict:      707.5 i/s - 1.26x  faster
                      oj:      601.1 i/s - same-ish: difference falls within error
               rapidjson:      535.6 i/s - same-ish: difference falls within error

    == Parsing citm_catalog.json (1727030 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    30.000 i/100ms
                      oj    32.000 i/100ms
               oj strict    36.000 i/100ms
              Oj::Parser    42.000 i/100ms
               rapidjson    39.000 i/100ms
    Calculating -------------------------------------
                    json    313.248 (± 7.3%) i/s    (3.19 ms/i) -      1.560k in   5.014118s
                      oj    341.977 (± 4.1%) i/s    (2.92 ms/i) -      1.728k in   5.063332s
               oj strict    387.062 (± 6.2%) i/s    (2.58 ms/i) -      1.944k in   5.045961s
              Oj::Parser    400.423 (± 4.0%) i/s    (2.50 ms/i) -      2.016k in   5.044513s
               rapidjson    379.046 (± 6.1%) i/s    (2.64 ms/i) -      1.911k in   5.064461s

    Comparison:
                    json:      313.2 i/s
              Oj::Parser:      400.4 i/s - 1.28x  faster
               oj strict:      387.1 i/s - 1.24x  faster
               rapidjson:      379.0 i/s - 1.21x  faster
                      oj:      342.0 i/s - same-ish: difference falls within error
    ```

    https://github.com/ruby/json/commit/5e1ec4a268

commit b85a7a44fa05da4078c8b0e20445947d8551788d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-31 19:40:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Trigger write barrier when setting Generator::State configs

    Followup: https://github.com/ruby/json/commit/6382c231b0b8

    https://github.com/ruby/json/commit/0c797b4a11

commit ef5565f5d17c5c8a0557637cf40e5124b0eebb5c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-31 16:52:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    JSON.generate: call to_json on String subclasses

    Fix: https://github.com/ruby/json/issues/667

    This is yet another behavior on which the various implementations
    differed, but the C implementation used to call `to_json` on String
    subclasses used as keys.

    This was optimized out in e125072130229e54a651f7b11d7d5a782ae7fb65
    but there is an Active Support test case for it, so it's best to
    make all 3 implementation respect this behavior.

commit b8b33efd4d63700e06a66fb774f0470411c9f650
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-31 23:07:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Remove String#-@ check in extconf.rb

    Now that older rubies have been droped, we no longer need to check
    for all that.

    https://github.com/ruby/json/commit/35cf2b84e0

commit 165cc6cf40b684be94d91c9a595754cb6465551c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-31 22:47:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] json_string_unescape: assume the string doesn't need escaping

    If that assumption holds true, then we don't need to copy the
    string into a buffer to unescape it. For small string is just saves
    copying, but for large ones it also saves a malloc/free combo.

    Before:

    ```
    == Parsing twitter.json (567916 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    52.000 i/100ms
                      oj    61.000 i/100ms
               oj strict    70.000 i/100ms
              Oj::Parser    71.000 i/100ms
               rapidjson    55.000 i/100ms
    Calculating -------------------------------------
                    json    510.111 (± 2.9%) i/s    (1.96 ms/i) -      2.548k in   5.000029s
                      oj    610.232 (± 3.1%) i/s    (1.64 ms/i) -      3.050k in   5.003725s
               oj strict    713.231 (± 3.2%) i/s    (1.40 ms/i) -      3.570k in   5.010902s
              Oj::Parser    762.598 (± 3.0%) i/s    (1.31 ms/i) -      3.834k in   5.033130s
               rapidjson    553.029 (± 7.4%) i/s    (1.81 ms/i) -      2.750k in   5.022630s

    Comparison:
                    json:      510.1 i/s
              Oj::Parser:      762.6 i/s - 1.49x  faster
               oj strict:      713.2 i/s - 1.40x  faster
                      oj:      610.2 i/s - 1.20x  faster
               rapidjson:      553.0 i/s - same-ish: difference falls within error

    == Parsing citm_catalog.json (1727030 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    28.000 i/100ms
                      oj    33.000 i/100ms
               oj strict    37.000 i/100ms
              Oj::Parser    43.000 i/100ms
               rapidjson    38.000 i/100ms
    Calculating -------------------------------------
                    json    303.853 (± 3.6%) i/s    (3.29 ms/i) -      1.540k in   5.076079s
                      oj    348.009 (± 2.0%) i/s    (2.87 ms/i) -      1.749k in   5.027738s
               oj strict    396.679 (± 3.3%) i/s    (2.52 ms/i) -      1.998k in   5.042271s
              Oj::Parser    406.699 (± 2.2%) i/s    (2.46 ms/i) -      2.064k in   5.077587s
               rapidjson    393.463 (± 3.3%) i/s    (2.54 ms/i) -      1.976k in   5.028501s

    Comparison:
                    json:      303.9 i/s
              Oj::Parser:      406.7 i/s - 1.34x  faster
               oj strict:      396.7 i/s - 1.31x  faster
               rapidjson:      393.5 i/s - 1.29x  faster
                      oj:      348.0 i/s - 1.15x  faster
    ```

    After:

    ```
    == Parsing twitter.json (567916 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    56.000 i/100ms
                      oj    62.000 i/100ms
               oj strict    72.000 i/100ms
              Oj::Parser    77.000 i/100ms
               rapidjson    55.000 i/100ms
    Calculating -------------------------------------
                    json    568.025 (± 2.1%) i/s    (1.76 ms/i) -      2.856k in   5.030272s
                      oj    630.936 (± 1.4%) i/s    (1.58 ms/i) -      3.162k in   5.012630s
               oj strict    705.784 (±11.2%) i/s    (1.42 ms/i) -      3.456k in   5.006706s
              Oj::Parser    783.989 (± 1.7%) i/s    (1.28 ms/i) -      3.927k in   5.010343s
               rapidjson    557.630 (± 2.0%) i/s    (1.79 ms/i) -      2.805k in   5.032388s

    Comparison:
                    json:      568.0 i/s
              Oj::Parser:      784.0 i/s - 1.38x  faster
               oj strict:      705.8 i/s - 1.24x  faster
                      oj:      630.9 i/s - 1.11x  faster
               rapidjson:      557.6 i/s - same-ish: difference falls within error

    == Parsing citm_catalog.json (1727030 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    29.000 i/100ms
                      oj    33.000 i/100ms
               oj strict    38.000 i/100ms
              Oj::Parser    43.000 i/100ms
               rapidjson    37.000 i/100ms
    Calculating -------------------------------------
                    json    319.271 (± 3.1%) i/s    (3.13 ms/i) -      1.595k in   5.001128s
                      oj    347.946 (± 1.7%) i/s    (2.87 ms/i) -      1.749k in   5.028395s
               oj strict    396.914 (± 3.0%) i/s    (2.52 ms/i) -      2.014k in   5.079645s
              Oj::Parser    409.311 (± 2.7%) i/s    (2.44 ms/i) -      2.064k in   5.046626s
               rapidjson    394.752 (± 1.5%) i/s    (2.53 ms/i) -      1.998k in   5.062776s

    Comparison:
                    json:      319.3 i/s
              Oj::Parser:      409.3 i/s - 1.28x  faster
               oj strict:      396.9 i/s - 1.24x  faster
               rapidjson:      394.8 i/s - 1.24x  faster
                      oj:      347.9 i/s - 1.09x  faster
    ```

    https://github.com/ruby/json/commit/7e0f66546a

commit 081689b9e2cac65b664117802d01824303ae83c5
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-31 22:43:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] parser.rl: extract `build_string`

    https://github.com/ruby/json/commit/7e557ee291

commit 6412e6f6c3c3078130007a902b1239bce70e71e1
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-10-31 05:39:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Use String#encode instead of rb_str_conv_enc()

    * rb_str_conv_enc() returns the source string unmodified
      if the conversion did not work. But we should be consistent with
      the generator here and only accept BINARY or convertible to UTF-8.

    https://github.com/ruby/json/commit/1344ad6f66

commit 3782600f0f4f2f70a4d17f025fde6c096f82b424
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-24 23:04:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Emit warnings when dumping binary strings

    Because of it's Ruby 1.8 heritage, the C extension doesn't care
    much about strings encoding. We should get stricter over time.

    https://github.com/ruby/json/commit/42402fc13f

commit f2b8829df0092409c944aafeac03f72ab2a6e7ac
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-24 23:51:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    Deprecate unsafe default options of `JSON.load`

    [Feature #19528]

    Ref: https://bugs.ruby-lang.org/issues/19528

    `load` is understood as the default method for serializer kind of libraries, and
    the default options of `JSON.load` has caused many security vulnerabilities over the
    years.

    The plan is to do like YAML/Psych, deprecate these default options and direct
    users toward using `JSON.unsafe_load` so at least it's obvious it should be
    used against untrusted data.

commit cc2e67a138d258290f727f5797bdc14fbc5a6e52
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-30 02:14:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    Elide Generator::State allocation until a `to_json` method has to be called

    Fix: https://github.com/ruby/json/issues/655

    For very small documents, the biggest performance gap with alternatives is
    that the API impose that we allocate the `State` object. In a real world app
    this doesn't make much of a difference, but when running in a micro-benchmark
    this doubles the allocations, causing twice the amount of GC runs, making us
    look bad.

    However, unless we have to call a `to_json` method, the `State` object isn't
    visible, so with some refactoring, we can elude that allocation entirely.

    Instead we allocate the State internal struct on the stack, and if we need
    to call a `to_json` method, we allocate the `State` and spill the struct on
    the heap.

    As a result, `JSON.generate` is now as fast as re-using a `State` instance,
    as long as only primitives are generated.

    Before:
    ```
    == Encoding small mixed (34 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
            json (reuse)   598.654k i/100ms
                    json   400.542k i/100ms
                      oj   533.353k i/100ms
    Calculating -------------------------------------
            json (reuse)      6.371M (± 8.6%) i/s  (156.96 ns/i) -     31.729M in   5.059195s
                    json      4.120M (± 6.6%) i/s  (242.72 ns/i) -     20.828M in   5.090549s
                      oj      5.622M (± 6.4%) i/s  (177.86 ns/i) -     28.268M in   5.061473s

    Comparison:
            json (reuse):  6371126.6 i/s
                      oj:  5622452.0 i/s - same-ish: difference falls within error
                    json:  4119991.1 i/s - 1.55x  slower

    == Encoding small nested array (121 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
            json (reuse)   248.125k i/100ms
                    json   215.255k i/100ms
                      oj   217.531k i/100ms
    Calculating -------------------------------------
            json (reuse)      2.628M (± 6.1%) i/s  (380.55 ns/i) -     13.151M in   5.030281s
                    json      2.185M (± 6.7%) i/s  (457.74 ns/i) -     10.978M in   5.057655s
                      oj      2.217M (± 6.7%) i/s  (451.10 ns/i) -     11.094M in   5.044844s

    Comparison:
            json (reuse):  2627799.4 i/s
                      oj:  2216824.8 i/s - 1.19x  slower
                    json:  2184669.5 i/s - 1.20x  slower

    == Encoding small hash (65 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
            json (reuse)   641.334k i/100ms
                    json   322.745k i/100ms
                      oj   642.450k i/100ms
    Calculating -------------------------------------
            json (reuse)      7.133M (± 6.5%) i/s  (140.19 ns/i) -     35.915M in   5.068201s
                    json      4.615M (± 7.0%) i/s  (216.70 ns/i) -     22.915M in   5.003718s
                      oj      6.912M (± 6.4%) i/s  (144.68 ns/i) -     34.692M in   5.047690s

    Comparison:
            json (reuse):  7133123.3 i/s
                      oj:  6911977.1 i/s - same-ish: difference falls within error
                    json:  4614696.6 i/s - 1.55x  slower
    ```

    After:

    ```
    == Encoding small mixed (34 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
            json (reuse)   572.751k i/100ms
                    json   457.741k i/100ms
                      oj   512.247k i/100ms
    Calculating -------------------------------------
            json (reuse)      6.324M (± 6.9%) i/s  (158.12 ns/i) -     31.501M in   5.023093s
                    json      6.263M (± 6.9%) i/s  (159.66 ns/i) -     31.126M in   5.017086s
                      oj      5.569M (± 6.6%) i/s  (179.56 ns/i) -     27.661M in   5.003739s

    Comparison:
            json (reuse):  6324183.5 i/s
                    json:  6263204.9 i/s - same-ish: difference falls within error
                      oj:  5569049.2 i/s - same-ish: difference falls within error

    == Encoding small nested array (121 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
            json (reuse)   258.505k i/100ms
                    json   242.335k i/100ms
                      oj   220.678k i/100ms
    Calculating -------------------------------------
            json (reuse)      2.589M (± 9.6%) i/s  (386.17 ns/i) -     12.925M in   5.071853s
                    json      2.594M (± 6.6%) i/s  (385.46 ns/i) -     13.086M in   5.083035s
                      oj      2.250M (± 2.3%) i/s  (444.43 ns/i) -     11.255M in   5.004707s

    Comparison:
            json (reuse):  2589499.6 i/s
                    json:  2594321.0 i/s - same-ish: difference falls within error
                      oj:  2250064.0 i/s - 1.15x  slower

    == Encoding small hash (65 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
            json (reuse)   656.373k i/100ms
                    json   644.135k i/100ms
                      oj   650.283k i/100ms
    Calculating -------------------------------------
            json (reuse)      7.202M (± 7.1%) i/s  (138.84 ns/i) -     36.101M in   5.051438s
                    json      7.278M (± 1.7%) i/s  (137.40 ns/i) -     36.716M in   5.046300s
                      oj      7.036M (± 1.7%) i/s  (142.12 ns/i) -     35.766M in   5.084729s

    Comparison:
            json (reuse):  7202447.9 i/s
                    json:  7277883.0 i/s - same-ish: difference falls within error
                      oj:  7036115.2 i/s - same-ish: difference falls within error

    ```

commit 88b411464d85b735c833ea0029c37411deb2480f
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-10-31 06:10:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Skip test failing on JRuby

    https://github.com/ruby/json/commit/0f0b16b3f5

commit eb19156a288b585c58f3161a86d5b10f8f9704b6
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-10-31 05:39:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Add test for parsing broken strings

    https://github.com/ruby/json/commit/850bd077c4

commit ebfa178b72e608d160aa21b4fc0864578de76f2b
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-30 19:21:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Setup ruby_memcheck

    Hoping it might find the leak reported in https://github.com/ruby/json/issues/460

    https://github.com/ruby/json/commit/08635312e5

commit 7daa1083c93d237b4e03d4b07d3f0c124486bec0
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-30 01:36:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Move State#configure back into C

    While less nice, this open the door to eluding the State object
    allocation when possible.

    https://github.com/ruby/json/commit/5c0d428d4c

commit 5dc3b15b3c2c2f2c2cc5f1522f865b56574ae63f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-29 23:03:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] generator.c: store pretty strings in VALUE

    Given we expect these to almost always be null, we might as
    well keep them in RString.

    And even when provided, assuming we're passed frozen strings
    we'll save on copying them.

    This also reduce the size of the struct from 112B to 72B.

    https://github.com/ruby/json/commit/6382c231b0

commit b042d9d9c1e1d8855e40d27a799eb69781b779cd
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-30 18:21:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Use JSON.generate instead of JSON.dump for benchmarking

    https://github.com/ruby/json/commit/97b61edce1

commit 4a5e44953a4f42eb7a698c1941cf659119de5ea2
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-29 20:13:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Make fbuffer_inc_capa easier to inline

    With the extra logic added for stack allocation, and especially the
    memcpy, it became harder for compilers to inline.

    This doesn't fully reclaim the speed lost with the stack allocation,
    but it's getting closer.

    Before:

    ```
    == Encoding twitter.json (466906 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json   160.000 i/100ms
                      oj   225.000 i/100ms
    Calculating -------------------------------------
                    json      1.577k (± 2.0%) i/s  (634.20 μs/i) -      8.000k in   5.075561s
                      oj      2.264k (± 2.3%) i/s  (441.79 μs/i) -     11.475k in   5.072205s

    Comparison:
                    json:     1576.8 i/s
                      oj:     2263.5 i/s - 1.44x  faster

    == Encoding citm_catalog.json (500298 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json   101.000 i/100ms
                      oj   123.000 i/100ms
    Calculating -------------------------------------
                    json      1.033k (± 2.6%) i/s  (968.06 μs/i) -      5.252k in   5.087617s
                      oj      1.257k (± 2.2%) i/s  (795.54 μs/i) -      6.396k in   5.090830s

    Comparison:
                    json:     1033.0 i/s
                      oj:     1257.0 i/s - 1.22x  faster
    ```

    After:

    ```
    == Encoding twitter.json (466906 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) [arm64-darwin23]
    Warming up --------------------------------------
                    json   213.000 i/100ms
                      oj   230.000 i/100ms
    Calculating -------------------------------------
                    json      2.064k (± 3.6%) i/s  (484.44 μs/i) -     10.437k in   5.063685s
                      oj      2.246k (± 0.7%) i/s  (445.19 μs/i) -     11.270k in   5.017541s

    Comparison:
                    json:     2064.2 i/s
                      oj:     2246.2 i/s - 1.09x  faster

    == Encoding citm_catalog.json (500298 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) [arm64-darwin23]
    Warming up --------------------------------------
                    json   133.000 i/100ms
                      oj   132.000 i/100ms
    Calculating -------------------------------------
                    json      1.327k (± 1.7%) i/s  (753.69 μs/i) -      6.650k in   5.013565s
                      oj      1.305k (± 2.2%) i/s  (766.40 μs/i) -      6.600k in   5.061089s

    Comparison:
                    json:     1326.8 i/s
                      oj:     1304.8 i/s - same-ish: difference falls within error
    ```

    https://github.com/ruby/json/commit/89f816e868

commit 59eebeca02325861dd16452c9b85f4920bccd84f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-29 19:00:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Allocate the initial generator buffer on the stack

    Ref: https://github.com/ruby/json/issues/655
    Followup: https://github.com/ruby/json/issues/657

    Assuming the generator might be used for fairly small documents
    we can start with a reasonable buffer size of the stack, and if
    we outgrow it, we can spill on the heap.

    In a way this is optimizing for micro-benchmarks, but there are
    valid use case for fiarly small JSON document in actual real world
    scenarios, so trashing the GC less in such case make sense.

    Before:

    ```
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                      Oj   518.700k i/100ms
              JSON reuse   483.370k i/100ms
    Calculating -------------------------------------
                      Oj      5.722M (± 1.8%) i/s  (174.76 ns/i) -     29.047M in   5.077823s
              JSON reuse      5.278M (± 1.5%) i/s  (189.46 ns/i) -     26.585M in   5.038172s

    Comparison:
                      Oj:  5722283.8 i/s
              JSON reuse:  5278061.7 i/s - 1.08x  slower
    ```

    After:

    ```
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                      Oj   517.837k i/100ms
              JSON reuse   548.871k i/100ms
    Calculating -------------------------------------
                      Oj      5.693M (± 1.6%) i/s  (175.65 ns/i) -     28.481M in   5.004056s
              JSON reuse      5.855M (± 1.2%) i/s  (170.80 ns/i) -     29.639M in   5.063004s

    Comparison:
                      Oj:  5692985.6 i/s
              JSON reuse:  5854857.9 i/s - 1.03x  faster
    ```

    https://github.com/ruby/json/commit/fe607f4806

commit d329896fb590de96832d522b475404cae1279767
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-30 02:55:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 13:04:24 +0900

    [ruby/json] Fix a memory leak in #to_json methods

    Fix: https://github.com/ruby/json/issues/460

    The various `to_json` methods must rescue exceptions
    to free the buffer.

    ```
    require 'json'

    data = 10_000.times.to_a << BasicObject.new
    20.times do
      100.times do
        begin
          data.to_json
        rescue NoMethodError
        end
      end
      puts `ps -o rss= -p #{$$}`
    end
    ```

    ```
     20128
     24992
     29920
     34672
     39600
     44336
     49136
     53936
     58816
     63616
     68416
     73232
     78032
     82896
     87696
     92528
     97408
    102208
    107008
    111808
    ```

    https://github.com/ruby/json/commit/d227d225ca

commit 783dde2159a3689ad2d3ef6b7d0005a7cf80adba
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-10-31 19:08:05 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-11-01 11:50:00 +0900

    `alias` should not set `defined_class` for Modules

    `me->defined_class` should be 0 for method entries of
    Modules.

    This patch checks this condition
    and fix https://github.com/ruby/ruby/pull/11965#issuecomment-2448291790

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11968

commit a8c32ace459d56501c03e360da7c315d5b91142a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-01 11:42:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-11-01 11:42:29 +0900

    Removed accidentally sync file

commit 645a0c9ea73dd3a89c3c7f75a64dc7e1760ee936
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-01 00:34:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-01 02:52:24 +0900

    Remove vm_assert_env

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11970

commit 843b4f49ee82c572405d466f28d4305e21d6e6c2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-11-01 00:31:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-11-01 02:52:24 +0900

    Fix assertion when envval of proc is Qundef

    The following code crashes with assertions enabled because envval could
    be Qundef:

        {}.to_proc.dup

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11970

commit 4bcfff07ab3dc8e6e66f3eeebdebb276f65412b0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-01 02:02:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-01 02:33:11 +0900

    Remove debug print

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11969

commit eedb9ac7b80ab6005ee7ca099f6dee464a8be93a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-01 01:37:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-01 02:33:11 +0900

    Tweaks for actions groups

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11969

commit 1edc485840111b114d4a2e7b409b392e15b4ea8a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-01 00:42:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-01 02:33:11 +0900

    Use net-imap 0.5.0 for tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11969

commit cc893edaf2182c7e86831f6750e92bef455038ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-01 00:32:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-01 02:33:11 +0900

    Fetch gem sources to be tested only

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11969

commit 0fda818bd7741fa9bd424e02abeacc73e39a470c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-31 01:06:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-11-01 02:33:10 +0900

    Make gemspec files for default gems with extensions

    So that rubygems can find them as gems.  However, the `--install-dir`
    option of `gem install` seems to exclude prerelease gems, even already
    installed in that directory, from the dependencies for some reasons;
    use the `GEM_HOME` environment variable instead.

    Now net-imap 0.5.0 depends on json gem.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11969

commit 80fd8463536cfb1db29aa7f784b41178243524cb
  Author:     Sarah Sehr <sarah.sehr@appfolio.com>
  AuthorDate: 2024-05-09 04:19:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-11-01 02:10:31 +0900

    [rubygems/rubygems] Add useful error message for plugin load

    If a plugin has previously been installed, but the path is no longer
    valid, `rake setup` will fail with an unexpected error due to the file
    not existing.

    Instead, we want to present the user with what the issue is and how to
    resolve the problem.

    https://github.com/rubygems/rubygems/commit/0c6ad3ecbb

commit abfefd8e0ceb730f151bdde5f7f9f1a7b5f0b816
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-31 22:12:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-31 22:12:16 +0900

    Define `VM_ASSERT_TYPE` macros

commit 53df2a3c548a258b383dfd026a2ba3b53ae9b9dd
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-10-31 19:05:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-31 19:05:19 +0900

    [ruby/rdoc] Use thicker fonts with high contrast to improve
    readability
    (https://github.com/ruby/rdoc/pull/1197)

    https://github.com/ruby/rdoc/commit/7fb0e509ec

commit 27d77a9c73009c94864214c684faac38278398c2
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-09-05 19:45:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-31 17:31:16 +0900

    [ruby/openssl] pkcs7: remove default cipher from PKCS7.encrypt

    Require that users explicitly specify the desired algorithm. In my
    opinion, we are not in a position to specify the default cipher.

    When OpenSSL::PKCS7.encrypt is given only two arguments, it uses
    "RC2-40-CBC" as the symmetric cipher algorithm. 40-bit RC2 is a US
    export-grade cipher and considered insecure.

    Although this is technically a breaking change, the impact should be
    minimal. Even when OpenSSL is compiled with RC2 support and the macro
    OPENSSL_NO_RC2 is not defined, it will not actually work on modern
    systems because RC2 is part of the legacy provider.

    https://github.com/ruby/openssl/commit/439f456bfa

commit 339a8dd5e7da99e82129bcb7f8191f870e0866aa
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-09-05 19:01:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-31 17:28:34 +0900

    [ruby/openssl] ssl: remove redundant ossl_ssl_ex_vcb_idx

    The SSL ex_data index is used for storing the verify_callback Proc. The
    only user of it, ossl_ssl_verify_callback(), can find the callback by
    looking at the SSLContext object which is always known.

    https://github.com/ruby/openssl/commit/3a3d6e258b

commit 772a213a29bf2977948a3052eda43ea2caa2bd42
  Author:     Yuki Morohoshi <hoshi.sanou@gmail.com>
  AuthorDate: 2024-10-11 17:10:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-31 17:26:12 +0900

    [ruby/openssl] [DOC] better wording for OpenSSL::Config document.

    https://github.com/ruby/openssl/commit/26370636f3

    Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>

commit 9d94a3b8aa5697586cade5d39ec0fc5c352daf64
  Author:     Yuki Morohoshi <hoshi.sanou@gmail.com>
  AuthorDate: 2024-10-10 16:04:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-31 17:26:12 +0900

    [ruby/openssl] [DOC] Replace removed method in example for OpenSSL::Config#to_s

    https://github.com/ruby/openssl/commit/93c7bf52ac

commit 87fb44dff6409a19d12052cf0fc07ba80a4c45ac
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-31 13:26:37 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-31 13:26:37 +0900

    Introduce Fiber Scheduler `blocking_region` hook. (#11963)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 550ac2f2edc07d1b63e3755233df0758a652b53f
  Author:     kojix2 <2xijok@gmail.com>
  AuthorDate: 2024-10-31 12:44:50 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-31 12:44:50 +0900

    [DOC] Fix typos

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11967

    Merged-By: nobu <nobu@ruby-lang.org>

commit 583587dfbf524b96593f5469d68c844c7297ba98
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-10-31 05:17:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-31 09:30:10 +0900

    [ruby/error_highlight] use `instance_method` to get method object

    instead of `method()`.

    There is a bug around `define_method`, so this patch is workaround.

    https://github.com/ruby/error_highlight/commit/4d04537f58

commit c3fea18094988f965cb14ca775c25f757df277b5
  Author:     Guilherme Carreiro <karreiro@gmail.com>
  AuthorDate: 2024-04-26 04:24:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-31 08:09:12 +0900

    [rubygems/rubygems] Update `--ext=rust` to support compiling the native extension from source

    https://github.com/rubygems/rubygems/commit/9b0ec807c7

commit 22abcce704cf3d82aaa9af5b8ae4e6bf628502ea
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2024-10-31 04:45:30 +0900
  Commit:     Charles Oliver Nutter <headius@headius.com>
  CommitDate: 2024-10-31 05:30:28 +0900

    Only check RubyVM on CRuby

    Blind use of the RubyVM constant here prevents this test from
    running on non-CRuby. This patch guards it with RUBY_ENGINE ==
    "ruby" to make sure that doesn't happen.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11964

commit 5da1cc6c9c548bf95599ad7aa1b3877f8ccda953
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-19 03:17:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-31 04:38:08 +0900

    [rubygems/rubygems] Rely on PATH if Ruby is not installed in the same directory as the binstub

    https://github.com/rubygems/rubygems/commit/ab7d65cc18

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 116d6cbc834c5c58a414d94f93f54e1007c0b60b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-19 03:01:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-31 04:38:07 +0900

    [rubygems/rubygems] Simplify enable-load-relative prolog script creation

    https://github.com/rubygems/rubygems/commit/f2ed507afe

commit 1e1a37220b18873cd227da2e9b788a62c41707df
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-21 20:43:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-30 23:22:08 +0900

    [rubygems/rubygems] Fix `gem update --system` leaving old default bundler executables around

    https://github.com/rubygems/rubygems/commit/4b81add54c

commit ec0d0449ddce133b7cdf86a38135af6025146815
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-23 21:10:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-30 23:20:52 +0900

    [rubygems/rubygems] Remove confusing documentation

    The first paragraph is misleading because command line flags that set
    configuration are deprecated.

    The second one is unnecessary because configuration precedence is
    explained before the different configurations.

    https://github.com/rubygems/rubygems/commit/6cc64964ff

commit caa6bcc91f1c3070d704474d791d264993b55194
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-10-29 15:47:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-30 23:06:58 +0900

    [rubygems/rubygems] Indent github workflow steps for generated gems

    https://github.com/rubygems/rubygems/commit/a1784e2efa

commit 20f483ef362a0d443e1a75ffda9c2c47499905ee
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-30 11:00:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-30 12:11:29 +0900

    Use https://github.com/ruby/net-imap/commit/898ee6e7878fdb2d0b79a4691fd68b6d8b228426

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11962

commit 680053a2242d4a5359df0ef8ecb42cff91d66838
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-30 10:56:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-30 12:11:29 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11962

commit e077be119bbc8270aa603724303a93ff8b426c34
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-30 04:21:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-30 10:13:49 +0900

    [ruby/json] Remove double semicolon at end of line in parser

    https://github.com/ruby/json/commit/f6d6ca3c17

commit f2e51146f81997613b59f368bac0a12ec38dff98
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-29 20:47:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-30 10:13:49 +0900

    [ruby/json] Remove dead cases from convert_UTF8_to_* functions

    https://github.com/ruby/json/commit/d54063a790

commit 5d176436ce4683df57decab6e686c319bc4c53cd
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-29 18:23:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-30 10:13:48 +0900

    [ruby/json] Allocate the FBuffer struct on the stack

    Ref: https://github.com/ruby/json/issues/655

    The actual buffer is still on the heap, but this saves a pair
    of malloc/free.

    This helps a lot on micro-benchmarks

    Before:

    ```
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                      Oj   531.598k i/100ms
              JSON reuse   417.666k i/100ms
    Calculating -------------------------------------
                      Oj      5.735M (± 1.3%) i/s  (174.35 ns/i) -     28.706M in   5.005900s
              JSON reuse      4.604M (± 1.4%) i/s  (217.18 ns/i) -     23.389M in   5.080779s

    Comparison:
                      Oj:  5735475.6 i/s
              JSON reuse:  4604380.3 i/s - 1.25x  slower
    ```

    After:

    ```
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                      Oj   518.700k i/100ms
              JSON reuse   483.370k i/100ms
    Calculating -------------------------------------
                      Oj      5.722M (± 1.8%) i/s  (174.76 ns/i) -     29.047M in   5.077823s
              JSON reuse      5.278M (± 1.5%) i/s  (189.46 ns/i) -     26.585M in   5.038172s

    Comparison:
                      Oj:  5722283.8 i/s
              JSON reuse:  5278061.7 i/s - 1.08x  slower
    ```

    Bench:

    ```ruby
    require 'benchmark/ips'
    require 'oj'
    require 'json'

    json_encoder = JSON::State.new(JSON.dump_default_options)
    test_data = [1, "string", { a: 1, b: 2 }, [3, 4, 5]]

    Oj.default_options = Oj.default_options.merge(mode: :compat)

    Benchmark.ips do |x|
      x.config(time: 5, warmup: 2)

      x.report("Oj") do
        Oj.dump(test_data)
      end

      x.report("JSON reuse") do
        json_encoder.generate(test_data)
      end

      x.compare!(order: :baseline)
    end
    ```

    https://github.com/ruby/json/commit/72110f7992

commit a9f509e6c56f762d7825cca7ace33015be6fc05f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-30 02:37:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-30 02:40:08 +0900

    [ruby/error_highlight] Redefine in the module context

    https://github.com/ruby/error_highlight/commit/0048bd0285

commit e22d5c2584ccdef5c972c6df8d1f719dcca2dba5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-30 02:02:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-30 02:02:20 +0900

    Fix method definition owners

commit 21b3dfa03bf613aad303b889dd63ef64bb2ada9b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-28 23:58:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-29 16:56:32 +0900

    [ruby/error_highlight] Suppress smaller `max_snippet_width` warning

    https://github.com/ruby/error_highlight/commit/9cd14c5b9a

commit 7889b888389b674efa5f46100d7c05abb626777a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-29 16:30:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-29 16:30:41 +0900

    We can't install simplecov-json because this depends C ext gem.

    Revert "net-imap 0.5.0 needs simplecov-json"

    This reverts commit bafcbfe363ef05fe570c96abce316e2f2c7f3589.

commit bafcbfe363ef05fe570c96abce316e2f2c7f3589
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-29 16:24:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-29 16:25:17 +0900

    net-imap 0.5.0 needs simplecov-json

    https://github.com/ruby/ruby/actions/runs/11568717336/job/32201133125#step:13:258

commit 7eeabccf4cf3a7959f7d768f476d5667ddf18113
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-29 04:20:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-29 15:34:58 +0900

    Fix TestParallel#test_hungup when RUBY_TEST_TIMEOUT_SCALE is set

    When RUBY_TEST_TIMEOUT_SCALE is set, the timeout increases by the multiple
    specified. However, the test in test4test_hungup.rb does not scale, so
    if RUBY_TEST_TIMEOUT_SCALE is a large number like 10, then the test will
    not time out causing the tests test to fail.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11959

commit cd4b45ab1710751ddfe200d92161abf5fec6c62d
  Author:     MSP-Greg <MSP-Greg@users.noreply.github.com>
  AuthorDate: 2024-10-29 05:40:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-29 13:52:22 +0900

    [ruby/strscan] [DOC] doc/strscan/strscan.md - fix triple backtick
    (https://github.com/ruby/strscan/pull/112)

    See current doc, search for '## Target Substring', notice the backtick
    that isn't visible to the GitHub md parser.

    https://github.com/ruby/strscan/blob/843e931d134b0a8f0284296250454374e3f8a6aa/doc/strscan/strscan.md

    Fixed in the PR, see:

    https://github.com/MSP-Greg/strscan/blob/00-strscan.md/doc/strscan/strscan.md

    https://github.com/ruby/strscan/commit/041b15df4c

commit d5bc4b812a5d523d97e481ad3f91aebe043281dc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-29 13:26:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-29 13:26:20 +0900

    Revert "No longer needed ext/json/extconf.rb"

    This reverts commit 58797b7f74737b8896583c9bfa6546ef6756681a.

commit 2e43621806e752227b9e246b1b5ef1080c89fdaa
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-29 05:08:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-29 13:25:01 +0900

    [ruby/json] Optimize `fbuffer_append_long`

    Ref: https://github.com/ruby/json/issues/655

    Rather than to write the number backward, and then reverse
    the buffer, we can start from the back of the buffer and write
    the number in the proper direction.

    Before:

    ```
    == Encoding integers (8009 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json     8.606k i/100ms
                      oj     9.598k i/100ms
    Calculating -------------------------------------
                    json     86.059k (± 0.8%) i/s   (11.62 μs/i) -    430.300k in   5.000416s
                      oj     97.409k (± 0.6%) i/s   (10.27 μs/i) -    489.498k in   5.025360s

    Comparison:
                    json:    86058.8 i/s
                      oj:    97408.8 i/s - 1.13x  faster
    ```

    After:

    ```
    == Encoding integers (8009 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
            json (reuse)     9.500k i/100ms
                    json     9.359k i/100ms
                      oj     9.722k i/100ms
    Calculating -------------------------------------
            json (reuse)     96.270k (± 0.4%) i/s   (10.39 μs/i) -    484.500k in   5.032777s
                    json     94.800k (± 2.2%) i/s   (10.55 μs/i) -    477.309k in   5.037495s
                      oj     97.131k (± 0.7%) i/s   (10.30 μs/i) -    486.100k in   5.004822s

    Comparison:
            json (reuse):    96270.1 i/s
                      oj:    97130.5 i/s - same-ish: difference falls within error
                    json:    94799.9 i/s - same-ish: difference falls within error
    ```

    https://github.com/ruby/json/commit/0655b58d14

commit b094ee3f23097f3e02c54476a0499e590e1bf5d7
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-28 16:34:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-29 13:25:01 +0900

    Handle all formatting configs potentially being `nil`.

    Fix: https://github.com/ruby/json/issues/653

    I don't think this was really fully supported in the past, but
    it kinda worked with some of the implementations.

commit 3c9be02af1e44a79191309cf727ede20cc576cb0
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-10-29 05:21:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-29 05:38:20 +0900

    [ruby/prism] Only read from buffer if `size` is greater than 0

    It looks like we can possibly do an out of bounds read if size is equal
    to 0.  This commit adds a conditional to ensure size is actually greater
    than 0 before looking backwards in the buffer

    https://github.com/ruby/prism/commit/2031b626e6

commit 83568a41afade809e03fdadd5f4026488920b293
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-28 23:03:18 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-28 23:39:39 +0900

    Install simplecov for net-imap 0.5.0 test

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11957

commit e994015c00fc574de9c4fe287ca242da323c1b1a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-28 22:52:43 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-28 23:39:39 +0900

    Update test-bundled-gems.rb

    - Fix filtering by ARGV
    - Adjust top library names from gem names
    - Skip if no tests found

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11957

commit a8f220ed90e60e0fcbd2185d1339cbcc56e9d86a
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-28 23:05:49 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-28 23:05:49 +0900

    [DOC] Tweaks for Array#uniq (#11949)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 90ef28f59b4a2214d64f21d7e6d033273a0cce89
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-28 21:38:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-28 21:38:57 +0900

    [DOC] Tweaks for windows.md

commit 4f467c3fbfde950946a1c74236b103d22100260d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-28 17:26:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-28 17:27:40 +0900

    Win32: [DOC] Update about program name configurations

commit a3bfddf96f3ff5b8065859cc7dc19bfb1b24bd01
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-28 14:48:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-28 17:27:40 +0900

    Win32: Refactor configurations

    Pass configure options to the generated Makefile as-is.

commit a687b2ecede759e4591973fcc556fab1e10601c5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-27 13:18:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-28 17:27:40 +0900

    Win32: [DOC] Mention `vcvarall*.bat`

commit f6bd8f2d396b10f4ebcc37f18a0611a98dc142dc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-27 13:13:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-28 17:27:40 +0900

    Win32: [DOC] No extlibs file, no patch is needed

commit 70d20ce473952e3a2e5b0aa4a6884886517ee3cc
  Author:     nagachika <nagachika@ruby-lang.org>
  AuthorDate: 2024-10-28 12:29:59 +0900
  Commit:     nagachika <nagachika@ruby-lang.org>
  CommitDate: 2024-10-28 12:29:59 +0900

    Update bundled gems list

commit 484ea00d2e1c2f2409cf1b58575cdb2c298c6a45
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-26 22:13:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-26 22:20:34 +0900

    [ruby/stringio] An empty string should be converted to empty in any encoding

    https://github.com/ruby/stringio/commit/ef03f9368d

commit f513863c8186ebfbc2a4264929287f982fd147ea
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-26 21:08:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-26 21:55:45 +0900

    [ruby/stringio] Unreachable after an invalid argument exception

    https://github.com/ruby/stringio/commit/a2aab4721c

commit 393c5df00855829aaa7ce2f9964be673f5373ae0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-26 21:06:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-26 21:55:45 +0900

    [ruby/stringio] Remove `SafeStringValue`

    In Ruby 2.7 and later, it is the same as `StringValue`.

    https://github.com/ruby/stringio/commit/561ea67ea8

commit caa946f2deba24b26e92aae50441ca680028db7a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-26 18:15:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    Restore ext/json/extconf.rb

commit 58797b7f74737b8896583c9bfa6546ef6756681a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-26 17:52:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    No longer needed ext/json/extconf.rb

commit e136e552b659a67742b185b0dafbebe098fe5c31
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-26 02:20:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Instantiate Parser with a kwsplat

    Prior to 2.7.3, `JSON::Ext::Parser` would only take kwargs.
    So if json_pure 2.7.4 is loaded with `json <= 2.7.2` (or stdlib)
    it blows up.

    Ref: https://github.com/ruby/json/issues/650
    Fix: https://github.com/ruby/json/issues/651

    https://github.com/ruby/json/commit/4d9dc98817

commit 8018a3121f8a516d2849475f965a1cf6038b5543
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-25 19:00:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Workaround being loaded alongside a different `json_pure` version

    Fix: https://github.com/ruby/json/issues/646

    Since both `json` and `json_pure` expose the same files, if the
    versions don't match, the native extension may be loaded with Ruby
    code that don't match and is incompatible.

    By doing the `require json/ext/generator/state` from C we ensure
    we're at least loading that.

    But this is a dirty workaround for the 2.7.x branch, we should
    find a better way to fully isolate the two gems.

    https://github.com/ruby/json/commit/dfdd4acf36

commit a5bd0c638a600a5cfb0d99ee64ba8172a9c66535
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-25 16:55:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Workaround rubygems $LOAD_PATH bug

    Ref: https://github.com/ruby/json/issues/647
    Ref: https://github.com/rubygems/rubygems/pull/6490

    Older rubygems are executing `extconf.rb` with a broken `$LOAD_PATH`
    causing the `json` gem native extension to be loaded with the stdlib
    version of the `.rb` files.

    This fails with

    ```
    json/common.rb:82:in `initialize': wrong number of arguments (given 1, expected 0) (ArgumentError)
    ```

    Since this is just for `extconf.rb` we can probably just accept that
    extra argument and ignore it.

    The bug was fixed in rubygems 3.4.9 / 2023-03-20

    https://github.com/ruby/json/commit/1f5e849fe0

commit 3daf16e51fcd21e964525d7e64cec646a49236ff
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-25 19:36:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Cleanup test_helper.rb

    https://github.com/ruby/json/commit/49de571dd8

commit 73142755480e6a5e2d6307805dcc5d0dde02abbc
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-25 19:35:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    json_pure: fix ractor compatibility

    This actually never worked, because the test was always testing
    the ext version from the stdlib, never the pure version nor the
    current ext version.

commit a3c21756e91167fb7acc09bd21c9b660d1aa3d30
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-24 23:51:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Use smaller types for JSON_Parser boolean fields

    https://github.com/ruby/json/commit/7f079b25be

commit b1d417dc7b8a3f5541a4c2bb6d70508f84ecc4a3
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-24 23:10:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Cleaner .encode / .force_encoding

    https://github.com/ruby/json/commit/cecf04fdfc

commit 1045b9f820b6892fb7b5b0a19a8fc959f20a8762
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-24 18:42:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Modernize heredocs

    https://github.com/ruby/json/commit/fb25e94aea

commit bfdf02ea7290d1d76e457ffbb15cfef5e64bf547
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-18 22:36:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    pretty_generate: don't apply object_nl / array_nl for empty containers

    Fix: https://github.com/ruby/json/issues/437

    Before:

    ```json
    {
      "foo": {
      },
      "bar": [
      ]
    }
    ```

    After:

    ```json
    {
      "foo": {},
      "bar": []
    }
    ```

commit 1d4708565fead0291c5c54db60a196268d706aa6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-24 17:48:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    Set Ruby 2.7 as the required version

commit 7d37ae67510a50ca0bf1baa98d648f10227fd22f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-24 17:46:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Start 2.8.0 development

    https://github.com/ruby/json/commit/937c8d2e65

commit 9d3fd50cfed7658a2a92b989457ff04958f57b94
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-24 17:18:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Release 2.7.3

    https://github.com/ruby/json/commit/7a3b482013

commit 89d4bbacfb428a451f2cbe43009956163b995341
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-23 17:17:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Release 2.7.3.rc1

    https://github.com/ruby/json/commit/a48be35825

commit 925131073dd98135bff0bd7be942bebd69c6b576
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-22 23:05:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    Merge json and json-java gemspecs

commit fc9f0cb8c5ead74455370f2ae409bc4a6b1dedc0
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-22 05:19:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] JSON.dump / String#to_json: raise on invalid encoding

    This regressed since 2.7.2.

    https://github.com/ruby/json/commit/35407d6635

commit 2c6e3bc71e12e12ad6949502e2b161171ca56840
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-10-22 04:26:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    Raise the correct exception in fast_serialize_string

    * Related to https://github.com/ruby/json/issues/344

commit 1cf1bf9588261263fbf5d423d4786d59bc2600f7
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-10-22 04:38:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Add lib/json/ext/generator/state.rb to the gemspec

    * Otherwise the gem always uses the pure-Ruby backend
      as it's missing that file and rescuing the LoadError.

    https://github.com/ruby/json/commit/1e2809b0b0

commit 70f554efb468278d4488c988f1eb59d00bacbda5
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-21 22:32:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] raise_parse_error: avoid UB

    Fix: https://github.com/ruby/json/pull/625

    Declaring the buffer in a sub block cause bugs on some compilers.

    https://github.com/ruby/json/commit/90967c9eb0

commit 00aa1f9a1d9ea2c7fc99bd9063174f0247f3df08
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-21 21:25:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Encoding benchmark updates

    Remove `rapidjson` as it's 2x slower most benchmarks, and on
    par on a couple of them, so it's not telling us much here.

    Configure `Oj` in compat mode so it generate the same JSON
    on the `many to_json` benchmark.

    ```
    == Encoding small nested array (121 bytes)
    ruby 3.4.0preview2 (2024-10-07 master https://github.com/ruby/json/commit/32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
            json (reuse)   220.202k i/100ms
                    json   162.190k i/100ms
                      oj   222.094k i/100ms
    Calculating -------------------------------------
            json (reuse)      2.322M (± 1.3%) i/s  (430.72 ns/i) -     11.671M in   5.027655s
                    json      1.707M (± 1.2%) i/s  (585.76 ns/i) -      8.596M in   5.035996s
                      oj      2.248M (± 1.4%) i/s  (444.94 ns/i) -     11.327M in   5.040712s

    Comparison:
            json (reuse):  2321686.9 i/s
                      oj:  2247509.6 i/s - 1.03x  slower
                    json:  1707179.3 i/s - 1.36x  slower

    == Encoding small hash (65 bytes)
    ruby 3.4.0preview2 (2024-10-07 master https://github.com/ruby/json/commit/32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
            json (reuse)   446.184k i/100ms
                    json   265.594k i/100ms
                      oj   653.226k i/100ms
    Calculating -------------------------------------
            json (reuse)      4.980M (± 1.4%) i/s  (200.82 ns/i) -     24.986M in   5.018729s
                    json      2.763M (± 1.8%) i/s  (361.94 ns/i) -     13.811M in   5.000434s
                      oj      7.232M (± 1.4%) i/s  (138.28 ns/i) -     36.581M in   5.059377s

    Comparison:
            json (reuse):  4979642.4 i/s
                      oj:  7231624.4 i/s - 1.45x  faster
                    json:  2762890.1 i/s - 1.80x  slower

    == Encoding mixed utf8 (5003001 bytes)
    ruby 3.4.0preview2 (2024-10-07 master https://github.com/ruby/json/commit/32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json    34.000 i/100ms
                      oj    36.000 i/100ms
    Calculating -------------------------------------
                    json    357.772 (± 4.8%) i/s    (2.80 ms/i) -      1.802k in   5.047308s
                      oj    327.521 (± 1.5%) i/s    (3.05 ms/i) -      1.656k in   5.057241s

    Comparison:
                    json:      357.8 i/s
                      oj:      327.5 i/s - 1.09x  slower

    == Encoding mostly utf8 (5001001 bytes)
    ruby 3.4.0preview2 (2024-10-07 master https://github.com/ruby/json/commit/32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json    26.000 i/100ms
                      oj    36.000 i/100ms
    Calculating -------------------------------------
                    json    294.357 (±10.5%) i/s    (3.40 ms/i) -      1.456k in   5.028862s
                      oj    352.826 (± 8.2%) i/s    (2.83 ms/i) -      1.764k in   5.045651s

    Comparison:
                    json:      294.4 i/s
                      oj:      352.8 i/s - same-ish: difference falls within error

    == Encoding twitter.json (466906 bytes)
    ruby 3.4.0preview2 (2024-10-07 master https://github.com/ruby/json/commit/32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json   206.000 i/100ms
                      oj   229.000 i/100ms
    Calculating -------------------------------------
                    json      2.064k (± 9.3%) i/s  (484.55 μs/i) -     10.300k in   5.056409s
                      oj      2.121k (± 8.4%) i/s  (471.47 μs/i) -     10.534k in   5.012315s

    Comparison:
                    json:     2063.8 i/s
                      oj:     2121.0 i/s - same-ish: difference falls within error

    == Encoding citm_catalog.json (500298 bytes)
    ruby 3.4.0preview2 (2024-10-07 master https://github.com/ruby/json/commit/32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json   119.000 i/100ms
                      oj   126.000 i/100ms
    Calculating -------------------------------------
                    json      1.317k (± 2.3%) i/s  (759.18 μs/i) -      6.664k in   5.061781s
                      oj      1.261k (± 2.9%) i/s  (793.11 μs/i) -      6.300k in   5.000714s

    Comparison:
                    json:     1317.2 i/s
                      oj:     1260.9 i/s - same-ish: difference falls within error

    == Encoding canada.json (2090234 bytes)
    ruby 3.4.0preview2 (2024-10-07 master https://github.com/ruby/json/commit/32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json     1.000 i/100ms
                      oj     1.000 i/100ms
    Calculating -------------------------------------
                    json     19.590 (± 0.0%) i/s   (51.05 ms/i) -     98.000 in   5.004485s
                      oj     19.003 (± 0.0%) i/s   (52.62 ms/i) -     95.000 in   5.002276s

    Comparison:
                    json:       19.6 i/s
                      oj:       19.0 i/s - 1.03x  slower

    == Encoding many #to_json calls (2701 bytes)
    ruby 3.4.0preview2 (2024-10-07 master https://github.com/ruby/json/commit/32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json     2.556k i/100ms
                      oj     2.332k i/100ms
    Calculating -------------------------------------
                    json     25.367k (± 1.7%) i/s   (39.42 μs/i) -    127.800k in   5.039438s
                      oj     23.743k (± 1.5%) i/s   (42.12 μs/i) -    118.932k in   5.010303s

    Comparison:
                    json:    25367.3 i/s
                      oj:    23743.3 i/s - 1.07x  slower

    ```

    https://github.com/ruby/json/commit/5a64fd5b6f

commit 44aef5e85200231dfe7d2868cf049ebb2622f530
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-10-21 19:05:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Drop compatibility for missing Array#permutation (Ruby <= 1.8.6)

    https://github.com/ruby/json/commit/b02091ed44

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 82f7550f65f9872f6d7bff1a876395c23bbd7fc1
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-10-21 19:04:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    Use frozen string literals

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 5f9746895847be1e2dd202207d7a12f3f556294c
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-10-21 19:02:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Drop compatibility for missing Time#tv_nsec (Ruby 1.8)

    https://github.com/ruby/json/commit/b240bde402

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 11348c583f228ef76ed95d8c468fbe13616826c6
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-10-21 19:01:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    Use Encoding constants, String#b

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit a052d961034d72fcccaa92ba356c9d43f3154502
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-20 03:44:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Compile with std=c99

    https://github.com/ruby/json/commit/d4968d2e48

commit cbd933bcf11f4847ac6333e2fec2344d03a466f0
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-20 02:49:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] convert_UTF8_to_ASCII_only_JSON: apply the same optimization pass

    https://github.com/ruby/json/commit/42edaf7f17

commit e52b47680ea35a8cdca918f9853f7cdcb4ced6af
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-19 19:55:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Reduce encoding benchmark size

    Profiling revealed that we were spending lots of time growing the buffer.
    Buffer operations is definitely something we want to optimize, but for
    this specific benchmark what we're interested in is UTF-8 scanning performance.

    Each iteration of the two scaning benchmark were producing 20MB of JSON,
    now they only produce 5MB.

    Now:

    ```
    == Encoding mostly utf8 (5001001 bytes)
    ruby 3.4.0dev (2024-10-18T19:01:45Z master https://github.com/ruby/json/commit/7be9a333ca) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json    35.000 i/100ms
                      oj    36.000 i/100ms
               rapidjson    10.000 i/100ms
    Calculating -------------------------------------
                    json    359.161 (± 1.4%) i/s    (2.78 ms/i) -      1.820k in   5.068542s
                      oj    359.699 (± 0.6%) i/s    (2.78 ms/i) -      1.800k in   5.004291s
               rapidjson     99.687 (± 2.0%) i/s   (10.03 ms/i) -    500.000 in   5.017321s

    Comparison:
                    json:      359.2 i/s
                      oj:      359.7 i/s - same-ish: difference falls within error
               rapidjson:       99.7 i/s - 3.60x  slower
    ```

    https://github.com/ruby/json/commit/1a338532d2

commit 97713ac952cf8d3fa7d9ca07c3aaeef3e8956c85
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-19 03:47:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] convert_UTF8_to_JSON: repurpose the escape tables into size tables

    Since we're looking up the table anyway, we might as well store the
    UTF-8 char length in it. For single byte characters that don't need
    escaping we store `0`.

    This helps on strings with lots of multi-byte characters:

    Before:

    ```
    == Encoding mostly utf8 (20004001 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json     6.000 i/100ms
                      oj    10.000 i/100ms
               rapidjson     2.000 i/100ms
    Calculating -------------------------------------
                    json     67.978 (± 1.5%) i/s   (14.71 ms/i) -    342.000 in   5.033062s
                      oj    100.876 (± 2.0%) i/s    (9.91 ms/i) -    510.000 in   5.058080s
               rapidjson     26.389 (± 7.6%) i/s   (37.89 ms/i) -    132.000 in   5.027681s

    Comparison:
                    json:       68.0 i/s
                      oj:      100.9 i/s - 1.48x  faster
               rapidjson:       26.4 i/s - 2.58x  slower
    ```

    After:

    ```
    == Encoding mostly utf8 (20004001 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json     7.000 i/100ms
                      oj    10.000 i/100ms
               rapidjson     2.000 i/100ms
    Calculating -------------------------------------
                    json     75.187 (± 2.7%) i/s   (13.30 ms/i) -    378.000 in   5.030111s
                      oj     95.196 (± 2.1%) i/s   (10.50 ms/i) -    480.000 in   5.043565s
               rapidjson     25.969 (± 3.9%) i/s   (38.51 ms/i) -    130.000 in   5.011471s

    Comparison:
                    json:       75.2 i/s
                      oj:       95.2 i/s - 1.27x  faster
               rapidjson:       26.0 i/s - 2.90x  slower
    ```

    https://github.com/ruby/json/commit/51e2631d1f

commit 9f300d0541cd93e14fed0b832a630ba1dc0d9770
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-19 02:45:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Optimize convert_UTF8_to_JSON for mostly ASCII strings

    If we assume that even UTF-8 strings are mostly ASCII, we can implement a
    fast path for the ASCII parts.

    Before:

    ```
    == Encoding mixed utf8 (20012001 bytes)
    ruby 3.4.0dev (2024-10-18T15:12:54Z master https://github.com/ruby/json/commit/d1b5c10957) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json     5.000 i/100ms
                      oj     9.000 i/100ms
               rapidjson     2.000 i/100ms
    Calculating -------------------------------------
                    json     49.403 (± 2.0%) i/s   (20.24 ms/i) -    250.000 in   5.062647s
                      oj    100.120 (± 2.0%) i/s    (9.99 ms/i) -    504.000 in   5.035349s
               rapidjson     26.404 (± 0.0%) i/s   (37.87 ms/i) -    132.000 in   5.001025s

    Comparison:
                    json:       49.4 i/s
                      oj:      100.1 i/s - 2.03x  faster
               rapidjson:       26.4 i/s - 1.87x  slower
    ```

    After:

    ```
    == Encoding mixed utf8 (20012001 bytes)
    ruby 3.4.0dev (2024-10-18T15:12:54Z master https://github.com/ruby/json/commit/d1b5c10957) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json    10.000 i/100ms
                      oj     9.000 i/100ms
               rapidjson     2.000 i/100ms
    Calculating -------------------------------------
                    json     95.686 (± 2.1%) i/s   (10.45 ms/i) -    480.000 in   5.018575s
                      oj     96.875 (± 2.1%) i/s   (10.32 ms/i) -    486.000 in   5.019097s
               rapidjson     26.260 (± 3.8%) i/s   (38.08 ms/i) -    132.000 in   5.033151s

    Comparison:
                    json:       95.7 i/s
                      oj:       96.9 i/s - same-ish: difference falls within error
               rapidjson:       26.3 i/s - 3.64x  slower
    ```

    https://github.com/ruby/json/commit/f8166c2d7f

commit 07fc21cfad0bbae70f03526dfb63c2011d60e887
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-18 23:03:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Ext::Parser avoid costly check on decimal_class when it is nil

    Closes: https://github.com/ruby/json/pull/512

    https://github.com/ruby/json/commit/d882a45d82

    Co-Authored-By: lukeg <luke.gru@gmail.com>

commit 18cc663aef7a8073652a5979d172109e08e2497a
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-18 22:48:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Add test coverage for JSON.load with a Proc

    Fix: https://github.com/ruby/json/issues/438

    https://github.com/ruby/json/commit/9dd89eaac8

commit 9045258c8891b3a71d1adb9045c2a106fbcc53ee
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-18 21:04:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Limit the size of ParserError exception messages

    Fix: https://github.com/ruby/json/issues/534

    Only include up to 32 bytes of unparseable the source.

    https://github.com/ruby/json/commit/f44995cfb6

commit 7dfc1f3d66d6041631da4a94767dfa33ff290945
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-18 20:45:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] parser.c: refactor raise_parse_error

    https://github.com/ruby/json/commit/09e1df2643

commit 618085f48d953197ed536386011c09baf21d22bc
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-18 19:30:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Get rid of the remaining tabs.

    https://github.com/ruby/json/commit/1a9af430d2

commit e0f8732023c50ee72ed132ebebc9e858643ba6b0
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-18 19:27:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    Reduce allocations in `parse` and `load` argument handling

    Avoid needless hash allocations and such that degrade performance
    significantly on micro-benchmarks.

commit 8e7e63822123568e677ad34cf5350d970eca4a17
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-18 18:49:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    Add more precise documentation for `object_class` and `array_class`

    Fix: https://github.com/ruby/json/issues/419

commit aed0114913501cc4aee3e4fb6284e127f596bf08
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-18 18:04:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/json] Annotate the encoding benchmark

    Note where we currently stand, what the current bottlencks are
    and what could or can't be done.

    ```
    == Encoding small nested array (121 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) [arm64-darwin23]
    Warming up --------------------------------------
                    json   129.145k i/100ms
            json (reuse)   239.395k i/100ms
                      oj   211.514k i/100ms
               rapidjson   130.660k i/100ms
    Calculating -------------------------------------
                    json      1.284M (± 0.3%) i/s  (779.11 ns/i) -      6.457M in   5.030954s
            json (reuse)      2.405M (± 0.1%) i/s  (415.77 ns/i) -     12.209M in   5.076202s
                      oj      2.118M (± 0.0%) i/s  (472.11 ns/i) -     10.787M in   5.092795s
               rapidjson      1.325M (± 1.3%) i/s  (754.82 ns/i) -      6.664M in   5.030763s

    Comparison:
                    json:  1283514.8 i/s
            json (reuse):  2405175.0 i/s - 1.87x  faster
                      oj:  2118132.9 i/s - 1.65x  faster
               rapidjson:  1324820.8 i/s - 1.03x  faster

    == Encoding small hash (65 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) [arm64-darwin23]
    Warming up --------------------------------------
                    json   177.502k i/100ms
            json (reuse)   485.963k i/100ms
                      oj   656.566k i/100ms
               rapidjson   227.985k i/100ms
    Calculating -------------------------------------
                    json      1.774M (± 3.1%) i/s  (563.67 ns/i) -      8.875M in   5.007964s
            json (reuse)      4.804M (± 3.0%) i/s  (208.16 ns/i) -     24.298M in   5.062426s
                      oj      6.564M (± 1.9%) i/s  (152.36 ns/i) -     32.828M in   5.003539s
               rapidjson      2.229M (± 2.0%) i/s  (448.59 ns/i) -     11.171M in   5.013299s

    Comparison:
                    json:  1774084.6 i/s
                      oj:  6563547.8 i/s - 3.70x  faster
            json (reuse):  4804083.0 i/s - 2.71x  faster
               rapidjson:  2229209.5 i/s - 1.26x  faster

    == Encoding twitter.json (466906 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) [arm64-darwin23]
    Warming up --------------------------------------
                    json   212.000 i/100ms
                      oj   222.000 i/100ms
               rapidjson   109.000 i/100ms
    Calculating -------------------------------------
                    json      2.135k (± 0.7%) i/s  (468.32 μs/i) -     10.812k in   5.063665s
                      oj      2.219k (± 1.9%) i/s  (450.69 μs/i) -     11.100k in   5.004642s
               rapidjson      1.093k (± 3.8%) i/s  (914.66 μs/i) -      5.559k in   5.090812s

    Comparison:
                    json:     2135.3 i/s
                      oj:     2218.8 i/s - 1.04x  faster
               rapidjson:     1093.3 i/s - 1.95x  slower

    == Encoding citm_catalog.json (500298 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) [arm64-darwin23]
    Warming up --------------------------------------
                    json   132.000 i/100ms
                      oj   126.000 i/100ms
               rapidjson    96.000 i/100ms
    Calculating -------------------------------------
                    json      1.304k (± 2.2%) i/s  (766.96 μs/i) -      6.600k in   5.064483s
                      oj      1.272k (± 0.8%) i/s  (786.14 μs/i) -      6.426k in   5.052044s
               rapidjson    997.370 (± 4.8%) i/s    (1.00 ms/i) -      4.992k in   5.016266s

    Comparison:
                    json:     1303.9 i/s
                      oj:     1272.0 i/s - same-ish: difference falls within error
               rapidjson:      997.4 i/s - 1.31x  slower

    == Encoding canada.json (2090234 bytes)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) [arm64-darwin23]
    Warming up --------------------------------------
                    json     2.000 i/100ms
                      oj     3.000 i/100ms
               rapidjson     1.000 i/100ms
    Calculating -------------------------------------
                    json     20.001 (± 0.0%) i/s   (50.00 ms/i) -    102.000 in   5.100950s
                      oj     30.823 (± 0.0%) i/s   (32.44 ms/i) -    156.000 in   5.061333s
               rapidjson     19.446 (± 0.0%) i/s   (51.42 ms/i) -     98.000 in   5.041884s

    Comparison:
                    json:       20.0 i/s
                      oj:       30.8 i/s - 1.54x  faster
               rapidjson:       19.4 i/s - 1.03x  slower

    == Encoding many #to_json calls (2661 bytes)
    oj does not match expected output. Skipping
    rapidjson unsupported (Invalid object key type: Object)
    ruby 3.3.4 (2024-07-09 revision https://github.com/ruby/json/commit/be1089c8ec) [arm64-darwin23]
    Warming up --------------------------------------
                    json     2.200k i/100ms
    Calculating -------------------------------------
                    json     22.253k (± 0.2%) i/s   (44.94 μs/i) -    112.200k in   5.041962s
    ```

    https://github.com/ruby/json/commit/77e97b3d4e

commit 5fa491b4059680217d51c66c9a21395aa34297b7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-26 18:50:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    Normalize lockfile platforms

commit e61bb75a8650075e2283502de8853c3228307fbc
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-10-19 15:15:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/strscan] [JRuby] Optimize `scan()`: Remove duplicate `if
    (restLen() < patternsize()) return context.nil;` checks in
    `!headonly`.
    (https://github.com/ruby/strscan/pull/110)

    - before: #109

    ## Why?

    https://github.com/ruby/strscan/blob/d31274f41b7c1e28f23d58cf7bfea03baa818cb7/ext/jruby/org/jruby/ext/strscan/RubyStringScanner.java#L371-L373

    This means the following :

    `if (str.size() - curr < pattern.size()) return context.nil;`

    A similar check is made within `StringSupport#index()` within
    `!headonly`.

    https://github.com/jruby/jruby/blob/be7815ec02356a58891c8727bb448f0c6a826d96/core/src/main/java/org/jruby/util/StringSupport.java#L1706-L1720

    ```Java
        public static int index(ByteList source, ByteList other, int offset, Encoding enc) {
            int sourceLen = source.realSize();
            int sourceBegin = source.begin();
            int otherLen = other.realSize();

            if (otherLen == 0) return offset;
            if (sourceLen - offset < otherLen) return -1;
    ```

    - source = `strBL`
    - other = `patternBL`
    - offset = `strBeg + curr`

    This means the following :
    `if (strBL.realSize() - (strBeg + curr) < patternBL.realSize()) return
    -1;`

    Both checks are the same.

    ## Benchmark

    It shows String as a pattern is 2.40x faster than Regexp as a pattern.

    ```
    $ benchmark-driver benchmark/check_until.yaml
    Warming up --------------------------------------
                  regexp     7.613M i/s -      7.593M times in 0.997350s (131.35ns/i)
              regexp_var     7.793M i/s -      7.772M times in 0.997364s (128.32ns/i)
                  string    13.222M i/s -     13.199M times in 0.998297s (75.63ns/i)
              string_var    15.283M i/s -     15.216M times in 0.995667s (65.43ns/i)
    Calculating -------------------------------------
                  regexp    10.003M i/s -     22.840M times in 2.283361s (99.97ns/i)
              regexp_var     9.991M i/s -     23.378M times in 2.340019s (100.09ns/i)
                  string    23.454M i/s -     39.666M times in 1.691221s (42.64ns/i)
              string_var    23.998M i/s -     45.848M times in 1.910447s (41.67ns/i)

    Comparison:
              string_var:  23998466.3 i/s
                  string:  23453777.5 i/s - 1.02x  slower
                  regexp:  10002809.4 i/s - 2.40x  slower
              regexp_var:   9990580.1 i/s - 2.40x  slower
    ```

    https://github.com/ruby/strscan/commit/843e931d13

commit e73f35ddaf0510f5ce620340454cb69cd4228162
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-10-16 09:59:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/strscan] [CRuby] Optimize `strscan_do_scan()`: Remove
    unnecessary use of `rb_enc_get()`
    (https://github.com/ruby/strscan/pull/108)

    - before: #106

    ## Why?

    In `rb_strseq_index()`, the result of `rb_enc_check()` is used.

    -
    https://github.com/ruby/ruby/blob/6c7209cd3788ceec01e504d99057f9d3b396be84/string.c#L4335-L4368
    > enc = rb_enc_check(str, sub);

    > return strseq_core(str_ptr, str_ptr_end, str_len, sub_ptr, sub_len,
    offset, enc);

    -
    https://github.com/ruby/ruby/blob/6c7209cd3788ceec01e504d99057f9d3b396be84/string.c#L4309-L4318
    ```C
    strseq_core(const char *str_ptr, const char *str_ptr_end, long str_len,
                const char *sub_ptr, long sub_len, long offset, rb_encoding *enc)
    {
        const char *search_start = str_ptr;
        long pos, search_len = str_len - offset;

        for (;;) {
            const char *t;
            pos = rb_memsearch(sub_ptr, sub_len, search_start, search_len, enc);
    ```

    ## Benchmark

    It shows String as a pattern is 1.24x faster than Regexp as a pattern.

    ```
    $ benchmark-driver benchmark/check_until.yaml
    Warming up --------------------------------------
                  regexp     9.225M i/s -      9.328M times in 1.011068s (108.40ns/i)
              regexp_var     9.327M i/s -      9.413M times in 1.009214s (107.21ns/i)
                  string     9.200M i/s -      9.355M times in 1.016840s (108.70ns/i)
              string_var    11.249M i/s -     11.255M times in 1.000578s (88.90ns/i)
    Calculating -------------------------------------
                  regexp     9.565M i/s -     27.676M times in 2.893476s (104.55ns/i)
              regexp_var    10.111M i/s -     27.982M times in 2.767496s (98.90ns/i)
                  string    10.060M i/s -     27.600M times in 2.743465s (99.40ns/i)
              string_var    12.519M i/s -     33.746M times in 2.695615s (79.88ns/i)

    Comparison:
              string_var:  12518707.2 i/s
              regexp_var:  10111089.6 i/s - 1.24x  slower
                  string:  10060144.4 i/s - 1.24x  slower
                  regexp:   9565124.4 i/s - 1.31x  slower
    ```

    https://github.com/ruby/strscan/commit/ff2d7afa19

commit d6046bccb7bbfd7b1c5810da16a5c86ee22a19fc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-02 06:28:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/strscan] Use C90 as far as supporting 2.6 or earlier
    (https://github.com/ruby/strscan/pull/101)

    https://github.com/ruby/strscan/commit/d31274f41b

commit e7f06402dd8ce0f4e7210e0563662fb827c13ff8
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-10-23 06:17:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    Bump version

commit 2ec2051f1f292936ccd50fa3a45b724866b9c3ba
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-10-23 06:07:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/fiddle] Don't use mkmf to generate dummy Makefile
    (https://github.com/ruby/fiddle/pull/155)

    GitHub: fix https://github.com/ruby/fiddle/pull/153

    mkmf requires fileutils. JRuby doesn't like it.

    https://github.com/ruby/fiddle/commit/df4bd21fc3

commit a51007fc35da3b5cc6312e335d38ee7a37215bcc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-23 06:07:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/fiddle] Suppress -Wundef warnings
    (https://github.com/ruby/fiddle/pull/157)

    The GCC warning puts undefined macro names in double quotes while clang
    puts them in single quotes.

    https://github.com/ruby/fiddle/commit/7dcb40bccb

commit 346085ea940b604ea7b643d7a0acd9e890c926d9
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-10-18 21:52:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-26 18:44:15 +0900

    [ruby/fiddle] Fix Fiddle::Handle.new for a missing library in the
    FFI backend
    (https://github.com/ruby/fiddle/pull/156)

    * From https://github.com/ruby/reline/issues/766#issuecomment-2422135968

    https://github.com/ruby/fiddle/commit/eea9fd0cc4

commit 9838c443c4782802c1ab98ac3025fbe9b6b80f48
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-10-26 09:46:46 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-10-26 09:46:49 +0900

    Make builtin init ifdefs consistent

commit 990a53825e0c0da7a8568b363674a0e7ed4b57d2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-25 23:58:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-26 04:36:35 +0900

    Remove useless freelist unlock/lock in gc_ref_update

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11953

commit 05f894aba2b65663e5a092f0da136c6d8a3751c7
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-25 23:52:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-25 23:52:22 +0900

    [DOC] Tweaks for Array#uniq! (#11950)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 5c1e43277e12c2ca001945b302b5c12bf3093ed9
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-09-30 18:30:13 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-25 22:32:38 +0900

    Remove rb_ary_new for parser

    rb_ary_new function was not used by the parser and could be removed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11734

commit d278d352f91203483b8b9a8870207f97003e5b93
  Author:     S.H. <gamelinks007@gmail.com>
  AuthorDate: 2024-10-25 22:26:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-25 22:26:29 +0900

    Introduce inline_primary rule

    Introduce inline_primary rule to merge the same BNF pattern

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11881

    Merged-By: nobu <nobu@ruby-lang.org>

commit 9c8c140d73f8d2d11fd06733bc55f40acb17b334
  Author:     Daisuke Fujimura (fd0) <booleanlabel@gmail.com>
  AuthorDate: 2024-10-25 19:13:14 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-25 20:52:32 +0900

    Avoid dangling pointer on cygwin

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11952

commit f1e923631c9e1d3ec722cd805d408e0d697a84aa
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-25 16:39:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-25 16:39:42 +0900

    [ruby/reline] Add completion_append_character test
    (https://github.com/ruby/reline/pull/773)

    https://github.com/ruby/reline/commit/5f5a0aa78c

commit 10e0ebc7c2952ba9a2e3a54ecb3ea7e3c43a2774
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-25 16:05:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-25 16:12:07 +0900

    [ruby/rdoc] Remove details markers in HTML documents

    `summary {list-style: none;}` still does not work in Safari 18.

    https://github.com/ruby/rdoc/commit/c6a0a6a0d5

commit 0d7f746097b52f1c7dd71cebd04e0cd598c2cb44
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-23 23:51:17 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-10-25 14:05:56 +0900

    .travis.yml: Skip document only commit and merge for bot

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11948

commit d089826c0d3893239865ac876b293e51b05b5693
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-10-25 00:51:08 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-10-25 14:05:56 +0900

    .travis.yml: Drop arm32-linux case.

    In the Arm64 Ubuntu jammy (22.04) instance in Travis, we saw the following
    error related to the `setarch` failing to run on the 32-bits architecture,
    though the linux32 was included in the output of the `setarch --list`.

    https://app.travis-ci.com/github/junaruga/ruby/builds/272876565#L698
    ```
    $ setarch --list
    uname26
    linux32
    linux64
    armv7l
    armv8l
    armh
    arm
    arm64
    aarch64

    $ setarch linux32 --verbose --32bit uname -a
    Switching on ADDR_LIMIT_32BIT.
    The command "setarch linux32 --verbose --32bit uname -a" failed and exited with 1 during .
    ```

    As we already have the i686 case to test the 32-bits on GitHub, we decided
    dropping the arm32-linux case on Travis CI.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11948

commit e6ddbf181dfebdcc268708b357dde2685046fc89
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-23 23:31:51 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-10-25 14:05:56 +0900

    [Misc #20810] Reenable Travis CI.

    There was a report that the Travis CI's long-term infra issue was addressed by
    the Travis team on the Ruby Bug ticket 20810.

    We especially want to test the s390x (big-endian case) on the pull-request.

    Revert ".travis.yml: Drop all the pipelines due to jobs not starting."

    This reverts commit c853e48fc17e906c8965d76e09e4553923e4dd75.

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11948

commit 2b985456467da75e59db73a37a4d0980915f78b6
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-23 06:18:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-25 06:25:04 +0900

    [DOC] Tweaks for Array#union

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11937

commit 2078ba1984a684443257635cef22f257c3bf239e
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-23 04:36:02 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-25 06:23:22 +0900

    [DOC] Tweaks for Array#transpose

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11936

commit 979e447d7e27a5ee58f5756253a6783efb0b375b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-25 01:36:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-25 01:36:39 +0900

    [ruby/reline] nonprinting_start and nonprinting_end should be
    removed
    (https://github.com/ruby/reline/pull/771)

    https://github.com/ruby/reline/commit/e36441652a

commit 1634280e1cd7cbe1f4523681b3dc4036c077256a
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-24 04:54:38 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-10-25 00:08:46 +0900

    Fix shared GC with -DRUBY_DEBUG

    RUBY_DEBUG enables ractor assertions, which sets up some space at the
    end of each RVALUE to store the associated ractor ID. We need to make
    sure the function that does this is visible to shared GC libraries.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11945

commit 84ec06533d789a787ff766940795678847d7ee59
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-24 04:54:06 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-10-25 00:08:46 +0900

    Fix shared-gc build task

    include CPPFLAGS, and the correct CFLAGS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11945

commit 78378cae66f0ed354d966c6a13359b0e0861f27f
  Author:     Wu <monkeywzr@gmail.com>
  AuthorDate: 2024-10-24 23:12:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 23:12:41 +0900

    append completion_append_character only when continous completion is … (#764)

    * append completion_append_character only when continous completion is not possible

    * refactoring

    * remove debug puts

commit c1ca331cf44875b2238452cc6cd73bc4474a8301
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-24 01:53:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-24 22:45:29 +0900

    Fix potential issue in wmap_cmp for dead entries

    wmap_cmp will always return true for dead entries since dead entries have
    a Qundef value. When the keys have a hash collision, this may cause the
    wrong entry to be returned.

    This commit changes wmap_cmp to compare by weakmap_entry pointers when
    the entry is dead.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11944

commit 4755d28f9b2aba730563547ae44abcc5af0bc46f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-24 19:25:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 19:30:37 +0900

    [ruby/zlib] Reduce `ensure` nesting

    https://github.com/ruby/zlib/commit/5a02eac37f

commit ae67325dd00143fd87b10e258bf073d1df3b709e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-24 19:10:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 19:18:49 +0900

    [ruby/zlib] Tell gcc-14 that `Qnil` is not passed to `gzfile_calc_crc`

    Suppress false positive warnings due to a bug in gcc-14 optimizer.

    https://github.com/ruby/zlib/commit/eb1cf426c2

commit a24cb8ac4390a4d689939c2eb56da53573a2620a
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-10-24 08:18:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 09:55:31 +0900

    [rubygems/rubygems] [SpecFetcher tests] Use >3 character long fake gem name.

    https://github.com/rubygems/rubygems/commit/ce06b8f0d9

commit 5549dd2c12c0285acd487626756fbf1cb3e5d236
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-10-24 07:32:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 09:55:30 +0900

    [rubygems/rubygems] [SpecFetcher] Change < to <= like it should be.

    https://github.com/rubygems/rubygems/commit/3d5135e69b

commit 0b3d518e81891f0c2cea7c627c9dbe5fd630c92b
  Author:     Guilherme Carreiro <karreiro@gmail.com>
  AuthorDate: 2024-10-24 05:55:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 09:29:20 +0900

    [ruby/error_highlight] Rename the `ErrorHighlight::DefaultFormatter` setting to `max_snippet_width` for clarity

    https://github.com/ruby/error_highlight/commit/e13cbd4335

commit 60c0c324b207797ae2aa82e107a6a570aabb00bc
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-10-24 07:36:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 07:36:27 +0900

    [ruby/rdoc] Red-based darkfish color scheme
    (https://github.com/ruby/rdoc/pull/1191)

    * Cleanup rdoc.css

    * Use red as the highlight color

    * Use the same red as ruby-lang.org

    * Make main section links stand out more

    * Remove scrollbar styling

    https://github.com/ruby/rdoc/commit/f69dc470ac

commit 60d84354182c77cbd3d52fcd5387f434e12c2dfb
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-10-24 03:25:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 05:03:15 +0900

    [rubygems/rubygems] [SpecFetcher] Avoid unneeded string allocation.

    https://github.com/rubygems/rubygems/commit/1024505d8e

commit ab7c800ea826a4a848a78a8b495baddca6f22440
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-29 17:04:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 05:03:15 +0900

    [rubygems/rubygems] [SpecFetcher] Bail before calling available_specs()

    https://github.com/rubygems/rubygems/commit/0719921af4

commit 0f5941a5ddef0d76217ab271b36b8da03d3ce6a4
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-29 06:31:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 05:03:15 +0900

    [rubygems/rubygems] Replace .map{...}.compact with .filter_map {...}

    https://github.com/rubygems/rubygems/commit/18c4ea7d00

commit 65fd8606a9577f9d0726f3b34d4aa8ebb27515f7
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-29 06:25:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 05:03:14 +0900

    [rubygems/rubygems] Add another bail-early condition to suggest_gems_from_name(), with test.

    https://github.com/rubygems/rubygems/commit/7bb7c0ac2d

commit ff749d9956ed8fca9b1b2e419a574dd525b87167
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-29 03:28:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 05:03:14 +0900

    [rubygems/rubygems] Optimize when suggest_gems_from_name finds an exact match.

    https://github.com/rubygems/rubygems/commit/6c67298584

commit fe66eee1a01eea711baa1d750424ed6624e38b37
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-29 03:26:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 05:03:13 +0900

    [rubygems/rubygems] Document suggest_gems_from_name()

    https://github.com/rubygems/rubygems/commit/8f9983cc21

commit 35f0b7c83fbeac0fa13df253b90aea5919715a7f
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-29 03:24:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-24 05:03:13 +0900

    [rubygems/rubygems] [suggest_gems_from_name] Bail early if the value is guaranteed to be rejected.

    https://github.com/rubygems/rubygems/commit/56262a9384

commit 5460d5b1193c9e899db9bbe455a2042c57ab4a09
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-23 00:05:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-24 02:18:09 +0900

    Move error handling for GC.stat_heap to gc.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11932

commit d3aaca97850a1398920f629f8339b56e41b972ed
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-22 23:56:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-24 02:18:09 +0900

    Make rb_gc_impl_stat_heap return a VALUE instead of size_t

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11932

commit c0b50d05c70e81a4b806e53e99e29bf956683b3a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-22 23:49:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-24 02:18:09 +0900

    Move error handling for GC.stat to gc.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11932

commit 9dea0fae25426cc95de50ab50bf9572e603d7100
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-22 23:46:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-24 02:18:09 +0900

    Make rb_gc_impl_stat return a VALUE instead of size_t

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11932

commit c2af84b244e3ddee4ec8f69bc5a2be5efd179901
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-22 23:43:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-24 02:18:09 +0900

    Move error handling for GC.latest_gc_info to gc.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11932

commit cb661d7d82984cdb54485ea3f4af01ac21960882
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-10-23 23:17:08 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-23 23:17:08 +0900

    YJIT: Check when gen_branch() fails

    We got some core dumps in the wild where a PendingBranch had everything
    as None, leading to a panic unwrapping in PendingBranch::into_branch().
    This happened while compiling a `branchif`.

    It seems that the only way this can happen is when core::gen_branch()
    fails, but not due to OOM. We wouldn't have reach into_branch() when
    OOM, and the only way to not leave markers that would've set the
    branch's start_addr to some value in gen_branch() is for set_target() to
    fail, causing an early return.

    Unfortunately, it's hard to tell the exact sequence of events that led
    to this situation, but regardless, the dumps show us that we should
    check for errors in gen_branch().

    Because gen_branch() is used deep in the stack during compilation (e.g.
    guard_known_class() -> jit_chain_guard() -> gen_branch()), it'd be bad
    for compile speed to propagate the error everywhere, not to mention the
    massive patch required. Opt for a flag checked near the end of
    compilation.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11938

    Merged-By: XrXr

commit a6c4a842db78ce61dc823eaf055eb3373e4b296d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-23 21:58:08 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-10-23 23:04:28 +0900

    Harden the ObjectSpace.memsize_of spec

    [Bug #20803]

    `abc` is used a lot across the ruby spec suite, if another test runs before
    this spec is loaded and create this symbol dynamically (`"abc".to_sym`)
    the spec will fail.

    So it's preferable to use a symbol name that is very unlikely to be
    used elsewhere to avoid flakes.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11942

commit 681313872fa2583a55539860db9c5137298b3a82
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-22 15:40:58 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-23 23:02:15 +0900

    CI: Test with gcc-14 on macOS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11928

commit baae36570988683caa4c861c088689e18a8aa0fa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-22 15:41:57 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-23 23:02:15 +0900

    Extract common code as a function

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11928

commit 7d1011d3fa7226c47adf2914fb9035304f233cb2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-22 15:08:29 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-23 23:02:15 +0900

    Fix false warning by gcc 14 for aarch64

    gcc 14 for aarch64 with `-O3` may emit a false positive warning for a
    pointer access of `RB_BUILTIN_TYPE` called from `RB_TYPE_P`.  `Qfalse`
    shouldn't get there because of `RB_SPECIAL_CONST_P`, but the optimizer
    seems to ignore this condition in some cases (`ASSUME` just before the
    access doesn't seem to have any effect either).  Only by reversing the
    order in `RB_SPECIAL_CONST_P` to compare with 0 first does the warning
    seem to go away.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11928

commit 47f6ba349f531ac9cfe0c42bfaa81b087143770d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-22 14:30:04 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-23 23:02:15 +0900

    Check if -pipe option works

    With `-pipe` option, gcc of Homebrew on macOS results in a mysterious
    error.

    ```
    $ command -v gcc-14
    /opt/homebrew/bin/gcc-14

    $ gcc-14 --version
    gcc-14 (Homebrew GCC 14.2.0) 14.2.0
    Copyright (C) 2024 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    $ gcc-14 -c -pipe conftest.c
    clang: error: no input files
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11928

commit 438d36eb4be447e1f4d244ec3801c53b1a8fcb1f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-22 03:43:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 20:16:53 +0900

    [rubygems/rubygems] Print a proper error when there's a previous empty installation path with bad permissions

    https://github.com/rubygems/rubygems/commit/07e7f0bf5e

commit f2380081dfcdc820e55e257a7c370064c058ee98
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-22 02:30:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 17:53:19 +0900

    [rubygems/rubygems] Improve Bundler errors when trying to install to a protected folder in macOS

    ### Before

    ```
    $ GEM_HOME=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/ bundle
    Fetching gem metadata from https://rubygems.org/.
    Source rubygems repository https://rubygems.org/ or installed locally is ignoring #<Bundler::StubSpecification name=sqlite3 version=1.3.13 platform=ruby> because it is missing extensions
    Source rubygems repository https://rubygems.org/ or installed locally is ignoring #<Bundler::StubSpecification name=nokogiri version=1.13.8 platform=ruby> because it is missing extensions
    Source rubygems repository https://rubygems.org/ or installed locally is ignoring #<Bundler::StubSpecification name=libxml-ruby version=3.2.1 platform=ruby> because it is missing extensions
    Resolving dependencies...
    Fetching ruby2_keywords 0.0.5

    Retrying download gem from https://rubygems.org/ due to error (2/4): Bundler::GenericSystemCallError There was an error accessing `/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/cache/ruby2_keywords-0.0.5.gem`.
    The underlying system error is Errno::EPERM: Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/cache/ruby2_keywords-0.0.5.gem

    Retrying download gem from https://rubygems.org/ due to error (3/4): Bundler::GenericSystemCallError There was an error accessing `/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/cache/ruby2_keywords-0.0.5.gem`.
    The underlying system error is Errno::EPERM: Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/cache/ruby2_keywords-0.0.5.gem

    Retrying download gem from https://rubygems.org/ due to error (4/4): Bundler::GenericSystemCallError There was an error accessing `/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/cache/ruby2_keywords-0.0.5.gem`.
    The underlying system error is Errno::EPERM: Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/cache/ruby2_keywords-0.0.5.gem

    Bundler::GenericSystemCallError: There was an error accessing `/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/cache/ruby2_keywords-0.0.5.gem`.
    The underlying system error is Errno::EPERM: Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/cache/ruby2_keywords-0.0.5.gem
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/shared_helpers.rb:119:in `rescue in filesystem_access'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/shared_helpers.rb:104:in `filesystem_access'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/rubygems_integration.rb:431:in `block in download_gem'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/retry.rb:40:in `run'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/retry.rb:30:in `attempt'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/rubygems_integration.rb:423:in `download_gem'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/source/rubygems.rb:479:in `download_gem'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/source/rubygems.rb:436:in `fetch_gem'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/source/rubygems.rb:420:in `fetch_gem_if_possible'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/source/rubygems.rb:162:in `install'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/installer/gem_installer.rb:55:in `install'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/installer/gem_installer.rb:17:in `install_from_spec'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/installer/parallel_installer.rb:133:in `do_install'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/installer/parallel_installer.rb:124:in `block in worker_pool'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/worker.rb:62:in `apply_func'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/worker.rb:57:in `block in process_queue'
      <internal:kernel>:187:in `loop'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/worker.rb:54:in `process_queue'
      /Users/deivid/code/rubygems/rubygems/bundler/lib/bundler/worker.rb:90:in `block (2 levels) in create_threads'

    An error occurred while installing ruby2_keywords (0.0.5), and Bundler cannot continue.

    In Gemfile:
      ruby2_keywords
    ```

    ### After

    ```
    $ GEM_HOME=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/ bundle
    There was an error creating `/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/bundler.lock`.
    The underlying system error is Errno::EPERM: Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0/bundler.lock
    ```

    https://github.com/rubygems/rubygems/commit/345ec45f5a

commit 055ed5f5921f1a475a04c13b005d14e117d359f1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-22 02:29:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 17:53:18 +0900

    [rubygems/rubygems] Improve `Bundler::GenericSystemCall` error message

    https://github.com/rubygems/rubygems/commit/ccd7e084a8

commit cc29d737ef1cee9e1b18c54112afdbd3311f3e37
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-22 02:20:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 17:53:18 +0900

    [rubygems/rubygems] Consistently use `:create` action when creating directories

    It gives better errors.

    https://github.com/rubygems/rubygems/commit/bedae080ef

commit 88b969cd19d48d3d20f2a3cd0cbf6d97e46636fc
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-22 02:08:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 17:53:17 +0900

    [rubygems/rubygems] Fix out of date spec description

    https://github.com/rubygems/rubygems/commit/71fd896041

commit b843d4ee148c70a77b992291e226d23dc981368b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-21 19:07:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 17:52:46 +0900

    [rubygems/rubygems] Fix running `bundler` (with a final `r`) in a `bundle exec` context

    https://github.com/rubygems/rubygems/commit/ad95a1dfaa

commit 4790ecc86f7f73a0afbda836c730cb1226f5b786
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-22 04:37:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 17:52:45 +0900

    [rubygems/rubygems] Do what the comment says, it's simpler

    https://github.com/rubygems/rubygems/commit/0511d2c08d

commit ffd51926bf1db49b4147398cc40fcb552958776c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-11 21:02:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 17:52:45 +0900

    [rubygems/rubygems] Remove the need for some bundler monkeypatches

    https://github.com/rubygems/rubygems/commit/f530f8686d

commit ad853544526ccfd7092340e1a09a07e0a327c955
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-10-22 05:26:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 17:52:19 +0900

    Clarify bundler inline’s `install` parameter

commit 19747c1ca6b236310a96dc1167a1ca56f9f89fdf
  Author:     Taketo Takashima <t.taketo1113@gmail.com>
  AuthorDate: 2024-10-23 08:32:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 13:07:30 +0900

    [ruby/ipaddr] Drop support for Ruby 2.3

    https://github.com/ruby/ipaddr/commit/4685fca13d

commit e9ba6c2ea447f1325b6ec58c0f2a31bf81fa924e
  Author:     Guilherme Carreiro <karreiro@gmail.com>
  AuthorDate: 2024-10-18 08:12:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 09:58:50 +0900

    [ruby/error_highlight] Adjust truncation, add opt-out mechanism, rename methods, and prepare error highlighting to render on extremely small screens

    https://github.com/ruby/error_highlight/commit/c565340958

commit e7c9dfb3e913162b7803195f77d1cb9c0cc2b9df
  Author:     Guilherme Carreiro <karreiro@gmail.com>
  AuthorDate: 2024-10-14 03:40:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 09:58:50 +0900

    [ruby/error_highlight] Handle very long lines with errors in the middle of the line

    https://github.com/ruby/error_highlight/commit/0657bc1afa

commit 5aa8b9e3b53fbac7667c6d8ee9a3e85992380321
  Author:     Guilherme Carreiro <karreiro@gmail.com>
  AuthorDate: 2024-10-11 07:52:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 09:58:50 +0900

    [ruby/error_highlight] Handle very long lines

    https://github.com/ruby/error_highlight/commit/383490a4b4

commit b39b998a17e1f943f42d47f21bc08ae54fab8424
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-23 03:57:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-23 05:32:56 +0900

    [rubygems/rubygems] Remove patches for old TruffleRuby versions

    https://github.com/rubygems/rubygems/commit/264c61eb8e

commit da82b84b55ac8805230ecc173ca8f6f6b23c6638
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-23 04:20:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-23 04:20:58 +0900

    [DOC] Tweaks for Array#inspect (#11935)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 00af6a3f044692a36ff02355ec90c9593dddbaa9
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-23 04:07:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-23 04:11:26 +0900

    [DOC] Tweaks for Array#to_h

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11934

commit 0f3723c644c8ba52bc98f2bdadda0f0ba291452a
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-10-23 03:01:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-23 03:01:29 +0900

    Rewrite Numeric#dup and Numeric#+@ in Ruby (#11933)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 9cbf2f5fff83d776aff6068aca4a640d5144d197
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-23 01:36:12 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-23 01:36:12 +0900

    [DOC] Tweaks for Array#take_while (#11930)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit c837ae85d85e7516726801c7a948d5e7e2c5c98d
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-23 01:35:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-23 01:35:09 +0900

    [DOC] Tweaks for Array#take (#11929)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit b41c65b57735ce0d556b6fdad0ce490e939b1c7a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-10-22 07:08:51 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-10-23 00:30:35 +0900

    YJIT: Implement specialization for no-op `{Kernel,Numeric}#dup`

    Type information in the context for no additional work!

    This is the `if (special_object_p(obj)) return obj;` path in
    rb_obj_dup() and for Numeric#dup, it's always the identity function.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11926

commit 3a327e1c18df5439920d2a54ba68d82dd069326b
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-22 23:23:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-23 00:24:32 +0900

    [DOC] Tweaks for Array#to_a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11931

commit e288604eb3d6c2c7607a11b471a2efb96d15937f
  Author:     Wu <monkeywzr@gmail.com>
  AuthorDate: 2024-10-22 23:43:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-22 23:43:18 +0900

    [ruby/reline] Use IO's encoding instead of Encoding.default_external
    (https://github.com/ruby/reline/pull/765)

    * use IO's encoding

    * refactoring

    * remove unused encoding params

    * (for retriggering CI) remove unused encoding params

    https://github.com/ruby/reline/commit/f09772adab

commit 54065f3b7bf86fd95d1a406079cf5a09370a91d6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-22 16:27:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-22 18:04:30 +0900

    [rubygems/rubygems] Cleanup some specs after recent support drop

    https://github.com/rubygems/rubygems/commit/9548aa6766

commit 7b16eb8c1e77fc57642f8e84ff977a322ab61032
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-19 01:50:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-22 17:42:14 +0900

    [rubygems/rubygems] Change one `bundle check` spec to not touch the network

    https://github.com/rubygems/rubygems/commit/f4d31c0a97

commit dcf3add96bd6e117435c568e78be59bb7ecad701
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-10-22 13:20:17 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-10-22 15:27:20 +0900

    Delete reserve_stack code

    This code was working around a bug in the Linux kernel. It was
    previously possible for the kernel to place heap pages in a region where
    the stack was allowed to grow into, and then therefore run out of usable
    stack memory before RLIMIT_STACK was reached.

    This bug was fixed in Linux commit
    https://github.com/torvalds/linux/commit/c204d21f2232d875e36b8774c36ffd027dc1d606
    for kernel 4.13 in 2017. Therefore, in 2024, we should be safe to delete
    this workaround.

    [Bug #20804]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11927

commit 7d254e4a2e16dd6275452a2a67b0fcd600cdc990
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-08-09 09:02:39 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-10-22 13:17:52 +0900

    Perform an actual access check in Dir.tmpdir for writability

    At the moment, this code is looking at the stat output to determine if a
    temp directory can be written to. However, just because the stat bits
    say that a directory is writable, does not make it so; and, likewise,
    the operating system may in fact grant access to paths that the stat
    bits and process UID say should be inaccessible.

    These systems include:

    * Posix ACL's
    * Linux's capabilities like CAP_DAC_OVERRIDE
    * Linux Security Modules like SELinux or AppArmor
    * Syscall filters like Linux's seccomp
    * Granular capability systems like FreeBSD's Capsicum
    * OpenBSD's pledge and unveil
    * Windows too has a rich ACL system for controlling filesystem access

    The best thing to do is simply to try and access the path with
    `File.writable?` and let the operating system tell us if the path can be
    accessed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11403

commit 5131fb5dbe6565bd16883aad94b9daec8ec56c51
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-21 23:25:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-22 01:48:53 +0900

    Don't clear out flags in rb_gc_obj_free

    If there's a crash after rb_gc_obj_free, it's hard to debug because the
    flags have been cleared out already.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11925

commit 20c5a3e1331cd177e0865aa104f41485153e34b1
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-10-22 01:12:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-22 01:12:24 +0900

    YJIT: Rename method substitution functions and improve docs (+1) (#11919)

    * YJIT: Fill in commented-out assertion

    * YJIT: Rename yjit_reg_method() and add links in docs

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 6588bbfa442306d7dafd83da26ef56f41d0f3f81
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-21 23:02:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-22 00:00:15 +0900

    Fix wmap_compact from potentially corrupting ST table

    Since we hash by the address of the key in the WeakMap, we cannot change
    the key in the same entry because deleting the key could require hashing.

    This commit changes it to allocate and insert a new entry if the key has
    moved.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11924

commit ef059707403df1182e61ca915efd676dc1eea116
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-21 22:43:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-22 00:00:15 +0900

    [DOC] Fix indentation of comment in wmap_compact_table_i

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11924

commit a83c91dd7ab8ebf3f1b89a56280bdf7aab0d882f
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-10-21 18:25:09 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-21 20:40:42 +0900

    Fix an off-by-one error of own memrchr implementation

    and make it support `search_len == 0`, just for the case

    Ref [Bug #20796]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11923

commit 257f78fb671151f1db06dcd8e35cf4cc736f735e
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-10-14 18:28:59 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-10-21 19:33:02 +0900

    Show where mutated chilled strings were allocated

    [Feature #20205]

    The warning now suggests running with --debug-frozen-string-literal:

    ```
    test.rb:3: warning: literal string will be frozen in the future (run with --debug-frozen-string-literal for more information)
    ```

    When using --debug-frozen-string-literal, the location where the string
    was created is shown:

    ```
    test.rb:3: warning: literal string will be frozen in the future
    test.rb:1: info: the string was created here
    ```

    When resurrecting strings and debug mode is not enabled, the overhead is a simple FL_TEST_RAW.
    When mutating chilled strings and deprecation warnings are not enabled,
    the overhead is a simple warning category enabled check.

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>
    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11893

commit 75ef89ca16d2c94e845b80e8b97bfc811370a890
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-20 19:33:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-20 19:33:21 +0900

    Remove unused or wrong conversions

    The GMT offset and zone fields are not used in calculating the week
    number, and `zone` in `struct vtm` is a `VALUE` and should not be cast
    to `char *` at least.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11922

commit d21b614bd4af3a1ce5b0c3a4e76f695cfec6a816
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-10-20 19:26:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-20 19:26:01 +0900

    [DOC] Improve `Socket::tcp` with Happy Eyeballs Version 2

    With the introduction of Happy Eyeballs Version 2 to `Socket::tcp`, the following areas have been mainly enhanced:

    - How the value specified for `connect_timeout` works
    - How Socket.tcp operates with Happy Eyeballs Version 2

    A description for the new option `fast_fallback` has been added in https://github.com/ruby/ruby/pull/11813.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11920

    Merged-By: nobu <nobu@ruby-lang.org>

commit fe17697aac1a68af6c5d34de7093b0fc65d39106
  Author:     Go <monkeywzr@gmail.com>
  AuthorDate: 2024-10-20 15:18:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-20 15:18:07 +0900

    [ruby/irb] Improve history test's encoding setting
    (https://github.com/ruby/irb/pull/1022)

    * improve history test's encoding setting

    * fix missing locale error for ci and refactoring

    https://github.com/ruby/irb/commit/7f385bc19b

commit b101ca598ef7a0b7c81efe673fea52378c1564b4
  Author:     Akinori MUSHA <knu@idaemons.org>
  AuthorDate: 2024-10-19 21:58:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-19 21:59:03 +0900

    [ruby/ipaddr] Bump the version to 1.2.7

    https://github.com/ruby/ipaddr/commit/b44d2a1173

commit bfc586b2be70c66062581556e647757cf92804fd
  Author:     Akinori MUSHA <knu@idaemons.org>
  AuthorDate: 2024-10-19 21:56:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-19 21:56:27 +0900

    [ruby/ipaddr] Use string interpolation instead of format()

    https://github.com/ruby/ipaddr/commit/1f41cd7320

commit 7be9a333cabd97a17a2926b15f756f2ef9e57243
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-10-19 04:01:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-19 04:01:45 +0900

    YJIT: Allow shareable consts in multi-ractor mode (#11917)

    * Update yjit-bindgen deps

    * YJIT: Allow shareable consts in multi-ractor mode

    * Update yjit/src/codegen.rs

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

    ---------

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit e17243d3254387ae95b73d9bc6454db36b8e8a43
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-18 02:44:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-10-19 03:16:02 +0900

    Point keyword->table into iseq local table

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11912

commit f370a31578fa2545514af15f753309aa826d0ae8
  Author:     Tsutomu Katsube <tsuto.katsube@gmail.com>
  AuthorDate: 2024-10-19 02:15:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-19 02:15:25 +0900

    [ruby/irb] Suppress "literal string will be frozen in the future"
    warning
    (https://github.com/ruby/irb/pull/1019)

    * Suppress "literal string will be frozen in the future" warning

    Before change:

    ```console
    $ ruby -W -I lib -e 'require "irb"; IRB.setup(nil); IRB::Irb.new.build_statement("1 + 2")'
    /Users/zzz/src/github.com/ruby/irb/lib/irb.rb:1135: warning: literal string will be frozen in the future
    ```

    After change:

    ```console
    $ ruby -W -I lib -e 'require "irb"; IRB.setup(nil); IRB::Irb.new.build_statement("1 + 2")'
    ```

    * Making build_statement not modify the given argument

    Because improves readability and code quality.

    Co-authored-by: tomoya ishida <tomoyapenguin@gmail.com>

    ---------

    https://github.com/ruby/irb/commit/3da04b9786

    Co-authored-by: tomoya ishida <tomoyapenguin@gmail.com>

commit 09ddfd4d1ce4c1ba08e05c02bd2a1ec6e046211d
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-19 02:15:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-19 02:15:11 +0900

    [ruby/irb] Always use alternate sceen on alt-d
    (https://github.com/ruby/irb/pull/988)

    https://github.com/ruby/irb/commit/db0a923d62

commit fbabe13b7eaa9576a9949b213a0c2cc831011b63
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-19 00:17:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-19 02:06:56 +0900

    Use rb_id_table_foreach_values for marking Ractor local storage

    Since we only mark the values, we can use rb_id_table_foreach_values to
    avoid the overhead of converting the key to an ID.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11918

commit fce5bbd6a7a20c4a559ade1205e3fdb0f5d003d0
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-10-17 11:17:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-19 01:19:31 +0900

    [rubygems/rubygems] Add `bundle add --quiet` option

    This option is similar to the `bundle install --quiet` option

    https://github.com/rubygems/rubygems/commit/3bd773d827

commit 689f14e255593172abe31a7669b47b528e47214f
  Author:     Akinori MUSHA <knu@idaemons.org>
  AuthorDate: 2024-10-19 00:53:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-19 01:03:49 +0900

    [ruby/ipaddr] Use string interpolation instead of format()

    https://github.com/ruby/ipaddr/commit/73f59e111f

commit d1b5c1095719a6b55fab4f2cdd9fda8d94a45b41
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-18 07:31:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-19 00:12:54 +0900

    [DOC] Tweaks for Array#sum

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11915

commit 161ea389af16f33db25a96ad7ee970bee3a3defe
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-18 06:51:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-19 00:08:43 +0900

    [DOC] Tweaks for Array#sort_by!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11914

commit eb8cf1d60e4436bfebf52fbf4342ee6e5e18ba05
  Author:     Taketo Takashima <t.taketo1113@gmail.com>
  AuthorDate: 2023-11-16 17:53:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-19 00:00:37 +0900

    [ruby/ipaddr] Added to_json/as_json method

    Updated to use cidr method when return address with prefix in #as_json

    https://github.com/ruby/ipaddr/commit/cf8181d53e

commit 6b1268c7bf0816a250991593f1e504db428b6e30
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-10-17 11:17:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-18 23:25:20 +0900

    [rubygems/rubygems] Clarify `bundle install --quiet` documentation

    Bundler always exits with a status code.

    https://github.com/rubygems/rubygems/commit/3a38bd0b12

commit 3ddaf24cd2ce41a5a840acf8335d735eef966920
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-16 22:20:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-18 22:06:46 +0900

    Move object processing in Process.warmup to gc.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11904

commit 9a98b70a50c9d8e73c0194646093d6a15a223e3f
  Author:     kojix2 <2xijok@gmail.com>
  AuthorDate: 2024-10-18 04:52:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-18 11:35:00 +0900

    [ruby/fiddle] test: Fix a typo
    (https://github.com/ruby/fiddle/pull/154)

    https://github.com/ruby/fiddle/commit/1f818e4684

commit 326a21d4417078756f0f24a6f1949293fc737626
  Author:     Stephen Humphries <stephen.humphries@shopify.com>
  AuthorDate: 2022-02-11 04:47:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-18 11:31:42 +0900

    Relax Pure::Parser's comment regex...

    ...to allow any character sequence, including "/*", before then end
    sequence of a multi-line ANSI C-style comment
    .

commit 8feed977a06aba59d16af48a409ea0b802468c8a
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-18 02:12:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-18 11:30:55 +0900

    [ruby/json] Assume Encoding is defined

    https://github.com/ruby/json/commit/8713aa4812

commit 20dc1e5c255da87afb3829fa015142f23ee56b57
  Author:     Takumasa Ochi <aeroastro007@gmail.com>
  AuthorDate: 2023-08-14 21:56:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-18 11:30:42 +0900

    [ruby/json] Always dup argument to preserve original encoding for force_encoding

    https://github.com/ruby/json/commit/db9a489ca2

commit 57e1b64c812210f7bd703bc5d8d459d7a1197629
  Author:     YuheiNakasaka <yuhei.nakasaka@gmail.com>
  AuthorDate: 2022-06-03 11:07:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-18 11:28:13 +0900

    [ruby/json] Fix behavior of trying to parse non-string objects

    https://github.com/ruby/json/commit/e2e9936047

commit c4d4c6b84683f0b5f9a84f29060a40823f3f5fe2
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-18 02:36:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-18 11:28:12 +0900

    [ruby/json] Speedup Parser initialization

    Extracted from: https://github.com/ruby/json/pull/512

    Use `rb_hash_lookup2` to check for hash key existence instead
    of going through `rb_funcall`.

    https://github.com/ruby/json/commit/43835a0d13

    Co-Authored-By: lukeg <luke.gru@gmail.com>

commit 8b4df90a24a886ed2ccb4b381d43a5f3b47d21bc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-18 11:04:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-18 11:07:02 +0900

    [ruby/syntax_suggest] Bump up 2.0.1

    https://github.com/ruby/syntax_suggest/commit/0b9e4081c0

commit 4b21fb125fdd8de7c9c4fef9fab917a0886bea60
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-18 10:39:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-18 10:48:48 +0900

    [ruby/syntax_suggest] Removed empty comment

    https://github.com/ruby/syntax_suggest/commit/e1d9c83736

commit e67137fe289cd84df41bf26e08588812715957e4
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-10-18 04:53:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-18 10:36:45 +0900

    [ruby/syntax_suggest] A gem executable should not use require_relative

    Otherwise it makes incorrect assumption about RubyGems layout.

    https://github.com/ruby/syntax_suggest/commit/04585d820d

commit cb39283cbfcfeb920fff66d3ef77e4ed7f2f8d93
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-10-18 05:08:34 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-10-18 06:59:27 +0900

    YJIT: In stats, group by resolved C method name

    Previously, in the "Top-N most frequent C calls"
    section of --yjit-stats output, we printed the class
    name of the receiver, not the method owner. This meant
    that calls on subclass instances that land on the same
    method showed up as different entires.

    Similarly, method called using an alias showed up as
    different entries from other aliases.

    Group by the resolved method instead.

    Test program:

        1.itself; [].itself; true.inspect; true.to_s

    Before:

        Top-4 most frequent C calls (80.0% of C calls):
          1 (20.0%): Integer#itself
          1 (20.0%): TrueClass#to_s
          1 (20.0%): TrueClass#inspect
          1 (20.0%): Array#itself

    After:

        Top-2 most frequent C calls (80.0% of C calls):
          2 (40.0%): Kernel#itself
          2 (40.0%): TrueClass#to_s

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11913

commit 158b8cb52ec58c8ef8f5241a9db1c6dea4285253
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-10-18 06:36:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-18 06:36:43 +0900

    YJIT: Add compilation log (#11818)

    * YJIT: Add `--yjit-compilation-log` flag to print out the compilation log at exit.

    * YJIT: Add an option to enable the compilation log at runtime.

    * YJIT: Fix a typo in the `IseqPayload` docs.

    * YJIT: Add stubs for getting the YJIT compilation log in memory.

    * YJIT: Add a compilation log based on a circular buffer to cap the log size.

    * YJIT: Allow specifying either a file or directory name for the YJIT compilation log.

    The compilation log will be populated as compilation events occur. If a directory is supplied, then a filename based on the PID will be used as the write target. If a file name is supplied instead, the log will be written to that file.

    * YJIT: Add JIT compilation of C function substitutions to the compilation log.

    * YJIT: Add compilation events to the circular buffer even if output is sent to a file.

    Previously, the two modes were treated as being exclusive of one another. However, it could be beneficial to log all events to a file while also allowing for direct access of the last N events via `RubyVM::YJIT.compilation_log`.

    * YJIT: Make timestamps the first element in the YJIT compilation log tuple.

    * YJIT: Stream log to stderr if `--yjit-compilation-log` is supplied without an argument.

    * YJIT: Eagerly compute compilation log messages to avoid hanging on to references that may GC.

    * YJIT: Log all compiled blocks, not just the method entry points.

    * YJIT: Remove all compilation events other than block compilation to slim down the log.

    * YJIT: Replace circular buffer iterator with a consuming loop.

    * YJIT: Support `--yjit-compilation-log=quiet` as a way to activate the in-memory log without printing it.

    Co-authored-by: Randy Stauner <randy.stauner@shopify.com>

    * YJIT: Promote the compilation log to being the one YJIT log.

    Co-authored-by: Randy Stauner <randy.stauner@shopify.com>

    * Update doc/yjit/yjit.md

    * Update doc/yjit/yjit.md

    ---------

    Co-authored-by: Randy Stauner <randy.stauner@shopify.com>
    Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit c78e2987d473a44318da024fbcf6cda7647edd70
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-18 00:01:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-18 05:54:36 +0900

    [DOC] Tweaks for Array#sort!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11908

commit b1ffd9e959a4afc88e9303a68988783b4759ad17
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-18 05:53:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-18 05:53:56 +0900

    [DOC] Tweaks for Array#sort (#11907)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 0b38e184881839d347a777e82ad1b037a1aeca6e
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-10-18 05:40:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-18 05:40:34 +0900

    [ruby/rdoc] feature: Render mixed-in methods and constants with
    `--embed-mixins`
    (https://github.com/ruby/rdoc/pull/842)

    * Embed mixed-in methods and constants with `--embed-mixins`

    When `--embed-mixins` option is set:

    - methods from an `extend`ed module are documented as singleton methods
    - attrs from an `extend`ed module are documented as class attributes
    - methods from an `include`ed module are documented as instance methods
    - attrs from an `include`ed module are documented as instance attributes
    - constants from an `include`ed module are documented

    Sections are created when needed, and Darkfish's template annotates
    each of these mixed-in CodeObjects. We also respect the mixin methods'
    visibility.

    This feature is inspired by Yard's option of the same name.

    * Add comment to document why we set object visibility

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    * Add the mixin_from attribute to CodeObject's initializer

    * Add test coverage for private mixed-in attributes.

    ---------

    https://github.com/ruby/rdoc/commit/481c2ce660

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 48899d56a9c61d4a3e5fe822ed7c16a1f2868bd4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-18 02:44:40 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-10-18 04:07:54 +0900

    [ruby/json] Sync changes

    Some changes were missed in the automatic sync.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11911

commit e4330536d2f4a9b96e52a60b9d698625ab26a547
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-18 02:39:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-18 02:39:48 +0900

    [ruby/json] Fix State#max_nesting=

    Returning state->max_nesting is not valid because it's not a Ruby object.

    https://github.com/ruby/json/commit/6679ceb

commit c6828a10ff6fd57a7e909438a4ff18ffcd9ce4ec
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-18 00:37:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-10-18 00:37:45 +0900

    Update maintainers of Prism

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11909

commit a7317f53e03059c946835d086d8def3f39649a8e
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-17 22:51:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-18 00:21:34 +0900

    Add a fast path for ASCII strings

    This optimization is based on a few assumptions:

      - Most strings are ASCII only.
      - Most strings had their coderange scanned already.

    If the above is true, then by checking the string coderange, we can
    use a much more streamlined function to encode ASCII strings.

    Before:

    ```
    == Encoding twitter.json (466906 bytes)
    ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json   140.000 i/100ms
                      oj   230.000 i/100ms
               rapidjson   108.000 i/100ms
    Calculating -------------------------------------
                    json      1.464k (± 1.4%) i/s  (682.83 μs/i) -      7.420k in   5.067573s
                      oj      2.338k (± 1.5%) i/s  (427.64 μs/i) -     11.730k in   5.017336s
               rapidjson      1.075k (± 1.6%) i/s  (930.40 μs/i) -      5.400k in   5.025469s

    Comparison:
                    json:     1464.5 i/s
                      oj:     2338.4 i/s - 1.60x  faster
               rapidjson:     1074.8 i/s - 1.36x  slower

    ```

    After:

    ```
    == Encoding twitter.json (466906 bytes)
    ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json   189.000 i/100ms
                      oj   228.000 i/100ms
               rapidjson   108.000 i/100ms
    Calculating -------------------------------------
                    json      1.903k (± 1.2%) i/s  (525.55 μs/i) -      9.639k in   5.066521s
                      oj      2.306k (± 1.3%) i/s  (433.71 μs/i) -     11.628k in   5.044096s
               rapidjson      1.069k (± 2.4%) i/s  (935.38 μs/i) -      5.400k in   5.053794s

    Comparison:
                    json:     1902.8 i/s
                      oj:     2305.7 i/s - 1.21x  faster
               rapidjson:     1069.1 i/s - 1.78x  slower
    ```

commit df48f597cfe7be7e2aa27a886f67a021e2d6cd5f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-17 21:55:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 22:02:13 +0900

    [ruby/json] Get rid of some more outdated compatibility code

    All these macros are available on Ruby 2.3+

    https://github.com/ruby/json/commit/227885f460

commit 6105bae331aa8a804ffa762735e8647507f85179
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-17 21:17:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 21:22:16 +0900

    [ruby/json] Get rid of compatibility code for older rubies

    All of these are for rubies older than 2.3.

    https://github.com/ruby/json/commit/811297f86a

commit 0e2ac4658430ae5c8beba36e0b608902b3404879
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-17 19:36:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 20:35:33 +0900

    Optimize Ext::Generator::State#configure

    If we assume that most of the time the `opts` hash is small
    it's faster to go over the provided keys with a `case` than
    to test all possible keys one by one.

    Before:

    ```
    == Encoding small nested array (121 bytes)
    ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json   156.832k i/100ms
                      oj   209.769k i/100ms
               rapidjson   162.922k i/100ms
    Calculating -------------------------------------
                    json      1.599M (± 2.5%) i/s  (625.34 ns/i) -      7.998M in   5.005110s
                      oj      2.137M (± 1.5%) i/s  (467.99 ns/i) -     10.698M in   5.007806s
               rapidjson      1.677M (± 3.5%) i/s  (596.31 ns/i) -      8.472M in   5.059515s

    Comparison:
                    json:  1599141.2 i/s
                      oj:  2136785.3 i/s - 1.34x  faster
               rapidjson:  1676977.2 i/s - same-ish: difference falls within error

    == Encoding small hash (65 bytes)
    ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json   216.464k i/100ms
                      oj   661.328k i/100ms
               rapidjson   324.434k i/100ms
    Calculating -------------------------------------
                    json      2.301M (± 1.7%) i/s  (434.57 ns/i) -     11.689M in   5.081278s
                      oj      7.244M (± 1.2%) i/s  (138.05 ns/i) -     36.373M in   5.021985s
               rapidjson      3.323M (± 2.9%) i/s  (300.96 ns/i) -     16.871M in   5.081696s

    Comparison:
                    json:  2301142.2 i/s
                      oj:  7243770.3 i/s - 3.15x  faster
               rapidjson:  3322673.0 i/s - 1.44x  faster
    ```

    After:

    ```
    == Encoding small nested array (121 bytes)
    ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json   168.087k i/100ms
                      oj   208.872k i/100ms
               rapidjson   149.909k i/100ms
    Calculating -------------------------------------
                    json      1.761M (± 1.1%) i/s  (567.90 ns/i) -      8.909M in   5.059794s
                      oj      2.144M (± 0.9%) i/s  (466.37 ns/i) -     10.861M in   5.065903s
               rapidjson      1.692M (± 1.7%) i/s  (591.04 ns/i) -      8.545M in   5.051808s

    Comparison:
                    json:  1760868.2 i/s
                      oj:  2144205.9 i/s - 1.22x  faster
               rapidjson:  1691941.1 i/s - 1.04x  slower

    == Encoding small hash (65 bytes)
    ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json   242.957k i/100ms
                      oj   675.217k i/100ms
               rapidjson   355.040k i/100ms
    Calculating -------------------------------------
                    json      2.569M (± 1.5%) i/s  (389.22 ns/i) -     12.877M in   5.013095s
                      oj      7.128M (± 2.3%) i/s  (140.30 ns/i) -     35.787M in   5.023594s
               rapidjson      3.656M (± 3.1%) i/s  (273.50 ns/i) -     18.462M in   5.054558s

    Comparison:
                    json:  2569217.5 i/s
                      oj:  7127705.6 i/s - 2.77x  faster
               rapidjson:  3656285.0 i/s - 1.42x  faster
    ```

commit a1c420c740c66206d92b0fd0f880f226a1592b5d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-17 19:21:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 20:35:32 +0900

    [ruby/json] generator.c: reduce the number of globals

    Most of these classes and modules don't need to be global variables

    https://github.com/ruby/json/commit/b783445ec9

commit 43e08133c35351f0efd7bdfacf490b0ef38ecc22
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-17 18:56:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 20:35:32 +0900

    [ruby/json] Convert Generator initialize and configure method into Ruby

    This helps very marginally with allocation speed.

    https://github.com/ruby/json/commit/25db79dfaa

commit fc11579c49f3a924699a0af0fd9f5b1a02617f7e
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-10-17 19:10:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 19:11:03 +0900

    [ruby/rdoc] Use scroll-margin-top on anchor targets
    (https://github.com/ruby/rdoc/pull/1190)

    This will make the anchor target easier to read.

    https://github.com/ruby/rdoc/commit/e2fe4882f4

commit 1f0b54033242f35177800d9f82bebb16aa106aed
  Author:     Mads Ohm Larsen <mads.ohm@gmail.com>
  AuthorDate: 2024-10-17 19:10:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 19:10:36 +0900

    [ruby/rdoc] Add scroll-margin-top on all :target elements
    (https://github.com/ruby/rdoc/pull/1174)

    https://github.com/ruby/rdoc/commit/7398e5b0ad

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 494d8146376028450cbd04efc42cb792753fede9
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-17 18:13:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 18:31:32 +0900

    Optimize JSON.dump argument parsing

    `JSON.dump` looks terrible on micro-benchmarks because the way it
    handles arguments is quite allocation heavy compared to the actual
    JSON generation work.

    Profiling the `small hash` benchmarked show 14% of time spent in `Array#compact`
    and `34%` time spent in `JSON::Ext::GeneratorState.new`. Only `41%` in the
    actual `generate` function.

    By micro-optimizing `JSON.dump`, it can look much better:

    Before:

    ```
    == Encoding small nested array (121 bytes)
    ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json    91.687k i/100ms
                      oj   205.309k i/100ms
               rapidjson   161.648k i/100ms
    Calculating -------------------------------------
                    json    941.965k (± 1.4%) i/s    (1.06 μs/i) -      4.768M in   5.062573s
                      oj      2.138M (± 1.2%) i/s  (467.82 ns/i) -     10.881M in   5.091254s
               rapidjson      1.678M (± 1.9%) i/s  (596.04 ns/i) -      8.406M in   5.011931s

    Comparison:
                    json:   941964.8 i/s
                      oj:  2137586.5 i/s - 2.27x  faster
               rapidjson:  1677737.1 i/s - 1.78x  faster

    == Encoding small hash (65 bytes)
    ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json   141.737k i/100ms
                      oj   676.871k i/100ms
               rapidjson   373.266k i/100ms
    Calculating -------------------------------------
                    json      1.491M (± 1.0%) i/s  (670.78 ns/i) -      7.512M in   5.039463s
                      oj      7.226M (± 1.4%) i/s  (138.39 ns/i) -     36.551M in   5.059475s
               rapidjson      3.729M (± 2.2%) i/s  (268.15 ns/i) -     18.663M in   5.007182s

    Comparison:
                    json:  1490798.2 i/s
                      oj:  7225766.2 i/s - 4.85x  faster
               rapidjson:  3729192.2 i/s - 2.50x  faster
    ```

    After:

    ```
    == Encoding small nested array (121 bytes)
    ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json   156.832k i/100ms
                      oj   209.769k i/100ms
               rapidjson   162.922k i/100ms
    Calculating -------------------------------------
                    json      1.599M (± 2.5%) i/s  (625.34 ns/i) -      7.998M in   5.005110s
                      oj      2.137M (± 1.5%) i/s  (467.99 ns/i) -     10.698M in   5.007806s
               rapidjson      1.677M (± 3.5%) i/s  (596.31 ns/i) -      8.472M in   5.059515s

    Comparison:
                    json:  1599141.2 i/s
                      oj:  2136785.3 i/s - 1.34x  faster
               rapidjson:  1676977.2 i/s - same-ish: difference falls within error

    == Encoding small hash (65 bytes)
    ruby 3.4.0preview2 (2024-10-07 master 32c733f57b) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    json   216.464k i/100ms
                      oj   661.328k i/100ms
               rapidjson   324.434k i/100ms
    Calculating -------------------------------------
                    json      2.301M (± 1.7%) i/s  (434.57 ns/i) -     11.689M in   5.081278s
                      oj      7.244M (± 1.2%) i/s  (138.05 ns/i) -     36.373M in   5.021985s
               rapidjson      3.323M (± 2.9%) i/s  (300.96 ns/i) -     16.871M in   5.081696s

    Comparison:
                    json:  2301142.2 i/s
                      oj:  7243770.3 i/s - 3.15x  faster
               rapidjson:  3322673.0 i/s - 1.44x  faster
    ```

    Now profiles of the `small hash` benchmark show 44% in `generate` and
    `45%` in `GeneratorState` allocation.

commit 233f63c7fb491bddfbd5b201ba5ef1bb212afdb0
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2023-12-27 16:32:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 17:54:48 +0900

    [ruby/json] Use `RB_ENCODING_GET` instead of `rb_enc_get` to improve performance

    This speeds up `JSON.generate` by about 12% in a benchmark.

    https://github.com/ruby/json/commit/4329e30826

commit 0b4257efa3bd01fceefa51f2eef14d2c38e8fab8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2023-12-27 16:06:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 17:54:47 +0900

    [ruby/json] Apply RB_UNLIKELY for less frequently used options

    This speeds up `JSON.generate` by about 4% in a benchmark.

    https://github.com/ruby/json/commit/6471710cfc

commit 64c24f6971ba0341a189eefb64368cf009fbb79d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2023-12-27 15:57:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 17:54:47 +0900

    [ruby/json] Stop prebuilding object_delim2

    Also, remove static functions that are no longer used.

    This speeds up `JSON.generate` by about 5% in a benchmark.

    https://github.com/ruby/json/commit/4c984b2017

commit 186e77209e74c3f7643ae6396ad3dbba8a5c6977
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2023-12-27 15:48:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 17:54:47 +0900

    [ruby/json] Stop prebuilding object_delim

    This speeds up `JSON.generate` by about 4% in a benchmark

    https://github.com/ruby/json/commit/ed47a10e4f

commit 88719fb300e0c6f5d8269224a3322e9871ad29b2
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2023-12-27 15:45:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 17:54:46 +0900

    [ruby/json] Stop prebuilding array_delim

    The purpose of this change is to exploit `fbuffer_append_char` that is
    faster than `fbuffer_append`.

    `array_delim` was a buffer that concatenated a single comma with
    `array_nl`. However, in the typical use case (`JSON.generate(data)`),
    `array_nl` is empty. This means that `array_delim` was a
    single-character buffer in many cases.

    `fbuffer_append(buffer, array_delim)` used `memcpy` to copy one byte,
    which was not so efficient.
    Rather, this change uses `fbuffer_append_char(buffer, ',')` and then
    `fbuffer_append(buffer, array_nl)` only when `array_nl` is not NULL.

    This speeds up `JSON.generate` by about 9% in a benchmark.

    https://github.com/ruby/json/commit/445de6e459

commit fb84aa550183dd923d287779c242a12f81e17493
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2023-12-27 16:55:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 17:54:46 +0900

    [ruby/json] Directly use `generate_json_string` for object keys

    ... instead of `generate_json`.

    Since the object key is already confirmed to be a string, using a
    generic dispatch function brings an unnecessary overhead.

    This speeds up `JSON.generate` by about 3% in a benchmark.

    https://github.com/ruby/json/commit/e125072130

commit 3911189fba46714eec886452b934258e001dd12b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2023-12-27 16:51:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 17:54:45 +0900

    [ruby/json] Use efficient object-type dispatching

    Dispatching based on Ruby's VALUE structure is more efficient than
    simply cascaded "if ... else if ..." checks.

    This speeds up `JSON.generate` by about 5% in a benchmark.

    https://github.com/ruby/json/commit/4f9180debb

commit 7962b4c342dbf7f71be61ca4b37baf815fd4c0e6
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2023-12-27 16:57:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 17:54:45 +0900

    [ruby/json] Use `RARRAY_AREF` instead of `rb_ary_entry` to improve performance

    It is safe to use `RARRAY_AREF` here because no Ruby code is executed
    between `RARRAY_LEN` and `RARRAY_AREF`.

    This speeds up `JSON.generate` by about 4% in a benchmark.

    https://github.com/ruby/json/commit/c5d80f9fd4

commit 681787d11f2d71790cec4b2094086e2bb6629ac9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-17 16:33:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 16:44:41 +0900

    [ruby/syntax_suggest] Fallback to load syntax_suggest/api when failing to load with require_relative.

    https://github.com/ruby/syntax_suggest/commit/b782897560

commit 9da60a14bf7e83f837c1be2c463bba059a9600ff
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-17 16:28:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 16:32:38 +0900

    [ruby/etc] Fix sysconfdir when load-relative

    When relative load paths option is enabled, the prefix is determined
    at the runtime.  The only way to get it outside libruby is to use
    rbconfig.rb.

    https://github.com/ruby/etc/commit/e5b498fad9

commit d4a18d4a78faff703b553e707704a9e997194c75
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-04 01:03:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 16:10:38 +0900

    [rubygems/rubygems] Allow using `gemspec` DSL twice with same dependency and compatible requirements

    https://github.com/rubygems/rubygems/commit/a8d14c1fc2

commit 817f2cc17270d0f317d071a59eec41dbfe27349e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-17 14:33:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-17 14:33:55 +0900

    Re-ordered Stdlib updates section

commit 85ce3b177cf0b4749a8328c7b509ec27b2f02da0
  Author:     Lars Kanis <kanis@comcard.de>
  AuthorDate: 2024-10-12 05:41:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 10:51:41 +0900

    [ruby/win32-registry] Fix compatibility with JRuby

    JRuby's fiddle implementation has quite some shortcomings compared with the CRuby impl.
    Add JRuby tests in CI.

    https://github.com/ruby/win32-registry/commit/7f34184c2e

commit 6a49bbd73406155159d11dca17181f356bdaa4c1
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2024-10-05 05:30:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 10:48:05 +0900

    [ruby/win32-registry] Move all tests to volatile environment and use per-test individual registry key

    This allows to run all tests in parallel.
    Usage of `File` methods is avoided.
    Since all tests are executed in the volatile environment of the registry,
    the dedicated 'create_volatile' test is removed now.
    Also add some documentation to the test setup.

    Downside of this use of the "Volatile Environment" is that we can not use or test
    the `create` method with default options.
    This is because within this path only keys with option `REG_OPTION_VOLATILE` are allowed.

    https://github.com/ruby/win32-registry/commit/3c186ae7dd

commit 36b7ad3caa72bc0638d528dcb18682b94ff89b7e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-15 06:02:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 06:57:52 +0900

    [rubygems/rubygems] Fix `bundle check` sometimes locking gems under the wrong source

    https://github.com/rubygems/rubygems/commit/1e5780db0a

    Co-authored-by: Taylor Thurlow <thurlow@hey.com>

commit def5fdf82ab87f17bc0bbc5f232ffa3902433e66
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-15 05:49:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 06:57:51 +0900

    [rubygems/rubygems] Delay and refactor verification of changed sources

    https://github.com/rubygems/rubygems/commit/d5dce93167

commit cff18256ca9a99cdb59a8f9b9f4243fb96c158f9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-01 01:11:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 06:57:51 +0900

    [rubygems/rubygems] No reason for `Definition#sources` to be private

    https://github.com/rubygems/rubygems/commit/432fe083a6

commit 9d5be3d9ed87678ecbb98eede9cca95f62c03526
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-15 01:42:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 06:57:50 +0900

    [rubygems/rubygems] Lock definition directly

    https://github.com/rubygems/rubygems/commit/55eb6630a8

commit e9e66f74e35beca05d3394a359184d1dccea5dc6
  Author:     Leo Arnold <github@leoarnold.de>
  AuthorDate: 2024-10-15 17:16:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 06:56:56 +0900

    [rubygems/rubygems] Add missing comma in documentation

    https://github.com/rubygems/rubygems/commit/fe9999f2cf

commit 90aa6aefc4e351d3840cfd58872c5f42a11f4c7a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-16 04:46:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-17 03:52:46 +0900

    Fix memory leak in syntax error in prism

    If there is a syntax error, there could be an ast_node in the result.
    This could get leaked if there is a syntax error so parsing could not
    complete (parsed is not set to true).

    For example, the following script leaks memory:

        10.times do
          10_000.times do
            eval("def foo(...) super(...) {}; end")
          rescue SyntaxError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        31328
        42768
        53856
        65120
        76208
        86768
        97856
        109120
        120208
        131296

    After:

        20944
        20944
        20944
        20944
        20944
        20944
        20944
        20944
        20944
        20944

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11901

commit 4621c9b8154533e96a3f53de823578b1e171aa03
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-17 03:52:34 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-17 03:52:34 +0900

    [DOC] Tweaks for Array#slice! (#11902)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 5eca11ca5e5503e41b7ec81f03e63c59556c038c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-15 23:06:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-10-17 03:31:26 +0900

    RubyVM::InstructionSequence.of Thread::Backtrace::Location

    This would be useful for debugging.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11896

commit 9251971335ded7d1eb196f79648fdf12f1208954
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-17 03:22:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 03:22:35 +0900

    [ruby/prism] Add a sample for multiplexing constants

    https://github.com/ruby/prism/commit/e265dc5862

commit 3affd43c2de8cf556b2f143e577c0a3ccf2acc31
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-16 04:32:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-17 03:12:06 +0900

    [DOC] Tweaks for Array#shuffle

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11899

commit f549448e5e1f3fe07159d6c7307fd4b4b500d826
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-16 04:35:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-17 03:11:52 +0900

    [DOC] Correct related for Array#shuffle!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11900

commit 550ae745f6ad400c2de381ed21ed65ae6f574c6d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-15 21:37:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-17 00:56:01 +0900

    [ruby/prism] Relocation

    https://github.com/ruby/prism/commit/5ea6042408

commit ebfe615a0cdffc28a73f279e3df8068831ddbf6e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-16 22:45:44 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-10-16 23:17:54 +0900

    Skip GC compaction tests in test_yjit.rb when not supported

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11905

commit c6c1e111b1d917103652c400fada09313457dc73
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-15 23:26:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-16 21:53:07 +0900

    Remove unused shared GC configuration in GitHub Actions

    Shared GC CI is no longer running in the compilers workflow, so we can
    remove it from .github/actions/compilers/entrypoint.sh.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11897

commit 2bf9c82f1b8f2c6807e1c93cc660ea3cee45120a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-16 17:41:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-16 17:49:54 +0900

    [ruby/yaml] Support old version of Psych

    https://github.com/ruby/yaml/commit/5b39653c52

commit c1f6ad561bfb584ac9fc477f0855d087ce4bcd6d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-16 17:33:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-16 17:49:54 +0900

    [ruby/yaml] Also use safe_load on YAML::Store

    https://github.com/ruby/yaml/commit/09691d005f

commit 21bac99122188d3b7852dc67563ac15bbd67ba05
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-16 16:49:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-16 17:04:37 +0900

    [ruby/yaml] Make YAML::DBM optional

    https://github.com/ruby/yaml/commit/f7c44d3fd7

commit 1d7547f50d1187f49b5cfec627425e657cdaf9af
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-16 16:45:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-16 17:04:36 +0900

    [ruby/yaml] Also use safe_load with each_value, values and shift

    https://github.com/ruby/yaml/commit/f47d6123eb

commit d45fb19ee579eb8b28e4dd565bf21c0044ceb326
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-16 16:36:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-16 17:04:35 +0900

    [ruby/yaml] Prefer to use YAML.safe_load

    https://github.com/ruby/yaml/commit/c3d0f64224

commit 623897c97ee56b05668c29829634a4b89e145393
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-16 16:33:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-16 17:04:35 +0900

    [ruby/yaml] Added basic test cases

    https://github.com/ruby/yaml/commit/36a339c0d7

commit fdcdc05b422301c9d3b7872872fb875c57d1080f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-16 16:27:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-16 17:04:34 +0900

    [ruby/yaml] Removed confused VERSION constant for YAML::DBM

    https://github.com/ruby/yaml/commit/952fd361b1

commit 199691553e8bf3dd5c17b815aaed6f346e0bdf95
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-16 13:50:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-16 16:11:03 +0900

    [ruby/json] Godounov ==> Godunov

    https://github.com/ruby/json/commit/dbf7e9f473

commit a7a0fb9ba3794e5cc563b6b14f34f0ab43914ca9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-16 13:35:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-16 13:35:20 +0900

    Followed up https://github.com/ruby/json/pull/613

commit 1379ef6f7d1570f60f03417ecc9f44f0104d5a18
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-16 12:54:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-16 13:34:22 +0900

    [ruby/json] Embedded helper.rb into test_helper.rb

    https://github.com/ruby/json/commit/f8417ffc69

commit 3c1b0f21aa6dd7b7cfde67497c5b50717cdf14d2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-16 12:51:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-16 13:34:21 +0900

    [ruby/json] Fixed load path for ext version

    https://github.com/ruby/json/commit/c17823688e

commit 8af6606b225ade043322cf9d50ac9622c3f69226
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-16 11:16:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-16 11:24:25 +0900

    Restore missing test-case from https://github.com/ruby/json/commit/c5a6d8042752dca312cfb407a6d3e594458d1cd6

    Co-authored-by: "Jean Boussier" <byroot@ruby-lang.org>

commit fdbead76ec83a791b0319c7db29e210a410015f4
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-14 21:08:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-16 11:24:25 +0900

    [ruby/json] ractor_test.rb: ignore stderr

    When rubygems is double loaded it fails the test.

    The warning should happen in the first place but this
    makes the test more resilient.

    https://github.com/ruby/json/commit/513ddeaeb1

commit 80136b6abcf51c3caa5e12aa3ab690fc5693ba89
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-10-11 15:04:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-16 11:24:25 +0900

    Bump version

commit 8d127c9b592c58c858a57af6a4a0d805491b5d2b
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-10-10 14:37:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-16 11:24:25 +0900

    Use JRuby implementation for TruffleRuby (#149)

    Fix GH-145

    Rename `lib/fiddle/jruby.rb` to `lib/fiddle/ffi_backend.rb` as a generic
    ffi gem API based implementation.
    JRuby and TruffleRuby use `lib/fiddle/ffi_backend.rb`.

    ---------

    Co-authored-by: Benoit Daloze <eregontp@gmail.com>

commit bbd5b8ddae7b3ff7205866d54cf8aca065a6d9bd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-11 14:59:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-16 11:24:25 +0900

    [ruby/fiddle] Ractor support
    (https://github.com/ruby/fiddle/pull/139)

    https://github.com/ruby/fiddle/commit/91d0ea9849

    Co-authored-by: Sutou Kouhei <kou@clear-code.com>

commit a0ecdbfbfe57a57ab33bdb5e1de4d5dfa8407dbb
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-10-16 08:57:09 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-10-16 11:06:07 +0900

    Remove "simple" flag from forwarded ICs

    I don't think we should ever consider forwarded IC's to be "simple".
    Previously, the "simple" flag would be copied to the derived IC and this
    happened to cause struct set / get iseqs to write an invalid CC
    fastpath:

      https://github.com/tenderlove/ruby/blob/f45eb3dcb9c7d849064cb802953f37e1cf9f3996/vm_insnhelper.c#L4726-L4729

    [Bug #20799]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11903

commit ed993b5bcc4fcae661dd022d3211dcc770425218
  Author:     Vinicius Stock <vinistock@users.noreply.github.com>
  AuthorDate: 2024-10-16 07:59:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-16 07:59:33 +0900

    [ruby/rdoc] Generate meta tags based on page's content
    (https://github.com/ruby/rdoc/pull/1091)

    https://github.com/ruby/rdoc/commit/716bc16a7d

commit f45eb3dcb9c7d849064cb802953f37e1cf9f3996
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-16 01:55:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-16 03:34:24 +0900

    Use GC.respond_to?(:compact) in bootstraptest/test_yjit.rb

    defined?(GC.compact) will always return true even when compaction is not
    supported. We should use GC.respond_to?(:compact) instead.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11898

commit 644153bfa8255903d0c0b7b3013bda3b33f6c706
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-16 03:33:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-16 03:33:59 +0900

    [DOC] Tweaks for Array#shuffle! (#11891)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 3da3cabf982eaa4d2c9732651f6a9e18ffd0aba3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-12 00:23:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-15 22:10:35 +0900

    Remove a puts in test_finalizer_thread_raise

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11883

commit 48f953d6bab8cc4ef60430d5dc8058be5b2f1e37
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-15 20:40:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-15 20:48:32 +0900

    [ruby/json] Added license files on gemspec

    https://github.com/ruby/json/commit/81092639e8

commit 914608bed8105b23be0c77eb1b99b27b4d47e90b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-15 20:46:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-15 20:47:59 +0900

    The part of ext/json/generator/generator.c is replaced from CVTUTF code.

    * https://github.com/ruby/json/pull/567
    * https://github.com/ruby/json/commit/c96351f874

commit 7eed1df1ab6b7dbf81fcff96eb0106699a140775
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-15 20:35:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-15 20:35:47 +0900

    [ruby/json] Update gemspec files

    https://github.com/ruby/json/commit/0f9564104f

commit d58ec11945a1f8bd26bb6d61a7e2c2f983350930
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-15 14:52:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-15 14:52:17 +0900

    [Bug #20797] Yet another test

commit 8240fe88f32ff4fec54cb6c425782597efa4d397
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-15 02:55:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-15 04:43:39 +0900

    [rubygems/rubygems] Prevent some test suite warnings about missing extensions

    We fixed some issues recently where Bundler would try to activate a
    pysch spec with missing extensions and crash. However, as a side effect,
    we started printing warnings about missing extensions in situations
    where we did not warn before.

    It may be interesting to warn on these new situations too, but in order
    to minimize changes for now, I'm reverting to printing warnings in the
    same situations as before.

    https://github.com/rubygems/rubygems/commit/51ebff6982

commit 48fdb9faa0a408c0855e84cfd6451393c8b67180
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-09 06:56:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-15 02:51:24 +0900

    [rubygems/rubygems] Fix `gem contents` for default gems

    A default gem does not always live in the same place. For example,
    Bundler may be installed to `site_dir` when RubyGems have been upgraded.

    A more reliable way seems to actually activate the default gem, so that
    we can know for sure where it lives.

    https://github.com/rubygems/rubygems/commit/c69f6dfb18

commit 57404e4369df11f77f089d5d11d310679b2e749f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-11 03:50:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-14 23:51:20 +0900

    [rubygems/rubygems] Fix duplicated specs when they have been previously activated

    https://github.com/rubygems/rubygems/commit/b44bf2ac74

commit 1001ea9606fd9bbbce70deaab0e6a31c5af1a20c
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-10-14 16:01:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-14 16:01:30 +0900

    Update bundled gems list as of 2024-10-13

commit 9611c619ac60e9aeb0341b0c8cf322a42707ce38
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-14 13:55:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-14 13:55:55 +0900

    [Bug #20797] Check seconds in UTC offset as well as minutes

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11892

commit 0641951e7bd3fa7b8032a5a1206d15cfab8fae4f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-14 13:17:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-14 13:17:55 +0900

    `2digits` macros

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11892

commit cf8388f76c4c2ff2f46d0d2aa2cf5186e05ff606
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-13 22:00:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-13 22:00:20 +0900

    [ruby/irb] Remove bignum check from save_history
    (https://github.com/ruby/irb/pull/1018)

    IRB need to accept bignum history size, but we don't want explicit bignum checks because threshold of bignum and fixnum depends on platform.

    https://github.com/ruby/irb/commit/5151467e6a

commit 6393d2950ddcaa75f92cde9917cf3e4edf9b5347
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-10-12 21:45:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-13 21:22:58 +0900

    [ruby/prism] Supress string_query function warning

    https://github.com/ruby/prism/commit/0635814327

commit 98fce00cab460be81cb1f5e4cf8c0d66e006a35b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-13 13:55:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-13 13:55:41 +0900

    [ruby/reline] Support continuous tab completion
    (https://github.com/ruby/reline/pull/761)

    Continuous tab completion is possible in GNU Readline.
    If dig_perfect_match_proc is set, continuous tab completion will be disabled.

    https://github.com/ruby/reline/commit/469a52846b

commit c12c95462a22551af2f0437cd08136b55c4bb4b7
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-13 13:30:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-13 13:30:33 +0900

    [ruby/irb] Fix rendering test broken by conflict
    (https://github.com/ruby/irb/pull/1016)

    https://github.com/ruby/irb/commit/a21b953a99

commit 81910a93ff2688fc1a6d4a5200782869105e8872
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-12 23:36:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-12 23:36:29 +0900

    [DOC] Tweaks for Array#shift (#11886)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit afacb8ada5788299468cce6247601412e12002a4
  Author:     John Bampton <jbampton@users.noreply.github.com>
  AuthorDate: 2024-10-12 21:48:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-12 21:48:10 +0900

    [DOC] Fix spelling

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11884

    Merged-By: nobu <nobu@ruby-lang.org>

commit 199b2980496a6725f4bb44bc6e9088c800f67a50
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-12 13:24:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-12 13:24:37 +0900

    [ruby/irb] Make rendering test faster using updated yamatanooroti
    (https://github.com/ruby/irb/pull/1001)

    https://github.com/ruby/irb/commit/2c2956bc1f

commit ad5641fd3424790789871300b7c0dd6c069f3614
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-12 06:08:34 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-12 06:08:34 +0900

    Support `IO#timeout` for `rsock_connect`. (#11880)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 2e6ddd968d5601689f59c029bb401d7cdabab3b7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-12 04:42:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-12 06:00:30 +0900

    Don't enable GC.auto_compact in EnvUtil.under_gc_compact_stress when not supported

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11887

commit 5f62522d5b8bd162ddf657680b8532eadeaae21f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-12 03:43:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-12 04:34:57 +0900

    [ruby/prism] Prism::StringQuery

    Introduce StringQuery to provide methods to access some metadata
    about the Ruby lexer.

    https://github.com/ruby/prism/commit/d3f55b67b9

commit 8aeb60aec88dd68fdfbaa75ca06e65188233ccbf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-12 03:08:59 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-12 04:29:10 +0900

    Rename supports_auto_compact? to supports_compact?

    It's testing whether GC compaction is supported in general.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11885

commit 6a88e9d43088f51d3d9dde9c89f24836ab715810
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-12 03:01:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-12 04:29:10 +0900

    Used respond_to? check for compaction in test_gc_compact.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11885

commit 95abf679c546da0e9abf36bc9bdfc60a826b1811
  Author:     Gert Goet <gert@thinkcreate.nl>
  AuthorDate: 2024-10-12 01:34:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-12 01:34:59 +0900

    [ruby/irb] Document infinite history
    (https://github.com/ruby/irb/pull/1012)

    As introduced in 824473e8

    https://github.com/ruby/irb/commit/15e3f50c3f

commit eccfb6e60c2dba67ce5b1315a07598c2ba8b1ffb
  Author:     Gert Goet <gert@thinkcreate.nl>
  AuthorDate: 2024-10-12 01:34:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-12 01:34:19 +0900

    [ruby/irb] History refactors (https://github.com/ruby/irb/pull/1013)

    * Extract logic save_history in separate helper

    * Extract logic history_file in helper

    * Allow for readonly history

    https://github.com/ruby/irb/commit/52307f9026

commit 2dab59933c469e50e66ac2adc2d9bb73554e2e21
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-11 00:52:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-12 00:35:45 +0900

    Remove defined check for GC.config in test_gc.rb

    GC.config is always defined.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11867

commit 77c7d88015aa7454f2c34d54ec313dc4dc464ae0
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-12 00:30:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-12 00:30:52 +0900

    [DOC] Tweaks for Array#rotate! (#11875)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 628da153bb184285aee864b4548f974e547d839d
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-12 00:25:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-12 00:25:58 +0900

    [DOC] Tweaks for Array#sample (#11876)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 5e799cc182fdab41b696b0dea036751d621ca4f5
  Author:     John Bampton <jbampton@users.noreply.github.com>
  AuthorDate: 2024-10-12 00:16:05 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-12 00:16:05 +0900

    Fix spelling

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11882

    Merged-By: XrXr

commit c044777562c72dd66d906a774d944208576e5ea2
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-11 05:43:41 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-12 00:13:55 +0900

    [DOC] Tweaks for Array#rotate

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11874

commit c51947671ee338a66f299f17f7713c654cf47745
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-12 00:12:12 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-12 00:12:12 +0900

    [DOC] Tweaks for Array#repeated_permutation (#11873)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit a9fb0a20832f71d3240d43cf22e4655bd3a8c2ab
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-10-11 23:24:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-11 23:24:47 +0900

    YJIT: Improve build instructions for non-hackers (#11878)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 11e7ab79deb5935573d15ba4f33fc41e5c2b7522
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-10-11 23:22:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-11 23:22:44 +0900

    Remove 1 allocation in Enumerable#each_with_index (#11868)

    * Remove 1 allocation in Enumerable#each_with_index

    Previously, each call to Enumerable#each_with_index allocates 2
    objects, one for the counting index, the other an imemo_ifunc passed
    to `self.each` as a block.

    Use `struct vm_ifunc::data` to hold the counting index directly to
    remove 1 allocation.

    * [DOC] Brief summary for usages of `struct vm_ifunc`

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 372bb990ac5ea8e348b9187b53d108d06049e6a3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-11 04:25:59 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-11 22:02:48 +0900

    Remove unused PRELOADENV macro in ruby-runner.h

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11871

commit df2fb8802800ada0cf709cdd0ad9abe0a6b238a3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-11 04:24:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-11 22:02:48 +0900

    Remove unused SOEXT macro in ruby-runner.h

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11871

commit d641b7d172a715b4407218de250d93e6a2f5e158
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-11 00:09:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-11 21:56:36 +0900

    Improve RUBY_GC_LIBRARY

    Instead of passing the full GC SO file name to RUBY_GC_LIBRARY, we now
    only need to pass the GC name.

    For example, before we needed to pass `RUBY_GC_LIBRARY=librubygc.default.so`
    but now we only need to pass `RUBY_GC_LIBRARY=default`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11866

commit 047a7750d1064c9d13811f3498325f4d2101b681
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-11 18:55:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 18:59:35 +0900

    [ruby/time] [DOC] Escape the word "Date" that does not mean Date class

    https://github.com/ruby/time/commit/933eccf8d9

commit aad4bfd7bc1170394fcedf1997d644f8374ad7b0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-09 16:13:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 18:42:08 +0900

    [rubygems/rubygems] Fix `gem install` on NFS shares

    NFS shares seem to support flock these days, but they need read-write
    permissions.

    https://github.com/rubygems/rubygems/commit/1c492804cd

commit 01abc2f79e770df5e6cc75a4610f4831ff0b5bf3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-11 05:00:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 18:40:44 +0900

    [rubygems/rubygems] Check that the binstub was actually reset

    https://github.com/rubygems/rubygems/commit/d46fca6126

commit b4eb7e2281d2abf3c33a4e9bc8a096be287970c1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-10 15:11:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-11 16:52:01 +0900

    Refine assertion failure message

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11879

commit 2c3d26cfd70277954e12e3af15432aadff8ad21f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-11 16:37:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-11 16:37:51 +0900

    Fix an implicit conversion that loses integer precision

    Both `rb_ensure` and `udp_bind_internal` return `VALUE`.

commit c43be94f76982d3ffa2ecd28d34172600b81ca31
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-11 14:36:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-11 14:36:11 +0900

    Update `rsock_connect` to take `VALUE io` argument. (#11847)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 09100508e66694cdc3fb8c0867cf56b2fbfb1ceb
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-11 05:03:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-11 05:03:40 +0900

    [DOC] Tweaks for Array#reverse_each (#11855)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 1ad990a366a343a84c089b771be4fe6ff80b5078
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-11 02:30:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 04:46:44 +0900

    [rubygems/rubygems] Only pristine executables for default gems

    https://github.com/rubygems/rubygems/commit/1cfc1d626c

commit 3d8fe462dfefec1e3af67e7beb559a0a750d4da6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-11 02:33:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-11 03:34:54 +0900

    Move return value of rb_gc_impl_config_set to gc.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11870

commit ebbb093094cf99aa1f64cf63a5bfafd2009bfcd9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-11 03:31:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 03:31:21 +0900

    [ruby/prism] Short-circuit if possible for start line and unused warning

    https://github.com/ruby/prism/commit/2745c81d31

commit 7a198af7cdb437c5245ac3ab70cb66cef2002d06
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-10 03:40:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 03:02:27 +0900

    [ruby/prism] Prism::CodeUnitsCache

    Calculating code unit offsets for a source can be very expensive,
    especially when the source is large. This commit introduces a new
    class that wraps the source and desired encoding into a cache that
    reuses pre-computed offsets. It performs quite a bit better.

    There are still some problems with this approach, namely character
    boundaries and the fact that the cache is unbounded, but both of
    these may be addressed in subsequent commits.

    https://github.com/ruby/prism/commit/2e3e1a4d4d

commit b77ff342ccb1c57a4b6c618e4ddf6bf1fec23a1d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-10 00:19:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 02:57:07 +0900

    [rubygems/rubygems] Revert "Fix `bundle.bat` re-execution"

    This reverts commit https://github.com/rubygems/rubygems/commit/e04e00f7bb5b.

    https://github.com/rubygems/rubygems/commit/554ece1587

commit caf0d2058aa223515897401ff94e11e1c0671ce0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-11 00:04:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 01:54:15 +0900

    [ruby/time] [DOC] nodoc VERSION

    This file is parsed as a part of Ruby documentation, and this constant
    appears in the built-in Time class unexpectedly.

    https://github.com/ruby/time/commit/f26f7ab689

commit e6b9348eb90a50afe74357d8188adae56c9df542
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-11 00:03:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 01:54:14 +0900

    [ruby/time] [DOC] Escape the word "Time" that does not mean Time class

    https://github.com/ruby/time/commit/8572a306bb

commit db352a51270af66ba51c7917c0824b2935b50d5a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-11 00:02:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 01:54:14 +0900

    [ruby/time] [DOC] RDoc does not use backticks

    https://github.com/ruby/time/commit/aefa245a20

commit 5f3e9f185d354f17ba50510659fb3a766104e153
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-10-11 01:20:37 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-10-11 01:32:47 +0900

    [DOC] Mention that Enumerable#each_with_index calls self.each

commit 25c4629ec33e49050f0b75f3f6407867bb5f27b3
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-10-11 01:19:13 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-10-11 01:32:47 +0900

    Remove duplicate struct declaration

commit ae6bd3b49ba252985b92416c24102ede3c0aac9b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-10 23:55:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-11 01:24:27 +0900

    [DOC] Tweak "Timezone Objects"

    - Make method descriptions plain pragraphs in each method.
    - Make "Argument" and "Returns" note-lists.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11869

commit e8a7d16946eb590c907071c1d26c8cbf583f7f43
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-10 23:48:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-11 01:24:27 +0900

    [DOC] Tweak "Time Internal Representation"

    - Remove `T_BIGNUM` word
    - Mark up function names and type names as code
    - Mark up struct member names as variables

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11869

commit 605698c7cf1a3b0a9fe5c302a8e0219ee64a5ffa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-10 23:47:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-11 01:24:26 +0900

    [DOC] Link labels cannot contain attributes for now

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11869

commit a778562f33783ac4cad56a1cc94f17a5051d8c42
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-10-11 01:09:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 01:09:44 +0900

    [ruby/rdoc] Make methods and attributes linkable
    (https://github.com/ruby/rdoc/pull/1189)

    * Use the same color for both class/module and method highlight

    * Make methods and attributes linkable

    https://github.com/ruby/rdoc/commit/7757fd9fe4

commit 71a59543a6a5ba26ee67e5ea815bfd3712b3f39c
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-11 00:15:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-11 00:15:17 +0900

    [DOC] Tweaks for Array#repeated_combination (#11839)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit b5ecb03ae40e01ffe57b4dc409f8c96b15e32b12
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-10 23:57:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-11 00:13:10 +0900

    [ruby/prism] Do not warn for unused variables on negative lines

    Fixes [Bug #20788]

    https://github.com/ruby/prism/commit/27e91f21af

commit d12c8cbf14084c35209a9cb07bccc8b4bee7760a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-09 03:01:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 23:54:04 +0900

    [rubygems/rubygems] Fix `gem pristine etc` resetting gem twice sometimes

    If a default version and a regular version of etc are present at the
    same time, RubyGems will end up duplicating work and running pristine
    twice.

    The `etc` gem is special because it's loaded by RubyGems by default.
    When doing this, RubyGems will activate the regularly installed version.
    The when `gem pristine` runs, it will find to installed specifications
    but materialize both to the already activated specification.

    Before:

    ```
    $ gem pristine etc --version 1.4.3
    Restoring gems to pristine condition...
    Building native extensions. This could take a while...
    Restored etc-1.4.3
    Building native extensions. This could take a while...
    Restored etc-1.4.3
    ```

    After:

    ```
    $ gem pristine etc --version 1.4.3
    Restoring gems to pristine condition...
    Skipped etc-1.4.3, it is a default gem
    Building native extensions. This could take a while...
    Restored etc-1.4.3
    ```

    https://github.com/rubygems/rubygems/commit/5c279ac56b

commit 36e9a6bb41621793f6719c6e269ffebb422636fe
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-09 03:55:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 23:54:04 +0900

    [rubygems/rubygems] Improve some indentations

    https://github.com/rubygems/rubygems/commit/30f228a97f

commit cd611becbbb31217575c2031682612d36f7a2fc4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-10 14:16:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-10 23:52:07 +0900

    [ruby/fiddle] Cast via `VALUE` function pointer between object
    pointer
    (https://github.com/ruby/fiddle/pull/150)

    With gcc 13 and -pedantic:

    ```
    ../../../src/ext/fiddle/function.c: In function ‘function_call’:
    ../../../src/ext/fiddle/function.c:374:15: error: ISO C forbids conversion of object pointer to function pointer type [-Wpedantic]
      374 |     args.fn = (void(*)(void))NUM2PTR(cfunc);
          |               ^
    ../../../src/ext/fiddle/pointer.c: In function ‘rb_fiddle_ptr_inspect’:
    ../../../src/ext/fiddle/pointer.c:573:84: error: ISO C forbids conversion of function pointer to object pointer type [-Wpedantic]
      573 |                       RB_OBJ_CLASSNAME(self), (void *)data, data->ptr, data->size, (void *)data->free);
          |                                                                                    ^
    ```

    https://github.com/ruby/fiddle/commit/6421e317a1

commit 3fdf0e7e6deee8a275869c1ced389f6e4d9975ea
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-05 01:21:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 23:51:32 +0900

    [rubygems/rubygems] Fix specs with missing extensions getting activated

    https://github.com/rubygems/rubygems/commit/c80998a22a

commit f63873e7a2d07e23694148ea500da3baf09cc680
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-02 23:35:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 23:51:32 +0900

    [rubygems/rubygems] Remove more compatibility code with old RubyGems

    https://github.com/rubygems/rubygems/commit/74e8eff779

commit f8e3afd255485697501b645cbee19597c7b2f0ad
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-08 04:07:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 23:51:31 +0900

    [rubygems/rubygems] Remove code that's not needed for the spec to pass

    https://github.com/rubygems/rubygems/commit/ce9f6285c4

commit 2f0b1874ad89716a2e31a5e5bd01d1ac2edbd813
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-08 04:07:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 23:51:31 +0900

    [rubygems/rubygems] Fix warnings about old C style

    https://github.com/rubygems/rubygems/commit/f40610b699

commit a1492ffdc24ae96ea06f4549467211f8d0bbe675
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-05 00:56:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 23:51:30 +0900

    [rubygems/rubygems] Run specs that now pass on JRuby

    https://github.com/rubygems/rubygems/commit/2af077ee38

commit 82c76f18965487a705c13903a7c6dce35d6554d5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-10 23:24:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 23:45:59 +0900

    [ruby/prism] Reject invalid splat as last statement of parentheses

    https://github.com/ruby/prism/commit/3a0b1c6110

commit 146ff6617326893130e5f29935cdaeae0836cfb5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-10 11:28:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 23:45:49 +0900

    [ruby/digest] Cast via `uintptr_t` function pointer between object pointer

    https://github.com/ruby/digest/commit/661d4643ef

commit 4f9836be8ded7012e884284a6c1b85a6239bea6c
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-10-10 05:12:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 22:43:58 +0900

    [ruby/prism] Update rescue node doc

    Its `exception` field was renamed to `reference` in #1204 but the
    documentation was not updated.

    https://github.com/ruby/prism/commit/a477607ba2

commit 2bb7cbff301f704f129965a87ab12160f2c84bf7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-10 03:40:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-10 22:41:09 +0900

    Directly call rb_gc_impl_writebarrier_unprotect

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11857

commit fc40bd7cbdd878181feed592244fa7a20b0d99a9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-10 03:36:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-10 22:41:09 +0900

    Directly call rb_gc_impl_copy_finalizer

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11857

commit 243d48c0d2a55cea5c5ca16bd8114dcee9038dcd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-10 21:17:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-10 21:17:57 +0900

    [DOC] Generate HTML doc when importing from ruby/rdoc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11864

commit c5f0fe12859cd194f4df9ba2072f70228da2fcd5
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-10-10 18:45:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 18:45:41 +0900

    [ruby/rdoc] Improve method source toggling
    (https://github.com/ruby/rdoc/pull/1176)

    * Move method source block to the top

    Currently, if a method description is long (e.g. `Array.new`), users need
    to click the method toggle button next to the method title, and then scroll
    down to the source code expanded below the description.

    This commit changes the behavior so that the source code is expanded
    immediately below the method title.

    * Update method toggle's interface

    1. Display the method toggle button by default instead of displaying on hover
    2. Only toggle the source code when clicking the method toggle button, not
       when clicking the entire method title section. This will allow us to display
       an anchor link next to the method title
    3. Simplify the toggle source button's appearance

    * Use details tag for method toggling

    * Rename method-click-advice to method-source-toggle

    * Improve method controls' display on mobile

    By moving the method controls out of the method header, we can display
    them to the right of the method name on desktop, and below the method name
    on mobile.

    * Add "Example" label to example code blocks

    The label should help users distinguish example code blocks from other
    code blocks, such as method source code.

    It's only applied to Ruby code examples.

    * Revert "Add "Example" label to example code blocks"

    This reverts commit https://github.com/ruby/rdoc/commit/69fc9ce6a379.

    * Give source code blocks a different background color

    * Change targeted method's highlighting color to work better with the new method source

    https://github.com/ruby/rdoc/commit/e608a84af3

commit 2cf4aa0801468a2b55cfd25e93e762af47c1b141
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-10 15:03:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-10 15:15:54 +0900

    [ruby/fiddle] Only print Fiddle::VERSION when flag is true
    (https://github.com/ruby/fiddle/pull/151)

    The test of current HEAD revision occurred `unknown command` on
    `ruby/ruby` repo.

    ```
    $ make test-all -j TESTS="fiddle -j12" MSPECOPT="-j"
    (snip)

    # Running tests:

    unknown command: "Fiddle::VERSION: 1.1.3.dev"8681=test_fiddle 58682=test_pack 58683=test_handle 58684=test_import 58685=test_c_union_entity 58686:waiting 58687=test_pinne
    unknown command: "Fiddle::VERSION: 1.1.3.dev"8681=test_fiddle 58682=test_pack 58683=test_handle 58684=test_import 58685=test_c_union_entity 58686=test_cparser 58687=test_
    unknown command: "Fiddle::VERSION: 1.1.3.dev"8681=test_fiddle 58682=test_pack 58683=test_handle 58684=test_import 58685=test_c_union_entity 58686=test_cparser 58687=test_
    unknown command: "Fiddle::VERSION: 1.1.3.dev"8681=test_fiddle 58682=test_memory_view 58683=test_handle 58684=test_import 58685=test_c_union_entity 58686=test_cparser 5868
    unknown command: "Fiddle::VERSION: 1.1.3.dev"8681=test_closure 58682=test_memory_view 58683=test_handle 58684=test_import 58685=test_c_union_entity 58686=test_cparser 586
    unknown command: "Fiddle::VERSION: 1.1.3.dev"
    unknown command: "Fiddle::VERSION: 1.1.3.dev"
    unknown command: "Fiddle::VERSION: 1.1.3.dev"8681=test_closure 58682=test_memory_view 58683=test_handle 58684=test_import 58685=test_c_struct_builder 58686=test_cparser 5
    unknown command: "Fiddle::VERSION: 1.1.3.dev"8681=test_closure 58682=test_memory_view 58683=test_handle 58684=test_import 58685=test_c_struct_builder 58686=test_cparser 5
    unknown command: "Fiddle::VERSION: 1.1.3.dev"8681=test_closure 58682=test_memory_view 58683=test_handle 58684=test_import 58685=test_c_struct_builder 58686=test_cparser 5
    Finished tests in 1.136194s, 194.5090 tests/s, 929.4187 assertions/s.
    221 tests, 1056 assertions, 0 failures, 0 errors, 4 skips
    ```

    I only show fiddle version in this repository with `$VERSBOSE` flag.

    https://github.com/ruby/fiddle/commit/31bebd85be

commit 43d14d50fc4edb9d064660d0e88b823a69bd7b93
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-10 14:50:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-10 15:15:54 +0900

    Revert "Commented out to print fiddle version"

    This reverts commit a1db8dbe166d82d7238b3d375344799e057dab2b.

commit 15bb571730c4c19def9c4e1d59c9546056d9bd98
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-10-10 14:14:56 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-10 14:44:51 +0900

    test/resolv/test_dns.rb: Keep `UDPSocket`s until a free port is found

    Follow up to 589f1978d8c368b8eccf34453463ad46a58d36da

    I suspect `UDPSocket.new` grabs the same port number because they are
    closed at each trial.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11863

commit 63f94e12fb371fdba41a8233e56f752a1a579c5e
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-10-10 13:01:33 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-10-10 13:40:59 +0900

    Revert "TestProcess#test_daemon_noclose is only working with macOS 15.1 beta, we should skip with macOS 15.0"

    This reverts commit 3830bca5edd6964131971866c80107c89fac5362.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11849

commit c77f0b91342935f661c6e5ba0f6f5c19427da174
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-10-09 21:46:15 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-10-10 13:40:59 +0900

    [Bug #20631] Workaround for macOS 15.0 fork crash

    macOS 15.0 24A5331b seems to have a weird issue that
    `CFStringCreateWithBytesNoCopy` does not return `NSTaggedPointerString`
    instance for the first call. This issue is fixed in macOS 15.1 but we
    need to workaround it for macOS 15.0.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11849

commit e00b746b7578ed7b2f168cb7bc867ef3c8cbca69
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-10 13:23:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-10 13:23:07 +0900

    Suppress warnings with `RUBYPOT=-w`

    ```
    -:3: warning: assigned but unused variable - var
    -:3: warning: assigned but unused variable - var
    -:3: warning: assigned but unused variable - var
    -:3: warning: assigned but unused variable - var
    -:3: warning: assigned but unused variable - var
    -:3: warning: assigned but unused variable - var
    ```

commit a1db8dbe166d82d7238b3d375344799e057dab2b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-10 13:20:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-10 13:20:49 +0900

    Commented out to print fiddle version

commit 5792bd7149a30f7f43a739199d84603cc579f4e5
  Author:     Thomas Marshall <thomas@thomasmarshall.com>
  AuthorDate: 2024-10-09 01:30:51 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-10 12:53:11 +0900

    Emit warning for other method redefinition types

    This commit ensures warnings about `object_id` and `__send__` method
    redefinitions are emitted for other method types such as aliases, procs,
    and attr readers—anything except C functions.

commit a985695b9e7f58552cfa6b8700c4dabc137e41e8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-10-10 11:48:06 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-10 12:23:18 +0900

    Make test_hash_symbol_colon_key pass on LANG=en_US

    It failed on a platform with LANG=en_US
    ```
      1) Failure:
    PPTestModule::PPSingleLineTest#test_hash_symbol_colon_key [/home/chkbuild/chkbuild/tmp/build/20241010T010005Z/ruby/test/test_pp.rb:207]:
    <"{a: 1, a!: 1, a?: 1, \u3042: 1}"> expected but was
    <"{a: 1, a!: 1, a?: 1, \"\\u3042\": 1}">.
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11862

commit 51fdd2c6ca1c96740cb202770c559acb791b3f12
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-10 11:30:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-10 11:30:37 +0900

    Move directives outside `rb_ary_new3` call

    This function may be a macro for optimization, which will be expanded
    to `rb_ary_new_from_values`.

    ```
    ext/socket/ancdata.c: In function ‘bsock_recvmsg_internal’:
    ext/socket/ancdata.c:1648:1: error: embedding a directive within macro arguments is not portable
     1648 | #if defined(HAVE_STRUCT_MSGHDR_MSG_CONTROL)
          | ^
    ext/socket/ancdata.c:1650:1: error: embedding a directive within macro arguments is not portable
     1650 | #else
          | ^
    ext/socket/ancdata.c:1652:1: error: embedding a directive within macro arguments is not portable
     1652 | #endif
          | ^
    ```

commit 6f6735898aefd73089247c625ce221350afb39b6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-10 11:29:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-10 11:29:57 +0900

    Cast via `uintptr_t` function pointer between object pointer

commit 133bacc0dcf4261ac3ebe0de5f367c88a51ce2f0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-10 10:54:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-10 10:54:26 +0900

    Rename win32-sspi to net-http-sspi

commit f1a94a497b8491b41a3d058557ea10995c10f71a
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-10-07 16:31:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-10 10:06:10 +0900

    [ruby/fiddle] test jruby: fix a typo

    https://github.com/ruby/fiddle/commit/d76c87b804

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11860

commit da3c4087235d883ce3265b274a695baf3809768f
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-10-07 16:31:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-10 10:06:09 +0900

    [ruby/fiddle] test jruby: fix a wrong message

    https://github.com/ruby/fiddle/commit/00b3521f5e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11860

commit d7fc90d21378fb94c743f302cf068b218ca71680
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-10-07 16:30:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-10 10:06:08 +0900

    [ruby/fiddle] test jruby: fix a typo

    https://github.com/ruby/fiddle/commit/5bc55e0533

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11860

commit a47f153d9d951166f8442e3b2c7036505385a953
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-10-07 11:03:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-10 10:05:52 +0900

    Import JRuby implementation (#147)

    Fix GH-104

    lib/fiddle/jruby.rb is based on

    https://github.com/jruby/jruby/blob/master/lib/ruby/stdlib/fiddle/jruby.rb
    .

    Here are changes for it:

    * Move `Fiddle::TYPE_*` to `Fiddle::Types::*`
    * Add `Fiddle::Types::VARIADIC`
    * Add `Fiddle::Types::CONST_STRING`
    * Add `Fiddle::Types::BOOL`
    * Add `Fiddle::Types::INT8_T`
    * Add `Fiddle::Types::UINT8_T`
    * Add `Fiddle::Types::INT16_T`
    * Add `Fiddle::Types::UINT16_T`
    * Add `Fiddle::Types::INT32_T`
    * Add `Fiddle::Types::UINT32_T`
    * Add `Fiddle::Types::INT64_T`
    * Add `Fiddle::Types::UINT64_T`
    * Add more `Fiddle::ALIGN_*` for the above new `Fiddle::Types::*`
    * Add more `Fiddle::SIZEOF_*` for the above new `Fiddle::Types::*`
    * Add support for specifying type as not only `Fiddle::Types::*` but
    also `Symbol` like `:int`
    * Add support for variable size arguments in `Fiddle::Function`
    * Add `Fiddle::Closure#free`
    * Add `Fiddle::Closure#freed?`
    * Add `Fiddle::Error` as base the error class
    * Add `Fiddle::Pointer#call_free` and stop using `FFI::AutoPointer` in
    `Fiddle::Pointer`
    * Add support for `Fiddle::Pointer.malloc {}` `Fiddle::Pointer`
    * Add support for `Fiddle::Pointer#free=`
    * Add `Fiddle::Pointer#freed?`
    * Use binary string not C string for `Fiddle::Pointer#[]`
    * Add `Fiddle::Handle.sym_defined?`
    * Add `Fiddle::Handle#sym_defined?`
    * Add `Fiddle::Handle::DEFAULT`
    * Add `Fiddle::ClearedReferenceError`
    * Add no-op `Fiddle::Pinned`

    Some features are still "not implemented". So there are some "omit"s for
    JRuby in tests.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11860

commit a392ee1437efbaa84edf3412bb96a5d667a08387
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-08 01:02:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-10 10:03:34 +0900

    Update vendored net-http

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11860

commit a838f980f599d95ccf344157f7074e997af31f48
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-10-10 06:01:49 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-10-10 06:31:57 +0900

    `me->defined_class` should be T_CLASS/T_ICLASS

    `me->defined_class` will be used for ancestor searching
    so that it should be T_CLASS or T_ICLASS.

    This patch will resolve https://github.com/ruby/ruby/pull/11715

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11859

commit d0bff661d65451065cc1132db25a2da2ecc87feb
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-10 04:58:28 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-10-10 05:57:27 +0900

    Remove unused timeout in parsey CI.

    This is unset and has no fallback. it's causing an error in the CI
    output

    Error: An error occurred when attempting to determine the step timeout.
    Error: The template is not valid. .github/workflows/parsey.yml (Line:
    78, Col: 26): Unexpected value ''

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11858

commit f7fdf6cc36ce42594e21765c8ca00f4e10505a6b
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-10 02:33:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-10 03:05:24 +0900

    [DOC] Tweaks for Array#rindex

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11856

commit 1962be267cb3e7ea946f34967f42f48a01558084
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-10 01:33:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-10 03:02:37 +0900

    [DOC] Tweaks for Array#reverse!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11854

commit 377d02285342bedcb0e4901ce53848b6b877b633
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-10 01:15:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-10 02:54:54 +0900

    [DOC] Tweaks for Array#reverse

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11853

commit 6dac070aa2aca748917b6cc44dc28c29f5558e52
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 22:41:01 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-10 01:36:32 +0900

    Add `--with-parser` configure option

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11852

commit e39e582594feaeb40722b2921e8feb562d94269b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-09 23:34:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 00:42:23 +0900

    [ruby/prism] Attempt to assume binary is UTF-8

    https://github.com/ruby/prism/commit/343197e4ff

commit 2e2a5e4ff945ca8c17eae6c3b6b2b8b7d3dcdf69
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-09 22:43:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-10 00:31:47 +0900

    [rubygems/rubygems] Remove unused variable

    https://github.com/rubygems/rubygems/commit/b31f33d55c

commit 1c762d95664796275460025b37379753c0ac8e36
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-09 22:16:19 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-09 23:58:19 +0900

    [Bug #20789] Fix an invalid syntax error when `->a=1...{}`

    https://bugs.ruby-lang.org/issues/20789

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11850

commit e50754fcfaeb80bef93f043c13895ce386ddb18c
  Author:     Vinicius Stock <vinicius.stock@shopify.com>
  AuthorDate: 2024-10-08 23:47:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 23:07:10 +0900

    [ruby/prism] Avoid breaking code units offset on binary encoding

    https://github.com/ruby/prism/commit/25a4cf6794

    Co-authored-by: Kevin Newton <kddnewton@users.noreply.github.com>

commit 615a0872167e274d720d7d6bc3fe9a0f34bb44cf
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-09 21:35:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 21:35:54 +0900

    [ruby/json] Restore the simple standlone benchmark for iterating

    https://github.com/ruby/json/commit/7b68800991

commit d10e09b7e345c803c16e05ac3e75eb23749d4024
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-09 19:28:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 21:18:05 +0900

    [rubygems/rubygems] Add `Gem::Specification#gem_dir` back

    If old Bundler versions that unconditionally try to remove this method
    are run with RubyGems versions _without_ this method, Bundler crashes
    because it tries to remove a method that does not exist.

    We need to wait until RubyGems cannot install any Bundler versions that
    unconditionally remove this method.

    https://github.com/rubygems/rubygems/commit/98804d261d

commit 3aa044f10c1db1608974ba4bc282c7dd1c9db3f5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 20:45:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-09 20:45:18 +0900

    [Bug #20791] Set LIBRUBY_RELATIVE on mswin

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11848

commit 438ef21a9b50815f645a324e3d8950750467fd29
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-09 17:55:20 +0900
  Commit:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  CommitDate: 2024-10-09 19:48:53 +0900

    Update `Socket#recvfrom` to use `rb_io_blocking_region`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11844

commit 04ddb7e8084aa2fdb07ca4da2b4369cca275c1d9
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-09 17:52:30 +0900
  Commit:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  CommitDate: 2024-10-09 19:48:53 +0900

    Update `Socket#accept` to use `rb_io_blocking_region`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11844

commit 3031bf6bd46c56f90f1944e41dcb4a5fb9948e40
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-09 17:50:16 +0900
  Commit:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  CommitDate: 2024-10-09 19:48:53 +0900

    Update `UDPSocket#send` to use `rb_io_blocking_region`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11844

commit 67d6e89b0b6d7dd7d6454ace7734157ee51f3f79
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-09 19:09:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-09 19:09:17 +0900

    Added byroot to JSON maintainer

    [Misc #20746]

commit 48410af53c83a0c351004c5f661571108f84391b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-08 05:33:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 19:07:11 +0900

    [rubygems/rubygems] Fix a `gem install` crash during "done installing" hooks

    It would happen when the gem is already installed to multiple GEM_PATHS.
    RubyGems was removing duplicate specs without considering the
    potentially different `base_dir`. That was causing the gem to be
    misidentified as not already installed, and a nil specification getting
    returned from the installer as a result, causing the crash.

    Solve it by making sure `Gem::Specification.all` really iterates through
    all the different specifications in all GEM_PATHs.

    https://github.com/rubygems/rubygems/commit/0d8c208f65

commit 5eee2698661eb4d6afbfd6db4a3e6318b5eefad1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 17:55:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-09 17:55:49 +0900

    Make mkconfig.rb string literals frozen

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11846

commit 823f29a36edd25136999d5a649eaff5e4a41481c
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-09 13:20:33 +0900
  Commit:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  CommitDate: 2024-10-09 17:05:01 +0900

    Update `IPSocket` to use `rb_io_descriptor` and `rb_io_mode`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11796

commit d78bf437083229842925c45f4190d29773026e1b
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-09 13:19:05 +0900
  Commit:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  CommitDate: 2024-10-09 17:05:01 +0900

    Update `UNIXSocket` to use `rb_io_blocking_region`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11796

commit dee15211c154cc70409a6010883140f259d1c483
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-09 13:17:37 +0900
  Commit:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  CommitDate: 2024-10-09 17:05:01 +0900

    Update `BasicSocket` to use `rb_io_blocking_region`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11796

commit 9f812522f521bf4f3d550a84233a05d23e7dd5ec
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-09 04:25:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 15:21:30 +0900

    [rubygems/rubygems] Allow `gem pristine` to reset default gems too

    https://github.com/rubygems/rubygems/commit/c9e665eb8a

commit 73834f11fa22ab963df064f7a6fe34c6a0488468
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-08 00:31:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 14:54:14 +0900

    [rubygems/rubygems] Fix `Gem::Specification#gem_dir` losing custom source for some reason

    https://github.com/rubygems/rubygems/commit/f8f589b1b8

commit 83456d1e9aeb66ec64365343b38af66c83b4bce8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-09 06:55:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 14:26:27 +0900

    [rubygems/rubygems] Fix plugin command loading

    The `LoadError` needs to be ignored because command may have been
    defined and registered from a rubygems_plugin.rb file.

    https://github.com/rubygems/rubygems/commit/31f13d449b

commit 4eda289a13c61347c28cbb327d07e5064583904d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-04 14:37:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-09 13:55:45 +0900

    Sync from ruby/win32-registry

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11791

commit fc2efc2bdb5e8f48b83757d8de1ae90750150e84
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-04 14:36:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-09 13:55:45 +0900

    Added win32-registry

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11791

commit bd85e88d3190556fc59ad9665b8e6f6715331696
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-10-09 12:55:28 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-10-09 12:55:28 +0900

    Support `The following bundled gems are added.`

commit 75c3c0b0afec49b5e5b760a1aaa422396bbbc26c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-09 12:05:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-09 12:05:36 +0900

    Update NEWS entry for repl_type_completor

commit 589f1978d8c368b8eccf34453463ad46a58d36da
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-09 10:57:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-09 11:28:40 +0900

    mingw environment can't bind free port with 10 times. We should omit it instead of test failure.

    ```
     1) Error:
      TestResolvDNS#test_multiple_servers_with_timeout_and_truncated_tcp_fallback:
      Errno::EACCES: Permission denied - bind(2) for "127.0.0.1" port 59677
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TCPServer#initialize'
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TCPServer.new'
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TestResolvDNS#with_udp_and_tcp'
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:711:in 'TestResolvDNS#test_multiple_servers_with_timeout_and_truncated_tcp_fallback'

        2) Error:
      TestResolvDNS#test_query_ipv4_address_truncated_tcp_fallback:
      Errno::EACCES: Permission denied - bind(2) for "127.0.0.1" port 59689
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TCPServer#initialize'
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TCPServer.new'
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TestResolvDNS#with_udp_and_tcp'
          D:/a/ruby/ruby/src/test/resolv/test_dns.rb:223:in 'TestResolvDNS#test_query_ipv4_address_truncated_tcp_fallback'
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11842

commit 09d5f3c1430f39017c33c09e785f9263be0f6d47
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 10:28:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-09 10:28:59 +0900

    [DOC] Generate document HTMLs only when document commit/PR

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11841

commit 5840b4363f41955d114f8840f9b30d105f8b0922
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 10:05:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-09 10:05:19 +0900

    [DOC] Use the recent RDoc always to generate the doc of ruby itself

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11841

commit 3fc1495c305bca14ab30d458e74dcc42424195d1
  Author:     John Bampton <jbampton@gmail.com>
  AuthorDate: 2024-10-09 02:36:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-09 07:14:44 +0900

    Fix spelling

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11835

commit 65494d3cc6fbe5b25431021ac155b7aba3a1dff3
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-09 05:44:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-09 05:58:48 +0900

    [DOC] Tweaks for Array#reject!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11838

commit 0469d169e248dcd2b110dfa5073c9f495fce97d0
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-09 05:37:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-09 05:57:19 +0900

    [DOC] Tweaks for Array#reject

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11837

commit 015d9ebaec8c564e79e2e808d002eb68341a4020
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-09 05:23:41 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-09 05:54:42 +0900

    [DOC] Tweaks for Array#rassoc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11836

commit 9e121ef985ef6892ac492876fa7345aa92df2f54
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-09 00:47:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 02:48:58 +0900

    [rubygems/rubygems] Give `gem install` commands more time

    https://github.com/rubygems/rubygems/commit/44f3ae4bc8

commit cfcc7522d44680b959e08b31c6e3af36fdaaa152
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-08 20:54:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 02:48:58 +0900

    [rubygems/rubygems] Remove more unnecessary ENV modifications

    https://github.com/rubygems/rubygems/commit/457b25df1a

commit 6bd79e53cd7dcfa17b77b1b080ded3fc577221bc
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-08 19:34:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 02:48:57 +0900

    [rubygems/rubygems] Pass `--verbose` to realworld gem installation

    In case it gives us some useful debugging output when it fails.

    https://github.com/rubygems/rubygems/commit/d781416483

commit abd01d616aaeae7ad93838b75610bec6de0c6dc1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-08 18:59:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 02:48:57 +0900

    [rubygems/rubygems] Don't modify ENV when installing realworld gems

    https://github.com/rubygems/rubygems/commit/b75319aa96

commit 7c304e316f2135b4a0f8d381c3302aa8ff808dc5
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-09 02:37:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-09 02:37:19 +0900

    [DOC] Tweaks for Array#product (#11823)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit de50c4bd42099a70b06bfa6a7f9fa9a2532a93df
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 01:18:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-09 01:29:08 +0900

    [DOC] Use RIGHT SINGLE QUOTATION MARK

    Ideally, RDoc would be expected to replace U+0027 APOSTROPHE with
    U+2019 RIGHT SINGLE QUOTATION MARK, as well as the case the preceeding
    word is not a class name; but a boundary of attributes is treated as a
    word boundary currently.  Although I'm not sure if this is a bug of
    RDoc, use that mark meanwhile.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11833

commit bb57f7d20bfa9d5c7c3c9c2d28aa67eac079ee5f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 01:10:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-09 01:29:08 +0900

    [DOC] Link win32-sspi upstream URL

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11833

commit 2c6317defb4f634fed3b4c2aad7adf529c6f7aa1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 01:06:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-09 01:29:08 +0900

    [DOC] Enable cross references to classes and methods

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11833

commit a081fe11f9c28be29cf8d990f3c0b7a23e437157
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 01:01:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-09 01:29:08 +0900

    [DOC] Split old and new backtrace displays

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11833

commit eddcff26a31cbce99f968a71133899e12ceff198
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 00:58:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-09 01:29:08 +0900

    [DOC] Insert an empty line between nested lists

    Without an empty line, often results in weird layouts.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11833

commit bf4571c35d2b9e40cefa291fbdaba98d2bbb90c5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 00:47:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-09 01:29:08 +0900

    [DOC] Adjust indents

    RDoc's current markdown implementation parses only 4-spaces as
    indentation, not 2-spaces.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11833

commit df973d956a7171300c75c5646996c28e1bba17d2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-09 00:36:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-09 01:29:07 +0900

    [DOC] Fix typos

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11833

commit ded078c2c44e5a1f9f4191a7021cfe394ac93ba2
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-10-09 00:44:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-09 00:44:59 +0900

    YJIT: Fastpath for Module#name (#11819)

    Module#name shows up as a top C method callee in lobsters so probably
    common enough. It's also easy to substitute thanks to rb_mod_name()
    already having no GC yield points.

        klass = BasicObject
        50_000_000.times { klass.name }

        Benchmark 1: /.rubies/post/bin/ruby --yjit mod_name.rb
          Time (mean ± σ):      1.433 s ±  0.010 s    [User: 1.410 s, System: 0.010 s]
          Range (min … max):    1.421 s …  1.449 s    10 runs

        Benchmark 2: /.rubies/mstr/bin/ruby --yjit mod_name.rb
          Time (mean ± σ):      1.491 s ±  0.012 s    [User: 1.468 s, System: 0.010 s]
          Range (min … max):    1.470 s …  1.511 s    10 runs

        Summary
          /.rubies/post/bin/ruby --yjit mod_name.rb ran
            1.04 ± 0.01 times faster than /.rubies/mstr/bin/ruby --yjit mod_name.rb

commit cb19dfca2c9b315d29c5303203d8d0d1bbbd8511
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-09 00:15:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-09 00:15:43 +0900

    [ruby/irb] Change debug test workaround to use ENV
    RUBY_DEBUG_TEST_UI
    (https://github.com/ruby/irb/pull/1014)

    https://github.com/ruby/irb/commit/9933584754

commit a3208330135850c56b6e2e590491cb80bfc839df
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-09 00:10:49 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-09 00:10:49 +0900

    [DOC] Tweaks for Array#pop (#11821)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 45edfa73ce0306d43f87c62453b2ab46e5c4357d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-08 09:41:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-09 00:09:09 +0900

    [DOC] Tweaks for Array#unshift

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11822

commit 044f6ba23dcee34103b64cc46e28976087188a63
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-08 23:51:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-08 23:51:33 +0900

    [DOC] Generate HTML documents in CI

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11832

commit 02101f473b6d16d0b6d019442c41724e308f493b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-08 23:43:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-08 23:43:02 +0900

    rdoc-srcdir: Adjust the version number in the title in .rdoc_options

    Other command line options are no longer needed usually.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11832

commit 8ba2c3109c0f80f285b8db2fed10d8f5f026c208
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-08 21:25:15 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-08 23:29:49 +0900

    Fix extra semicolon outside of a function in `NO_SANITIZE`

    ```
    internal/sanitizers.h:57:26: error: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic]
       57 |     COMPILER_WARNING_PUSH; \
          |                          ^
    ```

    and so many.

    Remove semicolons following pragma, and repeat the given declaration
    at the end to consume a semicolon following the macro call.  As many
    `NO_SANITIZE` calls including bigdecimal that is a gem have a trailing
    semicolon, it was not able to move the semicolon inside `NO_SANITIZE`.

commit 1f39184bc7e564eefc9c6e09e038e20e112bef20
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-08 16:12:10 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-08 23:29:49 +0900

    Substitute `coroutine_transfer` with prefixed symbol in Makefile

    ```
    coroutine/arm64/Context.S:31:57: error: invoking macro TOKEN_PASTE argument 1: empty macro arguments are undefined in ISO C90 [-Wpedantic]
       31 | .global PREFIXED_SYMBOL(SYMBOL_PREFIX,coroutine_transfer)
          |                                                         ^
    ```

commit 49ccc31d906d26f980dcedf1197a2e18245ec50e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-08 15:44:40 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-08 23:29:49 +0900

    Add a macro to initialize union `cfunc_type`

    ```
    vm_insnhelper.c:2430:49: error: ISO C prohibits argument conversion to union type [-Wpedantic]
     2430 |     if (!vm_method_cfunc_is(cd_owner, cd, recv, rb_obj_equal)) {
          |                                                 ^~~~~~~~~~~~
    vm_insnhelper.c:2448:42: error: ISO C prohibits argument conversion to union type [-Wpedantic]
     2448 |     if (cc && check_cfunc(vm_cc_cme(cc), rb_obj_equal)) {
          |                                          ^~~~~~~~~~~~
    ```
    and so on.

commit 9a90cd228466ec088d6f0da8d1aa065f03daa7c8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-08 15:41:28 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-08 23:29:49 +0900

    Cast via `uintptr_t` function pointer between object pointer

    - ISO C forbids conversion of function pointer to object pointer type
    - ISO C forbids conversion of object pointer to function pointer type

commit d8b64eac55cf6c4b228b0969cd3abb0a6274de16
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-08 15:36:58 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-08 23:29:49 +0900

    `rb_fix_mul_fix` needs internal/bits.h for `MUL_OVERFLOW_FIXNUM_P`

commit 6e2619c9685c256f49f71fdc6460f69ffd073b67
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-08 21:57:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-08 23:18:37 +0900

    Revamp the benchmark suite

    There is a large number of outstanding performance PRs that I want to
    merge, but we need a decent benchmark to judge if they are effective.

    I went to borrow rapidjson's benchmark suite, which is a good start.

    I only kept the comparison with Oj and RapidJSON, because YAJL is
    slower on most benchmarks, so little point comparing to it.

    Encoding:

    ```
    == Encoding small nested array (121 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    88.225k i/100ms
                      oj   209.862k i/100ms
               rapidjson   128.978k i/100ms
    Calculating -------------------------------------
                    json    914.611k (± 0.4%) i/s    (1.09 μs/i) -      4.588M in   5.016099s
                      oj      2.163M (± 0.2%) i/s  (462.39 ns/i) -     10.913M in   5.045964s
               rapidjson      1.392M (± 1.3%) i/s  (718.55 ns/i) -      6.965M in   5.005438s

    Comparison:
                    json:   914610.6 i/s
                      oj:  2162693.5 i/s - 2.36x  faster
               rapidjson:  1391682.6 i/s - 1.52x  faster

    == Encoding small hash (65 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json   142.093k i/100ms
                      oj   651.412k i/100ms
               rapidjson   237.706k i/100ms
    Calculating -------------------------------------
                    json      1.478M (± 0.7%) i/s  (676.78 ns/i) -      7.389M in   5.000866s
                      oj      7.150M (± 0.7%) i/s  (139.85 ns/i) -     35.828M in   5.010756s
               rapidjson      2.250M (± 1.6%) i/s  (444.46 ns/i) -     11.410M in   5.072451s

    Comparison:
                    json:  1477595.1 i/s
                      oj:  7150472.0 i/s - 4.84x  faster
               rapidjson:  2249926.7 i/s - 1.52x  faster

    == Encoding twitter.json (466906 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json   101.000 i/100ms
                      oj   223.000 i/100ms
               rapidjson   105.000 i/100ms
    Calculating -------------------------------------
                    json      1.017k (± 0.7%) i/s  (982.83 μs/i) -      5.151k in   5.062786s
                      oj      2.244k (± 0.7%) i/s  (445.72 μs/i) -     11.373k in   5.069428s
               rapidjson      1.069k (± 4.6%) i/s  (935.20 μs/i) -      5.355k in   5.016652s

    Comparison:
                    json:     1017.5 i/s
                      oj:     2243.6 i/s - 2.21x  faster
               rapidjson:     1069.3 i/s - same-ish: difference falls within error

    == Encoding citm_catalog.json (500299 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    77.000 i/100ms
                      oj   129.000 i/100ms
               rapidjson    96.000 i/100ms
    Calculating -------------------------------------
                    json    767.217 (± 2.5%) i/s    (1.30 ms/i) -      3.850k in   5.021957s
                      oj      1.291k (± 1.5%) i/s  (774.45 μs/i) -      6.579k in   5.096439s
               rapidjson    959.527 (± 1.1%) i/s    (1.04 ms/i) -      4.800k in   5.003052s

    Comparison:
                    json:      767.2 i/s
                      oj:     1291.2 i/s - 1.68x  faster
               rapidjson:      959.5 i/s - 1.25x  faster

    == Encoding canada.json (2090234 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json     1.000 i/100ms
                      oj     3.000 i/100ms
               rapidjson     1.000 i/100ms
    Calculating -------------------------------------
                    json     19.748 (± 0.0%) i/s   (50.64 ms/i) -     99.000 in   5.013336s
                      oj     31.016 (± 0.0%) i/s   (32.24 ms/i) -    156.000 in   5.029732s
               rapidjson     19.419 (± 0.0%) i/s   (51.50 ms/i) -     98.000 in   5.050382s

    Comparison:
                    json:       19.7 i/s
                      oj:       31.0 i/s - 1.57x  faster
               rapidjson:       19.4 i/s - 1.02x  slower

    == Encoding many #to_json calls (2661 bytes)
    oj does not match expected output. Skipping
    rapidjson unsupported (Invalid object key type: Object)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json     2.129k i/100ms
    Calculating -------------------------------------
                    json     21.599k (± 0.6%) i/s   (46.30 μs/i) -    108.579k in   5.027198s
    ```

    Parsing:

    ```
    == Parsing small nested array (121 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    47.497k i/100ms
                      oj    54.115k i/100ms
               oj strict    53.854k i/100ms
              Oj::Parser   150.904k i/100ms
               rapidjson    80.775k i/100ms
    Calculating -------------------------------------
                    json    481.096k (± 1.1%) i/s    (2.08 μs/i) -      2.422M in   5.035657s
                      oj    554.878k (± 0.6%) i/s    (1.80 μs/i) -      2.814M in   5.071521s
               oj strict    547.888k (± 0.7%) i/s    (1.83 μs/i) -      2.747M in   5.013212s
              Oj::Parser      1.545M (± 0.4%) i/s  (647.16 ns/i) -      7.847M in   5.078302s
               rapidjson    822.422k (± 0.6%) i/s    (1.22 μs/i) -      4.120M in   5.009178s

    Comparison:
                    json:   481096.4 i/s
              Oj::Parser:  1545223.5 i/s - 3.21x  faster
               rapidjson:   822422.4 i/s - 1.71x  faster
                      oj:   554877.7 i/s - 1.15x  faster
               oj strict:   547887.7 i/s - 1.14x  faster

    == Parsing small hash (65 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json   154.479k i/100ms
                      oj   220.283k i/100ms
               oj strict   249.928k i/100ms
              Oj::Parser   445.062k i/100ms
               rapidjson   289.615k i/100ms
    Calculating -------------------------------------
                    json      1.581M (± 3.0%) i/s  (632.55 ns/i) -      8.033M in   5.086476s
                      oj      2.202M (± 3.5%) i/s  (454.08 ns/i) -     11.014M in   5.008146s
               oj strict      2.498M (± 3.5%) i/s  (400.25 ns/i) -     12.496M in   5.008245s
              Oj::Parser      4.640M (± 0.4%) i/s  (215.50 ns/i) -     23.588M in   5.083443s
               rapidjson      3.111M (± 0.3%) i/s  (321.44 ns/i) -     15.639M in   5.027097s

    Comparison:
                    json:  1580898.5 i/s
              Oj::Parser:  4640298.1 i/s - 2.94x  faster
               rapidjson:  3111005.2 i/s - 1.97x  faster
               oj strict:  2498421.4 i/s - 1.58x  faster
                      oj:  2202276.6 i/s - 1.39x  faster

    == Parsing test from oj (256 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    37.580k i/100ms
                      oj    41.899k i/100ms
               oj strict    50.731k i/100ms
              Oj::Parser    74.589k i/100ms
               rapidjson    50.954k i/100ms
    Calculating -------------------------------------
                    json    382.150k (± 1.0%) i/s    (2.62 μs/i) -      1.917M in   5.015737s
                      oj    420.282k (± 0.2%) i/s    (2.38 μs/i) -      2.137M in   5.084338s
               oj strict    511.758k (± 0.5%) i/s    (1.95 μs/i) -      2.587M in   5.055821s
              Oj::Parser    759.087k (± 0.3%) i/s    (1.32 μs/i) -      3.804M in   5.011388s
               rapidjson    518.273k (± 1.8%) i/s    (1.93 μs/i) -      2.599M in   5.015867s

    Comparison:
                    json:   382149.6 i/s
              Oj::Parser:   759087.1 i/s - 1.99x  faster
               rapidjson:   518272.8 i/s - 1.36x  faster
               oj strict:   511758.4 i/s - 1.34x  faster
                      oj:   420282.5 i/s - 1.10x  faster

    == Parsing twitter.json (567916 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    52.000 i/100ms
                      oj    63.000 i/100ms
               oj strict    74.000 i/100ms
              Oj::Parser    79.000 i/100ms
               rapidjson    56.000 i/100ms
    Calculating -------------------------------------
                    json    522.896 (± 0.4%) i/s    (1.91 ms/i) -      2.652k in   5.071809s
                      oj    624.849 (± 0.6%) i/s    (1.60 ms/i) -      3.150k in   5.041398s
               oj strict    737.779 (± 0.4%) i/s    (1.36 ms/i) -      3.700k in   5.015117s
              Oj::Parser    789.254 (± 0.3%) i/s    (1.27 ms/i) -      3.950k in   5.004764s
               rapidjson    565.663 (± 0.4%) i/s    (1.77 ms/i) -      2.856k in   5.049015s

    Comparison:
                    json:      522.9 i/s
              Oj::Parser:      789.3 i/s - 1.51x  faster
               oj strict:      737.8 i/s - 1.41x  faster
                      oj:      624.8 i/s - 1.19x  faster
               rapidjson:      565.7 i/s - 1.08x  faster

    == Parsing citm_catalog.json (1727030 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json    27.000 i/100ms
                      oj    31.000 i/100ms
               oj strict    36.000 i/100ms
              Oj::Parser    42.000 i/100ms
               rapidjson    38.000 i/100ms
    Calculating -------------------------------------
                    json    305.248 (± 0.3%) i/s    (3.28 ms/i) -      1.539k in   5.041813s
                      oj    320.265 (± 3.4%) i/s    (3.12 ms/i) -      1.612k in   5.039715s
               oj strict    373.701 (± 1.6%) i/s    (2.68 ms/i) -      1.872k in   5.010633s
              Oj::Parser    457.792 (± 0.4%) i/s    (2.18 ms/i) -      2.310k in   5.046049s
               rapidjson    350.933 (± 8.8%) i/s    (2.85 ms/i) -      1.748k in   5.052491s

    Comparison:
                    json:      305.2 i/s
              Oj::Parser:      457.8 i/s - 1.50x  faster
               oj strict:      373.7 i/s - 1.22x  faster
               rapidjson:      350.9 i/s - 1.15x  faster
                      oj:      320.3 i/s - 1.05x  faster

    == Parsing canada.json (2251051 bytes)
    ruby 3.3.4 (2024-07-09 revision be1089c8ec) +YJIT [arm64-darwin23]
    Warming up --------------------------------------
                    json     2.000 i/100ms
                      oj     2.000 i/100ms
               oj strict     2.000 i/100ms
              Oj::Parser     2.000 i/100ms
               rapidjson    28.000 i/100ms
    Calculating -------------------------------------
                    json     29.216 (± 6.8%) i/s   (34.23 ms/i) -    146.000 in   5.053753s
                      oj     24.899 (± 0.0%) i/s   (40.16 ms/i) -    126.000 in   5.061915s
               oj strict     24.828 (± 4.0%) i/s   (40.28 ms/i) -    124.000 in   5.003067s
              Oj::Parser     30.867 (± 3.2%) i/s   (32.40 ms/i) -    156.000 in   5.057104s
               rapidjson    285.761 (± 1.0%) i/s    (3.50 ms/i) -      1.456k in   5.095715s

    Comparison:
                    json:       29.2 i/s
               rapidjson:      285.8 i/s - 9.78x  faster
              Oj::Parser:       30.9 i/s - same-ish: difference falls within error
                      oj:       24.9 i/s - 1.17x  slower
               oj strict:       24.8 i/s - 1.18x  slower
    ```

commit 7cdbf93a89534b51ed9791a89dac2ff5546af7d4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-07 22:47:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-08 22:48:48 +0900

    Improve error message in load_external_gc_func

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11817

commit 613694734eeefa02eb828002b3c630c2a07dfda1
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-08 21:21:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-08 21:22:42 +0900

    [ruby/json] generator.c: better fix for comparison of integers of different signs

    https://github.com/ruby/json/commit/c372dc9268

commit dd4677cf0654a7512df0809a31f5eac6bce5b97d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-08 16:30:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 17:11:44 +0900

    Mentioned win32-sspi

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11829

commit 02d4703eedfd22009bcb3c6abbdaf514158386cf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-08 16:27:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 17:11:44 +0900

    Extract ext/win32/lib/win32/sspi.rb to ruby/win32-sspi

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11829

commit 638b4468b8826a34d7e513b56153ef4363d5bcf4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-08 15:24:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 15:52:49 +0900

    Call Resolv::DNS::Config#lazy_initialize explicitly if that instance is not initialized

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11828

commit 63149cad81e346b8e5cd3d6058e0dfaf4fded731
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-08 15:23:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 15:52:49 +0900

    Specify use_ipv6 option for ipv4 test

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11828

commit c6841645346936d31c82bd84496d4bdf3a8c21e4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-08 12:48:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 14:10:05 +0900

    Fixed C23 compilation error with ruby/ruby master

commit fe33475605de4e325de1f880b39b0521bfe48f47
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-08 12:22:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 14:10:05 +0900

    Removed trailing space

commit 8a79f345a2cc7b24191baf199c8ca2e226833a12
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-08 11:44:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 14:10:05 +0900

    [ruby/json] Unicode string like § is not allowed in C files at ruby/ruby repo

    https://github.com/ruby/json/commit/53409bcc74

commit 718c4f7e1e449f43b0c82bfd2826b3a14ac329df
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-08 10:43:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 14:10:05 +0900

    JSONPure: String#to_json should raise on invalid encoding

    Fix: #344

    This matches the ext behavior.

commit 8fdd3d0ed629b95caa76cea1a58d6def8eac910c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-09 21:21:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 14:10:05 +0900

    JSON::Pure fix strict mode

    Followup: https://github.com/flori/json/pull/519
    Fix: https://github.com/flori/json/issues/584

commit ea9d34082f8a5011377c61e8eb5c21c51fbfd4a8
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-08 10:27:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 14:10:05 +0900

    [ruby/json] Fix compilation warning

    ```
    generator.c:69:27: warning: comparison of integers of different signs: 'short' and 'unsigned long' [-Wsign-compare]
                for (i = 1; i < ch_len; i++) {
    ```

    https://github.com/ruby/json/commit/ff8edcd47c

commit 934d67b4159f9a5febcccec782714cc12e0983f3
  Author:     Luke T. Shumaker <lukeshu@parabola.nu>
  AuthorDate: 2024-02-23 12:51:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 14:10:05 +0900

    [ruby/json] generator.c: Optimize by combining calls to fbuffer_append

    https://github.com/ruby/json/commit/62301c0bc3

commit 74d459fd52ef85f92f7c20819afcc4ffcf11714d
  Author:     Luke T. Shumaker <lukeshu@parabola.nu>
  AuthorDate: 2024-02-23 12:51:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 14:10:05 +0900

    [ruby/json] Adjust to the CVTUTF code being gone

    I, Luke T. Shumaker, am the sole author of the added code.

    I did not reference CVTUTF when writing it.  I did reference the
    Unicode standard (15.0.0), the Wikipedia article on UTF-8, and the
    Wikipedia article on UTF-16.  When I saw some tests fail, I did
    reference the old deleted code (but a JSON-specific part, inherently
    not as based on CVTUTF) to determine that script_safe should also
    escape U+2028 and U+2029.

    I targeted simplicity and clarity when writing the code--it can likely
    be optimized.  In my mind, the obvious next optimization is to have it
    combine contiguous non-escaped characters into just one call to
    fbuffer_append(), instead of calling fbuffer_append() for each
    character.

    Regarding the use of the "modern" types `uint32_t`, `uint16_t`, and
    `bool`:
     - ruby.h is guaranteed to give us uint32_t and uint16_t.
     - Since Ruby 3.0.0, ruby.h is guaranteed to give us bool... but we
       support down to Ruby 2.3.  But, ruby.h is guaranteed to give us
       HAVE_STDBOOL_H for the C99 stdbool.h; so use that to include
       stdbool.h if we can, and if not then fall back to a copy of the
       same bool definition that Ruby 3.0.5 uses with C89.

    https://github.com/ruby/json/commit/c96351f874

commit 6e47968929f2ee77376d28a6561266d8f8e3a4f7
  Author:     Luke T. Shumaker <lukeshu@parabola.nu>
  AuthorDate: 2024-02-23 12:51:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 14:10:05 +0900

    [ruby/json] Delete code that is based on CVTUTF

    I did this based on manual inspection, comparing the code to my re-created
    history of CVTUTF at https://git.lukeshu.com/2git/cvtutf/ (created by the
    scripts at https://git.lukeshu.com/2git/cvtutf-make/)

    https://github.com/ruby/json/commit/0819553144

commit bad4ad63bff71748302d1089523a5dcbc40f6c57
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-07 21:21:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-08 14:10:05 +0900

    [ruby/json] Update all links to the repository following transfert

    https://github.com/ruby/json/commit/1edfeb8f10

commit 8c7e291dd86f21f1d9bbcd3c0ba1e7e01761b129
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-08 08:45:16 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-10-08 09:12:57 +0900

    Update references to flori/json

    Now that the repository was transfered, these links will become
    dead in a few months.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11820

commit 05d3b727d654002258ae10111f7b0f03574084e9
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-08 04:21:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-08 04:21:47 +0900

    [DOC] Tweaks for Array#permutation (#11802)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 4cbd2ab9d462784ee44108e396177807e869ad23
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-08 02:47:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-08 02:57:36 +0900

    [ruby/prism] Properly handle non-assoc operators

    https://github.com/ruby/prism/commit/dbd5c929d6

commit 35711903f239e462da682929982f434ee45c2199
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-10-08 02:07:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-08 02:07:23 +0900

    YJIT: Add --yjit-mem-size option (#11810)

    * YJIT: Add --yjit-mem-size option

    * Improve --help

    * s/the region/this virtual memory region/

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 8d1906e8b723c8721c7b7f8d983b88a8fa3f8395
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-08 01:27:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-08 01:38:16 +0900

    [ruby/prism] Handle invalid commas in arguments, parameters, and arrays

    https://github.com/ruby/prism/commit/023e894b74

commit a90861340ae6799ae9dcd75a14b451cae433cefe
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-30 19:36:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-08 01:36:50 +0900

    [rubygems/rubygems] Fix `bundle.bat` re-execution

    It does not have ruby code, so we should not prepend `ruby` to the
    command the re-execute it.

    https://github.com/rubygems/rubygems/commit/e04e00f7bb

commit 8d359644e7a71c4835b8f385c308571a7a8baf7f
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-10-07 21:36:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-08 00:52:22 +0900

    [ruby/prism] Set contains_keywords flag for implicit gets($/, chomp: true) method call to handle -l CLI option

    https://github.com/ruby/prism/commit/717e41c87d

commit b8c8529dcfcd0c5bc76f4efdeab9b98100f2ead7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-08 00:30:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-08 00:44:33 +0900

    [ruby/prism] Fix up unary * binding power

    https://github.com/ruby/prism/commit/c1d23d4702

commit a6cf1324759a64d43ca9707c20316cf681038240
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-07 23:47:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-07 23:47:30 +0900

    Revert "Add debugging code to vm_objtostring in ASAN"

    This reverts commit c32fd1b5ed6709dfbed3d19cac881886576e231b.

    The bug seems to have been fixed with 6acf03618a937f5302fbd3043f9c3420a49f8cb3.

commit fa547b809aba50da72c9145904b5605481fdce3e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-07 23:02:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-07 23:39:17 +0900

    [ruby/prism] Fix up errors on invalid escape character syntax

    https://github.com/ruby/prism/commit/14c8559378

commit 216d087f50de719d551592e589f7ecece00570da
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-06 02:58:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-07 22:39:07 +0900

    Disable -Wunused-function for shared GC in gc/gc.h

    Shared GC might not use the private functions in gc/gc.h, so they will
    show up as warnings for unused functions. This commit disables
    -Wunused-function for these functions when building as shared GC.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11808

commit 9ee0e1127481021562a03c43b20c6e3af7c5f2f5
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-10-06 05:59:54 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-10-07 22:07:08 +0900

    Mention `Hash#inspect` changes in NEWS.md

    This will likely cause some incompatibilities in various projects
    we should try to make it as clear as possible for the next preview
    release.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11809

commit ef7d7ee72309c57576d3e2f95e4364cc6c301428
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-07 22:00:31 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-07 22:00:31 +0900

    CI: Use full name of the label 'Documentation'

    Since `github.event.pull_request.labels.*.name` is an object filter,
    the item to be searched in needs to be the same whole string, not a
    partial string.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11816

commit c818606d843cab19e8eab22cc3298484b38b343e
  Author:     Sam Bostock <sambostock@users.noreply.github.com>
  AuthorDate: 2024-10-07 20:25:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-07 20:25:59 +0900

    [ruby/rdoc] Use normal `font-weight` for links
    (https://github.com/ruby/rdoc/pull/1188)

    https://github.com/ruby/rdoc/commit/b53f0cb2ed

commit 67591b545ce2b4c15bcf9ef813576954d7e2bf4f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-07 19:20:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-07 19:20:08 +0900

    Make rbconfig/sizeof keys US-ASCII

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11815

commit dbb1abacf0538db61496cd25d9616dfa18327cd9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-07 18:45:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-07 18:45:07 +0900

    Make rbconfig/sizeof keys as literals

    These keys are made from string literals, and used only as keys of
    hashes.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11814

commit 66b69d4ea553485306b683d7f965181dffca5205
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-07 17:57:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-07 18:22:19 +0900

    [DOC] Move each `Float#to_s` example item by item

    Like as +half+ option in Float#round.

    If the body of the preceding list items and the following code block
    are indented at the same position, the code block is parsed as a list
    continuation.

    [Fixes GH-11683]

commit 7081838d2a6b64308161e46296dec5dcea01f789
  Author:     Holger Just <github@meine-er.de>
  AuthorDate: 2024-10-07 17:20:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-07 17:20:03 +0900

    [DOC] String#sub! and String#gsub! return nil if no replacement occured

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11700

    Merged-By: nobu <nobu@ruby-lang.org>

commit 32c733f57bb91e22972319ee63eac9521d954ebc
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-10-07 15:28:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-07 15:28:32 +0900

    [DOC] Add some descriptions for options of `Socket::tcp`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11813

    Merged-By: nobu <nobu@ruby-lang.org>

commit 773d140f65c1c8b726e107915bc003c186f38677
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-07 11:06:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-07 11:06:44 +0900

    [Bug #20787] Check the separator in `IO#readline` as well as 3.2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11811

commit ec526c61c937ea03c460c91b01552629d196695a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-07 10:04:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-07 10:04:42 +0900

    json upstream is ruby/json now

commit 0752fff2152c86caa67d7a0dafcfda3582fbf384
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-07 09:37:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-07 09:37:33 +0900

    [ruby/reline] Add cursor keys for application keypad mode to default
    key bindings
    (https://github.com/ruby/reline/pull/719)

    * Add SS3 arrow sequence to default key bindings

    * Remove wrong KDE arrow sequence

    https://github.com/ruby/reline/commit/546a42522e

commit 8f5abcb0c7a81b63f8af9fc53ac7bbb48007974b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-07 08:35:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-07 08:35:06 +0900

    [ruby/reline] Allow utf-8 safe meta key mapping in inputrc
    (https://github.com/ruby/reline/pull/723)

    Readline's convert-meta setting is utf-8 unsafe.
    Allow assigning `"\M-char": key` to bind "\echar": key even if convert-meta is not enabled.

    https://github.com/ruby/reline/commit/9844b99c6e

commit 98620f6c5246d27fed440b8d61cdb31cd915eafa
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-06 20:10:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-06 20:10:12 +0900

    [ruby/irb] Change default completor from regexp to auto, try
    TypeCompletor and fallback to RegexpCompletor.
    (https://github.com/ruby/irb/pull/1010)

    https://github.com/ruby/irb/commit/bb6a99d815

commit a6383fbe1628bdaa9ec6a30b3baa60dd7430b461
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-06 02:03:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-06 08:29:08 +0900

    CI: Simplify parsey.yml

commit a1c222801de786d8cf3b2b77cc48f22d87c026ec
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-04 04:45:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-06 02:58:10 +0900

    Non-zero exit when error in loading shared GC

    Before this commit, when there is an error in loading the shared GC, an
    error was outputted but it did not exit, causing it to segfault later on.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11784

commit 802445487e5e0abb91811c84c220c0b58da3ca0c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-06 02:02:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-06 02:02:51 +0900

    [ruby/reline] Fix tempfile leaks
    (https://github.com/ruby/reline/pull/757)

    https://github.com/ruby/reline/actions/runs/11187507536/job/31104699331#step:13:1064
    ```
    Children under /tmp/rubytest.m48l5o:
    * -rw------- 1 101 2024-10-02 17:43:51 +0000 rubyfile20241002-60503-bhbfgq
    ```

    https://github.com/ruby/reline/commit/1287f97a6f

commit e6fa7c35445a60598dbe816b46a41e41ed6898d8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-06 01:47:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-06 01:55:26 +0900

    [ruby/reline] Hash#inspect style has changed in ruby 3.4

    [[Bug #20433]](https://bugs.ruby-lang.org/issues/20433)

    https://github.com/ruby/reline/commit/ca457ffb70

commit a6da8d69e616f6c0c937a2bf18ca3c0561a20b3d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-06 00:45:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-06 00:55:40 +0900

    [ruby/irb] Hash#inspect style has changed in ruby 3.4

    [[Bug #20433]](https://bugs.ruby-lang.org/issues/20433)

    https://github.com/ruby/irb/commit/ecd08a527e

commit d17edf3a170b733356836353508319443d12c53c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-05 22:08:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-05 23:29:42 +0900

    [Bug #20705] Update `strtod` implementation

    The absence of either the integer or fractional part should be
    allowed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11807

commit f37e6d7f7b9dd0fac4fe01637a410dc4752a7ded
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-05 16:07:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-05 16:07:57 +0900

    Merge `rb_parser_enc_compatible_latter` into `rb_parser_enc_compatible`

commit 4b065bbe2b3e2c5ff747cb27bb1763aa040453a3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-05 16:06:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-05 16:06:54 +0900

    Move common code to `enc_compatible_latter`

commit 9dbbd0181f8c5e165f474e064c6f808050011bc8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-05 15:48:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-05 15:59:44 +0900

    Parser string encoding is always ASCII-compatible

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11806

commit 6743e6285a585fbd0a3b25b8eeed10caf1fae66e
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-05 15:18:45 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-05 15:59:01 +0900

    [Bug #20784] Fix incomplete character syntax followed by EOF

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11805

commit e939f28cc93a538e751c9c1200c95c4c85c9d09b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-05 11:24:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-05 11:36:21 +0900

    Use quadrigraphs for a hash

    So that the closing bracket does not look like commented out.

commit c50298d7d4f8797963490f5679b1c481b89d4955
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-05 11:10:12 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-05 11:10:12 +0900

    Introduce `rb_io_blocking_region` which takes `struct rb_io` argument. (#11795)

    This does not change any actual behaviour, but provides a choke point for blocking IO operations.

    * Update `IO::Buffer` to use `rb_io_blocking_region`.

    * Update `File` to use `rb_io_blocking_region`.

    * Update `IO` to use `rb_io_blocking_region`.

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit e766cb3e578fcfb3f21dd8f4a95cd4296b704c89
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-10-05 05:54:32 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-05 07:45:50 +0900

    Suppress warnings in `time_init_parse` function

    When building Ruby on Ubuntu 22.04 and GCC 11.4.0, the following warning appeared.
    And this change has suppressed warning.

    ```
    compiling ../ruby/time.c
    ../ruby/time.c: In function ‘time_init_parse’:
    ../ruby/time.c:2650:21: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
     2650 |         if (ndigits < TIME_SCALE_NUMDIGITS) {
          |                     ^
    ../ruby/time.c:2654:26: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
     2654 |         else if (ndigits > TIME_SCALE_NUMDIGITS) {
          |
    ```

commit 563263a91ceba742277c6f4d2ec1b821388fbceb
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-05 06:56:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 06:56:10 +0900

    [ruby/reline] Concatenate some rendeing test
    (https://github.com/ruby/reline/pull/749)

    https://github.com/ruby/reline/commit/41b54140f4

commit 87169dd435e0db40303f8dc3a29408663e978d14
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-05 05:11:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-05 05:11:10 +0900

    [DOC] Tweaks for Array#none? (#11788)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit b57bbf774fc0599740b0d133a762b2ad14ce021d
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-05 05:10:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-05 05:10:58 +0900

    [DOC] Tweaks for Array#one? (#11789)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 648f558e01a9dbc71bb9d24fe5cb2dabe2b1bcb0
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-05 02:49:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:57 +0900

    [rubygems/rubygems] Remove now unused realworld spec

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/2484267920

commit b653be0ba572adc145dfb13ea312439edca49e68
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-05 02:48:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:57 +0900

    [rubygems/rubygems] Update spec rubygems_ext

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/1ef33fa0af

commit e472d1a6d697eea93dfa6c037fd9d65dc9d9f34e
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-03 06:31:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:56 +0900

    [rubygems/rubygems] Remove extra space in BUNDLED WITH section

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/d8b5d05e46

commit 40d7e5d2abcaa2206074a924e94d8fea2a67a3a5
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-03 01:34:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:56 +0900

    [rubygems/rubygems] Update rubocop to ruby 3.1

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/300fb96ffc

commit dfa11551aa1a4dc9ba9d2d78c083dc77e17b8f29
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-03 01:25:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:52 +0900

    [rubygems/rubygems] More rubygems 3.2.x removals

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/272f3464a3

commit 7695bf183b02361cc6adb953da6a54c505082260
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-03 01:22:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:52 +0900

    [rubygems/rubygems] Remove CorrectHashForLambdaOperator monkey patch

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/085bafd8d4

commit db6e6155d673931d1ae6b962664684c4fe4937e6
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-03 01:19:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:51 +0900

    [rubygems/rubygems] Remove outdated conditionals from tests

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/06eec6d855

commit bdc3363d0f045b1a6d81b72c3cd9b10d5759f71e
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-10-02 10:20:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 05:01:51 +0900

    [rubygems/rubygems] Update required_ruby_version to 3.1

    3.0 has been EOL since march, drop support for it before the 3.4 release is cut

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/fc1f03b06a

commit 30038656aa3a4931abefd99b8166c26599d168fd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-05 02:57:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-10-05 04:04:26 +0900

    Fix intermediate array off-by-one error

    Co-authored-by: Adam Hess <HParker@github.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11800

commit f77517f473c38e3fcef72c23de977a44da881caf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-05 02:36:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-05 02:36:36 +0900

    [DOC] Minor adjustment for Array#min

commit c7dc7da2ee29322980a143d7125e22c11b540012
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-05 02:35:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-05 02:35:56 +0900

    [DOC] Minor adjustment for Array#max

commit 95ad0e5f85ed5c46367cb61dfcb01978925a225e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-05 02:34:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-05 02:34:11 +0900

    [DOC] Tweaks for Array#minmax (#11787)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 5a95a6905875594bb434d25d3db131d6fc2432ee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-05 01:43:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 02:01:58 +0900

    [ruby/prism] Fix up pattern parsing with trailing commas

    https://github.com/ruby/prism/commit/51f2df60ff

commit 75640037bfc8fc35562224b97c677f2c88221a3e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-05 01:02:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-05 01:22:21 +0900

    [ruby/prism] Fix up multi target parsing

    https://github.com/ruby/prism/commit/80cd335222

commit cd86393ad858d29c1204fd3f1561dca9c96fec16
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-04 05:20:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-04 21:50:43 +0900

    Assume VM locked in rb_mark_generic_ivar

    rb_gen_ivtbl_get locks the VM, but the VM must be locked during marking
    so we can directly read from the generic_ivtbl without locking the VM.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11785

commit 79a8750ade3e332c1ab78aa9cbc6ca7fd823dec2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-04 18:49:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-04 18:49:47 +0900

    [Bug #20783] Insert a space between RPATHFLAG and LIBPATHFLAG

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11797

commit 86e8a36e77a9946aeb179c73a232a793867951bb
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-04 17:25:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 17:25:43 +0900

    Revert "Direct access to `fptr->fd` should prefer to use the `internal/io.h`. (#11793)"

    This reverts commit 6ea0dcc9781931129e77540097712f6196d49fde that was accidentally merged.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11794

    Merged-By: ioquatix <samuel@codeotaku.com>

commit 6ea0dcc9781931129e77540097712f6196d49fde
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-04 16:44:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 16:44:23 +0900

    Direct access to `fptr->fd` should prefer to use the `internal/io.h`. (#11793)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit c33cb9a5867b0d35335a7d6921184a60356a32d7
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-04 16:35:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 16:35:57 +0900

    Update `io_spec.c` to use `rb_io_maybe_wait*` if possible. (#11792)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit c878843b2cb8fd54ebfaabd10b6334cf4d400208
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-04 15:36:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 15:36:06 +0900

    Better handling of timeout in `rb_io_maybe_wait_*`. (#9531)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 96d69d2df269bbf68bb0e378b2cd4af46bfd37a4
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-04 14:40:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 14:40:38 +0900

    Clarify `rb_io_maybe_wait` behaviour. (#9527)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit c5b1df7524e35d6c0a270c38ae65daf7668e2c31
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-04 11:54:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-04 12:21:27 +0900

    Skip related tests in PathnameInstanceTest

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3705

commit 3c54b8e9205fa8debe09447138fd08aeaa59e69c
  Author:     schneems <richard.schneeman+foo@gmail.com>
  AuthorDate: 2020-10-27 03:46:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-04 12:21:27 +0900

    Allow method chaining with Pathname#mkpath

    Currently in my code when I want to create a pathname object and create a path at the same time I must use tap

    ```
    path = Pathname.new("/tmp/new").tap(&:mkpath)
    ```

    I think it would be cleaner to be able to chain on the results of these methods instead:

    ```
    path = Pathname.new("/tmp/new").mkpath
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3705

commit 08346e7267b4f17ae207d67543d5f78c2541dc86
  Author:     schneems <richard.schneeman+foo@gmail.com>
  AuthorDate: 2020-10-28 03:54:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-04 11:15:33 +0900

    Introduce Pathname.mktmpdir

    When I want to create a tmpdir I often want to manipulate it as a pathname. By introducing Pathname.mktmpdir I can get this behavior.

    Currently I must:

    ```ruby
    Dir.mktmpdir do |dir|
      dir = Pathname(dir)
      # ... code
    end
    ```

    I would like to be able to instead:

    ```ruby
    Pathname.mktmpdir do |dir|
      # ... code
    end
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3709

commit e90862f0edc08400183c81e08b7a20d5449f6f9b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-04 06:02:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-04 06:02:52 +0900

    [DOC] Correct documentation for Array#max

    The return value of Array#max is the maximum value per the block, not
    from the block.

commit 3ece042c384b8d630fa7d9bf4ca96774f44c4a82
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-04 06:02:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-04 06:02:32 +0900

    [DOC] Tweaks for Array#min (#11786)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 8e7df4b7c674cf408fa570b9593811167bbff04a
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-03 21:53:49 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-10-04 05:20:09 +0900

    Rename size_pool -> heap

    Now that we've inlined the eden_heap into the size_pool, we should
    rename the size_pool to heap. So that Ruby contains multiple heaps, with
    different sized objects.

    The term heap as a collection of memory pages is more in memory
    management nomenclature, whereas size_pool was a name chosen out of
    necessity during the development of the Variable Width Allocation
    features of Ruby.

    The concept of size pools was introduced in order to facilitate
    different sized objects (other than the default 40 bytes). They wrapped
    the eden heap and the tomb heap, and some related state, and provided a
    reasonably simple way of duplicating all related concerns, to provide
    multiple pools that all shared the same structure but held different
    objects.

    Since then various changes have happend in Ruby's memory layout:

    * The concept of tomb heaps has been replaced by a global free pages list,
      with each page having it's slot size reconfigured at the point when it
      is resurrected
    * the eden heap has been inlined into the size pool itself, so that now
      the size pool directly controls the free_pages list, the sweeping
      page, the compaction cursor and the other state that was previously
      being managed by the eden heap.

    Now that there is no need for a heap wrapper, we should refer to the
    collection of pages containing Ruby objects as a heap again rather than
    a size pool

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11771

commit b58a3645229b6c82c1f199fd948ec1fa97c0cc10
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-02 20:51:11 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-10-04 05:20:09 +0900

    Inline eden_heap into size_pool

    After the individual tomb_heaps were removed in favour of a global list
    of empty pages, the only instance of rb_heap_t left is the eden_heap
    within each size pool.

    This PR inlines the heap fields directly into rb_size_pool_t to remove
    indirection and remove the SIZE_POOL_EDEN_HEAP macro

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11771

commit cd71fa96ac5ac46479eae262bff7349b2817d198
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-03 23:59:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-04 04:45:03 +0900

    Remove else case for shared-gc make target

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11783

commit 568511f3937502aa84a33f321508bd2cda652303
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-04 02:33:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-04 02:43:11 +0900

    [ruby/prism] Handle single global variable character name

    https://github.com/ruby/prism/commit/7a0af49997

commit f8568fbd7f87f749de46abc6ce07b9d3e0c6b40d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-04 01:31:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-04 02:30:20 +0900

    [ruby/prism] Pop lex mode for heredocs in the lexer, not the parser

    https://github.com/ruby/prism/commit/5dd36b979e

commit 77db37813a5a436507260a92c8d41b616db1efd9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-03 00:04:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-04 00:58:20 +0900

    Fix indentation in test_after_gc_start_hook_with_GC_stress

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11765

commit ac0a8c6230537cc92f137f517517f67ea2e34032
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-04 00:52:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-04 00:52:34 +0900

    [ruby/reline] Make rendering test faster using updated yamatanooroti
    (https://github.com/ruby/reline/pull/747)

    https://github.com/ruby/reline/commit/7534f7f92a

commit 9986a7c3930437bc9d9b88736c22695585aa6c48
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-12 13:29:41 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-10-03 23:27:01 +0900

    Make Object#singleton_method return methods in modules included in or prepended to singleton class

    To simplify the implementation, this makes Object#singleton_method
    call the same method called by Object#method (rb_obj_method), then
    check that the returned Method is defined before the superclass of the
    object's singleton class.  To keep the same error messages, it rescues
    exceptions raised by rb_obj_method, and then raises its own exception.

    Fixes [Bug #20620]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11605

commit dc83de49288d6da59fd8b13f701ac437e09f2d23
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-03 02:56:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-03 22:28:13 +0900

    [DOC] Add missing word

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11769

commit f56be4286f70734ead11b316b85f504ca5b6c6dc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-03 02:55:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-03 22:28:13 +0900

    [DOC] Add pound sign before all <=> methods

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11769

commit 66124cdb17f5152e7b1b269ca62be1773b127b2b
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-10-03 20:34:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 21:52:02 +0900

    [ruby/prism] Use `partial_script` for the parser translators

    Followup to https://github.com/ruby/prism/pull/3079

    https://github.com/ruby/prism/commit/68f434e356

commit cd96af2cb88a0b98add14eacf0005a8bee505d5d
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-03 21:29:16 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-03 21:29:16 +0900

    Add `IO::Buffer` tests for read and write with length & offset. (#11779)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 218445bb1fbda6b215b42e6149da672d330a7042
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-03 21:27:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 21:27:43 +0900

    [ruby/rdoc] Fix ToRdoc#accept_table
    (https://github.com/ruby/rdoc/pull/1184)

    https://github.com/ruby/rdoc/commit/7b68545094

commit b421964b9d00c685f11e1bcfdb2c0d9005e4f356
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-03 20:19:58 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-10-03 20:49:24 +0900

    Remove unused macros

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11778

commit 9d4af312bd7406fe648f82100ae7f597b53e4de2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-03 19:38:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 19:38:38 +0900

    [ruby/reline] Rename `matches?` as `match?`
    (https://github.com/ruby/reline/pull/753)

    https://github.com/ruby/reline/commit/9230fe162d

commit 5bf8a53063507c17085d6fa6593d2c40277f76f8
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-01 01:37:27 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Specify commit hash of debug in bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/10924

commit c94815bab720e88c76b46709a1c0b992cae5353c
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-14 21:57:41 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Update spec/ruby/ for colon-style hash inspect

  Notes:
    Merged: https://github.com/ruby/ruby/pull/10924

commit af1c356c7b318ccdb8abbcf35bd1fff2082bf91b
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-08 00:23:39 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Update default gem test for colon-style hash inspect

  Notes:
    Merged: https://github.com/ruby/ruby/pull/10924

commit f7343b636f4d5939691adc05d9f8008e05d72038
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-07 22:17:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    prettyprint hash with colon style

  Notes:
    Merged: https://github.com/ruby/ruby/pull/10924

commit 7237af75d2aa700454fbaba9bda7a9283413d903
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-08 00:23:12 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Update ruby test for colon-style hash inspect

  Notes:
    Merged: https://github.com/ruby/ruby/pull/10924

commit f4e548924e36c9b1d19551a943881cb57bb41471
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-08 01:20:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Update bootstraptest test for colon-style hash inspect

  Notes:
    Merged: https://github.com/ruby/ruby/pull/10924

commit a8a059125314a411eaf879a9fbfdc68d6c01a667
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-07 02:05:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-10-03 18:47:09 +0900

    Hash#inspect with colon style

  Notes:
    Merged: https://github.com/ruby/ruby/pull/10924

commit 6435dfce5fcddd22d3570eda2c60cc772c34909c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-03 17:01:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 17:41:13 +0900

    style

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11776

commit 50b32a3c9206df2ec7bcb4c54a59844c27f1c144
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-03 17:01:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 17:41:13 +0900

    Added repl_type_completor as bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11776

commit 7f251ce5c43d1c0c04b192b730c66b07b5f6530d
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-10-03 16:00:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 16:00:45 +0900

    Update bundled gems list as of 2024-10-03

commit 1b3f18afce19a693921e3021f81bd1289b113036
  Author:     Sadiq Saif <staticsafe@users.noreply.github.com>
  AuthorDate: 2018-11-24 01:38:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 15:04:46 +0900

    each_address should now resolve for AAAA first

    AAAA over A is standards track behaviour as per RFC 6724.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/2024

commit 4cd893b0487b9a853a57d1e9cdc461bd0dd6de8f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-03 17:40:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 14:20:34 +0900

    [flori/json] Optimize key type check in `json_object_i`

    Rather than checking the class we can check the type.
    This is very subtly different for String subclasses, but I think it's
    OK.

    We also save on checking the type again in the fast path.

    https://github.com/flori/json/commit/772a0201ab

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11775

commit 57282c62a0df04808d24d63a48be3774f3180763
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-02 20:45:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 14:20:34 +0900

    [flori/json] Optimize `fbuffer_inc_capa`

    On my `JSON.dump` benchmark it shows up as 6% of runtime, compared
    to 40% for `convert_UTF8_to_JSON`.

    Since the vast majority of the time this function is called we
    still have some buffer capacity, we might as well check that
    first and skip the expensive loop etc.

    With this change my profiler now report this function as 0.7%,
    so almost 10x better.

    https://github.com/flori/json/commit/a7206bf2db

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11775

commit 630c681321cd247a55360e52743a5d706cd46bcb
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-02 16:41:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 14:20:34 +0900

    [flori/json] JSON.dump: avoid redundant UTF-8 validation

    Given that we called `rb_enc_str_asciionly_p`, if the string encoding
    isn't valid UTF-8, we can't know it very cheaply by checking the
    encoding and coderange that was just computed by Ruby, rather than
    to do it ourselves.

    Also Ruby might have already computed that earlier.

    https://github.com/flori/json/commit/4b04c469d5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11775

commit a048090bd591ef874f36effb2065d66719c04d59
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-03 12:41:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 13:10:34 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11774

commit d40db5cfecba8bd4fbc4809cf67024be4d83e113
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-03 12:38:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-03 12:38:01 +0900

    [DOC] [pty] Add clean up to `PTY.spawn`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11773

commit 9bd2f30d0a73e5fd01aa80cfb5fd1c61b9ef64ff
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-03 12:16:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 12:16:39 +0900

    [ruby/reline] Fix FD leaks (https://github.com/ruby/reline/pull/752)

    `PTY.spawn` with a block detaches the spawned process and leaves it
    running in background even after exiting the given block.  It is the
    responsibility of the caller to clean up the yielded IOs and PID.

    https://github.com/ruby/ruby/actions/runs/11148759246/job/30986064044#step:13:950
    ```
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 9 : #<File:/dev/pts/0>
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 10 : #<File:/dev/pts/0>
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 11 : #<File:/dev/pts/1>
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 12 : #<File:/dev/pts/1>
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 13 : #<File:/dev/pts/2>
    Leaked file descriptor: Reline::Test#test_tty_amibuous_width: 14 : #<File:/dev/pts/2>
    ```

    https://github.com/ruby/reline/commit/f9f90da9e4

commit 75c4ac3395f609cad55a0e30a59d61ecfd092952
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-10-03 11:33:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-03 11:33:48 +0900

    Update `IO::Buffer` documentation. (#11737)

    Update documentation.

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit e5c26b0f3222a499ccf1b7dddb1e61fb685d1a0a
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-10-02 22:10:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 09:40:57 +0900

    Stop skipping broken tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11763

commit 8877e9d922e159a9d121d5dc7e6d324f59a8b0ad
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-10-02 22:09:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-03 09:40:57 +0900

    Update rbs test

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11763

commit e77346153d68bb3846db07e213fc90567af76326
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-10-02 19:32:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 06:33:02 +0900

    [rubygems/rubygems] Remove compatibility code with old RubyGems

    https://github.com/rubygems/rubygems/commit/f11e42a3c5

commit d3e2d23c60ce4a91ff402aaac36b1072962f632d
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-10-03 03:49:16 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-10-03 04:43:35 +0900

    Fix compilation when RGENGC_CHECK_MODE >= 4

    the mark_function_data callback was moved from the ractor to the VM.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11770

commit e7cf2e76398fb226bf87a80ca72599e0b621f668
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-03 03:44:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-03 03:44:57 +0900

    [DOC] Fix indentation in documentation for Array#sort!

commit 77056674a048986257a3370862c255bc7363b610
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-03 03:28:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 03:39:20 +0900

    [ruby/prism] Fix up binding power for singleton method receiver

    https://github.com/ruby/prism/commit/f29ceae5cf

commit 253b76ec0a628b1dbf7529f19a7843595e700568
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-03 02:54:12 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-03 02:54:12 +0900

    [DOC] Tweaks for Array#max (#11768)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 09761e4789d04eff1f407dcb9afcc2f5f93b541f
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-03 02:46:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 02:47:02 +0900

    [ruby/reline] Fix incremental search cancel bug
    (https://github.com/ruby/reline/pull/748)

    https://github.com/ruby/reline/commit/bf0f8fa333

commit 8f4277f40594333a7dcad21fe0ef9138a909e777
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-03 02:36:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 02:36:35 +0900

    [ruby/reline] Add a timeout to cursor_pos
    (https://github.com/ruby/reline/pull/750)

    https://github.com/ruby/reline/commit/dd4a654e5d

commit 9f47f0eb3cd8a67b1a5708cbd3d105b5388af485
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-03 01:12:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-03 02:19:27 +0900

    [DOC] Tweaks for Array#length

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11767

commit 99620b98ba5a9e24a4996794441e1806af66908e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-03 01:02:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-03 01:02:18 +0900

    fake.rb: Copy options in RUBY_DESCRIPTION to the fake string

    The `RUBY_DESCRIPTION_WITH` macro has been removed already, so there
    are no more descriptions strings with rjit/yjit enabled.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11766

commit bf8a8820baeff59d507ce7d32a2f52e46500733f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-02 22:58:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-03 00:47:45 +0900

    Deduplicate RGENGC_CHECK_MODE into gc/gc.h

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11764

commit 2610bf01b26b437df6a3634ffb7629b83ea57e17
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-03 00:16:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-03 00:27:01 +0900

    [ruby/prism] Fix up doubled range in arguments

    https://github.com/ruby/prism/commit/aee2de91a3

commit 609fdde2c99ad6b59a05808b96886bb6b71f3b8d
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-03 00:12:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-03 00:12:01 +0900

    [DOC] Tweaks for Array.intersect? (#11744)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit a7c04a317f7e16dacab15f2ad9332c86edb0dd5e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-03 00:11:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-03 00:11:29 +0900

    [DOC] Tweaks for Array#intersection (#11745)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 75ab01f3b77e61091b0b47a57beeeb2db8a1ffe2
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-02 23:55:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-02 23:55:19 +0900

    [DOC] Tweaks for Array#last (#11748)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 2e2520ef10d4cbb86123adcb75e5aab664813bec
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-02 23:29:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-02 23:47:53 +0900

    [ruby/prism] Fix up beginless ranges in method definitions

    https://github.com/ruby/prism/commit/ab9d80987a

commit e41e4bacb1664e4f74e7c00f83e0bc81eee897c6
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-10-02 22:15:25 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-02 22:15:25 +0900

    [DOC] Tweaks for Array#inspect (#11743)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit c1d6d55f5af4b06372c6a016907a351e1ed7414f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-02 22:03:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-02 22:03:32 +0900

    Assert in only one place just after adding an argument

commit 6acf03618a937f5302fbd3043f9c3420a49f8cb3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-02 04:35:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-02 21:54:18 +0900

    Mark iseq keyword default values during compilation

    During compilation, we write keyword default values into the iseq, so we
    should mark it to ensure it does not get GC'd.

    This might fix issues on ASAN like
    http://ci.rvm.jp/logfiles/brlog.trunk_asan.20240927-194923

        ==805257==ERROR: AddressSanitizer: use-after-poison on address 0x7b7e5e3e2828 at pc 0x5e09ac4822f8 bp 0x7ffde56b0140 sp 0x7ffde56b0138
        READ of size 8 at 0x7b7e5e3e2828 thread T0
        #0 0x5e09ac4822f7 in RB_BUILTIN_TYPE include/ruby/internal/value_type.h:191:30
        #1 0x5e09ac4822f7 in rbimpl_RB_TYPE_P_fastpath include/ruby/internal/value_type.h:352:19
        #2 0x5e09ac4822f7 in gc_mark gc/default.c:4488:9
        #3 0x5e09ac51011e in rb_iseq_mark_and_move iseq.c:361:17
        #4 0x5e09ac4b85c4 in rb_imemo_mark_and_move imemo.c:386:9
        #5 0x5e09ac467544 in rb_gc_mark_children gc.c:2508:9
        #6 0x5e09ac482c24 in gc_mark_children gc/default.c:4673:5
        #7 0x5e09ac482c24 in gc_mark_stacked_objects gc/default.c:4694:9
        #8 0x5e09ac482c24 in gc_mark_stacked_objects_all gc/default.c:4732:12
        #9 0x5e09ac48c7f9 in gc_marks_rest gc/default.c:5755:9
        #10 0x5e09ac48c7f9 in gc_marks gc/default.c:5870:9
        #11 0x5e09ac48c7f9 in gc_start gc/default.c:6517:13

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11755

commit 3e1021b1448a5820d387795e065ae25b9da5abdf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-02 19:08:54 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-02 20:43:40 +0900

    Make default parser enum and define getter/setter

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11761

commit 4e219d8f7d3e76cf60e747dc16deb3452f297442
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-02 19:04:48 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-02 20:43:40 +0900

    Split appending options to ruby_description

    It's becoming tedious to map each format specifier to an argument.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11761

commit acbdb309417a8436ae542cc8948121d9baaf1fed
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 16:37:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-02 19:37:26 +0900

    [rubygems/rubygems] Fix error in one source when fetching dependency APIs clearing results from all sources

    https://github.com/rubygems/rubygems/commit/0549ddbcc5

commit bb97061f65d620b225d7638400642e41ad9ee692
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-02 17:31:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 18:03:18 +0900

    SKip failing tests that are caused by unknown IOError

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11756

commit 973d470288840839bb57bc7ba01047ec7bb702cb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-02 11:37:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 18:03:18 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11756

commit fe8d7ca8538d613e454e185f1f28c9958e825241
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-10-02 12:04:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 17:32:35 +0900

    [DOC] Alias Float#magnitude to abs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11760

commit b7a33aef9eeb93fcad997ddaa0e8991b9373a32b
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-10-02 11:52:04 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-02 17:07:46 +0900

    [DOC] Keep example styles consistent

    The examples of chaining for other methods, such as #tap have the dot at
    the start of the line, while #then has it at the end of the previous
    line. Updated this to have consistent style in Kernel docs.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11758

commit bae3d6813470bacbaac281616a07d9079697c882
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-10-02 11:51:00 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-02 17:07:46 +0900

    [DOC] Remove repeated examples for Kernel#then

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11758

commit 5eb7cbf4e3f96444ba6189ecf2d349f35747d5ce
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-10-02 11:43:59 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-02 17:06:02 +0900

    [DOC] Alias Kernel#yield_self to #then

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11757

commit d2ec0e8039ccb24af28570d4944db39050df817c
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-09-28 21:23:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:36:11 +0900

    [ruby/fiddle] test memory-view: ensure releasing in test

    It's for avoiding calling release on exit via GC. If it's happen, Ruby
    will be crashed because Fiddle::MemoryView's finalizer may refer other
    Ruby object. In exit phrase, the referred Ruby object may be already
    freed.

    https://github.com/ruby/fiddle/commit/02915f13de

commit c99108517655db33b45edd5d74e488e2f60dfe66
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-09-28 08:06:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:36:10 +0900

    [ruby/fiddle] test: remove fragile memory leak tests

    https://github.com/ruby/fiddle/commit/0bfcd02bef

commit 9d4e7b376aaeeea2676ca2691cdc52996bfb3e43
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-24 19:44:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:55 +0900

    Make spec file for env helpers more generic

commit 50001380846c7a3a5648005b80ac8cae7fbec8f0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-24 19:51:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:55 +0900

    [rubygems/rubygems] Fix `bundler/inline` resetting ENV

    https://github.com/rubygems/rubygems/commit/72d8d4dbba

commit a3929a9ca19d69f6ab2f26d4d8ed59c2612ac733
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-24 22:29:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:55 +0900

    [rubygems/rubygems] The `BUNDLER_SETUP` env should also be cleaned up

    https://github.com/rubygems/rubygems/commit/47b7e50f64

commit 49483904d8fcac3bd5ef9e897279563235583f4a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 22:53:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:55 +0900

    [rubygems/rubygems] Make sure MissingSpecVersionError#to_s prints exception message

    Gem command loading errors rely on `#to_s` on the raised exception, but
    in the case of `MissingSpecVersionError` that was only the exception
    name, making it printed twice and no message at all.

    Before:

    ```
    ERROR:  Loading command: install (Gem::MissingSpecVersionError)
            Gem::MissingSpecVersionError
    ```

    After:

    ```
    ERROR:  Loading command: install (Gem::MissingSpecVersionError)
            Could not find 'io-wait' (>= 0.a) - did find: [io-wait-0.3.0-java]
      Checked in 'GEM_PATH=/Users/deivid/Code/rubygems/rubygems/bundler/tmp/1.1/gems/system' , execute `gem env` for more information
    ```

    https://github.com/rubygems/rubygems/commit/d06944bb2f

commit 02d50d9cb17e8daccf788347593e97cae354ba4e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 22:52:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:54 +0900

    [rubygems/rubygems] Simplify command loading

    https://github.com/rubygems/rubygems/commit/95f60f0e60

commit 3d1eb62bf38e6d6691213018ef29a5680f9d2161
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 20:09:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:54 +0900

    [rubygems/rubygems] Standarize "ins" test command too

    https://github.com/rubygems/rubygems/commit/517e9a8669

commit 8e73609c7b4c7fdc35e47cefd8f696777c0da5e6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 19:58:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:34:54 +0900

    [rubygems/rubygems] Fix weirdness of "interrupt" test command

    https://github.com/rubygems/rubygems/commit/0a75590ac9

commit 63f31a9ed5e668b609ca5f46510e30e8b20739d0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-01 18:08:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-02 14:33:31 +0900

    [ruby/singleton] Fixed double assignment

    https://github.com/ruby/singleton/commit/9d3c77a868

commit 30775d0b085284a6e0a54bc71025622ecabd8591
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-10-02 11:57:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-02 14:13:00 +0900

    [DOC] Fix typo in Forwardable docs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11759

commit a8a921aef3e3f5a91425e53e4faf44d032a32a97
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-02 12:18:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-02 12:18:35 +0900

    [ruby/irb] Use correct binding in debug mode
    (https://github.com/ruby/irb/pull/1007)

    In debug command, IRB's context was using wrong binding.
    Some code colorization, command detection failed because binding.local_variable returned wrong value.

    https://github.com/ruby/irb/commit/68f718de21

commit 5edc32198895c02f014a778963eaa1297e5d618c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-01 06:41:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-02 04:47:20 +0900

    [DOC] Tweaks for Array#keep_if

commit e72e18b31d79b16b307c0bdf5b07416ff3ab595e
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-10-01 06:31:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-02 04:46:25 +0900

    [DOC] Tweaks for Array#join

commit 467ebbebd9b5a6a950bc2c52eb393ba9401ed826
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-02 03:21:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-10-02 04:42:44 +0900

    [ruby/prism] Disallow dynamic patterns in labels at top level followed by pipes

    https://github.com/ruby/prism/commit/ccc746f918

commit e320da60976f6818c8667afb98fe88142c3073d2
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-10-02 02:01:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-02 02:01:38 +0900

    [ruby/reline] Fix Reline crash with invalid encoding history
    (https://github.com/ruby/reline/pull/751)

    https://github.com/ruby/reline/commit/e9d4b37e34

commit ec230ac6432ea89f1ee53d82a62337d4883dc83a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-01 23:22:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-10-02 00:03:25 +0900

    Resync to latest Prism

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11753

commit 169a5ee99e1e8742e6821f8b846d39e90c3c9ea8
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-01 21:25:09 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-01 23:59:58 +0900

    Use user defined inline rules `user_or_keyword_variable`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11752

commit d86b4041b5eca43eea581e4af874e3fd46faaaa2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-01 22:45:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-01 22:51:05 +0900

    [ruby/prism] Disallow empty labels when not allowed

    https://github.com/ruby/prism/commit/399ee28dc1

commit 75568d23e90148490208e3ac5b719406b3e9f75f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-10-01 21:42:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-10-01 21:57:00 +0900

    [ruby/prism] Disallow &. after endless range

    https://github.com/ruby/prism/commit/498dd922d4

commit 3932d8a87ad1a9468bb8954dfe117f9bfb54505d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-30 23:14:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-01 21:48:51 +0900

    Replace heap_eden_total_slots with objspace_available_slots

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11740

commit 86ae409467e3674c142f012ee3b2288b0305d87c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-01 01:03:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-01 20:00:22 +0900

    [Bug #20764] Refactor argument forwarding in lambda

    Reject argument forwarding in lambda:
    - without parentheses
    - after optional argument(s)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11751

commit 35e124832e29b65c84d4e0e4e434616859f9bdf5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 22:49:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-01 18:46:35 +0900

    [Bug #20755] Frozen string should not be writable via IO::Buffer

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11738

commit 3ebc85e240c64849e8645ae9b6242abbd1a2b63a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-01 18:41:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 18:41:38 +0900

    Define RactorLocalSingleton on .mspec.constants

commit d109c7c620a9f426b9aa60f9ff3a227fd9794933
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-01 18:32:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 18:32:40 +0900

    Temporary disabled RactorLocalSingleton from constant leak check.

commit 0f00544984f0b2b7fefc7d9039b206f9415fd371
  Author:     rm155 <rohitmenon@verizon.net>
  AuthorDate: 2021-11-09 03:59:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:59:43 +0900

    [ruby/singleton] Make compatible with Ruby 2.4

    https://github.com/ruby/singleton/commit/0a77bb492d

commit 2f53c9fc62e48d31101ab3072085a1ace336c938
  Author:     rm155 <rohitmenon@verizon.net>
  AuthorDate: 2021-09-17 11:42:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:59:42 +0900

    [ruby/singleton] Clean VERSION freezing

    https://github.com/ruby/singleton/commit/f31334a736

commit d0c1eef51174701889767e1fed584d2d56d9f9c9
  Author:     rm155 <rohitmenon@verizon.net>
  AuthorDate: 2021-08-19 05:51:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:59:42 +0900

    [ruby/singleton] Only use RactorLocalSingleton if Ractor is defined

    https://github.com/ruby/singleton/commit/f684d36a47

commit a6e96df573b8180568d7365a258dddc36a246fd1
  Author:     rm155 <rohitmenon@verizon.net>
  AuthorDate: 2021-08-01 05:17:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:59:42 +0900

    [ruby/singleton] Change PerRactorSingleton to RactorLocalSingleton

    https://github.com/ruby/singleton/commit/1216a86303

commit 136b30b414b3fcaddf0505d5a72fed8b08b2da3c
  Author:     rm155 <rohitmenon@verizon.net>
  AuthorDate: 2021-07-31 04:45:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:59:42 +0900

    [ruby/singleton] Improve Ractor-compliance; Create PerRactorSingleton

    https://github.com/ruby/singleton/commit/ec4f66d9c1

commit 76111af632a0689cbe56787b0fb1ba4c8bbbe2e0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-01 17:08:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:35:38 +0900

    expand relative path

commit 4822220e6bab0991a9acc7fc7731d08b67fde8ad
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-10-01 16:52:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-10-01 17:35:38 +0900

    Pass MSPECOPT from compilers.yml

commit af63b4f8b7a659ab78a75af97416c042ca357a3b
  Author:     whtsht <85547207+whtsht@users.noreply.github.com>
  AuthorDate: 2024-10-01 08:00:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-10-01 08:00:54 +0900

    Return an Iterator Instead of a Vector in `addrs_to_pages` Method (#11725)

    * Returning an iterator instead of a vec

    * Avoid changing the meaning of end_page

    ---------

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 30507a4aed83ee0712fbe84875b1d9bec1f1dd70
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-10-01 02:37:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-01 03:23:32 +0900

    Move RUBY_INTERNAL_EVENT_FREEOBJ into GC implementation

    Instead of calling rb_gc_event_hook inside of rb_gc_obj_free, it should
    be up to the GC implementation to call the event.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11742

commit 292c9793abb20242b12973c5fb9db5c612e2a90a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-10-01 02:55:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-10-01 02:55:16 +0900

    Remove no longer needed excludes files

commit d592ddd5e619ffe1691b8050de2ccc3e1bd6e080
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-09-30 01:39:23 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-10-01 02:12:56 +0900

    Fix compile issue with a short-circuited if/unless condition and `defined?`

    This caused an issue when `defined?` was in the `if` condition. Its
    instructions weren't appended to the instruction sequence even though it was compiled
    if a compile-time known logical short-circuit happened before the `defined?`. The catch table
    entry (`defined?` compilation produces a catch table entry) was still on the iseq even though the
    instructions weren't there. This caused faulty exception handling in the method.
    The solution is to no add the catch table entry for `defined?` after a compile-time known logical
    short circuit.

    This shouldn't touch much code, it's only for cases like the following,
    which can occur during debugging:

        if false && defined?(Some::CONSTANT)
        "more code..."
        end

    Fixes [Bug #20501]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11554

commit 2a58092360c70caf7544544c95549b4c83e81237
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-30 23:03:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-10-01 01:58:43 +0900

    Remove unneeded prototype for objspace_available_slots

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11739

commit 6c9b5c16157ae7c9bb551e573e8fb60d2422eaf6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-30 23:51:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-10-01 00:36:29 +0900

    Sync Prism with latest main branch

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11741

commit c1c9ba77caf7edc6e57252a26afffa849cbe1277
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-30 23:15:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 23:33:58 +0900

    [ruby/prism] Require a delimiter for singleton classes

    https://github.com/ruby/prism/commit/fd58d6a9ea

commit 6b8078cc038e926969ec351bceda26182c04654d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-30 10:03:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-30 22:09:09 +0900

    Don't create empty string for interpolation

    We don't need to create an empty string for interpolation unless it is
    the only element.

    For example:

        "#{hello} world"

    Before:

        0000 putobject                              ""                        (   1)[Li]
        0002 putself
        0003 opt_send_without_block                 <calldata!mid:hello, argc:0, FCALL|VCALL|ARGS_SIMPLE>
        0005 dup
        0006 objtostring                            <calldata!mid:to_s, argc:0, FCALL|ARGS_SIMPLE>
        0008 anytostring
        0009 putobject                              " world"
        0011 concatstrings                          3
        0013 leave

    After:

        0000 putself                                                          (   1)[Li]
        0001 opt_send_without_block                 <calldata!mid:hello, argc:0, FCALL|VCALL|ARGS_SIMPLE>
        0003 dup
        0004 objtostring                            <calldata!mid:to_s, argc:0, FCALL|ARGS_SIMPLE>
        0006 anytostring
        0007 putobject                              " world"
        0009 concatstrings                          2
        0011 leave

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11728

commit 637067440f74043c6d79fc649ab8acf1afea25a5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 16:24:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 20:39:14 +0900

    [Bug #20752] Slice of readonly `IO::Buffer` also should be readonly

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11735

commit b93c51c114c2b3c8f9845f3a7bd2c936baf0996d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-30 19:40:23 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-30 20:35:46 +0900

    Free a buffer allocated by realpath

    8350b48cfa7d344d9e2dc9748c26607c1b89d7df introduced a memory leak bug.

    Will fix [Bug #20773]
    `loop { File.realpath("foo") }` caused memory leak.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11736

commit 5ed67f48261ee0d50f12115908dfb9d3463e5fab
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-09-30 20:32:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 20:32:45 +0900

    [ruby/rdoc] Only let browser search through source code until it's
    expanded
    (https://github.com/ruby/rdoc/pull/1181)

    Something that's been bothering me is that while the source code is
    not visible by default, the browser still jump to it when searching.
    Adding the `visible` property prevents this.

    Test it out yourself:
    * `bundle exec rdoc`
    * open `_site/index.html`
    * Search for `NameError`

    Before, you will get a match from `load_yaml` source code, after
    you only get the match when that methods source code is expanded.

    https://github.com/ruby/rdoc/commit/003126cc23

commit 81d26814be036a7b15c587d1e1832d9ddd24601e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-30 19:10:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 19:10:16 +0900

    Update test args with bundled gems. webrick has been removed that targets

commit 8cd36a6dab170f4127c58c07b1a388dd3813fb7a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-30 18:39:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 18:53:21 +0900

    Don't warn the bundled gems that are migrated at Ruby 3.0.

    We should stop warnings at some point. I decided to that period EOL-ed versions.
    ex. In 2024, Ruby 3.0 is EOL. we removed webrick, rexml, rss from warning targets.

commit c30a3ed027f2ea03d98aedf677368542ee6ca873
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 18:17:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 18:17:42 +0900

    Fix the last character index in an assertion

    Also, when `RUBY_DEBUG` is enabled, objects allocated in shared-gc
    fail at `rb_ractor_confirm_belonging`, so assert it always.

commit ac2786757e1920fb2366a7331650acf6e328b2d6
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-24 20:17:49 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-30 18:04:41 +0900

    Use Named Reference

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11673

commit 044e57ed7c34bfe2cea6e7dcc685cc0a4050c86f
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-24 20:05:12 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-30 18:04:41 +0900

    Implement SPLAT NODE keyword locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11673

commit 239c1c621e92f519498e421cf825f44667c0e56c
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-09-30 15:59:32 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-09-30 17:43:56 +0900

    LLVM 20 begun

    see also https://github.com/llvm/llvm-project/commit/10c6d6349e51bb245b9deec4aafca9885971135b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11733

commit 6abed7eae993ca3a7f17dab3fc4f0adedf90a4af
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-30 15:47:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 16:20:33 +0900

    Test with -O3 is flaky now. I disabled it same as before.

commit 3a273c4742e9bf04bc690523fb485860ae4d59e7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 14:27:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:09:16 +0900

    [rubygems/rubygems] Fix error when changing a path source to a git source if frozen mode

    https://github.com/rubygems/rubygems/commit/4c79ab9b2e

commit 1e0076368832129016814604918013d70383fde9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 14:26:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:09:16 +0900

    [rubygems/rubygems] Fix duplicated spec names

    https://github.com/rubygems/rubygems/commit/26f6600197

commit 7d318c2cb267fcf7e1f475e37dff473f5e74f1a8
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-09-27 00:24:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:08:48 +0900

    [rubygems/rubygems] Fix `stub.activated?` sometimes returning false after activation under bundler

    Closes https://github.com/rubygems/rubygems/pull/8068

    This issue only occurs if the underlying stub is a gem stub:
    https://github.com/Earlopain/rubygems/blob/f56098d8a193dcb94584d721e82b8cff397e5265/bundler/lib/bundler/stub_specification.rb#L109-L112

    https://github.com/rubygems/rubygems/commit/9b0152b3d5

commit dbe69a466f71b5f0e4057d48e13686914ffcec32
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 01:44:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:08:25 +0900

    [rubygems/rubygems] I _think_ this workaround is no longer necessary

    https://github.com/rubygems/rubygems/commit/6a76fedfd0

commit 060932af989831f31c562781385100f196d63d4d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 00:12:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:08:25 +0900

    [rubygems/rubygems] Fix old cache format detection when application is not source controlled

    https://github.com/rubygems/rubygems/commit/b2adcc0173

commit 82f250af45f676b3d0a22f00d01cd29bfaa2761c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 18:24:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:07:58 +0900

    [rubygems/rubygems] `gem cleanup` no longer needs to reset paths

    Since `Gem::Uninstaller` no longer changes paths either.

    https://github.com/rubygems/rubygems/commit/427059d45f

commit d4ac5c573b3b57dc4e62b684be297269defceba2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 18:22:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:07:57 +0900

    [rubygems/rubygems] Don't add duplicated specs to unresolved specs

    This could happen when a regular gem shadows a default gem.

    https://github.com/rubygems/rubygems/commit/9ef70dd1f7

commit 73d60df6e015d20b418d6307965251cbaec18e68
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 18:35:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-30 14:07:57 +0900

    [rubygems/rubygems] Don't list duplicated version in `Gem::Specification.reset` warning

    https://github.com/rubygems/rubygems/commit/e6e3db821f

commit 1b6c234fec2addd74a4fe2349edd853adde91df8
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-28 17:25:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 13:04:49 +0900

    s/reproducable/reproducible/

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11718

commit 3fe59b04d6ed099c92d749a948f452f562cdae51
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-30 12:03:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 12:03:02 +0900

    -l option of 7z is unknown switch with the `ubuntu-latest`.

    https://github.com/ruby/actions/actions/runs/11095032727/job/30823174026#step:3:349

commit 3a9e48b9a4860022f43d8101c0f3249299437886
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-30 11:35:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-30 11:35:59 +0900

    Fixed warning condition with LoadError

commit 28a01e306abbafce2b5586a7d9aacc8e795f0f02
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 09:40:34 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-30 10:27:30 +0900

    Ruby exception cannot work here

    Just show error messages then ignore the invalid library.

commit 03ca99c93beece993c607a01dc99425d70eba619
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-30 10:22:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-30 10:22:43 +0900

    [DOC] Tweaks for Array#hash (#11704)

commit 5be11c1d1b712db4f77d5acea3d2fd493a6853ff
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-30 10:21:55 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-30 10:21:55 +0900

    [DOC] Tweaks for Array#first (#11687)

commit 116395d31522886fdac52543bfb391ce3a84a34a
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-30 10:21:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-30 10:21:26 +0900

    [DOC] Tweaks for Array#flatten! (#11689)

commit 154ec2d242c9f3063d810598d401ed297e4777fd
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-30 10:21:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-30 10:21:11 +0900

    [DOC] Tweaks for Array#insert (#11709)

commit 9b4a497456b3f538c4d3237f941f634f97e0e30e
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2024-09-29 03:59:02 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-30 08:01:18 +0900

    Fix loading of nonascii script name on Windows

    Since the prism parser was enabled by default, loading scripts with nonascii characters somewhere in the script path is no longer working.
    It only works when the codepage was switched to 65001 (UTF-8).

    This patch doesn't change the encoding of __FILE__. It is still in locale encoding.
    That's why pm_load_file() is called with UTF-8 script name and pm_parse_file() with locale encoding.

    The loading of nonascii script names is part of the test-all, but it doesn't trigger the failure on GHA, since it is using cp 65001.
    On other codepages it fails with:

    [53/71] TestRubyOptions#test_command_line_progname_nonascii = 0.04 s
      1) Failure:
    TestRubyOptions#test_command_line_progname_nonascii [C:/Users/Administrator/ruby/test/ruby/test_rubyoptions.rb:1086]:
    [ruby-dev:48752] [Bug #10555]
    pid 1736 exit 1
    | C:\Users\Administrator\ruby\ruby.exe: No such file or directory -- �.rb (LoadError)
    .

    1. [1/2] Assertion for "stdout"
       | <["\xFF.rb"]> expected but was
       | <[]>.

    2. [2/2] Assertion for "stderr"
       | <[]> expected but was
       | <["C:\\Users\\Administrator\\ruby\\ruby.exe: No such file or directory -- \xFF.rb (LoadError)"]>.

commit a0838a39021ccb0d38d69c2c3e6793290b979747
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 00:20:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 00:20:35 +0900

    Raise fatal error instead of BUG

    Failures due to the external setting is not a bug of ruby itself.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11726

commit 5139a574aa00e034bfb1dbdc9d97aca207916817
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 00:19:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 00:19:16 +0900

    Make directory for shared-GC libraries at build

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11726

commit 9d60480094b076e2697248238787b589e3f69ab7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-30 00:01:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 00:03:14 +0900

    CI: Remove `SHARED_GC` compilation

    It is checked in ubuntu.yml.

commit 5e466ad3f74dd8dbfd9e5ae772bb42d61b0fd0e3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 23:13:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-30 00:03:14 +0900

    CI: Remove `ENABLE_PATH_CHECK` compilation

    As `ENABLE_PATH_CHECK` is defaulted to 1 on other than DOSISH and
    Cygwin, setting this macro to 1 on Ubuntu changes nothing from the
    default.  As for `ENABLE_PATH_CHECK=0` tests, we have real CI
    platforms already.

commit 1f6d2e77d9be9a5a829e60908d21d621f4e1ceb0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 23:07:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 23:07:16 +0900

    Remove leading spaces from `LIBPATHFLAG` and `RPATHFLAG`

    Join with a space in `MakeMakefile#libpathflag` instead.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11724

commit 9138b388eea48e6f1c005a9a3071aed72799f0cc
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-09-29 22:24:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-29 22:24:09 +0900

    Update bundled gems list as of 2024-09-29

commit 52e40aeab60e46bc59e34e20b80c5c7f4abb889f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 21:38:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:38:14 +0900

    Bump actions/checkout

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11723

commit f5d9d9b5f8bce3c1f7003221e02877fcf7e9b727
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:48:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:26 +0900

    win32/sspi: Use `start_with?` to see prefix

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11722

commit 25eb9bded8bd60dcf186f393acf84a4e623b60e1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:33:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:26 +0900

    win32/sspi: Rafactor pack/unpack

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11722

commit 30230ed9e66cfbb97f8ba6859c8313061de7d58b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:31:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:26 +0900

    win32/sspi: For Ractor use a constant instead of a class variable

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11722

commit fc2f196cb8542a81bf271cdb90e0189c54321103
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:30:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:26 +0900

    win32/sspi: Fix missing A suffix in an API constant name

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11722

commit b7bca0ebdc5a48c487bc4fa42e749bb23f66bca0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:24:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:26 +0900

    win32/sspi: Fix Win32::SSPI::SSPIResult#== with Integer

    The values of `@@map` are `Symbol`s and `@value` should be an
    `Integer` since unpacked as unsigned long, so this comparison should
    be false always.  Probably comparison with `Symbol` was intended.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11722

commit 1179c86384bb6211d45bf721651b100dca1fb53e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 22:22:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 21:00:25 +0900

    win32/sspi: Already Fixnum has been removed years ago

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11722

commit 65a0795c3f92be5bff27211600cf3a832ab43b2f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 19:09:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 19:09:59 +0900

    [DOC] Mention block mode of `String#unpack`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11721

commit e7144af7504aca614b8f9e04aba848afd3e70945
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 19:07:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 19:07:16 +0900

    [DOC] Refine about offset directives

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11721

commit 066ac0fdc2703ef627dab19cbb275d9aa28857a3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 18:53:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 18:55:15 +0900

    Expand buffer at once then fill it at once

commit 3b43585a84978e9ca9b474ba55087edfd0863147
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 18:07:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 18:45:47 +0900

    Extract common code from `pack_pack` and `pack_unpack_internal`

commit e1889dd7dedb8afc8571de01f363366b1f8f1a24
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-29 11:42:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-29 11:42:10 +0900

    Assertions should not have side effects

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11720

commit 01ff65af32a57fda3e9c993bad7761788260e2e5
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-27 21:02:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-29 10:13:21 +0900

    [DOC] Tweaks for Array#replace

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11708

commit 3986b5fef5f813573f8b60b0ab6644b445e338eb
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-27 06:27:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-29 10:12:17 +0900

    [DOC] Tweaks for Array#include?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11705

commit d64528c69564989a9a72e398ba05a4c2a2eefff1
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-27 04:40:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-29 09:59:36 +0900

    [DOC] Tweaks for Array#freeze

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11703

commit 5a7b66fa97d0a7eee4c9a2e9ce8196f91539986f
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-29 09:58:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-29 09:58:14 +0900

    [DOC] Tweaks for Array#flatten (#11688)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 87212a54862e86f1fa224e68bd3bdb1f81b7da5d
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-29 04:34:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-29 06:12:26 +0900

    [rubygems/rubygems] Improve Gem::SpecFetcher tests.

    https://github.com/rubygems/rubygems/commit/6e0456583b

commit 5c18b63d0058d3d4acfce3588c3b47f3ae6c46bd
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-29 03:57:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-29 06:12:25 +0900

    [rubygems/rubygems] [tests] Don't expect suggestions that aren't actually helpful.

    https://github.com/rubygems/rubygems/commit/e7d6b92e31

commit 47a3482a414013bdbbcb9da4bc3bea7451977009
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-09-28 10:13:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-29 06:12:25 +0900

    [rubygems/rubygems] Remove code that makes suggest_gems_from_name give worse results.

    https://github.com/rubygems/rubygems/commit/09ec67ffdf

commit b9e225fcbfd045e65f1a95bcef16d97cbfb97287
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-28 13:15:29 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-28 22:37:44 +0900

    Allow dot3 in defs singleton

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11716

commit 8f678d69895d8b0562a52925a1840b698e021f56
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-27 02:32:27 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-28 20:53:09 +0900

    Implement OP_ASGN2 NODE locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11702

commit 027ef60500c43fecbd4784cf24a99f6955606567
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-28 02:35:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-28 02:45:22 +0900

    [Bug #20763] Add tests

commit addb5fea94ea4011fe7d593ee3c59d6d07803839
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-28 02:06:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-28 02:43:37 +0900

    Fix up compiling popped ranges with non-optimizable bounds

    Fixes [Bug #20763]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11714

commit 7e19904c88fde024051333dfbd534b9fd3b26bf9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-28 00:20:09 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-28 01:59:33 +0900

    Remove on `RSTRING_END` dependency from parser

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11713

commit d1324170b6c25e893b0dec4d7829e6d561b15cf3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-25 23:59:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-28 01:49:32 +0900

    [rubygems/rubygems] Warning about PATH in `--user-install` mode is only necessary for gems with executables

    https://github.com/rubygems/rubygems/commit/2fe0f452a2

commit b873787a42e4ec23dab3dbc5dded95c4804472d2
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-09-27 23:45:36 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-09-27 23:45:36 +0900

    Update recommendations regarding parsing Ruby code now that Prism is stable

commit 94ad2c3fe9e75f08972f5952c5ba8307172692c2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-27 21:16:52 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-27 23:10:14 +0900

    Reduce creating `rb_parser_string_t` repeatedly for literals.

    Since #11698, `parser_str_new` makes `rb_parser_string_t` and `VALUE`
    but discards the former, and then `STR_NEW3` makes the same thing
    again.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11710

commit 710d916c32bea6c2c91a0a052ad4b19027f1f6b7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-27 21:15:12 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-27 23:10:14 +0900

    Add wrapper macros of `rb_parser_str_buf_cat`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11710

commit 098649bc59af5ece0b947416cfd3185be3e9a462
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-09-27 22:58:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-27 22:58:36 +0900

    [ruby/rdoc] Add home page link to output message
    (https://github.com/ruby/rdoc/pull/1165)

    The link is clickable in the terminal and opens the home page in the browser

    https://github.com/ruby/rdoc/commit/b7d580afab

commit 7f83bd3732b9ecb66655416a58b4c2bf329afa20
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-09-26 22:04:49 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-27 19:34:35 +0900

    Reduce `is_ascii_string` function dependency for parser

    Changed to use `rb_parser_is_ascii_string` function instead of `is_ascii_string` function

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11698

commit c1ee5ea28f1684250b1386d8ac9d1e754f54a79e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-27 18:36:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 18:39:05 +0900

    Avoid to unintentional Bundler definition by Bundler::Definition.no_lock

commit ff3f61556fb62d12d57d017f4c54f1a8fd5208be
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-27 17:51:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 18:39:05 +0900

    Only warn fiddle as optional dependency

commit eff16d93025d354de08cb40a11a51acffdf26e57
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-27 02:01:08 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-27 18:20:00 +0900

    Implement OP_ASGN1 NODE locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11701

commit a70adce1ce5fae8eaae385214ac0d2e7d17c1103
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-05 05:01:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 17:03:45 +0900

    Only `warn` about bundled gems when require succeeds

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11550

commit a896c4cc532b9192732af02ac5cb84d3b5e7f82d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-27 13:25:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 14:39:59 +0900

    RGENGC_FORCE_MAJOR_GC is disabled same as current HEAD

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11217

commit b63f3c9d9edef09c0b6ad821dadc03cd94b1b978
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-27 12:12:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 14:39:59 +0900

    Use user.login instead of actor

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11217

commit e58c7a9330e90df3e94352d7fa9c33533a989eaf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-27 11:59:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 14:39:59 +0900

    Applied https://github.com/ruby/ruby/pull/11574

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11217

commit 52bb90f92d9ebc8c06d1adf364b0e55c746c46b2
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-12 12:02:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 14:39:59 +0900

    sequential execution of some CI tasks

    reduced parallelism from some 50-ish to 10-ish so that other jobs
    can run.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11217

commit d7e5133d6d9ae882a5f8e1ae85d75104a1e36ec8
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-09-27 12:39:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-27 13:31:47 +0900

    [ruby/benchmark] Add example for Benchmark.realtime

    https://github.com/ruby/benchmark/commit/0f278be6c1

commit 3209bb950b07e80a5c32f68e445718be03eb44f0
  Author:     Nithin Bekal <nithinbekal@gmail.com>
  AuthorDate: 2024-09-27 12:37:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-27 13:31:47 +0900

    [ruby/benchmark] Specify unit of time for Benchmark.realtime

    https://github.com/ruby/benchmark/commit/388236685c

commit dc8fa59fb0f1844bb6c44ccba5982b9253f56da0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-27 13:14:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-27 13:14:01 +0900

    Skip non-existent directories in PATH

commit 0c25eb4ffe50d6628dbed0a20e310afeb5993825
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-26 21:12:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 09:58:32 +0900

    s/interation/iteration/

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11696

commit a50a7c70702c51cca9058b1f070a8e32c64b9774
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-26 21:13:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-27 09:58:17 +0900

    s/erorr/error/

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11697

commit 0209b9554dc86b95018b454d81ad48d1a9c6af27
  Author:     Yudai Takada <t.yudai92@gmail.com>
  AuthorDate: 2024-09-27 01:03:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-27 01:03:40 +0900

    Extract `setup_branch`

    From duplicate code in `decl_branch_base` and `add_trace_branch_coverage`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11699

    Merged-By: nobu <nobu@ruby-lang.org>

commit 1172d65926236e866ff1eb330e510ac2113ddc17
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-27 01:00:34 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-27 01:00:34 +0900

    [DOC] Improve description of `LoadError#path` and `SyntaxError#path`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11684

    Merged-By: nobu <nobu@ruby-lang.org>

commit 9a966a09cb553991b33a642a5583c821ac99dcc5
  Author:     Daniel Insley <dan.insley@eventtemple.com>
  AuthorDate: 2024-09-27 00:18:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-27 00:47:51 +0900

    [ruby/prism] Fix incorrect reference to AlternationPatternNode as non-void expressions

    https://github.com/ruby/prism/commit/68de31919e

commit a73d80db41ca3681bf316cb7741a254f6ba5a505
  Author:     Daniel Insley <dan.insley@eventtemple.com>
  AuthorDate: 2024-09-26 09:40:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-27 00:47:51 +0900

    [ruby/prism] Add fields documentation for AliasMethodNode and AlternationPatternNode

    https://github.com/ruby/prism/commit/6953daebde

commit 1f431b63a2aa4b5c3827de8fbdc6001f6d4ab252
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 23:28:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 23:57:02 +0900

    [ruby/prism] Reject non-assoc ranges with subsequent operators

    https://github.com/ruby/prism/commit/976a3cd0a5

commit 49057f36efd894663cc879be08ada042b287e93a
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-09-26 22:38:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 22:38:04 +0900

    [ruby/irb] Bump version to v1.14.1
    (https://github.com/ruby/irb/pull/1009)

    https://github.com/ruby/irb/commit/04cd2317ef

commit 87f4999b4f838cdbede34d76d85fb046969ad888
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-26 18:54:29 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-26 20:01:20 +0900

    s/accomodate/accommodate/

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11694

commit cc1e1e77d50833aa5a64f6c399e3def637294f43
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-26 18:54:15 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-26 20:01:20 +0900

    s/useable/usable/

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11694

commit 3e742579bb5626e1d48c2c2e65cd448399deae9b
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-09-24 12:21:15 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-26 19:20:57 +0900

    Remove rb_str_cat for parser

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11672

commit 2a65f4c90713c3738993aba34b03eeed02ac7a87
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-26 18:17:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-26 18:17:13 +0900

    Extract `mutable_CFString_new`

    From duplicate code in `rb_CFString_class_initialize_before_fork` and
    `rb_str_append_normalized_ospath`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11695

commit 71b253cdf377acf04fb8bd98221f48d7087946de
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-26 17:10:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-26 17:53:21 +0900

    Added LARCH_REG_FP to dump results

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11693

commit a07bf6d5ffddff95eb2f83d5950b759fb4285d2e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-26 17:09:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-26 17:53:21 +0900

    Use constants for register numbers

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11693

commit bdee1772b28127b07c603bd17605f0f2fb67a9ff
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-26 17:08:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-26 17:53:21 +0900

    Removed duplicated dumps

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11693

commit b2ee760f306a24419d8ae0f4927d731bebbd76ac
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-24 22:08:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-26 17:07:20 +0900

    Update test dependencies

commit b7674a128541dcc5a304bf255e0442aea5dd2d67
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-26 00:26:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 16:59:35 +0900

    [rubygems/rubygems] Get specs to run on JRuby and make them pass

    Turns out we were not running specs on JRuby, so we introduced a
    failure. Seems fine to skip.

    https://github.com/rubygems/rubygems/commit/4e2d6affb3

commit 8cd295ecf09e9419de0e3f3d4eecabfb430f9df1
  Author:     David Carlier <devnexen@gmail.com>
  AuthorDate: 2022-03-24 06:47:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-26 16:34:22 +0900

    regparse possible memory leak fix proposal

  Notes:
    Merged: https://github.com/ruby/ruby/pull/5700

commit a3fd24e22e4f7c38db891e1ddf8ea3461d28659f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-26 05:24:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 13:56:36 +0900

    [ruby/digest] Import patches for old macOS from MacPorts

    https://github.com/ruby/digest/commit/07a5db2f77

commit 8350b48cfa7d344d9e2dc9748c26607c1b89d7df
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-26 10:32:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-26 10:32:30 +0900

    Import patches for old macOS from MacPorts

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11690

commit cab81d1bbaa459f686b9da76cbe9822caadc6393
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 04:37:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 04:43:47 +0900

    [ruby/prism] Update templates/include/prism/ast.h.erb

    https://github.com/ruby/prism/commit/dc7164e21c

commit fa7fef270df8b406970711ea5bddcb2e8e85001e
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-31 04:31:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 04:43:47 +0900

    [ruby/prism] Fix rendering of type overview docs

    https://github.com/ruby/prism/commit/d42bc309cc

commit be331c0eeb5bbc39aa9fe28c8f26357f454e2e2c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 04:06:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 04:19:18 +0900

    [ruby/prism] Fix up more error messages to more closely match parse.y

    https://github.com/ruby/prism/commit/988ac82187

commit 8bf55328da72b1512b41496e6085a607b04a0d05
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-26 03:42:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-26 03:42:40 +0900

    [DOC] Tweaks for Array#find_index (#11686)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit b97ff7dfdae59e688609c008a459cf264362490f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 03:23:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 03:35:05 +0900

    [ruby/prism] Fix up lex difference when ~ heredoc with 0 dedent and line continuation

    https://github.com/ruby/prism/commit/84a9251915

commit 12cf9f2ae57f84278cbee8bc20d2af697efc66f1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 03:16:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 03:34:51 +0900

    [ruby/prism] Fix up void value expression checking for rescue

    https://github.com/ruby/prism/commit/509ff88e92

commit 768ceceb12c7947030132007b91d5bdb97a8839c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 02:23:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 02:33:51 +0900

    [ruby/prism] Disallow label in parentheses

    https://github.com/ruby/prism/commit/b624e09cc6

commit 6a168fbf41589820018a58e9a55b75103486d99a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 00:35:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-26 01:23:29 +0900

    Potentially fix ASAN checks for GC-ing operand

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11685

commit 505206b8acff856f3829be1e16167e74ea5900dc
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-26 01:18:13 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-26 01:18:13 +0900

    YJIT: Cache Context decoding (#11680)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit a6ea4ddb4e992e11a016f22a7c93eece0eca6e92
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 01:17:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 01:17:08 +0900

    [ruby/prism] Remove use of __assume to simplify

    https://github.com/ruby/prism/commit/4daf58f7a0

commit bf6109c8cc7ea9983ca88ae84a99d57155d847ee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-26 01:08:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 01:08:13 +0900

    [ruby/prism] Fix up windows use of __assume

    https://github.com/ruby/prism/commit/9fd0c0901e

commit 57688cd62589d5c6021a0299c036d7785e64aad5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-25 01:52:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-26 00:47:08 +0900

    [ruby/prism] Support a max depth to protect against malicious payloads

    https://github.com/ruby/prism/commit/a474017bbe

commit b77772496a9e2598366554086e6611fd37b85ec8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-26 00:14:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-26 00:14:14 +0900

    Don't check poisoned for immediates

commit c32fd1b5ed6709dfbed3d19cac881886576e231b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 00:56:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-26 00:00:04 +0900

    Add debugging code to vm_objtostring in ASAN

    To debug this issue on CI:
    http://ci.rvm.jp/logfiles/brlog.trunk_asan.20240922-002945

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11667

commit ecbc4a67c973f512a5876c44efc2ec03ad92b1b6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-25 22:52:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-25 22:52:47 +0900

    Fix up new types for block arguments and splats in prism compiler

commit cafd666adfddf5e623ffc468306610aadb7e294c
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-08-29 05:32:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-25 22:46:31 +0900

    [ruby/prism] Type every node field and mark on-error-only types explicitly

    * For Loader.java, do not deserialize the AST if there are errors, so then Java nodes only have non-error types for fields.

    https://github.com/ruby/prism/commit/ae78e3c605

commit 407f8b871668b257f28303a74cf38cc2b53ca965
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 02:55:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-25 21:56:14 +0900

    Fix memory leak in Ripper for indented heredocs

    The allocated parser string is never freed, which causes a memory leak.

    The following code leaks memory:

        Ripper.sexp_raw(DATA.read)

        __END__
        <<~EOF
          a
            #{1}
          a
        EOF

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11669

commit 3830bca5edd6964131971866c80107c89fac5362
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-25 17:36:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-25 17:36:03 +0900

    TestProcess#test_daemon_noclose is only working with macOS 15.1 beta, we should skip with macOS 15.0

commit 0283b5ddb4f3b90ceb1bde9cf76ae57d72ea80bb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-10 15:11:16 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-25 11:18:41 +0900

    Check syntax warnings in built-in scripts

  Notes:
    Merged: https://github.com/ruby/ruby/pull/9915

commit 0d16c36d0ab2afa2ec79b72b229e69c141ebdaba
  Author:     Josh Cooper <joshcooper@users.noreply.github.com>
  AuthorDate: 2023-02-24 06:15:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-25 10:43:31 +0900

    [win32/registry] Fallback to UTF-8 for unknown codepages

    There are some codepages like cp708 for which no ruby encoding exists:

        $ ruby -e "Encoding.find('cp708')"
        Traceback (most recent call last):
            1: from -e:1:in `<main>'
        -e:1:in `find': unknown encoding name - cp708 (ArgumentError)

    win32/registry uses ENCODING to transcode error messages and expand environment
    variables from UTF-16LE, so using UTF-8 seems like the best choice and is better
    than a hard failure.

    This should resolve [Bug #13831]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/7366

commit c94ea1cccb24a41a5cd5c7e90aec04cb477b367e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-25 10:40:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-25 10:40:14 +0900

    Fix size modifier for `size_t`

commit 509b577e0126d92f37ae45d83863c449f8666be1
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-24 14:49:00 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-25 09:15:43 +0900

    Implement BLOCK_PASS NODE keyword locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11663

commit 31a88d1554550a7c70fd63991051890c4fd71ac7
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-11 16:17:15 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-25 09:06:42 +0900

    Implement RETURN NODE keyword locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11589

commit 6b46060fc29055b1e1d38da83959f4f2c98edfb1
  Author:     masatoshi_moritsuka <yakiyaki_ikayaki@yahoo.co.jp>
  AuthorDate: 2023-01-01 19:15:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-25 07:06:42 +0900

    doc: Remove description of experimental warnings related pattern matching from documentation

    Ruby 3.2.0 has been released and all experimental warnings about pattern matching have been removed.
    Experimental warnings about pattern matching are no longer output, so I remove description about it from documentation as well.

    cf. https://bugs.ruby-lang.org/issues/18585
    cf. db6b23c76cbc7888cd9a9912790c2068703afdd0
    cf. https://twitter.com/k_tsj/status/1606956336037900289?s=20&t=-_PSYLhYPtYsB9FZhtXl5A

  Notes:
    Merged: https://github.com/ruby/ruby/pull/7052

commit a80a9cf9ef268d6df44097535cae690636255c8a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-25 04:28:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-25 06:08:17 +0900

    Further split up pm_compile_node to work on -O0 builds

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11679

commit d5241414c551598ff1389fa7ec07179d46d3db7e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-25 05:35:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-25 05:35:43 +0900

    [DOC] More on Array#fill (#11610)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit d31378dc919cd3f39ee194f452b9dbc5942bb89d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-25 04:20:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-25 04:25:40 +0900

    [ruby/psych] Use `String#match?` over `String#=~` when applicable

    Save on allocating useless `MatchData` instances.

    https://github.com/ruby/psych/commit/b2d9f16e58

commit e956ce32c8f7d1b1c57ed109f91979173ff22c36
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-25 02:45:12 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-25 03:54:55 +0900

    Use rb_bug instead of UNREACHABLE for assertions

    UNREACHABLE uses __builtin_unreachable which is not intended to be used
    as an assertion.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11678

commit c51d8ff458e00b34e03b1fd5ac9bb0665c5a516a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-25 02:20:35 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-25 03:54:55 +0900

    Fix undefined behavior in String#append_as_bytes

    The UNREACHABLE macro calls __builtin_unreachable, which according to
    the [GCC docs](https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005funreachable):

    > If control flow reaches the point of the __builtin_unreachable, the
    > program is undefined.

    But it can reach this point with the following script:

        "123".append_as_bytes("123")

    This can crash on some platforms with a `Trace/BPT trap: 5`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11678

commit 4f0fe97995cef41a36a229b0ace89263c4e3224f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 02:59:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-24 23:23:45 +0900

    Free scope node in prism

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11670

commit 4113dcc4aec8943edcb0d48e596a61b815a18310
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 02:58:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-24 23:23:45 +0900

    Fix memory leak in constant ID list in prism

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11670

commit b48add3c65c394b2314eb699441f1a1c27b3c2c0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-21 03:01:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 23:17:23 +0900

    [rubygems/rubygems] Fix `bundler/inline` overwriting lockfiles

    This was introduced by https://github.com/rubygems/rubygems/commit/0b7be7bb7705, because
    the original patch was not adapted to some recent refactorings.

    https://github.com/rubygems/rubygems/commit/0bca60d6e5

    Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>

commit 07842491c539bf5d0abe29d63380ee5aaf121934
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-24 23:07:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 23:07:47 +0900

    [ruby/irb] Use proper locale in history encoding test
    (https://github.com/ruby/irb/pull/1008)

    https://github.com/ruby/irb/commit/f6b06a9a40

commit 2a0ee408afeeae0f1a0d354ac36c400a361f6767
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-09-17 21:34:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 22:28:01 +0900

    [ruby/error_highlight] Fix error with prism when method given no arguments

    such as:

      p = Proc.new

    This now matches the RubyVM::AbstractSyntaxTree behavior, which is
    not to highlight anything.

    https://github.com/ruby/error_highlight/commit/d5c592a1ba

commit 414a848cc6697067a988e056a787a0a7689c344b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-24 21:41:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 22:21:36 +0900

    [ruby/prism] Accept version shorthand like 3.4

    https://github.com/ruby/prism/commit/098f1c4607

commit e02a6097e690f9c3dc22e5ed469304a54cafd7b8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 02:53:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-24 21:59:15 +0900

    Set node_id to -1 in add_adjust_info

    add_adjust_info will increment the insns_info_index, so we need to set
    the node_id to -1 to prevent a "Conditional jump or move depends on
    uninitialised value" in Valgrind.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11668

commit 8edd6e606f77e5cac764c00f0645d222ec80f711
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-24 21:37:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-24 21:37:19 +0900

    Update deps for prism/options.c

commit ed4a55fc4d7dc5f9f95983f4713cbd0c733601a3
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-09-18 05:44:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 21:24:19 +0900

    [ruby/prism] Accept all 3.3.x and 3.4.x Ruby versions for Prism.parse

    https://github.com/ruby/prism/commit/a4fcd5339a

commit b8baf3f3ee7727682cddafb6e7a589ac2a220a38
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-09-21 05:20:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-24 21:24:19 +0900

    [ruby/prism] check_string() should always return a valid C string

    * Otherwise it is invalid e.g. to call strlen() to the result,
      or to assume the argument was a string.
    * All callers are already checking for nil before.

    https://github.com/ruby/prism/commit/8197be883e

commit 5228d349d98a2cac91503b73710c31125e62c244
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-19 02:00:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 15:33:31 +0900

    [rubygems/rubygems] Restore `gem_dir` as an instance variable accessor

    I suspect someone could be setting this instance variable, and the
    previous changes made that no longer effective.

    Also I implemented a previous TOOD in `full_gem_path` the other way
    around:

    > # TODO: This is a heavily used method by gems, so we'll need
    > # to aleast just alias it to #gem_dir rather than remove it.

    I made `gem_dir` an alias of `full_gem_path` rather than the opposite.

    This alternative change keeps both methods symmetric without deprecating
    either of them for now.

    https://github.com/rubygems/rubygems/commit/28983973a3

commit 5f47f0f759ebac7b4ce6e8d3d68cabba81f7ffbc
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-19 01:57:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 15:33:31 +0900

    [rubygems/rubygems] Remove TODO I can't make much sense of

    https://github.com/rubygems/rubygems/commit/6d627e0671

commit 4b1e852d3ee79037e1b3963cc00c1407a7b3dda8
  Author:     Adam Hess <hparker@github.com>
  AuthorDate: 2024-09-19 08:02:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 15:33:31 +0900

    [ruby/error_highlight] Prism added node_id and Node#breadth_first_search in the 1.0 release. These methods are required for Prism to be able to find the method from the backtrace.

    https://github.com/ruby/prism/blob/main/CHANGELOG.md#100---2024-08-28

    In practice you will likely only end up in this situation if you previously had pre-1.0 prism installed and upgrade Ruby to a version with Prism as the default parser.

    https://github.com/ruby/error_highlight/commit/cb574daf62

commit 373f679e48068ebead61a029922a48879c39bef5
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-09-14 06:36:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 15:12:48 +0900

    fix rb_memsearch() document

    ## Why?
    The explanation of x and y is reversed.

    https://github.com/ruby/ruby/blob/ddbd64400199fd408d23c85f9fb0d7f742ecf9e1/re.c#L251-L256
    ```
    long
    rb_memsearch(const void *x0, long m, const void *y0, long n, rb_encoding *enc)
    {
        const unsigned char *x = x0, *y = y0;

        if (m > n) return -1;
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11625

commit 4956324af3ef3b3f706a863e3ba5239ad77f73c4
  Author:     MSP-Greg <Greg.mpls@gmail.com>
  AuthorDate: 2024-06-19 01:32:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 15:05:14 +0900

    mingw.yml - fixup to use ucrt, logging

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11015

commit acf28e835fc649c2a8597ef6244af5a8f61fa24a
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2023-10-27 20:50:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 14:06:51 +0900

    Windows: Use Unicode aware WinAPI function for ENV[]=

    This only makes a difference when setting an empty value to a Unicode key.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/7034

commit 7627a95e414cec5753bae514fd5490777d9afd7f
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2023-10-27 19:27:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 14:06:51 +0900

    Windows: Remove ENV code targeting Windows before Vista

    Windows Vista removed the limit to 32768 bytes environment block.
    Also MINGW supports _wputenv_s() for years.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/7034

commit 0641845a4bcbbeec6f0bc8191c866ac62c370eb3
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2023-10-27 19:30:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 14:06:51 +0900

    Windows: Remove compatibility to ancient MSVCRT API

    Using _wputenv_s simplifies the code and we can avoid code duplication by using rb_w32_home_dir() to initialize ENV['HOME'].

  Notes:
    Merged: https://github.com/ruby/ruby/pull/7034

commit 79e79afee4fffcf211dca11d9bcf10829a7f3eda
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-24 13:32:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-24 13:32:52 +0900

    Show volume details at Windows platform of GHA

commit 48b3386f6a63f6ae3944441c428aeb6baf5612ba
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-24 08:40:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-24 08:40:20 +0900

    Fix a typo

commit 798a115a15f872654916e0a3d3ae58efe4f64e42
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-24 08:39:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-24 08:39:31 +0900

    Fix a -Wsign-compare warning

    ../time.c:5247:50: warning: operand of ‘?:’ changes signedness from ‘int’ to ‘long unsigned int’ due to unsignedness of other operand [-Wsign-compare]
     5247 |         int w = (year >= -9999 && year <= 9999 ? year_width : (int)(year < 0) + DECIMAL_SIZE_OF(year));
          |                                                  ^~~~~~~~~~

commit fc043a2e61fac23159a92f581bf9f0dbf8e843f7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 03:58:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-24 04:51:16 +0900

    Remove write barrier for non-Ruby object

    enumerator's meth attribute is an ID, which is not a Ruby object, so we
    should not apply the write barrier on it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11671

commit 19c617b51de7f8fc73baa1c404bed3b4e6dbbf69
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-24 00:45:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-24 00:45:21 +0900

    Revert "GC guard current_string in the putobject instruction"

    This reverts commit 69f28ab715a02692fb2a9128bed46044963cbb50.

    This commit is being reverted because it does not fix the ASAN issue in
    the objtostring instruction.

commit f6dcab5f50bc3ab00b17d3ce84bd906b176baa7a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-20 23:52:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-23 23:36:48 +0900

    Assert that objects in write barrier are not dead

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11654

commit 4c3727c6ace506d00e2e869243b7812ea7d31bc2
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2023-06-22 07:49:58 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-09-23 21:23:58 +0900

    Add anonymous module name spec.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/7968

commit 5d53993a3773e4299277807a8bbcb63aa552bf68
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-19 23:25:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-23 19:53:32 +0900

    [rubygems/rubygems] Don't try to auto-install dev versions of Bundler not available remotely

    https://github.com/rubygems/rubygems/commit/1a7a3fdeb9

commit d0925c075b5c9de9702adf1949f77faf8fbfc3b8
  Author:     Daniel Colson <danieljamescolson@gmail.com>
  AuthorDate: 2024-09-20 03:48:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-23 19:49:21 +0900

    [rubygems/rubygems] Ensure refs directory in cached git source

    See https://github.com/rubygems/rubygems/issues/8046 for details

    Prior to this commit a cached git source without a specific ref wouldn't
    survive pushing to a remote and then pulling on a different machine.
    We'd end up without a refs directory in the cache, at which point git
    won't recognize it as a repo.

    This commit fixes the problem by adding a refs directory if it's not
    already there. This needs to be done as early as possible, so any git
    commands will work as expected, so this commit adds it before creating
    the app cached git proxy.

    https://github.com/rubygems/rubygems/commit/8c89f0b065

commit c071fedb320d8e7c9edc3087a3386895d59c6100
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 22:37:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-23 19:37:57 +0900

    [rubygems/rubygems] Fix `bundle outdated` with `--group` option

    It was printing incorrect output and returning incorrect status.

    https://github.com/rubygems/rubygems/commit/96f5979c7d

commit 7be1fafe58e2baaa1da4dcd6f4854e674f9d3100
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-22 12:14:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-23 14:29:25 +0900

    Refactor `Time#xmlschema`

    And refine uncommon date cases.

    # Iteration per second (i/s)

    |                            |compare-ruby|built-ruby|
    |:---------------------------|-----------:|---------:|
    |time.xmlschema              |      5.020M|   14.192M|
    |                            |           -|     2.83x|
    |utc_time.xmlschema          |      6.454M|   15.331M|
    |                            |           -|     2.38x|
    |time.xmlschema(6)           |      4.216M|   10.043M|
    |                            |           -|     2.38x|
    |utc_time.xmlschema(6)       |      5.486M|   10.592M|
    |                            |           -|     1.93x|
    |time.xmlschema(9)           |      4.294M|   10.340M|
    |                            |           -|     2.41x|
    |utc_time.xmlschema(9)       |      4.784M|   10.909M|
    |                            |           -|     2.28x|
    |fraction_sec.xmlschema(10)  |    366.982k|    3.406M|
    |                            |           -|     9.28x|
    |future_time.xmlschema       |    994.595k|   15.853M|
    |                            |           -|    15.94x|

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11665

commit b811a9a097f2ce9ed9b200be84523698bc693e54
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-22 00:22:59 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-23 09:19:37 +0900

    Implement CASE3 NODE keyword locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11661

commit 5334766bebcb471549b300c6e6e9cf0d08575116
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-22 00:17:52 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-23 09:19:37 +0900

    Implement CASE2 NODE keyword locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11661

commit feac2b4b77b337a637d80793c53b680e5697cab6
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-22 00:13:16 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-23 09:19:37 +0900

    Implement CASE NODE keyword locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11661

commit 02b36f75721aa61d48e3031c71695837d7a8a410
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-09-21 20:11:27 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-09-23 09:11:54 +0900

    Unpoison page->freelist before trying to assert on it

    Otherwise trying to deref the pointer can cause an ASAN crash, even
    though the only reason we're dereferencing it is so that we can assert
    on it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11660

commit 95d26ee41e136088560caa04943d177342795b5b
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-09-21 08:39:42 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-22 12:22:20 +0900

    Reuse dedent_string function in rb_ruby_ripper_dedent_string function

    This change is reduce Ruby C API dependency for Universal Parser.
    Reuse dedent_string functions in rb_ruby_ripper_dedent_string functions and remove dependencies on rb_str_modify and rb_str_set_len from the parser.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11658

commit 9f574fa12f0cbe9d7aa4a11a6c7055ed32f02822
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-21 06:57:56 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-09-22 03:00:23 +0900

    Make Complex#{inspect,to_s} work correctly if real part #inspect returns frozen string

    Make static f_format function take a non-frozen string to append
    to.

    This does not result in an additional allocation for #inspect,
    but it does result in an additional allocation for #to_s.

    Fixes [Bug #20337]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11657

commit 75ed086348da66e4cfe9488ae9ece5462dd2aef9
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-09-10 12:22:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 02:17:21 +0900

    [ruby/prism] Fix `kDO_LAMBDA` token incompatibility for `Prism::Translation::Parser::Lexer`

    ## Summary

    This PR fixes `kDO_LAMBDA` token incompatibility between Parser gem and `Prism::Translation::Parser` for lambda `do` block.

    ### Parser gem (Expected)

    Returns `kDO_LAMBDA` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "-> do end"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tLAMBDA, ["->", #<Parser::Source::Range example.rb 0...2>]], [:kDO_LAMBDA, ["do", #<Parser::Source::Range example.rb 3...5>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 6...9>]]]
    ```

    ### `Prism::Translation::Parser` (Actual)

    Previously, the parser returned `kDO` token when parsing the following:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "-> do end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tLAMBDA, ["->", #<Parser::Source::Range example.rb 0...2>]], [:kDO, ["do", #<Parser::Source::Range example.rb 3...5>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 6...9>]]]
    ```

    After the update, the parser now returns `kDO_LAMBDA` token for the same input:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "-> do end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tLAMBDA, ["->", #<Parser::Source::Range example.rb 0...2>]], [:kDO_LAMBDA, ["do", #<Parser::Source::Range example.rb 3...5>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 6...9>]]]
    ```

    ## Additional Information

    Unfortunately, this kind of edge case doesn't work as expected; `kDO` is returned instead of `kDO_LAMBDA`.
    However, since `kDO` is already being returned in this case, there is no change in behavior.

    ### Parser gem

    Returns `tLAMBDA` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "-> (foo = -> (bar) {}) do end"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.3.5 (2024-09-03 revision https://github.com/ruby/prism/commit/ef084cc8f4) [x86_64-darwin23]
    [[:tLAMBDA, ["->", #<Parser::Source::Range example.rb 0...2>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 3...4>]],
    [:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 4...7>]], [:tEQL, ["=", #<Parser::Source::Range example.rb 8...9>]],
    [:tLAMBDA, ["->", #<Parser::Source::Range example.rb 10...12>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 13...14>]],
    [:tIDENTIFIER, ["bar", #<Parser::Source::Range example.rb 14...17>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 17...18>]],
    [:tLAMBEG, ["{", #<Parser::Source::Range example.rb 19...20>]], [:tRCURLY, ["}", #<Parser::Source::Range example.rb 20...21>]],
    [:tRPAREN, [")", #<Parser::Source::Range example.rb 21...22>]], [:kDO_LAMBDA, ["do", #<Parser::Source::Range example.rb 23...25>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 26...29>]]]
    ```

    ### `Prism::Translation::Parser`

    Returns `kDO` token:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "-> (foo = -> (bar) {}) do end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.5 (2024-09-03 revision https://github.com/ruby/prism/commit/ef084cc8f4) [x86_64-darwin23]
    [[:tLAMBDA, ["->", #<Parser::Source::Range example.rb 0...2>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 3...4>]],
    [:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 4...7>]], [:tEQL, ["=", #<Parser::Source::Range example.rb 8...9>]],
    [:tLAMBDA, ["->", #<Parser::Source::Range example.rb 10...12>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 13...14>]],
    [:tIDENTIFIER, ["bar", #<Parser::Source::Range example.rb 14...17>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 17...18>]],
    [:tLAMBEG, ["{", #<Parser::Source::Range example.rb 19...20>]], [:tRCURLY, ["}", #<Parser::Source::Range example.rb 20...21>]],
    [:tRPAREN, [")", #<Parser::Source::Range example.rb 21...22>]], [:kDO, ["do", #<Parser::Source::Range example.rb 23...25>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 26...29>]]]
    ```

    As the intention is not to address such special cases at this point, a comment has been left indicating that this case still returns `kDO`.
    In other words, `kDO_LAMBDA` will now be returned except for edge cases after this PR.

    https://github.com/ruby/prism/commit/2ee480654c

commit 69f28ab715a02692fb2a9128bed46044963cbb50
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-21 01:34:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-21 02:07:38 +0900

    GC guard current_string in the putobject instruction

    This is a band-aid solution for #11655 that only applies the fix for the
    putobject instruction before the objtostring instruction.

    This should help fix the use-after-poison in the ASAN CI.

    http://ci.rvm.jp/logfiles/brlog.trunk_asan.20240920-082802

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11656

commit 54a21851fef85563940dffbb2fe19e1da69d44bf
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 21:24:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:42 +0900

    [rubygems/rubygems] Disallow RubyGems warnings during Bundler test suite

    https://github.com/rubygems/rubygems/commit/472371ee1e

commit 8dd87a66f58dcc35fea871c9b120e230043e9051
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 21:21:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:41 +0900

    [rubygems/rubygems] I don't think we need a conditional shebang

    https://github.com/rubygems/rubygems/commit/7ba7073a35

commit 9bf3210adba9129f429ddf2489515f67a43c640d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 20:59:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:41 +0900

    [rubygems/rubygems] Fix RubyGems warnings about missing shebang

    https://github.com/rubygems/rubygems/commit/362c960497

commit c262861e5c999e080eba29a12b789724db178303
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 20:22:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:40 +0900

    [rubygems/rubygems] Fix RubyGems warnings about pre-release dependencies

    Nothing here relies on the dependency being on a pre-release, and
    Bundler does not use prereleases in the realworld.

    https://github.com/rubygems/rubygems/commit/96f5742ff1

commit c30297b3d19283ec27b1d0248bed9fca6092038b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 20:13:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:39 +0900

    [rubygems/rubygems] Fix RubyGems warnings about incorrect executable permissions

    https://github.com/rubygems/rubygems/commit/92dcf60fc1

commit 42a6916a3c120afcce76910059e09408ace3c24b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-20 20:12:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:57:39 +0900

    [rubygems/rubygems] Fix RubyGems warnings about minimum required Ruby

    https://github.com/rubygems/rubygems/commit/8f262f3a47

commit f515a1ab4b04ae79e02194e1f25a400b9f3f8f66
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-21 00:20:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-21 00:42:12 +0900

    [ruby/prism] Introduce partial_script option

    https://github.com/ruby/prism/commit/b28877fa4f

commit 2882408dcb2b30a2f0041d8712e75d614149c6d7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-20 23:58:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-20 23:58:19 +0900

    Remove unneeded function prototype for rb_gc_impl_mark

commit 43e3416b700e421ffdff3a9c534e1de620bb7ad6
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-09-20 07:10:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-20 23:26:13 +0900

    [rubygems/rubygems] Unconditionally set installed_by_version

    It has been supported since RubyGems 2.2.0 via https://github.com/rubygems/rubygems/commit/4525e45a4d45

    Signed-off-by: Samuel Giddins <segiddins@segiddins.me>

    https://github.com/rubygems/rubygems/commit/bf39c583e8

commit 276bb584570eef4565a11d0dbb246b2b4aed8390
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-20 19:39:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-20 21:09:16 +0900

    Update parsey.yml as others

commit 511925f99b4fc87b5461c42f3fd4de05670bea6f
  Author:     OKURA Masafumi <masafumi.o1988@gmail.com>
  AuthorDate: 2023-12-15 11:26:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-20 19:26:37 +0900

    [ci-skip] Fix doc for `refinements`

    The current doc is partially wrong since `refinements` method
    returns an array of `Refinement` class, not `Module`.
    I'm not sure if it's right to link to `Refinement`, but it has
    some documentation so it should be useful.
    https://docs.ruby-lang.org/en/3.2/Refinement.html

  Notes:
    Merged: https://github.com/ruby/ruby/pull/9248

commit 34e008d0756a355e0658f9b52f7d66b4b8eee388
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-20 19:13:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-20 19:13:39 +0900

    [ruby/irb] Fix debug command in nomultiline mode
    (https://github.com/ruby/irb/pull/1006)

    * Fix debug command in nomultiline mode

    * context.colorize_code -> context.colorize_input

    https://github.com/ruby/irb/commit/71f4d6bfb5

commit cf29594c03f7d3d4200ab346d81008b66301be36
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-18 23:57:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-20 18:58:24 +0900

    [rubygems/rubygems] Don't try to install locked bundler when `--local` is passed

    https://github.com/rubygems/rubygems/commit/907d46964d

commit aa2662d5906cb3d7b55b42539b39976f5a32856a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-20 16:14:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-20 16:23:55 +0900

    Simplify offset calculations of `tbl0208`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/5696

commit 75a8c937e75a0b57fbdbc3d72a2429f5799a42e4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-03-24 01:42:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-20 16:23:55 +0900

    [Bug #18651] Pass undefined region in CP51932 as is to CP50220

  Notes:
    Merged: https://github.com/ruby/ruby/pull/5696

commit 546f13fded6481e89c8e1f8a9f85d2ccd167f4d7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-03-24 01:37:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-20 16:23:55 +0900

    Define `tbl0208` as a static array

  Notes:
    Merged: https://github.com/ruby/ruby/pull/5696

commit a8d600edff913e5e35d74f563f1f21eb8f7ab367
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-03-24 01:34:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-20 16:23:55 +0900

    Extract `iso2022jp_put_state`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/5696

commit 26a3de0dfde2399fdda42b41602906cae622d3a5
  Author:     Silvio Traversaro <silvio@traversaro.it>
  AuthorDate: 2020-11-11 07:02:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-20 12:20:27 +0900

    Define HAVE_ISINF for Visual Studio >= 2013

    isinf is defined in Visual Studio since version 2013.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/3758

commit 2230ac4a28a727bbc621fb085d2d5ed0b6771ca5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-19 05:43:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-20 03:51:21 +0900

    Fix potentially missing write barrier in iseq_build_kw

    We're writing objects to the iseq but not firing the write barrier.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11647

commit ead280fe8b12bfe074cb43abb8a831932f4f2335
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-19 05:40:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-20 03:51:21 +0900

    Replace RB_OBJ_WRITTEN with RB_OBJ_WRITE in iseq_set_arguments_keywords

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11647

commit 7a2b5ed5ee10c627f5b47c7dab1f7d0681277162
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-19 05:40:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-20 03:51:21 +0900

    Replace RB_OBJ_WRITTEN with RB_OBJ_WRITE in pm_compile_scope_node

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11647

commit dc64448202299633a235f310b8bf2192263f274f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-20 02:14:17 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-20 02:14:17 +0900

    Remove an unused variable

commit d9981beb40ae9ed4fdce788ed629b94a75f2761b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-19 00:40:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-20 01:10:27 +0900

    [DOC] Improve docs for GC.latest_gc_info

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11644

commit 6118e8a47394409b53164b60e79fadf348b97db3
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-10 12:48:32 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-09-19 23:34:01 +0900

    Fix method caching bug when including/prepend module A that prepends module B

    Fix by always adding the generated iclass to the subclasses list,
    otherwise the method cache for the iclass is not cleared when
    the method in the module is overwritten.

    Fixes [Bug #20716]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11582

commit 167fba52f0fa233e930a0f2b70cc8b368b7e23f9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-19 03:54:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-19 21:21:10 +0900

    Remove rb_gc_impl_initial_stress_set

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11646

commit dc8c382266b056fa51408806478218f5230fbce2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-19 17:23:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-19 18:08:12 +0900

    Fix bug at fork on FreeBSD

    The main thread in a forked process appears not to own the read-write
    lock.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11648

commit d9f6e326ad2f8c72282b691547bf6c0c2e3a26ce
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-19 18:06:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-19 18:06:28 +0900

    Don't update lockfile with bundler/inline

commit 46ee05f05a01b528ba3fc1cb13b265f2dc9ef749
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-19 16:23:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-19 16:23:08 +0900

    Added missing block arg

commit 59db92a1a18992d1b95af3cac14855c9f4900649
  Author:     Akinori MUSHA <knu@idaemons.org>
  AuthorDate: 2024-09-19 16:11:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-19 16:12:00 +0900

    [ruby/set] 2024

    https://github.com/ruby/set/commit/ea95c5a3d2

commit e53d2f2092111828d692c85b5f0d0d57be1d095f
  Author:     Akinori MUSHA <knu@idaemons.org>
  AuthorDate: 2024-09-19 16:09:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-19 16:11:58 +0900

    [ruby/set] Reword the document for to_a and clarify the implementation notes

    ref. https://github.com/ruby/ruby/pull/11453

    https://github.com/ruby/set/commit/3cf6d11bd2

commit 24b587e7ba08e9347d4b4f02c6442eac7ccba54c
  Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
  AuthorDate: 2024-04-24 21:38:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-19 14:59:24 +0900

    Use ppc64le coroutines for powerpc64-freebsd*

    There is nothing endianness-related in ppc64le and all the tests pass on both ucontext and ppc64le coroutines on powerpc64-freebsd14.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/10595

commit c362206a48cb34eb207ecf3df9ca53b487951caa
  Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
  AuthorDate: 2024-04-22 16:42:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-19 14:59:24 +0900

    Use ppc64le coroutines on powerpc64le-freebsd*

    Only one ractor-related test fails, but it also fails with ucontext.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/10595

commit 8dc0d2904a7d859b463a3f44ac73e5d4540a1cc1
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-04 04:17:12 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-09-19 13:29:07 +0900

    Update exception message in string_for_symbol

    This is a static function only called in two places (rb_to_id and
    rb_to_symbol), and in both places, both symbols and strings are
    allowed.  This makes the error message consistent with rb_check_id
    and rb_check_symbol.

    Fixes [Bug #20607]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11097

commit 268c72377b06b7d84a0998ca241340d0f58768f6
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-19 08:54:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-19 08:54:56 +0900

    Raise a compile error for break/next/redo inside eval in cases where it is optimized away

    In cases where break/next/redo are not valid syntax, they should
    raise a SyntaxError even if inside a conditional block that is
    optimized away.

    Fixes [Bug #20597]

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11099

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 984a791d58ec4350d62714a2d063c1bb54707bb6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-18 23:40:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-19 05:47:59 +0900

    [DOC] Escape the word GC in GC.config

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11642

commit 29f2cb83fb72d970ee07004b2fc019fd31efd823
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-19 04:46:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-19 04:46:07 +0900

    Fix evaluation order issue in f(**h, &h.delete(key))

    Previously, this would delete the key in `h` before keyword
    splatting `h`.  This goes against how ruby handles `f(*a, &a.pop)`
    and similar expressions.

    Fix this by having the compiler check whether the block pass
    expression is safe.  If it is not safe, then dup the keyword
    splatted hash before evaluating the block pass expression.

    For expression: `h=nil; f(**h, &h.delete(:key))`

    VM instructions before:

    ```
    0000 putnil                                                           (   1)[Li]
    0001 setlocal_WC_0                          h@0
    0003 putself
    0004 getlocal_WC_0                          h@0
    0006 getlocal_WC_0                          h@0
    0008 putobject                              :key
    0010 opt_send_without_block                 <calldata!mid:delete, argc:1, ARGS_SIMPLE>
    0012 splatkw
    0013 send                                   <calldata!mid:f, argc:1, ARGS_BLOCKARG|FCALL|KW_SPLAT>, nil
    0016 leave
    ```

    VM instructions after:

    ```
    0000 putnil                                                           (   1)[Li]
    0001 setlocal_WC_0                          h@0
    0003 putself
    0004 putspecialobject                       1
    0006 newhash                                0
    0008 getlocal_WC_0                          h@0
    0010 opt_send_without_block                 <calldata!mid:core#hash_merge_kwd, argc:2, ARGS_SIMPLE>
    0012 getlocal_WC_0                          h@0
    0014 putobject                              :key
    0016 opt_send_without_block                 <calldata!mid:delete, argc:1, ARGS_SIMPLE>
    0018 send                                   <calldata!mid:f, argc:1, ARGS_BLOCKARG|FCALL|KW_SPLAT|KW_SPLAT_MUT>, nil
    0021 leave
    ```

    This is the same as 07d3bf4832532ae7446c9a6924d79aed60a7a9a5, except that
    it removes unnecessary hash allocations when using the prism compiler.

    Fixes [Bug #20640]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11645

    Merged-By: jeremyevans <code@jeremyevans.net>

commit e358104e6ef57abaa51bb4c0f2ae9fe1bda18a4e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-18 23:34:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-19 04:18:07 +0900

    [DOC] Fix formatting for ways to create Range objects

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11641

commit 9c12c39ed175c634dfa0e56619cb30a49e292043
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-19 03:26:10 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-09-19 03:26:10 +0900

    Revert "Fix evaluation order issue in f(**h, &h.delete(key))"

    This reverts commit 07d3bf4832532ae7446c9a6924d79aed60a7a9a5.

    No failures in the pull request CI, but there are now allocation
    test failures.

commit 07d3bf4832532ae7446c9a6924d79aed60a7a9a5
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-19 03:18:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-19 03:18:29 +0900

    Fix evaluation order issue in f(**h, &h.delete(key))

    Previously, this would delete the key in h before keyword
    splatting h.  This goes against how ruby handles f(*a, &a.pop)
    and similar expressions.

    Fix this by having the compiler check whether the block pass
    expression is safe.  If it is not safe, then dup the keyword
    splatted hash before evaluating the block pass expression.

    For expression: `h=nil; f(**h, &h.delete(:key))`

    VM instructions before:

    ```
    0000 putnil                                                           (   1)[Li]
    0001 setlocal_WC_0                          h@0
    0003 putself
    0004 getlocal_WC_0                          h@0
    0006 getlocal_WC_0                          h@0
    0008 putobject                              :key
    0010 opt_send_without_block                 <calldata!mid:delete, argc:1, ARGS_SIMPLE>
    0012 splatkw
    0013 send                                   <calldata!mid:f, argc:1, ARGS_BLOCKARG|FCALL|KW_SPLAT>, nil
    0016 leave
    ```

    VM instructions after:

    ```
    0000 putnil                                                           (   1)[Li]
    0001 setlocal_WC_0                          h@0
    0003 putself
    0004 putspecialobject                       1
    0006 newhash                                0
    0008 getlocal_WC_0                          h@0
    0010 opt_send_without_block                 <calldata!mid:core#hash_merge_kwd, argc:2, ARGS_SIMPLE>
    0012 getlocal_WC_0                          h@0
    0014 putobject                              :key
    0016 opt_send_without_block                 <calldata!mid:delete, argc:1, ARGS_SIMPLE>
    0018 send                                   <calldata!mid:f, argc:1, ARGS_BLOCKARG|FCALL|KW_SPLAT|KW_SPLAT_MUT>, nil
    0021 leave
    ```

    Fixes [Bug #20640]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11206

    Merged-By: jeremyevans <code@jeremyevans.net>

commit f8e1c93fe1433b039caa48f87440a938781c00fc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-17 23:33:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-19 01:58:05 +0900

    Move more of GC.latest_gc_info into Ruby

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11636

commit 461c48960da24fbc47735b47814a6b175c107209
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-14 02:22:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-19 01:42:14 +0900

    [rubygems/rubygems] Add a note about when hack can be removed

    https://github.com/rubygems/rubygems/commit/058b29fe98

commit ae214be9d678756c5af26fd9161f03ee8340e1c7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 18:14:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-19 01:42:14 +0900

    [rubygems/rubygems] Fix TODO

    https://github.com/rubygems/rubygems/commit/2cd13005f6

commit 47db8bc01cac3b0008de62a0f6300ec00acef9b1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 18:14:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-19 01:42:13 +0900

    [rubygems/rubygems] Stop fighting with ourselves

    https://github.com/rubygems/rubygems/commit/7cf2fdcfa1

commit c14b60630d680addd5b4ef9c9b159a26a5446483
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-09-14 01:42:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-19 00:52:57 +0900

    Fix coding issue in prism_compile.c

    Make sure to set back `ISEQ_COMPILE_DATA(iseq)->current_block` for
    forwarding super nodes with a block.

    Fixes [Bug #20740]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11621

commit 96da3f16a0e4ad9c14197d5ed794cecf1abf9546
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-18 03:10:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-19 00:52:27 +0900

    [ruby/prism] Allow returns in default parameter values

    https://github.com/ruby/prism/commit/e98ea15596

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11643

commit 5df5eba465762880e50fb17bffb5ab8030fd5557
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-17 23:55:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-18 23:18:47 +0900

    Change rb_gc_impl_get_measure_total_time to return a bool

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11638

commit f82618578666ee720bdc0ec8e4aeace541f2d953
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-18 21:03:48 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-18 21:03:48 +0900

    [Bug #20754] Document in hash.rb

commit 4797b0704ae49fb42c8ad9a45028efbe2298b5f5
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-18 11:16:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-18 11:16:22 +0900

    Prevent a warning (retry)

    ```
    test/ruby/test_case.rb:75: warning: 'when' clause on line 75 duplicates 'when' clause on line 75 and is ignored
    ```

commit 94a17f32796955750b6ccd63f3a6bbdaec8997e6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-17 13:53:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-18 09:59:01 +0900

    Detect existing Visual Studio instances using `vswhere.exe`

    https://learn.microsoft.com/en-us/visualstudio/install/tools-for-managing-visual-studio-instances?view=vs-2022#using-vswhereexe
    > `vswhere.exe` is automatically included in Visual Studio 2017 and
    > later

commit 7c4b028435aa83ee42f3db2ecf47f53a1c2247cf
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-09-18 09:06:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-18 09:06:27 +0900

    YJIT: Accept key for runtime_stats to return only that stat (#11536)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 39679d7fabca7fe0918b538e746d5d4381862bce
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-18 02:06:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-18 07:12:12 +0900

    [ruby/uri] Fix spelling of "cannot"

    https://github.com/ruby/uri/commit/77241d6508

commit 5307c65c76774f8a5964ccdb8ed94412962b5eaa
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-17 23:41:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-18 05:35:52 +0900

    Make rb_gc_impl_set_measure_total_time return void

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11637

commit b203e667c91960b732269b3dd182c422e1a0a74b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-18 02:00:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-18 05:09:07 +0900

    [rubygems/rubygems] Fix spelling, it's "cannot" rather than "can not"

    https://github.com/rubygems/rubygems/commit/3434f094a2

commit dc61c7fc7d64e9ad75f7e0ce0239d04a807f78d7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-18 00:41:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-18 04:22:43 +0900

    Rename rb_gc_impl_get_profile_total_time to rb_gc_impl_get_total_time

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11639

commit 2af080bd3031cc4ea37c985f5782355df151ab1c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-18 00:39:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-18 04:22:43 +0900

    Change rb_gc_impl_get_profile_total_time to return unsigned long long

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11639

commit 5de7517bcb735b9d9c0daddaf7f519f63b033a9e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-18 00:10:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-18 04:22:43 +0900

    Use unsigned long long for marking and sweeping time

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11639

commit 748933aa1b9f6067dbb24fad99aa66bf1f93b4cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-18 03:37:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-18 03:47:27 +0900

    [ruby/prism] Accept "do" blocks in some parameter default values

    https://github.com/ruby/prism/commit/6d7b734dbe

commit 0160dafc4c52b84bb1f989670b54186505649493
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-17 04:29:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-17 23:34:26 +0900

    Replace all GC.disable with EnvUtil.without_gc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11635

commit 82151a86305d79cd2301d92258462f25fc28ac80
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-17 23:07:44 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 23:07:44 +0900

    Fix a typo, sorry!

commit fd5e583990330f2d84d05d1ae1ceea2a472b6352
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-17 22:32:09 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 22:52:25 +0900

    Prevent two warnings

    ```
    /home/chkbuild/chkbuild/tmp/build/20240917T123003Z/ruby/test/ruby/test_case.rb:73: warning: 'when' clause on line 73 duplicates 'when' clause on line 73 and is ignored
    /home/chkbuild/chkbuild/tmp/build/20240917T123003Z/ruby/test/ruby/test_syntax.rb:333: warning: key :k1 is duplicated and overwritten on line 333
    ```

commit cf063c008fd988def961fdddf7616e52345af3f9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-12 23:40:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-17 20:10:58 +0900

    [rubygems/rubygems] Bump rubies in CI to 3.3.5

    A spec needed changes because now loading the default `json` prints a
    warning about `ostruct` getting loaded although it will be removed in
    the future. Use a different default gem to test this.

    https://github.com/rubygems/rubygems/commit/7415a66906

    Co-authored-by: Samuel Giddins <segiddins@segiddins.me>

commit 1ecac5d4ed620247bdb74fa2c20e1665fae75b1a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-17 16:16:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 16:16:45 +0900

    TestProcess#test_daemon_noclose is working fine with macOS 15.1 beta3 and Xcode 16 RC

commit 95f08f2b7fcbad889e4aef7aa941da3da3e8e74b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-17 15:44:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 15:44:18 +0900

    Skip failing examples related with https://github.com/ruby/ruby/commit/d81b0588bb3c97167d1f7e2d2a74185e0c19b68c

commit c0116860ba2e1d3efed71de35942f0ac298bc8e6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-17 15:37:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 15:37:20 +0900

    Removed accidentally commit for snapshot file of prism

commit d81b0588bb3c97167d1f7e2d2a74185e0c19b68c
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-09-14 09:32:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 15:12:25 +0900

    [ruby/strscan] Accept String as a pattern at non head
    (https://github.com/ruby/strscan/pull/106)

    It supports non-head match cases such as StringScanner#scan_until.

    If we use a String as a pattern, we can improve match performance.
    Here is a result of the including benchmark.

    ## CRuby

    It shows String as a pattern is 1.18x faster than Regexp as a pattern.

    ```
    $ benchmark-driver benchmark/check_until.yaml
    Warming up --------------------------------------
                  regexp     9.403M i/s -      9.548M times in 1.015459s (106.35ns/i)
              regexp_var     9.162M i/s -      9.248M times in 1.009479s (109.15ns/i)
                  string     8.966M i/s -      9.274M times in 1.034343s (111.54ns/i)
              string_var    11.051M i/s -     11.190M times in 1.012538s (90.49ns/i)
    Calculating -------------------------------------
                  regexp    10.319M i/s -     28.209M times in 2.733707s (96.91ns/i)
              regexp_var    10.032M i/s -     27.485M times in 2.739807s (99.68ns/i)
                  string     9.681M i/s -     26.897M times in 2.778397s (103.30ns/i)
              string_var    12.162M i/s -     33.154M times in 2.726046s (82.22ns/i)

    Comparison:
              string_var:  12161920.6 i/s
                  regexp:  10318949.7 i/s - 1.18x  slower
              regexp_var:  10031617.6 i/s - 1.21x  slower
                  string:   9680843.7 i/s - 1.26x  slower
    ```

    ## JRuby

    It shows String as a pattern is 2.11x faster than Regexp as a pattern.

    ```
    $ benchmark-driver benchmark/check_until.yaml
    Warming up --------------------------------------
                  regexp     7.591M i/s -      7.544M times in 0.993780s (131.74ns/i)
              regexp_var     6.143M i/s -      6.125M times in 0.997038s (162.77ns/i)
                  string    14.135M i/s -     14.079M times in 0.996067s (70.75ns/i)
              string_var    14.079M i/s -     14.057M times in 0.998420s (71.03ns/i)
    Calculating -------------------------------------
                  regexp     9.409M i/s -     22.773M times in 2.420268s (106.28ns/i)
              regexp_var    10.116M i/s -     18.430M times in 1.821820s (98.85ns/i)
                  string    21.389M i/s -     42.404M times in 1.982519s (46.75ns/i)
              string_var    20.897M i/s -     42.237M times in 2.021187s (47.85ns/i)

    Comparison:
                  string:  21389191.1 i/s
              string_var:  20897327.5 i/s - 1.02x  slower
              regexp_var:  10116464.7 i/s - 2.11x  slower
                  regexp:   9409222.3 i/s - 2.27x  slower
    ```

    See:
    https://github.com/jruby/jruby/blob/be7815ec02356a58891c8727bb448f0c6a826d96/core/src/main/java/org/jruby/util/StringSupport.java#L1706-L1736

    ---------

    https://github.com/ruby/strscan/commit/f9d96c446a

    Co-authored-by: Sutou Kouhei <kou@clear-code.com>

commit 7d80c139f777a2018a93ab8df4e57dbf4fd27572
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 21:22:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:41:19 +0900

    Unlock parallel_tests

commit 80e934c29c5bd8b7955e26f8683ac6644d69a200
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 02:24:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:39:06 +0900

    [rubygems/rubygems] Fix `--local` hitting the network when default gems are included

    https://github.com/rubygems/rubygems/commit/b9a2d4d539

commit 335d630903c53c4c6665d739f620834f1b57c1de
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 02:14:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:39:05 +0900

    [rubygems/rubygems] Improve spec

    The behavior it's testing is independent from the bundle path being
    used.

    https://github.com/rubygems/rubygems/commit/9a4b32ec82

commit 166cde7d24ee698ee720987645bcd792f3db6e78
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 02:07:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:39:05 +0900

    [rubygems/rubygems] Fix spec to setup a default gem correctly

    Looking at the description is something that used to be done a long time
    ago.

    https://github.com/rubygems/rubygems/commit/9c226f52a6

commit 7428709d204728b807db1250be43abdf3dd514e8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 01:58:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:39:04 +0900

    [rubygems/rubygems] Inline a private method

    Removes an (in my opinion) excessive indirection and handles options
    more consistently.

    https://github.com/rubygems/rubygems/commit/642e6d2c0c

commit 7e0934d33e7ce09f9d2f50eb3f31708c0d852817
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 01:50:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 14:39:04 +0900

    [rubygems/rubygems] Consistently access install options through symbol keys

    https://github.com/rubygems/rubygems/commit/7ddf1dc70a

commit 70111fcc45b22b691aca2b522cb8eb30bf9fc34c
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-17 14:15:44 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 14:15:44 +0900

    Prevent a warning due to error recovery of prism

commit d90da9408df5969427c6957797d5a3095f91077b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-17 14:10:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 14:10:49 +0900

    Prevent warnings for RubyVM::AbstractSyntaxTree.parse in test_ast.rb

commit d84b062b635d49ad069b95c3d905f3ea92445894
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-17 13:56:04 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 13:56:04 +0900

    Prevent warning: assigned but unused variable - message

commit bb2d24731e72ebb029396f1fa17201da0bce3901
  Author:     Nikolay Ponomarev <itsnikolay@gmail.com>
  AuthorDate: 2024-09-16 05:07:17 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-17 12:52:31 +0900

    [DOC] Fix autoload method formatting

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11627

commit bb7025b7e837e44100c982a3fa294f1f265374fe
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-17 12:36:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-17 12:46:01 +0900

    Activate irb if irb is bundled gems

commit 76d927f88f9b64cf01912be41d5e88238a9e6ec6
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-15 09:50:14 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-17 12:44:07 +0900

    Prevent prism warnings in syntax exhaustive tests

    [Bug #20736]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11626

commit e08d5239b68ad61a731f4938cf963e37a5e88c25
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-09-13 16:40:30 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-09-17 09:11:44 +0900

    Ensure fiber scheduler is woken up when close interrupts read

    If one thread is reading and another closes that socket, the close
    blocks waiting for the read to abort cleanly. This ensures that Ruby is
    totally done with the file descriptor _BEFORE_ we tell the OS to close
    and potentially re-use it.

    When the read is correctly terminated, the close should be unblocked.
    That currently works if closing is happening on a thread, but if it's
    happening on a fiber with a fiber scheduler, it does NOT work.

    This patch ensures that if the close happened in a fiber scheduled
    thread, that the scheduler is notified that the fiber is unblocked.

    [Bug #20723]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11614

commit 50d4840bd975a5e187c56dc4a56795cb6d02d658
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-13 00:31:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-17 04:58:27 +0900

    Move desired_compaction_pages_i inside of GC_CAN_COMPILE_COMPACTION

    Fixes the following warning on WebAssembly:

        gc/default.c:7306:1: warning: unused function 'desired_compaction_pages_i' [-Wunused-function]
        desired_compaction_pages_i(struct heap_page *page, void *data)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11607

commit 7e2ae30f8b30f9f9f7250abffc1c311115548bba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-17 04:27:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-17 04:55:29 +0900

    [ruby/prism] Handle retry doubly nested under rescue

    Fixes [Bug #20747]

    https://github.com/ruby/prism/commit/d3194715a9

commit 2ea1950510003dbce5a761a712039ed69fa499f2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-17 03:40:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-17 03:57:54 +0900

    [ruby/prism] Do not leak explicit encoding

    Fixes [Bug #20744]

    https://github.com/ruby/prism/commit/f1b8b1b2a2

commit 1e53e46275e2f49a711ff90adddc804d11a347b1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-17 01:29:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-17 03:38:49 +0900

    Don't export unnecessary string functions

    These functions are not used publicly, so we don't need to export them.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11634

commit 2beb4c6e878dd519b82a96e10838e5da69e942f5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-17 00:03:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-17 03:31:01 +0900

    [PRISM] Assume an eval context for RubyVM::ISEQ compile

    Fixes [Bug #20741]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11632

commit 6c4ce72609396cff8970c0fdebbfa190ec75ece1
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-17 02:36:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-17 02:36:27 +0900

    [ruby/irb] Use InstructionSequence#script_lines to get method source
    (https://github.com/ruby/irb/pull/1005)

    It works with both prism and parse.y

    https://github.com/ruby/irb/commit/bcfaa72d5a

commit 1c3981cb88f13a40576ddf73fc8525a277af512c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-16 21:30:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-17 01:33:42 +0900

    [DOC] Tweaks for Array#select!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11630

commit 4e17fa2906c51d6f5e70023c7b300b61ae378b13
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-16 21:21:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-17 01:33:07 +0900

    Tweaks or Array#select

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11629

commit 1e52dde82af10f2a2ec648b34dce30bec4154245
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-17 00:14:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-17 00:53:56 +0900

    [PRISM] Match defined behavior for explicit block

    Fixes [Bug #20748]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11633

commit 50564f8882922964ebbe2bfdd7cae0bd6d0f6f00
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-14 03:36:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-16 22:27:29 +0900

    ASAN unpoison whole heap page after adding to size pool

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11623

commit 46ba3752c2c9dbf631cae602c3549e8b95a0de72
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-14 03:04:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-16 22:27:29 +0900

    Don't return inside of asan_unpoisoning_object

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11623

commit c5a782dfb04a00f47dc5c80d407df9931735b3dc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-14 03:02:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-16 22:27:29 +0900

    Replace with asan_unpoisoning_object

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11623

commit f4f46af95818cd6015e938616afef88fd8e6351d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 00:09:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-16 22:13:43 +0900

    Complete spec

    Co-authored-by: Vít Ondruch <vondruch@redhat.com>

commit 2bfeedc082af7adfbbba2f4d9e40beb49f0ceaae
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-12 23:41:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-16 22:13:43 +0900

    [rubygems/rubygems] Simplify handling default gem caching

    By the time `cached_gem` is called, default gem cache has already been
    handled. So no need to try redownload it again, it's enough to check the
    cache location directly.

    https://github.com/rubygems/rubygems/commit/70e10236b6

commit d57bc870ac8021f2c23e4da346d037820ad45d64
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 04:33:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-16 21:44:19 +0900

    [PRISM] Remove snapshot testing from Prism sync

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11624

commit fab01b15e999e9f9e18389dabfce3919e080ed56
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-11 23:42:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-16 20:37:58 +0900

    [rubygems/rubygems] Remove temporary `.lock` files left around by gem installer

    https://github.com/rubygems/rubygems/commit/edbb2e3475

commit 7411caa103ccba8b9c16b9bd7aff96fc2b42f1fc
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-11 22:46:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-16 20:37:58 +0900

    [rubygems/rubygems] Make sure implementations of `Gem.open_file_with_flock` match

    https://github.com/rubygems/rubygems/commit/174a8e5284

commit 532af89e3b5b78dd3a6fe29c6cc64ad1b073afe2
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-15 10:06:11 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-15 10:06:11 +0900

    Prevent warnings: the block passed to ... may be ignored

commit bc13ec735b33771c279e67e4143fa8e98a8252fd
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-15 10:05:57 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-15 10:05:57 +0900

    Prevent warnings: assigned but unused variable

commit ddbd64400199fd408d23c85f9fb0d7f742ecf9e1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 04:18:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-14 04:30:57 +0900

    [ruby/prism] Stat file first to check directory

    https://github.com/ruby/prism/commit/4ed7de537b

commit f85efc9748b193bceaefd2e94293927404ac951f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 04:00:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-14 04:13:21 +0900

    [ruby/prism] Expose main_script in serialization API

    https://github.com/ruby/prism/commit/0b527ca93f

commit 77521afac1687602fde4046ab20f016c61089003
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 01:47:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-14 03:09:02 +0900

    [PRISM] Do not warn ambiguous ampersand when symbol literal

    Fixes [Bug #20735]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11622

commit 9afc6a981deae6e23d938cf5c2c4baadfeaafdb1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 00:21:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-14 01:51:53 +0900

    [PRISM] Only parse shebang on main script

    Fixes [Bug #20730]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11617

commit d42d19059d75bf1c05c1bc916775b47629b59eb7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 01:06:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-14 01:51:36 +0900

    [PRISM] Allow case/when to be indented with no warning

    Fixes [Bug #20731]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11620

commit 74f315c3f5908512dfdeeab2dd76d93e98149769
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-14 00:25:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-14 01:08:56 +0900

    [PRISM] Turn off mismatched indentation warnings in eval

    Fixes [Bug #20732]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11618

commit 353997dd3ee8d437113a3e9b5e85ef850adbf31d
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-09-13 20:25:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-14 00:05:33 +0900

    [ruby/prism] Refactor and move common node flags count into a constant to reuse in templates

    https://github.com/ruby/prism/commit/c20bf05ecc

commit 38f8f42e4fcad111a13b154631e3026be1826538
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-09-12 23:31:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-14 00:05:33 +0900

    [ruby/prism] Unify code style of flags generation in the nodes templates

    https://github.com/ruby/prism/commit/dbb7e0a44e

commit c996f4091fb7af3ff28842ff4b6facdb7f0c35a2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-13 04:04:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-13 23:06:57 +0900

    Ignore -Wdangling-pointer in rb_gc_set_stack_end

    Fixes this compiler warning:

        thread.c:4530:18: warning: storing the address of local variable ‘stack_end’ in ‘*stack_end_p’ [-Wdangling-pointer=]
        4530 |     *stack_end_p = &stack_end;
              |     ~~~~~~~~~~~~~^~~~~~~~~~~~

commit f0dcbbe9b9de45669dad67bd99d4539ccd4bbc83
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-13 01:32:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 22:17:56 +0900

    [ruby/prism] Reverse-sync numbered reference range handling

    https://github.com/ruby/prism/commit/a2f57ef6e3

commit 8e2d971b9ac7b6f0642b0ab83e4a363f8a0c7183
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 19:42:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 21:42:26 +0900

    [rubygems/rubygems] Remove redundant arguments passed to `bundle` helper

    They are used by default.

    https://github.com/rubygems/rubygems/commit/0b7f7d879f

commit 36b2fea69121d62213b0ccd3cb09c6a6effeb543
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 19:16:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 21:42:26 +0900

    [rubygems/rubygems] Remove `BUNDLER_IGNORE_DEFAULT_GEM`

    As long as we use a high enough test version, the default version of
    Bundler should never get in the middle.

    https://github.com/rubygems/rubygems/commit/d63f0818aa

commit 642528511e514cc92655e1800ef5e2830e7fd305
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-13 18:10:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 21:42:25 +0900

    [rubygems/rubygems] Make sure test does not load system version of Bundler

    https://github.com/rubygems/rubygems/commit/d850ea1d95

commit 24493779b79bb57fd2e71bf6e0ababe95448a9d6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-13 10:50:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-13 18:23:28 +0900

    [Bug #20725] Should not call compare on `nil`-endpoint

    It means unbounded, always inclusive of other ranges.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11609

commit 0f3dc2f958bd1447cc459bc4a4f39071a6a07a9c
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 13:48:51 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 16:52:38 +0900

    Prevent warnings "the block passed to ... may be ignored"

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11611

commit b6c7226facc140bf8976d48fbd6c06f729534379
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 15:18:01 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 15:49:28 +0900

    Put typeprof.gemspec

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11612

commit f090d1fa598ec13b30a40101d8de85c02a77cce3
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 14:50:35 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 15:49:28 +0900

    Try to find bundled gem version from lib/*/version.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11612

commit cf5b965897141b84365fbf84231745e18d36c755
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 14:28:23 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 15:49:28 +0900

    Use the development version of typeprof in test-bundled-gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11612

commit 5894202365a80f027880129bcf51840534559237
  Author:     aoki1980taichi <aoki1980taichi@users.noreply.github.com>
  AuthorDate: 2022-06-23 21:40:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-13 14:35:25 +0900

    typo otherBasis -> orthoBasis

    The original function name in ao.c was orthoBasis.
    I guess the function is generating orthonormal basis (https://en.wikipedia.org/wiki/Orthonormal_basis).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/6056

commit 3146cbbbc423c6995936b53b639f65a4b91881db
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-13 13:19:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-13 13:19:31 +0900

    Dont't warn reline called from irb, reline is already declared at irb gemspec

commit 6ae05584bdceb8e8fc5db248d8f4fa7e2c8022c7
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 11:30:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 11:39:11 +0900

    [ruby/net-http] Prevent warnings

    ```
    /home/chkbuild/chkbuild/tmp/build/20240913T003003Z/ruby/test/net/http/utils.rb:32: warning: assigned but unused variable - e
    /home/chkbuild/chkbuild/tmp/build/20240913T003003Z/ruby/test/net/http/utils.rb:61: warning: assigned but unused variable - version
    /home/chkbuild/chkbuild/tmp/build/20240913T003003Z/ruby/test/net/http/utils.rb:124: warning: method redefined; discarding old query
    ```

    https://github.com/ruby/net-http/commit/6f818346ce

commit 5e3f1b6a6d64598982219644edfa9c3da09bafed
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 11:34:20 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 11:34:20 +0900

    Prevent a warning: assigned but unused variable - exp_events

commit d1d0c50c9d557d57cd0c209e5e2759a05eed3f05
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-09-13 11:32:21 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-09-13 11:32:51 +0900

    Prevent a warning: assigned but unused variable - t0

commit d80a81c1526cc01a4cbd2e2bb3e0feae5bd9c800
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-13 09:28:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-13 09:28:51 +0900

    Constify `struct getpwnam_r_args::login`

commit 0fc8422a05e21a3d1247794e8ec34a43010d51c9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-12 23:27:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-13 05:03:28 +0900

    Move checks for heap traversal to rb_gc_mark_weak

    If we are during heap traversal, we don't want to call rb_gc_impl_mark_weak.
    This commit moves that check from rb_gc_impl_mark_weak to rb_gc_mark_weak.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11606

commit 92b7b78e06fe8df4d8e008719f6d9717004b6c51
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-12 23:24:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-13 05:03:28 +0900

    Assert that we are during GC when marking

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11606

commit 661f64e87643f7a7f5042b0454b751215df8b40f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-12 23:23:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-13 05:03:28 +0900

    Add variable objspace in RB_GC_MARK_OR_TRAVERSE

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11606

commit 606db2c423aa2951c3f404fb5b58e15ee635f0ca
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-12 23:21:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-13 05:03:28 +0900

    Move special const checks to rb_gc_mark_weak

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11606

commit 2d495300e2559c4633376086672a1c695d567a1f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-13 04:49:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 04:49:44 +0900

    [PRISM] Fix up pm_compile_branch_condition issue with single insn iseqs

commit 0960c8aacd30c28347de6b7d906df0c5d2d86b41
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-13 04:19:20 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-13 04:19:20 +0900

    [DOC] Tweaks for Array#fetch_values (#11603)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit ce5fd35b356b122ba945706d3682e128cb3cd625
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-13 04:18:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-13 04:18:56 +0900

    [DOC] Tweaks for Array#fetch (#11602)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 05e02783a5ee489064159630252a8ed9cc2c7779
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-13 04:07:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 04:07:04 +0900

    [PRISM] Ignore test_parse_directory if error is nil

commit 9c461cd1252b9a56ca54818e90042745ad08be29
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-13 01:03:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    [PRISM] Check error type for parsing directory

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11497

commit 38ba15beed5eb9f3a4923f9a215473965f31a7bc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 05:49:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    [ruby/prism] Check errno for parsing directory

    https://github.com/ruby/prism/commit/d68ea29d04

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11497

commit ca61729fa7713f650c7e4144daa08932f8b66454
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 04:09:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    Fix opening multibyte character filepath on Windows

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11497

commit d4af38ec9d808da3e2f3ba97477332bc96b258b9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 01:42:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    Fix FILE_SHARE_* permissions for Windows in read_entire_file

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11497

commit d5232fd7aee45d1dba3d07cdbf29389207e5ef6c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 00:59:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    Temporarily exclude some TestRubyOptions test for parse.y

    The description has been updated when running with Prism to have
    +PRISM, which means that tests asserting against the description
    when running with --parser=parse.y will be incorrect if the
    subprocess ends up using Prism. We need to fix these tests, but
    we are currently disabling them in order to get this over the line.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11497

commit f59b908e477797b069bd5628440df6977e972916
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 00:57:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    [PRISM] Omit some TestAST tests when Prism is enabled

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11497

commit d4ab1e448245f1bc13c9262102fd4db3a2284b88
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-11 22:26:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    [PRISM] Move compile scope node to its own function

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11497

commit c4b43692dbca56ef5ff983213faa07d06a4ea8ab
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-11 21:54:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    [PRISM] Move case node compilation into its own function

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11497

commit ea2af5782df63266577ba08a4ef4c30b6d63e564
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 05:35:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-13 02:43:04 +0900

    Switch the default parser from parse.y to Prism

    This commit switches the default parser to Prism. There are a
    couple of additional changes related to this that are a part of
    this as well to make this happen.

    * Switch the default parser in parse.h
    * Remove the Prism-specific workflow and add a parse.y-specific
      workflow to CI so that it continues to be tested
    * Update a few test exclusions since Prism has the correct
      behavior but parse.y doesn't per
      https://bugs.ruby-lang.org/issues/20504.
    * Skips a couple of tests on RBS which are failing because they
      are using RubyVM::AbstractSyntaxTree.of.

    Fixes [Feature #20564]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11497

commit f2919bd11c570fc5f5440d1f101be38f61e3d16b
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-13 02:04:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-13 02:04:10 +0900

    Add error checking to readdir, telldir, and closedir calls in dir.c

    Raise SystemCallError exception when these functions return an error.

    This changes behavior for the following case (found by the tests):

    ```ruby
    dir1 = Dir.new('..')
    dir2 = Dir.for_fd(dir1.fileno)
    dir1.close
    dir2.close
    ```

    The above code is basically broken, as `dir1.close` closed the file
    descriptor.  The subsequent `dir2.close` call is undefined behavior.
    When run in isolation, it raises Errno::EBADF after the change, but
    if another thread opens a file descriptor between the `dir1.close`
    and `dir2.close` calls, the `dir2.close` call could close the file
    descriptor opened by the other thread.  Raising an exception is much
    better in this case as it makes it obvious there is a bug in the code.

    For the readdir check, since the GVL has already been released,
    reacquire it rb_thread_call_with_gvl if an exception needs to be
    raised.

    Due to the number of closedir calls, this adds static close_dir_data
    and check_closedir functions.  The close_dir_data takes a
    struct dir_data * and handles setting the dir entry to NULL regardless
    of failure.

    Fixes [Bug #20586]

    Co-authored-by: Nobuyoshi Nakada <nobu.nakada@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11393

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 15135030e5808d527325feaaaf04caeb1b44f8b5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 05:47:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 00:50:34 +0900

    [ruby/prism] Do not warn \r in shebang on windows

    https://github.com/ruby/prism/commit/e8c862ca1f

commit a542479a750ff65c036df913a4b8d9dd350c4522
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-13 00:04:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-13 00:04:37 +0900

    [ruby/irb] Remove KEYWORD_ALIASES which handled special alias name
    of irb_break irb_catch and irb_next command
    (https://github.com/ruby/irb/pull/1004)

    * Remove KEYWORD_ALIASES which handled special alias name of irb_break irb_catch and irb_next command

    * Remove unused instance variable user_aliases

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    ---------

    https://github.com/ruby/irb/commit/f256d7899f

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit fcb058309b1e2ffcc372ca17b0bcf9812b492653
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-12 10:19:14 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-12 23:47:34 +0900

    Accept version range

    Single `Integer` argument means an exact match to the major version.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11604

commit d8aa8f4184cd18eac0b87d2d4306fb3c245a5479
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-12 08:56:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 23:33:56 +0900

    Related for Array#eql?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11600

commit c147e43b4f18bf3c5838e6a8f770acbeb01f7eff
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-12 08:49:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 23:32:56 +0900

    [DOC] Related for Array#empty?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11599

commit 471d3950e6982719402df2abdd3a489deb7696bb
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-12 08:43:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 23:32:18 +0900

    [DOC] Tweaks for Array#each_index

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11598

commit ad761ad2d0a63270fbd243a477dc962446a5116e
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-19 04:08:06 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-09-12 23:24:02 +0900

    Release GVL for get{pwnam,pwuid,grgid,grnam}_r calls in process.c

    Do not release GVL around get{pwuid,pwnam,grgid,grnam} calls,
    as doing so is not thread-safe.  Another C extension could have
    a concurrent call, and derefencing the returned pointer from
    these calls could result in a segfault.

    Have rb_home_dir_of call rb_getpwdirnam_for_login if available,
    so it can use getpwnam_r and release GVL in a thread-safe manner.

    This is related to GVL releasing work in [Bug #20587].

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11202

commit b10500b72b2a696608015c2a2e60422a296d8614
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-11 00:25:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 23:15:25 +0900

    Assume VM is locked in rb_vm_ci_free

    The GC always locks the VM, so we don't need to lock it in rb_vm_ci_free.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11585

commit f47c057c327467a8dcdb8482b13d2ea281a6ad6f
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-12 10:42:50 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-12 21:06:16 +0900

    Remove unnecessary file

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11590

commit 885cf350de4c80a918a33da109d0462711ac5e49
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-11 18:32:50 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-12 21:06:16 +0900

    Lrama v0.6.10

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11590

commit 2a1962fc4ad720835fd74ea178d4910d00e51b70
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 15:46:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Warn missing irb cases

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11601

commit 86fcfcb3c0c8762aef84ccf2f4f4304887f9c72d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 14:30:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Fixed ensure scope

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11601

commit 6c9f0be6475ced23de2df65969f5e27336932e7c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 14:14:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Don't use instance variable

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11601

commit ee064d1cb2a7a4e2c4e9eecc3f64055c4e6a6801
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 14:02:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Back to Bundler.ui and Bundler::Definition.no_lock

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11601

commit 754e15f4d0a60c8d9abfa7cdc5e06a2365d97ae7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 12:50:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Support bundler/inline mode

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11601

commit 70c66137817d4d4e56e60aaefb841237912e4b43
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-12 12:47:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-12 16:28:02 +0900

    Use better resolution by Bundler at force_activate

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11601

commit 5d358b660d41e64de301f428dc0300a52a6f9566
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-09-08 01:17:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-12 05:41:46 +0900

    Fix issue with super and forwarding arguments in prism_compile.c

    Fixes [Bug #20720]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11565

commit d4d6f1de83628b12e4a27d273edace7762f69860
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 02:51:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 04:17:12 +0900

    [ruby/prism] UTF-8 characters in file name

    https://github.com/ruby/prism/commit/487f0ffe78

commit 12d7ead04318786bd098e29ff92a3ac18c76a839
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-12 00:06:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 03:14:50 +0900

    [rubygems/rubygems] Small simplification in Definition class

    https://github.com/rubygems/rubygems/commit/03ddfd7610

    Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>

commit 364cc958978313f7c886a826f428a9b4bd53f635
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-12 00:03:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 03:14:36 +0900

    [rubygems/rubygems] Uncomment and possibly fix spec on JRuby

    This was commented out almost 10 years ago, but I think it passes now!

    https://github.com/rubygems/rubygems/commit/4a6b1aba3c

commit efc77d535b1a0eab02af98e72f2e40ab295ee2e1
  Author:     John Meade <john.meade@zendesk.com>
  AuthorDate: 2024-09-09 23:22:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 02:19:18 +0900

    [ruby/psych] Ensure strings with only underscores are not processed as Integer

    A string similar to "0x____" should be treated as a string.
    Currently it is processed as an Integer.

    This alters the regex specified by http://yaml.org/type/int.html
    to ensure at least one numerical symbol is present in the string
    before converting to Integer.

    https://github.com/ruby/psych/commit/81479b203e

commit 818e20359f0415413de2888b1e6233f574882471
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-12 00:28:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 02:15:41 +0900

    [DOC] Tweaks for Array#each

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11597

commit 18fb11aaa407feb6677effb0229a9b82806d8b46
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-12 02:14:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-12 02:14:41 +0900

    [DOC] Tweaks for Array#difference (#11593)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit c7faffd1d6013a840d5286312cd08790c0e0e69a
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-11 22:08:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-12 02:14:08 +0900

    [DOC] Tweaks for Array#drop_while

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11596

commit 1be9a99837171fa7ec9b40d216f5a86f39bfaa27
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-12 01:29:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 01:35:10 +0900

    [ruby/prism] Add a flag for arguments that contain forwarding

    https://github.com/ruby/prism/commit/ebd2889bee

commit 886fc69b1cfb20141608eb1f461b93e5a5464cf9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-11 23:42:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-12 00:39:22 +0900

    [ruby/prism] Parse tempfile

    https://github.com/ruby/prism/commit/31154a389a

commit 7facf2323206e244b53d3771a857a8f677d2ab3e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-11 04:35:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 21:49:10 +0900

    [DOC] Related for Array#compact

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11587

commit 0906b1627766efa65e5c4fc2ea15a2337ec0cef0
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-11 21:43:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 21:48:49 +0900

    [DOC] Tweaks for Array#drop

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11595

commit 309362d6c51f731a9a42157c40bc94dca86f8f77
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-11 21:34:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 21:47:09 +0900

    [DOC] Tweaks for Array#dig

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11594

commit c7e186211665691ca9cdb4ae07cf76fbd3df1af8
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-11 21:07:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 21:36:23 +0900

    [DOC] Tweaks for Array#delete_at

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11591

commit 3aeb9c75bd521e0fd8f7df63a27b70e4c10a952e
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-11 21:14:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 21:33:10 +0900

    [DOC] Related for Array#delete_if

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11592

commit e52d4d462f9b4d10f6d29a69058c5117399c968e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-29 21:24:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 20:28:35 +0900

    [rubygems/rubygems] Fix `bundle exec rake install` failing when local gem has extensions and `gemspec` DSL is being used

    In a `bundle exec` context, the local specification will actually be
    part of the known specifications, so RubyGems will assume it has already
    been installed, which is not actually true.

    This will cause `RequestSet` to rebuild extensions for a gem that's not
    actually installed, causing errors.

    The fix is to make sure detection of installed activation requests
    considers not only that there's a known spec with the same full name as
    the one being installed, but also that this spec is installed in the
    same gem_home were pretend to install the new gem.

    https://github.com/rubygems/rubygems/commit/a8ef1286a6

commit 89eba5074e8ffc28a54646d40f6915d279be367d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 03:07:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 20:28:12 +0900

    [rubygems/rubygems] Only raise DSLError during Gemfile parsing when it's actually useful

    DSLError prints the specific line in a Gemfile where the error was
    raised. That's helpful when the error was explicitly raised by the
    Gemfile DSL or, in the case it's implicitly raised, when the offending
    code lives right in the Gemfile.

    If it's an internal error, or something buried dowm in user code called
    from the Gemfile, `DSLError` is not helpful since it hides the actual
    culprit.

    This commit tries to only raise `DSLError` in the cases mentioned above
    and otherwise let the original error be raised.

    https://github.com/rubygems/rubygems/commit/b30ff5a682

commit 1d72b3bd1a1ebaaca89b50a8b6f391b7358c0986
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-05 23:12:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 20:28:12 +0900

    [rubygems/rubygems] Don't rescue Exception when evaluating Gemfile

    Things like OOM, or StackOverflow should be raised immediately.

    https://github.com/rubygems/rubygems/commit/11691ce492

commit f0b9baa2d6c79d5a9f1c23e54ec8bb2cf33a1c18
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-05 21:04:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 20:28:11 +0900

    [rubygems/rubygems] Refactor setting current gemfile in DSL

    https://github.com/rubygems/rubygems/commit/b4ecb66224

commit 1d768ebd712293e1a3d87e537a0b0d4dbdd7c54e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-05 21:22:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 20:28:11 +0900

    [rubygems/rubygems] The `dsl_path` parameter in DSLError is documented as a string

    https://github.com/rubygems/rubygems/commit/ab44fa9ee4

commit baac5376da6a836397745056b1e2d4f9f5dbac7b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-11 16:52:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-11 18:13:01 +0900

    Use macos? helper

commit 74c3259ce70ae51ca79dea1e607a0284f8d129cf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-11 16:46:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-11 18:13:01 +0900

    macOS 10.13(High Sierra) is already EOL

commit 0b11e039d7a38550bf5d93df96081e0bf3df29a4
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-11 16:09:54 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-11 18:01:16 +0900

    Fix wrong NODE name

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11584

commit d03e0d1c35638fcd3b474bf604c855f132356e6d
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-10 16:41:27 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-11 18:01:16 +0900

    Implement BREAK, NEXT and REDO NODE locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11584

commit f7ffa76377ead1760dcb0a84db282facb461ecd7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-11 14:13:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-11 14:13:30 +0900

    Clean up clean only extensions

    The clean targets should clean up all extensions, including those have
    nothing to build for any reason, e.g., platform requirements etc.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11588

commit cb576c13fb15a80fd77b81071cc3a68a340ecb33
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-11 14:09:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-11 14:09:45 +0900

    Fix duplicate dependency lines

    exts.mk should deal with cleanings of extensions, including bundled
    gems.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11588

commit 6c16598a72213b492132e3f26bd7ba15a2f7113e
  Author:     Ivan Kuchin <tadump+git@gmail.com>
  AuthorDate: 2023-12-27 22:16:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 13:49:08 +0900

    [ruby/pathname] use delete_prefix instead of sub in find method

    delete_prefix with a string is easier to read than a regular expression
    also it should be faster. It is available since ruby 2.5 and the gem requires
    ruby 2.7.

    https://github.com/ruby/pathname/commit/0070f43f19

commit c37b667774c0c7fc761d974bdec9e4d593781433
  Author:     Yuji Yaginuma <yuuji.yaginuma@gmail.com>
  AuthorDate: 2024-09-11 11:29:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-11 13:41:20 +0900

    [rubygems/rubygems] Make an exe file executable when generating new gems

    Currently, an exe file isn't executable when generating new gems
    because it doesn't have the correct permission.
    This PR sets the correct permission same as files under the `bin`.

    https://github.com/rubygems/rubygems/commit/6509bf128a

commit 4e6091ce09154d735cca025a4d0130eecebbbc19
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-10 00:13:24 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-11 09:28:55 +0900

    Implement WHILE and UNTIL NODE locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11579

commit 1adcc41b94d49899b1809fba119f74501fc992b1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-11 02:15:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:38:54 +0900

    [DOC] What's Here for String#append_as_bytes

    String#append_as_bytes was newly introduced in #11552.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11586

commit a723d480813c4b4ad2fdaca498279b4d2abba250
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-10 00:10:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:38:41 +0900

    [DOC] Tweaks for Array#delete

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11578

commit 7ec51310d510ac8b46a7815e49bf8098a8957300
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-09 23:45:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:37:41 +0900

    [DOC] Related for Array#cycle

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11577

commit a055a426ed146c55f4916f0c2d198bb9de109725
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-09 23:26:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:37:17 +0900

    [DOC] Related for Array#count

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11575

commit ff43e618e99851592b6b595d640941588911ed4f
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-08 09:00:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:36:46 +0900

    [DOC] Related for Array#concat

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11571

commit b27a128d72d7f24f8ef037a18f2b4d2d602ee955
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-08 08:51:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:31:50 +0900

    [DOC] Related for Array#compact

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11569

commit 648866b6710f815b861be8f43faab9b02d074861
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-08 06:12:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:31:31 +0900

    [DOC] Related for Array#combination

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11568

commit 175a98d5160e9c3773c1273c07255c6ab9b8a396
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-08 06:05:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 04:30:40 +0900

    [DOC] Related for Array#collect!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11567

commit 316c2001e04d76c9f898074c6a87b4e8f2668536
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-08 05:56:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:53:35 +0900

    Related for Array#collect

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11566

commit 07a0aa9be67a0a0c2b0f501fb470c91091056188
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-02 01:49:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:07:04 +0900

    [DOC] Fix link

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11528

commit 5df574d26e6c97281678414a3eecf80544d7f494
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-02 01:22:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:04:41 +0900

    [DOC] Fix links

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11527

commit ec3851e6b1e3dc652e46426b911530b1173ab153
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-02 00:18:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:03:13 +0900

    [DOC] Related for Array#clear

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11526

commit bd9fa014e39b1d805cedcce43052234136ff8b95
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-02 00:09:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:02:23 +0900

    [DOC] Related for Array bsearch methods

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11525

commit 3d09242cc411283dc972564961fdff5fc0b8e56d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-01 23:41:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:01:21 +0900

    [DOC] Related for Array#at

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11524

commit a552e04d81a8c754382ca5d50455152467f034c4
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-01 03:57:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:00:54 +0900

    [DOC] Related for Array#assoc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11521

commit b420b094d97343bdbc24b946c17f9550c779647c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-01 03:48:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:00:28 +0900

    [DOC] Related for Array#push

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11520

commit ccd35eaecf7604a9c2edc4a6d9eab5fa8c527cab
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-09-01 02:11:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-11 03:00:00 +0900

    [DOC] Rationalize aliases in What's Here

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11518

commit 22f12b0a62c512f115cd60d4192e53921b11f0c7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-10 01:11:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-10 23:09:50 +0900

    Use rb_id_table_foreach_values for marking CC table

    We don't use the key, so we can speed it up by not needing to convert the
    key to ID in the iterator.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11580

commit a79907ed5e8014215a658f4731ff33df3aca9eaa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-10-25 16:44:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 17:44:50 +0900

    [ruby/tmpdir] Reject empty parent path

    https://github.com/ruby/tmpdir/commit/628c5bdc59

commit 3231ac6008bdcfe605b97bf09d79b3e58a2e58a3
  Author:     Kasumi Hanazuki <kasumi@rollingapple.net>
  AuthorDate: 2024-08-31 16:31:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 17:34:37 +0900

    [ruby/resolv] test_dns: Fix FD leak

    The listening TCP socket is closed by `with_udp_and_tcp` helper, but
    the connected socket is leaking.

    ```
    Leaked file descriptor: TestResolvDNS#test_multiple_servers_with_timeout_and_truncated_tcp_fallback: 12 : #<TCPSocket:fd 12, AF_INET, 127.0.0.1, 50888>
    COMMAND     PID     USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
    ruby    3248055 chkbuild   12u  IPv4 112546322      0t0  TCP localhost:50888->localhost:40112 (CLOSE_WAIT)
    ```

    For the purpose of the test case to simulate a timeout over TCP
    transport, we have to delay closing this socket until the end the test
    case.

    Fixup: https://github.com/ruby/resolv/pull/50

    https://github.com/ruby/resolv/commit/236c38bdb1

commit f622548800e538ec88ddc45148113a1a8b520ac9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 23:44:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 17:33:32 +0900

    [ruby/resolv] Add spec extensions

    https://github.com/ruby/resolv/commit/3189d16b69

commit 2d12fbc4db7d1501d8f2a6b464af165ec40f7f3c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-10 15:37:32 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-10 16:50:21 +0900

    Add predicates for platforms

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11583

commit a3ba723ef09f0a42bb7ad31167a5457756e53f8d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-10 16:06:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-10 16:07:04 +0900

    Suppress constant warning for test-bundled-gems-spec

commit 3db2782748e0753f0e4b5c10e6837e0609c5ad1b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-10 10:09:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:49 +0900

    [rubygems/rubygems] Mark to exclude examples at ruby/ruby repository

    `make test-bundler` on ruby/ruby don't have installed gemspec.
    So, `require "psych"` didn't activate psych as default gems on ruby repo.

    https://github.com/rubygems/rubygems/commit/f8ca514cbb

commit a5d658cb7a6ecedc5eadf6709ea31bf5cf0229be
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-09 19:06:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:48 +0900

    [rubygems/rubygems] Removed duplicated dependencies that used by bundler inline

    https://github.com/rubygems/rubygems/commit/d46b6a49af

commit 3725c388f8654c789c87c0b9633c99241679bf9a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-09 17:28:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:48 +0900

    [rubygems/rubygems] Added example for bundler/inline conflict

    https://github.com/rubygems/rubygems/commit/6b1e8a14bd

commit f8f9cecd7003227ea21422dfd6609cbafaf5e5f5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-05-13 21:50:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:47 +0900

    [rubygems/rubygems] Retry resolution with activated gems if inline has conflicts

    https://github.com/rubygems/rubygems/commit/8d94c14ca0

    Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>

commit 07fa9e3a8f4246498ff143407aa5e8f8f49bcc9f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-05-13 21:03:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:47 +0900

    [rubygems/rubygems] Remove unnecessary verification

    `DSL#to_definition` already verifies this.

    https://github.com/rubygems/rubygems/commit/c596f0af83

commit d6baa6258c394df9ef54282bc738a326396e06ab
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-05-13 20:35:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 11:50:46 +0900

    [rubygems/rubygems] Avoid having to redefine `Definition#lock` in inline mode

    https://github.com/rubygems/rubygems/commit/0b7be7bb77

    Co-authored-by: Jonathan Hefner <jonathan@hefner.pro>

commit 88723dd5a5a27bb0bc244c7b20223ca99f917fd6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-10 04:28:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-10 04:28:05 +0900

    [DOC] Fix missing colons in String

commit bd7bc9e2bac6165577c409ade6682e67fd944a73
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-10 04:26:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-10 04:26:00 +0900

    [DOC] Rationalize aliases in "What's Here" (#11517)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 2b1147f1de8f510fe8c77939c5975107c00d017a
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-10 04:24:33 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-10 04:24:33 +0900

    [DOC] Rationalize aliases in "What's Here" (#11516)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 7a6533452807aa432f097db4e637e4c480645d6b
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-09-08 18:25:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-10 04:01:30 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser` for double splat argument.

    ## Parser gem (Expected)

    Returns `tDSTAR` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "def f(**foo) end"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:kDEF, ["def", #<Parser::Source::Range example.rb 0...3>]], [:tIDENTIFIER, ["f", #<Parser::Source::Range example.rb 4...5>]],
    [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 5...6>]], [:tDSTAR, ["**", #<Parser::Source::Range example.rb 6...8>]],
    [:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 8...11>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 11...12>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 13...16>]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the parser returned `tPOW` token when parsing the following:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "def f(**foo) end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:kDEF, ["def", #<Parser::Source::Range example.rb 0...3>]], [:tIDENTIFIER, ["f", #<Parser::Source::Range example.rb 4...5>]],
    [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 5...6>]], [:tPOW, ["**", #<Parser::Source::Range example.rb 6...8>]],
    [:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 8...11>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 11...12>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 13...16>]]]
    ```

    After the update, the parser now returns `tDSTAR` token for the same input:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "def f(**foo) end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:kDEF, ["def", #<Parser::Source::Range example.rb 0...3>]], [:tIDENTIFIER, ["f", #<Parser::Source::Range example.rb 4...5>]],
    [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 5...6>]], [:tDSTAR, ["**", #<Parser::Source::Range example.rb 6...8>]],
    [:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 8...11>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 11...12>]],
    [:kEND, ["end", #<Parser::Source::Range example.rb 13...16>]]]
    ```

    With this change, the following code could be removed from test/prism/ruby/parser_test.rb:

    ```diff
    -          when :tPOW
    -            actual_token[0] = expected_token[0] if expected_token[0] == :tDSTAR
    ```

    `tPOW` is the token type for the behavior of `a ** b`, and its behavior remains unchanged:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "a ** b"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tIDENTIFIER, ["a", #<Parser::Source::Range example.rb 0...1>]], [:tPOW, ["**", #<Parser::Source::Range example.rb 2...4>]],
    [:tIDENTIFIER, ["b", #<Parser::Source::Range example.rb 5...6>]]]
    ```

    https://github.com/ruby/prism/commit/66bde35a44

commit 1205f17125e5e07d7649c8c9fedcf4b74079a54d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-09 23:55:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:55:18 +0900

    ASAN unlock freelist in size_pool_add_page

commit f2057277ea604293aadc3c31b09becea0d539a87
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-09 23:23:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:23:25 +0900

    ASAN unlock freelist in gc_sweep_step

commit 5a502c1873165418a866eb817b44944a6a8784cb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-07 04:26:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:15:21 +0900

    Add keys to GC.stat and fix tests

    This adds keys heap_empty_pages and heap_allocatable_slots to GC.stat.

commit 079ef92b5e59b616d670efe81a33e500f2bf6451
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-06 05:07:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:15:21 +0900

    Implement global allocatable slots and empty pages

    [Bug #20710]

    This commit introduces moves allocatable slots and empty pages from per
    size pool to global. This allows size pools to grow globally and allows
    empty pages to move between size pools.

    For the benchmark in [Bug #20710], this signficantly improves performance:

        Before:
            new_env      2.563 (± 0.0%) i/s -     26.000 in  10.226703s
            new_rails_env      0.293 (± 0.0%) i/s -      3.000 in  10.318960s

        After:
            new_env      3.781 (±26.4%) i/s -     37.000 in  10.302374s
            new_rails_env      0.911 (± 0.0%) i/s -      9.000 in  10.049337s

    In the headline benchmarks on yjit-bench, we see the performance is
    basically on-par with before, with ruby-lsp being signficantly faster
    and activerecord and erubi-rails being slightly slower:

        --------------  -----------  ----------  -----------  ----------  --------------  -------------
        bench           master (ms)  stddev (%)  branch (ms)  stddev (%)  branch 1st itr  master/branch
        activerecord    452.2        0.3         479.4        0.4         0.96            0.94
        chunky-png      1157.0       0.4         1172.8       0.1         0.99            0.99
        erubi-rails     905.4        0.3         967.2        0.4         0.94            0.94
        hexapdf         3566.6       0.6         3553.2       0.3         1.03            1.00
        liquid-c        88.9         0.9         89.0         1.3         0.98            1.00
        liquid-compile  93.4         0.9         89.9         3.5         1.01            1.04
        liquid-render   224.1        0.7         227.1        0.5         1.00            0.99
        lobsters        1052.0       3.5         1067.4       2.1         0.99            0.99
        mail            197.1        0.4         196.5        0.5         0.98            1.00
        psych-load      2960.3       0.1         2988.4       0.8         1.00            0.99
        railsbench      2252.6       0.4         2255.9       0.5         0.99            1.00
        rubocop         262.7        1.4         270.1        1.8         1.02            0.97
        ruby-lsp        275.4        0.5         242.0        0.3         0.97            1.14
        sequel          98.4         0.7         98.3         0.6         1.01            1.00
        --------------  -----------  ----------  -----------  ----------  --------------  -------------

commit de7ac11a09249defd93d1ee34c817fa9d31e7936
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-05 04:09:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:15:21 +0900

    Replace heap_allocated_pages with rb_darray_size

commit b66d6e48c8832edebcf7e6d667d10702ddbce42c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-05 00:59:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-09 23:15:21 +0900

    Switch sorted list of pages in the GC to a darray

commit 16f241f0aa047ed77ccea6b6c361b421a72d0454
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-01 18:14:19 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-09 22:04:51 +0900

    Implement String#append_as_bytes(String | Integer, ...)

    [Feature #20594]

    A handy method to construct a string out of multiple chunks.

    Contrary to `String#concat`, it doesn't do any encoding negociation,
    and simply append the content as bytes regardless of whether this
    result in a broken string or not.

    It's the caller responsibility to check for `String#valid_encoding?`
    in cases where it's needed.

    When passed integers, only the lower byte is considered, like in
    `String#setbyte`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11552

commit 966901b39dd7b37eec68dd6e8a76a79827dc522f
  Author:     Daniel Colson <danieljamescolson@gmail.com>
  AuthorDate: 2024-09-07 02:10:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 20:59:52 +0900

    [rubygems/rubygems] Don't include hook templates in cached git source

    With a default git setup, each cloned repo in the cache will end up with
    ~60K of sample git hooks. These files all end in `.sample`, and they are
    disabled by default. Deleting them should be a no-op, and makes the
    cache a bit smaller.

    https://github.com/rubygems/rubygems/commit/d2149999cd

commit 3aae0873f71098946fa06d8428205762a26e1f27
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-09 19:22:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-09 19:22:45 +0900

    Update clang for LTO

commit 391bb55a8ebfd93a49c5c4aac5885c4ae4573a14
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-09 17:25:22 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-09 19:12:41 +0900

    Run just bignum related tests when gmp enabled

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11574

commit d7b0f269636749fdae2ba155ba5f9b752aa17341
  Author:     zverok <zverok.offline@gmail.com>
  AuthorDate: 2024-09-09 01:26:23 +0900
  Commit:     Akinori MUSHA <knu@idaemons.org>
  CommitDate: 2024-09-09 17:46:13 +0900

    Return back legacy Range#step behavior for symbol ranges

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11573

commit 155989415b660caba247db74f96b299e0cea66c1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-03 02:12:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 17:46:02 +0900

    [rubygems/rubygems] Avoid now unnecessary reset

    https://github.com/rubygems/rubygems/commit/511c7b211b

commit 72e80c8f29c7da37039e16f403814aa7fedc7754
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-30 01:26:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 17:46:01 +0900

    [rubygems/rubygems] Make `gem exec` use the standard GEM_HOME

    https://github.com/rubygems/rubygems/commit/032b3c518a

commit a304fe00f3db3719f7dbb6942e7e65e49d760c48
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 18:55:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 17:44:27 +0900

    [rubygems/rubygems] Fix `gem fetch` always exiting with zero status code

    https://github.com/rubygems/rubygems/commit/5887e6dfa1

commit a2ae7450d75bafbbbbd1cf9c1b5ada09038d7cf6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-09 16:25:43 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-09 16:25:43 +0900

    Suppress discards qualifiers warning with ASN

commit 2d4fdafa64cc3153792c870a56971a70db23033b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-09 15:46:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 15:46:51 +0900

    [ruby/psych] Bump up 5.2.0.beta1

    https://github.com/ruby/psych/commit/a8b73bb80e

commit 74872109beb8280eebf7ad1edae23b3c356a1923
  Author:     Juanjo Bazán <jjbazan@gmail.com>
  AuthorDate: 2024-07-12 19:46:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 15:44:40 +0900

    [ruby/psych] Unlimited line_width with -1

    https://github.com/ruby/psych/commit/3b63a93dfc

commit dbfabafe9676c5569f2a923fd713b3fdd24ab344
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-09 15:27:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 15:43:35 +0900

    [ruby/psych] Make to load stringio lazily

    https://github.com/ruby/psych/commit/9f5392d180

commit aed8e46118e592a9d7752f6e1cd48a5fad07d941
  Author:     Gareth Jones <Jones258@Gmail.com>
  AuthorDate: 2024-01-27 05:59:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 15:40:59 +0900

    [ruby/psych] docs: specify correct default `fallback` value

    https://github.com/ruby/psych/commit/ce7946981d

commit d52e599538fb67535c95d86aec89fd7e53c61818
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-05 18:41:10 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-09 10:34:02 +0900

    Implement WHEN NODE locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11553

commit b5f12910151f93f5f14057c52ffffa2b2ef09caa
  Author:     JP Camara <jp@jpcamara.com>
  AuthorDate: 2024-08-28 06:57:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-09 09:10:06 +0900

    The Timeout::Error example no longer works consistently

    * This PR from the timeout gem (https://github.com/ruby/timeout/pull/30) made it so you have to handle_interrupt on Timeout::ExitException instead of Timeout::Error

    * Efficiency changes to the gem (one shared thread) mean you can't consistently handle timeout errors using handle_timeout: https://github.com/ruby/timeout/issues/41

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11474

commit 19c1f0233eb5202403c52b196f1d573893eacab7
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-09-06 19:09:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-09 01:43:50 +0900

    [ruby/benchmark] Set required_ruby_version = ">= 2.1.0"

    `Process.clock_gettime` only works since 2.1

    https://github.com/ruby/benchmark/commit/94cfe56291

commit ac960b08eee1ef984097847034fb1de5b28b0b78
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-09 00:51:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-09 00:51:41 +0900

    Clean up dummped IBF files

commit 6e544f2fed8c26de14be55093ef66315977ef7d0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-08 21:42:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-08 23:40:18 +0900

    Initialize goruby only when executing

commit ecb58a8d08bb3b53326319fb5b7ba3ed26fcac2b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-08 21:18:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-08 23:40:17 +0900

    Fix prelude to use IBF

    Since universal-parser and prism support, prelude code used functions
    inaccessible from outside libruby shared library.

    ```
    linking goruby
    /usr/bin/ld: goruby.o: in function `prelude_eval':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:221: undefined reference to `rb_ruby_prism_ptr'
    /usr/bin/ld: goruby.o: in function `pm_prelude_load':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:192: undefined reference to `pm_options_line_set'
    /usr/bin/ld: /home/runner/work/ruby/ruby/build/golf_prelude.c:193: undefined reference to `pm_parse_string'
    /usr/bin/ld: goruby.o: in function `prelude_eval':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:224: undefined reference to `pm_iseq_new_with_opt'
    /usr/bin/ld: /home/runner/work/ruby/ruby/build/golf_prelude.c:226: undefined reference to `pm_parse_result_free'
    /usr/bin/ld: goruby.o: in function `prelude_ast_value':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:181: undefined reference to `rb_ruby_ast_data_get'
    /usr/bin/ld: goruby.o: in function `prelude_eval':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:231: undefined reference to `rb_ruby_ast_data_get'
    /usr/bin/ld: goruby.o: in function `pm_prelude_load':
    /home/runner/work/ruby/ruby/build/golf_prelude.c:196: undefined reference to `pm_parse_result_free'
    collect2: error: ld returned 1 exit status
    ```

commit 70871fa6e3172d10d615174e9aa909d3e08687f0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-08 21:06:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-08 23:16:46 +0900

    Extract `rb_builtin_find`

    Refactor out the same code from `rb_builtin_ast_value` and
    `pm_builtin_ast_value.

commit be84abffbaf315c7534ec4c76edc7b30c3ec8111
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-08 21:02:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-08 23:16:46 +0900

    Gather code for builtin loading to miniinit.c

commit d2179eeaacd9a85fa10188d79f74adc8068f29c3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-07 21:43:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-08 23:16:46 +0900

    Try to run goruby

commit 903f3790ade13054af6a4c2f654d8b75edf0936e
  Author:     otegami <otegami@clear-code.com>
  AuthorDate: 2024-09-06 09:32:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 23:13:00 +0900

    [ruby/open-uri] Update error message for `request_specific_fields` option validation

    Added `inspect` to the `request_specific_fields` value to provide
    better visibility for users in the exception message.

    https://github.com/ruby/open-uri/commit/f89ce5112d

commit 76475bf5c090a482af0e656601c38d138205bad1
  Author:     otegami <otegami@clear-code.com>
  AuthorDate: 2024-08-28 17:00:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 23:13:00 +0900

    [ruby/open-uri] Add documentation for `request_specific_fields` option

    https://github.com/ruby/open-uri/commit/2e7734c061

commit 0ac16215da216556e6aa14b271d7be4885c13c76
  Author:     otegami <otegami@clear-code.com>
  AuthorDate: 2024-08-27 18:16:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 23:12:59 +0900

    [ruby/open-uri] Add test about `request_specific_fields` option

    https://github.com/ruby/open-uri/commit/060886f312

commit 6ea2b6f65f92c4b8cfd91a655dcd89a7082bf6e4
  Author:     otegami <otegami@clear-code.com>
  AuthorDate: 2024-08-27 13:45:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 23:12:59 +0900

    [ruby/open-uri] Add `request_specific_fields` option for customizing headers

    This commit introduces the `request_specific_fields` option in OpenURI.
    It provides two methods for customizing headers as follows.

    1. Specify headers only for the initial request

    Use a Hash to apply headers only to the first request.
    These headers are automatically removed during redirects.

    2. Specify headers dynamically for each request

    Use a Proc to dynamically generate headers for each request,
    including during redirects, based on the request URL.

    This feature allows users to control headers flexibly,
    ensuring that sensitive headers like "Authorization" are not unintentionally
    transferred during redirects unless explicitly specified.

    https://github.com/ruby/open-uri/commit/460f858e3c

commit ec5d5422ca7220975a4eded9a39a9f2a30d9e758
  Author:     Mads Ohm Larsen <mads.ohm@gmail.com>
  AuthorDate: 2024-09-08 21:17:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 21:17:36 +0900

    [ruby/rdoc] Use pointer cursor for navigation toggle
    (https://github.com/ruby/rdoc/pull/1175)

    https://github.com/ruby/rdoc/commit/964a1982c8

commit 47742841246c637053dc8dad447c7e5e28182676
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-09-07 23:21:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-08 07:36:38 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser` for left parenthesis.

    ## Parser gem (Expected)

    Returns `tLPAREN2` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 \
    -ve 'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "foo(:bar)"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 0...3>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 3...4>]],
    [:tSYMBOL, ["bar", #<Parser::Source::Range example.rb 4...8>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 8...9>]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the parser returned `tLPAREN` token when parsing the following:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "foo(:bar)"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 0...3>]], [:tLPAREN, ["(", #<Parser::Source::Range example.rb 3...4>]],
    [:tSYMBOL, ["bar", #<Parser::Source::Range example.rb 4...8>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 8...9>]]]
    ```

    After the update, the parser now returns `tLPAREN2` token for the same input:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "foo(:bar)"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.4.0dev (2024-09-01T11:00:13Z master https://github.com/ruby/prism/commit/eb144ef91e) [x86_64-darwin23]
    [[:tIDENTIFIER, ["foo", #<Parser::Source::Range example.rb 0...3>]], [:tLPAREN2, ["(", #<Parser::Source::Range example.rb 3...4>]],
    [:tSYMBOL, ["bar", #<Parser::Source::Range example.rb 4...8>]], [:tRPAREN, [")", #<Parser::Source::Range example.rb 8...9>]]]
    ```

    The `PARENTHESIS_LEFT` token in Prism is classified as either `tLPAREN` or `tLPAREN2` in the Parser gem.
    The tokens that were previously all classified as `tLPAREN` are now also classified to `tLPAREN2`.

    With this change, the following code could be removed from `test/prism/ruby/parser_test.rb`:

    ```diff
    -          when :tLPAREN
    -            actual_token[0] = expected_token[0] if expected_token[0] == :tLPAREN2
    ```

    https://github.com/ruby/prism/commit/04d6f3478d

commit f97332a3a3647b79a19a7ad81ab8e58bc8608399
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-07 16:34:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-07 16:34:28 +0900

    Preserve encoding in exception message of `Float`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11564

commit c1862cbb89a6bf42dcd07d92fe4f4bfeebca5775
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-07 16:06:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-07 16:06:14 +0900

    [Bug #20719] `Float` argument must be ASCII compatible

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11564

commit c1a510a8dffa1c8065e47697cd57edae67126712
  Author:     Jonathan Calvert <athemeus@athemeus.com>
  AuthorDate: 2024-09-07 12:19:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-07 12:19:47 +0900

    [Bug #20718] Free non-`RTypedData` objects

    Allow objects that are not of type `RTypedData` to use the default
    free function, as `RTYPEDDATA_EMBEDDED_P` can return a false positive
    when casting non-`RTypedData` objects.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11563

    Merged-By: nobu <nobu@ruby-lang.org>

commit 6dc93846943a0fc85e597fd16c653de6fd7f35d7
  Author:     Mads Ohm Larsen <mads.ohm@gmail.com>
  AuthorDate: 2024-09-07 06:26:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 06:26:17 +0900

    [ruby/rdoc] Add more space after magnifying glass
    (https://github.com/ruby/rdoc/pull/1173)

    https://github.com/ruby/rdoc/commit/6a9cad4c54

commit 731805ddde4b6a2b72a6648f1b3a61dd0366af76
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-09-06 15:06:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-07 05:51:19 +0900

    Add an explicit check for broken libunwind builds

    Libunwind as packaged in MacOS cannot actually unwind code which has
    pointer authentication on, because _LIBUNWIND_IS_NATIVE_ONLY is not
    defined. Add a check for this, and prefer building with working
    unwinding over pointer authentication if we must make a choice.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11548

commit 2865148a5aeb067ab8e1373a12c2f16de8cca0c9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-05 02:47:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-07 05:51:19 +0900

    Revert "Check for both aarch64 and arm64 arch's for pac-ret"

    This reverts commit 6a746e1bc902d4245aac58db4e9ffc2f72d79629.

    This patch breaks the C level backtrace on macOS ARM machines.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11548

commit b0adae7fb25cd0c2113c3498d384c1f0ffad5e6e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-07 02:01:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 03:44:38 +0900

    [rubygems/rubygems] Remove unnecessary "./" when appending string to uri

    https://github.com/rubygems/rubygems/commit/732679306d

commit fe1bace43c73d88a5721e9b97066e746a34f135c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 16:34:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 03:44:37 +0900

    [rubygems/rubygems] Fix `gem install does-not-exist` being super slow

    Every time a gem is not found in the Compact Index API, RubyGems will
    fallback to the full index, which is very slow. This is unnecessary
    because both indexes should be providing the same gems, so if a gem
    can't be found in the Compact Index API, it won't be found in the full
    index.

    We _do_ want a fallback to the full index, whenever the Compact Index
    API is not implemented. To detect that, we check that the API responds
    to the "/versions" endpoint, just like Bundler does.

    Before:

    ```
    $ time gem install fooasdsfafs
    ERROR:  Could not find a valid gem 'fooasdsfafs' (>= 0) in any repository
    gem  20,77s user 0,59s system 96% cpu 22,017 total
    ```

    After:

    ```
    $ time gem install fooasdsfafs
    ERROR:  Could not find a valid gem 'fooasdsfafs' (>= 0) in any repository
    gem  5,02s user 0,09s system 91% cpu 5,568 total
    ```

    https://github.com/rubygems/rubygems/commit/c0d6b9eea7

commit 2a17b4f0222a24e2ae2cd686e611f6951215387e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 20:02:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 03:44:37 +0900

    [rubygems/rubygems] Deprecate constant that has been unused for a long time

    https://github.com/rubygems/rubygems/commit/282dbb3d62

commit 4478ca31131a1c5d7eac5ae79bfae5f2d28f4d60
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 20:01:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 03:44:36 +0900

    [rubygems/rubygems] Remove incorrect documentation

    This exception has not been raised for a long time.

    https://github.com/rubygems/rubygems/commit/a6271a0b21

commit 53f784178ac4eb4c854985e7855be2b9d66dfe8c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-06 19:59:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 03:44:36 +0900

    [rubygems/rubygems] Remove unreachable code

    Nothing is actually raising this at the moment.

    https://github.com/rubygems/rubygems/commit/3b824ca7a6

commit ad742de79bcce53290005429868f63c51cbeb0f2
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-09-06 03:06:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-07 01:58:18 +0900

    [ruby/openssl] Fix test_provider.rb in FIPS.

    https://github.com/ruby/openssl/commit/7bdbc52100

commit 30176e3f238f198ae835bf1c593d2ad2dce2df49
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-16 20:19:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 23:46:43 +0900

    [rubygems/rubygems] Ensure that the lock file will be removed

    https://github.com/rubygems/rubygems/commit/2706acb271

commit 6dd917bd01f204e76d65137f2218d6305652f179
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-15 16:20:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 23:46:42 +0900

    [rubygems/rubygems] Workaround for TruffleRuby

    https://github.com/rubygems/rubygems/commit/b82e43fd54

commit 5afee4d79599e5aad366a788b0c84e68594e6d34
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-13 17:19:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 23:46:42 +0900

    [rubygems/rubygems] Remove the lock file for binstubs

    https://github.com/rubygems/rubygems/pull/7806#issuecomment-2241662488

    https://github.com/rubygems/rubygems/commit/4f06ee234a

commit 6bf519ba8128a2dfa7f2f2bec92ca6321b39406a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-04 23:49:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-06 22:56:59 +0900

    Remove unneeded rb_darray_append_impl

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11546

commit 37712c1ed6cc57a3b5979a6e695ab24b5e64c4e6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-06 21:58:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-06 21:58:01 +0900

    Prefer constants for `shutdown` over magic numbers

commit bc85c8d8529b58c5c649f418ca549569ba348caa
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-06 03:00:32 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-06 19:40:32 +0900

    Implement Array#fetch_values

    [Feature #20702]

    Works the same way than `Hash#fetch_values` for for array.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11557

commit 214668fccbca2db14ce57797017b34acd86d4690
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-06 15:53:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-06 15:53:46 +0900

    [Feature #20707] Fix negative UTC offset conversion

    In short, get rid of division and modulo of negative integers.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11561

commit 7387a0979158c50ca37884f14bad2b493d3e2f0a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-01 00:26:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 14:58:21 +0900

    [ruby/digest] Suppress md5 deprecation warnings by gcc as well as clang

    https://github.com/ruby/digest/commit/76878e3201

commit 0e7b6e348fa5b85de365ab9ec62abe26d0adb0bc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 13:37:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-06 14:45:17 +0900

    Merge GH-11492

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11560

commit 74c4e562e2ed3f641e68219db507b5a41ea3b6eb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 13:26:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-06 14:45:17 +0900

    Warn missing irb cases

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11560

commit 1b4f394c527652210941d1da768b83203a33715d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 13:24:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-06 14:45:17 +0900

    Only provide force_activate. Because it's hard to determine require name.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11560

commit 69d0e690bb632c0f67d8bb55988e91f61aff68f8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 13:06:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-06 14:45:17 +0900

    Added force_require for binding.irb

    When we make irb to bundled gems, binding.irb with bundle exec is not
    working without irb declaration of Gemfile.

    This force_require makes to load irb without Gemfile.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11560

commit e43d701f091e78725acc312465174d938fd5d639
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 12:56:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-06 14:45:17 +0900

    Warn irb, reline for Ruby 3.5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11560

commit e17d91459cc1f806b31feaff0cdbaaafea4c9b86
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-06 09:31:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 09:31:38 +0900

    [ruby/time] Bump up v0.4.0

    https://github.com/ruby/time/commit/a14fa00ef7

commit 72acd1c8b1003467d838728a5c113a127a441f6b
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-05 17:06:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 07:37:35 +0900

    [ruby/time] Do not redefine Time#xmlschema if it already exists

    [Feature #20707]

    Ruby 3.4 will define this method natively, so the time gem shouldn't
    redefine it with a slower version.

    https://github.com/ruby/time/commit/f05099ce38

commit f250296efaa7ea3e929eeaecfecd29e5cfe13de3
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-06 04:39:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-06 04:39:57 +0900

    YJIT: Speed up block_assumptions_free (#11556)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit cf3b62b54579d5cba4ceee707fee01b198de034a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-30 01:18:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-06 03:03:39 +0900

    Fix check_tempfile_leak in leakchecker.rb

    The instance variable @tmpfile was removed in ddcfc9f so check_tempfile_leak
    did not work.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11498

commit 57e3fc32ea83e55d40f4cc6c3e437d485c506d34
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-30 20:04:11 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-06 02:23:12 +0900

    Move Time#xmlschema in core and optimize it

    [Feature #20707]

    Converting Time into RFC3339 / ISO8601 representation is an significant
    hotspot for applications that serialize data in JSON, XML or other formats.

    By moving it into core we can optimize it much further than what `strftime` will
    allow.

    ```
    compare-ruby: ruby 3.4.0dev (2024-08-29T13:11:40Z master 6b08a50a62) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-08-30T13:17:32Z native-xmlschema 34041ff71f) +YJIT [arm64-darwin23]
    warming up......

    |                        |compare-ruby|built-ruby|
    |:-----------------------|-----------:|---------:|
    |time.xmlschema          |      1.087M|    5.190M|
    |                        |           -|     4.78x|
    |utc_time.xmlschema      |      1.464M|    6.848M|
    |                        |           -|     4.68x|
    |time.xmlschema(6)       |    859.960k|    4.646M|
    |                        |           -|     5.40x|
    |utc_time.xmlschema(6)   |      1.080M|    5.917M|
    |                        |           -|     5.48x|
    |time.xmlschema(9)       |    893.909k|    4.668M|
    |                        |           -|     5.22x|
    |utc_time.xmlschema(9)   |      1.056M|    5.707M|
    |                        |           -|     5.40x|
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11510

commit d4de8aef374310d318b27c910f2fb562da170641
  Author:     mterada1228 <49284339+mterada1228@users.noreply.github.com>
  AuthorDate: 2024-09-06 01:53:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-06 01:53:31 +0900

    `rake install` command is failed (#1170)

    * `rake install` command is failed

    \### Problems

    Several file paths were changed by following PR.

    - https://github.com/ruby/rdoc/commit/4211292ffe80dd4737db2450d72df404a9d55051
    - https://github.com/ruby/rdoc/commit/d7bca12c13b8b3f1632d698d497e67d4ea8a88bc

    Because rdoc.gemspec doesn't take in this changes,
    the `rake install` command is permanently failed.

    \### Test

    \#### before

    ```console
    ❯ bundle exec rake install
    Running RuboCop...
    Inspecting 4 files
    ....

    4 files inspected, no offenses detected

    Tip: Based on detected gems, the following RuboCop extension libraries
    might be helpful:
      * rubocop-rake (https://rubygems.org/gems/rubocop-rake)

    You can opt out of this message by adding the following to your config
    (see
    https://docs.rubocop.org/rubocop/extensions.html#extension-suggestions
    for more options):
      AllCops:
        SuggestExtensions: false
    rake aborted!
    Running `gem build -V
    /Users/mterada/dev/redDataTools/remove_dependency/rdoc/rdoc.gemspec`
    failed with the following output:

    WARNING:  See https://guides.rubygems.org/specification-reference/ for
    help
    ERROR:  While executing gem ... (Gem::InvalidSpecificationException)
        ["RI.rdoc", "lib/rdoc/alias.rb", "lib/rdoc/anon_class.rb",
    "lib/rdoc/any_method.rb", "lib/rdoc/attr.rb",
    "lib/rdoc/class_module.rb", "lib/rdoc/constant.rb",
    "lib/rdoc/context.rb", "lib/rdoc/context/section.rb",
    "lib/rdoc/extend.rb", "lib/rdoc/ghost_method.rb", "lib/rdoc/include.rb",
    "lib/rdoc/meta_method.rb", "lib/rdoc/method_attr.rb",
    "lib/rdoc/mixin.rb", "lib/rdoc/normal_class.rb",
    "lib/rdoc/normal_module.rb", "lib/rdoc/require.rb",
    "lib/rdoc/single_class.rb", "lib/rdoc/top_level.rb"] are not files

    /Users/mterada/.rbenv/versions/3.1.0/bin/bundle:25:in `load'
    /Users/mterada/.rbenv/versions/3.1.0/bin/bundle:25:in `<main>'
    Tasks: TOP => install => build
    (See full trace by running task with --trace)
    ```

    \#### after

    ```console
    ❯ bundle exec rake install
    Running RuboCop...
    Inspecting 4 files
    ....

    4 files inspected, no offenses detected

    Tip: Based on detected gems, the following RuboCop extension libraries might be helpful:
      * rubocop-rake (https://rubygems.org/gems/rubocop-rake)

    You can opt out of this message by adding the following to your config (see https://docs.rubocop.org/rubocop/extensions.html#extension-suggestions for more options):
      AllCops:
        SuggestExtensions: false
    rdoc 6.7.0 built to pkg/rdoc-6.7.0.gem.
    rdoc (6.7.0) installed.
    ```

    * Add a `bundle exec rake install` step to github workflow

    * make intentionally CI failed

    * Revert "make intentionally CI failed"

    This reverts commit 9fc5dd9423a024594ad26d86a8a6af829e7017f8.

commit 721a2ceecfe3e3f943b7da50efe8f134efb97fea
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-09-05 21:47:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-05 21:48:02 +0900

    [ruby/reline] Bump version to 0.5.10
    (https://github.com/ruby/reline/pull/745)

    https://github.com/ruby/reline/commit/0ebd54f675

commit be6d23646f3d187c1c68cfdd9fb8eb85481342ed
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-09-05 21:22:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-05 21:22:34 +0900

    [ruby/reline] Prevent a warning for `warning: literal string will be
    frozen in the future`
    (https://github.com/ruby/reline/pull/744)

    https://github.com/ruby/reline/commit/69c95c8b6a

commit bf9879791af11a20e50921551220c08d1c7f7f02
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-08-05 19:31:24 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-05 19:46:02 +0900

    Optimized instruction for Hash#freeze

    If a Hash which is empty or only using literals is frozen, we detect
    this as a peephole optimization and change the instructions to be
    `opt_hash_freeze`.

    [Feature #20684]

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11406

commit a99707cd9c6a1d53cf8ebc883dc210219bd67a28
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-07-29 19:15:02 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-05 19:46:02 +0900

    Optimized instruction for Array#freeze

    If an Array which is empty or only using literals is frozen, we detect
    this as a peephole optimization and change the instructions to be
    `opt_ary_freeze`.

    [Feature #20684]

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11406

commit 63cbe3f6ac9feb44a2e43b1f853e2ca7e049316c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-29 23:46:04 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-05 18:43:46 +0900

    Proof of Concept: Allow to prevent fork from happening in known fork unsafe API

    [Feature #20590]

    For better of for worse, fork(2) remain the primary provider of
    parallelism in Ruby programs. Even though it's frowned uppon in
    many circles, and a lot of literature will simply state that only
    async-signal safe APIs are safe to use after `fork()`, in practice
    most APIs work well as long as you are careful about not forking
    while another thread is holding a pthread mutex.

    One of the APIs that is known cause fork safety issues is `getaddrinfo`.
    If you fork while another thread is inside `getaddrinfo`, a mutex
    may be left locked in the child, with no way to unlock it.

    I think we could reduce the impact of these problem by preventing
    in for the most notorious and common cases, by locking around
    `fork(2)` and known unsafe APIs with a read-write lock.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/10864

commit 2e5680d304a9cf9a6a2ba582091af6719e839351
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-07-26 23:57:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-05 17:41:30 +0900

    [ruby/openssl] Fix test_pkey_rsa.rb in FIPS.

    * test_sign_verify
      I created the signature text (`signature_encoded.txt`), that is used as a
      text to create the `signature0` in the `test_sign_verify` by the following
      steps with the `openssl` CLI on FIPS module.
      ```
      $ OPENSSL_DIR="${HOME}/.local/openssl-3.4.0-dev-fips-debug-3c6e114959"
      $ export OPENSSL_CONF="${OPENSSL_DIR}/ssl/openssl_fips.cnf"

      $ echo -n "Sign me!" > data.txt
      $ "${OPENSSL_DIR}/bin/openssl" dgst -sha256 -sign test/openssl/fixtures/pkey/rsa2048.pem data.txt > signature.txt
      $ cat signature.txt | base64 > signature_encoded.txt
      ```

    https://github.com/ruby/openssl/commit/091f3eb421

commit 08e142b209a4919aac527bb0ce174a0ca0333d5c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-04 11:44:12 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-05 16:55:54 +0900

    Refactor `getlogin` and `getpw*` functions

    - Extract functions to check not-found conditions
    - Set the length to the result of `rb_getlogin`
    - Reentrant versions return an error numeber but not `errno`
    - Check maybe-undefined macros with `defined`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11551

commit 630bfd36f9a10c74da1084493ea806d3c706eeba
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-09-05 16:01:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-05 16:01:45 +0900

    Update bundled gems list as of 2024-09-04

commit 32680f543c6fc515870d4f5c6829607dc67d59ef
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-05 11:07:13 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-05 13:03:28 +0900

    Implement AND/OR NODE operator locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11543

commit 294dad22d7ac5f307d567cff897507b9fd9d05e9
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-04 19:52:18 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-04 23:12:50 +0900

    Time#strftime: avoid repeated coderange scanning

    Followup: a3f589640fd443deea230c27efd6bdfc92f5817f

    Restarting scanning has a fixed cost. Since we build a string
    from many small parts, that causes the scan to restart many times.

    It's much faster to ignore the coderange, if it's needed later it
    will be faster to scan it in one go.

    ```
    compare-ruby: ruby 3.4.0dev (2024-09-04T11:54:06Z opt-strftime-growth 149480f0ff) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T11:55:26Z opt-strftime-coder.. 29a5153cba) +YJIT [arm64-darwin23]
    warming up...

    |                            |compare-ruby|built-ruby|
    |:---------------------------|-----------:|---------:|
    |time.strftime("%FT%T")      |      1.870M|    2.225M|
    |                            |           -|     1.19x|
    |time.strftime("%FT%T.%3N")  |      1.731M|    2.068M|
    |                            |           -|     1.19x|
    |time.strftime("%FT%T.%6N")  |      1.744M|    2.073M|
    |                            |           -|     1.19x|
    ```

    Cumulative with a3f589640fd443deea230c27efd6bdfc92f5817f:

    ```
    compare-ruby: ruby 3.4.0dev (2024-09-04T11:55:26Z opt-strftime-coder.. 29a5153cba) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T12:57:30Z opt-strftime-coder.. 2b938d667a) +YJIT [arm64-darwin23]
    warming up...

    |                            |compare-ruby|built-ruby|
    |:---------------------------|-----------:|---------:|
    |time.strftime("%FT%T")      |      1.784M|    2.277M|
    |                            |           -|     1.28x|
    |time.strftime("%FT%T.%3N")  |      1.504M|    2.056M|
    |                            |           -|     1.37x|
    |time.strftime("%FT%T.%6N")  |      1.489M|    2.094M|
    |                            |           -|     1.41x|
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11544

commit 2e5a7d768b0b83a8184eb9e2c5a7560de3e5e78a
  Author:     Takuya Noguchi <takninnovationresearch@gmail.com>
  AuthorDate: 2022-09-06 04:56:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 22:57:38 +0900

    [rubygems/rubygems] Improve `bundle add` manpage

    * Fix synopsis for mutually exclusive options.
    * Add more descriptive examples.

    Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>

    https://github.com/rubygems/rubygems/commit/c0f1efda69

    Co-authored-by: Jerome Dalbert <jerome.dalbert@gmail.com>

commit ae84c017d6c3cb920b5ccdcf733942b79ddf09e9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-04 22:29:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-04 22:29:18 +0900

    Remove unused allocatable_pages field in objspace

commit da0460a2e1a4a22368b01647af92a689980f7c24
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-04 22:03:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 22:13:38 +0900

    [ruby/prism] Update config.yml

    https://github.com/ruby/prism/commit/8a3fa9f46e

commit a246188695fd5c27a843f4e56aafeb560d3fb47a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-04 22:03:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 22:13:38 +0900

    [ruby/prism] Update config.yml

    https://github.com/ruby/prism/commit/369b2c1304

commit dbb8f97eaa4c6c7e36c797c7b1d9a803db2623ea
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-04 21:55:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 22:13:37 +0900

    [ruby/prism] essentialy ==> essentially

    https://github.com/ruby/prism/commit/9c68c01bcd

commit 5c3a52627f945670dd6929614db56c154ebfe552
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-04 21:54:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 22:13:37 +0900

    [ruby/prism] containt ==> contains

    https://github.com/ruby/prism/commit/fa65b66237

commit a3f589640fd443deea230c27efd6bdfc92f5817f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-04 19:38:30 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-04 21:52:55 +0900

    Time#strftime: grow the buffer faster

    Use a classic doubling of capacity rather than only adding
    twice as much capacity as is already known to be needed.

    ```
    compare-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19cf9) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T11:46:02Z opt-strftime-growth 586263d6fb) +YJIT [arm64-darwin23]
    warming up...

    |                            |compare-ruby|built-ruby|
    |:---------------------------|-----------:|---------:|
    |time.strftime("%FT%T")      |      1.754M|    1.889M|
    |                            |           -|     1.08x|
    |time.strftime("%FT%T.%3N")  |      1.508M|    1.749M|
    |                            |           -|     1.16x|
    |time.strftime("%FT%T.%6N")  |      1.488M|    1.756M|
    |                            |           -|     1.18x|
    compare-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19cf9) +YJIT [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-09-04T09:21:53Z opt-strftime-2 ae98d19cf9) +YJIT [arm64-darwin23]
    warming up...
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11542

commit 83334ebb3c8056534974873b528f44fc0622cd22
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-09-03 03:21:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 21:00:36 +0900

    [rubygems/rubygems] Load gemspecs in the context of its parent also when using local overrides

    https://github.com/rubygems/rubygems/commit/0a6c1c53ce

commit 9a766777d465dd408679880d2e070b4396b7c1a5
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-04 20:57:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 20:58:03 +0900

    [ruby/reline] Split render_differential to LineEditor's rendering
    logic and actual differential rendering part
    (https://github.com/ruby/reline/pull/731)

    https://github.com/ruby/reline/commit/c90f08f7e3

commit 036ca726bb9763690b7f6b7fe05ddf112d22ddc5
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-04 18:24:00 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-04 18:26:17 +0900

    Fix documentation for String#rindex and String#byterindex

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11540

commit ae98d19cf97bf3ec70c4d1e2df9b90c7d0ecd130
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-04 16:47:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-04 18:21:53 +0900

    Test with Ubuntu 24.04

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11539

commit 56817865d64e898aac28e644bc44ee4e242f4ceb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-04 16:07:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 17:57:17 +0900

    [rubygems/rubygems] Removed unused stringio

    Fixed https://github.com/rubygems/rubygems/pull/7996

    https://github.com/rubygems/rubygems/commit/16bfcac883

commit 7fc1fd8977d0012067d736a88cebe2bbd71fd64d
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-09-04 16:02:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 16:02:15 +0900

    Update bundled gems list as of 2024-09-04

commit e884d65094e7b10b3e4c2764c83ed68db67666ab
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-04 12:59:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-04 14:49:25 +0900

    Ignore blocks to `Test::Unit::Assertions#pend` silently

    Although `pend` in test-unit gem expects the block does not pass if it
    is given, our `pend` should ignore the block silently as same as it
    just skips the test with no message by default.  Add an unused
    parameter, to suppress the warning for the block to be ignored.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11538

commit a3e08718b4c6505564b6a36933477a6093a38c77
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-04 14:44:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-04 14:44:34 +0900

    Use bundler/inline to download diffy gem

commit ab18b1b4f55d3d06e6e040d755e75b5b447198f3
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-03 16:20:52 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-04 14:36:35 +0900

    Implement VALIAS NODE keyword locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11531

commit 37d7ae06afb03ae5508bfd81033961559886bd6b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-03 20:19:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-04 10:42:48 +0900

    [Bug #20708] Retry `open` on EINTR

    Co-Authored-By: Martin Dorey <martin.dorey@hds.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11537

commit 08f14b8d4cf2058e8f23f3c6dab37c82c5e73d70
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-09-04 10:21:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-09-04 10:21:01 +0900

    Allow Errno::EACCES when testing connection timeout

    Some packaging systems that include support for running tests,
    such as OpenBSD's, do not allow outbound network connections
    during testing for security reasons. EACCES is the error raised by
    OpenBSD in this case.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11535

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 974b4043271b805c959b709183369bede3ba1fdb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-04 08:41:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-04 08:41:38 +0900

    Bump up openssl-3.0.15

commit ef42e04a1a623df533815d3d9305a79fb69b1593
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-04 02:44:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-04 02:44:09 +0900

    Don't traverse garbage objects in heap traversal

    The object could be garbage (e.g. T_NONE, T_MOVED, or T_ZOMBIE) so we
    don't want to traverse those.

commit 53eaa67305611e29e45722036cd49b528ac32abf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-09-04 02:43:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-04 02:43:33 +0900

    Unpoision the object in rb_gc_impl_garbage_object_p

commit 675529b9c662c0e69a71de12d7a22c68016186f5
  Author:     Durable Programming Team <djberube@durableprogramming.com>
  AuthorDate: 2024-09-03 04:16:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 02:40:12 +0900

    [rubygems/rubygems] standardize pretty-print output for Gem::Source and subclasses

    https://github.com/rubygems/rubygems/commit/6d5fbf82f1

commit 767d0a171668fbfcc5bbd9c060bb59d192717ce3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-04 02:16:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-04 02:16:24 +0900

    [PRISM] Fix up compile warning for sign comparison

commit f7b097dea0491410dbb98db792c29d87abf888a6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-09-04 00:22:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-09-04 01:12:08 +0900

    [PRISM] Keep script lines option for eval iseqs as well

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11534

commit f1349924df3b5e9ff2a06453a142a914d5a2799f
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-04 00:45:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 00:45:40 +0900

    [ruby/irb] Fix easter_egg run without RDoc, fix input-method test
    run without RDoc
    (https://github.com/ruby/irb/pull/998)

    * EasterEgg no longer depend on RDoc

    * Run most of the input-method tests even if RDoc is not avialable

    https://github.com/ruby/irb/commit/30fa1595d9

commit 0889f640219f964d75ad334b65c516ba3eacf55b
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-09-04 00:32:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 00:32:29 +0900

    [ruby/reline] Add test for reset_variables in Reline::Config
    (https://github.com/ruby/reline/pull/741)

    * Fix reset variables

    * Add assertion for reload

    * Add helper method to get instance variable value of Reline::Config

    https://github.com/ruby/reline/commit/386f619ff5

commit ad9d2c643504b3235602d5102a28545c4d06d148
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-04 00:19:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-04 00:19:44 +0900

    [ruby/reline] Fix redisplay/insert_text called from pre_input_hook
    (https://github.com/ruby/reline/pull/742)

    * Fix redisplay/insert_text called from pre_input_hook

    * Rename insert_pasted_text to insert_multiline_text

    It is now used from Reline.insert_text which is not inserting pasted text

    https://github.com/ruby/reline/commit/694a540939

commit 3c63a01295b4219743b3d3e883fd4a4a616960a6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-31 02:05:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-03 23:05:38 +0900

    Move responsibility of heap walking into Ruby

    This commit removes the need for the GC implementation to implement heap
    walking and instead Ruby will implement it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11511

commit a2243ee48bf6d68b0e5c713b5e7dd6bf3b57f62c
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-03 16:12:30 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-03 22:09:08 +0900

    Implement ALIAS NODE keyword locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11530

commit af143d8a749ae0ba0f394521dd46bea824a354fa
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-03 17:53:55 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-03 21:15:12 +0900

    Implement UNDEF NODE keyword locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11523

commit b7fa2dd0d0b7328f8f713b7cf0332d1e34c20fe4
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-03 16:38:18 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-09-03 19:21:36 +0900

    rb_enc_str_asciionly_p: avoid always fetching the encoding

    Profiling of `JSON.dump` shows a significant amount of time spent
    in `rb_enc_str_asciionly_p`, in large part because it fetches the
    encoding.

    It can be made twice as fast in this scenario by first checking the
    coderange and only falling back to fetching the encoding if the
    coderange is unknown.

    Additionally we can skip fetching the encoding for the common
    popular encodings.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11533

commit 245ed2fc890f7f33526e1c0f42b79c30366493e6
  Author:     zverok <zverok.offline@gmail.com>
  AuthorDate: 2024-08-26 02:58:47 +0900
  Commit:     Akinori MUSHA <knu@idaemons.org>
  CommitDate: 2024-09-03 16:21:42 +0900

    Range#step: restore legacy behavior for String ranges

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11454

commit 452eb24b1566f3fd8319e9eeb0ece6758eace08d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-03 16:11:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 16:11:34 +0900

    Added missing client_payload for ruby-build

commit 1b8fb4860bebe077bdf24bfb1b0218fba959446e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-03 15:37:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-03 15:37:15 +0900

    Revert "Experiment with removing --profile ruby for now"

    This reverts commit 6986536488ba23c033c043ef8765438f22df7bf5.

    We were just missing the secrets.

commit 6986536488ba23c033c043ef8765438f22df7bf5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-03 15:31:58 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-03 15:31:58 +0900

    Experiment with removing --profile ruby for now

commit ad613d088415fa9d9373ae0a2ef367311005f9c0
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-03 15:29:43 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-03 15:29:43 +0900

    Try to fix AWS_CLI_OPTS with AWS_ACCESS_KEY_ID

commit 20c3401543a92c3f310a03c4d2e664c463e390ef
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-03 15:25:13 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-03 15:25:20 +0900

    Drop `--profile ruby` on the release workflow

commit e7cb70be4eb7411204f73ee748e317fefaa0410a
  Author:     Zack Deveau <zack.ref@gmail.com>
  AuthorDate: 2024-08-24 02:18:44 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-09-03 14:25:25 +0900

    Improve String#rindex performance on OSX

    On OSX, String#rindex is slow due to the lack of `memrchr`.
    The fallback implementation finds a match by instead doing
    a `memcmp` on every single character in the search string
    looking for a substring match.

    For OSX hosts, this changeset introduces a simple `memrchr`
    implementation, `rb_memrchr`, that can be used instead. An
    example benchmark below demonstrates an 8000 char long
    search string with a 10 char substring near the end.

    ```
    ruby-master | substring near the end | osx

    UTF-8
           user     system      total        real
    index  0.000111   0.000000   0.000111 (  0.000110)
    rindex  0.000446   0.000005   0.000451 (  0.000454)
    ```

    ```
    ruby-patched | substring near the end | osx

    UTF-8
           user     system      total        real
    index  0.000112   0.000000   0.000112 (  0.000111)
    rindex  0.000057   0.000001   0.000058 (  0.000057)
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11519

commit 5fd3942466004daa0b07ed61acae1dee84ebdd75
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-03 13:35:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-03 13:43:25 +0900

    [ruby/optparse] Prefer `require_relative`

    https://github.com/ruby/optparse/commit/bb08cd47a8

commit f4883e790495da3fd9a8e44ade1099821429153c
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-09-02 17:49:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 11:51:51 +0900

    [flori/json] Use the compiled extension in test

    https://github.com/flori/json/commit/148afef84c

commit d612f9fd347a3803ff8ecd3f2bef9cda2dbd3ad7
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-09-02 17:17:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 11:51:51 +0900

    [flori/json] Remove outdated ifdef checks

    `json` requires Ruby 2.3, so `HAVE_RUBY_ENCODING_H` and `HAVE_RB_ENC_RAISE`
    are always true.

    https://github.com/flori/json/commit/5c8dc6b70a

commit 81c71efc55740ac5bdeb5817703110fd879f3693
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-30 21:38:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 10:49:13 +0900

    Vendor `securerandom` in Bundler as well

    It is loaded by `Fetcher` so in most case it's fine.

    But if using `bundler/inline` and a gem need to be fetched,
    `securerandom` will be loaded and cause a conflict.

    Can be reproduced with:

    ```ruby
    require 'bundler/inline'

    gemfile do
      source 'https://rubygems.org'
      gem 'graphql', '~> 2.0'
      gem 'graphql-client', '~> 0.18'
    end

    require 'json'
    require 'graphql/client'
    require 'graphql/client/http'
    ```

    Ref: https://github.com/rails/rails/pull/52473#issuecomment-2284667451

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit e66e3cf1b9160c657778d4a85e39a9cf1ae452f1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-30 21:37:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 10:49:13 +0900

    Change automatiek to properly vendor securerandom

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 053caa313b52910a5d5fb5e8d305f2abf80ede95
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-23 05:16:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 10:49:13 +0900

    Fix `gem exec rails new foo` failing on Ruby 3.2

    The default version of securerandom (0.2.2) gets activated by RubyGems,
    but does not match Rails requirements (>= 0.3), leading to an error like
    this:

    ```
    $ gem exec rails new repro
    /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:2246:in `raise_if_conflicts': Unable to activate activesupport-7.2.1, because securerandom-0.2.2 conflicts with securerandom (>= 0.3) (Gem::ConflictError)
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:1383:in `activate'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:1421:in `block in activate_dependencies'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:1403:in `each'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:1403:in `activate_dependencies'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/specification.rb:1385:in `activate'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/core_ext/kernel_gem.rb:62:in `block in gem'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/core_ext/kernel_gem.rb:62:in `synchronize'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/core_ext/kernel_gem.rb:62:in `gem'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/commands/exec_command.rb:193:in `activate!'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/commands/exec_command.rb:73:in `execute'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/command.rb:326:in `invoke_with_build_args'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/command_manager.rb:255:in `invoke_command'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/command_manager.rb:194:in `process_args'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/command_manager.rb:152:in `run'
            from /Users/deivid/Code/rubygems/rubygems/lib/rubygems/gem_runner.rb:56:in `run'
            from /Users/deivid/code/rubygems/rubygems/exe/gem:12:in `<main>'
    ```

    Vendoring our own securerandom fixes the issue since that way we avoid
    activating the gem internally.

commit 24c51e1cbba4ed5a681d6dc7bad572ee422105db
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-23 05:15:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-03 10:49:13 +0900

    Let automatiek convert requires that are indented to require_relative as well

commit a33416a3339de040bb4d2621d0bbae14b0e7aed3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-02 20:26:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-03 09:59:28 +0900

    Fix runnable symlinks

    Fix symlinks to executable as relative paths from `bin` directory.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11532

commit c93d07ed7448f332379cf21b4b7b649b057e5671
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-08-26 09:22:35 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-09-03 08:40:07 +0900

    [Bug #20695] Do not create needless string object in parser

    `set_parser_s_value` does nothing in parser therefore no need to
    create string object in parser `set_yylval_node`.

    # Object allocation

    Run `ruby benchmarks/lobsters/benchmark.rb` with the patch

    ```diff
    diff --git a/benchmarks/lobsters/benchmark.rb b/benchmarks/lobsters/benchmark.rb
    index 240c50c..6cdd0ac 100644
    --- a/benchmarks/lobsters/benchmark.rb
    +++ b/benchmarks/lobsters/benchmark.rb
    @@ -7,6 +7,8 @@ Dir.chdir __dir__
     use_gemfile

     require_relative 'config/environment'
    +printf "allocated_after_load=%d\n", GC.stat(:total_allocated_objects)
    +exit
     require_relative "route_generator"

     # For an in-mem DB, we need to load all data on every boot
    ```

    ## Before

    ```
    ruby 3.4.0dev (2024-08-31T18:30:25Z master d6fc8f3d57) [arm64-darwin21]
    ...
    allocated_after_load=2143519
    ```

    ## After

    ```
    ruby 3.4.0dev (2024-09-01T00:40:04Z fix_bugs_20695 d1bae52f75) [arm64-darwin21]
    ...
    allocated_after_load=1579662
    ```

    ## Ruby 3.3.0 for reference

    ```
    ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin21]
    ...
    allocated_after_load=1732702
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11522

commit 1b82d6346227dd451003802a09f4abed5eb732bd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-31 04:17:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-09-03 07:14:48 +0900

    Fix flaky test_latest_gc_info_need_major_by

    It's possible for a GC to run between the calls of GC.latest_gc_info,
    which would cause the test to fail. We can disable GC so that GC only
    triggers manually.

commit c1fecc5eabba5bb22a3ebd5616fa50ad612ef4d9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-12 20:38:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-03 02:28:50 +0900

    [rubygems/rubygems] Simplify `Gem.read_binary` and `Gem.write_binary`

    Since `Gem.open_file` no longer locks the target file and is same as
    `File.open` now, simply `Gem.read_binary` should read in binary mode.
    Also the body of `Gem.write_binary` is same as `File.binwrite`.

    https://github.com/rubygems/rubygems/commit/44df9045df

commit 1f00f6a09ef8c973be699ad27ab3df3787b4f7af
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-12 20:18:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-03 00:51:10 +0900

    [rubygems/rubygems] Avoid another race condition of open mode

    Instead, just open in CREATE and APPEND mode.
    Also, move the workaround for old Solaris as fallback to retry.

    https://github.com/rubygems/rubygems/commit/2daad257be

commit b539b43b2b25529e679401091836ac7de4df3beb
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-09-03 00:36:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-03 00:36:53 +0900

    [ruby/rdoc] [DOC] Fix links (https://github.com/ruby/rdoc/pull/1169)

    https://github.com/ruby/rdoc/commit/a576ff890f

commit fe2db1bed9effe7ae18a39e3068ce7d957cc894c
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-09-02 23:34:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-02 23:34:39 +0900

    [ruby/reline] Get console handle again and retry when Win32API call
    fails
    (https://github.com/ruby/reline/pull/734)

    https://github.com/ruby/reline/commit/66291b5e3c

commit bb511c3f10918efdcc4d5efd980561903e67dc10
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-31 01:57:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-02 23:01:15 +0900

    [rubygems/rubygems] Don't try to remove previous install folder if it's empty

    Ruby ships with empty directories for default gems. If Ruby
    installations has unsafe world-writable permissions, we will complain
    when about to install a gem that happens to be also a default gem,
    because we'll start by removing the previous install folder and that's
    supposed to be insecure due to too loose permissions.

    However, if the folder is empty, we don't actually need to remove
    anything, so we can skip the whole thing, avoiding the errors.

    https://github.com/rubygems/rubygems/commit/2f3cd8ac4e

commit b00b0d5f8fb9b3e39c55289b67b9320ebaddd5d3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-31 01:47:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-02 23:01:14 +0900

    [rubygems/rubygems] Improve insecure gem overwrite message

    https://github.com/rubygems/rubygems/commit/7c71dac22e

commit 4303a02f46fd37c0e70eb95b6703d44406691c34
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-09-02 21:47:18 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-09-02 22:36:09 +0900

    CI: windows.yml: Drop pull-request - path-ignore.

    It's to avoid the stucking "Windows result" job.
    It seems only the files included in the list of the pull-request - path-ignore,
    GitHub Actions "Windows result" permanently waits for the jobs that don't exist.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11509

commit c853e48fc17e906c8965d76e09e4553923e4dd75
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-31 15:39:57 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-09-02 22:36:09 +0900

    .travis.yml: Drop all the pipelines due to jobs not starting.

    Remove `.travis.yml` as a temporary workaround.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11509

commit 3d83df2b963476df91d22199e589955ed08d4af6
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-30 19:17:00 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-09-02 22:36:09 +0900

    .travis.yml: Allow failures for arm64/arm32 pipelines.

    Right now, the arm64 servers on Travis took around 7 hours to start the jobs.
    Therefore, allow failures for the arm64 and arm32 pipelines

    https://app.travis-ci.com/github/ruby/ruby/builds/272105049

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11509

commit 9d522cc44d256bcad157f9dc351c7dfce146c848
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-28 19:30:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-02 21:31:15 +0900

    [rubygems/rubygems] Make ruby-core check not depend on ENV

    I found it useful to be able to use `GEM_COMMAND` outside of a ruby-core
    env, so I made the ruby-core env detection not depend on it.

    https://github.com/rubygems/rubygems/commit/6cb389c290

commit b6e7e903a09e1577adc2f17600ca40dee80a0534
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-02 18:25:28 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-02 18:25:29 +0900

    redmine-backporter: Support matching multiple revs

    with `done` command

commit 7d47f3c94f4c38f9b236716c9f98b928895d6b2d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-09-02 18:05:21 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-09-02 18:22:45 +0900

    redmine-backporter: Clarify the actual control flow

    The `rev && has_commit(rev, "ruby_#{TARGET_VERSION.tr('.','_')}")`
    case seems to be used if and only if it's manually specified in the
    argument to the done command. It was hard to notice it with the previous
    code.

commit 745b4775c5d8b28f6e5fa26b928239dabf966b45
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-09-02 11:28:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-02 11:29:24 +0900

    [ruby/logger] Bump up 1.6.1

    https://github.com/ruby/logger/commit/bda937b4cc

commit eb144ef91e0b7f01cbe915bac2ac29bd532e1c28
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 17:41:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-01 20:00:13 +0900

    Skip show_doc tests if RDoc is not available

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11491

commit 4aa3491bd235fd16fbef7ba24181bc838aa29abb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 17:38:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-09-01 20:00:13 +0900

    Skip RDoc related feature if Gem::RDoc is not available

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11491

commit 185602e696980ba776465842fc0398eba2acb677
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-01 12:37:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-01 12:46:44 +0900

    [ruby/io-console] Fix mixing declarations and code for older versions

    https://github.com/ruby/io-console/commit/504292b487

commit 37db194c02fcaefd167304d30041666ec3914c40
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-01 12:29:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-01 12:46:43 +0900

    [ruby/io-console] Support older rubies

    https://github.com/ruby/io-console/commit/cad8169568

commit afd12873e0db8bbdc9a1b3bf155a723d37211ece
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-09-01 12:00:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-09-01 12:00:12 +0900

    Update dependencies of io-console

commit d6fc8f3d572f777d434e18f81147371c1f33ad6c
  Author:     Durable Programming Team <djberube@durableprogramming.com>
  AuthorDate: 2024-08-29 05:53:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-09-01 03:30:25 +0900

    [rubygems/rubygems] fix `@license` typo preventing licenses from being correctly unmarshalled

    https://github.com/rubygems/rubygems/commit/d6ba7ef79f

commit e69945fc57efba5c8895c21235e109145865952d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-31 17:34:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 17:43:59 +0900

    [ruby/io-console] Workaround for old TruffleRuby

    https://github.com/ruby/io-console/commit/f10c946ac7

commit 4a1ea9b63ae24918e7aaddcb41de5dbe0f500d7f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-31 16:17:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 17:43:59 +0900

    [ruby/io-console] Store console IO in Ractor-local storage

    Ractor requires a shareable class has shareable constants only, but IO
    is not shareable unless frozen.

    https://github.com/ruby/io-console/commit/65e0ff895c

commit 365ededfdf4fa33000411e63d7a1c2d6063ff812
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-31 14:43:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 14:46:05 +0900

    [ruby/io-console] io-console is considered Ractor-safe

    https://github.com/ruby/io-console/commit/b1adc15af7

commit 32f134bb8541b21b941c49c68b5bf91cf62c97dc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-31 14:19:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-31 14:22:17 +0900

    Added pre-release suffix for development version of default gems

    https://github.com/ruby/stringio/issues/81

commit f304afd26d22a6c9922399f3eaf0865ff64d95a7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-31 14:18:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-31 14:22:17 +0900

    Added check method with released version of rubygems.org

commit 7900128ab2d8c1d3c52e9c3e14df3ccdd9b3d7c5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-27 14:23:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 14:14:54 +0900

    [ruby/uri] Bump up 0.13.1

    https://github.com/ruby/uri/commit/31ec9cea66

commit 818e3037ed8635ae2ed63a5d783cb347d9166764
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-30 03:31:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 14:04:30 +0900

    [ruby/zlib] Bump up 3.1.1

    https://github.com/ruby/zlib/commit/d756bb0a0f

commit a2b3cb65ea4d8b9f2d57f027531875bcaab812bf
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-08-31 12:26:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-31 12:26:50 +0900

    [ruby/reline] Implement re-read-init-file
    (https://github.com/ruby/reline/pull/740)

    https://github.com/ruby/reline/commit/59e4ade807

commit f1a7966187886e5b62e22126bd7e83fb005973a2
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-31 05:30:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-31 11:26:50 +0900

    [DOC] Rationalize aliases in What's Here

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11514

commit a85dc3e9723fc02f3449340fa4a206fc9534ca08
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-31 05:07:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-31 11:25:47 +0900

    [DOC] Rationalize aliases

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11513

commit 2d944dde7010997b519594670c9792b5f0f22736
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-31 11:23:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-31 11:23:03 +0900

    [DOC] Related for Array#[] (#11487)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit eef2121cf3e755cdf33538647d40993d296f9a04
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-31 04:40:46 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-31 05:36:28 +0900

    [macOS CI] Delete big SDKs to avoid exhausting disk space

    Lately we've seen frequent failures on macOS GitHub Action runs due to
    disk space issues. Poking with du(1) revealed that
    /Library/Developer/CoreSimulator/Caches/dyld was growing to be multiple
    gigbytes.

    Deleting unused stuff is a known workaround to space issues.

    https://github.com/actions/runner-images/issues/2840#issuecomment-790492173

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11488

commit 89bbb9a888fe0c1ea46192791fa0a324d909e34c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-30 23:45:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 23:45:25 +0900

    Fix call to each_location_ptr for ASAN

commit ca7b3d467d8ea2c86fb1fadc5c5eae28db54639c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-30 05:27:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 23:03:17 +0900

    Combine gc_mark_locations and each_stack_location

    Also renames the new function each_location_ptr to be consistent with
    each_location.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11504

commit e3f00df2278f8b23278cffc74db11b10c4bf030b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-30 04:05:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 23:03:17 +0900

    Drop support for Motorola 68000

    The last Motorla 68000 architecture CPU was released 1994, so we can
    probably drop support for it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11504

commit 830ff66e2c7315470580dd8531f4c10b0200aed5
  Author:     Matt Brictson <matt@mattbrictson.com>
  AuthorDate: 2024-08-25 06:16:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-30 19:36:08 +0900

    [rubygems/rubygems] Emit progress to stderr when `--parseable` is passed to `bundle outdated`

    Before, `bundle outdated --parseable` (or `--porcelain`) caused output
    to be completely silenced during definition resolution, so nothing was
    printed at all until the table of outdated gems was printed.

    With this change, `--parseable`/`--porcelain` now prints progress to
    stderr during resolution. E.g.:

    ```
    Fetching gem metadata from https://rubygems.org/.........
    Resolving dependencies...
    ```

    This provides a better user experience, especially when
    `outdated --parseable` takes several seconds or more.

    The report of outdated gems is still printed to stdout, and the exit
    status codes are unchanged, so the fundamental contract with other tools
    consuming the `outdated --parseable` result should not be affected.

    https://github.com/rubygems/rubygems/commit/7d4bb43570

commit 08b92b67ffdfbfaf53974457308b719f6e2d0d24
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-28 06:35:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-30 19:16:29 +0900

    [rubygems/rubygems] Don't blow up when explicit version is removed from some git sources

    `version` is actually an attribute of the dependency, not of the git
    source. Sometimes it's passed to the git source to be able to fake a
    gemspec in case there's no gemspec in the source, but it should not be
    used for source comparison.

    https://github.com/rubygems/rubygems/commit/d936fbd78e

commit 63287fef9c3290a1e11b5e83bff648b385ad80ee
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-28 06:35:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-30 19:16:28 +0900

    [rubygems/rubygems] Fix grammar in one spec description

    https://github.com/rubygems/rubygems/commit/a1046466c9

commit 371432b2d7a5f4a21876434047192e680a688780
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-30 03:26:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-30 09:27:01 +0900

    [PRISM] Handle RubyVM.keep_script_lines

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11501

commit 554098303dd70adbe611eac5507277560bfa299a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-30 08:25:04 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-30 09:20:26 +0900

    [PRISM] For stdin scripts, use locale encoding

    For example:

        $ echo 'p __ENCODING__' | LANG=C ruby
        #<Encoding:US-ASCII>

    But, allow -K to override the source encoding.
    Found by running spec/ruby/language/magic_comment_spec.rb with LANG=C.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11505

commit b1c569c1936bc644e99b5892b5fc0e522b0816d9
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-30 05:31:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-30 05:31:26 +0900

    [DOC] Related for Array#all? and Array#any? (#11495)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit af65b41e07091c31603b7012941f1edc20d042e7
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-08-21 02:56:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-30 05:04:55 +0900

    [ruby/prism] Remove deprecated lib/prism/translation/parser/rubocop.rb file

    Follow up https://github.com/ruby/prism/pull/2558.

    This PR removes deprecated lib/prism/translation/parser/rubocop.rb file.

    The file was a workaround to allow setting `TargetRubyVersion: 80_82_73_83_77.xx` until Prism (`Prism::Translation::Parser`) is integrated into RuboCop.
    RuboCop already supports Prism (`Prism::Translation::Parser`) as of https://github.com/rubocop/rubocop/pull/12724.

    It has been several months since the file was deprecated in ruby/prism#2558.
    And, yesterday, Prism 1.0.0 was released, but perhaps the file should have been removed before then.

    Although this might be seen as incompatible with semver 1.0.0, I think there is no longer a reason to keep the file.

    https://github.com/ruby/prism/commit/646a10270e

commit 22d9260f05967c456df09375952deedbbab0ab03
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-30 03:46:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 05:03:48 +0900

    Remove unused ec argument in each_stack_location

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11503

commit 9f4954559b03ec910514fdff2f70d113721b30bf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-30 03:39:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-30 04:24:55 +0900

    [PRISM] Handle nth reference ERANGE with warning

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11502

commit 1f114464fc3424b8c5bb1ff41fde84dc1269f184
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-29 04:14:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 03:37:01 +0900

    Change each_stack_location to accept data instead of objspace

    The callers were abusing each_stack_location and passing data into the objspace
    argument.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11481

commit c162da69e7b56f4e5304c0694613ce0a51ef70e8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-29 04:04:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-30 03:37:01 +0900

    Change each_location to accept data instead of objspace

    The callers were abusing each_location and passing data into the objspace
    argument.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11481

commit 591a157b0f95dff3ce6be0956a77c7605d122243
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-08-30 02:06:19 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-30 03:09:35 +0900

    prism_compile.c: Fix read_entire_file() for platforms without file mmap

    Apply similar fix to https://github.com/ruby/prism/pull/2944

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11500

commit e07f794967abfca691a275ebdbf0bfc2268a6057
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-08-30 02:54:55 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-08-30 02:54:55 +0900

    Stop using the "undef" keyword to remove a constant

    The keyword tries to remove a method of the same name which is unlikely
    to be the intention of this test:

        $ ruby -e 'undef Object'
        -e:1:in '<main>': undefined method 'Object' for class 'Object' (NameError)

    Found looking at GH-11497. The NameError triggers error_highlight, which
    loads a bunch of file under GC.stress set by this test when using Prism.
    That takes a long time, causing a timeout.

commit b74e0c5f6b3af5f6d94cbcade3e7eb6da97439ef
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-30 02:34:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-30 02:34:31 +0900

    [ruby/reline] Calculate mbchar width with bsearch
    (https://github.com/ruby/reline/pull/632)

    https://github.com/ruby/reline/commit/0851e93640

commit a04dd0bf5e559bf20334efc0b1787fb269bae314
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-29 21:41:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 23:44:29 +0900

    [DOC] Related for Array#[]=

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11494

commit 74888846e542362354a16930723ec5f34f5b39d9
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-29 23:43:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-29 23:43:54 +0900

    [DOC] Relateds for combo methods (#11483)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 079161e1ba535da34a4a30179d606390346cdda1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 05:17:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-29 23:31:02 +0900

    [PRISM] Respect PM_REGULAR_EXPRESSION_FLAGS_FORCED_BINARY_ENCODING flag

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11482

commit 14bb376b79ca9140bfd36dbbad06be045f31f92e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 22:24:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-29 23:29:34 +0900

    [PRISM] Copy the rest of the setup_args_dup_rest_p function

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11496

commit 6b08a50a62f3575be4f7f4aeac0d416b8d3cd7c1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-29 01:19:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 22:11:40 +0900

    Move checks for special const for marking

    This commit moves checks to RB_SPECIAL_CONST_P out of the GC implmentation
    and into gc.c.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11478

commit ddd2b1784512aa8ac1efbe546635d21415d8a452
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-29 00:18:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 22:11:40 +0900

    Move marking code together in gc.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11478

commit d33e3d47b84a73b38644f2a3d41881ce9be6ef18
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-29 10:51:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-29 19:41:53 +0900

    [Bug #20704] Win32: Fix chdir to non-ASCII path

    On Windows, `chdir` in compilers' runtime libraries uses the active
    code page, but command line arguments in ruby are always UTF-8, since
    commit:33ea2646b98adb49ae2e1781753bf22d33729ac0.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11493

commit 871ba3e9e3e01ce313ac2274dec1058db6b63b8e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-26 23:36:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 18:59:26 +0900

    [rubygems/rubygems] Add a note about "platforms" in Gemfile vs "platforms" in Gemfile.lock

    https://github.com/rubygems/rubygems/commit/0dd4bd59b4

commit 6dee0d3fb092924afe1c7e1df5e9294a8ae23b15
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-26 23:33:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 18:59:26 +0900

    [rubygems/rubygems] Reject unknown platforms when running `bundle lock --add-platform`

    https://github.com/rubygems/rubygems/commit/1f93a2bdc5

commit 1515353353271fd89b803bcbb1472ddb97e3f10d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 10:53:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-29 17:37:44 +0900

    Make optional benchmark test in OpenSSL::OSSL#test_memcmp_timing

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11490

commit 4e5b3e58e26cf65e383ddb60ebb89e3ecd66824e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 10:40:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-29 17:37:44 +0900

    Make optional benchmark test in test_find_in_unresolved_tree_is_not_exponentiental

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11490

commit a780633d2af00e79b8437b0a7d988dbdadb0d80f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 10:38:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-29 17:37:44 +0900

    Don't use benchmark for test_activate_via_require_respects_loaded_files

    benchmark.rb may extract as bundled gems in the future release

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11490

commit a68208235e389158427f24c7573fd2cffc58d3a6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 10:37:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-29 17:37:44 +0900

    Removed redundant require for TestGemRequire

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11490

commit 7cc6f70aa2d2eb3b6ad493b1cf32a29287103aaf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-29 11:11:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-29 11:11:35 +0900

    Surpressing 'unknown command: “Switch to inspect mode.”' message

commit fe440c59679b0475ad7b566b5680fdb9998207f7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-29 07:30:21 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-29 08:27:15 +0900

    [PRISM] Use node flags for dup_rest detection instead of looping

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11489

commit 3fa5b4be195a84391e7cbde88b4c7d2e6fcf0e7c
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-08-29 06:27:57 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-08-29 06:27:57 +0900

    [DOC] Mention rb_io_fdopen() takes ownership of the FD

commit c3ffa7106b8cd89bdc85f579a8e27cde6b5539ab
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-29 05:22:00 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-29 06:17:33 +0900

    [PRISM] Set use_block parameter flag for forwardable methods

    Match logic in compile.c:2133. Without this, the unused block warning
    code allocates an array, causing TestAllocation to fail.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11484

commit dba9601e0f9c42698cb6ca804d604bcdacbd60b7
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-29 06:17:21 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-29 06:17:21 +0900

    [DOC] Array comparing doc (#11486)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit d25833b81a70fae6724d5dc4fe6affb9f2c81690
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 05:56:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 06:10:39 +0900

    [ruby/prism] Multi-splat flag for arguments

    https://github.com/ruby/prism/commit/21cb9b78ae

commit ec88979a06de7320af9eadb2c36c774e4a223f3c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-29 05:42:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 05:51:33 +0900

    Related for Array#<<

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11485

commit ad737a8d0f5929dd8e2cdd1ab8f75a21e3117e4e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 04:43:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-29 04:43:32 +0900

    [PRISM] Sync version update

commit 45f32e3a50c71dbcb9969a2d379783e50eab772f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 04:07:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 04:07:16 +0900

    [ruby/prism] Reverse-sync ruby/ruby and deprecate old fields

    https://github.com/ruby/prism/commit/bc21c9f3ee

commit 417bb8d4fd7f197d2cbe8223e9666e3a41896d75
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 03:11:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-29 04:06:53 +0900

    [PRISM] Field renaming

    Rename some fields that do not quite make sense.

    * CaseMatchNode#consequent -> CaseMatchNode#else_clause
    * CaseNode#consequent -> CaseNode#else_clause
    * IfNode#consequent -> IfNode#subsequent
    * RescueNode#consequent -> RescueNode#subsequent
    * UnlessNode#consequent -> UnlessNode#else_clause

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11480

commit acafb924648c761c43adc94c95c954fcb129c5dd
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-29 00:16:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 04:05:52 +0900

    [DOC] Remove Array#abbrev

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11476

commit a7cec438a1b253b27774ac091f10cda2455ff73d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-29 01:15:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-29 04:05:04 +0900

    [DOC] More xrefs for array creation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11477

commit 8f95e2abfe6c8da091b48bd32db45593e10f1647
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-29 03:07:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 03:07:40 +0900

    [ruby/irb] Make colorize test pass with NO_COLOR env set
    (https://github.com/ruby/irb/pull/994)

    https://github.com/ruby/irb/commit/985ac509c1

commit d6764076a1721a1acb8429931f1815491038d2a6
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-07-26 05:49:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 02:42:56 +0900

    [ruby/prism] Review config.yml: documentation, types and field names

    https://github.com/ruby/prism/commit/d43333539e

commit 7c9bcdf3973300aaed107f055d7cd4062799bea4
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-29 01:41:56 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-29 02:34:37 +0900

    [PRISM] Improve `dup_rest` optimization targeting

    Part of implementing 3de20efc308cccc38bf9dacfffca6c626d039a06 in
    prism_compile.c. Down to 2 failures from 30 failures in
    test/ruby/test_allocation.rb.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11479

commit ce6b0c44256fc10509263d92959150fcbaa63e21
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-29 01:16:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 01:16:31 +0900

    [ruby/irb] Colorize command input
    (https://github.com/ruby/irb/pull/983)

    https://github.com/ruby/irb/commit/0e64136e76

commit ccef391140f924af907080e62f24ef259550f324
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-29 00:35:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-29 00:35:23 +0900

    [ruby/prism] Swap around order of predicates for assoc static literal

    https://github.com/ruby/prism/commit/ec181a3b68

commit 4c5a1dad0a7e9fb70a830d9312352b855abfc7cb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-28 22:33:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-28 23:50:46 +0900

    [PRISM] Check length of line for shebang

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11475

commit 91c6c2bdb544a84313030809d7fcd32da7e17a29
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-28 04:24:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-28 23:43:37 +0900

    Related methods for Array#delete

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11471

commit f93c27d86bfc0c40c84c186ac2c00c553bd69470
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-26 22:19:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-28 21:47:43 +0900

    Set encoding index correctly

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11445

commit b5646124b3a7bdc0639b2a66315b2340e3cff915
  Author:     Olle Jonsson <olle.jonsson@gmail.com>
  AuthorDate: 2024-08-28 19:23:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-28 19:58:23 +0900

    [ruby/timeout] timeout.rb: Update documentation

    This is a followup to #49.

    https://github.com/ruby/timeout/commit/683fdb45ee

commit c1e51abda935ceaa0c78739793cf6c66471e494a
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-28 16:00:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-28 16:00:25 +0900

    Update bundled gems list as of 2024-08-28

commit 942317ebf8a5e4a85189411ee4d48267f21ecca5
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-08-28 11:24:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-28 11:24:17 +0900

    YJIT: Encode doubles to VALUE objects and move stat generation to rust (#11388)

    * YJIT: Encode doubles to VALUE objects and move stat generation to rust

    Stats that can now be generated from rust have been moved there.

    * Move object_shape_count call for runtime_stats to rust

    This reduces the ruby method to a single primitive.

    * Change hash_aset_usize from macro to function

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 5b129c899a5cf3bf8253eaaf7fbc8331b1e55f75
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-08-28 09:04:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-28 09:04:43 +0900

    YJIT: Pass method arguments using registers (#11280)

    * YJIT: Pass method arguments using registers

    * s/at_current_insn/at_compile_target/

    * Implement register shuffle

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit f2ac0130091708a10f37f5416be7edc71b05899b
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-28 08:15:37 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-28 08:15:37 +0900

    Add RB_DEFAULT_PARSER preprocessor macro

    This way there is one place to change for switching the default.
    This also allows for building the same commit with different cppflags.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11473

    Merged-By: XrXr

commit 1729f47e72b22c3d13203548583e7d70c0b44427
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-28 01:19:37 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-28 06:39:34 +0900

    [PRISM] Wait for data before reading pipes and chardevs

    With the parse.y parser, when a fifo (named pipe) is passed to
    Kernel#load and friends, we wait for data to be available first before
    reading. Note that with fifos, opening with `O_RDONLY|O_NONBLOCK` and
    then reading will look like EOF with read(2) returning 0, but data can
    become available later.

    The prism compiler needs to match this behavior to pass
    `test_loading_fifo_{fd_leak,threading_raise,threading_success}`. I chose
    to use IO#read to do this.

    An alternative way to match behavior would be to use open_load_file()
    from ruby.c like parse.y, but I opted to only allocate an IO to deal
    with threading when reading from pipes and character devices. The
    memory mapping code seems to work fine for regular files.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11472

commit 2157dcb568de0e387c6a203a731caea7923f856e
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-08-28 05:40:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-28 05:53:11 +0900

    [ruby/prism] Add `contains_splat` flag

    If we have a splat, add a flag for it named `contains_splat`.

    https://github.com/ruby/prism/commit/5be97a75c8

commit 7462cc77431b5e7f9a98a59c7e3996dd9c23a540
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-08-23 01:04:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-28 05:01:46 +0900

    [PRISM] Fix allocations for keyword splat params

    Fixes the following allocations tests:

    * `test_keyword_and_keyword_splat_parameter`
    * `test_keyword_parameter`
    * `test_keyword_splat_parameter`
    * `test_no_array_allocation_with_splat_and_nonstatic_keywords`
    * `test_no_parameters`
    * `test_positional_splat_and_keyword_splat_parameter`
    * `test_ruby2_keywords`

    * Checks for `first_chunk` and if `stack_length == 0` to match the
    upstream parser. Otherwise, this optimization is skipped.
    * Subtracts the index, otherwise it will skip the hash allocation for
    the following: `keyword(*empty_array, a: 2, **empty_hash)`.
    * Sets `dup_rest` in order to determine when to set the correct flags
    * Doesn't set `VM_CALL_KW_SPLAT_MUT` flag unless `dup_rest` doesn't
    match `initial_dup_rest`.

    Given the following code:

    ```ruby
    keyword(*empty_array, a: 2)
    ```

    Instructions before:

    ```
    == disasm: #<ISeq:test@test.rb:4 (4,0)-(8,3)>
    local table (size: 2, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 2] empty_hash@0<Arg>[ 1] empty_array@1
    0000 newarray                               0                         (   5)[LiCa]
    0002 setlocal_WC_0                          empty_array@1
    0004 putself                                                          (   7)[Li]
    0005 getlocal_WC_0                          empty_array@1
    0007 splatarray                             true
    0009 putobject                              :a
    0011 putobject                              2
    0013 newhash                                2
    0015 opt_send_without_block                 <calldata!mid:keyword, argc:2, ARGS_SPLAT|ARGS_SPLAT_MUT|FCALL|KW_SPLAT>
    0017 leave                                                            (   8)[Re]
    ```

    Instructions after:

    ```
    == disasm: #<ISeq:test@test.rb:4 (4,0)-(8,3)>
    local table (size: 2, argc: 1 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 2] empty_hash@0<Arg>[ 1] empty_array@1
    0000 newarray                               0                         (   5)[LiCa]
    0002 setlocal_WC_0                          empty_array@1
    0004 putself                                                          (   7)[Li]
    0005 getlocal_WC_0                          empty_array@1
    0007 splatarray                             false
    0009 putobject                              {:a=>2}
    0011 opt_send_without_block                 <calldata!mid:keyword, argc:2, ARGS_SPLAT|FCALL|KW_SPLAT>
    0013 leave                                                            (   8)[Re]
    ```

    Differences:

    * `splatarray` is `false` not `true
    * `putobject`, `putobject`, `newhash` is simply `putobject` with
    optimizations on
    * Remove `ARGS_SPLAT_MUT` flag

    Related: ruby/prism#2994

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11438

commit 8f700db4edb2ae335c3c340a8bf5a6cc0f527a4b
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-28 01:22:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-28 02:01:42 +0900

    [DOC] Tweaks for Array#delete_if

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11470

commit 0228cf74e3d1fd15e1db43b96ef8a1e854ee5e0e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-28 01:59:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-28 01:59:31 +0900

    [DOC] Tweaks for Array#cycle (#11459)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 2fbaff5351e6130929079d73575f0a00fe86a770
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-23 07:30:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-28 01:46:44 +0900

    [ruby/prism] Fix warning when `#!` ends with carriage return

    https://github.com/ruby/prism/commit/5753fb6260

commit 83e72fde83640eb4ed0b4ce2ba6dbe5be024e25b
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-28 01:06:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-28 01:23:50 +0900

    Optimize Array allocations

    … by allocating them with the correct capacity.

commit a3562c2a0abf1c2bdd1d50377b4f929580782594
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-08-28 01:08:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-28 01:08:22 +0900

    Remove incorrect setting of KW_SPLAT_MUT flag

    Fixes [Bug #20701]

    Co-authored-by: Pablo Herrero <pablodherrero@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11468

    Merged-By: jeremyevans <code@jeremyevans.net>

commit 2459e79b8080c168e1764045072e5bc6d5694303
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-22 00:53:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-27 22:58:38 +0900

    Assume that shared array is not embedded

    An array cannot be shared and embedded at the same time, so we can assume
    that a shared array is not embedded.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11422

commit 87fa75c5db2e6f89a892c0ed75f1701398ce5f19
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-08-27 21:49:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-27 21:49:23 +0900

    [ruby/irb] Move parse_command method to Context
    (https://github.com/ruby/irb/pull/993)

    Since Context dictates whether a line is a command or an expression,
    moving the parse_command method to Context makes the relationship
    more explicit.

    https://github.com/ruby/irb/commit/9a4487af61

commit a431f4ecc474d51990a0cb263fdf3e07964150e4
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-08-27 21:46:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-27 21:46:45 +0900

    [ruby/reline] Remove unused variables
    (https://github.com/ruby/reline/pull/739)

    https://github.com/ruby/reline/commit/14784eddee

commit 04ca75ea6987bdcc3d23ebdc547fedf505cf334d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-27 11:36:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-27 11:39:52 +0900

    [ruby/uri] Also warn URI::RFC3986_PARSER.extract

    https://github.com/ruby/uri/commit/0f6b945557

commit 52c4d0e04825071044fa3b3062371a356924044c
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-08-26 23:01:54 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-08-27 09:59:43 +0900

    Remove `enc_coderange_broken` field from `struct rb_parser_config_struct`

    It has not been used since fcc55dc2261b4c61da711c10a5476d05d4391eca.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11464

commit e5295644c983c909fbdad48c2cdfbdcbf4067102
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-27 09:38:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-27 09:39:24 +0900

    [ruby/fileutils] Update license files same as ruby/ruby

    https://github.com/ruby/fileutils/commit/9e32a88573

commit ec61dbd98ecaf153e941cbaecdb6ad36d5af4672
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-08-27 07:02:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-27 07:02:33 +0900

    [ruby/rdoc] Make darkfish more responsive and readable on mobile
    devices
    (https://github.com/ruby/rdoc/pull/1162)

    - Make the sidebar toggle fixed on all devices
    - Prevent default zooming on mobile devices
    - Improve sidebar opening on mobile devices

    https://github.com/ruby/rdoc/commit/95b6cfb64f

commit 8c01dec8275739f247eedc505723c6585da13c4b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-26 23:59:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-27 02:25:12 +0900

    Skip assertion in gc/default.c when multi-Ractor

    The counter for total allocated objects may not be accurate when there are
    multiple Ractors since it is not atomic so there could be race conditions
    when it is incremented.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11462

commit 1cafc9d51d3be36ab34e77b5c8f034b2daba231f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-26 23:59:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-27 02:25:12 +0900

    Use rb_gc_multi_ractor_p in gc/default.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11462

commit 51aadefb4dd5c616103b831d18f13b7503f36fbc
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-27 00:41:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-27 02:21:21 +0900

    [DOC] Tweaks to Array#delete_at

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11463

commit efa4ec0f981ed51af82d32146f24158552eb2bd7
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-26 22:33:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-27 00:20:22 +0900

    [DOC] Tweaks to Array#delete

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11460

commit 7c794c287ec727f4634579556228cc018056e6f9
  Author:     Matt Brictson <matt@mattbrictson.com>
  AuthorDate: 2024-08-23 09:29:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-26 23:56:26 +0900

    [rubygems/rubygems] Emit progress to stderr when `--print` is passed to `bundle lock`

    `bundle lock --print --update` can take a long time to fetch sources and
    resolve the lock file.

    Before, `--print` caused output to be completely silenced, so nothing
    was printed at all until the resolved lock file is finally emitted to
    stdout.

    With this change, `--print` now prints progress to stderr. E.g.:

    ```
    Fetching gem metadata from https://rubygems.org/.........
    Resolving dependencies...
    ```

    This provides a better user experience, especially when
    `lock --print --update` takes several seconds or more.

    The lock file is still printed to stdout, so tools consuming the lock
    file on stdout will not be affected.

    https://github.com/rubygems/rubygems/commit/6719baa700

commit 20664826840f1ae1ba83c97764996a71105212e5
  Author:     Matt Brictson <matt@mattbrictson.com>
  AuthorDate: 2024-08-23 09:14:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-26 23:56:26 +0900

    [rubygems/rubygems] Fix newline=false being ignored by Shell#warn

    https://github.com/rubygems/rubygems/commit/e021ff33a8

commit cfad1f95d50c76cf66b8539a34b67cb72323848e
  Author:     Matt Brictson <matt@mattbrictson.com>
  AuthorDate: 2024-08-23 09:12:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-26 23:56:25 +0900

    [rubygems/rubygems] Fix missing 'msg' parameter in Shell#no?

    https://github.com/rubygems/rubygems/commit/ffe89a099a

commit 4ede15fb53121419f7b00540cba73beae25b90a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-26 23:07:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-26 23:49:35 +0900

    [PRISM] Fix up nested string flags inside string concatenation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11461

commit 80d457b4b4357d3b6a44abd0ceb67e7657bc657a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-24 05:15:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-26 22:40:07 +0900

    Fix object allocation counters in compaction

    When we move an object in compaction, we do not decrement the total_freed_objects
    of the original size pool or increment the total_allocated_objects of the
    new size pool. This means that when this object dies, it will appear as
    if the object was never freed from the original size pool and the new
    size pool will have one more free than expected. This means that the new
    size pool could appear to have a negative number of live objects.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11444

commit c3dc1322ba9f664f4c8e7451c8b18add875b8b5b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-24 04:53:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-26 22:40:07 +0900

    Move final_slots_count to per size pool

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11444

commit 2b0b68fa464c3c51b35243449c9d9801752be455
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-24 05:13:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-26 21:38:58 +0900

    Shrink `pm_integer_t` (32 bytes → 24)

commit 03475e5533551f4e65d3fab901dde7187865ef3a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-26 18:44:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-26 19:36:04 +0900

    bundle install with git repo needs to be run under the git environment

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11458

commit 136cbf04419acf993357701e54712f921a294355
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-24 00:37:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-26 11:49:02 +0900

    [ruby/tempfile] Support anonymous tempfile on earlier than Ruby 3.2

    https://github.com/ruby/tempfile/commit/7052805029

commit 2e07c13049a887c22849e77648838f040b0759b0
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-08-25 16:42:45 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-08-26 09:08:53 +0900

    Remove nonexist declarations

    These functions were removed by 33c1e082d0807db403a2d93cbf0a094c911.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11455

commit 76e0ea28ea5f39913ed51c3628afa1a1fa679554
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-25 10:22:33 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-25 10:22:33 +0900

    [DOC] Tweaks to Array#combination (#11440)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 620ce3807b51e126bfb41b9b87ff7b33584058f2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-17 20:50:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-25 08:16:54 +0900

    [Bug #20680] `ensure` block is always void context

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11451

commit 519152db6dd11173acc1118543770e053ab0ab71
  Author:     Ufuk Kayserilioglu <ufuk@paralaus.com>
  AuthorDate: 2024-08-25 03:15:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-25 03:15:21 +0900

    [ruby/rdoc] Make the summary triangle appear in the correct place
    when the summary text overflows to next line.
    (https://github.com/ruby/rdoc/pull/1160)

    https://github.com/ruby/rdoc/commit/f2eb62f6f8

commit fd0263d7ef072ada6f56b6a0fb78bfc0c34db662
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-25 00:10:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-25 00:51:28 +0900

    [DOC] Tweaks for Array#concat

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11450

commit bd19d3d163dc51c70355d5cd65a8db0c2ca33dc8
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-25 00:31:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-25 00:49:58 +0900

    [DOC] Tweaks for Array#count doc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11452

commit e962c9c4c3a45729831a497fee8190ca121bef78
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-24 23:57:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-25 00:45:01 +0900

    [DOC] Tweaks to Array#compact!

commit 418e85b1205f66921ef22f9360fe2c42979ea20d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-24 23:49:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-25 00:44:29 +0900

    [DOC] Tweaks for Array#compact

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11448

commit 6717b69067b47b96910f2b77be26e7f1e5df029b
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-08-24 20:07:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-24 20:07:28 +0900

    [ruby/rdoc] Modernize RDoc Darkfish template CSS
    (https://github.com/ruby/rdoc/pull/1157)

    - Update color scheme with muted green tones and improved contrast
    - Enhance readability by adjusting font sizes and weights
    - Improve code block styling with a light gray background
    - Refactor layout for better responsiveness and sidebar presentation
    - Standardize link styles across the document
    - Implement CSS variables for easier theme customization
    - Adjust heading styles for better visual hierarchy
    - Enhance table and list styling for improved readability
    - Optimize search field and navigation toggle appearance
    - Improve method detail and documentation section styling
    - Reorganize css and overhaul the sidebar design
    - Improve code block's syntax highlighting

    https://github.com/ruby/rdoc/commit/6cde9edadb

commit 552f5cd50c8b622294e2dc87a73eb9e1102d78a0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-23 01:00:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-24 05:37:11 +0900

    Fix use-after-free in WeakKeyMap#clear

    [Bug #20691]

    If the WeakKeyMap has been marked but sweeping hasn't started yet and we
    cann WeakKeyMap#clear, then there could be a use-after-free because we do
    not call rb_gc_remove_weak to remove the key from the GC.

    For example, the following code triggers use-after-free errors in Valgrind:

        map = ObjectSpace::WeakKeyMap.new

        1_000.times do
          1_000.times do
            map[Object.new] = nil
          end

          map.clear
        end

    Output from Valgrind:

        ==61230== Invalid read of size 8
        ==61230==    at 0x25CAF8: gc_update_weak_references (default.c:5593)
        ==61230==    by 0x25CAF8: gc_marks_finish (default.c:5641)
        ==61230==    by 0x26031C: gc_marks_continue (default.c:5987)
        ==61230==    by 0x26031C: gc_continue (default.c:2255)
        ==61230==    by 0x2605FC: newobj_cache_miss (default.c:2589)
        ==61230==    by 0x26111F: newobj_alloc (default.c:2622)
        ==61230==    by 0x26111F: rb_gc_impl_new_obj (default.c:2701)
        ==61230==    by 0x26111F: newobj_of (gc.c:890)
        ==61230==    by 0x26111F: rb_wb_protected_newobj_of (gc.c:917)
        ==61230==    by 0x2DE218: rb_class_allocate_instance (object.c:131)
        ==61230==    by 0x2E32A8: class_call_alloc_func (object.c:2141)
        ==61230==    by 0x2E32A8: rb_class_alloc (object.c:2113)
        ==61230==    by 0x2E32A8: rb_class_new_instance_pass_kw (object.c:2172)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)
        ==61230==  Address 0x2159cb00 is 0 bytes inside a block of size 8 free'd
        ==61230==    at 0x4849B2C: free (vg_replace_malloc.c:989)
        ==61230==    by 0x248EF1: rb_gc_impl_free (default.c:8512)
        ==61230==    by 0x248EF1: rb_gc_impl_free (default.c:8493)
        ==61230==    by 0x248EF1: ruby_sized_xfree.constprop.0 (gc.c:4178)
        ==61230==    by 0x4627EC: wkmap_free_table_i (weakmap.c:652)
        ==61230==    by 0x3A54AF: apply_functor (st.c:1633)
        ==61230==    by 0x3A54AF: st_general_foreach (st.c:1543)
        ==61230==    by 0x3A54AF: rb_st_foreach (st.c:1640)
        ==61230==    by 0x46203C: wkmap_clear (weakmap.c:973)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)
        ==61230==  Block was alloc'd at
        ==61230==    at 0x484680F: malloc (vg_replace_malloc.c:446)
        ==61230==    by 0x25C68E: rb_gc_impl_malloc (default.c:8527)
        ==61230==    by 0x4622E9: wkmap_aset_replace (weakmap.c:817)
        ==61230==    by 0x3A4D02: rb_st_update (st.c:1487)
        ==61230==    by 0x4623E4: wkmap_aset (weakmap.c:854)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)
        ==61230==
        ==61230== Invalid write of size 8
        ==61230==    at 0x25CB3B: gc_update_weak_references (default.c:5598)
        ==61230==    by 0x25CB3B: gc_marks_finish (default.c:5641)
        ==61230==    by 0x26031C: gc_marks_continue (default.c:5987)
        ==61230==    by 0x26031C: gc_continue (default.c:2255)
        ==61230==    by 0x2605FC: newobj_cache_miss (default.c:2589)
        ==61230==    by 0x26111F: newobj_alloc (default.c:2622)
        ==61230==    by 0x26111F: rb_gc_impl_new_obj (default.c:2701)
        ==61230==    by 0x26111F: newobj_of (gc.c:890)
        ==61230==    by 0x26111F: rb_wb_protected_newobj_of (gc.c:917)
        ==61230==    by 0x2DE218: rb_class_allocate_instance (object.c:131)
        ==61230==    by 0x2E32A8: class_call_alloc_func (object.c:2141)
        ==61230==    by 0x2E32A8: rb_class_alloc (object.c:2113)
        ==61230==    by 0x2E32A8: rb_class_new_instance_pass_kw (object.c:2172)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)
        ==61230==  Address 0x2159cb00 is 0 bytes inside a block of size 8 free'd
        ==61230==    at 0x4849B2C: free (vg_replace_malloc.c:989)
        ==61230==    by 0x248EF1: rb_gc_impl_free (default.c:8512)
        ==61230==    by 0x248EF1: rb_gc_impl_free (default.c:8493)
        ==61230==    by 0x248EF1: ruby_sized_xfree.constprop.0 (gc.c:4178)
        ==61230==    by 0x4627EC: wkmap_free_table_i (weakmap.c:652)
        ==61230==    by 0x3A54AF: apply_functor (st.c:1633)
        ==61230==    by 0x3A54AF: st_general_foreach (st.c:1543)
        ==61230==    by 0x3A54AF: rb_st_foreach (st.c:1640)
        ==61230==    by 0x46203C: wkmap_clear (weakmap.c:973)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)
        ==61230==  Block was alloc'd at
        ==61230==    at 0x484680F: malloc (vg_replace_malloc.c:446)
        ==61230==    by 0x25C68E: rb_gc_impl_malloc (default.c:8527)
        ==61230==    by 0x4622E9: wkmap_aset_replace (weakmap.c:817)
        ==61230==    by 0x3A4D02: rb_st_update (st.c:1487)
        ==61230==    by 0x4623E4: wkmap_aset (weakmap.c:854)
        ==61230==    by 0x4296BC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3788)
        ==61230==    by 0x44A9CD: vm_sendish (vm_insnhelper.c:5955)
        ==61230==    by 0x44A9CD: vm_exec_core (insns.def:898)
        ==61230==    by 0x43A0E4: rb_vm_exec (vm.c:2564)
        ==61230==    by 0x2341B4: rb_ec_exec_node (eval.c:281)
        ==61230==    by 0x236258: ruby_run_node (eval.c:319)
        ==61230==    by 0x15D665: rb_main (main.c:43)
        ==61230==    by 0x15D665: main (main.c:62)

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11437

commit b9902c94a3ca1ac16eae4496fbaf01f718e19285
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-23 00:49:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-24 05:21:40 +0900

    Adds remarks about returned Enumerator

commit 3eb42054d9f50a0a65d014bb9e55349938deb97b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-24 04:03:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-24 04:18:14 +0900

    [ruby/prism] Pass Unicode escapes on to onigmo

    When we encounter an invalid unicode escape within a regular
    expression, we now pass that error on to Onigmo as if it didn't
    exist in the parser (which matches the upstream parser's behavior).

    We do this because there are tests that specify that you are
    allowed to have invalid Unicode escapes if they are within the
    context of a regular expression comment for a regular expression
    in extended mode. That looks like:

        /# \u /x

    Note that this _only_ applies to Unicode escapes (as opposed to
    applying to hex or meta/control escapes as well). Importantly it
    also only applies if the regular expression is terminated. An
    unterminated regular expression will still get error handling done
    in the parser. That would look like:

        /# \u

    that would result in the same error handling we have today.

    https://github.com/ruby/prism/commit/fb98034806

commit 3f6be01bfc34e13d9fd1f3fa4c4023735d631428
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-19 23:51:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-23 23:49:27 +0900

    Make object ID faster by checking flags

    We can improve object ID performance by checking the FL_SEEN_OBJ_ID flag
    instead of looking up in the table.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11407

commit b51e1c07d84af189885f10a947e75497481c958d
  Author:     Andy Wong <36797624+topcminwer@users.noreply.github.com>
  AuthorDate: 2024-08-23 20:44:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-23 20:44:51 +0900

    [DOC] Fix typos in ObjectSpace::WeakMap docs

    The value of variable key2 should be "bar". This way, when nil is assigned to val1 and garbage collection occurs, the output of m.keys will then be ["bar"].

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11442

    Merged-By: nobu <nobu@ruby-lang.org>

commit 4dae4c6858bb57053ce1e8174e2d52b8288cf7c9
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-08-23 15:21:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 17:08:26 +0900

    [rubygems/rubygems] Don't break if extra calls to File.writable? happen

    In https://bugs.ruby-lang.org/issues/20693, I'd like to have Dir.tmpdir
    call `File.writable?` instead of `Stat#writable?`. However, that causes
    this test to break in bundler because it's using RSpec to stub
    `File.writable?`.

    We can fix this by allowing the real `File.writable?` to be called for
    all files except the directory we're trying to stub.

    https://github.com/rubygems/rubygems/commit/0fa6657293

commit 73a946c61850314264cc47f2414e571921d59fde
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-23 16:00:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 16:00:52 +0900

    Update bundled gems list as of 2024-08-23

commit 9f5860407f310b85fa6c425a948563870b0fb8ea
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-22 01:26:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 16:00:30 +0900

    [rubygems/rubygems] Fix error message when Bundler refuses to install due to frozen being set without a lockfile

    https://github.com/rubygems/rubygems/commit/0857d62ca6

commit 7812732e2c271732b96e285584ba84eb236c647a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-23 14:58:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 15:07:40 +0900

    [ruby/tempfile] File.new(fileno, mode: mode, path: path) is provided from Ruby 3.2

    https://github.com/ruby/tempfile/commit/67ce897727

commit 52082d19e084c43457ce79c1e76f6f2707fac80e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 23:14:29 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-23 12:17:07 +0900

    `load_relative` is always falsy here

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11435

commit fbadcd277f5b68ac619d3c861dfdd3e109aeda81
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 23:14:08 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-23 12:17:07 +0900

    Reuse `load_relative` local

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11435

commit c48e5959debdd0da966b911c73c57e44bd3178d1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-20 11:47:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-23 11:44:38 +0900

    [ruby/fiddle] Removed libffi patchs for old Ruby
    (https://github.com/ruby/fiddle/pull/143)

    Pick
    https://github.com/ruby/ruby/commit/92865d8760e22dc5035a67e636fab3fbd7a77a26
    from `ruby/ruby` repo.

    ---------

    https://github.com/ruby/fiddle/commit/aad5a3bc79

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 784ccd0115b5f34fb1a9120da128dea6821484a8
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-23 09:59:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-23 09:59:59 +0900

    [DOC] Tweaks for Array#collect! (#11434)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit fdba458e85bc66f35194f15a55aa8c27a4b5ce4a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-23 08:47:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-23 08:47:40 +0900

    Uncomment test accidentally commented in 1656350

commit 8800127d80fb1063a186ced65af445e79a518924
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-08-08 20:24:13 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-08-23 08:34:41 +0900

    Skip some tests which don't work under permissionless containers

    When running as UID 0 but without CAP_DAC_OVERRIDE (for example, in a
    docker container running with --uid 0 but --cap-drop=all), these tests
    won't work because of hard-coded assumptions about what uid 0 can and
    can't do.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11402

commit 165635049a2f5af83efe2bd64b08e7b59e925e18
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-22 04:20:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-23 02:50:17 +0900

    Don't use gc_impl.h inside of gc/gc.h

    Using gc_impl.h inside of gc/gc.h will cause gc/gc.h to use the functions
    in gc/default.c when builing with shared GC support because gc/gc.h is
    included into gc.c before the rb_gc_impl functions are overridden by the
    preprocessor.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11423

commit b0c92d6c3ffc483f00ef9ad6dd41fa500f9a4324
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-22 03:28:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-23 02:50:17 +0900

    Change hash_replace_ref_value to assume value moved

    When hash_foreach_replace_value returns ST_REPLACE, it's guaranteed that
    the value has moved in hash_replace_ref_value.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11423

commit 3f30c4df8c70788b065d2004dde791056d6f4162
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-22 22:31:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 00:23:33 +0900

    [ruby/prism] Update templates/include/prism/ast.h.erb

    https://github.com/ruby/prism/commit/7f7620b6d5

commit 0ef703b91c9c185067f6484d8c6ad689750194ad
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2024-08-16 02:31:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-23 00:23:32 +0900

    [ruby/prism] Render node comments into their `ast.h`

    https://github.com/ruby/prism/commit/b17c3241d3

commit d57486cb100d6814423c0e22556266e67000d101
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-22 23:22:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-22 23:43:35 +0900

    [ruby/prism] Turn off extended mode when parsing extended group

    https://github.com/ruby/prism/commit/098b3f08bc

commit 56a34b5af58b55177d671cc6f12241ef8b18c23c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 22:42:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Fix use-after-free for WeakKeyMap

    [Bug #20688]

    We cannot free the key before the ST_DELETE because it could hash the
    key which would read the key and would cause a use-after-free. Instead,
    we store the key and free it on the next iteration.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11421

commit df9a6aa94330cbf414afcd957d1b87defc67e1c5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 00:43:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Fix WeakMap use-after-free

    [Bug #20688]

    We cannot free the weakmap_entry before the ST_DELETE because it could
    hash the key which would read the weakmap_entry and would cause a
    use-after-free. Instead, we store the entry and free it on the next
    iteration.

    For example, the following script triggers a use-after-free in Valgrind:

        weakmap = ObjectSpace::WeakMap.new
        10_000.times { weakmap[Object.new] = Object.new }

        ==25795== Invalid read of size 8
        ==25795==    at 0x462297: wmap_cmp (weakmap.c:165)
        ==25795==    by 0x3A2B1C: find_table_bin_ind (st.c:930)
        ==25795==    by 0x3A5EAA: st_general_foreach (st.c:1599)
        ==25795==    by 0x3A5EAA: rb_st_foreach (st.c:1640)
        ==25795==    by 0x25C991: gc_mark_children (default.c:4870)
        ==25795==    by 0x25C991: gc_marks_wb_unprotected_objects_plane (default.c:5565)
        ==25795==    by 0x25C991: rgengc_rememberset_mark_plane (default.c:5557)
        ==25795==    by 0x25C991: rgengc_rememberset_mark (default.c:6233)
        ==25795==    by 0x25C991: gc_marks_start (default.c:6057)
        ==25795==    by 0x25C991: gc_marks (default.c:6077)
        ==25795==    by 0x25C991: gc_start (default.c:6723)
        ==25795==    by 0x260F96: heap_prepare (default.c:2282)
        ==25795==    by 0x260F96: heap_next_free_page (default.c:2489)
        ==25795==    by 0x260F96: newobj_cache_miss (default.c:2598)
        ==25795==    by 0x26197F: newobj_alloc (default.c:2622)
        ==25795==    by 0x26197F: rb_gc_impl_new_obj (default.c:2701)
        ==25795==    by 0x26197F: newobj_of (gc.c:890)
        ==25795==    by 0x26197F: rb_wb_protected_newobj_of (gc.c:917)
        ==25795==    by 0x2DEA88: rb_class_allocate_instance (object.c:131)
        ==25795==    by 0x2E3B18: class_call_alloc_func (object.c:2141)
        ==25795==    by 0x2E3B18: rb_class_alloc (object.c:2113)
        ==25795==    by 0x2E3B18: rb_class_new_instance_pass_kw (object.c:2172)
        ==25795==    by 0x429DDC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3786)
        ==25795==    by 0x44B08D: vm_sendish (vm_insnhelper.c:5953)
        ==25795==    by 0x44B08D: vm_exec_core (insns.def:898)
        ==25795==    by 0x43A7A4: rb_vm_exec (vm.c:2564)
        ==25795==    by 0x234914: rb_ec_exec_node (eval.c:281)
        ==25795==  Address 0x21603710 is 0 bytes inside a block of size 16 free'd
        ==25795==    at 0x4849B2C: free (vg_replace_malloc.c:989)
        ==25795==    by 0x249651: rb_gc_impl_free (default.c:8527)
        ==25795==    by 0x249651: rb_gc_impl_free (default.c:8508)
        ==25795==    by 0x249651: ruby_sized_xfree.constprop.0 (gc.c:4178)
        ==25795==    by 0x4626EC: ruby_sized_xfree_inlined (gc.h:277)
        ==25795==    by 0x4626EC: wmap_free_entry (weakmap.c:45)
        ==25795==    by 0x4626EC: wmap_mark_weak_table_i (weakmap.c:61)
        ==25795==    by 0x3A5CEF: apply_functor (st.c:1633)
        ==25795==    by 0x3A5CEF: st_general_foreach (st.c:1543)
        ==25795==    by 0x3A5CEF: rb_st_foreach (st.c:1640)
        ==25795==    by 0x25C991: gc_mark_children (default.c:4870)
        ==25795==    by 0x25C991: gc_marks_wb_unprotected_objects_plane (default.c:5565)
        ==25795==    by 0x25C991: rgengc_rememberset_mark_plane (default.c:5557)
        ==25795==    by 0x25C991: rgengc_rememberset_mark (default.c:6233)
        ==25795==    by 0x25C991: gc_marks_start (default.c:6057)
        ==25795==    by 0x25C991: gc_marks (default.c:6077)
        ==25795==    by 0x25C991: gc_start (default.c:6723)
        ==25795==    by 0x260F96: heap_prepare (default.c:2282)
        ==25795==    by 0x260F96: heap_next_free_page (default.c:2489)
        ==25795==    by 0x260F96: newobj_cache_miss (default.c:2598)
        ==25795==    by 0x26197F: newobj_alloc (default.c:2622)
        ==25795==    by 0x26197F: rb_gc_impl_new_obj (default.c:2701)
        ==25795==    by 0x26197F: newobj_of (gc.c:890)
        ==25795==    by 0x26197F: rb_wb_protected_newobj_of (gc.c:917)
        ==25795==    by 0x2DEA88: rb_class_allocate_instance (object.c:131)
        ==25795==    by 0x2E3B18: class_call_alloc_func (object.c:2141)
        ==25795==    by 0x2E3B18: rb_class_alloc (object.c:2113)
        ==25795==    by 0x2E3B18: rb_class_new_instance_pass_kw (object.c:2172)
        ==25795==    by 0x429DDC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3786)
        ==25795==    by 0x44B08D: vm_sendish (vm_insnhelper.c:5953)
        ==25795==    by 0x44B08D: vm_exec_core (insns.def:898)
        ==25795==    by 0x43A7A4: rb_vm_exec (vm.c:2564)
        ==25795==  Block was alloc'd at
        ==25795==    at 0x484680F: malloc (vg_replace_malloc.c:446)
        ==25795==    by 0x25CE9E: rb_gc_impl_malloc (default.c:8542)
        ==25795==    by 0x462A39: wmap_aset_replace (weakmap.c:423)
        ==25795==    by 0x3A5542: rb_st_update (st.c:1487)
        ==25795==    by 0x462B8E: wmap_aset (weakmap.c:452)
        ==25795==    by 0x429DDC: vm_call_cfunc_with_frame_ (vm_insnhelper.c:3786)
        ==25795==    by 0x44B08D: vm_sendish (vm_insnhelper.c:5953)
        ==25795==    by 0x44B08D: vm_exec_core (insns.def:898)
        ==25795==    by 0x43A7A4: rb_vm_exec (vm.c:2564)
        ==25795==    by 0x234914: rb_ec_exec_node (eval.c:281)
        ==25795==    by 0x2369B8: ruby_run_node (eval.c:319)
        ==25795==    by 0x15D675: rb_main (main.c:43)
        ==25795==    by 0x15D675: main (main.c:62)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11421

commit 34bf724a9b53ce724a2cc02195221b32879b962c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 00:23:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Remove wmap_free_entry

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11421

commit 3dd4679786f0134cce218e0bc9bebc32e6f749b4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 00:13:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Refactor wmap_compact to use wmap_foreach

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11421

commit 9c372f872db2a272197e3ea7965a6fcc3c3d096e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 00:03:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Use wmap_foreach for wmap_mark

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11421

commit e375fa078fe8ad8c6c55ca0b8207aec26ad9142f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-20 23:40:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Refactor wmap_foreach to pass weakmap_entry

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11421

commit 9a9e74389c08e8cb4421da88eae26c28f50e7820
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-20 00:50:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 23:01:55 +0900

    Add struct weakmap_entry for WeakMap entries

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11421

commit 2569413b1cb9765d0e31fc8dcf0e674d428bb4e7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-20 04:53:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-22 20:48:32 +0900

    [rubygems/rubygems] Fix `--prefer-local` flag

    The original implementation of this flag was too naive and all it did
    was restricting gems to locally installed versions if there are any
    local versions installed.

    However, it should be much smarter. For example:

    * It should fallback to remote versions if locally installed version
      don't satisfy the requirements.
    * It should pick locally installed versions even for subdependencies not
      yet discovered.

    This commit fixes both issues by using a smarter approach similar to how
    we resolve prereleases:

    * First resolve optimistically using only locally installed gems.
    * If any conflicts are found, scan those conflicts, allow remote
      versions for the specific gems that run into conflicts, and
      re-resolve.

    https://github.com/rubygems/rubygems/commit/607a3bf479

    Co-authored-by: Gourav Khunger <gouravkhunger18@gmail.com>

commit 203051d83997ef092fda16b0c10a9bed24120a00
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-20 05:14:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-22 20:48:31 +0900

    [rubygems/rubygems] Fix bad grammar in log message

    https://github.com/rubygems/rubygems/commit/bea4c1ad79

commit d731adb7552f3e2980348004a62fa4175fb748b0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-22 16:38:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-22 16:38:54 +0900

    Strictly checking pull-request author

commit 86c2724e75375ceb165c378ed4261c551136e593
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-08-19 15:25:09 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-08-22 16:35:43 +0900

    Don't emit ELF notes on non-ELF platforms

    These apparently break compilation on old MacOS toolchains, because the
    MachO section name is capped to 16 chars (although, on my MacOS, at
    least, the section name just gets truncated). Nevertheless, these serve
    no purpose on non-ELF platforms (they're part of the LSB Linux ABI).

    [Bug #20677]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11405

commit 6a746e1bc902d4245aac58db4e9ffc2f72d79629
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-08-19 15:22:27 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-08-22 16:35:43 +0900

    Check for both aarch64 and arm64 arch's for pac-ret

    Linux calls it aarch64, but MacOS calls it arm64; pac-ret works on both.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11405

commit ff0a1818526460fe71f612f26b231b15e80f746a
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-08-19 15:21:28 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-08-22 16:35:43 +0900

    Fix typo in ELF note generation

    This wasn't looking at the right macro name for pac-ret support, so if
    Ruby was compiled with pac-ret but NOT BTI, then the ELF note would not
    be emitted.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11405

commit 004c6a6ed16a66f027c12606f96153a03e624005
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-22 15:20:07 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-22 16:32:54 +0900

    Use ruby to suppress a warning message by cmd.exe

    It is expected that reading from command with offset fails by ESPIPE
    and the pipe will be closed immediately.  While this causes the child
    process to terminate by SIGPIPE usually, cmd.exe yields the message
    bellow.

    ```
    The process tried to write to a nonexistent pipe.
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11433

commit 29500e3034681a30045dea462d6bb653e8600738
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-22 16:01:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-22 16:01:14 +0900

    Update bundled gems list as of 2024-08-22

commit 64a005df3b84e324ee329bad1e12cb9cd26eae72
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-22 10:31:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-22 11:29:48 +0900

    `make test-tool` with Windows is broken. We should use :KILL with that platform.

    ```
    [ 14/191] TestParallel::TestParallel#test_hungup = 11.02 s
      1) Failure:
    TestParallel::TestParallel#test_hungup [C:/Users/hsbt/DevDrive/github.com/ruby/ruby/tool/test/testunit/test_parallel.rb:211]:
    Expected /^Retrying hung up testcases\.+$/ to match "Run options: \n" +
    "  --seed=35582\n" +
    "  --ruby\n" +
    "  \".\\\\ruby.exe -I../../ruby/lib -I.ext/x64-mswin64_140 -I. ../../ruby/tool/runruby.rb --extout=.ext -- --disable-gems\"\n" +
    "  -j\n" +
    "  t1\n" +
    "  --worker-timeout=1\n" +
    "\n" +
    "# Running tests:\n" +
    "\n" +
    "[1/1] 50340=test4test_hungup.\n" +
    "C:/Users/hsbt/DevDrive/github.com/ruby/ruby/tool/lib/test/unit.rb:418:in 'Process.kill': Invalid argument (Errno::EINVAL)\n" +
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11430

commit a3f5a043fa5b3cb9ae1c684708399f26716ae451
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-08-22 06:41:13 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-22 11:20:47 +0900

    Handle getlogin failure in PTY.spawn

    getlogin is only called if USER environment variable is not set,
    but if getlogin returns NULL in that case, then do not call
    getpwnam, and assume /bin/sh as shell.

    Mentioned in comment to bug 20586.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11427

commit ae886e0c83c0e3a3c838f48fb91efe253c027c6d
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-08-22 06:32:42 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-22 11:20:47 +0900

    Check getlogin return value before passing to strcasecmp

    getlogin can return NULL, and this can avoid a segfault
    in that case.

    Mentioned as an issue in comment to bug 20586.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11427

commit 8999fd1ac84b01bc7a0a698791f10efb2b1d3b18
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-22 09:47:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-22 11:06:20 +0900

    automerge needs windows results

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11429

commit 8558bea27bdbb68b51d4e67a37e3db95e17fdd73
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-22 09:39:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-22 10:38:43 +0900

    Suppress warning for fd leak

    ```
    Leaked file descriptor: TestResolvDNS#test_multiple_servers_with_timeout_and_truncated_tcp_fallback: 15 : #<TCPSocket:fd 15, AF_INET, 127.0.0.1, 61633>
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11428

commit 773cf883ac75f0f207f8e468461d19f008dba118
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-22 03:47:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-22 05:59:03 +0900

    [PRISM] Reset $. when done reading STDIN

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11425

commit f60499826f3a2845fced97556289c48f68be09e8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-22 03:35:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-22 05:32:19 +0900

    [PRISM] Fix TestTRICK#test_ksk_1

    If an array element is a static literal that does not result in a
    intermediate array, it still needs to be compiled normally.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11426

commit 465cf8d80b719a3507c188e9c6bc2fe2932138c6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-22 04:24:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-22 05:32:05 +0900

    [PRISM] Potentially enable coverage on the main script

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11424

commit 76ccd1df3777312f865f83d5fd945b18140ecb48
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-18 03:18:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 04:56:59 +0900

    [DOC] Tweaks for Enum#tally

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11399

commit 53e37953791921b42c3d409b23c488861094f714
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-17 22:04:41 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 01:07:28 +0900

    [DOC] Tweaks to Array#bsearch_index

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11396

commit f5579c9278faff76a9919419a2b36a03db756823
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-22 01:06:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-22 01:06:48 +0900

    [DOC] Include keywords.rdoc in doc/syntax/ (#11414)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 65b3bcede31eaaecb195e8780a71c1ae0b7d21ec
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-17 22:33:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 00:59:20 +0900

    [DOC] Tweaks for Array#collect

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11398

commit ee6c7ab0cfe23e6dfb5001edb47af236ac3e8fe6
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-17 22:14:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 00:56:35 +0900

    [DOC] Tweaks for Array#clear

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11397

commit 124f1754dfd7a53ad1f80d92b8c369f7d1cafd1e
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-17 21:51:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 00:42:20 +0900

    [DOC] Tweaks for Array#bsearch

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11395

commit 7ad74d1686b626b72228e3d24d5448adcfe23d48
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-08-21 02:34:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-22 00:37:13 +0900

    [PRISM] Implement unused block warning

    Related: ruby/prism#2935

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11415

commit e15b454bc3da5280923325df660f9b05fa34061c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-15 03:23:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-22 00:12:07 +0900

    Simplify how finalizers are ran at shutdown

    We don't need to build a linked list from the finalizer table and
    instead we can just run the finalizers by iterating the ST table.

    This also improves the performance at shutdown, for example:

        1_000_000.times.map do
          o = Object.new
          ObjectSpace.define_finalizer(o, proc { })
          o
        end

    Before:

        Time (mean ± σ):      1.722 s ±  0.056 s    [User: 1.597 s, System: 0.113 s]
        Range (min … max):    1.676 s …  1.863 s    10 runs

    After:

        Time (mean ± σ):      1.538 s ±  0.025 s    [User: 1.437 s, System: 0.093 s]
        Range (min … max):    1.510 s …  1.586 s    10 runs

commit 669d1f79d800d554918c7d5647b73a6431920ea8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-20 04:23:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 23:47:57 +0900

    [rubygems/rubygems] Restore support for passing relative paths to `:git`

    The `file://` protocol does not really work with relative paths and it's
    not necessary anyways. So restore support for that by not using
    `file://`.

    https://github.com/rubygems/rubygems/commit/16a68998ce

commit 52c02794dffe5a1399d74d4db33d4707df07e936
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-20 04:22:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 23:47:57 +0900

    [rubygems/rubygems] Add missing flag passed to `git fetch`

    Doesn't really change the test outcome, but I noticed it was missing.

    https://github.com/rubygems/rubygems/commit/ea4f9d5209

commit 2bc141f2b6c17485971199974c7bd012b0c61c82
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-21 23:34:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-21 23:34:12 +0900

    [PRISM] Fix up test exception assertion for Prism

commit d5dbaa5da3daf0766520d87ba6cbc7ef5a776289
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-20 23:47:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-21 21:43:59 +0900

    Remove unused weakmap field in wmap_foreach

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11413

commit 419d3221fb48a6c7eda2f6ddcfef9566516aa703
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-20 03:18:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 21:07:10 +0900

    [rubygems/rubygems] Fix `gem uninstall <name>:<version>` failing on shadowed default gems

    https://github.com/rubygems/rubygems/commit/29357a5dd6

commit 3ebe249ce1f93db9c6178230ae21166e35579da6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-19 20:50:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 21:06:43 +0900

    [rubygems/rubygems] Add better error when trying to develop RubyGems with an unsupported Ruby version

    https://github.com/rubygems/rubygems/commit/9d41c4088a

commit 54b6025887f46b5317c6917fe8c5d630013f923a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-08 04:14:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 21:06:28 +0900

    [rubygems/rubygems] Regeneration previous git application caches that didn't include bare repos

    https://github.com/rubygems/rubygems/commit/417319ecb1

commit 7845ab1bc9e92fa8e5db06bea8928a4646a19976
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-21 20:43:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-21 20:43:56 +0900

    [Bug #20687] Exclude just built ruby as baseruby

    On Windows, an executable file in the current directory has the
    priority to the PATH environment variable always.

commit 6ab591f80aa19d63ecd1e1df3c09c391efb318a6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-21 13:21:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-21 16:56:44 +0900

    [Bug #20687] Check if base ruby provides necessary libraries

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11419

commit 71c14c8889b92561981677e47d72ab7f430fad91
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-21 14:30:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 16:48:35 +0900

    Don't show script name when bundle exec and call ruby script directly.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11418

commit c97dc7739e1d14e59a78104d2d8717c601070805
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-21 14:25:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 16:48:35 +0900

    Skip to show script name with using ruby -r option

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11418

commit 5fedf1c3ac4d92f0877759b16aec932541e85075
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-21 14:24:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 16:48:35 +0900

    Show correct script name with sub-feature case

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11418

commit b41d79962abefbe8b70d76dee134b44a3a3d3929
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-21 12:06:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 14:52:29 +0900

    Reapply "[ruby/uri] Warn compatibility methods in RFC3986_PARSER"

    This reverts commit 3da7e440e9fca835f5475a98f1c0afb4d2ac71db.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11416

commit ea828c0bf0233c36384bb8c6d1ea8ed79d7b3884
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-08-21 13:05:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 13:55:09 +0900

    Skip failing tempfile library tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11417

commit 592b90328a531b3ea5fe73a72323f36be6f77e6b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-21 13:30:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-21 13:30:01 +0900

    Generate parsers of RDoc with Racc 1.8.1

commit 014708ad5a84b454d16e532f48476d2760ea5b56
  Author:     Michael Chui <saraid216@gmail.com>
  AuthorDate: 2024-08-21 07:24:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 10:10:56 +0900

    [ruby/logger] Guarantee level_override exists

    Some Ruby apps subclass Logger without running the superclass
    constructor, which means that `@level_override` isn't initialized
    properly. This can be fixed in some cases, but the gem should maintain
    backwards compatibility.

    https://github.com/ruby/logger/commit/3246f38328

commit 1d68a735a262dba3d6222cfd664b80db2a33fc60
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 03:37:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 03:37:53 +0900

    [ruby/tempfile] Don't unlink in finalizer when already unlinked

    https://github.com/ruby/tempfile/commit/f677941ea2

commit bd7eda6038ab8b8b7536827ead25c1901e6dfa77
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 03:35:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 03:37:53 +0900

    [ruby/tempfile] Fix subprocess tests requires

    Using `-rtempfile` requires the tempfile built into Ruby, not the
    currently developed one, so the tests aren't testing this tempfile.

    https://github.com/ruby/tempfile/commit/ea2dec6f46

commit 2f67610f6bd1f771899ccfd503d2a3b2be63b56f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 03:29:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-21 03:29:40 +0900

    Remove dependency on Tempfile::Remover in leakchecker.rb

commit a68331e7036d7ab433778bf65eb854aabd5009c4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-21 02:28:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-21 03:07:42 +0900

    [ruby/tempfile] Add FinalizerManager to manage finalizers

    As @jeremyevans pointed out for commit eb2d8b1:

    > Each Tempfile instance has a separate File instance and file descriptor:
    >
    >   t = Tempfile.new
    >   t.to_i # => 6
    >   t.dup.to_i => 7

    FinalizerManager will keep track of the open File objects for the
    particular file and will only unlink the file when all of the File objects
    have been closed.

    https://github.com/ruby/tempfile/commit/753ab16642

commit 41b427a2648ed2e049952450c698be917e0bb125
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-16 01:17:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-20 22:28:36 +0900

    [ruby/tempfile] Ensure finalizer order in Tempfile

    The Closer and Remover finalizers are defined on different objects in
    Tempfile. The Closer is defined on the Tempfile object while the Remover
    is defined on the finalizer_obj. This means that there is no guarantee
    of the finalizer order.

    On Windows, we must close the file before removing it because we cannot
    remove an open file. But since the order is not guaranteed, the GC may
    run the Remover finalizer first, which will fail with an Errno::EACCES
    (Permission denied @ apply2files).

    This commit changes it so that both the Closer and Remover finalizers
    are defined on the finalizer_obj, which guarantees the order that it is
    ran.

    https://github.com/ruby/tempfile/commit/eb2d8b1175

commit d6f18b226ef51e71bea72eb888fa42bd0f74bc57
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-20 20:16:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-20 20:16:45 +0900

    Remove extraneous lock files

    See https://github.com/rubygems/rubygems/pull/7939

commit 72d016e97b38ccc2cf3e63964e69d1eed941eff6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-20 19:07:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-20 20:03:13 +0900

    [ruby/reline] typofix

    https://github.com/ruby/reline/commit/d44fbf9f7b

commit 927a44b43f1db2527a4fe6709ec0867dea3ca58f
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-08-09 09:35:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-20 18:36:16 +0900

    Rewrite #test_redefinition_mismatch to use a dedicated test class

    This test is checking what happens if you try and define a class in a C
    extension where that constant is already not a class. It was doing this
    by overriding ::Date and then trying to require 'date. The issue with
    this is that if we ever add 'date' as a dependency for the test runner,
    this test will break because the test runner files get implicitly
    required in an `assert_separately` block.

    Better use an explicit class for this purpose which can't be accidentally
    required elsewhere.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11400

commit 5e3dd6d395ca551152c8920f69f39823efeab748
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-20 18:00:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-20 18:00:09 +0900

    Decrease the timeout in assert_darwin_vm_dump_works (#11412)

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit f73d435262ebbbdaedfb7bdc73b093c4fd6505f4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-29 16:34:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-20 12:26:02 +0900

    Check compile_branch_condition results

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11411

commit 995b4c329b7ef7c9c8eda04e611884ce0b37e243
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-29 15:43:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-20 12:26:02 +0900

    Make same structures same

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11411

commit ea7ceff82cec98d0c419e9807dcb33dcc08b56fa
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-08-20 11:00:37 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-20 11:00:37 +0900

    Avoid hash allocation for certain proc calls

    Previously, proc calls such as:

    ```ruby
    proc{|| }.(**empty_hash)
    proc{|b: 1| }.(**r2k_array_with_empty_hash)
    ```

    both allocated hashes unnecessarily, due to two separate code paths.

    The first call goes through CALLER_SETUP_ARG/vm_caller_setup_keyword_hash,
    and is simple to fix by not duping an empty keyword hash that will be
    dropped.

    The second case is more involved, in setup_parameters_complex, but is
    fixed the exact same way as when the ruby2_keywords hash is not empty,
    by flattening the rest array to the VM stack, ignoring the last
    element (the empty keyword splat).  Add a flatten_rest_array static
    function to handle this case.

    Update test_allocation.rb to automatically convert the method call
    allocation tests to proc allocation tests, at least for the calls
    that can be converted.  With the code changes, all proc call
    allocation tests pass, showing that proc calls and method calls
    now allocate the same number of objects.

    I've audited the allocation tests, and I believe that all of the low
    hanging fruit has been collected.  All remaining allocations are
    either caller side:

    * Positional splat + post argument
    * Multiple positional splats
    * Literal keywords + keyword splat
    * Multiple keyword splats

    Or callee side:

    * Positional splat parameter
    * Keyword splat parameter
    * Keyword to positional argument conversion for methods that don't accept keywords
    * ruby2_keywords method called with keywords

    Reapplies abc04e898b627ab37fa9dd5e330f239768778d8b, which was reverted at
    d56470a27c5a8a2e7aee7a76cea445c2d29c0c59, with the addition of a bug fix and
    test.

    Fixes [Bug #20679]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11409

    Merged-By: jeremyevans <code@jeremyevans.net>

commit cb2848772210f8e00956a24db650f8b06786fd3c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-17 05:02:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-19 23:58:36 +0900

    Make assertions allow incremental GC when disabled

    When assertions are enabled, the following code triggers an assertion
    error:

        GC.disable
        GC.start(immediate_mark: false, immediate_sweep: false)

        10_000_000.times { Object.new }

    This is because the GC.start ignores that the GC is disabled and will
    start incremental marking and lazy sweeping. But the assertions in
    gc_marks_continue and gc_sweep_continue assert that GC is not disabled.

    This commit changes it for the assertion to pass if the GC was triggered
    from a method.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11391

commit 786d0006524b0ca282a05593ca3dff3633890af7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-19 20:02:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-19 20:48:42 +0900

    [ruby/rdoc] Avoid potentially loading the same extension from different versions of the same gem

    Avoids warnings like

    ```
    /path/to/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/rbs-3.4.0/lib/rdoc/discover.rb:10: warning: method redefined; discarding old scan
    /path/to/ruby/3.3.4/lib/ruby/gems/3.3.0/gems/rbs-3.5.1/lib/rdoc/discover.rb:10: warning: previous definition of scan was here
    ```

    https://github.com/ruby/rdoc/commit/e47920d8f3

commit cd0d4ec059b2998e4bf9cae35f4b1301c2bd6b53
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-19 19:50:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-19 19:50:08 +0900

    Single letter ASCII operator is same as the corresponding ID

commit 566f2eb501d94d4047a9aad4af0d74c6a96f34a9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-14 14:01:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-19 15:36:49 +0900

    Merge `rb_fork_ruby2` into `rb_fork_ruby`

commit 70613595645fc3ae2bdde8f023728e3f10122ffb
  Author:     Marco Roth <marco.roth@intergga.ch>
  AuthorDate: 2024-08-13 20:52:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-19 09:04:48 +0900

    [rubygems/rubygems] Change new gem README template to have copyable code blocks

    https://github.com/rubygems/rubygems/commit/c805e9b558

commit d450f9d6a28f01b7ca6030a925921dbf35cee439
  Author:     Victor Shepelev <zverok.offline@gmail.com>
  AuthorDate: 2024-08-18 19:15:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-18 19:15:18 +0900

    Make Range#step to consistently use + for iteration  (#7444)

    Make Range#step to consistently use + for iteration [Feature #18368]

    Previously, non-numerics expected step to be integer,
    and iterated with begin#succ, skipping over step value
    steps. Since this commit, numeric and non-numeric iteration
    behaves the same way, by using + operator.

  Notes:
    Merged-By: zverok <zverok.offline@gmail.com>

commit 4dbf386ca248df0f47f31dc28cdeabe8d4477e5b
  Author:     Neil Carvalho <me@neil.pro>
  AuthorDate: 2024-08-17 19:36:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-17 19:36:22 +0900

    [DOC] Add `$;` to the list of deprecated global variables

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11392

    Merged-By: nobu <nobu@ruby-lang.org>

commit 694181a9f3039def04e2613fe928024eb114440e
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-17 16:00:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-17 16:00:35 +0900

    Update bundled gems list as of 2024-08-16

commit d56470a27c5a8a2e7aee7a76cea445c2d29c0c59
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-08-17 08:47:11 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-08-17 09:59:05 +0900

    Revert "Avoid hash allocation for certain proc calls"

    This reverts commit abc04e898b627ab37fa9dd5e330f239768778d8b.

    This caused problems in a Rails test.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11394

commit 2fe6a4f84d2bcf97d3be9bffa5f3232604201f55
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-16 23:27:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-17 05:12:49 +0900

    Fix assertion error when TracePoint has incompatible events

    TracePoints with incompatible events (i.e. events not in ISEQ_TRACE_EVENTS)
    with a method target will fail an assertion error because it does not
    filter for the supported events. For example, the following lines will
    cause an assertion error:

        def foo; end
        # No arguments passed into TracePoint.new enables all ISEQ_TRACE_EVENTS
        TracePoint.new {}.enable(target: method(:foo))
        # Raise is not supported with a target
        TracePoint.new(:raise, :return) {}.enable(target: method(:foo))
        foo

    Crashes with:

        Assertion Failed: vm_insnhelper.c:7026:vm_trace:(iseq_local_events & ~(0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010| 0x0020| 0x0040 | 0x0100 | 0x0200 | 0x4000 | 0x010000| 0x020000)) == 0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11390

commit 77ac853c15ef64bfc663e4b91a0707b549b940eb
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-17 05:11:55 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-17 05:11:55 +0900

    [DOC] Tweaks to Array#assoc (#11384)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 1917c8c8f333c2c39b575f47a17e74f4024f6051
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-16 19:01:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-17 02:10:23 +0900

    [ruby/openssl] Remove test_ed25519_not_approved_on_fips.

    This commit fixes the following failure on OpenSSL master FIPS case.

    ```
    1) Failure: test_ed25519_not_approved_on_fips(OpenSSL::TestPKey): OpenSSL::PKey::PKeyError expected but nothing was raised.
    /home/runner/work/openssl/openssl/vendor/bundle/ruby/3.0.0/gems/test-unit-ruby-core-1.0.6/lib/core_assertions.rb:462:in `assert_raise'
    /home/runner/work/openssl/openssl/test/openssl/test_pkey.rb:174:in `test_ed25519_not_approved_on_fips'
         171:     MC4CAQAwBQYDK2VwBCIEIEzNCJso/5banbbDRuwRTg9bijGfNaumJNqM9u1PuKb7
         172:     -----END PRIVATE KEY-----
         173:     EOF
      => 174:     assert_raise(OpenSSL::PKey::PKeyError) do
         175:       OpenSSL::PKey.read(priv_pem)
         176:     end
         177:   end
    ```

    Because FIPS compliance is a continually moving target. According to the [1],
    FIPS 140-3 *currently* allows ED25519. The ED25519 is allowed again with the
    latest OpenSSL FIPS by the commit [2], while it is not allowed in OpenSSL stable
    version 3.x FIPS.

    Remove this test because we want to keep our tests stable.

    [1] https://github.com/openssl/openssl/discussions/22054
    [2] https://github.com/openssl/openssl/commit/5f04124aab4a477d4e58149d8f04871ff7e5ea4b

    https://github.com/ruby/openssl/commit/d43904b834

commit bbbe07a5dbe9fd747a62c202cfa5d4f2f3cbe52c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-16 02:22:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 22:26:51 +0900

    Speed up finalizers for objects without object ID

    If the object being finalized does not have an object ID, then we don't
    need to insert into the object ID table, we can simply just allocate a
    new object ID by bumping the next_object_id counter. This speeds up
    finalization for objects that don't have an object ID. For example, the
    following script now runs faster:

        1_000_000.times do
          o = Object.new
          ObjectSpace.define_finalizer(o) {}
        end

    Before:

        Time (mean ± σ):      1.462 s ±  0.019 s    [User: 1.360 s, System: 0.094 s]
        Range (min … max):    1.441 s …  1.503 s    10 runs

    After:

        Time (mean ± σ):      1.199 s ±  0.015 s    [User: 1.103 s, System: 0.086 s]
        Range (min … max):    1.181 s …  1.229 s    10 runs

commit 703305bd039804a0fe47e9d5d1f90c9acbdacebd
  Author:     Raed Rizqie <raed.rizqie@gmail.com>
  AuthorDate: 2024-08-11 22:08:33 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-16 17:42:59 +0900

    Revert soname changes

    - only i386-ucrt soname is changed to fix building on x86 clang
    - fix detection of x86intrin.h on x86 system
    - mingw does not have LIBRUBY_SONAME

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11362

commit 21dfe34aaea90fdde57e676c24d091b53f0faf42
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-01 14:39:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-16 16:55:51 +0900

    Stringize VM_ASSERT expression before expansion

commit 196d59f6908028de0267ab355ef4423bc011ee3f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-16 15:02:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-16 15:43:43 +0900

    Parenthesize macro arguments

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11389

commit 129b4936bf8c556e9d400852ccd5b165dbe91499
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-16 11:43:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-16 15:43:43 +0900

    Simplify and clarify bitmask calculation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11389

commit 08db4bc672eea0426c786ceece3545ac44eccad6
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-15 23:20:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-16 15:09:15 +0900

    [ruby/openssl] test_s_generate_parameters: Consider a DSA error in FIPS.

    DSA kengen is not FIPS-approved. The `EVP_PKEY_paramgen` in the
    `OpenSSL::PKey.generate_parameters("DSA")` raises a DSA error in FIPS by the
    following commit. Split the test for DSA.

    https://github.com/openssl/openssl/commit/49a35f0#diff-605396c063194975af8ce31399d42690ab18186b422fb5012101cc9132660fe1R611-R614

    https://github.com/ruby/openssl/commit/5ca6eb4eca

commit 018bd07f07e43a5be8ed94cfbcaac3c742b30b0a
  Author:     Raed Rizqie <raed.rizqie@gmail.com>
  AuthorDate: 2024-08-16 14:51:21 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-16 14:51:21 +0900

    Fix some warnings

    * Fix unused functions when no `mmap`.

      ```
      shape.c:285:1: warning: unused function 'redblack_insert' [-Wunused-function]
        285 | redblack_insert(redblack_node_t * tree, ID key, rb_shape_t * value)
            | ^~~~~~~~~~~~~~~
      ```

    * Fix unknown warning group '-Wmaybe-uninitialized' with clang.

      ```
      thread_win32.c:596:1: warning: unknown warning group '-Wmaybe-uninitialized', ignored [-Wunknown-warning-option]
        596 | COMPILER_WARNING_IGNORED(-Wmaybe-uninitialized)
            | ^
      ```

    Co-authored-by: Nobuyoshi Nakada <nobu.nakada@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11376

    Merged-By: nobu <nobu@ruby-lang.org>

commit c06fbb192f61e3b7af82c0c99a062a4e3938f9aa
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-13 19:37:47 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-16 09:47:07 +0900

    Fix flaky TestSetTraceFunc#test_remove_in_trace by filtering trace events

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11368

commit abc04e898b627ab37fa9dd5e330f239768778d8b
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-27 07:18:45 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-08-16 05:00:09 +0900

    Avoid hash allocation for certain proc calls

    Previous, proc calls such as:

    ```ruby
    proc{|| }.(**empty_hash)
    proc{|b: 1| }.(**r2k_array_with_empty_hash)
    ```

    both allocated hashes unnecessarily, due to two separate code paths.

    The first call goes through CALLER_SETUP_ARG/vm_caller_setup_keyword_hash,
    and is simple to fix by not duping an empty keyword hash that will be
    dropped.

    The second case is more involved, in setup_parameters_complex, but is
    fixed the exact same way as when the ruby2_keywords hash is not empty,
    by flattening the rest array to the VM stack, ignoring the last
    element (the empty keyword splat).  Add a flatten_rest_array static
    function to handle this case.

    Update test_allocation.rb to automatically convert the method call
    allocation tests to proc allocation tests, at least for the calls
    that can be converted.  With the code changes, all proc call
    allocation tests pass, showing that proc calls and method calls
    now allocate the same number of objects.

    I've audited the allocation tests, and I believe that all of the low
    hanging fruit has been collected.  All remaining allocations are
    either caller side:

    * Positional splat + post argument
    * Multiple positional splats
    * Literal keywords + keyword splat
    * Multiple keyword splats

    Or callee side:

    * Positional splat parameter
    * Keyword splat parameter
    * Keyword to positional argument conversion for methods that don't accept keywords
    * ruby2_keywords method called with keywords

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11258

commit 2c6e16eb51bccb98c2d4cfb7b35f6e6500d5d028
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-16 03:33:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 03:33:13 +0900

    Don't assume st_data_t and VALUE are the same in rb_gc_impl_object_id

commit de28ef7db49f8f8d4a46df808e1fbbc18c053ba9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-16 00:00:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-16 02:34:25 +0900

    [PRISM] Use src encoding not ext encoding

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11386

commit eb08a2805c59efdd6cf9f7058a91d9fc9aeb94fe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-15 22:23:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-16 02:34:25 +0900

    [PRISM] test_invalid_jump assertion updates for prism

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11386

commit a402b18c4e64f8c8cdc9a287ee53c727370d9a1b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-15 22:22:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-16 02:34:25 +0900

    [PRISM] test_syntax_check assertion updates for prism

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11386

commit 2d66ef717df0e10946aa583fa32b360766485fed
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-16 01:59:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-16 01:59:30 +0900

    Show anonymous and ambiguous params in ISeq disassembly

    Previously, in the disasesmbly for ISeqs, there's no way to know if the
    anon_rest, anon_kwrest, or ambiguous_param0 flags are set. This commit
    extends the names of the rest, kwrest, and lead params to display this
    information. They are relevant for the ISeqs' runtime behavior.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11237

    Merged-By: XrXr

commit 33bffde92339ee82cb7ed57108206bd9e2a64139
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-16 00:00:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 01:52:09 +0900

    [DOC] Tweaks for Array#at

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11385

commit 5cb6954baa35928af2f23eec5f4a2cd3b360af75
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-16 01:39:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-16 01:50:00 +0900

    [ruby/prism] Fix up lex result constants

    https://github.com/ruby/prism/commit/084baca463

commit d2361ba156af1be20469bfd2a2e1dda21d48f375
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-15 06:06:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 01:49:46 +0900

    [DOC] Tweaks for Array#push

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11382

commit edda29a1173a72ce32e5fbd860ef0e2f78b7b1c9
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-15 05:25:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 01:48:27 +0900

    [DOC] Fix Related for Array#all?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11381

commit 1f994683b6dfb548e066cb3e1b4934b72adf3e45
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-15 05:05:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-16 01:46:18 +0900

    [DOC] Tweaks for Array#any?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11380

commit cbf508da58d50f7448f10a1a6030b3a48dfec14d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-16 01:24:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-16 01:40:05 +0900

    [ruby/prism] Special error for too short unicode errors

    https://github.com/ruby/prism/commit/9f1f7d08bd

commit 8312c5be74f6ce4ae3ebdb6efdcec1134b0c3bba
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-15 02:46:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-15 23:38:24 +0900

    Fix GC_ASSERT for gc.c and gc/default.c

    gc.c mistakenly defined GC_ASSERT as blank, which caused it to be a
    no-op. This caused all assertions in gc.c and gc/default.c to not do
    anything. This commit fixes it by moving the definition of GC_ASSERT
    to gc/gc.h.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11377

commit 923e36ab21f4866dd5087d1f9443cb3e1c43d2c4
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-08-15 22:30:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-15 22:33:00 +0900

    [ruby/rdoc] Fix sidebar scroll again and add missing footer back
    (https://github.com/ruby/rdoc/pull/1154)

    * Add missing footers

    In #1152 the footer partial was only added to the index.rhtml file.
    This commit adds the footer partial to the other template files.

    * Remove unnecessary middle divs in nav

    * Simplify sidebar's overflow settings

    Because sidebar needs to be scrollable, its overflow should default to auto.
    Currently it's set to hidden and force individual elements to set overflow auto,
    which overcomplicates things.

    https://github.com/ruby/rdoc/commit/b8c2bcd8db

commit 2a933609e75aa87f27cf1c892a54389d3efed928
  Author:     Kentaro Takeyama <75117116+obregonia1@users.noreply.github.com>
  AuthorDate: 2024-08-10 14:03:59 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-15 17:16:25 +0900

    Delete unnecessary rubocop disable comment

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11357

commit 8a7e6f6852740e989ef8f679db5631306466a4ed
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-15 15:55:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-15 15:55:57 +0900

    Improve base time of assert_linear_performance (#11369)

    Remove `.ceil` from base time calculation that makes 10x gap.
    This will make the assertion more strict and also less flaky.

  Notes:
    Merged-By: kou <kou@clear-code.com>

commit fd974f5d740b9b5af63ecfdef3ee092b69e437a3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-15 05:23:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-15 05:23:22 +0900

    Increase timeout of test_finalizer

    The test is timing out on lpi4a so a longer timeout should fix it.

commit 09bf3c9d6a7e5c3b5c7193f3beaa169f048cf3a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-15 02:14:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-08-15 04:39:03 +0900

    [PRISM] Trigger moreswitches off shebang

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11378

commit 002e785e7756e5105910434586a5752c8772bb2f
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-15 03:06:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-15 03:06:53 +0900

    [ruby/irb] Fix kill pager pid throwing Errno::ESRCH when pager
    process already terminated
    (https://github.com/ruby/irb/pull/989)

    https://github.com/ruby/irb/commit/949f032e9b

commit 0610f1b083738bb0a84cede42fda048fa116404e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-15 00:31:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-15 02:49:52 +0900

    Fix crash when GC runs during finalizers at shutdown

    We need to remove from the finalizer_table after running all the
    finalizers because GC could trigger during the finalizer which could
    reclaim the finalizer table array.

    The following code crashes:

        1_000_000.times do
          o = Object.new
          ObjectSpace.define_finalizer(o, proc { })
        end

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11375

commit 85f99b382857af1e3c14e0edfdb4eb0ab6774996
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-15 02:47:28 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-15 02:47:28 +0900

    [DOC] Tweaks to Array#all? (#11365)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit a952ea243f7be95d479848a28959f8d29cd967ed
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-15 02:26:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-15 02:40:43 +0900

    [ruby/prism] Callback on shebang switches

    Add the ability to receive a callback when the parser encounters a
    shebang that contains additional switches after the Ruby engine.
    This is necessary because some command-line flags may be present
    there that will alter the parse.

    https://github.com/ruby/prism/commit/afc5000331

commit 88954a0e9a199156aadc472c4795133e5ac7651b
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-08-14 11:46:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-15 01:28:43 +0900

    [ruby/prism] Tweak inspect representation of `Prism::Location`

    This PR tweaks inspect representation of `Prism::Location`.

    ## Before

    During debugging, the meaning of `@location=https://github.com/ruby/prism/commit/21474836481` was unclear:

    ```console
    $ ruby -Ilib -rprism -e 'p Prism.lex("puts :hi").value.map(&:first)[1]'
    #<Prism::Token:0x000000010cd74e40 @source=#<Prism::ASCIISource:0x000000010cb5f808 @source="puts :hi", @start_line=1, @offsets=[0]>,
    @type=:SYMBOL_BEGIN, @value=":", @location=https://github.com/ruby/prism/commit/21474836481>
    ```

    ## After

    This PR clarifies the contents of the location object, aligning with what I think user expects:

    ```console
    $ ruby -Ilib -rprism -e 'p Prism.lex("puts :hi").value.map(&:first)[1]'
    #<Prism::Token:0x000000010e174d50 @source=#<Prism::ASCIISource:0x000000010df5efe8 @source="puts :hi", @start_line=1, @offsets=[0]>,
    @type=:SYMBOL_BEGIN, @value=":", @location=#<Prism::Location @start_offset=5 @length=1 start_line=1>>
    ```

    Although it is uncertain whether Prism will accept this change in the inspect representation, it is submitted here as a suggestion.

    https://github.com/ruby/prism/commit/e7421ce1c5

commit 264175dbb9e9f3c6721b1a4e28fd6cc379fda372
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-09 04:03:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-14 23:51:02 +0900

    [DOC] Update comment about how object ID is calculated

    The object ID no longer treats symbols in a special way so we can simplify
    the comment about how it is calculated.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11346

commit d0954741139e9cc4333a524570612339df3e39a1
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-14 16:01:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-14 16:01:44 +0900

    Update bundled gems list as of 2024-08-14

commit f2f177edb3cbc268e2056b6419531f70fa07219e
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-14 13:06:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-14 13:06:07 +0900

    [ruby/irb] Improve easter_egg logo resolution
    (https://github.com/ruby/irb/pull/987)

    https://github.com/ruby/irb/commit/ab394db93f

commit e7046f1f57bef81666bec5ac262845fd5dbf10bc
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-14 11:32:52 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-14 12:24:15 +0900

    Increase the default timeout in assert_darwin_vm_dump_works

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11373

commit b20957bdfeaafcc6f842a3f427d1895b0325f62a
  Author:     Sorah Fukumori <her@sorah.jp>
  AuthorDate: 2024-08-14 08:13:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-14 08:13:10 +0900

    [ruby/resolv] test_dns: Fix failure on Windows
    (https://github.com/ruby/resolv/pull/58)

    test_dns: Fix failure on Windows

    1. Switch to #with_udp_and_tcp helper method for EACCES retries on Windows;
       the given UDP socket is unnecessary though.
    2. Using 127.0.0.1 should be fine, as it must give different host:port pair.
    3. On Windows, 5 retries of bind(2) appears still flaky, doubling it for sure.

    follow-up: https://github.com/ruby/resolv/pull/50
    follow-up: https://github.com/ruby/resolv/commit/6252914e95dfdf8995d8074df6cafe6f0a76c1ca

    https://github.com/ruby/resolv/commit/0a0d57e369

commit 094e53360d3e2537339997606eaa45f37a375f18
  Author:     Kasumi Hanazuki <kasumi@rollingapple.net>
  AuthorDate: 2024-06-01 19:07:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-14 06:09:08 +0900

    [ruby/resolv] Reuse open TCP connection

    [RFC7766] Section 5 recommends stub resolvers to reuse open TCP
    connections to a nameserver.

    [RFC7766]: https://datatracker.ietf.org/doc/html/rfc7766

    https://github.com/ruby/resolv/commit/9bf1b08f5c

commit 4be9b72fbb44e7754337f4957f2c7bfe3cd41891
  Author:     Igor Pstyga <igor.pstyga@gmail.com>
  AuthorDate: 2024-04-24 13:04:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-14 06:09:08 +0900

    [ruby/resolv] Fix TCP fallback with multiple nameservers

    Under the following conditions the exception
    `Resolv::DNS::Requester::RequestError: host/port don't match` is raised:
    - Multiple nameservers are configured for Resolv::DNS
    - A nameserver falls back from UDP to TCP
    - TCP request hits Resolv::DNS timeout
    - Resolv::DNS retries the next nameserver

    More details here https://bugs.ruby-lang.org/issues/8285

    https://github.com/ruby/resolv/commit/7d524df80e

    Co-authored-by: Julian Mehnle <julian@mehnle.net>

commit 525008cd7879a047e3c310eb63dcef901b23be56
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-14 05:56:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-14 05:56:35 +0900

    Delete newarraykwsplat

    The pushtoarraykwsplat instruction was designed to replace newarraykwsplat,
    and we now meet the condition for deletion mentioned in
    77c1233f79a0f96a081b70da533fbbde4f3037fa.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11371

    Merged-By: XrXr

commit b80b8399262c628298f6aed2bc0e4bdefb371a2a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-10 01:20:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-14 04:53:14 +0900

    Don't set stack end in rb_gc_mark_roots

    We don't need to set the stack end in rb_gc_mark_roots because it is
    already set in mark_current_machine_context.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11355

commit 87a85550edd786665e081b355c6af62c4854b1d7
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-08-08 18:10:15 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-08-14 03:52:24 +0900

    Re-initialize vm->ractor.sched.lock after fork

    Previously under certain conditions it was possible to encounter a
    deadlock in the forked child process if ractor.sched.lock was held.

    Co-authored-by: Nathan Froyd <froydnj@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11356

commit 908305a2977856264a932cad02437c30f08c365b
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-08-13 19:39:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-13 22:10:15 +0900

    Sync rdoc

commit a6581114b0b6a541d4a6175629c6949651fbe50f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-13 21:41:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-13 21:41:07 +0900

    [ruby/prism] Fix up spacing in generated node.rb

    https://github.com/ruby/prism/commit/50d79b734b

commit 436d23f80da20ab56ebe42da4f37fc5c3e276f69
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-13 13:48:01 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-08-13 14:47:48 +0900

    Make sure to wait for the thread to exit in TestProcess#test_wait_and_sigchild

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11366

commit d5afa2cc95710f34d5547efdcfc1562305248590
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-08-09 16:43:02 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-08-13 12:17:56 +0900

    do not show unused block on `send`

    Some case it is difficult to know the calling method uses a block
    or not with `send` on a general framework. So this patch stops
    showing unused block warning on `send`.

    example with test/unit:

    ```ruby
    require 'test/unit'

    class T < Test::Unit::TestCase
      def setup
      end

      def test_foo = nil
    end
    ```

    => /home/ko1/ruby/install/master/lib/ruby/gems/3.4.0+0/gems/test-unit-3.6.2/lib/test/unit/fixture.rb:284: warning: the block passed to 'priority_setup' defined at /home/ko1/ruby/install/master/lib/ruby/gems/3.4.0+0/gems/test-unit-3.6.2/lib/test/unit/priority.rb:183 may be ignored

    because test/unit can call any setup method (`priority_setup` in this case) with a block.

    Maybe we can show the warning again when we provide a way to recognize
    the calling method uses a block or not.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11349

commit eedf6c35b306184c8c4a5811033294a8f08f703a
  Author:     Lars Kanis <lars.kanis@sincnovation.com>
  AuthorDate: 2024-08-13 10:48:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-13 10:48:29 +0900

    Revert change of "mingw-ucrt" platform string

    ... of commit 00176cd40fe9f385231e9c20b956fc4a84d240b9.

    The reverted change was made only for constistency, as discussed in
      https://github.com/ruby/ruby/pull/11358#issuecomment-2282222369

    But the platform string "mingw-ucrt" should not be changed.
    It is used as RUBY_PLATFORM and as the rubygems platform, so that there should
    be a good reason to change the name of an established platform.
    "mingw-ucrt" was introduced intentionally in commit
    576b2e64cdc5ea42ad345dd3c1c215e006c06fca.

    Related to GH-11358

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11364

    Merged-By: XrXr

commit 00e2e24e6fe4f1a3c6dc52f1c8ed17c30351de40
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-08 21:13:36 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-08-13 10:28:14 +0900

    Launchable: Fix condition for bootstraptest

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11340

commit d012f6d49fe9e995bdc6d12e4ebfaa043298d7c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-08-13 03:22:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-13 03:44:18 +0900

    [ruby/prism] Add sample for generating tags

    https://github.com/ruby/prism/commit/7c9ca47ac5

commit 568d7ab7f5862063107b3643c6cfe77a387f09d6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-09 23:57:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-12 22:33:20 +0900

    Fix memory leak reported in -test-/random/loop.c

    RUBY_TYPED_DEFAULT_FREE will only free the rand_loop_t, but it will cause
    the buf to be leaked. This commit fixes the memory leak by implementing
    a free function for the rand_loop_t type.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11354

commit 992596fb7af18a7f472589a607d0eb3fbb03b49a
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-06 23:29:45 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-12 18:09:32 +0900

    Fix next inside block argument stack underflow

    [Bug #20344]
    Fix compile_next adding removable adjust label

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11316

commit 2a7da0b6e76929c684cd948630a897c1d5b16c26
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-12 16:01:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-12 16:01:02 +0900

    Update bundled gems list as of 2024-08-12

commit ca5b7276c668f595b8348822fc61a90cd5b9710f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-11 19:58:57 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-11 22:04:35 +0900

    compile.c: don't allocate empty default values list

    It just wastes memory.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11361

commit 1fd0a1b4ceef29a5aade5e1d896dca5b74258e6f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-11 16:04:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-11 16:04:37 +0900

    Fix sign-conversion warning

    ```
    ../../.././include/ruby/internal/special_consts.h:349:36: error: conversion to ‘VALUE’ {aka ‘long unsigned int’} from ‘int’ may change the sign of the result [-Werror=sign-conversion]
      349 |     return RB_SPECIAL_CONST_P(obj) * RUBY_Qtrue;
          |            ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
    ```

commit 1db8586279a2f061f089a9fc7caa2b60cf7b23e0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-11 15:57:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-11 15:57:56 +0900

    Show mkmf.log when failed

commit 21a9d7664c9f612f71e2059a8b0a091a2cc5e46e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-09 21:43:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-11 02:36:37 +0900

    Fix flag test macro

    `RBOOL` is a macro to convert C boolean to Ruby boolean.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11351

commit 04d57e2c5cab6d2875de9512aa04a141885b44d9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-09 21:58:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-11 02:36:11 +0900

    Evaluate macro arguments just once

    And fix unclosed parenthesis.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11351

commit 9416bfb83d2ff969a5ac7f4a37078fd15adee729
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-08-11 00:19:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-08-11 00:19:20 +0900

    Increase timeout of test-bundler-parallel

    Even if it succeeds, it takes almost 40 minutes.

commit 00176cd40fe9f385231e9c20b956fc4a84d240b9
  Author:     Raed Rizqie <raed.rizqie@gmail.com>
  AuthorDate: 2024-08-10 14:03:48 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-11 00:10:28 +0900

    fix ucrt arch

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11358

commit f1224e55fda658a7395bd3512c6aaa92cbf4a25c
  Author:     Raed Rizqie <raed.rizqie@gmail.com>
  AuthorDate: 2024-08-10 13:58:56 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-08-11 00:10:28 +0900

    fix i386-ucrt build

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11358

commit b1f4222fc55ffa37496645a02dbe2a4f103b5d5b
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-10 18:50:44 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-10 19:41:35 +0900

    Cherry-pick test for [Bug #20668]

    The bug didn't impact master because this was largely refactored,
    but it's still valuable to add the test for it to prevent future
    regressions.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11359

commit ad23bbe5743c73b00b9305dfad42f374efad3905
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-07-30 14:52:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-10 17:42:36 +0900

    [ruby/prism] [Doc] Tweak the docs for lex APIs

    `Prism.lex` and `Prism.lex_file` return `ParseLexResult` instead of `Array`.
    `Prism::parse_lex` and `Prism::parse_lex_file` return `ParseLexResult` instead of `ParseResult`.
    This PR updates the documentation to reflect these return values.

    https://github.com/ruby/prism/commit/ee331941c0

commit 6ee9a08d32800974c596a01e9190cc8e778a6ee5
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-08 21:11:37 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-10 17:09:14 +0900

    rb_setup_fake_ary: use precomputed flags

    Setting up the fake array is a bit more expensive than would be
    expected because `rb_ary_freeze` does a lot of checks and lookup
    a shape transition.

    If we assume fake arrays will always be frozen, we can precompute
    the flags state and just assign it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11344

commit 7b7dde37f546b74f1dd15e482235fec139b80b70
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-10 05:17:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-10 05:28:53 +0900

    [ruby/psych] Guard from memory leak in Psych::Emitter#start_document

    When an exception is raised, it can leak memory in `head`. There are two
    places that can leak memory:

    1. `Check_Type(tuple, T_ARRAY)` can leak memory if `tuple` is not an
       array.
    2. `StringValue(name)` and `StringValue(value)` if they are not strings
       and the call to `to_str` does not return a string.

    This commit fixes these memory leaks by wrapping the code around a
    rb_ensure so that the memory is freed in all cases.

    The following code demonstrates the memory leak:

        emitter = Psych::Emitter.new(StringIO.new)
        nil_to_string_tags = [[nil, "tag:TALOS"]] + ([1] * 1000)
        expected_array_tags = [1] * 1000

        10.times do
          1_000.times do
            # Raises `no implicit conversion of nil into String`
            emitter.start_document([], nil_to_string_tags, 0)
          rescue TypeError
          end

          1_000.times do
            # Raises `wrong argument type Integer (expected Array)`
            emitter.start_document([], expected_array_tags, 0)
          rescue TypeError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        47248
        79728
        111968
        144224
        176480
        208896
        241104
        273280
        305472
        337664

    After:

        14832
        15088
        15344
        15344
        15360
        15632
        15632
        15632
        15648
        15648

    https://github.com/ruby/psych/commit/053af73818

commit 4e85b6b4c4868b6c75083743e2ea66ce0b2313ee
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-08 18:48:04 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-10 05:06:44 +0900

    rb_str_bytesplice: skip encoding check if encodings are the same

    If both strings have the same encoding, all this work is useless.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11353

commit 3bac5f6af577cc66d29658ca55b69f7496f8112c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-09 22:27:42 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-10 05:06:44 +0900

    string.c: add fastpath in str_ensure_byte_pos

    If the string only contain single byte characters we can
    skips all the costly checks.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11353

commit a332367dad3172e8a8c12efed3913c7fde684b06
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-09 22:24:49 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-10 05:06:44 +0900

    string.c: Add fastpath to single_byte_optimizable

    `rb_enc_from_index` is a costly operation so it is worth avoiding
    to call it for the common encodings.

    Also in the case of UTF-8, it's more efficient to scan the
    coderange if it is unknown that to fallback to the slower
    algorithms.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11353

commit 5a570421a5a773945aa8f9497b5d64bac809a196
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-08-10 05:02:36 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-08-10 05:02:36 +0900

    [DOC] Regexp.last_match returns `$~`, not `$!`

commit c8708c72c401fa99879b9ea01e6ccf1bd4c983eb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-10 03:51:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-10 03:51:40 +0900

    Add expand tabs commit in psych to .git-blame-ignore-revs

commit c91ec7ba1ec68b88b386b255fd48317d1b5715e5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-08 00:12:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-09 23:27:40 +0900

    Remove rb_gc_impl_objspace_mark

    It's not necessary for the GC implementation to call rb_gc_mark_roots
    which calls back into the GC implementation's rb_gc_impl_objspace_mark.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11325

commit 2bd5dc47ac7527fa2cec98106959d318021ab135
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-08 19:42:04 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-09 22:20:58 +0900

    string.c: str_capacity don't check for immediates

    `STR_EMBED_P` uses `FL_TEST_RAW` meaning we already assume `str`
    isn't an immediate, so we can use `FL_TEST_RAW` here too.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11350

commit af44af238befeed20cc2606ea2b440e16d341213
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-08 19:14:50 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-08-09 22:20:58 +0900

    str_independent: add a fastpath with a single flag check

    If we assume that most strings we modify are not frozen and
    are independent, then we can optimize this case by replacing
    multiple flag checks by a single mask check.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11350

commit f57167d3380b6351a915e3e4e0c04c799bd151bd
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-08-09 11:16:50 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-09 12:16:23 +0900

    Increase timeout in `test_darwin_invalid_call` method

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11348

commit 77ffdfe79fc9dc0b327ff88ea3df4082183c08f6
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-08-09 08:13:16 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-09 08:13:16 +0900

    YJIT: Allow tracing fallback counters (#11347)

    * YJIT: Allow tracing fallback counters

    * Update yjit.md about --yjit-trace-exits=counter

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit ec5436bc3a8e7c616a9b88c08d766180894ea82d
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-09 05:09:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-09 05:09:32 +0900

    [DOC] Tweaks for Array#[]= (#11329)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit e008f0553dd1e1dcfe43a50af93169e1e2e11c04
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-08 07:21:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-09 05:08:47 +0900

    [DOC] Add remark about in-brief for method doc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11330

commit b9a9564c1f1359d4d4022d099d57bcb9789b692c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-08 07:36:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-09 05:08:15 +0900

    [DOC] Tweaks for Array#[]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11328

commit d657205c58937218a83e24ef9b409fc42d9ca0a8
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-08 06:49:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-09 05:08:15 +0900

    [DOC] Tweaks for Array#[]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11328

commit 6fee51069c7a12b47b4873f1df68281f73a3e5d9
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-08 06:15:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-09 05:05:42 +0900

    [DOC] Tweaks for Array#==

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11327

commit 64a7b87e1dbbb4d45549f1bcaae6790287ee5007
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-08-09 05:02:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-09 05:02:46 +0900

    Sync rdoc to fix master doc's display issue (#11345)

    Sync rdoc

    This syncs changes made in https://github.com/ruby/rdoc/pull/1148, which
    will fix https://docs.ruby-lang.org/en/master/'s display on certain screens.

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 0bff07644ba5aff9c844b6cf75a0e1365c35c6a3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-09 01:19:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-09 01:19:35 +0900

    Make YJIT a GC root rather than an object (#11343)

    YJIT currently uses the YJIT root object to mark objects during GC and
    update references during compaction. This object otherwise serves no
    purpose.

    This commit changes it YJIT to be step when marking the GC root. This
    saves some memory from being allocated from the system and the GC.

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 868d63f0a3a2f63cfc0d5a1a3e6f073722c4fb8e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-07 03:46:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-08 23:11:49 +0900

    Disable GC even during finalizing

    We're seeing a crash during shutdown in rb_gc_impl_objspace_free because
    it's running lazy sweeping during shutdown. It appears that it's due to
    `finalizing` being set, which causes GC to not be aborted and not
    disabled which causes it to be in lazy sweeping at shutdown.

    The full stack trace is:

        #6  rb_bug (fmt=fmt@entry=0x5643b8ebde78 "lazy sweeping underway when freeing object space") at error.c:1095
        #7  0x00005643b8a3c697 in rb_gc_impl_objspace_free (objspace_ptr=<optimized out>) at gc/default.c:9507
        #8  0x00005643b8c269eb in ruby_vm_destruct (vm=0x7e2fdc84d000) at vm.c:3141
        #9  0x00005643b8a5147b in rb_ec_cleanup (ec=<optimized out>, ex=<optimized out>) at eval.c:263
        #10 0x00005643b8a51c93 in ruby_run_node (n=<optimized out>) at eval.c:319
        #11 0x00005643b8a4c7c7 in rb_main (argv=0x7fffef15e7f8, argc=18) at ./main.c:43
        #12 main (argc=<optimized out>, argv=<optimized out>) at ./main.c:62

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11317

commit da8cf99cb5a6549d91e57671ce9aa0d1b726225b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 16:23:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 16:23:49 +0900

    Added test scenario for https://github.com/ruby/ruby/pull/11322

commit 7e0910a82c81137731b5fd553bc312177d69d6a4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 16:18:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 16:20:22 +0900

    We should use uplevel:2 in another case.

    Like the following scenario with bootsnap, that frames are same or smaller than frame_to_skip(=3).

    ---
    "/Users/hsbt/.local/share/rbenv/versions/3.3-dev/lib/ruby/3.3.0/bundled_gems.rb:69:in `block (2 levels) in replace_require'"
    "/Users/hsbt/.local/share/gem/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'"
    "test_warn_bootsnap.rb:11:in `<main>'"
    ---

commit 7594a292b19cb3bde971da294930f6bb2b4e4bc1
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-08-07 17:48:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 15:50:26 +0900

    lib/bundled_gems.rb: more reliable caller detection

    The `2` skipped frames went out of sync and now it should be `3`.

    Rather than just update the offset, we can implement a way that
    is adaptative as long as all require decorators are also called require.

    Also we should compute the corresponding `uplevel` otherwise the
    warning will still point decorators.

    Co-authored-by: "Hiroshi SHIBATA" <hsbt@ruby-lang.org>

commit fa443699afe888d1b0d1f586e97700527a23e5fa
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 13:00:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 13:24:27 +0900

    Partly reverted 09638741ba4d9547a0e48af8c767744fb1d7f68d

    This change didn't work with Ruby 3.3.

    We should revert this to test bundled_gems.rb with Ruby 3.3.

commit 3da7e440e9fca835f5475a98f1c0afb4d2ac71db
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 12:08:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 13:04:00 +0900

    Revert "[ruby/uri] Warn compatibility methods in RFC3986_PARSER"

    This reverts commit c3becc3ba6c584fbeabd5182e304e61529235fe6.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11333

commit 68ebd56a76423c14883f8986fd6e64cf6da314d5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 11:06:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-08 11:09:27 +0900

    [ruby/uri] Use URI::RFC2396_PARSER explicitly in URI

    https://github.com/ruby/uri/commit/898b889811

commit c3becc3ba6c584fbeabd5182e304e61529235fe6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-08 10:44:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-08 11:09:27 +0900

    [ruby/uri] Warn compatibility methods in RFC3986_PARSER

    https://github.com/ruby/uri/commit/9997c1acee

commit 8d39939107bedd1cf7737785e8c6f923fea7137e
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-05 14:30:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-08 08:54:52 +0900

    [ruby/rdoc] Use ascii chatacter in HTML file

    https://github.com/ruby/rdoc/commit/40a6690010

commit 057c53f771cdee656483243d2f4ebdf4883e68c7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-08 07:29:33 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-08 08:17:31 +0900

    Make rb_vm_invoke_bmethod() static

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11331

commit 68a419d7497c46bd014e0e31953fea7f6a014e0d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-08-08 07:25:43 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-08 08:17:31 +0900

    Delete unused rb_check_funcall_with_hook()

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11331

commit 34715bdd910698e1aa9770b36c2b6e38e708c629
  Author:     Your Name <you@example.com>
  AuthorDate: 2024-08-03 09:53:13 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-08-08 07:49:20 +0900

    Tune codegen for rb_yield() calls landing in ISeqs

    Unlike in older revisions in the year, GCC 11 isn't inlining the call
    to vm_push_frame() inside invoke_iseq_block_from_c() anymore. We do
    want it to be inlined since rb_yield() speed is fairly important.
    Logs from -fopt-info-optimized-inline reveal that GCC was blowing its
    code size budget inlining invoke_block_from_c_bh() into its various
    callers, leaving suboptimal code for its body.

    Take away some uses of the `inline` keyword and merge a common tail
    call to vm_exec() for overall better code.

    This tweak gives about 18% on a micro benchmark and 1% on the
    chunky-png benchmark from yjit-bench. I tested on a Skylake server.

    ```
    $ cat c-to-ruby-call.yml
    benchmark:
      - 0.upto(10_000_000) {}

    $ benchmark-driver --chruby '+patch;master' c-to-ruby-call.yml
    Warming up --------------------------------------
    0.upto(10_000_000) {}      2.299 i/s -       3.000 times in 1.304689s (434.90ms/i)
    Calculating -------------------------------------
                              +patch      master
    0.upto(10_000_000) {}      2.299       1.943 i/s -       6.000 times in 2.609393s 3.088353s

    Comparison:
                 0.upto(10_000_000) {}
                   +patch:         2.3 i/s
                   master:         1.9 i/s - 1.18x  slower

    $ ruby run_benchmarks.rb --chruby 'master;+patch' chunky-png
    <snip>

    ----------  -----------  ----------  -----------  ----------  --------------  -------------
    bench       master (ms)  stddev (%)  +patch (ms)  stddev (%)  +patch 1st itr  master/+patch
    chunky-png  1156.1       0.1         1142.2       0.2         1.01            1.01
    ----------  -----------  ----------  -----------  ----------  --------------  -------------
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11321

commit e271feb8663415d9ed8a55e0e78bd655a16e0201
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-08 03:54:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-08 05:42:24 +0900

    Fix memory leak reported with YJIT

    The following memory leak gets reported with RUBY_FREE_AT_EXIT and YJIT
    enabled because the memory for yjit_root is never freed.

        STACK OF 1 INSTANCE OF 'ROOT LEAK: <calloc in rb_gc_impl_calloc>':
        11  dyld                                  0x18067e0e0 start + 2360
        10  miniruby                              0x1024b67d8 main + 100  main.c:62
        9   miniruby                              0x10256e0ec ruby_options + 156  eval.c:117
        8   miniruby                              0x102681164 ruby_process_options + 5140  ruby.c:3097
        7   miniruby                              0x10256f7dc rb_ensure + 180  eval.c:0
        6   miniruby                              0x102681c64 load_file_internal + 996  ruby.c:2685
        5   miniruby                              0x102682368 ruby_opt_init + 380  ruby.c:1817
        4   miniruby                              0x102848e38 yjit::yjit::yjit_init::h3cea491822b80cef + 360  yjit.rs:84
        3   miniruby                              0x10278f7d4 rb_yjit_init_gc_hooks + 28  yjit.c:1273
        2   miniruby                              0x10258a228 rb_data_typed_object_zalloc + 132  gc.c:989
        1   miniruby                              0x102586d88 rb_gc_impl_calloc + 148  default.c:8517
        0   libsystem_malloc.dylib                0x180840cac _malloc_zone_calloc_instrumented_or_legacy + 128

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11326

commit 3719b3d74d7091aafd486b8cd0e8985208b4d8c0
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-08 04:59:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-08 04:59:57 +0900

    [DOC] Tweaks to Array#- (#11303)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 2a31410ebea8b3a856ec60b8479424bd980409f5
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-08 04:59:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-08 04:59:01 +0900

    [DOC] Tweaks to Array#+ (#11302)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 53f3036bf9becda911dba1e9e1823aceb97b3d9a
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-07 22:52:34 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-08-08 01:51:20 +0900

    tool/test-annocheck.sh: Refactor with double-quotes.

commit aed468ae0bb38ec364c0e6f0d5bfbc314d1aea0a
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-08-07 21:24:21 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-08-08 01:51:20 +0900

    CI: Run annocheck for libruby.so

    When building with the `--shared` option, most functionality is kept in
    `libruby.so`. Therefore also run annocheck for `libruby.so`.

    Use `ARG IN_DIR` to propagate multiple files into the container instead of
    `ARG FILES` in the `Dockerfile-copy`. Because the `COPY` syntax in Dockerfile
    doesn't support copying the multiple files.
    https://stackoverflow.com/questions/61599384/specify-multiple-files-in-arg-to-copy-in-dockerfile

    Co-authored-by: Vít Ondruch <vondruch@redhat.com>

commit 584559d86a951095d793a536ad998e12ea08a890
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-01 03:59:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 22:14:14 +0900

    Fix leak of token_info when Ripper#warn jumps

    For example, the following code leaks:

        class MyRipper < Ripper
          def initialize(src, &blk)
            super(src)
            @blk = blk
          end

          def warn(msg, *args) = @blk.call(msg)
        end

        $VERBOSE = true
        def call_parse = MyRipper.new("if true\n  end\n") { |msg| return msg }.parse

        10.times do
          500_000.times do
            call_parse
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        37536
        53744
        70064
        86448
        102576
        119120
        135248
        151216
        167744
        183824

    After:

        19280
        19696
        19728
        20336
        20448
        21408
        21616
        21616
        21824
        21840

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11289

commit 671f6e78b4c8d23ea76cb9dae4c6c6b45e469b87
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-07 10:17:43 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-07 10:17:43 +0900

    Use 20min for parallel test worker timeout

commit fdfde6ab2e1e6a038bea82a892d1d3cc58cbdf09
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-07 09:43:34 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-07 09:44:06 +0900

    Use SIGSEGV to kill a parallel test worker (to dump backtrace)

commit fa3d9fdaed8ddb1850b4af4be5bf92e7464f3fcc
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 05:24:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 04:51:31 +0900

    [DOC] Tweaks to Array#<=>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11305

commit 347143763018f35486b1a8f349d13d4d45b08e28
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 04:17:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 04:45:45 +0900

    [DOC] Tweaks for Array#<<

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11304

commit a793b5376c6f92dd7aa45433897a9484120574bb
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 01:38:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 04:38:29 +0900

    [DOC] Tweaks to Array#*

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11301

commit 66181fdda599e32d86f6b5aa9c671bb0feacf47f
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 01:29:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 04:37:51 +0900

    [DOC] Tweak to Array#&

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11300

commit 8aeca5ce404486e3ec67a1b3c895b043567a1350
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 01:23:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 04:37:23 +0900

    Tweaks to Array::try_convert

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11299

commit e62c2ce0e086378d454368fe24e58411c8b0b5a4
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-07 03:54:11 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-07 03:54:47 +0900

    Wait a bit longer for worker quit

commit be959c040e7f348ff2cc6a4aab3da62448845859
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-08-03 01:09:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-07 03:39:16 +0900

    [DOC] Tweak for Array::[]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11298

commit 47c45d5c18cfc232295082edefda01c6294f4958
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-07 02:41:27 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-07 02:41:27 +0900

    Add a log when SIGKILL is sent to a test parallel worker

commit 2c35a379185fed125bea6c191a18ef2ff91f5075
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-07 02:34:46 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-07 02:34:46 +0900

    Fix a typo

commit ced35800d48e671ed739c8451823c7d3180ef8ac
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-01 03:18:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-06 23:19:50 +0900

    Fix leak in warning of duplicate keys when Ripper#warn jumps

    For example, the following code leaks:

        class MyRipper < Ripper
          def initialize(src, &blk)
            super(src)
            @blk = blk
          end

          def warn(msg, *args) = @blk.call(msg)
        end

        $VERBOSE = true
        def call_parse = MyRipper.new("if true\n  end\n") { |msg| return msg }.parse

        10.times do
          500_000.times do
            call_parse
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        34832
        51952
        69760
        88048
        105344
        123040
        141152
        159152
        176656
        194272

    After:

        18400
        20256
        20272
        20272
        20272
        20304
        20368
        20368
        20368
        20400

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11288

commit c0938fd24c927954dbe5d42e70844b6a89516786
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-06 20:12:37 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-06 21:11:41 +0900

    Use 3min for test parallel worker timeout again

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11315

commit 062f85e141e4fb806b5d4b6dbf6a8cb1f3ce682d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-06 20:09:42 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-06 21:11:41 +0900

    Dump all-thread backtraces when test parallel worker exceeds time limit

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11315

commit 67cd95e68fbeb8db005c2dfbdbd5da979ea8a3b8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-06 17:39:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-06 18:59:17 +0900

    tool/gen-github-release.rb required recent version of Ruby

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11312

commit dc50d3590ff00bdd3578f922e909e7f701243366
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-06 17:25:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-06 18:59:17 +0900

    Create GitHub Releases with GitHub Actions

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11312

commit 267da552a1085e69fabe9aadb2007843c5eb1b31
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-06 18:09:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 18:09:52 +0900

    [ruby/uri] Fallback missing constants with RFC3986_PARSER
    (https://github.com/ruby/uri/pull/113)

    * Fallback missing constants with RFC3986_PARSER

    * raise missing constant

    * Update test/uri/test_common.rb

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

    * Update lib/uri/common.rb

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

    * Update lib/uri/common.rb

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

    ---------

    https://github.com/ruby/uri/commit/c2fdec079a

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 24d46a6781231c54d6b5fc0a20a24cd65a902ad4
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-06 16:59:24 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-06 16:59:24 +0900

    Extend the default timeout of parallel testing to one hour

commit 65e3717db7bfd957660a5b3d9c5ac4fd22e8d858
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-07-31 01:05:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 15:38:03 +0900

    [ruby/openssl] test/openssl/test_pkey_dsa.rb: skip all tests in FIPS mode

    OpenSSL running in the FIPS mode will stop supporting DSA key
    generation and signature generation due to a FIPS 140-3 requirement.
    Although it appears that FIPS 186-5 still allows signature
    verification in some cases, there would be little point in writing such
    a specific test case.

    DSA will still be tested if OpenSSL is not running in the FIPS mode.

    test_generate_on_non_fips is merged to test_generate again.

    https://github.com/ruby/openssl/commit/3651884fd2

commit 30be7fb85ddcb59b531f22b7627e77624ef05c4e
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-06 14:19:11 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-06 15:00:12 +0900

    Extend the default timeout of parallel testing

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11311

commit 3005ed6816894c8f6585dd32b5a1aa884aaa5b1e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-03 05:24:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 02:28:11 +0900

    [rubygems/rubygems] Don't remove existing platform gems when PLATFORMS section is badly indented

    https://github.com/rubygems/rubygems/commit/ec099ebf1e

commit 540bcf524850854fdf199096da1e0e829e1dfbe9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-03 03:59:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 02:27:11 +0900

    [rubygems/rubygems] Fix locked source not getting respected when `bundle update <specific_gem>` is run

    https://github.com/rubygems/rubygems/commit/eec6830c04

commit dc804bd83c79d39eac71ca1a369061a8ba1b4ace
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-03 04:36:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 02:27:11 +0900

    [rubygems/rubygems] Extract a `build_repo3` helper

    https://github.com/rubygems/rubygems/commit/d8cf4aa0cd

commit 7d97dde2e283e792314826e52be4bbd22b296cc0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-03 03:55:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 02:27:10 +0900

    [rubygems/rubygems] Move private reader to private section

    https://github.com/rubygems/rubygems/commit/651cf3ea7a

commit dbd36e1c23603df207b3d096f473a98c3cdddfff
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-06 00:53:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-06 00:53:45 +0900

    [ruby/reline] Accept colon-style hash in test assertion
    (https://github.com/ruby/reline/pull/732)

    Hash#inspect is proposed to change to {key: value, non_symbol_key => value} in https://bugs.ruby-lang.org/issues/20433#note-10

    https://github.com/ruby/reline/commit/1fd73b358a

commit 9d86864a6d06a9534dfc8cb55be6c6fcee3ee4a2
  Author:     Josh Soref <jsoref@users.noreply.github.com>
  AuthorDate: 2022-03-29 10:17:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-05 17:15:56 +0900

    [ruby/uri] Add space after `bad URI`

    https://github.com/ruby/uri/commit/9f2c7ed5f2

commit a82976bc9002befdaed3498167136793bed4c0c5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-05 16:35:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-05 17:00:14 +0900

    [ruby/uri] Use DEFAULT_PARSER at split, parse, join

    https://github.com/ruby/uri/commit/28af4e155a

commit b59cbcf1838fe7e930babf311e8a4a32cfee2f6a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-05 15:11:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-05 15:11:11 +0900

    Clean up empty directory

commit 5258e8b1cd780419c71f320d25370f8138f2e805
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-08-02 23:40:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-05 13:16:49 +0900

    Make sure to always use the right `warn`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11296

commit 7285e7649340ef18d307092d294b3d190e3d80b2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-26 20:11:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-05 11:58:07 +0900

    Fix truffleruby removing gems from lockfile

    When resolving on truffleruby, and multiple platforms are included in
    the lockfile, Bundler will not respect existing platforms, but always
    force ruby variants. That means removal of existing version specific
    variants, introducing lockfile churn between implementations.

    To prevent this, we introduce the distinction between
    `Dependency#force_ruby_platform`, only settable via Gemfile, and
    `Dependency#default_force_ruby_platform`, which is always true on
    truffleruby for certain dependency names. This way, when resolving
    lockfile gems for other platforms on truffleruby, we keep platform
    specific variants in the lockfile.

    However, that introduces the problem that if only platform specific
    variants are locked in the lockfile, Bundler won't be able to
    materialize on truffleruby because the generic variant will be missing.
    To fix this additional problem, we make sure the generic "ruby" platform
    is always added when resolving on truffleruby.

commit a35d32486242641ccd2ac98d43211343a3712c52
  Author:     fatkodima <fatkodima123@gmail.com>
  AuthorDate: 2024-08-05 11:28:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-05 11:28:12 +0900

    [ruby/optparse] Fix parsing array arguments with `:into` option

    https://github.com/ruby/optparse/commit/19700e96d8

commit cbc40bb130fb52f1990ce1fd41e834a5f3fdbcdd
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-08-03 19:29:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-05 09:27:45 +0900

    Sync rdoc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11308

commit 7d5cb4573d39e5c62058314dcfc73895b4e6dffd
  Author:     Ricardo Trindade <ricardo.trindade743@gmail.com>
  AuthorDate: 2024-08-04 23:53:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-04 23:53:51 +0900

    [ruby/irb] Remove Ruby version checks
    (https://github.com/ruby/irb/pull/985)

    https://github.com/ruby/irb/commit/9ce6972e71

commit b708661313246bb17e349f8f90c663c5e286a1c8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-03 15:42:15 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-03 16:30:32 +0900

    Extend timeout in test/ruby/test_file_exhaustive.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11307

commit 657f4b99f61a15e21584b87f7b206933d116589b
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-08-03 16:01:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-03 16:01:34 +0900

    Update bundled gems list as of 2024-08-02

commit 42cd267beb55d0e40878a619a575264c5b138f97
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-03 13:33:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-03 14:39:17 +0900

    Reduce noise in object generation count tests

    The parallel testing framework may create strings in a separate thread.

    ```
        1) Failure:
      TestStringMemory#test_byteslice_prefix [D:/a/ruby/ruby/src/test/ruby/test_string_memory.rb:40]:
      One object allocation is expected, but allocated: [["D:/a/ruby/ruby/src/tool/lib/test/unit/parallel.rb", 42, String, "2240\x00\x00\x00\x00...
    ```
    https://github.com/ruby/ruby/actions/runs/10222885396/job/28288271190?pr=11271#step:23:1026

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11306

commit e5fb851fe77eca904dd23e71968d1317f6d8c0a3
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-08-03 10:53:38 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-08-03 10:53:38 +0900

    Delete unused declaration

commit 23837c5170180b2e6046961ae09de8688e64a0a2
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-03 00:13:42 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-03 05:25:28 +0900

    Show where objects were allocated on allocation count tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11297

commit 04a6165ac07f8f2107fbbd3a5665944fb27bc092
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-08-03 04:45:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-03 04:45:22 +0900

    YJIT: Enhance the `String#<<` method substitution to handle integer codepoint values. (#11032)

    * Document why we need to explicitly spill registers.

    * Simplify passing a byte value to `str_buf_cat`.

    * YJIT: Enhance the `String#<<` method substitution to handle integer codepoint values.

    * YJIT: Move runtime type check into YJIT.

    Performing the check in YJIT means we can make assumptions about the type. It also improves correctness of stack traces in cases where the codepoint argument is not a String or a Fixnum.

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 3f93ef06a852af3f44d3c7a2ed62a670f9c3ff29
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-08-02 21:44:43 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-08-02 23:29:28 +0900

    Show what objects were actually allocated on allocation count tests

    According to Launchable, these tests fail randomly

    ```
    Failure:
    TestStringMemory#test_byteslice_prefix [D:/a/ruby/ruby/src/test/ruby/test_string_memory.rb:33]:
    <1> expected but was
    <2>.
    ```

    https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-paths/file%3Dtest%2Fruby%2Ftest_string_memory.rb%23%23%23class%3DTestStringMemory%23%23%23testcase%3Dtest_byteslice_prefix?testSessionStatus=flake

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11295

commit 303d2319f04b7d46ad3dbf28035b83a06fdba5b3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-02 12:07:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-02 12:07:48 +0900

    Auto-purge after package release

commit 0aaff21736549a97aa215d557297709fc325612a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-02 11:42:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-02 11:42:27 +0900

    Notify ruby-build for definition update

commit 66cbafc603d8def8f8ec3373fcadcbfce8b9010d
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-08-02 09:27:55 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-08-02 11:37:10 +0900

    Refactor to use `tokenize_ident` instead of `TOK_INTERN` and `set_yylval_name`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11294

commit f070a9d8df0f02be9948646bb6bd92d890d3b956
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-02 10:00:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-02 10:00:01 +0900

    Notify update workflow for all-ruby

    https://github.com/ruby/all-ruby/blob/master/.github/workflows/update.yml

commit f6e829603e5652f593ea007a7a51e0a202383fd9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-02 04:54:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-02 04:54:08 +0900

    Removed unused macro RVALUE_PAGE_MARKED

commit e0f4cbd6125445bbbbb8437d8cfb51509e1dd3f7
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-29 16:43:53 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-08-01 17:49:32 +0900

    Integrate Launchable into windows

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11272

commit 9ed7e06a27f9bdcbf636be605e4e81edcc65c69f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-08-01 09:19:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Added workflow for building snapcraft

    https://github.com/ruby/snap.ruby/actions/runs/10189575392/job/28187867439

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11286

commit e935366fe8aeb924234c154e8bd27e000c895020
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 15:55:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Also update version index file

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11286

commit a8f36c32632b885f6b612e36dc0f3bd72d33244c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 15:55:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Added workflow dispatch

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11286

commit f2b76223301116fc4643800313b931ff62a8196f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 14:41:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    We should run release.sh with release tag

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11286

commit 277a6e8f1a2e9588d7d86cb8974fed40052041a2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 13:48:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Added draft release action with tagging

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11286

commit fc253d7ef90840d348d30ccacbdb788060dd763f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 12:15:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Removed refs/tags from ruby version

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11286

commit 346bb6c08b31f463ab3633629220d483cb564855
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-31 11:21:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-08-01 14:38:33 +0900

    Create docker image with release tag automatically

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11286

commit bbeebc9258f11db188c34a9a24e64f03448667c3
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-07 09:38:25 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-08-01 08:23:28 +0900

    Only set shape id for CCs on attr_set + ivar

    Only ivar reader and writer methods should need the shape ID set on the
    inline cache.  We shouldn't accidentally overwrite parts of the CC union
    when it's not necessary.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11291

commit 16b0242808b5a2dc7c1c80dc9ace547f64280a1b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-08-01 05:49:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-01 05:50:00 +0900

    [ruby/rdoc] Add new ruby parser that uses Prism
    (https://github.com/ruby/rdoc/pull/1144)

    * Add a new ruby parser RDoc::Parser::PrismRuby

    * Add a new ruby parser testcase independent from parser's internal implementation

    * unknown meta method

    * Use MethodSignatureVisitor only to scan params, block_params and calls_super

    * Add calls_super test

    * Drop ruby 2.6. Prism requires ruby >= 2.7

    * Remove duplicated documentation comment from prism_ruby.rb

    * Add test for wrong argument passed to metaprogramming method

    * Rename visit_call_[DSL_METHOD_NAME] to make it distinguishable from visit_[NODE_TYPE]_node

    * Method receiver switch of true/false/nil to a case statement

    * Extract common part of add_method(by def keyword) and add meta_comment method

    * Reuse consecutive comments array when collecting comments

    * Simplify DSL call_node handling

    * Refactor extracting method visibility arguments

    https://github.com/ruby/rdoc/commit/fde99f1be6

commit e68e9582314890ebd5d1c3c608f6f8c986e718ef
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-01 04:55:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-01 05:37:21 +0900

    [PRISM] Increase test-bundler-parallel to 40 minutes

    It's timing out frequently recently, so increasing the timeout should
    fix it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11290

commit f5d193d525677c497b144505810e99e0aeb42ce5
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-08-01 05:09:15 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-08-01 05:09:15 +0900

    [DOC] Adds "Further Considerations" to documentation_guide.md (#11281)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit cc814372604e7daba0ecdcb4cdcfa65ca167bf0a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-31 07:03:16 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-08-01 05:04:42 +0900

    Rewrite Array.new documentation

    Use plain paragraphs instead of a nested unordered list.

    Remove some examples, including examples that produce warnings in
    verbose mode or raise exceptions.

    Explicitly document the common pitfall of using an expression as a
    default value instead of using a block.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11282

commit 290089c1a22dc9f75b8a3c606687b5d658b0c56b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-31 23:02:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-08-01 05:03:18 +0900

    [rubygems/rubygems] Remove some `file_uri_for` calls

    https://github.com/rubygems/rubygems/commit/3570ba20ed

commit 635839749026b5d5bafeb892f2f01a9348a4b5c8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-08-01 02:32:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-08-01 03:47:44 +0900

    Fix leak of AST when Ripper#compile_error jumps

    For example, the following script leaks:

        class MyRipper < Ripper
          def initialize(src, &blk)
            super(src)
            @blk = blk
          end

          def compile_error(msg) = @blk.call(msg)
        end

        def call_parse = MyRipper.new("/") { |msg| return msg }.parse

        10.times do
          100_000.times do
            call_parse
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        93952
        169040
        244224
        318784
        394432
        468224
        544048
        618560
        693776
        768384

    After:

        19776
        19776
        20352
        20880
        20912
        21408
        21328
        21152
        21472
        20944

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11287

commit 70b4f45d9f1936128e73ab0b8701269c06e709f5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-07-31 23:51:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-31 23:51:40 +0900

    YJIT: Decouple Context from encoding details (#11283)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 27c22f822af49e7008b7c9ff75b971d984975e6e
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-31 23:36:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-31 23:36:41 +0900

    [ruby/rdoc] Drop unnecessary `file_name` parameter from `Parser.for`
    method.
    (https://github.com/ruby/rdoc/pull/1135)

    * Unify top_level creation in tests

    * Remove unnecessary file_name param from Parser.for

    It should be always the same as the top_level's absolute_name, so there's
    no point of taking it as a separate parameter.

    https://github.com/ruby/rdoc/commit/97c497dfbb

commit 12a5400a8846ed05284b4360faeae72e49e55f93
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-31 22:13:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-31 22:20:01 +0900

    [ruby/io-console] Remove no longer used variable

    https://github.com/ruby/io-console/commit/651797ff8a

commit dedc4965985151a414d019243f9418ebd8f9aa0d
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-07-31 16:00:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-31 16:00:28 +0900

    Update bundled gems list as of 2024-07-30

commit 92865d8760e22dc5035a67e636fab3fbd7a77a26
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-31 10:07:03 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-31 11:19:52 +0900

    Remove files to build libffi in mswin

    These files were to build libffi from the bundled source, but are no
    longer used since we stopped bundling the libffi sources in commit
    e4f5296f065110fa83eb450d3a861253e76e534f.

    The gemspec file is unchanged because fiddle gem itself still supports
    ruby 2.5.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11285

commit 19ec803179eb698e5aa72e1a024d60a4e4ff1a87
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-07-31 10:15:29 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-31 10:59:51 +0900

    Reset the counter for two consecutive runs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11284

commit 7aea269b89bd7024bcacb7fe7d4ddb0be2f215af
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-30 17:46:21 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-31 09:57:38 +0900

    [Feature #20563] Drop support for Windows older than 8/Sever 2012

    Directly call APIs available on Windows 8/Server 2012 and later.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11279

commit 7ef8051cbbb7194a8899a3966130af2bc09fc896
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-30 17:38:19 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-31 09:57:38 +0900

    [Feature #20563] Drop support for Windows older than Vista/2008

    Directly call APIs available on Windows Vista/Server 2008 and later.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11279

commit d2b8fd0f37d463399de884fb7fc51fc8157cefd2
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-31 05:31:33 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-31 05:31:33 +0900

    [DOC] Tweaks to Array.try_convert (#11260)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 91bb6afa75c2c469aa80dfc988ddc95acbfe75c8
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-30 23:09:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-30 23:09:06 +0900

    [DOC] Tweaks for Array.new (#11259)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit b44a154959f3f620d18511fea39b2aae7855925b
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-07-28 01:31:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-30 23:06:41 +0900

    [DOC] Tweaks for Array#&

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11262

commit 0dda30d9eb0a845482b1092ef4b77bf3b13fa6c5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-26 01:56:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 23:02:03 +0900

    [rubygems/rubygems] Print a better debug message when lockfile does not include the current platform

    https://github.com/rubygems/rubygems/commit/afb7a6d754

commit 997642cfbdaa59fe900e3177d26cb35bf8f767e2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-26 01:58:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 23:02:02 +0900

    [rubygems/rubygems] The `simulate_platform` helper can take a string

    https://github.com/rubygems/rubygems/commit/680bafac1a

commit cf6efd1bb77907825bb42ea305214ef415ae3382
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-26 01:37:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 23:02:02 +0900

    [rubygems/rubygems] Simplify logic to add current platform a bit

    https://github.com/rubygems/rubygems/commit/e102516e27

commit 1164b6a7baeddade88b9eb01c3ac00f83d2066c6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-24 01:52:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 23:01:43 +0900

    [rubygems/rubygems] Fix `gem list` regression when a regular gem shadows a default one

    Previously, if you have bundler installed both as a regular gem and a
    default gem, the default gem would be displayed by `gem list`.

    https://github.com/rubygems/rubygems/commit/10a6b1736e

commit 3d248b2eb3d2b10f9d2ddf614485ceb35089f924
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-19 18:59:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 23:01:32 +0900

    [rubygems/rubygems] Always leave default gem executables around

    https://github.com/rubygems/rubygems/commit/775c35e197

commit ec13ccdf53b327957156a2829064270863b0e309
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-24 03:56:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 22:54:29 +0900

    [rubygems/rubygems] Allow smoother breaking changes in test env

    https://github.com/rubygems/rubygems/commit/0fc3feae19

commit b37ffb93457d6ad68685c53abfd4f7338e773dac
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-30 22:02:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-30 22:02:23 +0900

    Move incorrectly placed tests

    The tests for Integer#ceil was accidentally placed in test_truncate.

commit a7167d0ceecc8eea7bdf87e66be16d16b0f417e7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-27 00:10:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-30 21:21:28 +0900

    Fix ceil when ndigits is large

    [Bug #20654]

    This commit fixes Integer#ceil and Float#ceil when the number is
    negative and ndigits is large such that 10**ndigits is a bignum.

    Previously, it would return 0 in such cases. However, this would cause
    unexpected behaviour such as:

        puts 1.ceil(-5) # => 100000
        puts 1.ceil(-10) # => 10000000000
        puts 1.ceil(-20) # => 0

    This commit changes the last result so that it will return
    100000000000000000000.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11257

commit 3af2a7fbe12e11bac7b26bd991d3d02349f47295
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-27 00:10:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-30 21:21:28 +0900

    Fix floor when ndigits is large

    [Bug #20654]

    This commit fixes Integer#floor and Float#floor when the number is
    negative and ndigits is large such that 10**ndigits is a bignum.

    Previously, it would return 0 in such cases. However, this would cause
    unexpected behaviour such as:

        puts -1.floor(-5) # => -100000
        puts -1.floor(-10) # => -10000000000
        puts -1.floor(-20) # => 0

    This commit changes the last result so that it will return
    -100000000000000000000.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11257

commit 1870505f478cc75993b296b7144a45137ace6937
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-07-30 15:31:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-30 15:31:58 +0900

    Fix wrong unreachable chunk remove when jump destination label is unremovable

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11267

    Merged-By: nobu <nobu@ruby-lang.org>

commit 77f8107efaccbc8a5472ea3578c27c912045d7b1
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-07-30 13:46:30 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-30 15:31:24 +0900

    Delete the rjit definition already deleted in C

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11254

commit 6c5c30b542bd2eb17496178f891b4155553e5409
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-07-30 11:20:12 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-30 15:31:24 +0900

    Use tmpdir for various environments (including Windows)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11254

commit 50a0552bd7a82d23b836e895a1f380bcdfb5b4a0
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-07-29 11:50:35 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-30 15:31:24 +0900

    Fix test code and extension to avoid using gvars and Kernel methods

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11254

commit ac5ac48a361d3fa91a118b59740a2a9b63ddd90e
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-28 17:28:07 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-30 15:31:24 +0900

    Revert 28a1c4f33e3349a98c04b8e068d9c674eb936064

    28a1c4f33e3349a98c04b8e068d9c674eb936064 seems to call an improper
    ensure clause. [Bug #20655]
    Than fixing it properly, I bet it would be much better to simply revert
    that commit. It reduces the unneeded complexity. Jumping into a block
    called by a C function like Hash#each with callcc is user's fault.
    It does not need serious support.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11254

commit c884db0b5b4f5296e5eacd27357b730b42f27b3a
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-07-29 11:21:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-30 15:31:24 +0900

    [BUG #20655] Add tests to use rb_ensure and call cont.call

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11254

commit b3baa11ee90c3fc0a3c43f1ac3293558fbfe76cb
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-07-30 12:58:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-30 12:58:31 +0900

    Improve Socket.tcp (#11187)

    [Feature #20646]Improve Socket.tcp

    This is a proposed improvement to `Socket.tcp`, which has implemented Happy Eyeballs version 2 (RFC8305) in PR9374.

    1. Background
    I implemented Happy Eyeballs version 2 (HEv2) for Socket.tcp in PR9374, but several issues have been identified:

    - `IO.select` waits for name resolution or connection establishment in v46w, but it does not consider the case where both events occur simultaneously when it returns a value.
      - In this case, Socket.tcp can only capture one event and needs to execute an unnecessary loop to capture the other one, calling `IO.select` one extra time.
    - `IO.select` waits for both IPv6/IPv4 name resolution (in start), but when it returns a value, it doesn't consider the case where name resolution for both address families is complete.
      - In this case, `Socket.tcp` can only obtain the addresses of one address family and needs to execute an unnecessary loop obtain the other addresses, calling `IO.select` one extra time.
    - The consideration for `connect_timeout` was insufficient. After initiating one or more connections, it raises a 'user specified timeout' after the `connect_timeout` period even if there were addresses that have been resolved and have not yet tried to connect.
    - It does not retry with another address in case of a connection failure.
    - It executes unnecessary state transitions even when an IP address is passed as the `host` argument.
    - The regex for IP addresses did not correctly specify the start and end.

    2. Proposal & Outcome
    To overcome the aforementioned issues, this PR introduces the following changes:

    - Previously, each loop iteration represented a single state transition. This has been changed to execute all processes that meet the execution conditions within a single loop iteration.
      - This prevents unnecessary repeated loops and calling `IO.select`
    - Introduced logic to determine the timeout value set for `IO.select`. During the Resolution Delay and Connection Attempt Delay, the user-specified timeout is ignored. Otherwise, the timeout value is set to the larger of `resolv_timeout` and `connect_timeout`.
      - This ensures that the `connect_timeout` is only detected after attempting to connect to all resolved addresses.
    - Retry with another address in case of a connection failure.
      - This prevents unnecessary repeated loops upon connection failure.
    - Call `tcp_without_fast_fallback` when an IP address is passed as the host argument.
      - This prevents unnecessary state transitions when an IP address is passed.
    - Fixed regex for IP addresses.

    Additionally, the code has been reduced by over 100 lines, and redundancy has been minimized, which is expected to improve readability.

    3. Performance
    No significant performance changes were observed in the happy case before and after the improvement.
    However, improvements in state transition deficiencies are expected to enhance performance in edge cases.

    ```ruby
    require 'socket'
    require 'benchmark'

    Benchmark.bmbm do |x|
      x.report('fast_fallback: true') do
        30.times { Socket.tcp("www.ruby-lang.org", 80) }
      end

      x.report('fast_fallback: false') do # Ruby3.3時点と同じ
        30.times { Socket.tcp("www.ruby-lang.org", 80, fast_fallback: false) }
      end
    end
    ```

    Before:

    ```
    ~/s/build ❯❯❯ ../install/bin/ruby ../ruby/test.rb

                               user     system      total        real
    fast_fallback: true    0.021315   0.040723   0.062038 (  0.504866)
    fast_fallback: false   0.007553   0.026248   0.033801 (  0.533211)
    ```

    After:

    ```
    ~/s/build ❯❯❯ ../install/bin/ruby ../ruby/test.rb

                               user     system      total        real
    fast_fallback: true    0.023081   0.040525   0.063606 (  0.406219)
    fast_fallback: false   0.007302   0.025515   0.032817 (  0.418680)
    ```

commit 7ea678b24b88ec0db9c38d7763d9d1014b5ed46d
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-30 11:31:23 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-30 12:48:24 +0900

    Add array test cases for `TestParse#test_define_singleton_error`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11276

commit 30f57637ee2399d754cf78f09e8aa275923dff0d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-29 17:27:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-30 08:33:43 +0900

    Wait for server threads to finish

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11273

commit 2c1655314a0700a90b7ed12bf8c920ad2d78654f
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-30 05:28:57 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-30 06:18:11 +0900

    Revert moving things to Ruby

    This is slowing down benchmarks on x86, so lets revert it for now.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11275

commit acbb8d4fb56ac3b5894991760a075dbef78d10e3
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-07-21 02:03:02 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-30 05:26:58 +0900

    Expand opt_newarray_send to support Array#pack with buffer keyword arg

    Use an enum for the method arg instead of needing to add an id
    that doesn't map to an actual method name.

    $ ruby --dump=insns -e 'b = "x"; [v].pack("E*", buffer: b)'

    before:

    ```
    == disasm: #<ISeq:<main>@-e:1 (1,0)-(1,34)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] b@0
    0000 putchilledstring                       "x"                       (   1)[Li]
    0002 setlocal_WC_0                          b@0
    0004 putself
    0005 opt_send_without_block                 <calldata!mid:v, argc:0, FCALL|VCALL|ARGS_SIMPLE>
    0007 newarray                               1
    0009 putchilledstring                       "E*"
    0011 getlocal_WC_0                          b@0
    0013 opt_send_without_block                 <calldata!mid:pack, argc:2, kw:[#<Symbol:0x000000000023110c>], KWARG>
    0015 leave
    ```

    after:

    ```
    == disasm: #<ISeq:<main>@-e:1 (1,0)-(1,34)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] b@0
    0000 putchilledstring                       "x"                       (   1)[Li]
    0002 setlocal_WC_0                          b@0
    0004 putself
    0005 opt_send_without_block                 <calldata!mid:v, argc:0, FCALL|VCALL|ARGS_SIMPLE>
    0007 putchilledstring                       "E*"
    0009 getlocal                               b@0, 0
    0012 opt_newarray_send                      3, 5
    0015 leave
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11249

commit 86a762ce56cd44db69ccff2e02587ed748a3ad04
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-30 00:07:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-30 00:07:53 +0900

    [ruby/reline] Fix memory leak in setupterm
    (https://github.com/ruby/reline/pull/733)

    The allocated Fiddle::Pointer never gets freed because it doesn't have a
    free function defined for when it gets garbage collected. This commit
    changes it to use the default free function.

    https://github.com/ruby/reline/commit/0796dcd497

commit 63bdf2d72591c82e596320eb902579e0b93b0640
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-29 22:16:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-29 22:16:18 +0900

    [ruby/rdoc] [DOC] Mods about markup formats
    (https://github.com/ruby/rdoc/pull/1143)

    https://github.com/ruby/rdoc/commit/011de3f2fd

commit df1cc043017660156c9d7477e5799de803573a80
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-07-28 00:18:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-29 22:15:19 +0900

    Add remark about call-seq

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11261

commit 477f672592ca7cad71bdbcd2676a3ade88fcdfd8
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-29 22:11:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-29 22:11:35 +0900

    [DOC] rb_ary_s_create (#11256)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 3f40cebabcf93581ebaecbf76ede38ae2ff22a69
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-28 22:42:24 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-29 08:01:52 +0900

    Specify `LAST_NODE` for `NODE_DEFINED`

    For example:

    ```
    defined?(1)
    ```

    Before:

    ```
    # @ NODE_SCOPE (id: 2, line: 1, location: (1,0)-(1,11))
    # +- nd_tbl: (empty)
    # +- nd_args:
    # |   (null node)
    # +- nd_body:
    #     @ NODE_DEFINED (id: 1, line: 1, location: (1,0)-(1,11))*
    #     +- nd_head:
    #     |   @ NODE_INTEGER (id: 0, line: 1, location: (1,9)-(1,10))
    #     |   +- val: 1
    ```

    After:

    ```
    # @ NODE_SCOPE (id: 2, line: 1, location: (1,0)-(1,11))
    # +- nd_tbl: (empty)
    # +- nd_args:
    # |   (null node)
    # +- nd_body:
    #     @ NODE_DEFINED (id: 1, line: 1, location: (1,0)-(1,11))*
    #     +- nd_head:
    #         @ NODE_INTEGER (id: 0, line: 1, location: (1,9)-(1,10))
    #         +- val: 1
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11265

commit e798f45cc2417ae778e4790e3159654c90ba91fe
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-26 05:19:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-27 02:20:04 +0900

    Error when --with-shared-gc doesn't specify a directory

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11248

commit a65c205a1bce121821472c8e7658247a47e89047
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-07-20 11:59:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-27 02:07:50 +0900

    [ruby/prism] Add explicit check for PRISM_HAS_NO_FILESYSTEM

    https://github.com/ruby/prism/commit/89c22f0e6c

commit 1992bd31a55c8c1805da7dfa3d594807184cee4b
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-07-19 18:14:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-27 02:07:50 +0900

    [ruby/prism] Fallback to pm_string_file_init on platforms without memory-mapped files

    > ..., and on other POSIX systems we'll use `read`.

    As `pm_string_mapped_init`'s doc comment says, it should fall back to
    `read(2)`-based implementation on platforms without memory-mapped files
    like WASI, but it didn't. This commit fixes it by calling `pm_string_file_init`
    in the fallback case.
    Also `defined(_POSIX_MAPPED_FILES)` check for `read(2)`-based path is
    unnecessary, and it prevents the fallback from being executed, so this
    change removes it.

    https://github.com/ruby/prism/commit/b3d9064b71

commit 158177e39995aa62df781b8ef64e800bf0c8670f
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-26 08:48:28 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-27 00:44:34 +0900

    Improve allocation throughput by outlining cache miss code path

    Previously, GCC 11 on x86-64 inlined the heavy weight logic for
    potentially triggering GC into newobj_alloc(). This slowed down
    the hotter code path where the ractor cache hits, causing a degradation
    to allocation throughput.

    Outline the logic into a separate function and have it never inlined.

    This restores allocation throughput to the same level as
    98eeadc ("Development of 3.4.0 started.").

    To evaluate, instrument miniruby so it allocates a bunch of objects and
    then exits:

        diff --git a/eval.c b/eval.c
        --- a/eval.c
        +++ b/eval.c
        @@ -92,6 +92,15 @@ ruby_setup(void)
             }
             EC_POP_TAG();

        +rb_gc_disable();
        +rb_execution_context_t *ec = GET_EC();
        +long const n = 20000000;
        +for (long i = 0; i < n; ++i) {
        +    rb_wb_protected_newobj_of(ec, 0, T_OBJECT, 40);
        +}
        +printf("alloc %ld\n", n);
        +exit(0);
        +
             return state;
         }

    With `3.3-equiv` being 98eeadc, and `pre` being f2728c3393d
    and `post` being this commit, I have:

        $ hyperfine -L buildtag post,pre,3.3-equiv '/ruby/build-{buildtag}/miniruby'
        Benchmark 1: /ruby/build-post/miniruby
          Time (mean ± σ):     873.4 ms ±   2.8 ms    [User: 377.6 ms, System: 490.2 ms]
          Range (min … max):   868.3 ms … 877.8 ms    10 runs

        Benchmark 2: /ruby/build-pre/miniruby
          Time (mean ± σ):     960.1 ms ±   2.8 ms    [User: 430.8 ms, System: 523.9 ms]
          Range (min … max):   955.5 ms … 964.2 ms    10 runs

        Benchmark 3: /ruby/build-3.3-equiv/miniruby
          Time (mean ± σ):     886.9 ms ±   2.8 ms    [User: 379.5 ms, System: 501.0 ms]
          Range (min … max):   883.0 ms … 890.8 ms    10 runs

        Summary
          '/ruby/build-post/miniruby' ran
            1.02 ± 0.00 times faster than '/ruby/build-3.3-equiv/miniruby'
            1.10 ± 0.00 times faster than '/ruby/build-pre/miniruby'

    These results are from a Skylake server with GCC 11.

commit a06cfa7e89cd59d7ea1278e8d8424c23a38cc521
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-26 08:56:05 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-27 00:44:34 +0900

    Fix a -Wmaybe-uninitialized

    With the body of functions available, GCC noticed that lev is
    uninitialized in rb_gc_vm_lock_no_barrier() in single ractor
    mode.

commit 0ada02abe2c66f49159243b78994645a2936b706
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-26 06:35:24 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-27 00:44:34 +0900

    Put the default GC implementation back into gc.o

    We discovered that having gc.o and gc_impl.o in separate translation
    units diminishes codegen quality with GCC 11 on x86-64. This commit
    solves that problem by including default/gc.c into gc.c, letting the
    optimizer have visibility into the body of functions again in builds
    not using link-time optimization, which are common.

    This effectively restores things to the way they were before
    [Feature #20470] from the optimizer's perspective while maintaining the
    ability to build gc/default.c as a DSO.

    There were a few functions duplicated across gc.c and gc/default.c.
    Extract them and put them into gc/gc.h.

commit cef959df905c1189dff463d74498f3bf8dbbc82e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-26 06:32:51 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-27 00:44:34 +0900

    Delete unused rb_gc_impl_get_finalizers() not in gc_impl.h

commit aaa542d894ab36145c02d854b71d77c8dc51c01c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-07-26 23:11:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-27 00:22:18 +0900

    Doc for some #ceil and #floor

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11245

commit 78f1b835a095b0ec5c8a51821e822dcf93f6722a
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-07-25 23:53:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-27 00:22:18 +0900

    Doc for some #ceil and #floor

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11245

commit 7464514ca5e825ada31522b63a33e02d62a0a248
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-26 04:28:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-26 21:42:38 +0900

    Fix memory leak in String#start_with? when regexp times out

    [Bug #20653]

    This commit refactors how Onigmo handles timeout. Instead of raising a
    timeout error, onig_search will return a ONIGERR_TIMEOUT which the
    caller can free memory, and then raise a timeout error.

    This fixes a memory leak in String#start_with when the regexp times out.
    For example:

        regex = Regexp.new("^#{"(a*)" * 10_000}x$", timeout: 0.000001)
        str = "a" * 1000000 + "x"

        10.times do
          100.times do
            str.start_with?(regex)
          rescue
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        33216
        51936
        71152
        81728
        97152
        103248
        120384
        133392
        133520
        133616

    After:

        14912
        15376
        15824
        15824
        16128
        16128
        16144
        16144
        16160
        16160

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11247

commit 67e1ea002857b5c2115cd362f9230f3f4b432223
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-26 19:45:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 21:16:56 +0900

    [rubygems/rubygems] Remove inconsistent whitespace from CLI flags

    RuboCop sometimes accepts extra spaces for alignment, but in this case I
    don't see any consistent alignment.

    https://github.com/rubygems/rubygems/commit/a8c767e14b

commit bfaccd64335daded17892c301eb3be6cc60e6596
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-25 03:38:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 17:05:53 +0900

    [rubygems/rubygems] Make all tests still pass when switching from truffleruby to cruby

    https://github.com/rubygems/rubygems/commit/4f3d9fa3bf

commit 7feccb123a7598f6a87bf15973c046c7bee847b2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-25 00:18:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 17:05:53 +0900

    [rubygems/rubygems] Make test env resilient to ruby version changes

    We use pre-existence of `rake_path` to decide whether we need to
    regenerate dummy test gems in `tmp`. When changing rubies, the previous
    implementation will believe that the correct `rake_path` exists
    and avoids regenerating dummy gems, given an error like the following
    when specs are run:

    ```
    (...)
    Could not find rubygems-generate_index lib directory in /path/to/rubygems/bundler/tmp/1/gems/base/ruby/3.2.0
      # ./spec/support/builders.rb:253:in `block in update_repo'
      # ./spec/support/helpers.rb:337:in `block in with_gem_path_as'
      # ./spec/support/helpers.rb:351:in `without_env_side_effects'
      # ./spec/support/helpers.rb:332:in `with_gem_path_as'
      # ./spec/support/builders.rb:251:in `update_repo'
      # ./spec/support/builders.rb:228:in `build_repo'
      # ./spec/support/builders.rb:197:in `build_repo4'
      # ./spec/commands/lock_spec.rb:103:in `block (2 levels) in <top (required)>'
    (...)
    ```

    To fix this, fix the part of the path that depends on the implementation
    and the Ruby version so that we don't give false positives.

    https://github.com/rubygems/rubygems/commit/fafacfa210

commit 71dec15a70593d769804f4310c4746aba0883fae
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-07-25 18:02:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 16:56:15 +0900

    [rubygems/rubygems] Fix bundle check exit code when git gem is missing

    Make `bundle check` exit with code 1 when gem git source is not yet
    checked out.

    https://github.com/rubygems/rubygems/commit/93162bf5af

commit 5f1eb0dc79bfa6a111c85831636f8d4473f1414c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-26 11:24:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-26 11:24:53 +0900

    Fix wrong conversion in disasm dump

    `LINK_ELEMENT::type` is an `enum` not a `VALUE`, `FIX2LONG` doesn't
    make sense.

commit 83a99bdbe606d3e50fbaa7ea3e260d01c2b76fc8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-25 17:50:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 10:45:02 +0900

    [ruby/net-http] Removed needless NullWriter class

    https://github.com/ruby/net-http/commit/ddb2a81aed

commit 2c76bb7ec0af9a90977578109b9923be39f50382
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-26 08:45:13 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-26 10:29:26 +0900

    Remove `struct RNode_VALUES`

    This was removed by a5cc6341c0688c346f70098652b2375c03df40aa.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11251

commit f2728c3393d7571f681accd9c887dcd5bad65950
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-25 14:57:14 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-26 07:29:32 +0900

    Change RESBODY Node structure

    Extracrt exception variable into `nd_exc_var` field
    to keep the original grammar structure.

    For example:

    ```
    begin
    rescue Error => e1
    end
    ```

    Before:

    ```
    @ NODE_RESBODY (id: 8, line: 2, location: (2,0)-(2,18))
    +- nd_args:
    |   @ NODE_LIST (id: 2, line: 2, location: (2,7)-(2,12))
    |   +- as.nd_alen: 1
    |   +- nd_head:
    |   |   @ NODE_CONST (id: 1, line: 2, location: (2,7)-(2,12))
    |   |   +- nd_vid: :Error
    |   +- nd_next:
    |       (null node)
    +- nd_body:
    |   @ NODE_BLOCK (id: 6, line: 2, location: (2,13)-(2,18))
    |   +- nd_head (1):
    |   |   @ NODE_LASGN (id: 3, line: 2, location: (2,13)-(2,18))
    |   |   +- nd_vid: :e1
    |   |   +- nd_value:
    |   |       @ NODE_ERRINFO (id: 5, line: 2, location: (2,13)-(2,18))
    |   +- nd_head (2):
    |       @ NODE_BEGIN (id: 4, line: 2, location: (2,18)-(2,18))
    |       +- nd_body:
    |           (null node)
    +- nd_next:
        (null node)
    ```

    After:

    ```
    @ NODE_RESBODY (id: 6, line: 2, location: (2,0)-(2,18))
    +- nd_args:
    |   @ NODE_LIST (id: 2, line: 2, location: (2,7)-(2,12))
    |   +- as.nd_alen: 1
    |   +- nd_head:
    |   |   @ NODE_CONST (id: 1, line: 2, location: (2,7)-(2,12))
    |   |   +- nd_vid: :Error
    |   +- nd_next:
    |       (null node)
    +- nd_exc_var:
    |   @ NODE_LASGN (id: 3, line: 2, location: (2,13)-(2,18))
    |   +- nd_vid: :e1
    |   +- nd_value:
    |       @ NODE_ERRINFO (id: 5, line: 2, location: (2,13)-(2,18))
    +- nd_body:
    |   @ NODE_BEGIN (id: 4, line: 2, location: (2,18)-(2,18))
    |   +- nd_body:
    |       (null node)
    +- nd_next:
        (null node)
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11243

commit a4563be05c1e7c6031e6fde613f7e874f41fe06c
  Author:     Jason Karns <jason.karns@gmail.com>
  AuthorDate: 2024-07-11 02:44:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 04:50:59 +0900

    [rubygems/rubygems] bundle-gem learns to find Gemfile template correctly

    Removes the symlink for gems.rb.tt and instead uses the singular
    template file. Only the destination filename for the gemfile reads from
    the `init_gems_rb` setting.

    https://github.com/rubygems/rubygems/commit/43ce0e1666

commit 54ff3d69966e194460c0a64e76cd4d48ddf1673d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-26 02:03:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-26 04:25:37 +0900

    Fix test_kwarg_eval_memory_leak

    Hash.new no longer takes keyword arguments except for capacity, so we
    should just use a method that takes keyword arguments instead.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11246

commit 24770c30f87fff758e94cc4d1293cdb8c64ce8f4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-26 02:17:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-26 03:59:10 +0900

    [ruby/prism] Sync from ruby/ruby

    https://github.com/ruby/prism/commit/280517c325

commit 83b0cedffe5a9bd6c5288fa0d9614d6ca39e63e8
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-23 07:29:27 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-26 01:46:33 +0900

    Add branch prediction annotations for object allocation

    I get a slight boost from these with GCC 11 on Intel Skylake.

    Part of a larger story to fix an allocation throughput regression
    compared to 98eeadc ("Development of 3.4.0 started.") as the baseline.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11223

commit 10574857ce167869524b97ee862b610928f6272f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-25 04:16:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-25 22:23:49 +0900

    Fix memory leak in Regexp capture group when timeout

    [Bug #20650]

    The capture group allocates memory that is leaked when it times out.

    For example:

        re = Regexp.new("^#{"(a*)" * 10_000}x$", timeout: 0.000001)
        str = "a" * 1000000 + "x"

        10.times do
          100.times do
            re =~ str
          rescue Regexp::TimeoutError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        34688
        56416
        78288
        100368
        120784
        140704
        161904
        183568
        204320
        224800

    After:

        16288
        16288
        16880
        16896
        16912
        16928
        16944
        17184
        17184
        17200

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11238

commit 53f0d3b1f7ee9d1f1068b44ef856c557177704a5
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-07-25 04:57:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 20:39:05 +0900

    [ruby/prism] Do not serialize common flags when PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS is set

    * Note that we could shift the flags by 2 on serialize & deserialize
      but it does not seems worth it as it does not save serialized size
      in any significant amount, i.e. average was 0.799 before #2924.
    * $ bundle exec rake serialized_size:topgems
    Before:
    Total sizes for top 100 gems:
    total source size:      90207647
    total serialized size:  69477115
    total serialized/total source: 0.770

    Stats of ratio serialized/source per file:
    average: 0.844
    median:  0.825
    1st quartile: 0.597
    3rd quartile: 1.064
    min - max: 0.078 - 3.792

    After:
    Total sizes for top 100 gems:
    total source size:      90207647
    total serialized size:  66150209
    total serialized/total source: 0.733

    Stats of ratio serialized/source per file:
    average: 0.800
    median:  0.779
    1st quartile: 0.568
    3rd quartile: 1.007
    min - max: 0.076 - 3.675

    https://github.com/ruby/prism/commit/e012072f70

commit 9cc2747ebbbe33315751873f8dc24b7c32c26ad0
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-07-25 04:32:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 20:39:04 +0900

    [ruby/prism] Do not serialize node_id when PRISM_SERIALIZE_ONLY_SEMANTICS_FIELDS is set

    * $ bundle exec rake serialized_size:topgems
    Before:
    Total sizes for top 100 gems:
    total source size:      90207647
    total serialized size:  86284647
    total serialized/total source: 0.957

    Stats of ratio serialized/source per file:
    average: 0.952
    median:  0.937
    1st quartile: 0.669
    3rd quartile: 1.206
    min - max: 0.080 - 4.065

    After:
    Total sizes for top 100 gems:
    total source size:      90207647
    total serialized size:  69477115
    total serialized/total source: 0.770

    Stats of ratio serialized/source per file:
    average: 0.844
    median:  0.825
    1st quartile: 0.597
    3rd quartile: 1.064
    min - max: 0.078 - 3.792

    https://github.com/ruby/prism/commit/cf90fe5759

commit 22ad6b249be44e5230b27578625bcca0c2010fc1
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-25 13:58:32 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-25 14:43:03 +0900

    Extend RUBY_TEST_TIMEOUT_SCALE on macos-14 and --repeat-count=2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11242

commit 5f6a1c2e2261db48241284aa61a2f9a56cf36674
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-25 12:58:35 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-25 13:47:51 +0900

    Omit TestFile#test_stat when the machine is stupidly slow

    GitHub Actions macos-14 machine is stupid.

    https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-paths/file%3Dtest%2Fruby%2Ftest_file.rb%23%23%23class%3DTestFile%23%23%23testcase%3Dtest_stat?organizationId=ruby&workspaceId=ruby&testPathId=file%3Dtest%2Fruby%2Ftest_file.rb%23%23%23class%3DTestFile%23%23%23testcase%3Dtest_stat&testSessionStatus=flake

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11241

commit 357ae357e8fb57164b2c3f7b48d9224de548f244
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-25 10:37:24 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-25 13:23:14 +0900

    Dump forwarding field of `struct rb_args_info` and `struct RNode_BLOCK_PASS`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11240

commit 30eba40f9c0246cc1a222846dc1b8245c79f8257
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-24 18:26:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 04:55:04 +0900

    [rubygems/rubygems] Remove `to_yaml_properties`

    This is an old syck thing, no longer used anywhere.

    https://github.com/rubygems/rubygems/commit/6f72d02bac

commit 0d3ce3123491eee303a1259caa09f3da9c085d76
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-07-25 01:50:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 01:51:00 +0900

    [ruby/openssl] Set time directly on the x509 store
    (https://github.com/ruby/openssl/pull/770)

    Instead of an ivar, so other ossl functions that take a store will use the correct time when verifying

    https://github.com/ruby/openssl/commit/21aadc66ae

commit 1388945f0d2f625d1c87eaf177eac6df15c80082
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-07-03 18:32:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 01:50:01 +0900

    [ruby/openssl] asn1: make ossl_asn1_get_asn1type() private

    The function is not used anywhere outside of ossl_asn1.c.

    https://github.com/ruby/openssl/commit/5392b79941

commit a1cf39bd366f843bc9fd1534aa8e7d301fc77252
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-06-17 16:26:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 01:50:01 +0900

    [ruby/openssl] x509attr: avoid using OpenSSL::ASN1 internals in #value=

    OpenSSL::ASN1 is being rewritten in Ruby. To make it easier, let's
    remove dependency to the instance variables and the internal-use
    function ossl_asn1_get_asn1type() outside OpenSSL::ASN1.

    This also fixes the insufficient validation of the passed value with
    its tagging.

    https://github.com/ruby/openssl/commit/35a157462e

commit 575fe63e20dff83c684a93f5f76d0c27bbc250df
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-25 01:13:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-25 01:24:21 +0900

    [ruby/prism] Inherit ractor state for child scopes

    https://github.com/ruby/prism/commit/4576cb1d96

commit d08e55141e81dfdb2b577d0627f7218de87eb27a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-24 07:28:51 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-25 01:20:30 +0900

    Make Integer#round spec work regardless of pointer size

    The spec is actually testing a behaviour stemming from NUM2INT(), and
    since `sizeof(long)>=sizeof(int)`, `min_long-1` always makes NUM2INT()
    raise `RangeError`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11130

commit 28382505b286a404fdf53bb17720f850d8dfdecc
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-24 07:27:07 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-25 01:20:30 +0900

    Get fixnum_{min,max} from RbConfig::LIMITS when available

    It's better than guessing based on the pointer size if the
    implementation provides it directly.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11130

commit fbb981b9f819d24c4e11132c02ec02401eabcc5e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-24 07:21:38 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-25 01:20:30 +0900

    Stop depending on Integer#size to return `sizeof(long)`

    There is no guarantee that Integer#size will continue to return
    `sizeof(long)` for small integers.

    Use the `l!` specifier for Array#pack instead. It is a public
    interface that has a direct relationship with the `long` type.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11130

commit 12e6cf77efae6804063dbebe84e4080ca78958e7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-24 07:14:45 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-25 01:20:30 +0900

    Add "c_long_size" guard, supplanting "wordsize" and stop using Integer#size

    What a "word" is when talking about sizes is confusing because it's a
    highly overloaded term. Intel, Microsoft, and GDB are just a few vendors
    that have their own definition of what a "word" is. Specs that used the
    "wordsize" guard actually were mostly testing for the size of the C
    `long` fundamental type, so rename the guard for clarity.

    Also, get the size of `long` directly from RbConfig instead of guessing
    using Integer#size. Integer#size is not guaranteed to have anything to
    do with the `long` type.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11130

commit 1a18b03ee7b14771eae9eafa3c85a6bf5ccd9502
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-24 23:54:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-25 01:02:33 +0900

    [PRISM] Add anon_* flags for iseqs with anonymous * and **

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11236

commit 0a9f771e19cc472651a3ab66d916bb8f65aab11a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-24 04:56:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-24 22:44:54 +0900

    Don't check live slot count when multi-Ractor

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11233

commit 97449338d6cb42d9dd7c9ca61550616e7e6b6ef6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-24 21:28:18 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-24 22:18:36 +0900

    [Bug #20649] Allow `nil` as 2nd argument of `assign_error`

    Fallback to the last token element in that case, for the backward
    compatibilities.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11235

commit f69ba5716f17d8ebe089a4986977afd2feefabc2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-24 03:43:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-24 21:36:40 +0900

    Move RUBY_FREE_AT_EXIT check earlier

    Things that exit early, like `ruby -v`, could not use RUBY_FREE_AT_EXIT
    because the check for RUBY_FREE_AT_EXIT was not executed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11230

commit e642ddf7ae86e306674559ae745823fdbf56ea10
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-24 11:15:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-24 14:44:32 +0900

    [Bug #20647] Disallow `return` directly within a singleton class

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11234

commit f2f9d6ce49aaee6b6414c8442082166cf733ab00
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-24 14:04:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-24 14:04:13 +0900

    Fix test failure of e7610582ad8fd05655221b183257ed358c903ac8

commit b4a02502c2125cebd034967027d65ee975987f73
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-24 03:44:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-24 10:45:48 +0900

    [PRISM] Fix block param instructions when it has a recevier

    In the following code:

    ```ruby
    def foo(&blk)
      blk.call
    end
    ```

    Prism was using the `getblockparam` instruction but it should be
    `getblockparamproxy`. In this case we have a receiver, if it's a local
    variable read node, then it needs to go through the path to use
    `getblockparamproxy`.

    Before:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(3,3)>
    0000 definemethod                           :foo, foo                 (   1)[Li]
    0003 putobject                              :foo
    0005 leave

    == disasm: #<ISeq:foo@test2.rb:1 (1,0)-(3,3)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: 0, kw: -1@-1, kwrest: -1])
    [ 1] blk@0<Block>
    0000 getblockparam                          blk@0, 0                  (   2)[LiCa]
    0003 opt_send_without_block                 <calldata!mid:call, argc:0, ARGS_SIMPLE>
    0005 leave                                                            (   3)[Re]
    ```

    After:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(3,3)>
    0000 definemethod                           :foo, foo                 (   1)[Li]
    0003 putobject                              :foo
    0005 leave

    == disasm: #<ISeq:foo@test2.rb:1 (1,0)-(3,3)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: 0, kw: -1@-1, kwrest: -1])
    [ 1] blk@0<Block>
    0000 getblockparamproxy                     blk@0, 0                  (   2)[LiCa]
    0003 opt_send_without_block                 <calldata!mid:call, argc:0, ARGS_SIMPLE>
    0005 leave                                                            (   3)[Re]
    ```

    Fixes `test_getblockparamproxy` and `test_ifunc_getblockparamproxy` in
    test_yjit.rb. Related to ruby/prism#2935.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11231

commit 70d4dcb76ca185120172089b3a8480a69fa6a063
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-24 04:12:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-24 10:45:40 +0900

    [Prism] Use `putnil` for nil kwargs, not `putobject {}`

    This addresses one of the issues in the `test_kw_splat_nil` failure, but
    doesn't make the test pass because of other changes that need to be made
    to Prism directly.

    One issue was when we have the following code Prism was using
    `putobject` with an empty hash whereas the parse.y parser used `putnil`.

    ```ruby
    :ok.itself(**nil)
    ```

    Before:

    ```
    0000 putobject                              :ok                       (   1)[Li]
    0002 putobject                              {}
    0004 opt_send_without_block                 <calldata!mid:itself, argc:1, KW_SPLAT>
    0006 leave
    ```

    After:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(1,17)>
    0000 putobject                              :ok                       (   1)[Li]
    0002 putnil
    0003 opt_send_without_block                 <calldata!mid:itself, argc:1, KW_SPLAT>
    0005 leave
    ```

    Related to ruby/prism#2935.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11232

commit 4b44590d390f59dbf4d0cb922618ff5cc5b5411a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 01:41:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:10 +0900

    [rubygems/rubygems] Keep only the bare clone in the per app cache

    We don't need an actual checkout since the cache path is no longer used
    as the install location. Now the per app cache acts just like the
    standard cache.

    https://github.com/rubygems/rubygems/commit/686988923c

commit b50606c45a33ef885c7c128f2dbb221d5d837f46
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 01:26:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:10 +0900

    [rubygems/rubygems] Don't serialize gemspec in the cache location

    Now that the cache location is not used as the install location, this is
    unnecessary, and it also prevents `bundle install` with a per app cache
    loading code from two different locations, causing annoying warnings
    like:

    ```
    Fetching gem metadata from https://rubygems.org/...
    Fetching https://github.com/puma/puma.git
    Using nio4r 2.5.4
    Using bundler 2.3.0.dev
    Using puma 5.0.4 from https://github.com/puma/puma.git (at master@ea81fba)
    Bundle complete! 1 Gemfile dependency, 3 gems now installed.
    Use `bundle info [gemname]` to see where a bundled gem is installed.
    Updating files in vendor/cache
      * nio4r-2.5.4.gem
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:18: warning: already initialized constant Puma::HTTP_STATUS_CODES
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:18: warning: previous definition of HTTP_STATUS_CODES was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:84: warning: already initialized constant Puma::STATUS_WITH_NO_ENTITY_BODY
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:84: warning: previous definition of STATUS_WITH_NO_ENTITY_BODY was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:103: warning: already initialized constant Puma::Const::VERSION
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:103: warning: previous definition of VERSION was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:103: warning: already initialized constant Puma::Const::PUMA_VERSION
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:103: warning: previous definition of PUMA_VERSION was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:104: warning: already initialized constant Puma::Const::CODE_NAME
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:104: warning: previous definition of CODE_NAME was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:106: warning: already initialized constant Puma::Const::PUMA_SERVER_STRING
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:106: warning: previous definition of PUMA_SERVER_STRING was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:108: warning: already initialized constant Puma::Const::FAST_TRACK_KA_TIMEOUT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:108: warning: previous definition of FAST_TRACK_KA_TIMEOUT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:112: warning: already initialized constant Puma::Const::PERSISTENT_TIMEOUT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:112: warning: previous definition of PERSISTENT_TIMEOUT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:116: warning: already initialized constant Puma::Const::FIRST_DATA_TIMEOUT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:116: warning: previous definition of FIRST_DATA_TIMEOUT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:120: warning: already initialized constant Puma::Const::WRITE_TIMEOUT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:120: warning: previous definition of WRITE_TIMEOUT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:127: warning: already initialized constant Puma::Const::MAX_FAST_INLINE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:127: warning: previous definition of MAX_FAST_INLINE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:130: warning: already initialized constant Puma::Const::REQUEST_URI
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:130: warning: previous definition of REQUEST_URI was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:131: warning: already initialized constant Puma::Const::REQUEST_PATH
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:131: warning: previous definition of REQUEST_PATH was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:132: warning: already initialized constant Puma::Const::QUERY_STRING
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:132: warning: previous definition of QUERY_STRING was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:133: warning: already initialized constant Puma::Const::CONTENT_LENGTH
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:133: warning: previous definition of CONTENT_LENGTH was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:135: warning: already initialized constant Puma::Const::PATH_INFO
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:135: warning: previous definition of PATH_INFO was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:137: warning: already initialized constant Puma::Const::PUMA_TMP_BASE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:137: warning: previous definition of PUMA_TMP_BASE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:139: warning: already initialized constant Puma::Const::ERROR_RESPONSE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:139: warning: previous definition of ERROR_RESPONSE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:153: warning: already initialized constant Puma::Const::CHUNK_SIZE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:153: warning: previous definition of CHUNK_SIZE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:157: warning: already initialized constant Puma::Const::MAX_HEADER
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:157: warning: previous definition of MAX_HEADER was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:160: warning: already initialized constant Puma::Const::MAX_BODY
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:160: warning: previous definition of MAX_BODY was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:162: warning: already initialized constant Puma::Const::REQUEST_METHOD
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:162: warning: previous definition of REQUEST_METHOD was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:163: warning: already initialized constant Puma::Const::HEAD
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:163: warning: previous definition of HEAD was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:165: warning: already initialized constant Puma::Const::LINE_END
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:165: warning: previous definition of LINE_END was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:166: warning: already initialized constant Puma::Const::REMOTE_ADDR
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:166: warning: previous definition of REMOTE_ADDR was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:167: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_FOR
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:167: warning: previous definition of HTTP_X_FORWARDED_FOR was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:168: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_SSL
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:168: warning: previous definition of HTTP_X_FORWARDED_SSL was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:169: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_SCHEME
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:169: warning: previous definition of HTTP_X_FORWARDED_SCHEME was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:170: warning: already initialized constant Puma::Const::HTTP_X_FORWARDED_PROTO
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:170: warning: previous definition of HTTP_X_FORWARDED_PROTO was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:172: warning: already initialized constant Puma::Const::SERVER_NAME
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:172: warning: previous definition of SERVER_NAME was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:173: warning: already initialized constant Puma::Const::SERVER_PORT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:173: warning: previous definition of SERVER_PORT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:174: warning: already initialized constant Puma::Const::HTTP_HOST
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:174: warning: previous definition of HTTP_HOST was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:175: warning: already initialized constant Puma::Const::PORT_80
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:175: warning: previous definition of PORT_80 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:176: warning: already initialized constant Puma::Const::PORT_443
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:176: warning: previous definition of PORT_443 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:177: warning: already initialized constant Puma::Const::LOCALHOST
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:177: warning: previous definition of LOCALHOST was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:178: warning: already initialized constant Puma::Const::LOCALHOST_IP
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:178: warning: previous definition of LOCALHOST_IP was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:180: warning: already initialized constant Puma::Const::SERVER_PROTOCOL
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:180: warning: previous definition of SERVER_PROTOCOL was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:181: warning: already initialized constant Puma::Const::HTTP_11
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:181: warning: previous definition of HTTP_11 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:183: warning: already initialized constant Puma::Const::SERVER_SOFTWARE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:183: warning: previous definition of SERVER_SOFTWARE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:184: warning: already initialized constant Puma::Const::GATEWAY_INTERFACE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:184: warning: previous definition of GATEWAY_INTERFACE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:185: warning: already initialized constant Puma::Const::CGI_VER
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:185: warning: previous definition of CGI_VER was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:187: warning: already initialized constant Puma::Const::STOP_COMMAND
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:187: warning: previous definition of STOP_COMMAND was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:188: warning: already initialized constant Puma::Const::HALT_COMMAND
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:188: warning: previous definition of HALT_COMMAND was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:189: warning: already initialized constant Puma::Const::RESTART_COMMAND
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:189: warning: previous definition of RESTART_COMMAND was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:191: warning: already initialized constant Puma::Const::RACK_INPUT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:191: warning: previous definition of RACK_INPUT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:192: warning: already initialized constant Puma::Const::RACK_URL_SCHEME
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:192: warning: previous definition of RACK_URL_SCHEME was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:193: warning: already initialized constant Puma::Const::RACK_AFTER_REPLY
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:193: warning: previous definition of RACK_AFTER_REPLY was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:194: warning: already initialized constant Puma::Const::PUMA_SOCKET
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:194: warning: previous definition of PUMA_SOCKET was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:195: warning: already initialized constant Puma::Const::PUMA_CONFIG
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:195: warning: previous definition of PUMA_CONFIG was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:196: warning: already initialized constant Puma::Const::PUMA_PEERCERT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:196: warning: previous definition of PUMA_PEERCERT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:198: warning: already initialized constant Puma::Const::HTTP
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:198: warning: previous definition of HTTP was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:199: warning: already initialized constant Puma::Const::HTTPS
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:199: warning: previous definition of HTTPS was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:201: warning: already initialized constant Puma::Const::HTTPS_KEY
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:201: warning: previous definition of HTTPS_KEY was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:203: warning: already initialized constant Puma::Const::HTTP_VERSION
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:203: warning: previous definition of HTTP_VERSION was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:204: warning: already initialized constant Puma::Const::HTTP_CONNECTION
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:204: warning: previous definition of HTTP_CONNECTION was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:205: warning: already initialized constant Puma::Const::HTTP_EXPECT
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:205: warning: previous definition of HTTP_EXPECT was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:206: warning: already initialized constant Puma::Const::CONTINUE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:206: warning: previous definition of CONTINUE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:208: warning: already initialized constant Puma::Const::HTTP_11_100
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:208: warning: previous definition of HTTP_11_100 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:209: warning: already initialized constant Puma::Const::HTTP_11_200
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:209: warning: previous definition of HTTP_11_200 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:210: warning: already initialized constant Puma::Const::HTTP_10_200
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:210: warning: previous definition of HTTP_10_200 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:212: warning: already initialized constant Puma::Const::CLOSE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:212: warning: previous definition of CLOSE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:213: warning: already initialized constant Puma::Const::KEEP_ALIVE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:213: warning: previous definition of KEEP_ALIVE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:215: warning: already initialized constant Puma::Const::CONTENT_LENGTH2
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:215: warning: previous definition of CONTENT_LENGTH2 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:216: warning: already initialized constant Puma::Const::CONTENT_LENGTH_S
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:216: warning: previous definition of CONTENT_LENGTH_S was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:217: warning: already initialized constant Puma::Const::TRANSFER_ENCODING
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:217: warning: previous definition of TRANSFER_ENCODING was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:218: warning: already initialized constant Puma::Const::TRANSFER_ENCODING2
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:218: warning: previous definition of TRANSFER_ENCODING2 was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:220: warning: already initialized constant Puma::Const::CONNECTION_CLOSE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:220: warning: previous definition of CONNECTION_CLOSE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:221: warning: already initialized constant Puma::Const::CONNECTION_KEEP_ALIVE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:221: warning: previous definition of CONNECTION_KEEP_ALIVE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:223: warning: already initialized constant Puma::Const::TRANSFER_ENCODING_CHUNKED
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:223: warning: previous definition of TRANSFER_ENCODING_CHUNKED was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:224: warning: already initialized constant Puma::Const::CLOSE_CHUNKED
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:224: warning: previous definition of CLOSE_CHUNKED was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:226: warning: already initialized constant Puma::Const::CHUNKED
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:226: warning: previous definition of CHUNKED was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:228: warning: already initialized constant Puma::Const::COLON
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:228: warning: previous definition of COLON was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:230: warning: already initialized constant Puma::Const::NEWLINE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:230: warning: previous definition of NEWLINE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:232: warning: already initialized constant Puma::Const::HIJACK_P
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:232: warning: previous definition of HIJACK_P was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:233: warning: already initialized constant Puma::Const::HIJACK
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:233: warning: previous definition of HIJACK was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:234: warning: already initialized constant Puma::Const::HIJACK_IO
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:234: warning: previous definition of HIJACK_IO was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:236: warning: already initialized constant Puma::Const::EARLY_HINTS
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:236: warning: previous definition of EARLY_HINTS was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:239: warning: already initialized constant Puma::Const::WORKER_CHECK_INTERVAL
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:239: warning: previous definition of WORKER_CHECK_INTERVAL was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:242: warning: already initialized constant Puma::Const::DQUOTE
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:242: warning: previous definition of DQUOTE was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:243: warning: already initialized constant Puma::Const::HTTP_HEADER_DELIMITER
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:243: warning: previous definition of HTTP_HEADER_DELIMITER was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:244: warning: already initialized constant Puma::Const::ILLEGAL_HEADER_KEY_REGEX
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:244: warning: previous definition of ILLEGAL_HEADER_KEY_REGEX was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:245: warning: already initialized constant Puma::Const::ILLEGAL_HEADER_VALUE_REGEX
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:245: warning: previous definition of ILLEGAL_HEADER_VALUE_REGEX was here
    /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce/lib/puma/const.rb:248: warning: already initialized constant Puma::Const::BANNED_HEADER_KEY
    /home/deivid/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/bundler/gems/puma-ea81fba045ce/lib/puma/const.rb:248: warning: previous definition of BANNED_HEADER_KEY was here
    Using bundler 2.3.0.dev
    Using nio4r 2.5.4
    Using puma 5.0.4 from https://github.com/puma/puma.git (at /home/deivid/Code/playground/bundler_cache_bug/vendor/cache/puma-ea81fba045ce@ea81fba)
    Updating files in vendor/cache
    Bundle complete! 1 Gemfile dependency, 3 gems now installed.
    Use `bundle info [gemname]` to see where a bundled gem is installed.
    ```

    https://github.com/rubygems/rubygems/commit/039d9fb2cd

commit a7657b0106c0d6f675fe0cea03f819990a20efd2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 21:26:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:10 +0900

    [rubygems/rubygems] Stop using the cache path as the install location

    https://github.com/rubygems/rubygems/commit/ecadd02746

commit a4ec5f874703c0f2514c543263acaaec91771722
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 21:19:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:09 +0900

    [rubygems/rubygems] Stop removing the `.git` folder from cached git gems

    If we want to change git gems to use a proper cache, instead of using
    the cache folder as the install location, so we need to keep git
    information in the cache, so that when running `bundle install` or
    `bundler install --local`, we are able to figure out whether the
    revision that needs to be checked out is present locally in the cache or
    needs to be fetched from the remote repository.

    https://github.com/rubygems/rubygems/commit/607eda63eb

commit b1db07074b9002f6ef46539023342cc53c3b9fee
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 02:53:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:09 +0900

    [rubygems/rubygems] Refactor `set_paths!`

    The method has two different concerns not straightforward to
    distinguish.

    One is to set a new `install_path`, which is done by setting the
    `@install_path` instance variable, and invalidating the `local_specs`
    memoization, so that the next time they are picked from the new
    location.

    The other one is to set a new `cache_path` which is done by setting the
    `@cache_path` instance variable, and invalidating the `git_proxy`
    memoization, so that the next git proxy uses the new cache location.

    This commit splits the logic so that this is easier to understand.

    https://github.com/rubygems/rubygems/commit/55904094e8

commit 26b1c7ed16fc6136d3b497dc6999bc619b122058
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-18 02:25:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:08 +0900

    [rubygems/rubygems] Restrict local behaviour of git gems to local overrides

    We want local overrides to behave just like "path gems" but per-app
    caches are different.

    https://github.com/rubygems/rubygems/commit/797d717a2d

commit 66e539418d15f3f00f7ec2cc7368494da7ca1ea5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-17 21:36:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:08 +0900

    [rubygems/rubygems] Prefer `install_path` alias

    For consistency with the rest of usages in this class.

    https://github.com/rubygems/rubygems/commit/69f9ab34b1

commit 0710e6080221d0512501973d9374274ee4f8a53b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-17 20:12:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:07 +0900

    [rubygems/rubygems] Move duplicated code to a method

    https://github.com/rubygems/rubygems/commit/fbb4ce168c

commit 6b5579153daf6e6111ce3f54560c68c84e2a4eee
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-03-17 20:10:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:15:07 +0900

    [rubygems/rubygems] Add debugging message to `Bundler::Source::Git#specs`

    It's not obvious that the git source actually reinstalls a proper
    checkout of the repository on usage if necessary. This adds a debugging
    message to log that, just like it's done when explicitly installing the
    source.

    https://github.com/rubygems/rubygems/commit/04e8e42a43

commit 83b48022c1093753b4dc1179e1f0ecd0a89bcbce
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-07-18 07:36:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 05:14:59 +0900

    [rubygems/rubygems] Explicitly encode Gem::Dependency to yaml

    This ensures that instance variable ordering cannot cause non-determinism in serialized gems

    https://github.com/rubygems/rubygems/commit/0e912704f7

commit e7610582ad8fd05655221b183257ed358c903ac8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-24 02:22:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 04:43:26 +0900

    [rubygems/rubygems] Fix `bundle exec gem uninstall`

    * `bundle exec` assigns `Gem::Specification.all` to the set of specs
      known to Bundler (a `Bundler::SpecSet`).

    * `gem uninstall` recently started calling `#delete` on the set of specs
      stored in `Gem::Specification#all`. This, in RubyGems, is just an
      array of specs, so has a `#delete` method that receives a single
      element.

    * However, at some point I added a `SpecSet#delete` method that takes an
      array of specs, breaking the "Array-like" contract and making `gem
      uninstall` break when run in a `bundle exec` context.

    The fix is to make `Bundler::SpecSet#delete` handle being given a single
    spec.

    https://github.com/rubygems/rubygems/commit/e3acb7b01d

commit 481c83453b447f2645a146bc5c45199659c71860
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-28 02:53:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 04:40:09 +0900

    [rubygems/rubygems] Enable checksums on Bundler 3 for fresh lockfiles

    And get specs passing.

    https://github.com/rubygems/rubygems/commit/c23b5f5b84

commit 5b931d9de6ca578b72ca55a134cd69863880092d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-28 02:53:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 04:40:08 +0900

    [rubygems/rubygems] Extract a `rake_path` helper

    https://github.com/rubygems/rubygems/commit/0f2db73619

commit b0a0eda2314968def241a94b36e25ce2affe655e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-28 02:50:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 04:40:08 +0900

    [rubygems/rubygems] Normalize a few specs using sources

    Use the standard sources to avoid having to explictly pass ENV with the repo.

    https://github.com/rubygems/rubygems/commit/95055dba57

commit 1758d436e74c8a5527af4b6f172dcb4437030765
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-28 02:15:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 04:40:07 +0900

    [rubygems/rubygems] Enforce passing a block to `simulate_platform`

    https://github.com/rubygems/rubygems/commit/0658903e25

commit 6770bb4a8cbe47bace51952b49d192dc7ae38181
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-23 23:32:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-24 03:45:45 +0900

    Fix running GC in finalizer when RUBY_FREE_AT_EXIT

    The following code crashes because the GC ran during finalizers will
    cause T_ZOMBIE objects to be on the heap, which crashes when we call
    rb_gc_obj_free on it:

        raise_proc = proc do |id|
          GC.start
        end
        1000.times do
          ObjectSpace.define_finalizer(Object.new, raise_proc)
        end

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11229

commit cb863907d8eb25a87288b71856126c0f5e891d26
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-24 03:33:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-24 03:44:31 +0900

    [ruby/prism] Single line method bodies should not be marked as newline

    https://github.com/ruby/prism/commit/18a8597276

commit 47c0df9c4ab2ff6a437ef462eae5ca1eb77fffab
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-24 03:26:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-24 03:26:34 +0900

    [DOC] Allow linking to File#path in Tempfile.create

commit c00990869f7104f5016ec4b35bfebfd27626b2e5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-24 03:25:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-24 03:25:15 +0900

    [DOC] Fix code formatting for Tempfile.create

commit b6800515e8c6af992183045ba89147e90eab3c55
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-23 23:15:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-24 01:48:48 +0900

    [PRISM] Fix up ensure compilation, match compile.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11228

commit e9ae93902119b8258b6f4595c6b58d8209829740
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-24 00:06:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-24 00:06:19 +0900

    [DOC] Doc for BasicObject (#11139)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 744cf0549ef508e2ba5ebc68749ff02edbd3f032
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-23 23:07:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-23 23:54:01 +0900

    [ruby/prism] Recurse upward to detect invalid returns

    https://github.com/ruby/prism/commit/3d39b7961f

commit f0d8a0a2bfa7026423795f96b40d4d81094f8788
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-22 22:53:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-23 21:50:53 +0900

    Fix memory leak in parser when loading non-ASCII file

    When loading a non-ASCII compatible file, an error is raised which
    causes memory leak.

    For example:

        require "tempfile"

        Tempfile.create do |f|
          f.write("# -*- coding: UTF-16BE -*-")
          f.flush

          10.times do
            20_000.times do
              begin
                load(f.path)
              rescue
              end
            end

            puts `ps -o rss= -p #{$$}`
          end
        end

    Before:

        33904
        49072
        64528
        79216
        94576
        109504
        124768
        139536
        154928
        170256

    After:

        19568
        21296
        21664
        21728
        22192
        22256
        22416
        22272
        22272
        22272

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11220

commit 57b11be15ae518288b719fb36068ceb23da6e050
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-22 16:28:00 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-23 14:35:23 +0900

    Implement UNLESS NODE keyword locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11227

commit f23485a8d693cb69fd7b84c1ab93cb4198ecfe4a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-10 22:28:22 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-23 12:36:00 +0900

    [Feature #20624] Enhance `RubyVM::AbstractSyntaxTree::Node#locations`

    This commit introduce `RubyVM::AbstractSyntaxTree::Node#locations` method
    and `RubyVM::AbstractSyntaxTree::Location` class.

    Ruby AST node will hold multiple locations information.
    `RubyVM::AbstractSyntaxTree::Node#locations` provides a way to access
    these locations information.

    `RubyVM::AbstractSyntaxTree::Location` is a class which holds these location information:

    * `#first_lineno`
    * `#first_column`
    * `#last_lineno`
    * `#last_column`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11226

commit 5617fec1f81d0f05563b70fd04e9494896f6abc7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-23 08:13:18 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-23 09:00:59 +0900

    newobj_of(): Use parameter instead of GET_RACTOR()

    No point repeating the work callers to this function already do.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11224

commit 959c95a01e576aa3593fb8f1b0b69581813e5ff4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-23 04:08:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-23 04:46:26 +0900

    [ruby/prism] Ignore shebangs in evals

    https://github.com/ruby/prism/commit/4c55409794

commit 2effa98b6f2f30a4b53f8fa2bb24234e980569e7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-20 00:08:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-23 03:57:10 +0900

    [ruby/prism] Implement mismatched indentation warning

    https://github.com/ruby/prism/commit/5d5bf92be8

commit ec6f40e8f1f81fa97e2a7d7c1a7aa0a3cb8ce827
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-23 02:23:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-23 03:22:47 +0900

    [PRISM] Use xcalloc for constants instead of calloc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11222

commit 5299672a5bb52904cc6b9555be704af2cdc18eba
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-23 00:43:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-23 03:22:47 +0900

    [PRISM] Fix memory leak in constants

    For example, the following code leaks:

        code = 1000.times.map { |i| "var#{i} = 1" }.join("\n")

        10.times do
          1000.times do
            RubyVM::InstructionSequence.compile_prism(code)
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        70384
        88032
        103856
        115712
        125584
        132768
        144784
        152624
        165296
        180608

    After:

        62368
        78784
        74512
        87712
        85072
        77728
        69424
        74992
        71264
        81440

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11222

commit 34adc07372c10170b8ca36111d216cbd8e4699be
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-07-22 22:39:17 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-07-23 01:07:18 +0900

    Document the reasoning behind the fix for [Bug #20641]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11219

commit 5e3b8010ed5a26b364376730a154bb3f25b3bb98
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-22 23:25:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-22 23:25:44 +0900

    Add newline when printing dlopen error message

commit 82aee1a9467c0f1bd33eb0247c5a0a8b8b9a5049
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-07-19 22:12:04 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-07-22 17:33:07 +0900

    bundled_gems.rb: Add a fast path

    [Bug #20641] `Gem::BUNDLED_GEMS.warning?` adds a lot of extra
    work on top of `require`. When the call end up atually loading code
    the overhead is somewhat marginal.

    However it's not uncommon for code to go some late `require` in some
    paths, so it's expected that calling `require` with something already
    required is somewhat fast, and `bundled_gems.rb` breaks this assumption.

    To avoid this, we can have a fast path that in most case allow to
    short-circuit all the heavy computations. If we extract the feature
    basename and it doesn't match any of the bundled gems we care about
    we can return very early.

    With this change `require 'date'` is now only 1.33x slower on Ruby
    3.3.3, than it was on Ruby 3.2.2, whereas before this change it
    was at least 100x slower.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11208

commit da49bee04b1ea664199c14318dbf594464974636
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-07-20 00:55:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-22 01:57:32 +0900

    [ruby/uri] Restrict constant checks to current namespace to avoid conflicts with globals

    https://github.com/ruby/uri/commit/7a64e0245f

commit c544f2672680d3c2992543bd91cdff6e7ce5ec51
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-21 13:00:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-21 13:00:38 +0900

    Fix a typo in setup of block-after-blockcall tests

    Unparenthesize the argument and make `command_call` when calling with
    `do`-block.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11216

commit 3c4dc3e7aca6cfe322247b3b8127d75b776c75e0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-21 12:10:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-21 12:10:33 +0900

    Remove unneeded local variable

    `$5`, `brace_block` is no longer assigned in this action.

commit 11e5ebaba7340ab09f26686d17ce196facc251f7
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-20 16:20:47 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-21 11:02:38 +0900

    Fix SEGV on method call with empty args and brace block for do block command call

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11215

commit e7dda086170a5eaa037ddd5ebfcdc3aade15a26d
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-20 05:08:11 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-21 10:16:42 +0900

    Do not set Enumerator::Lazy#zip to use packed format

    Enumerator#zip yields a single array, not multiple arguments,
    so Enumerator::Lazy#zip should do the same.

    Fixes [#20623]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11212

commit 84680dc255f3219da8d07684372d9ee623f7ac04
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-20 10:02:16 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-20 13:04:48 +0900

    Include `undef` keyword into UNDEF NODE location

    For example:

    ```
    undef a, b
    ```

    Before:

    ```
    @ NODE_UNDEF (id: 1, line: 1, location: (1,6)-(1,10))*
    ```

    After:

    ```
    @ NODE_UNDEF (id: 1, line: 1, location: (1,0)-(1,10))*
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11214

commit 6be539aab5b8fd66685e6079afc6ca83c89fcbd6
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-18 13:47:13 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-20 11:25:26 +0900

    Change UNDEF Node structure

    Change UNDEF Node to hold their items to keep the original grammar
    structure.

    For example:

    ```
    undef a, b
    ```

    Before:

    ```
    @ NODE_BLOCK (id: 4, line: 1, location: (1,6)-(1,10))*
    +- nd_head (1):
    |   @ NODE_UNDEF (id: 1, line: 1, location: (1,6)-(1,7))
    |   +- nd_undef:
    |       @ NODE_SYM (id: 0, line: 1, location: (1,6)-(1,7))
    |       +- string: :a
    +- nd_head (2):
        @ NODE_UNDEF (id: 3, line: 1, location: (1,9)-(1,10))
        +- nd_undef:
            @ NODE_SYM (id: 2, line: 1, location: (1,9)-(1,10))
            +- string: :b
    ```

    After:

    ```
    @ NODE_UNDEF (id: 1, line: 1, location: (1,6)-(1,10))*
    +- nd_undefs:
        +- length: 2
        +- element (0):
        |   @ NODE_SYM (id: 0, line: 1, location: (1,6)-(1,7))
        |   +- string: :a
        +- element (1):
            @ NODE_SYM (id: 2, line: 1, location: (1,9)-(1,10))
            +- string: :b
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11213

commit 174c01b80e31236ca144dc510a662cd18b9a20ee
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-07-20 10:36:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-20 10:36:14 +0900

    Remove redundant :use_block with yield (#11203)

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 8cf708d7b495f62d6239a49af25c362d0156e6aa
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-20 04:53:16 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-20 06:47:12 +0900

    Make rb_check_frozen_inline() static inline again

    Since 730e3b2ce01915c4a98b79bb281b2c38a9ff1131
    ("Stop exposing `rb_str_chilled_p`"), we noticed a speed loss on a few
    benchmarks that are string operations heavy. This is partially due to
    routines no longer having the options to inline rb_check_frozen_inline()
    in non-LTO builds. Make it an inlining candidate again to recover speed.

    Testing this patch on my machine, the fannkuchredux benchmark gets a
    1.15 speed-up with YJIT and 1.03 without YJIT.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11211

commit 30f2d69825ff402bbff0398dcf4f5ab8a6e62c7f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-07-19 22:31:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-20 05:37:20 +0900

    Don't call `Kernel#require` in hot loop

    Ref: https://bugs.ruby-lang.org/issues/20641

    Even without the reference bug, `require 'date'` isn't cheap.

    ```ruby

    require "benchmark/ips"
    require "yaml"
    require "date"

    100.times do |i|
      $LOAD_PATH.unshift("/tmp/does/not/exist/#{i}")
    end
    payload = 100.times.map { Date.today }.to_yaml

    Benchmark.ips do |x|
      x.report("100 dates") { YAML.unsafe_load(payload) }
    end
    ```

    Before:
    ```
    $ ruby /tmp/bench-yaml.rb
    ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]
    Warming up --------------------------------------
               100 dates   416.000 i/100ms
    Calculating -------------------------------------
               100 dates      4.309k (± 1.2%) i/s -     21.632k in   5.021003s
    ```

    After:
    ```
    $ ruby -Ilib /tmp/bench-yaml.rb
    ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin22]
    Warming up --------------------------------------
               100 dates   601.000 i/100ms
    Calculating -------------------------------------
               100 dates      5.993k (± 1.8%) i/s -     30.050k in   5.016079s
    ```

commit e801fa5ce8870c7a1b6551721fa1dbf96fa35655
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 23:56:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-20 00:45:31 +0900

    [PRISM] Fix compiler warning for min_tmp_array_size

    prism_compile.c:5770:40: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
     5770 |                     if (tmp_array_size >= min_tmp_array_size) {
          |                                        ^~

commit b226c3407ec94204237943c4e39bb682b5a392bc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 23:55:02 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-20 00:45:31 +0900

    [PRISM] Fix compiler warning for min_tmp_hash_length

    prism_compile.c:1406:27: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
     1406 |                 if (count >= min_tmp_hash_length) {
          |                           ^~

commit 49cf042cd297cc6097065fb4d98879755ed0cec0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 22:06:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 23:17:50 +0900

    [PRISM] Define DATA constant when parsing stdin and __END__

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11207

commit 1e4c4fe478fccdc00565c609f6128172728d0f04
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 21:46:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 21:55:49 +0900

    [ruby/prism] Fix parsing parentheses in hash patterns

    https://github.com/ruby/prism/commit/22c3b559cd

commit 51505f70e3f1de57f6ce16f9ec77e44e3f7aded7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 02:40:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 21:53:32 +0900

    Move frozen check out of rb_gc_impl_undefine_finalizer

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11199

commit 4b05d2dbb056617dbb9dd90c7d22bf716ee855ee
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 02:39:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 21:53:32 +0900

    Make rb_gc_impl_undefine_finalizer return void

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11199

commit 57d9b8ee07ca11e5de4038b53b3d7a58ea631ffd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 02:44:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 21:53:32 +0900

    Assert that object is not frozen in rb_gc_impl_define_finalizer

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11199

commit e8aa9daa5bcb1993f2cddbf191cc46a7ad6bebed
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-19 02:36:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 21:53:32 +0900

    Move return value of rb_define_finalizer out

    Moves return value logic of rb_define_finalizer out from
    rb_gc_impl_define_finalizer.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11199

commit 0936e3d545c99dfec35ea32c8b0206cf54028f27
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-18 23:38:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 21:53:32 +0900

    Make define_final call rb_define_finalizer

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11199

commit d9bff416377e6a3f7c936e3ba8102ffc3bf8f306
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-19 15:52:33 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-19 16:39:21 +0900

    Rename a variable name

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11205

commit 09dd9a0457c0ce6fdde2bf0246efa5bebde1d05b
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-19 14:30:02 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-19 16:39:21 +0900

    Launchable: Aggregate test results based on file level

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11205

commit 6428ce80f0ef85324a4d0a72ffa4c6fa2db37cdd
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-13 07:33:59 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Avoid array allocation for f(*r2k_ary) when def f(x)

    When calling a method that does not accept a positional splat
    parameter with a splatted array with a ruby2_keywords flagged hash,
    there is no need to duplicate the splatted array.  Previously,
    Ruby would duplicate the splatted array and potentially modify
    it before flattening it to the VM stack

    Use a similar approach as the f(*ary, **hash) optimization,
    flattening the splatted array to the VM stack without modifying
    it, and make any modifications needed to the VM stack.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11161

commit 1cc5a64dd87a6a474ec8387083d41a3c6c1c3ca5
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-13 06:19:40 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Avoid hash allocation for f(*r2k_ary) when def f(kw: 1)

    When calling a method that accepts keywords but not a keyword
    splat with a splatted array with a ruby2_keywords flagged hash,
    there is no need to duplicate the ruby2_keywords flagged hash,
    since it will be accessed to get the keyword values, but it will
    not be modified.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11161

commit 4a49b060ae04b3ccb3880854ba08c6629344f7b3
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-13 05:58:02 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Check for and remove duplicate checks in test_allocation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11161

commit 94e7d2664388039fc8c2f6a063017cae22193fa3
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-13 05:28:53 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Avoid array allocation for f(*empty_ary, **hash) when def f(x)

    This avoids an array allocation when calling a method that does
    not accept a positional splat or keywords with both a positional
    splat and keywords.  Previously, Ruby would dup the positional
    splat to append the keyword splat to it. Then it would flatten
    the dupped positional splat array to the VM stack.

    This flattens the given positional splat to the VM stack, then
    adds the keyword splat hash after the last positional splat
    element on the VM stack, avoiding the need to modify
    the positional splat array.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11161

commit 2c79a7641ffbd5da7d5215a218e0d6866f061423
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-13 04:16:49 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Remove splatarray true -> splatarray false peephole optimization

    The compiler now uses splatarray false for all cases that would
    previously have been optimized, so this is all dead code.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11161

commit 3de20efc308cccc38bf9dacfffca6c626d039a06
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-12 08:16:40 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-19 14:17:21 +0900

    Avoid unnecessary array allocations for f(arg, *arg, **arg, **arg), f(*arg, a: lvar), and other calls

    The `f(arg, *arg, **arg, **arg)` case was previously not optimized.
    The optimizer didn't optimize this case because of the multiple
    keyword splats, and the compiler didn't optimize it because the
    `f(*arg, **arg, **arg)` optimization added in
    0ee3960685e283d8e75149a8777eb0109d41509a didn't apply.

    I found it difficult to apply this optimization without changing
    the `setup_args_core` API, since by the time you get to the ARGSCAT
    case, you don't know whether you were called recursively or directly,
    so I'm not sure if it was possible to know at that point whether the
    array allocation could be avoided.

    This changes the dup_rest argument in `setup_args_core` from an int
    to a pointer to int.  This allows us to track whether we have allocated
    a caller side array for multiple splats or splat+post across
    recursive calls. Check the pointed value (*dup_rest) to determine the
    `splatarray` argument. If dup_rest is 1, then use `splatarray true`
    (caller-side array allocation), then set *dup_rest back to 0, ensuring
    only a single `splatarray true` per method call.

    Before calling `setup_args_core`, check whether the array allocation
    can be avoided safely using `splatarray false`.  Optimizable cases are:

    ```
    // f(*arg)
    SPLAT

    // f(1, *arg)
    ARGSCAT
     LIST

    // f(*arg, **arg)
    ARGSPUSH
     SPLAT
     HASH nd_brace=0

    // f(1, *arg, **arg)
    ARGSPUSH
      ARGSCAT
       LIST
      HASH nd_brace=0
    ```

    If so, dup_rest is set to 0 instead of 1 to avoid the allocation.

    After calling `setup_args_core`, check the flag. If the flag
    includes `VM_CALL_ARGS_SPLAT`, and the pointed value has changed,
    indicating `splatarray true` was used, then also set
    `VM_CALL_ARGS_SPLAT_MUT` in the flag.

    My initial attempt at this broke the `f(*ary, &ary.pop)` test,
    because we were not duplicating the ary in the splat even though
    it was modified later (evaluation order issue). The initial attempt
    would also break `f(*ary, **ary.pop)` or `f(*ary, kw: ary.pop)` cases
    for the same reason. I added test cases for those evaluation
    order issues.

    Add setup_args_dup_rest_p static function that checks that a given
    node is safe.  Call that on the block pass node to determine if
    the block pass node is safe.  Also call it on each of the hash
    key/value nodes to test that they are safe.  If any are not safe,
    then set dup_rest = 1 so that `splatarray true` will be used to
    avoid the evaluation order issue.

    This new approach has the affect of optimizing most cases of
    literal keywords after positional splats.  Previously, only
    static keyword hashes after positional splats avoided array
    allocation for the splat.  Now, most dynamic keyword hashes
    after positional splats also avoid array allocation.

    Add allocation tests for dynamic keyword keyword hashes after
    positional splats.

    setup_args_dup_rest_p is currently fairly conservative. It
    could definitely be expanded to handle additional node types
    to reduce allocations in additional cases.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11161

commit ca0dae25ed51627c411dfdbe9dec3901a321bff9
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-12 14:13:22 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-19 12:44:01 +0900

    Don't crash if madvise(MADV_FREE or MADV_DONTNEED) fails

    The M:N threading stack cleanup machinery tries to call MADV_FREE on the native
    thread's stack, and calls rb_bug if it fails. Unfortunately, there's no way to
    distinguish between "You passed bad parameters to madvise" and "MADV_FREE is
    not supported on the kernel you are running on"; both cases just return EINVAL.
    This means that if you have a Ruby on a system that was built on a system with
    MADV_FREE and run it on a system without it, you get a crash in nt_free_stack.

    I ran into this because rr actually emulates MADV_FREE by just returning EINVAL
    and pretending it's not supported (since it can otherwise introduce
    nondeterministic behaviour). So if you run bootstraptest/test_ractor.rb under
    rr, you get this crash.

    I think we should just get rid of the error handling here; freeing memory like
    this is strictly optional anyway.

    [Bug #20632]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11156

commit e5c06005f182a980637069659843e89f48f5566c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-19 11:48:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-19 12:40:56 +0900

    mustermann depends on URI::RFC2396_PARSER behavior

    It's part of dependencies for Sinatra. we should fix mustermann before final release of Ruby 3.4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11204

commit 3222c672628dba20367475cfaf832b82b2cc3d4c
  Author:     alpha0x00 <leetiankai@gmail.com>
  AuthorDate: 2024-07-14 23:01:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 12:03:16 +0900

    [rubygems/rubygems] Fix line comment issue for map

    https://github.com/rubygems/rubygems/commit/7ca06e139b

commit 1c81d1a69dfc909baf128d6d1ffe636f2e8a3194
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 04:04:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 10:15:54 +0900

    [PRISM] Refactor parser support into its own module

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11201

commit 69e65b9b5ad03d40eb6cfa7323d871465c28d960
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-18 04:37:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 10:15:43 +0900

    Fix interpolated sybmol node instructions

    If the symbol node is interpolated like this `:"#{foo}"` the instruction
    sequence should be `putstring` followed by `intern`. In this case it was
    a `putobject` causing the `test_yjit` tests to fail. Note that yjit is
    not required to reproduce - the instructions are `putstring` and
    `intern` for yjit and non-yjit with the original parser.

    To fix I moved `pm_interpolated_node_compile` out of the else, and
    entirely removed the conditional. `pm_interpolated_node_compile` knows
    how / when to use `putstring` over `putobject` already. The `intern` is
    then added by removing the conditional.

    Before:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(1,11)>
    0000 putobject                              :foo                      (   1)[Li]
    0002 leave
    ```

    After:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(1,11)>
    0000 putstring                              "foo"                     (   1)[Li]
    0002 intern
    0003 leave
    ```

    Fixes the test `TestYJIT#test_compile_dynamic_symbol`. Related to ruby/prism#2935

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11191

commit 8db2325a11518f50f92fe05ccae112c0d71ce12f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 13:31:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:38 +0900

    [ruby/uri] Also support URI::PATTERN with switch-back

    https://github.com/ruby/uri/commit/823697edb4

commit 082335494b59557c322617ff4329c5102cf404da
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 13:16:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:37 +0900

    [ruby/uri] Added test for constant definition and remove URI::REGEXP when using RFC3986_PARSER

    https://github.com/ruby/uri/commit/6f616d97fc

commit 2a56c1841dcecc793ae9cbd0935643639eec1066
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 11:58:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:37 +0900

    [ruby/uri] URI.extract needs to pass block

    If given block to URI.extract, it returns nil.

    https://github.com/ruby/uri/commit/984145c407

commit 862041d0546df6618e19a32051661ff39a7ffcb2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 10:27:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:36 +0900

    [ruby/uri] Rename and switch RFC2396_PARSER test

    https://github.com/ruby/uri/commit/2e0f73f05e

commit ce4da88a579ed0421c36cf7c48acc9d1a7b05079
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 10:11:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:36 +0900

    [ruby/uri] Switch to inspect with default parser

    https://github.com/ruby/uri/commit/0ab9abbf08

commit 6452cf5cb51758066a8db897bebfbca97b230be7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 10:11:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:36 +0900

    [ruby/uri] Added compatibility methods for RFC2396 parser

    https://github.com/ruby/uri/commit/bbb8a40eae

commit 08e449d89baf1aeee87f084e1cd55bfe3b9cc46a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-17 18:53:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 09:50:35 +0900

    [ruby/uri] Added URI.parser= method for switch back to RFC2396_Parser

    https://github.com/ruby/uri/commit/d7dc19ad3f

commit 2de8b5b8054f311c4cee112dcab5208b66cc62a4
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-07-19 05:01:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-19 05:01:47 +0900

    YJIT: Allow dev_nodebug to disasm release-mode code (#11198)

    * YJIT: Allow dev_nodebug to disasm release-mode code

    * Revert "YJIT: Squash canary before falling back"

    This reverts commit f05ad373d84909da7541bd6d6ace38b48eaf24a1.
    The stray canary issue should have been solved by
    def7023ee4a3fc6eeba9d3a34c31a5bcff315fac, alleviating this codegen
    accommodation.

    * s/runtime_assertions/runtime_checks/

    ---------

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

  Notes:
    Merged-By: k0kubun <takashikkbn@gmail.com>

commit 059535bd650bf2765fb8fd14e28d6e98f52871c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 04:26:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 04:38:53 +0900

    [ruby/prism] Mark local variable writes in value positions as being read

    https://github.com/ruby/prism/commit/f5149870ab

commit 1fd1fb2aa5daa604464df94735dd234ecb170b7b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 02:46:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 04:30:45 +0900

    [PRISM] Use KW_SPLAT_MUT when possible for method calls

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11200

commit 53710be557105826440fc705415af37856e19db5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 02:31:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 04:30:45 +0900

    [PRISM] Use concattoarray instead of splatarray+concatarray

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11200

commit 50e7c8f05190656f674514e7c3abb8ad08e12bdb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-19 02:53:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 04:23:06 +0900

    [rubygems/rubygems] Fix unused variable warning when running RubyGems tests

    https://github.com/rubygems/rubygems/commit/155d8fd051

commit 104dad3dd0de02e3282104f7c6686302c2d92194
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 02:46:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:08:37 +0900

    [rubygems/rubygems] Small tweak to avoid making the same mistake again

    We checking completeness of a SpecSet, we should always ignore
    dependencies not relevant for the current platform, since the resolver
    and the lockfile ignore those too.

    https://github.com/rubygems/rubygems/commit/c4b0c6d84e

commit d62af8e5139b33a4eced1a43b41e0e12c47a61de
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 01:52:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:08:37 +0900

    [rubygems/rubygems] Fix another removal issue

    I failed to ignore (again) specs only considered for resolution under
    some platforms that are not the current one.

    https://github.com/rubygems/rubygems/commit/b72deec57e

commit b07c77730b13b8866aefbbe8193950d3cdb272c9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 02:39:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:08:36 +0900

    [rubygems/rubygems] Simplify spec assertion

    All that we expect here is no changes.

    https://github.com/rubygems/rubygems/commit/ff984b6133

commit c9d2343f5c331792bcf46484c8203589a13cfb3c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 20:02:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:07:09 +0900

    [rubygems/rubygems] Fix incorrect standalone script when default gems with extensions are used

    https://github.com/rubygems/rubygems/commit/55649cd09b

commit bb9a9f31ca78f7fbc7084ae4d7b7eb4fc418577a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 20:29:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:07:08 +0900

    [rubygems/rubygems] Remove unnecessary `artifice` parameter

    It's automatically detected from Gemfile.

    https://github.com/rubygems/rubygems/commit/72301a2e3b

commit ba6ffaf2e06bc579f88f92f79bcbb48c1b7a2e92
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 20:02:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:07:08 +0900

    [rubygems/rubygems] Use latest shellwords for standalone test

    https://github.com/rubygems/rubygems/commit/fcd04daf68

commit 99bf4021fb813ce842701060ac87823f0980f6bd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 19:45:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-19 03:07:07 +0900

    [rubygems/rubygems] Ext is generally not in `require_paths`

    https://github.com/rubygems/rubygems/commit/83b417a166

commit d6ef74407b6f7498c067b40eb68ab592e7126582
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-18 23:59:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-19 02:47:00 +0900

    Use rb_obj_hide instead of setting klass to 0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11195

commit b1608fc6bc0868fb0e1e83729cff631deb19da24
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 00:56:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 02:03:33 +0900

    [PRISM] Do not respect xflag when eflag is set

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11197

commit 8e5ac5a87d8c10f4e94bb71ece3d83c78a53876e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-19 00:39:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 02:03:25 +0900

    [PRISM] Ensure not opening directories

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11196

commit 76ea5cde2a0f4834a5228104249b6b3346ddfc94
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-18 06:32:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-19 02:03:17 +0900

    Refactor RUBY_DESCRIPTION assertions in test_rubyoptions

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11192

commit aa3030ac24389f838fd85390601489c60fd13877
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-18 02:26:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 23:12:20 +0900

    Fix empty hash instruction

    When we have an empty hash the iseq should have a `newhash` but instead
    had a `duphash`. To fix, check if the node's elements are equal to `0`.
    If so we want a `newhash`, otherwise use the original `duphash`
    instructions.

    Before:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(1,2)>
    0000 duphash                                {}                        (   1)[Li]
    0002 leave
    ```

    After:

    ```
    == disasm: #<ISeq:<main>@test2.rb:1 (1,0)-(1,2)>
    0000 newhash                                0                         (   1)[Li]
    0002 leave
    ```

    Fixes the test `TestYJIT#test_compile_newhash`. Related to ruby/prism#2935

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11190

commit c304bf13b55a30b9982f9c9e6187f5b56fc731b0
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-07-18 19:56:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 19:56:19 +0900

    [ruby/irb] Clear ENV["XDG_CONFIG_HOME"] to avoid loading
    user-defined irbrc in TestIRB::ConfigValidationTest
    (https://github.com/ruby/irb/pull/982)

    https://github.com/ruby/irb/commit/632da0ff29

commit b61e3a6218fc60485e7ea33985f0d4b46dad80ce
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-18 18:32:42 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-18 19:34:10 +0900

    Write rbinc files at once

    Unexpected error can make empty files which result in unclear
    compilation errors.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11194

commit 231a9acc15979087356bd2284a0572ad5101326a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-07-18 14:06:44 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-07-18 19:19:27 +0900

    Free `data` of `struct rb_parser_ary` in `rb_parser_ary_free`

    For example:

        10.times do
          100_000.times do
            RubyVM::AbstractSyntaxTree.parse("x = 1 + 2 +", keep_tokens: true)
          rescue SyntaxError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        28944
        44816
        60720
        76496
        92336
       108160
       123968
       139808
       155648
       171408

    After:

        11984
        12704
        12816
        12832
        13072
        13088
        13088
        13136
        13136
        13152

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11193

commit 86c99a8d14daa15b1b5f6c99697630aa3abb7d5d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 05:11:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 18:25:17 +0900

    [rubygems/rubygems] Fix gemspec `require_paths` type validation

    It was not properly being detected as an Array attribute, and thus not
    properly validated.

    Fixing this allows us to remove a strange `rescue` clause in Bundler.

    https://github.com/rubygems/rubygems/commit/4121a32408

commit 95728a8b4208bb9a3427cde95a4ceba76e349b39
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 07:06:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 18:25:16 +0900

    [rubygems/rubygems] Warn non flattened require paths in old RubyGems versions too

    https://github.com/rubygems/rubygems/commit/b3cdccc6fb

commit f78a8761c4e8ea679b7b6352880b8b53714687ae
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-18 05:10:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 18:25:16 +0900

    [rubygems/rubygems] Remove unnecessary Windows test skip

    https://github.com/rubygems/rubygems/commit/946180f5c1

commit c032e2c225f4c20ba35cc40a3dd00eef9ae62cfd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-12-14 02:16:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 13:20:07 +0900

    [rubygems/rubygems] Use `caller_locations` instead of splitting `caller`

    Also limit caller ranges

    https://github.com/rubygems/rubygems/commit/a274b1af78

commit c639bacd454dcf43619591f0f0eaa1ac7226f77c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-10 00:37:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 13:20:06 +0900

    [rubygems/rubygems] Fix detection of `gem_repo1` being updated

    https://github.com/rubygems/rubygems/commit/9f9493c77c

commit e0f40dc9b015837d403170dcfa5fa8238aa42973
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-18 12:41:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-18 12:42:36 +0900

    Split URI::Parser examples with RFC2396 and RFC3986

    Prepare for https://github.com/ruby/uri/pull/107

commit 509f1b50c2956089f92ae18d8bec0b8328aa05d1
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-17 17:18:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-18 12:22:47 +0900

    Lanunchable: Add missing condition statement

    Addresses https://github.com/ruby/ruby/pull/11183/files#r1680617485.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11185

commit d11d615ba602e92a7279b7efdf595ba11ba3a663
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-18 11:20:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-18 11:20:17 +0900

    Fix `utimesat` availability condition

    As `__has_attribute` macro is always defined in internal/compilers.h,
    gcc warns `-Wunguarded-availability-new` as unknown option.  Check if
    the warning option is usable instead.

commit d0c17cbd09e5455c203e8fd647e8967684562347
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2024-07-18 06:39:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-18 09:40:01 +0900

    Require space between hash/content in ATX heading (#1140)

    While writing some Markdown documentation for Rails, I came across an
    interesting case where trying to link to an instance method at the start
    of a line would instead parse as an H1 heading:

    ```markdown
    #response_body=
    ```

    Expected:

    ```html
    <a href=""><code>#response_body=</code></a>
    ```

    Actual:

    ```html
    <h1>response_body=</h1>
    ```

    According to the CommonMark spec:

    > At least one space or tab is required between the # characters and the
    > heading’s contents, unless the heading is empty. Note that many
    > implementations currently do not require the space. However, the space
    > was required by the original ATX implementation, and it helps prevent
    > things like the following from being parsed as headings:
    >
    > Example 64

    So while some implementations do not follow this requirement, I believe
    RDoc should because it makes it easy to write text similar to Example 64
    (which was used in the new test) and it also enables automatically
    linking to instance methods at the start of a line.

commit 239d54dfbce0f38cf4d31fa252b4d9bd65477bac
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-18 05:42:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 05:43:08 +0900

    [ruby/rdoc] Improve rubocop setup
    (https://github.com/ruby/rdoc/pull/1139)

    * Rename rake rubocop to rake format_generated_files

    * Add rubocop rules to ensure spaces are applied consistently

    * Improve rubocop related CI workflows

    https://github.com/ruby/rdoc/commit/27932d001c

commit 573c2893dce90c3254bfcb496be74b652d1cae29
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-18 03:52:02 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-18 04:46:41 +0900

    Don't disable GC in rb_gc_impl_object_id

    Disabling GC when creating the object ID was introduced in commit
    67b2c21, but we shouldn't need to disable the GC.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11189

commit 2cc20c06e0e775467ff60098336f155565ad5f20
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-18 04:45:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 04:45:07 +0900

    [PRISM] Use RSTRING_PTR for Ruby parsing with fgets

commit e77e4aa608a12ea59cefc87abafd72fb2b0c0b9a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-18 04:30:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 04:44:32 +0900

    [ruby/prism] Have parse_stream handle NUL bytes

    https://github.com/ruby/prism/commit/4a41d298c8

commit 0fe816f3808cdf647ac549a8ddb2e0540320b890
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-07-17 21:29:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-18 03:17:59 +0900

    [ruby/prism] [Doc] Tweak example of `Prism::Dispatcher`

    This PR tweaked the documentation to correct an error encountered
    when running the example code of `Prism::Dispatcher`.
    This aims to make understanding the example smoother.

    https://github.com/ruby/prism/commit/165a1a0e78

commit 7de2c06352be3370e4fc51612bee35b2e6eacf4b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-18 03:13:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 03:13:16 +0900

    [PRISM] Use RSTRING_LEN for Prism stream parsing

commit 278bbd7b45994c925633cd3cca280b3cabc913db
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-13 13:06:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 03:06:11 +0900

    Revert pending `EVENT_RETURN` tests

    * "Allow ambiguosity of `return` line"
      65b991bc8571b7b718fc22bd33a43c4d269bf52d
    * "Move to test/.excludes-prism"
      3b4ff810d2fefdf0194bd774bc04f6f17e2ccae7
    * "Pending `EVENT_RETURN` settracefunc tests with Prism"
      a7f33c99c69e3cc62b7a24ce35f51f76cc5bfaa2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11163

commit 644424941a771f471134c40204ecbb4589dc74f2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-13 12:59:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 03:06:11 +0900

    [Bug #20457] [Prism] Remove redundant return flag

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11163

commit 7993b88eeec79cce14b04c37f91b0adc3ee1e14f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-18 01:03:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-18 02:58:58 +0900

    [PRISM] Use StringValuePtr for fgets for Prism stream parsing

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11188

commit 99825a539f990dff7e0d7cae082ab195a82ffaa5
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-17 07:21:14 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-17 23:25:20 +0900

    [DOC] Note that rb_obj_freeze_inline() can raise NoMemoryError

    And move it back to a public header because Doxygen might not be
    scanning the .c files.

    [Feature #18776]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11179

commit cd428b490d635726e3d39ae8aa896bc41708cbc4
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-17 07:03:35 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-17 23:25:20 +0900

    [DOC] No more is rb_ary_freeze() an alias of rb_obj_freeze()

    [Feature #20589]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11179

commit 403f44ec2c5047367271f5ec7a07b0460631321b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-17 04:38:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-17 22:01:42 +0900

    Make OBJ_ID_INCREMENT == RUBY_IMMEDIATE_MASK + 1

    All the non-GC objects (i.e. immediates) have addresses such that
    `obj % RUBY_IMMEDIATE_MASK != 0` (except for `Qfalse`, which is 0). We
    can define `OBJ_ID_INCREMENT` as `RUBY_IMMEDIATE_MASK + 1` which should
    guarantee that GC objects never have conflicting object IDs with
    immediates.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11178

commit 690ea013cac2d3c4eb149c8e7e5d794dfe874abe
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-17 19:00:26 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-17 20:47:27 +0900

    Remove unused variable from GC compaction path

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11186

commit 3c3cce13c636313649ab2417d09b3b080da616d4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-10 02:13:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-17 20:14:53 +0900

    [rubygems/rubygems] Fix another case of `bundle lock --add-platform` doing nothing

    https://github.com/rubygems/rubygems/commit/0629e27dda

commit 58aebcbce14bc87f76af605f4c7f21540fc030f2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-17 17:47:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-17 19:17:57 +0900

    [rubygems/rubygems] Applied rubocop

    https://github.com/rubygems/rubygems/commit/c26054e7e9

commit 3f65df48bdc48e720643209a7a6d58ab60c3609b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-17 16:11:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-17 18:41:39 +0900

    Report a TracePoint log when the TracePoint tests fail

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11184

commit af6031786171a65b24b388416c05551f0f104a29
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-17 14:23:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-17 17:37:57 +0900

    Removed needless block arguments

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11171

commit 2a12e4ffec99f1e7e83b3b2bdfbec1ace2b1202f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-17 12:49:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-17 17:37:57 +0900

    To avoid fd leak with fetch request for SSL server

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11171

commit e55bae4a67311b7934fdeb6cb6062d1424671b25
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-16 21:05:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-17 17:37:57 +0900

    Close leaked TCPServer socket

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11171

commit 76386ba1c07bc8f39c5019b86659e7f3e4d57b1e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-16 21:03:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-17 17:37:57 +0900

    Close leaked SSLServer socket

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11171

commit f4c642edb108c5365c282b95cf429a0313b1c452
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-16 11:44:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-17 17:37:57 +0900

    Fixed fd leak from TCPServer

    ```
    Leaked file descriptor: HTTPSProxyTest#test_https_proxy_ssl_connection: 8 : #<TCPServer:fd 8, AF_INET, 127.0.0.1, 63104>
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11171

commit 2b3bfbc4c722d1d051a29721a1a8f86d2c3939a7
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-17 16:03:19 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-17 16:53:58 +0900

    Launchable: Fix Python package path

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11183

commit 03a0ade90d334a616fb5b2d1ed4147a3035ca081
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-17 15:16:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-17 15:16:21 +0900

    Fix double free when `getcwd` does not allocate buffer

    Do not free the result at normal return from `ruby_getcwd`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11182

commit 05502c1ddad8ab78ce1d45baf241af598d53a7d1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-17 12:00:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-17 12:00:27 +0900

    Add a macro to initialize `struct getattrlist_args`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11180

commit 371790165f65d195a1dd6bd615dc6fd42eed8f94
  Author:     Iskren <iskren.nemet@gmail.com>
  AuthorDate: 2024-07-17 11:42:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-17 11:42:29 +0900

    [DOC] Fix and improve array slicing example in range.c

    * [DOC] Fix typo in range.c

      In the example of the beginless range used for array slicing,
      '..' range literal was used while the '...' literal was expected

    * [DOC] Add example for array slicing in range.c

      Add an example for the array slice with the beginless range
      using the '..' range literal

    * [DOC] Add comments for array slicing in range.c

      Add comments to make crystal clear what the '..' and '...'
      range literals do when used for array slicing as beginless range

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11150

    Merged-By: nobu <nobu@ruby-lang.org>

commit dabb6c49aa561ba8a222e8b9baf2cbf2e1a1608d
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-17 11:20:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-17 11:20:17 +0900

    Release GVL around {,f}getattrlist calls in dir.c

    Fixes [Bug #20587]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11176

    Merged-By: jeremyevans <code@jeremyevans.net>

commit c083a3ffcd3b298784313c1617f2cf98f6fd27eb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-16 22:41:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-17 04:50:00 +0900

    Fix memory leak reported in main ractor when RUBY_FREE_AT_EXIT

    STACK OF 1 INSTANCE OF 'ROOT LEAK: <calloc in rb_ractor_main_alloc>':
    6   dyld                                  0x1840e20e0 start + 2360
    5   miniruby                              0x1006796c8 main + 88  main.c:62
    4   miniruby                              0x10072f4a4 ruby_init + 16  eval.c:99
    3   miniruby                              0x10072f328 ruby_setup + 104  eval.c:81
    2   miniruby                              0x1008d08c0 Init_BareVM + 508  vm.c:4276
    1   miniruby                              0x1007f8944 rb_ractor_main_alloc + 76  ractor.c:2034
    0   libsystem_malloc.dylib                0x1842a4cac _malloc_zone_calloc_instrumented_or_legacy + 128
    ====
        1 (96 bytes) ROOT LEAK: <calloc in rb_ractor_main_alloc 0x1347075d0> [96]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11175

commit c4a021ef9606bb9777cd72fd716a6c89358465e0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-17 04:13:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-17 04:26:28 +0900

    [ruby/prism] Move sample files under sample/prism

    https://github.com/ruby/prism/commit/9e9b069404

commit e3c5d73e0f1eee443893ffb97e4b2878ae5ac69f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-17 03:41:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-17 03:41:42 +0900

    [PRISM] Omit two more ast tests that will not work without RubyVM::Ast

commit b0a99d0da9a11a45a5fd3fd655cab8d246fb27a4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-17 02:47:53 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-17 03:40:20 +0900

    [PRISM] Properly compile branch conditions in their own sequence

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11177

commit 90e945a7b7eca49774fe914ab884b46cfab15a34
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-17 01:06:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-17 03:40:20 +0900

    [PRISM] Fix up ensure+loop+break

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11177

commit 4a4e1bf357f5b5f568ead4da0537eb4506e20e5f
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-17 00:58:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-17 00:58:15 +0900

    [ruby/irb] Group class methods under `class << self`
    (https://github.com/ruby/irb/pull/981)

    https://github.com/ruby/irb/commit/cdaa356df2

commit 4fe3082b63a801abe15711ebb907bd66aa58bc35
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-16 22:55:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-16 22:55:48 +0900

    [DOC] Fix typo in gc/default.c

commit 60d3ed504393a876a372ceaec67ed29f06a7bcd0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-16 19:58:50 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-16 22:11:28 +0900

    [Bug #20457] Drop unreachable `return` at end of method

commit 93489d536bdb17da54613f7ef7a8115577963ceb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-13 00:38:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-16 22:09:41 +0900

    Remove dependency on dtrace when building shared GC

commit db3472d84c0e348fd0774a122281b0d7e5bf6352
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-13 00:38:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-16 22:09:41 +0900

    Set `BUILDING_SHARED_GC` when building shared GC

commit e722f4c57f9d5d40dfd018206e121f36643dee66
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-16 15:58:03 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-16 18:41:42 +0900

    Stop using `sigsetjmp` to hijack SIGCHLD handler

    It already has been dead code.
    Follow up of 65d3eacc80bbefb29e5cd0f3f9661d886f2e4cee.

commit 6dd1ab0f9f52eb4bfba83688e697f845b29ab6be
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-07-16 15:59:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-16 15:59:05 +0900

    Update bundled gems list as of 2024-07-16

commit e048a073a3cba04576b8f6a1673c283e4e20cd90
  Author:     Shugo Maeda <shugo@ruby-lang.org>
  AuthorDate: 2024-06-12 11:35:53 +0900
  Commit:     Shugo Maeda <shugo.maeda@gmail.com>
  CommitDate: 2024-07-16 14:48:06 +0900

    Add MatchData#bytebegin and MatchData#byteend

    These methods return the byte-based offset of the beginning or end of the specified match.

    [Feature #20576]

commit a887b41875d00637064294be7059335599937f17
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-16 11:32:19 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-16 13:09:19 +0900

    static const char *type_name() implemented

    The function body was missing.

commit 963059a8d2a2ee7f973492c829ba663b538d9863
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-16 11:04:16 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-16 13:09:19 +0900

    fix compile error

commit 7a0e6f1d1233a7d1d3a54ca9ea7b12a05f4c7018
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-16 12:12:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-16 12:12:40 +0900

    Follow-up resolv and win32 integration

    https://github.com/ruby/resolv/pull/54

commit b01cf8ccdec705c09b90a6e6a9923c8bf87fca5a
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-07-16 11:40:26 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-07-16 11:40:50 +0900

    Fix a typo

    [Misc #20636]

commit a1435981e96c72d5ba0f3a4b7474dbc2173a9150
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-13 08:35:21 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-16 10:08:13 +0900

    [DOC] Document RbConfig::SIZEOF

commit 3531d2291890f7daebcaad4db734ce8aa201dd60
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-13 08:34:46 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-16 10:08:13 +0900

    [DOC] Document RbConfig::LIMITS

commit 9bf1049dfb37f18e37faebdc1662275a8bc1e917
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-13 08:32:38 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-16 10:08:13 +0900

    Refactor so RDoc picks up RbConfig::{SIZEOF,LIMITS}

commit e165d92d37ab1b32d505977d685993cba3131298
  Author:     nicholas a. evans <nick@rubinick.dev>
  AuthorDate: 2024-07-07 06:41:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-16 07:22:11 +0900

    [ruby/rdoc] Drop reimplementation of Ripper lex state
    (https://github.com/ruby/rdoc/pull/1118)

    * Drop reimplementation of Ripper lex state

    This code was for ruby 2.4 compatibility, but rdoc dropped support for
    ruby 2.4 about three years ago, in f480b970c.  This code was almost half
    of the lines of code in rdoc/parser/ripper_state_lex.

    * Remove unused Ripper constants and const_defined?

    This was mostly copied from the diff in @st0012's PR comment.  The
    remaining constants have been updated to get their value directly from
    Ripper.

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    * Use Ripper::EXPR_LABEL directly

    Since this is only used from outside RipperStateLex, there's no longer
    any benefit to using the indirect reference rather than just going
    straight to Ripper.

    ---------

    https://github.com/ruby/rdoc/commit/dd8c216263

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 2911578ed7838ffaecbb4c7184f5db2a937fccbc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-16 04:03:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-16 04:03:54 +0900

    [PRISM] Add missing rescue tracepoint for rescue modifier

commit d989bc54e2f1b0bb577e068fce14da6b178b6b30
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-07-16 03:45:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-16 03:45:18 +0900

    YJIT: split chain_depth and flag booleans in context (#11169)

    Split these values to avoid using a bit mask in the context
    Use variable length encoding to save a few bits on chain depth

commit c06f79c57530d54b9ae05e13680bc79e661d5be0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-16 03:02:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-16 03:12:37 +0900

    [ruby/prism] Fix up implicit flags

    https://github.com/ruby/prism/commit/f4152c1f50

commit 8080de04be8e99e71309745822a9d436cc4ae37c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-16 01:00:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-16 03:04:25 +0900

    [PRISM] Optimize inner static literal hashes

commit c1e535844801c5a06f0e76181076c51bd3b5d189
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-16 00:35:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-16 03:04:25 +0900

    [PRISM] Optimize pushing large hash literals

commit b38493c572282d34a50f239c26e0a236e9c62aaf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-13 03:14:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-16 03:04:25 +0900

    [PRISM] Chunk sub-arrays of static literals in array literals

    Co-authored-by: Adam Hess <HParker@github.com>

commit fb6d54143d6c6a34db222748822974b94b03a8a8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-13 02:38:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-16 03:04:25 +0900

    [PRISM] Optimizations for compiling large arrays

commit 2245f278d3f4be1644c599218d2d4f73051cc6d8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 22:49:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-16 00:28:00 +0900

    Remove unused ruby_initial_gc_stress

commit ec773e15f472ae2fe655529ea646d8fb2a4f0919
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-07-15 23:56:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-15 23:56:57 +0900

    YJIT: Local variable register allocation (#11157)

    * YJIT: Local variable register allocation

    * locals are not stack temps

    * Rename RegTemps to RegMappings

    * Rename RegMapping to RegOpnd

    * Rename local_size to num_locals

    * s/stack value/operand/

    * Rename spill_temps() to spill_regs()

    * Clarify when num_locals becomes None

    * Mention that InsnOut uses different registers

    * Rename get_reg_mapping to get_reg_opnd

    * Resurrect --yjit-temp-regs capability

    * Use MAX_CTX_TEMPS and MAX_CTX_LOCALS

commit 461a7b8316c9a061a3f9e14c5ef86490b02848ba
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 22:34:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-15 21:57:14 +0900

    Add gc/gc.h for functions in gc.c and used by GC implementations

commit 4b0244a1f3a0612b4f3c1162b79f621bac3944e0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 22:29:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-15 21:57:14 +0900

    Rename GC_IMPL_H macro to GC_GC_IMPL_H

commit 3219ecf4f659908674f534491d8934ba54e1143d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-15 12:08:46 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-07-15 16:34:23 +0900

    Win32: Skip check for VS2022 FP BUG by default

commit 8ade9994bffddfd7cb3c0c4d517448620ac3727f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-15 04:02:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-15 04:02:00 +0900

    Release GVL around system calls in dir.c

    * Release GVL for fdopendir calls
    * Release GVL for readdir calls
    * Release GVL for chdir call in dir_chdir0
    * Release GVL for fchdir call in dir_fchdir
    * Release GVL for chroot calls
    * Release GVL for lstat calls
    * Release GVL for stat calls
    * Release GVL for fstatat calls
    * Release GVL for getpwnam call in rb_home_dir_of
      (technically in file.c, but called from dir.c)

    This does not release GVL for readdir/stat/lstat on Windows,
    as that causes issues because the emulation functions that
    are called in win32.c require the GVL.

    This also removes some explicit casts either to or from void *,
    which are allowed implicitly.  The remaining casts to or from
    void * are part of function pointer casts, which are not
    allowed implicitly and will generate a warning.

commit 949573028b127931cb034a2928ef80a59c45ea43
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-14 19:18:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-14 19:18:09 +0900

    Win32: OpenSSL 1.1 DLLs are no longer used

    We are already using OpenSSL 3.3 and have no possibility to use system
    provided DLLs.

commit 880b7f15139c0676fda489599e104c6a7c698d59
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-14 19:09:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-14 19:09:13 +0900

    Win32: Pass triplet option to vcpkg

commit 7472fff7f1b5296fbfcde0e2b7411a1d87781f3f
  Author:     kimuraw (Wataru Kimura) <kimuraw@i.nifty.jp>
  AuthorDate: 2024-07-14 10:36:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-14 10:36:35 +0900

    [Bug #20633] Fix the condition for `atomic_signal_fence`

    `AC_CHECK_DECLS` defines `HAVE_DECL_SYMBOL` to 1 if declared, 0
    otherwise, not undefined.

commit 84138f52b87628a6262224baf25278b583820392
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 23:54:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 23:54:48 +0900

    [DOC] Add missing period in NEWS.md

commit 17b71e6c2e530ad258943ceb442abf0343bc3e12
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 23:53:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 23:53:25 +0900

    [DOC] Fix link in NEWS.md for [Feature #20443]

commit 6298667ff55126106dad8448096de3ed975f6644
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-12 22:27:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 22:50:00 +0900

    [ruby/prism] When parsing an invalid write, still add to the local table

    https://github.com/ruby/prism/commit/a54abc4d1b

commit ca99f86bd6157a3268a63ba36bda49c140428752
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-12 20:13:13 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-12 22:43:33 +0900

    Add GC.config to NEWS.md

commit 8418df72ec33b2824c8e6f57b06fae64bf35288e
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-12 20:03:26 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-12 22:43:33 +0900

    Avoid extra module linkage in gc/default.c

    We don't need to use rb_str_to_cstr here, which means we don't need to
    include string headers anymore.

commit 3ccc6e0b6a1a50c5742265cd4066dd04211da5d4
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-12 05:17:59 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-12 22:43:33 +0900

    Document GC.config

commit 4d77803a66f1bc8559094fd44716fc3bdc16dc5b
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-12 00:10:20 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-12 22:43:33 +0900

    Rename full_mark -> rgengc_allow_full_mark

commit f543c68e1ce4abaafd535a4917129e55f89ae8f7
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-07-04 23:21:09 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-07-12 22:43:33 +0900

    Provide GC.config to disable major GC collections

    This feature provides a new method `GC.config` that configures internal
    GC configuration variables provided by an individual GC implementation.

    Implemented in this PR is the option `full_mark`: a boolean value that
    will determine whether the Ruby GC is allowed to run a major collection
    while the process is running.

    It has the following semantics

    This feature configures Ruby's GC to only run minor GC's. It's designed
    to give users relying on Out of Band GC complete control over when a
    major GC is run. Configuring `full_mark: false` does two main things:

    * Never runs a Major GC. When the heap runs out of space during a minor
      and when a major would traditionally be run, instead we allocate more
      heap pages, and mark objspace as needing a major GC.
    * Don't increment object ages. We don't promote objects during GC, this
      will cause every object to be scanned on every minor. This is an
      intentional trade-off between minor GC's doing more work every time,
      and potentially promoting objects that will then never be GC'd.

    The intention behind not aging objects is that users of this feature
    should use a preforking web server, or some other method of pre-warming
    the oldgen (like Nakayoshi fork)before disabling Majors. That way most
    objects that are going to be old will have already been promoted.

    This will interleave major and minor GC collections in exactly the same
    what that the Ruby GC runs in versions previously to this. This is the
    default behaviour.

    * This new method has the following extra semantics:
      - `GC.config` with no arguments returns a hash of the keys of the
        currently configured GC
      - `GC.config` with a key pair (eg. `GC.config(full_mark: true)` sets
        the matching config key to the corresponding value and returns the
        entire known config hash, including the new values. If the key does
        not exist, `nil` is returned

    * When a minor GC is run, Ruby sets an internal status flag to determine
      whether the next GC will be a major or a minor. When `full_mark:
      false` this flag is ignored and every GC will be a minor.

      This status flag can be accessed at
      `GC.latest_gc_info(:needs_major_by)`. Any value other than `nil` means
      that the next collection would have been a major.

      Thus it's possible to use this feature to check at a predetermined
      time, whether a major GC is necessary and run one if it is. eg. After
      a request has finished processing.

      ```ruby
      if GC.latest_gc_info(:needs_major_by)
        GC.start(full_mark: true)
      end
      ```

    [Feature #20443]

commit 00d0ddd48aceb36326bd18d5a237071adfb69525
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-11 23:24:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 21:41:33 +0900

    Add gc/gc_impl.h for GC implementation headers

commit 17a4c7cfcf13de5be02338467791f0c953a40f3c
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-07-12 21:21:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 21:21:26 +0900

    [ruby/reline] Fix rendering bug of nomultiline prompt
    (https://github.com/ruby/reline/pull/730)

    Fix bug of `print('a'*10); Reline.readline('>')` wrong rendering

    https://github.com/ruby/reline/commit/c0469a12b9

commit 94b87084a689a3bc732dcaee744508a708223d6c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2015-12-27 01:59:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 18:45:06 +0900

    [ruby/win32ole] win32ole.c: repeated code

    * ext/win32ole/win32ole.c (ole_variant2val): reduce repeated code
      between byref and byval.

    https://github.com/ruby/win32ole/commit/e753c6abdd

commit bb1ef817328526b04f3c38a760bc9a1197f1f828
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-12 15:10:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 15:26:53 +0900

    [ruby/error_highlight] Make test_COLON2_5 conditional again

    https://github.com/ruby/error_highlight/commit/da5e76bb06

commit 371055979f4e367e90d7af4140e92fd3824bce2a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-12 12:35:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-12 13:38:22 +0900

    Pend some tests because these are not working with macOS 15 beta and Xcode 16 beta

commit fa6bf1da576430c1db0ff1d68fb9b5992a1d71c8
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-11 11:45:10 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-12 10:21:07 +0900

    give up USE_GC_MALLOC_OBJ_INFO_DETAILS

    This feature is no longer possible under current design; now that our GC
    is pluggable, we cannot assume what was achieved by this compiler flag
    is always possble by the dynamically-loaded GC implementation.

commit 9acc0efdc158111f2e5737ba9f51caaf491abf51
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-12 09:15:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-12 09:15:12 +0900

    Use fixture certificates to fix test failure with RHEL9.

    http://rubyci.s3.amazonaws.com/rhel9/ruby-master/log/20240711T213004Z.fail.html.gz

    ```
      1) Error:
    HTTPSProxyTest#test_https_proxy_ssl_connection:
    OpenSSL::X509::CertificateError: invalid digest
        /home/chkbuild/chkbuild/tmp/build/20240711T213004Z/ruby/test/net/http/test_https_proxy.rb:63:in 'OpenSSL::X509::Certificate#sign'
        /home/chkbuild/chkbuild/tmp/build/20240711T213004Z/ruby/test/net/http/test_https_proxy.rb:63:in 'HTTPSProxyTest#test_https_proxy_ssl_connection'
    ```

commit 6fc83118bbb03c049e470cf27dbf1e87654e6942
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-12 03:09:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 04:49:14 +0900

    Fix Makefile.in for non GNUmake

    On OpenBSD the Makefile errors with:

        Using $< in a non-suffix rule context is a GNUmake idiom

commit cfaa3e9311d4b802f5d316416f13d4ec6b1ab659
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-12 00:15:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 04:46:51 +0900

    [ruby/prism] Bump typecheck dependencies to fix CI

    https://github.com/ruby/prism/commit/c7a4a90ee8

commit 21b4c14971fab7cb517b6af243e058b0363e5f3f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-11 23:30:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 04:46:50 +0900

    [ruby/prism] (ruby_parser) Handle bare string in implicit concat

    https://github.com/ruby/prism/commit/afc7c9344a

commit 3c3be9c6b230bcc77bbdf26996b31adc584b9698
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-11 23:23:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 04:46:50 +0900

    [ruby/prism] (ruby_parser) Match match3 nodes for regular expressions

    https://github.com/ruby/prism/commit/47cb73ce69

commit 4c696597b729197df3a1b695e079e22d5ab0c7c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-11 23:17:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 04:46:49 +0900

    [ruby/prism] (ruby_parser) Reverse associativity of and and or nodes

    https://github.com/ruby/prism/commit/073e8ba307

commit 43aee3393d70f8893e312b38a9a30c1dba295c41
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-07-11 05:59:14 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-12 04:43:14 +0900

    fix `defined?(@ivar)` with Ractors

    `defined?(@ivar)` on the non main Ractor has two issues:

    1. raising an exception

    ```ruby
    class C
      @iv1 = []
      def self.defined_iv1 = defined?(@iv1)
    end

    Ractor.new{
      p C.defined_iv1
      #=> can not get unshareable values from instance variables of classes/modules from non-main Ractors (Ractor::IsolationError)
    }.take
    ```

    -> Do not raise an exception but return `"instance-variable"` because
    it is defined.

    2. returning `"instance-variable"` if there is not defined.

    ```
    class C
      # @iv2 is not defined
      def self.defined_iv2 = defined?(@iv2)
    end

    Ractor.new{
      p C.defined_iv2 #=> "instance-variable"
    }.take
    ```

    -> returns `nil`

commit ef563a696db983fe21a259dac38e5bec201d6b9a
  Author:     Ivo Anjo <ivo.anjo@datadoghq.com>
  AuthorDate: 2024-07-11 23:37:53 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-07-12 04:18:40 +0900

    Minor: Fix typo in bug name

    This confused me for a few minutes -- the testcase for
    https://bugs.ruby-lang.org/issues/14834 was mistyped in the file name,
    as well as once in the source.

    E.g. in some cases it was
    `one-four-three-eight-four` instead of
    `one-four-eight-three-four`.

commit a58e3305ce62b229f62fb67ab56a67d5def3f67b
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-07-12 04:17:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-12 04:17:40 +0900

    YJIT: remove doc/yjit/yjit_hacking.md (#11153)

    Document is 3 years old and out of date

commit 3fbf9df39ad9c9338a2f9b94b4dd87c1c446ec95
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-07-12 04:01:05 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-12 04:01:05 +0900

    YJIT: increase context cache size to 1024 redux (#11140)

    * YJIT: increase context cache size to 1024 redux

    * Move context hashing code outside of unsafe block

    * Avoid allocating large table on the stack, which would cause a stack overflow

    Co-authored by Alan Wu @XrXr

commit 1f6aeadc824ad597aa7ad8ab2ddb554f448147ac
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-12 02:05:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [PRISM] Fix Windows 2015 segfault

commit ac093f5a06aa3ab2280c7914888f22332cca8400
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-12 01:25:37 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [PRISM] Fix up shareable constant casting

commit c1df15c3e69201ed01c1b902de8c9302740899eb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-04 04:57:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [PRISM] Use node ids for error highlight

commit 0006fb1e9e30add81ca8644c633c548f3b239796
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-04 04:15:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [PRISM] Revert incorrectly merged gemfile

commit be4589df8051262eaeb0f6e58dbe99c263a20cde
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-06-21 06:30:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Prevent optional block parameter from accepting certain prefixed values

    This commit prevents the following unary operators from being accepted
    as the value prefix of a block's optional parameter:

    - `+`
    - `-`
    - `~`
    - `!`

    For example, `f { |a = +b| }` will now raise a syntax error.

    https://github.com/ruby/prism/commit/3024bee60c

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit aa473489a2ff5e5ed6d3536466e6108539c97a8b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-04 00:23:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Various cleanup for initializers and typechecks

    https://github.com/ruby/prism/commit/86cf82794a

commit 2bf9ae3fa1b5dec1c63176f39db84d697ede3581
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 23:42:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Add node ids to nodes

    https://github.com/ruby/prism/commit/bf16ade7f9

commit 39dcfe26ee55919c3277a59884592a0ebe0aee6a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 21:50:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Move Node#type and Node::type documentation

    https://github.com/ruby/prism/commit/08a71f6259

commit 32090e2b8d4bd1c0ddfd6b4ee82927e935534eed
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 21:42:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Add Node#breadth_first_search

    https://github.com/ruby/prism/commit/1ffb141199

commit aca42a24783e3a7d17eafb43a031e397bfb70323
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 04:52:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Expose common flags in inspect output

    https://github.com/ruby/prism/commit/d0143865c2

commit 687be43c79a6fb119e52b09ea561cf958a9aabf2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 04:43:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Expose flags on every node type

    https://github.com/ruby/prism/commit/9f12a56fd6

commit ca48fb76fb0669ca0666a7aa129e1f5d2b7468da
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 03:27:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Move location to second position for node initializers

    https://github.com/ruby/prism/commit/4cc0eda4ca

commit 678dd769e560db9cebff41218e3413e6688aaf12
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-03 01:23:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-07-12 03:25:54 +0900

    [ruby/prism] Reconfigure error tests

    https://github.com/ruby/prism/commit/fb7e1ebb7f

commit c0ad0c3e43816688c72dbb93a7a49e39c87082f5
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-07-12 02:02:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-12 02:02:01 +0900

    Update yjit.md, explain how to run a single test with test-all (#11151)

commit 9962e395470007a92e8b53942f597793f40ff0bc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-10 22:29:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 00:38:00 +0900

    Make shared GC job in ubuntu.yml use a shared GC

commit d0dfd963afbef617a4e6989935c62734c4e6e3f8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-10 22:29:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-12 00:38:00 +0900

    Remove SHARED_GC job from compilers.yml

    It's a duplicate of the one in ubuntu.yml

commit c698180e68a0f417415cd087efc303931af3bb3e
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2019-08-17 01:12:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-12 00:25:17 +0900

    [ruby/logger] Add reraise_write_errors keyword argument to Logger and LogDevice

    This allows the user to specify exception classes to treat as regular
    exceptions instead of being swallowed.  Among other things, it is
    useful for having Logger work with Timeout.

    Fixes Ruby Bug 9115.

    https://github.com/ruby/logger/commit/436a7d680f

commit a0469a4788d1153cbc25860d82140425763c2571
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-10 00:01:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-11 22:09:47 +0900

    Rename gc/gc_impl.c to gc/default.c

    Changing the name makes it clear that this is the default GC in Ruby.

commit e5d12f9cce913d0677e3bd5135e1a6ffc2b1a272
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-09 23:54:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-11 22:09:47 +0900

    Move gc_impl.c to gc/gc_impl.c

    This commit creates a new directory `gc` to put different GC
    implementations and moves the default GC from gc_impl.c to gc/gc_impl.c.
    The default GC can be easily switched using the `BUILTIN_GC` variable
    in Makefile.in.

commit e1a034cb9617d76a5ab7fb1345615c08998b2ba7
  Author:     Jeremy Daer <jeremydaer@gmail.com>
  AuthorDate: 2024-07-11 17:03:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-11 17:03:14 +0900

    IBM864 single-byte transcoding (#10518)

    Include € euro sign from CCSID 864

commit a1f74325509cffaafe82edc6eda987a70840883b
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-07-11 15:59:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 15:59:45 +0900

    Update bundled gems list as of 2024-07-10

commit 3de0e343e27c4bbb76c3c9fda0d8be4d83807a2d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-24 22:18:14 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-07-11 14:39:50 +0900

    Do not warn about extra `format` argument when passed as keywords

    [Bug #20593]

    It's fairly common to use `format` to interpolate a number of values
    into a user provided strings.

    The arguments not matching are a problem when they are positional,
    but when they are named, it's absolutely fine and we shouldn't
    emit a warning.

commit 72732af47eeedbca304e39c3b8c3820ed19c6d81
  Author:     João Pinheiro <joao.castropinheiro@gmail.com>
  AuthorDate: 2024-03-10 00:58:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 13:49:59 +0900

    [ruby/open-uri] document max_redirects option

    https://github.com/ruby/open-uri/commit/4a247e5ca1

commit e62a0126cd3b4794a9cc5a7e40a237e1f7cec3b9
  Author:     João Pinheiro <joao.castropinheiro@gmail.com>
  AuthorDate: 2024-03-10 00:57:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 13:49:59 +0900

    [ruby/open-uri] apply default max_redirects

    https://github.com/ruby/open-uri/commit/5d29e626bc

commit e1238a1faba5cbb7975d08963bf0bfa50a96d2b0
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-11 11:46:23 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-11 12:28:23 +0900

    Enumerable#all?: Stop optimizing when a given block is not optimizable

    This is a follow up to 182822683f86c8f8d63b05765addf5a04d112aa2.

    Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>

commit 6dc0086d2046506d838b9de41cb12a4aadec58d1
  Author:     Dmitriy Ivliev <3938172+moofkit@users.noreply.github.com>
  AuthorDate: 2024-07-10 23:09:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 11:27:46 +0900

    [rubygems/rubygems] fix s3 source configuration issue

    https://github.com/rubygems/rubygems/commit/356726bd1a

commit bc1b4235fb0b859122ae15b865bf1a15e7d2050f
  Author:     Evgeni Golov <evgeni@golov.de>
  AuthorDate: 2022-05-09 22:04:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 10:56:08 +0900

    [ruby/net-http] implement talking SSL to the proxy too

    https://bugs.ruby-lang.org/issues/16482

    https://github.com/ruby/net-http/commit/ae2d83f88b

commit 70bdc0f777f9c2fe7bcee8bbab7b510589c28f93
  Author:     fatkodima <fatkodima123@gmail.com>
  AuthorDate: 2024-05-14 07:53:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 10:51:03 +0900

    [ruby/net-http] Add ability to configure default settings for new connections

    https://github.com/ruby/net-http/commit/fed3dcd0c2

commit 9f4b45fbf7981a57fd82436ebec8a50ec3d3fdc9
  Author:     MSP-Greg <Greg.mpls@gmail.com>
  AuthorDate: 2024-06-21 09:33:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 10:22:10 +0900

    [ruby/net-http] test_https.rb - fix test_session_reuse_but_expire

    https://github.com/ruby/net-http/commit/5544243c41

commit d605fb54cf7ec8bb6ee5ca7843980f710d1fdb5a
  Author:     MSP-Greg <Greg.mpls@gmail.com>
  AuthorDate: 2023-11-27 02:49:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 10:10:08 +0900

    [ruby/net-http] net/http.rb - derive SSL_IVNAMES from SSL_ATTRIBUTES

    https://github.com/ruby/net-http/commit/7191bb923b

commit 9a5e3a4007b0087a2daac303e7aa3f9aa15c140b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-11 08:37:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-11 09:23:16 +0900

    Removed WEBrick and that tests

    We can handle uri, time and others without `make test-all` dependencies now.

commit bfba96a106ca4fd1323955974574ea402151270e
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-19 07:41:45 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-11 08:38:06 +0900

    Avoid a hash allocation when keyword splatting empty hash when calling ruby2_keywords method

    Treat this similar to keyword splatting nil, using goto ignore.
    However, keep previous behavior if the method accepts a keyword
    splat, to avoid double hash allocation.

    This also can avoid an array allocation when calling a method
    that doesn't have any splat parameters but supports literal
    keyword parameters, because ignore_keyword_hash_p was not
    ignoring the keyword hash in that case.

    This change doesn't remove the empty ruby2_keywords hash from
    the array, which caused an assertion failure if the method
    being called accepted keywords in some cases.  Modify the
    assertion to handle this case.  An alternative approach would
    add a flag to the args struct so the args_argc calculation could
    handle this case and report the correct argc, but such an approach
    would likely be slower.

commit 840f7ebfde7232a818dd1ebb7efd073b6f883a05
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 20:02:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:10 +0900

    [ruby/net-http] Commented out unfinished chunked test

    https://github.com/ruby/net-http/commit/6376592cb4

commit 492b505d95440a5493d675002bebaeae550b43cd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 19:41:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:10 +0900

    [ruby/net-http] Removed needless warning

    https://github.com/ruby/net-http/commit/d867edc0fe

commit b11aba503b6ecdfeea7ebbb06c0416c4d081c2ec
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 19:32:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:09 +0900

    [ruby/net-http] Split POST test because new dummy server can't handle continuouse POST request

    https://github.com/ruby/net-http/commit/54a99b9f0c

commit e77bc17e5d11e54b14e8122fffc17e1637aa600e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 17:12:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:09 +0900

    [ruby/net-http] Write log after server start, not handling request

    https://github.com/ruby/net-http/commit/205bac757a

commit 6428536146bd8910b2f1b8d4fcd20b1c22673e1f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 17:09:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:08 +0900

    [ruby/net-http] Split test class because TCPServer couldn't accept localhost and 127.0.0.1 both

    https://github.com/ruby/net-http/commit/749a1b3197

commit 4e6463ad7a56d7cf55726ff913129790b942ffb9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 17:00:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:08 +0900

    [ruby/net-http] Support chunked data and fixed test failure with multipart/form-data

    https://github.com/ruby/net-http/commit/b38c2795a9

commit 87a45af1050c07bccf09cb03eb1ce420b62baede
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 12:10:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:07 +0900

    [ruby/net-http] Removed server-side log test

    https://github.com/ruby/net-http/commit/9c16c383ce

commit 5e6f04abc82baed200a554950ecd57ba74a4bd29
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-10 10:23:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:07 +0900

    [ruby/net-http] Fix wrong hostname with test_max_version test

    https://github.com/ruby/net-http/commit/f00d198433

commit c7eb9ac6f96edec97332b473432261490b48ea26
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-09 17:44:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-11 08:06:06 +0900

    [ruby/net-http] Rewrite WEBrick server with TCPServer and OpenSSL::SSL::SSLServer

    https://github.com/ruby/net-http/commit/b01bcf6d7f

commit 0ee3960685e283d8e75149a8777eb0109d41509a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-20 03:27:01 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-07-11 06:45:38 +0900

    Eliminate array allocations for single splat followed by mutable keywords

    For calls such as:

      m(*ary, a: 2, **h)
      m(*ary, **h, **h, **h)

    Where m does not take a positional argument splat, there was previously
    an array allocation (splatarray true) to dup ary, even though it was not
    necessary to do so.  This is because the elimination of the array allocation
    (splatarray false) was performed in the optimizer, and the optimizer didn't
    handle this case, because the instructions for the keywords can be of
    arbitrary length.

    Move part of the optimization from the optimizer to the compiler,
    detecting parse trees of the form:

      ARGS_PUSH:
        head: SPLAT
        tail: HASH (without brace)

    And using splatarray false instead of splatarray true for them.

    Unfortunately, moving part of the optimization to the compiler broke
    the hash allocation elimination optimization for calls of the
    form:

      m(*ary, a: 2)

    That's because the compiler had already set splatarray false,
    and the optimizer code was looking for splatarray true.

    Split the array allocation elimination and hash allocation
    elimination in the optimizer so that the hash allocation
    elimination will still apply if the compiler performs the
    splatarray false optimization.

commit 48e7112baaf338fa350f68f0386e05085d26606c
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-07-11 04:45:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-11 04:45:23 +0900

    YJIT: increase context cache size to 1024 (#10983)

    * YJIT: increase context cache size to 1024

    The other day I ran into a mysterious bug while increasing the
    cache size to 1024. I was not able to reproduce this locally.
    Opening this PR for testing/debugging.

    * Add extra debug assertions

    * Add more comments to context code

    * Update yjit/src/core.rs

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

    * Update yjit/src/core.rs

    * Comment out potentially problematic assertion

    * Revert cache size to 512 so we can merge other changes

    ---------

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit 52a0dfd4bfe3a307c8b5efe2675134457684c062
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-11 00:24:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-11 03:28:10 +0900

    Revert all changes to dln.c, dmydln.c, dln.h for the shared GC

commit 64988e66d7704bf8e3eb21607df9afd675d5f016
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-11 00:17:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-11 03:28:10 +0900

    Allow miniruby to load shared GC

    Since dln.c is replaced with dmydln.c for miniruby, we cannot load shared
    GC for miniruby. This means that many tests do not have the shared GC
    loaded and many tests fail because of the warning that emits in miniruby.

    This commit changes shared GC to directly use dlopen for loading the
    shared GC.

commit 623eecce99fa796222096d290e55ff08b4c3cf9d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-10 22:21:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-10 22:21:12 +0900

    Use absolute path for shared_gc_dir

commit 133fec4ce933e5a37de84c9c002bb998b4d8acb2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-09 01:21:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 17:04:07 +0900

    [rubygems/rubygems] Fix another strange error when running `bundle add` in frozen mode

    If there's a lockfile, but it's out of sync with the Gemfile because a
    dependency has been deleted, and frozen mode is set, Bundler will print
    the following strange error:

    ```
    $ bundle add rake
    , but the lockfile can't be updated because frozen mode is set

    You have deleted from the Gemfile:
    * rake (~> 13.2)

    Run `bundle install` elsewhere and add the updated Gemfile to version control.
    ```

    This commit changes the error to:

    ```
    Some dependencies were deleted from your gemfile, but the lockfile can't be updated because frozen mode is set

    You have deleted from the Gemfile:
    * rake (~> 13.2)

    Run `bundle install` elsewhere and add the updated Gemfile to version control.
    ```

    https://github.com/rubygems/rubygems/commit/452da4048d

commit 7e612b7414280c49ccc633cdf392f61e7acf2970
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-09 01:02:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 17:04:07 +0900

    [rubygems/rubygems] Fix strange error when running `bundle add` with frozen mode set

    If Gemfile is empty and there's no lockfile (situation after `bundle init`), and
    `frozen` is configured, running `bundle add` will result in an strange
    error, like this:

    ```
    $ bundle add rake
    , but the lockfile can't be updated because frozen mode is set

    You have deleted from the Gemfile:
    * rake (~> 13.2)

    Run `bundle install` elsewhere and add the updated Gemfile to version control.
    ```

    This commit fixes the problem to instead print

    https://github.com/rubygems/rubygems/commit/152331a9dc

commit 182822683f86c8f8d63b05765addf5a04d112aa2
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-09 18:30:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-10 13:00:47 +0900

    Use rb_block_call2 for some Enumerable methods

    Enumerable#all?, #any?, #one?, and #none? do not use yielded arguments
    as an Array. So they can use rb_block_call2 to omit array allocatoin.

    Enumerable#find does not have to immediately accept yielded arguments as
    an Array. It can delay array allocation until the predicate block
    returns truthy.

    (TODO: Enumerable#count and #find_all seem to be optimizable as well.)

commit 114e32b35796ca546f429ee3295607a127d7e519
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-07-09 18:27:02 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-07-10 13:00:47 +0900

    Add rb_block_call2, a flexible variant of rb_block_call

    This function accepts flags:

    RB_NO_KEYWORDS, RB_PASS_KEYWORDS, RB_PASS_CALLED_KEYWORDS:
    Works as the same as rb_block_call_kw.

    RB_BLOCK_NO_USE_PACKED_ARGS:
    The given block ("bl_proc") does not use "yielded_arg" of rb_block_call_func_t.
    Instead, the block accesses the yielded arguments via "argc" and "argv".
    This flag allows the called method to yield arguments without allocating an Array.

commit 77b12a8aaf40678dd6cfea29ae27b92b3718ae0a
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-10 10:48:53 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-10 12:15:35 +0900

    GC_DEBUG is always defined

    `#ifdef` is inadequate.

commit c49eda91bf9139b33d01584bb1524e2ac3278101
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-10 10:34:54 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-10 12:15:35 +0900

    rb_source_location_cstr is banned in this file

    Raison d'etre du gc_impl.c is to purge any internal constructs and rely
    solely on our public APIs. rb_source_location_cstr is not public.

commit 1f15149e98796800f229f1bea7770d253fab5532
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-07-10 09:33:14 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-07-10 12:15:35 +0900

    rb_gc_obj_slot_size is banned in this file

    Raison d'etre du gc_impl.c is to purge any internal constructs and rely
    solely on our public APIs. rb_gc_obj_slot_size is not public.

commit 6f6aff56b11d7f3df9b446b9399cc546875e07f5
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-09 03:10:11 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-10 02:22:29 +0900

    Don't shrink array in `ary_make_shared`

    This change adds back the assertions removed in #11092 and removes the
    call to `ary_shrink_capa` from `ary_make_shared` when the array is
    frozen.

commit c1ff8d519fafd9a91d056434dbce8e5beab1da4a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-10 02:14:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-10 02:14:28 +0900

    Fix grammar of ruby_shared_gc.m4

commit 140d8318dbafe2c7c112651389da0b3ef4fd8424
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 01:22:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:09 +0900

    [rubygems/rubygems] Fix generic platform gems getting incorrectly removed when locked for a specific platform

    If they are already in the lockfile as the most specific variant for a
    platform, we shouldn't change that unless explicitly unlocking.

    https://github.com/rubygems/rubygems/commit/a901660498

commit e6c7a309d00839ef2b583b736654d9b9bee957d0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-04 22:48:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:09 +0900

    [rubygems/rubygems] Refactor selecting specs from a SpecSet

    https://github.com/rubygems/rubygems/commit/bcbbff5149

commit dd05191bc35e06f82311fc630c3cc917595e2b71
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-04 20:55:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:08 +0900

    [rubygems/rubygems] Resolve all platforms directly

    Instead of having to do a complete pass after resolve.

    To do this, we add to the ruby group all the platform specs with the
    same dependencies as the ruby specs.

    https://github.com/rubygems/rubygems/commit/e50415f2a6

commit 00acc703483021d7bcc0a0bc284c29acec199cd2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-04 20:18:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:08 +0900

    [rubygems/rubygems] Don't memoize sorted_spec_names

    It's just for debugging and a simple method, so no need.

    https://github.com/rubygems/rubygems/commit/3230425a9a

commit 086cde1651902abb758184f1eadbbfb367b2fedf
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-04 03:17:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:07 +0900

    [rubygems/rubygems] Instantiate `Resolver::SpecGroup` with explicit priority

    https://github.com/rubygems/rubygems/commit/e2c1bc1b6c

commit 5fdfdc30f155ac41f865d4a0ae9ee37f1371fd7f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 05:09:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:07 +0900

    [rubygems/rubygems] Let resolver consider unique specs from the beginning

    It results in more consistent error messages.

    https://github.com/rubygems/rubygems/commit/a4b34361cc

commit a333e867aa24a37bf962e7d1b941078790a75efd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 19:46:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-10 01:34:06 +0900

    [rubygems/rubygems] Fix spec to also pass outside of Linux

    https://github.com/rubygems/rubygems/commit/fc8c853345

commit 1d97c46b35f1299bd1718728a4ece0211fdf34b2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 22:37:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 23:43:18 +0900

    [rubygems/rubygems] Minor Bundler spec improvements

    While working on something else I noticed:

    * Usage of uppercased "RUBY" and "JAVA" as platforms, when those don't
      really exist.
    * Usage of some test gems with "1.0" as gemspec version and "1.0.0" as
      actual version.

    This commit fixes both inconsistencies to make things more expectable.

    https://github.com/rubygems/rubygems/commit/e3ec32e247

commit 30b9912bb71ce1fcee2cd31b7ccf9513f4e4fef0
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-09 22:43:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-09 22:43:07 +0900

    [DOC] Doc for Float#ceil (#11125)

commit ab3fa8dece76bd9e5db03af885d411ddd7089651
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-09 08:38:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-09 21:55:58 +0900

    [DOC] Use backticks instead of HTML tags

commit 5de6d0b35f17520ada1c2e9433022827b14d780e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-09 08:32:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-09 21:55:58 +0900

    [DOC] Fix granularity calculation

    The granularity is calculated as `10 ** ndigits.abs` rather than
    `ndigits.abs * 10`. For example, if `ndigits` is `-2`, it should be
    `10 ** 2 == 100` rather than `2 * 10 == 20`.

commit ad6b2e89851dd31f10f91aca408681ba39c23ede
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 22:48:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 20:26:10 +0900

    [rubygems/rubygems] Test using latest rubies

    https://github.com/rubygems/rubygems/commit/6d6646b8bc

commit f9004fc8aa8ce62b5e1e5228b1c73ec5c5d52147
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-09 16:39:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 18:09:14 +0900

    [rubygems/rubygems] Suppress SSLError warning because it's only for debugging.

    http://ci.rvm.jp/logfiles/brlog.trunk.20240709-010435#L1554

    https://github.com/rubygems/rubygems/commit/a1a46f413b

commit e09df574272035b792ee3e58576fb29c24863d14
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-09 16:24:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 16:27:48 +0900

    [ruby/open-uri] Try Windows tests again

    https://github.com/ruby/open-uri/commit/50f265ba29

commit 5d82abdfc86f9ccbd61df4bae17826d01386b575
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-09 15:38:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-09 16:21:55 +0900

    Removed duplicate server thread

commit e62ac3aac7003c75aca8c3a2230c7c93898fd581
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-09 07:42:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-09 16:21:55 +0900

    Reapply "Reverts related commits with https://github.com/ruby/open-uri/pull/37"

    This reverts commit 02c4f0c89db3689c5272f00c548ca3008120459b.

commit 690b56440beaa32873a8311451033bb4bd34e94c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-09 13:01:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-09 13:01:44 +0900

    Use `File.write` instead of `Kernel#open`

commit e500222de1a8d5e7a844209a7e912b03db8cdf76
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-07-09 06:00:04 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-09 06:43:28 +0900

    fix last commit

    `th` is gone.

commit ffc69eec0a5746d48ef3cf649639c67631a6a609
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-28 07:19:09 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-09 05:57:03 +0900

    `struct rb_thread_sched_waiting`

    Introduce `struct rb_thread_sched_waiting` and `timer_th.waiting`
    can contain other than `rb_thread_t`.

commit a9f6bd028af5e91efbba59dd1cb542c5f40aee91
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-06 04:02:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-09 05:47:25 +0900

    Add make target shared-gc

    Allows building shared GC using `make shared-gc SHARED_GC=gc_impl`

commit 3be9ce3cf61e8396ecc3eea6169a2fd1a2c2bfea
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-07-09 05:02:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-09 05:02:30 +0900

    YJIT: `dump-disasm`: Print comments and bytes in release builds

    This change implements a fallback mode for the `--yjit-dump-disasm`
    development command-line option to make it usable in release builds.
    Previously, using the option with release builds of YJIT yielded only
    a warning asking the user to build with `--enable-yjit=dev`.

    While builds that use the `disasm` feature still give the best output,
    just having the comments is useful enough for many kinds of debugging.
    Having it usable in release builds is nice for new hackers, too, since
    this allows for tinkering without having to learn how to build YJIT in
    development mode.

    Sample output on A64:

    ```
      # regenerate_branch
      # Insn: 0001 opt_send_without_block (stack_size: 1)
      # guard known object with singleton class
      0x11f7e0034: 4b 00 00 58 03 00 00 14 08 ce 9c 04 01 00 00
      0x11f7e0043: 00 3f 00 0b eb 81 06 01 54 1f 20 03 d5
      # RUBY_VM_CHECK_INTS(ec)
      0x11f7e0050: 8b 02 42 b8 cb 07 01 35
      # stack overflow check
      0x11f7e0058: ab 62 02 91 7f 02 0b eb 69 07 01 54
      # save PC to CFP
      0x11f7e0064: 0b 3b 9a d2 2b 2f a0 f2 0b 00 cc f2 6b 02 00
      0x11f7e0073: f8 ab 82 00 91
    ```

    To ensure this feature doesn't incur too much cost when running without
    the `--yjit-dump-disasm` option, I checked that there is no significant
    impact to compile time and memory usage with the `compile_time_ns` and
    `yjit_alloc_size` entry in `RubyVM::YJIT.runtime_stats`. For each
    sample, I ran 3 iterations of the `lobsters` YJIT benchmark. The
    statistics summary and done with the `summary` function in R.

    Compile time, sample size of 60, lower is better:

    ```
           Before              After
     Min.   :2.054e+09   Min.   :2.028e+09
     1st Qu.:2.069e+09   1st Qu.:2.044e+09
     Median :2.081e+09   Median :2.060e+09
     Mean   :2.089e+09   Mean   :2.066e+09
     3rd Qu.:2.109e+09   3rd Qu.:2.085e+09
     Max.   :2.146e+09   Max.   :2.144e+09
    ```

    Allocation size, sample size of 20, lower is better:

    ```
           Before             After
     Min.   :21804742   Min.   :21794082
     1st Qu.:21826682   1st Qu.:21816282
     Median :21844042   Median :21826814
     Mean   :21960664   Mean   :22026291
     3rd Qu.:21861228   3rd Qu.:22040439
     Max.   :22587426   Max.   :22930614
    ```

    The `yjit_alloc_size` samples are noisy, but since the average increased
    by only 0.3%, and the median is lower, I feel safe saying that there is
    no significant change.

commit a57b4340d000ce88c5b05516bc6bcd94fb360ab1
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-07-08 06:43:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-09 03:35:29 +0900

    Doc fixes

commit ae6a2d06411762408bdee07e9105f940d76a870b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-09 00:39:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 02:06:26 +0900

    [rubygems/rubygems] Fix wrong version is comment

    This RubyGems feature is being released as 3.5.15, so we can stop
    monkeypatching RubyGems once support for the previous version is
    dropped.

    https://github.com/rubygems/rubygems/commit/36f146840d

commit 39826f384a2a5243530ba99a69b112fb3773b633
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-05 23:20:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-09 02:06:25 +0900

    [rubygems/rubygems] Backport binstub race condition fix to Bundler

    https://github.com/rubygems/rubygems/commit/b07e46820d

commit 0c61e212770092269597882dfe2321a1028ab291
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-08 22:08:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-08 22:08:22 +0900

    Rename rb_gc_impl_verify_internal_consistency to gc_verify_internal_consistency

    It's an internal function so we can drop the rb_gc_impl

commit e148db70ea663dae4e9f5bc42185ba94d2d82ee3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-08 22:06:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-08 22:06:45 +0900

    Make rb_gc_impl_verify_internal_consistency static

    The function is not used outside of this file.

commit 02c4f0c89db3689c5272f00c548ca3008120459b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 20:00:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 20:00:01 +0900

    Reverts related commits with https://github.com/ruby/open-uri/pull/37

    It caused Timeout failure with RJIT and chkbuild

    http://rubyci.s3.amazonaws.com/debian11/ruby-master/log/20240708T063006Z.fail.html.gz
    https://github.com/ruby/ruby/actions/runs/9836594303/job/27152644853

commit 9594db0cf28d7bc10bfc46142239191a11f1dbbe
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-25 21:03:14 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-07-08 19:24:33 +0900

    Implement Hash.new(capacity:)

    [Feature #19236]

    When building a large hash, pre-allocating it with enough
    capacity can save many re-hashes and significantly improve
    performance.

    ```
    /opt/rubies/3.3.0/bin/ruby --disable=gems -rrubygems -I./benchmark/lib ./benchmark/benchmark-driver/exe/benchmark-driver \
                        --executables="compare-ruby::../miniruby-master -I.ext/common --disable-gem" \
                        --executables="built-ruby::./miniruby --disable-gem" \
                        --output=markdown --output-compare -v $(find ./benchmark -maxdepth 1 -name 'hash_new' -o -name '*hash_new*.yml' -o -name '*hash_new*.rb' | sort)
    compare-ruby: ruby 3.4.0dev (2024-03-25T11:48:11Z master f53209f023) +YJIT dev [arm64-darwin23]
    last_commit=[ruby/irb] Cache RDoc::RI::Driver.new (https://github.com/ruby/irb/pull/911)
    built-ruby: ruby 3.4.0dev (2024-03-25T15:29:40Z hash-new-rb 77652b08a2) +YJIT dev [arm64-darwin23]
    warming up...

    |                    |compare-ruby|built-ruby|
    |:-------------------|-----------:|---------:|
    |new                 |      7.614M|    5.976M|
    |                    |       1.27x|         -|
    |new_with_capa_1k    |     13.931k|   15.698k|
    |                    |           -|     1.13x|
    |new_with_capa_100k  |     124.746|   148.283|
    |                    |           -|     1.19x|
    ```

commit bfb8cad771aac8bc048fcd83e244bfe782d182e7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 17:58:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 17:58:46 +0900

    Expand RJIT timeout to 60min

commit a5f4014738fb4adc08930ad009f0f8121d43e672
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 15:38:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 17:05:12 +0900

    Load net-http explicitly for SimpleHTTPProxyServer

commit b903d9f09fa70509ba17828d8a5b9fa65d2c0c6d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 15:18:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 15:18:57 +0900

    [ruby/tempfile] typofix

    https://github.com/ruby/tempfile/commit/82a74b017e

commit 4658d65242f58102084528f628eb4a8d5275b414
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 14:20:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 15:15:46 +0900

    Load socket explicitly for TCPServer

commit 95bf9049a71e4e6fbaea9709df4257e21675d94f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 14:08:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 15:15:46 +0900

    Load OpenSSL on TestOpenURIUtils for with_https

commit e4825a5194af822104ec9fcac00004a2bad30f18
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-03 20:26:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 14:38:31 +0900

    [rubygems/rubygems] Fix another race condition

    We also need to protect prior removal of the binstub, otherwise it can
    happen that:

    * Process A removes prior binstub FOO.
    * Process B removes prior binstub FOO (does nothing actually because Process A already removed it).
    * Process A writes binstub FOO for gem BAR from the beginning of file.
    * Process B writes binstub FOO for gem BAZ from the beginning of file.

    Similarly as before, if binstub FOO for gem BAR is bigger that binstub
    FOO for gem BAZ, garbage bytes will be left around at the end of the
    file, corrupting the binstub.

    The solution is to also protect removal of the previous binstub. To do
    this, we use a file lock on an explicit `.lock` file.

    https://github.com/rubygems/rubygems/commit/d99a80e62d

commit d90a930edea311c0f3fe2a8aade03efb1697c3e0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-03 04:32:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 14:38:30 +0900

    [rubygems/rubygems] Properly protect writing binstubs with a file lock

    There's an issue when multiple processes try to write the same binstub.
    The problem is that our file locking mechanism is incorrect because
    files are truncated _before_ they are locked. So it can happen that:

    * Process A truncates binstub FOO.
    * Process B truncates binstub FOO.
    * Process A writes binstub FOO for gem BAR from the beginning of file.
    * Process B writes binstub FOO for gem BAZ from the beginning of file.

    If binstub FOO for gem BAR is bigger than binstub FOO for gem BAZ, then
    some bytes will be left around at the end of the binstub, making it
    corrupt.

    This was not a problem in our specs until the spec testing binstubs with
    the same name coming from different gems changed from using gems named
    "fake" and "rack" to using gems named "fake" and "myrack". Because of
    the difference in gem name length, the generated binstub for gem
    "myrack" is now longer, causing the above problem if binstub for gem
    myrack is written first.

    The solution is to make sure when using flock to always use modes that
    DON'T truncate the file when opening it. So, we use `r+` if the file
    exists previously (it requires the file to exist previously), otherwise
    we use `a+`.

    https://github.com/rubygems/rubygems/commit/ce8bcba90f

commit da12d6343150a0b4f3f1de02565f3139af8d9a88
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-03 04:45:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 14:38:29 +0900

    [rubygems/rubygems] Scope rescuing `Errno::ENOLCK` to just `File.open`

    https://github.com/rubygems/rubygems/commit/2a9d347d29

commit 7cf7e7e2c0ae7bc2a886e076ad52d16c9ddd24b9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-07-03 04:31:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 14:38:29 +0900

    [rubygems/rubygems] Add missing blank line after method documentation

    https://github.com/rubygems/rubygems/commit/2df7560ade

commit 6db1c53fce7a0f2f80dd78b5020132a09994c47d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-28 22:06:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 14:38:28 +0900

    [rubygems/rubygems] Remove unnecessary FileUtils usage

    All other `chmod` usages in the file use `File.chmod`, so keep it
    consistent.

    https://github.com/rubygems/rubygems/commit/3dc0cf8703

commit dcc8e54234fb7acbbede52bfc9f74ce1e1deb491
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-08 13:39:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:14 +0900

    [ruby/open-uri] Don't use Base64 library

    https://github.com/ruby/open-uri/commit/c8c0452d53

commit bf898057b40d21994cbf86dbd8b3cad412ef8847
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 17:39:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:13 +0900

    [ruby/open-uri] Test with Windows

    https://github.com/ruby/open-uri/commit/2606892a43

commit 71490d23147c0a9e2850634037305cdca0d39292
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 17:30:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:12 +0900

    [ruby/open-uri] Move certificates under the TestOpenURIUtils

    https://github.com/ruby/open-uri/commit/a28c2da5d2

commit 3d78e633121711c9bff9eff1b5b955605f50704f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 17:30:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:12 +0900

    [ruby/open-uri] Load stringio with the correct files

    https://github.com/ruby/open-uri/commit/cb17a907a2

commit 09c52b91b9f288cf75aed854a34d429e628774ca
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 17:25:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:12 +0900

    [ruby/open-uri] Removed needless class definition and variables

    https://github.com/ruby/open-uri/commit/ab0e916997

commit 61e00856c99eadbb1fd31c432a68783ecddbab4a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 17:24:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:11 +0900

    [ruby/open-uri] Don't use URI library

    https://github.com/ruby/open-uri/commit/15989970b6

commit e6b6c2ba9d7726ca7f00051e0cd30cdf9615686a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 16:01:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:11 +0900

    [ruby/open-uri] support CONNECT method for SimpleHTTPProxy

    https://github.com/ruby/open-uri/commit/2e36793bd5

commit b782906400bd0e8f9c8bfe89666bd31870f220e7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 11:10:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:10 +0900

    [ruby/open-uri] Added SimpleHTTPSServer by TCPServer and OpenSSL

    https://github.com/ruby/open-uri/commit/57c80e1576

commit debcf108fab3904f6b39b7ee8612d1aa27c231a3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 17:42:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:10 +0900

    [ruby/open-uri] Added SimpleHTTPProxyServer by TCPServer

    https://github.com/ruby/open-uri/commit/ad47529306

commit a574e290c5a0867e272beceb2cd2be28a678a08c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 17:03:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:10 +0900

    [ruby/open-uri] Extract SimpleHTTPServer and with_http to TestOpenURIUtils module for other tests

    https://github.com/ruby/open-uri/commit/489a1e9006

commit 7a74dcedd3f8227473575fc2d04c6dee700746b3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 13:33:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:09 +0900

    [ruby/open-uri] Added SimpleHTTPSServer by TCPServer

    https://github.com/ruby/open-uri/commit/a2b1ebe465

commit a105bf8169db0a713d46a6addc18ce4cf101355d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 11:28:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:09 +0900

    [ruby/open-uri] Removed needless setup and teardown, tmpdir variables

    https://github.com/ruby/open-uri/commit/b2d7fc4ff3

commit 846c45c2b48464e2e85cd11fa0a91783b1324d46
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 11:02:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:09 +0900

    [ruby/open-uri] Extract FTP tests from test_open-uri.rb

    https://github.com/ruby/open-uri/commit/324111eb41

commit 6fb482d4290a7343d4c8aabc9e86538003365fac
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-04 10:55:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-08 13:53:08 +0900

    [ruby/open-uri] Extract HTTP Proxy tests from test_open-uri.rb

    https://github.com/ruby/open-uri/commit/e9e6bd2779

commit 8ede84aa95af3b196f051fa96c4bb1164f6ffbbb
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-08 09:31:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 10:15:04 +0900

    Move the file location of launchable.rb

commit 5b7892545542c0d451cb1e14a1d85474ac46b537
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-07-06 18:20:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-08 10:15:04 +0900

    Integrate Launchable into make btest

commit dface4427da99561a4578a4b92a8321bc2d6c023
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-07 20:42:35 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-07 21:37:36 +0900

    Also export CC for dtrace's benefit as well

    The CFLAGS might contain flags that only work with the specified CC

commit 8ec67052e67dff62b828820e381a94a3acc73459
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-06 14:00:42 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-07 19:14:44 +0900

    Do not define SHSTK feature for amd64 Context.S

    We do not implement CET shadow-stack switching in amd64 Context.S. If
    you compile Ruby with `-fcf-protection=full` and run it with
    `GLIBC_TUNABLES=glibc.cpu.hwcaps=SHSTK` exported, it will crash with a
    control flow exception.

    Configure the appropriate notes at the end of Context.S

    [Bug #18061]

commit 3381c60836ae499899179f454c6bb1dd3b0891ba
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-06 13:57:57 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-07 19:14:44 +0900

    Ensure CFLAGS are passed to probes.o generation

    The dtrace python script from systemtap on Linux actually looks at the
    CFLAGS environment variable when invoking gcc to make the probes.o file.
    If we don't pass the CFLAGS we're using, this probes.o file can wind up
    without the required annotations indicating that it supports e.g. Intel
    CET.

    Fix this by explicitly exporting our build flags to the environment for
    this script.

    [Bug #18061]

commit b940de83dee1932cef69cd249911aa8fe632df89
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-06 13:51:43 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-07 19:14:44 +0900

    Revert autoconf macros defining RUBY_AARCH64_{BTI|PAC}_ENABLED

    This partially reverts https://github.com/ruby/ruby/pull/10944; now that
    we decided to pass CFLAGS to $(CC) when assembling .S files, we don't
    need these autoconf macros that capture the state of
    __ARM_FEATURE{PAC|BTI}_DEFAULT.

    [Bug #20601]

commit b18701a7ae0a71c339906ef0db4910fb43645b45
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-07-06 13:47:02 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-07-07 19:14:44 +0900

    Remove $(ASFLAGS) from build system and assemble with $(CFLAGS) instead

    We already assemble our assembly files using the $(CC) compiler driver,
    rather than the actual $(AS) assembler. This means that

    * The C preprocessor gets run on the assembly file
    * It's valid to pass gcc-style flags to it, like e.g.
      -mbranch-protection or -fcf-protection
    * If you do so, the relevant preprocessor macros like __CET__ get set
    * If you really wanted to pass assembler flags, you would need to do
      that using -Wa,... anyway

    So I think it makes sense to pass "$(XCFLAGS) $(CFLAGS) $(CPPFLAGS)" to
    gcc/clang/etc when assembling, rather than passing $(ASFLAGS) (since
    the flags are not actually passed to `as`, but `cc`!).

    The side effect of this is that if there are mitigation flags like
    -fcf-protection in $CFLAGS, then the relevant macros like __CET__ will
    be defined when assembling the files.

    [Bug #20601]

commit 087b461c8311886f8a9511930a065ef9fd6b57ce
  Author:     cdfzo <cdfzo@pm.me>
  AuthorDate: 2024-07-07 13:09:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-07 13:09:42 +0900

    [DOC] Fix typo `with` -> `wish`

commit abaa1b913d6ac15ab1cb6c639a9b8b6ac27b05b9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-07 02:54:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-07 02:55:00 +0900

    [ruby/irb] Bump version to v1.14.0
    (https://github.com/ruby/irb/pull/980)

    https://github.com/ruby/irb/commit/6a9e129714

commit 7f1fe5f091db3b05c3970e7b7a7c602922729642
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-07-06 00:15:47 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-06 19:07:32 +0900

    Raise a TypeError for Thread#thread_variable{?,_get} for non-symbol

    Previously, a TypeError was not raised if there were no thread
    variables, because the conversion to symbol was done after that
    check.  Convert to symbol before checking for whether thread
    variables are set to make the behavior consistent.

    Fixes [Bug #20606]

commit e240fc9c3c154349e3b93716db82b06541e07cf8
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-07-06 07:38:46 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-07-06 07:38:46 +0900

    [DOC] yjit.md: Markdown fixes for RDoc

    It now renders properly on both GitHub and with RDoc's darkfish theme.

commit 3fede665ffdbc6091f2e39c0bdc1e12565d160dd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-05 05:18:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-06 03:05:58 +0900

    Update GitHub actions for shared GC

commit e2ceded2c603f5f35df5c0d8757a48a1fa1f0f8f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-05 05:15:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-06 03:05:58 +0900

    Change external GC to use directory at configure

    This commit changes the external GC API to use `--with-shared-gc=DIR` at
    configure time with a directory of the external GC and uses
    `RUBY_GC_LIBRARY` environment variable to load the external GC at
    runtime.

commit 8fd2df529b8c9a172604c5cde478abe54c30b47d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 23:35:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-06 03:05:58 +0900

    Revert "Load external GC using command line argument"

    This reverts commit 8ddb1110c283c5cb59b6582383f36fdbcc43ab19.

commit 32ba86c9be79c6f67caafbf71004e5a508db1a88
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-06 02:25:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-06 02:51:17 +0900

    [ruby/irb] Return only commands when completing help command's
    argument
    (https://github.com/ruby/irb/pull/973)

    The command only takes command names as arguments, so we should only
    return command names as candidates.

    This will help users find a command faster as completion will be
    another useful hint too.

    https://github.com/ruby/irb/commit/7b6557cc24

commit 1afcaa3e4b4338191cdc337ed43bc92637be26b5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-22 00:41:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-05 22:15:32 +0900

    Fix flaky test_stat_heap_all

    We only collect GC.stat_heap(nil, stat_heap_all)
    once, outside of the loop, but assert_equal could
    allocate objects which can cause a GC to run and
    cause stat_heap_all to be out-of-sync.

commit 685a4e5be77ec376f29a180c7ed9fbee23e05bac
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-07-03 11:56:49 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-05 21:20:54 +0900

    VM barrier needs to store GC root

    On the VM barrier waiting, it needs to store machine context
    as a GC root.

    Also it needs to wait for barrier synchronization correctly
    by `while` (for continuous barrier sync by another ractor).

    This is why GC marking misses are occerred on ARM machines.
    like: https://rubyci.s3.amazonaws.com/fedora40-arm/ruby-master/log/20240702T063002Z.fail.html.gz

commit 88a2a46e233fb52107f4ef921813f14243af75d4
  Author:     なつき <i@ntk.me>
  AuthorDate: 2024-07-04 03:19:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-05 18:02:52 +0900

    [rubygems/rubygems] Restrict generic `arm` to only match 32-bit arm

    https://github.com/rubygems/rubygems/commit/14c4c16e96

commit 3b48a5a11cf549ebc30640f092d4e55d78ff82f8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-05 10:46:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-05 12:10:23 +0900

    Use macos-14 instead of macos-arm-oss

    Unfortunately, we can't use macos-arm-oss with enterprise account

commit bbb4da78c7e35e41cc91af0791eb8f51c371d964
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-07-05 04:49:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-05 11:24:53 +0900

    [rubygems/rubygems] Use preferred add_dependency instead of add_runtime_dependency

    https://github.com/rubygems/rubygems/commit/9a08043858

commit c480dec1ccf34b8452438811c5ef0f76cbb2a063
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 22:25:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-04 22:25:50 +0900

    Fix RUBY_FREE_AT_EXIT with ASAN

    When Ruby is built with ASAN and RUBY_FREE_AT_EXIT is enabled, the
    following error occurs:

        READ of size 8 at 0x74c666610020 thread T0
            #0 0x593b6712ecc6 in RB_BUILTIN_TYPE include/ruby/internal/value_type.h:191:30
            #1 0x593b6712ecc6 in rb_gc_impl_shutdown_free_objects gc_impl.c:3208:17
            #2 0x593b6749a62e in ruby_vm_destruct vm.c:3133:17

commit 478ada0e2bb11c5aaac0f8d30cdef12a967c2c03
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 16:47:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:09 +0900

    [rubygems/rubygems] Handle OpenSSL::SSL::SSLError in local https server

    https://github.com/rubygems/rubygems/commit/ccbbe84d77

commit ba4495d75afafaceb3c5a0d3b9d34d972717aa67
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 16:09:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:09 +0900

    [rubygems/rubygems] Align code styles with rubocop and others.

    https://github.com/rubygems/rubygems/commit/c31a1592ee

commit 7e69d74729b37c6bf2365b031821d44a7ab82241
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 16:03:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:08 +0900

    [rubygems/rubygems] Correctly handling fetcher leak

    https://github.com/rubygems/rubygems/commit/c538558522

commit 318af23baa0427926283044fb2301c8e5863a0e4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 15:57:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:08 +0900

    [rubygems/rubygems] Removed needless variable

    https://github.com/rubygems/rubygems/commit/29f71ee6d2

commit 2cd270aecc776071e22c065ae7e77e036eb882c9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 15:56:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:07 +0900

    [rubygems/rubygems] YAML is always enabled

    https://github.com/rubygems/rubygems/commit/c755bcde62

commit 16e1565dec3583aff1a5beefbb7483d597de97b5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 15:52:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:07 +0900

    [rubygems/rubygems] Removed unused gzip code

    https://github.com/rubygems/rubygems/commit/ee45ebb5c3

commit 6a2c799761122b7ac1671a0fb86c1807f49e1bc9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 15:46:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:06 +0900

    [rubygems/rubygems] Rewrite WEBrick server with TCPServer and Proxy

    https://github.com/rubygems/rubygems/commit/3ae4358024

commit 0cb82a810d1e8dc1a3d6c9cead1037ee63b149bc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 13:36:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:06 +0900

    [rubygems/rubygems] Rewrite WEBrick server with TCPServer and OpenSSL::SSL::SSLServer

    https://github.com/rubygems/rubygems/commit/21319eccac

commit b3e53495bb3657f2d587ea6c3d41273885ee1095
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 13:19:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:05 +0900

    [rubygems/rubygems] Cleanup needless code from HTTP/HTTPS tests

    https://github.com/rubygems/rubygems/commit/69bd962b56

commit 7e12b5e2acc87fb670d0525955a2fb18664bdb31
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 12:43:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:05 +0900

    [rubygems/rubygems] Split HTTP tests and HTTPS tests

    https://github.com/rubygems/rubygems/commit/43f98b787b

commit f6aa774a14a4170ade49101e7bcc213338a61a5f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 12:28:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:04 +0900

    [rubygems/rubygems] Extract tests with local HTTP/HTTPS server from TestGemRemoteFetcher

    https://github.com/rubygems/rubygems/commit/52db9fd501

commit 127221d8736047d0ad79b773cfb2a8f607e3d2fd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-03 11:33:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 12:33:04 +0900

    [rubygems/rubygems] Extract tests with S3 resources from TestGemRemoteFetcher

    https://github.com/rubygems/rubygems/commit/d3ee8d2d3b

commit 0fe024d04845d2f8cac84f5009920b39212e964e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-04 10:19:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-04 12:11:12 +0900

    Fix the return value of `Integer#downto` called with a block

    As the document states, it should return `self`, not `nil`.
    Fix up of f4b313f7338f5fbe37f73aae29f70aeb474f7f5b.

commit d9398ac430062891185afe34b37dd293615af941
  Author:     Vít Ondruch <vondruch@redhat.com>
  AuthorDate: 2024-07-04 08:37:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-04 08:37:41 +0900

    Use `__CET__` macro to enable IBT support. (#11081)

    According to the GCC documentation [1], the macro `__CET__` is dfined
    when `-fcf-protection` compiler option is used. Therefore use this macro
    to enable IBT support instead of special casing for `__OpenBSD__`.

    [1]: https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fcf-protection

commit b160a78d6b466fc58e716be1f108edc57f6ec6e5
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-07-04 08:10:57 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-07-04 08:10:57 +0900

    YJIT: Remove done TODO, fix indent

    Type check now done in rb_iseqw_to_iseq().

commit f5dfadf38bf1f712bd5dd768e0d78328cbc556b9
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-07-04 05:00:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-04 05:00:00 +0900

    [DOC] Doc for Integer#floor (#11077)

commit b974c84606535d8f58addc5ab2ceb6d3ea827d15
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-04 03:40:56 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-04 04:32:53 +0900

    Move Array#map to Ruby

    Improves activerecord by about 1% on the interpreter:

    ```
    before: ruby 3.4.0dev (2024-07-03T18:40:10Z master f88841b8f3) [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T18:41:14Z ruby-map 6c0df4eb32) [arm64-darwin23]

    ------------  -----------  ----------  ----------  ----------  -------------  ------------
    bench         before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    activerecord  235.2        0.8         233.6       0.7         1.01           1.01
    ------------  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

    Improves YJIT by about 4%:

    ```
    before: ruby 3.4.0dev (2024-07-03T18:40:10Z master f88841b8f3) +YJIT [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T18:41:14Z ruby-map 6c0df4eb32) +YJIT [arm64-darwin23]

    ------------  -----------  ----------  ----------  ----------  -------------  ------------
    bench         before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    activerecord  142.1        1.2         137.0       0.6         1.00           1.04
    ------------  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

commit 6ac05ddb8abf7c01996dd7ea6a8c90bab2692604
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 03:45:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-04 03:45:01 +0900

    Remove unused gc_raw_obj_info_basic

commit 05f840d641f70e1c3ed8f84fb9088ca8c90d8a41
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 03:44:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-04 03:44:31 +0900

    Remove unused obj_info_basic

commit f88841b8f365a934fb818b4a85e8d07a0dbf0fba
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 03:40:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-04 03:40:10 +0900

    Fix ASAN builds

commit 4c9134d2b2ab3830dd4cca3b9595c97fc7361392
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-04 01:45:29 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-04 03:32:40 +0900

    Move Array#select to Ruby

    This speeds up the mail benchmark by about 7% on the interpreter:

    ```
    before: ruby 3.4.0dev (2024-07-03T17:01:41Z master f4b313f733) [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T17:45:50Z ruby-select de282cacd5) [arm64-darwin23]

    -----  -----------  ----------  ----------  ----------  -------------  ------------
    bench  before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    mail   72.9         0.8         68.2        1.0         1.02           1.07
    -----  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

    YJIT is about 13% faster:

    ```
    before: ruby 3.4.0dev (2024-07-03T17:01:41Z master f4b313f733) +YJIT [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T17:45:50Z ruby-select de282cacd5) +YJIT [arm64-darwin23]

    -----  -----------  ----------  ----------  ----------  -------------  ------------
    bench  before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    mail   51.0         0.8         45.2        0.6         1.00           1.13
    -----  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

commit 7fe5f0a1d0e628e9e330169a5c2dedae0d40dedd
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-04 02:17:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-04 02:17:42 +0900

    [ruby/irb] Introduce cd command
    (https://github.com/ruby/irb/pull/971)

    It's essentially a combination of pushws and popws commands that are
    easier to use.

    Help message:

    ```
    Usage: cd ([target]|..)

    IRB uses a stack of workspaces to keep track of context(s), with `pushws` and `popws` commands to manipulate the stack.
    The `cd` command is an attempt to simplify the operation and will be subject to change.

    When given:
    - an object, cd will use that object as the new context by pushing it onto the workspace stack.
    - "..", cd will leave the current context by popping the top workspace off the stack.
    - no arguments, cd will move to the top workspace on the stack by popping off all workspaces.

    Examples:

      cd Foo
      cd Foo.new
      cd @ivar
      cd ..
      cd
    ```

    https://github.com/ruby/irb/commit/4a0e0e89b7

commit f4b313f7338f5fbe37f73aae29f70aeb474f7f5b
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-03 10:29:23 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-04 02:01:41 +0900

    move Integer#downto to Ruby

    Speeds up ChunkyPNG.

    The interpreter is about 70% faster:

    ```
    before: ruby 3.4.0dev (2024-07-03T15:16:17Z master 786cf9db48) [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T15:32:25Z ruby-downto 0b8b744ce2) [arm64-darwin23]

    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    bench       before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    chunky-png  892.2        0.1         526.3       1.0         1.65           1.70
    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

    YJIT is 2.5x faster:

    ```
    before: ruby 3.4.0dev (2024-07-03T15:16:17Z master 786cf9db48) +YJIT [arm64-darwin23]
    after: ruby 3.4.0dev (2024-07-03T15:32:25Z ruby-downto 0b8b744ce2) +YJIT [arm64-darwin23]

    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    bench       before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    chunky-png  709.4        0.1         278.8       0.3         2.35           2.54
    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.
    ```

commit cbc40aca3ae5f139235724d4c6f9b63d0dd4e962
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-04 00:04:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-04 00:48:12 +0900

    Fix compilation with RGENGC_CHECK_MODE=2

commit 786cf9db488dd83a8c13c88485602c778e5d9564
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-07-03 23:17:34 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-07-04 00:16:17 +0900

    array.c: Remove outdated assertions

    Following [Feature #20589] it can happen that we change the
    capacity of a frozen array, so these assertions no longer make
    sense.

    Normally we don't hit them because `Array#freeze` shrinks the
    array, but if somehow the Array was frozen using `Object#freeze`
    then we may shrink it after it was frozen.

commit 5f20957b85cad4c4bb5bd46559d5ee13b019a970
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-07-03 00:05:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-03 22:03:40 +0900

    Move ruby_load_external_gc_from_argv to gc.h

commit 9d7c9df47194e1c47bf70e90a863cfedd03d3a4a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-04 04:23:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-03 22:03:40 +0900

    [Feature #20470] Add shared GC workflow to compilers

commit 9d3a58f364f24cb1611a5fd8b8429044d494ec09
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-04 01:05:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-03 22:03:40 +0900

    [Feature #20470] Update dependencies

commit ae8ef065809cd96fbfc6855e6c21a3f2d0ca8e71
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-04 01:02:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-03 22:03:40 +0900

    [Feature #20470] Implement support for USE_SHARED_GC

    This commit implements support to load Ruby's current GC as a DSO.

commit 51bd816517941798c63e587a5a9f3caf69cd510e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-04 01:00:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-07-03 22:03:40 +0900

    [Feature #20470] Split GC into gc_impl.c

    This commit splits gc.c into two files:

    - gc.c now only contains code not specific to Ruby GC. This includes
      code to mark objects (which the GC implementation may choose not to
      use) and wrappers for internal APIs that the implementation may need
      to use (e.g. locking the VM).

    - gc_impl.c now contains the implementation of Ruby's GC. This includes
      marking, sweeping, compaction, and statistics. Most importantly,
      gc_impl.c only uses public APIs in Ruby and a limited set of functions
      exposed in gc.c. This allows us to build gc_impl.c independently of
      Ruby and plug Ruby's GC into itself.

commit 9aa62bda46bf7f9de91a95c31fa09dafd23def37
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-03 14:24:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 19:15:26 +0900

    [ruby/shellwords] [DOC] Beautify links and formats

    https://github.com/ruby/shellwords/commit/53e6ef2e71

commit 777fcd18a757e512b32f304829869ae8244ae264
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-03 14:23:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 19:15:23 +0900

    [ruby/shellwords] Satisfy `rdoc -C`

    https://github.com/ruby/shellwords/commit/fa50d40a33

commit 7a4314740709b8e2a4b65ab2af22422b2fb76a05
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-03 14:18:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 19:15:22 +0900

    [ruby/shellwords] Exclude unnecessary files from the packages

    https://github.com/ruby/shellwords/commit/08c87a964e

commit 64fef3b870a8ed8147654531aef4c065d8a730c6
  Author:     Ivo Anjo <ivo.anjo@datadoghq.com>
  AuthorDate: 2024-06-21 19:48:37 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-03 18:08:57 +0900

    Add explicit compiler fence when pushing frames to ensure safe profiling

    **What does this PR do?**

    This PR tweaks the `vm_push_frame` function to add an explicit compiler
    fence (`atomic_signal_fence`) to ensure profilers that use signals
    to interrupt applications (stackprof, vernier, pf2, Datadog profiler)
    can safely sample from the signal handler.

    **Motivation:**

    The `vm_push_frame` was specifically tweaked in
    https://github.com/ruby/ruby/pull/3296 to initialize the a frame
    before updating the `cfp` pointer.

    But since there's nothing stopping the compiler from reordering
    the initialization of a frame (`*cfp =`) with the update of the cfp
    pointer (`ec->cfp = cfp`) we've been hesitant to rely on this on
    the Datadog profiler.

    In practice, after some experimentation + talking to folks, this
    reordering does not seem to happen.

    But since modern compilers have a way for us to exactly tell them
    not to do the reordering (`atomic_signal_fence`), this seems even
    better.

    I've actually extracted `vm_push_frame` into the "Compiler Explorer"
    website, which you can use to see the assembly output of this function
    across many compilers and architectures: https://godbolt.org/z/3oxd1446K

    On that link you can observe two things across many compilers:
    1. The compilers are not reordering the writes
    2. The barrier does not change the generated assembly output
       (== has no cost in practice)

    **Additional Notes:**

    The checks added in `configure.ac` define two new macros:
    * `HAVE_STDATOMIC_H`
    * `HAVE_DECL_ATOMIC_SIGNAL_FENCE`

    Since Ruby generates an arch-specific `config.h` header with
    these macros upon installation, this can be used by profilers
    and other libraries to test if Ruby was compiled with the fence enabled.

    **How to test the change?**

    As I mentioned above, you can check https://godbolt.org/z/3oxd1446K
    to confirm the compiled output of `vm_push_frame` does not change
    in most compilers (at least all that I've checked on that site).

commit 4d4ac00123aa21d3027bcd0aa0242c1bc129837e
  Author:     Grant Gardner <grant@lastweekend.com.au>
  AuthorDate: 2024-06-30 23:25:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 17:54:18 +0900

    [ruby/openssl] Add SSLSocket#readbyte

    Companion to getbyte but raise EOFError
    Similar to https://github.com/ruby/openssl/pull/438

    https://github.com/ruby/openssl/commit/c40f70711a

commit 93b19d56de64fdee790a96ddf96fcd08d889ac93
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-03 09:17:29 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-03 09:59:48 +0900

    Add regression test for mutating pack's format string

    It doesn't look like there was a test added for this bug, so I'm adding
    it.

    Code is from here:

      https://web.archive.org/web/20160908192307/http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/24445

commit d9487dd0112752006cbfb2f760a53851fc1018ab
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-07-03 07:20:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-03 07:20:01 +0900

    Speed up chunkypng benchmark (#11087)

    * Speed up chunkypng benchmark

    Since d037c5196a14c03e72746ccdf0437b5dd4f80a69 we're seeing a slowdown
    in ChunkyPNG benchmarks in YJIT bench. This patch addresses the
    slowdown. Making the thread volatile speeds up the benchmark by 2 or 3%
    on my machine.

    ```
    before: ruby 3.4.0dev (2024-07-02T18:48:43Z master b2b8306b46) [x86_64-linux]
    after: ruby 3.4.0dev (2024-07-02T20:07:44Z speed-chunkypng 418334dba9) [x86_64-linux]

    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    bench       before (ms)  stddev (%)  after (ms)  stddev (%)  after 1st itr  before/after
    chunky-png  1000.2       0.1         980.6       0.1         1.02           1.02
    ----------  -----------  ----------  ----------  ----------  -------------  ------------
    Legend:
    - after 1st itr: ratio of before/after time for the first benchmarking iteration.
    - before/after: ratio of before/after time. Higher is better for after. Above 1 represents a speedup.

    Output:
    ./data/output_015.csv
    ```

    * Update thread.c

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit 3407565d2ff5cc1f67e7efe2f8d31714f4d72970
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-07-03 04:55:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-03 04:55:17 +0900

    YJIT: Use a special breakpoint address if one isn't explicitly supplied in order to support natural line stepping. (#11083)

    Use a special breakpoint address if one isn't explicitly supplied in order to support natural line stepping.

    ARM64 will not increment the program counter (PC) upon hitting a breakpoint instruction. Consequently, stepping through code with a debugger ends up looping back to the breakpoint instruction. LLDB has a special breakpoint address of 0xf000 that will increment the PC and allow the debugger to work as expected. This change makes it possible to debug YJIT generated code on ARM64.

    More details at: https://discourse.llvm.org/t/stepping-over-a-brk-instruction-on-arm64/69766/8

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

commit 2830a6ae3850279d76f96e1c2a0aad1a94ceac8b
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-06-27 09:11:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 04:54:23 +0900

    [rubygems/rubygems] Only allow valid values for --test, --ci, and --linter options

    https://github.com/rubygems/rubygems/commit/d4360c9032

commit cd57c1294de14a7c6210fd111f40f1ce1fac3288
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-27 19:36:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 04:53:54 +0900

    [rubygems/rubygems] Only remove current platform when added right before resolution

    If it has been explicitly added by `bundle lock --add-platform`, we
    don't want to remove it.

    https://github.com/rubygems/rubygems/commit/09cf921dd6

commit c36eb10d8bd2218a944120dffb8920fbb3bf4f5d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-27 19:35:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 04:53:54 +0900

    [rubygems/rubygems] Normalize dummy test server name

    https://github.com/rubygems/rubygems/commit/18b38ca6b4

commit 7fc04276ac53f91d857863998d197102b9987f58
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-14 18:08:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 04:53:53 +0900

    [rubygems/rubygems] Refactor previous fix a bit

    https://github.com/rubygems/rubygems/commit/1c80c6072f

commit d5500e621cde07cd0b30aa0b752f8fd5819adef8
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-06-27 08:38:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-03 04:53:29 +0900

    [rubygems/rubygems] Feature add_dependency more prominently

    https://github.com/rubygems/rubygems/commit/0236cb6191

commit b2b8306b469329ccd7f44dc4b62b7eeb344ed338
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-03 02:54:23 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-03 03:48:43 +0900

    Fix forwarding for optimized send

    Always treat forwarding as a complex call.

commit cc8c4a60b7fbddc04e2e09946a3c70029db35d3d
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-07-03 02:31:15 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-03 03:48:43 +0900

    Calling into a C func shouldn't fast path when forwarding

    When we forward calls to C functions if the callsite is a forwarding
    site it might not always be a splat, so we can't use the fast path.

    Fixes:

    [ruby-core:118418]

commit 4d94d28a4a9b3f5d39144da581e735c82dbc1074
  Author:     Gabriel Lacroix <gabriel.lacroix@shopify.com>
  AuthorDate: 2024-07-03 03:34:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-07-03 03:34:48 +0900

    YJIT: Inline simple ISEQs with unused keyword parameters

    This commit expands inlining for simple ISeqs to accept
    callees that have unused keyword parameters and callers
    that specify unused keywords. The following shows 2 new
    callsites that will be inlined:

    ```ruby
    def let(a, checked: true) = a

    let(1)
    let(1, checked: false)
    ```

    Co-authored-by: Kaan Ozkan <kaan.ozkan@shopify.com>

commit d25b74b32cbce4fcaed503f124fa8e7d721f18bf
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-06-19 03:52:18 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-07-03 02:34:23 +0900

    Resize arrays in `rb_ary_freeze` and use it for freezing arrays

    While working on a separate issue we found that in some cases
    `ary_heap_realloc` was being called on frozen arrays. To fix this, this
    change does the following:

    1) Updates `rb_ary_freeze` to assert the type is an array, return if
    already frozen, and shrink the capacity if it is not embedded, shared
    or a shared root.
    2) Replaces `rb_obj_freeze` with `rb_ary_freeze` when the object is
    always an array.
    3) In `ary_heap_realloc`, ensure the new capa is set with
    `ARY_SET_CAPA`. Previously the change in capa was not set.
    4) Adds an assertion to `ary_heap_realloc` that the array is not frozen.

    Some of this work was originally done in
    https://github.com/ruby/ruby/pull/2640, referencing this issue
    https://bugs.ruby-lang.org/issues/16291. There didn't appear to be any
    objections to this PR, it appears to have simply lost traction.

    The original PR made changes to arrays and strings at the same time,
    this PR only does arrays. Also it was old enough that rather than revive
    that branch I've made a new one. I added Lourens as co-author in addtion
    to Aaron who helped me with this patch.

    The original PR made this change for performance reasons, and while
    that's still true for this PR, the goal of this PR is to avoid
    calling `ary_heap_realloc` on frozen arrays. The capacity should be
    shrunk _before_ the array is frozen, not after.

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
    Co-Authored-By: methodmissing <lourens@methodmissing.com>

commit cee62c6738c42ce774e96e180cf2d46afb8e9cbe
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-07-01 21:38:25 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-07-02 20:33:48 +0900

    Update to ruby/spec@f8987ac

commit d7af8afe1b85b8de04cd77c673b0f6ef3f3627fa
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-07-02 19:14:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-02 19:15:00 +0900

    [ruby/rdoc] Group code object files into the same directory
    (https://github.com/ruby/rdoc/pull/1114)

    It's hard to distinguish code object classes by their file names alone.
    And given that we have 18 such classes, it'd make the codebase a lot
    easier to understand if we grouped them into a single directory.

    Given that these classes are all autoloaded in `lib/rdoc.rb` instead
    of required individually, this change should have minimum impact on
    projects using RDoc as they generally just require `rdoc`, not individual
    files. An example is Rails' `sdoc`:
    https://github.com/rails/sdoc/blob/main/lib/sdoc/rdoc_monkey_patches.rb

    https://github.com/ruby/rdoc/commit/4211292ffe

commit 1ab31eb4294132a0fb3282755843575da87f0918
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-01 12:17:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-02 18:33:39 +0900

    [ruby/fiddle] Pick ruby/ruby changes for
    `test/fiddle/test_function.rb`
    (https://github.com/ruby/fiddle/pull/141)

    https://github.com/ruby/ruby/pull/11048#issuecomment-2185630854

    ---------

    https://github.com/ruby/fiddle/commit/a245f19763

    Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>

commit 4688b92a86fa6f24510f2d4d4b0ad31c569c01ed
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-07-02 12:39:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-07-02 12:39:11 +0900

    [win32] Fallback release date when revision.h is not present

commit 0ac9c6dc10e64c7f8259a06a199625df567ad0e6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-01 23:59:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-02 00:22:40 +0900

    [ruby/prism] Fix up find and array patterns with multiple rests

    https://github.com/ruby/prism/commit/035890a839

commit 8fb2227205c7c5c258bac0c3a721fa6916dd4c1e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-07-01 23:28:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-01 23:42:10 +0900

    [ruby/prism] Properly support parsing regexp in extended mode

    https://github.com/ruby/prism/commit/bedc4585ed

commit 30a8dbc861a03d881b7f058cd1a111c1222b66d6
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-29 03:42:43 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-07-01 12:11:28 +0900

    maximum showing line number on btest failure

    Some tests in btest uses long src for btest and it is harmful to
    check the results. This patch introducing the limitation how many
    lines of code is shown on failure.

commit c46af61bf17d6d97e13634d79dfbae05273eae26
  Author:     Anatoly Busygin <anatolyb94@gmail.com>
  AuthorDate: 2024-06-11 14:44:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-01 11:39:43 +0900

    [ruby/irb]  fix typos in the `Index of Command-Line Options`

    https://github.com/ruby/irb/commit/3512020f1c

commit 15ceb95d781f3966e987fe217c22edcaf6941501
  Author:     Yudai Takada <t.yudai92@gmail.com>
  AuthorDate: 2024-07-01 00:16:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-01 11:08:37 +0900

    [ruby/rdoc] Fix some typos (https://github.com/ruby/rdoc/pull/1129)

    * constist ==> consist

    * Tidyness ==> Tidiness

    * Currentry ==> Currently

    * valus ==> values

    https://github.com/ruby/rdoc/commit/8412705721

commit 01eb5c0f18f3eee44aee59a36399c3d56ba961e3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-07-01 11:07:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-07-01 11:07:49 +0900

    Skip to copy .so/.bundle files generated by rake-compiler

commit de2d9c8e22b59ee9be5491c1abe8ab02bee66e84
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-07-01 02:13:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-07-01 02:13:27 +0900

    [ruby/irb] Allow assigning and using local variable name conflicting
    with command
    (https://github.com/ruby/irb/pull/961)

    https://github.com/ruby/irb/commit/00603d470f

commit c4baf3b3c0953c8df24a87db2059f831f45f19ab
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-30 15:59:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-30 15:59:03 +0900

    Update bundled gems list as of 2024-06-29

commit 9d76a0ab4a582d6fefbc50a7d87a68ce86cf9c56
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-06-29 14:05:05 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-06-30 09:20:38 +0900

    Add RB_GC_GUARD for ast_value

    I think this change fixes the following assertion failure:

    ```
    [BUG] unexpected rb_parser_ary_data_type (2114076960) for script lines
    ```

    It seems that `ast_value` is collected then `rb_parser_build_script_lines_from`
    touches invalid memory address.
    This change prevents `ast_value` from being collected by RB_GC_GUARD.

commit a2c27bae9653a817b4e5f699f421836f8f97410b
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-29 04:23:14 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-30 02:25:59 +0900

    [YJIT] Don't expand kwargs on forwarding

    Similarly to splat arrays, we shouldn't expand splat kwargs.

    [ruby-core:118401]

commit 99306471348ad3a1d41d37332dc78a1ee802d07a
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-06-29 13:49:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-29 23:33:54 +0900

    Doc for Integer#ceil

commit bc91e8ff1db329e194f3d9706d94d5261090901d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-21 07:14:32 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-29 00:01:05 +0900

    YJIT: Move `ocb` parameters into `JITState`

    Many functions take an outlined code block but do nothing more than
    passing it along; only a couple of functions actually make use of it.
    So, in most cases the `ocb` parameter is just boilerplate.

    Most functions that take `ocb` already also take a `JITState` and this
    commit moves `ocb` into `JITState` to remove the visual noise of the
    `ocb` parameter.

commit 01f0dcd336eaba425384e9351e6a1949b351723f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-28 23:38:05 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-28 23:38:26 +0900

    Fix missing macOS version in Slack notifications

    matrix.os is not set for some jobs.

commit 98c923ff4bbeeb4a8f9f63ea2695a38471da42c2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-28 23:12:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-28 23:12:29 +0900

    Synchronize Bundler & RubyGems (#11071)

commit 1652c194c849468659baa566a2422a308d6eac0c
  Author:     Gabriel Lacroix <lacroixgabriel@gmail.com>
  AuthorDate: 2024-06-28 23:11:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-28 23:11:35 +0900

    Fix comment for VM_CALL_ARGS_SIMPLE (#11067)

    * Set VM_CALL_KWARG flag first and reuse it to avoid checking kw_arg twice

    * Fix comment for VM_CALL_ARGS_SIMPLE

    * Make VM_CALL_ARGS_SIMPLE set-site match its comment

commit 5c826ebea585dad8aa351632a9de3162d59fb898
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-26 23:47:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-28 19:49:07 +0900

    [rubygems/rubygems] Protect binstub access during creation with a flock

    https://github.com/rubygems/rubygems/commit/88e3f1d23c

commit 091a6ea8c1005f5bfc24839da3da0e37251b15d1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 19:01:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-28 19:49:06 +0900

    [rubygems/rubygems] Move flock logic to its own method

    https://github.com/rubygems/rubygems/commit/91274128a8

commit f41a2c96c3276c628878fe847881db0efacd40d5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 18:57:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-28 19:49:06 +0900

    [rubygems/rubygems] More compact `open_file` fallback on Windows

    https://github.com/rubygems/rubygems/commit/8f34396af6

commit 5f8375381b685fee753556d69d04020ac5fedbdd
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-02-03 05:15:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-28 16:33:43 +0900

    [rubygems/rubygems] Avoid concurrent builds of Bundler when running specs

    Instead, build it during setup when in CI.

    This should avoid some Windows specific test failures when Bundler
    copies the same files from multiple processes and runs into EACESS
    errors.

    https://github.com/rubygems/rubygems/commit/c194a1d753

commit 176c4bb3c7db87ca5b0486012cb6a005105448c5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-28 03:02:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-28 03:06:40 +0900

    Fix corruption of internal encoding string

    [Bug #20598]

    Just like [Bug #20595], Encoding#name_list and Encoding#aliases can have
    their strings corrupted when Encoding.default_internal is set to nil.

    Co-authored-by: Matthew Valentine-House <matt@eightbitraptor.com>

commit 9c5e9d29f0c9b025577cb72b421b9682bfadcd37
  Author:     HoneyryderChuck <cardoso_tiago@hotmail.com>
  AuthorDate: 2024-04-17 02:07:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-28 01:00:55 +0900

    [ruby/openssl] rewriting most of the asn1 init code in ruby

    to have as much of the lib in ruby as possible

    https://github.com/ruby/openssl/commit/8305051728

commit c6a0d03649c686a537c1f513a1e32205ac6a6512
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-27 05:12:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-27 22:47:22 +0900

    Fix corruption of encoding name string

    [Bug #20595]

    enc_set_default_encoding will free the C string if the encoding is nil,
    but the C string can be used by the encoding name string. This will cause
    the encoding name string to be corrupted.

    Consider the following code:

        Encoding.default_internal = Encoding::ASCII_8BIT
        names = Encoding.default_internal.names
        p names
        Encoding.default_internal = nil
        p names

    It outputs:

        ["ASCII-8BIT", "BINARY", "internal"]
        ["ASCII-8BIT", "BINARY", "\x00\x00\x00\x00\x00\x00\x00\x00"]

    Co-authored-by: Matthew Valentine-House <matt@eightbitraptor.com>

commit 815b345b4169f4762510479df6cf73c91362cdeb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-25 21:34:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-27 21:53:05 +0900

    [rubygems/rubygems] Print a proper error when bin dir does not have writable permission bit

    https://github.com/rubygems/rubygems/commit/979cd898f9

commit f88bb0e67db4b63e3b0f5d2d4cfe81276ef55e91
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-27 20:17:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-27 21:53:04 +0900

    [rubygems/rubygems] Reword some specs to disambiguate `chmod -x` from `chmod -w`

    https://github.com/rubygems/rubygems/commit/2954ab79a9

commit d29a76b90bae06cbad72bf9d14ff5581206e6f74
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-25 21:24:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-27 21:53:04 +0900

    [rubygems/rubygems] Only override `pre_install_checks` when necessary

    RubyGems >= 3.5 no longer raises `Gem::FilePermissionError` explicitly.

    https://github.com/rubygems/rubygems/commit/df54b9fd90

commit 0c7776a22656c45c8df59ab6faa4a62ba7dfe42c
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-06-27 11:44:57 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-06-27 11:44:57 +0900

    [DOC] Fix a link in NEWS.md

commit ce7299d09a8dc629fa1010dc3bbb60b5057061e6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-27 04:48:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-27 05:46:27 +0900

    [ruby/prism] Handle block exits under modifiers

    https://github.com/ruby/prism/commit/6b78f5309b

commit 4cbc41d5e5cb6793174d5964975fdb4470323ca1
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-22 02:14:08 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-27 05:01:26 +0900

    [YJIT] Fix block and splat handling when forwarding

    This commit fixes splat and block handling when calling in to a
    forwarding iseq.  In the case of a splat we need to avoid expanding the
    array to the stack.  We need to also ensure the CI write is flushed to
    the SP, otherwise it's possible for a block handler to clobber the CI

    [ruby-core:118360]

commit 43d7db3828bb4d55184d8965c00ba3157b2c834f
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-06-27 02:31:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-27 02:31:40 +0900

    [DOC] Doc for exceptions (#11008)

commit 403413e1f1d88a1af94ad9a288bfd7c28ef7257d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-26 23:43:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-27 01:11:44 +0900

    [rubygems/rubygems] Don't print warning about nil versions being discouraged during tests

    https://github.com/rubygems/rubygems/commit/39a47c264e

commit aa2a88ce90e8d93cd4f22d38c1589a470fad6f4f
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-06-26 22:39:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-26 22:39:18 +0900

    Use `File.open` instead of `IO.sysopen` (backport to 3.5) (#11061)

    Use backport to 3.5

commit c6c817df28658bf1e8913373cbf1df0cf2c29f0d
  Author:     Jerome Dalbert <jerome.dalbert@gmail.com>
  AuthorDate: 2024-06-20 03:43:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-26 20:24:47 +0900

    [rubygems/rubygems] Add --no-test, --no-ci, and --no-linter options

    https://github.com/rubygems/rubygems/commit/f58660ffcc

commit 04c86a63cd749e221980a705e684c9d3cfb59d92
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-26 19:01:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-26 19:01:21 +0900

    [ruby/date] Update zonetab.h at 2024-06-26

    https://github.com/ruby/date/commit/ef5a0dac5b

commit b4503d796453499da52e2426b28eaaca094eed8a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-26 14:44:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-26 14:45:24 +0900

    Mentioned new mswin tasks related with vcpkg

commit 514aa80563f1d52a3bb34f7f65ee3b4206c04012
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-26 14:37:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-26 14:45:24 +0900

    Added git for requirements of Windows build

commit f63b54caa02c874d1c30fd4d418237dbae78e7a9
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-26 13:55:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-26 13:55:26 +0900

    Update bundled gems list as of 2024-06-26

commit da01974e7e9ae7d2372b23f1374c1146bb58186b
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-06-26 13:42:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-26 13:42:26 +0900

    Test rbs-gem with unreleased version (#11060)

    Use rbs#1912

commit d70057d4b5a1332d99bcdffb41e7333ac3ff26c0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-26 10:02:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-26 12:31:02 +0900

    We couldn't use nmake before configure.bat

commit 797e1dfb83f949006b8b2007c4d65444394c2136
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-26 09:46:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-26 12:31:02 +0900

    Link dll files on install-vcpkg tasks

commit 4fb7e1b6d0160322b3cbcdd67c544f2e9ff56bed
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-06-25 11:38:06 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-06-26 07:48:43 +0900

    Change `enum rb_parser_ary_data_type` default value to 1 for easy debug

    We face `[BUG] unexpected rb_parser_ary_data_type (0) for script lines`
    on master branch recently.
    This commit changes `enum rb_parser_ary_data_type` to start with `1`
    and `0` to be invalid then it makes clear `rb_parser_ary_data_type (0)`
    is not intentional.

commit a47c152ab50900a9164d67612ad2b321a2668c3a
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-06-25 22:14:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-26 05:15:25 +0900

    [ruby/prism] Fix documentation comment in generated with templates files

    Fix warning
    ```
    /******************************************************************************/
    ^
    warning: [dangling-doc-comments] documentation comment is not attached to any declaration

    ```
    in Nodes.java and AbstractNodeVisitor.java files. /** is treated as a starting of a javadoc comment.

    https://github.com/ruby/prism/commit/c83d7844b8

commit b88ac94eec96c05ae230e37ca4c59ac236340082
  Author:     Thomas Marshall <thomas@thomasmarshall.com>
  AuthorDate: 2024-06-01 04:45:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 23:32:20 +0900

    [rubygems/rubygems] Only validate resolution info in Bundler

    This commit switches out the full gemspec validation for a partial one
    which only performs resolution related checks. This will allow gem
    authors to run `bundle` commands immediately after creating a new gem
    with Bundler, rather than having to fix metadata validation issues in
    the default gemspec.

    https://github.com/rubygems/rubygems/commit/d5aa9cae9d

commit 39951293b492b3b392ccb7a168fe723b03257ac3
  Author:     Thomas Marshall <thomas@thomasmarshall.com>
  AuthorDate: 2024-06-01 04:24:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 23:32:19 +0900

    [rubygems/rubygems] Add Specification#validate_for_resolution

    This method validates only what is required for resolution, skipping any
    irrelevant metadata validation. This will be used by Bundler instead of
    doing a full validation, allowing gem authors to use `bundle` commands
    immediately in newly created gems without first having to fix invalid
    metafata fields in the default gemspec.

    https://github.com/rubygems/rubygems/commit/da7704cfc0

commit 9f420e2ba582a32a1f6f436c0407c344b6d92d4b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-25 19:55:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-25 22:33:39 +0900

    [PRISM] Modules should also emit the CLASS event

commit bfb4272d8a69fd4585c599e4189f8fd8d33f1e67
  Author:     Josef Šimánek <josef.simanek@gmail.com>
  AuthorDate: 2024-06-22 04:11:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 21:55:56 +0900

    [rubygems/rubygems] Regenerate bundler docs for June 2024.

    https://github.com/rubygems/rubygems/commit/72103ca1e8

commit 65b991bc8571b7b718fc22bd33a43c4d269bf52d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-25 15:45:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 16:30:14 +0900

    Allow ambiguosity of `return` line

commit 2f76faaf515bd82256fbc79ab406d695141f722b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-25 12:48:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-25 16:14:45 +0900

    Added tasks related vcpkg

commit 501b22aade39cb1496e04cda194be0a41845f53a
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-25 15:59:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 15:59:43 +0900

    Update bundled gems list as of 2024-06-25

commit 3b4ff810d2fefdf0194bd774bc04f6f17e2ccae7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-25 12:42:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 12:42:16 +0900

    Move to test/.excludes-prism

commit a7f33c99c69e3cc62b7a24ce35f51f76cc5bfaa2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-25 12:37:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 12:37:50 +0900

    Pending `EVENT_RETURN` settracefunc tests with Prism

commit bed34b3a52afde6d98fcef19e199d0af293577be
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-25 11:50:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 11:50:03 +0900

    Show the detail info in the first line

commit 250fc1223c4dc293f8759ddedce9cba7841f1474
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-26 16:52:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 11:07:58 +0900

    [Bug #20457] Do not remove final `return` node

    This was an optimization for versions prior to 1.9 that traverse the
    AST at runtime.

commit 22f98bb7ca485d4e3830b8256c56deb9b92378f6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-26 16:10:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-25 11:07:58 +0900

    Parenthesize `nd_fl_newline` macro expressions

commit 691d85d3429891f659e9ebfab6286fa65615be03
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-25 09:55:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 09:55:07 +0900

    [ruby/reline] Rerender and enter raw mode again by SIGCONT
    (https://github.com/ruby/reline/pull/727)

    https://github.com/ruby/reline/commit/be45660c83

commit ae0c7faa79029ebe615487d23c8ee1ca44ce4a36
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-25 03:32:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-25 03:32:58 +0900

    Handle hash and splat nodes in defined?

    This supports the nodes in both in the parse.y and prism compilers.

    Fixes [Bug #20043]

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit e428ee7bbe07fd12f65e45be0839e7f0b1e4cda6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-24 22:11:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:38:11 +0900

    [ruby/io-console] Use locale insensitive casecmp

    https://github.com/ruby/io-console/commit/4b2e876dd7

commit f4f8aa0f890fd4642356741de21b0e3914c2c79b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-21 18:21:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:38:10 +0900

    [ruby/io-console] Use `strcasecmp`

    https://github.com/ruby/io-console/commit/f8ec8a0617

commit 25c2aa0a1c55b5a90e29fc9d4f64166ddb498f51
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-21 16:00:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:38:10 +0900

    [ruby/io-console] Use gperf 3.1 to generate ANSI-C code

    https://github.com/ruby/io-console/commit/3798aae42d

commit 865a2027a17fdc09cd228e06bb6e5f8b2a48268d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-24 22:11:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:36:56 +0900

    [ruby/date] Use locale insensitive casecmp

    https://github.com/ruby/date/commit/cfbd6a6b13

commit 7aafd3ed0e26c292834a628bf6d1335706f90a50
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-21 18:21:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:36:56 +0900

    [ruby/date] Use `strncasecmp`

    https://github.com/ruby/date/commit/5974ac9c7e

commit 12e66f11e526ba89103ca0b10a80b9b61a16af3e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-21 16:00:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-25 00:36:55 +0900

    [ruby/date] Use gperf 3.1 to generate ANSI-C code

    https://github.com/ruby/date/commit/5d67437b1f

commit 1213623e5c11d63793e6966752904cc265012b25
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-21 16:00:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-24 23:43:45 +0900

    Use gperf 3.1 to generate ANSI-C code

commit 95ffcd3f9ff20c3e9b0556672758cf8724542b0c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-24 18:57:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-24 19:43:39 +0900

    Fix `--debug-frozen-string-literal` to not apply `--disable-frozen-string-literal`

    [Feature #20205]

    This was an undesired side effect. Now that this value is a triplet, we can't
    assume it's disabled by default.

commit 9cfc1362aa6f42f2c654ee155b1cffb9063879f6
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-24 18:14:05 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-24 18:14:34 +0900

    Extend the timeout of test_try_ldflag_invalid_opt and test_try_cppflag_invalid_opt

commit 65d3eacc80bbefb29e5cd0f3f9661d886f2e4cee
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-24 16:30:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-24 17:38:01 +0900

    No longer needs `sigsetjmp`

    Since signal handlers just set flag and return now, `sigsetjmp` and
    `siglongjmp` will not be needed.

commit 92f2cf1bf9430514a182f6e7bb8c2090b8285cbd
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-24 15:59:38 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-24 16:50:09 +0900

    With ASAN `EC_REPUSH_TAG` doesn't work

    With ASAN, `EC_TMPPOP_TAG`/`EC_REPUSH_TAG` doesn't work
    so rewrite it without them. They are used for the performance,
    but here calling stacked `END{}` and not so performance critical.

commit afd42e4db7efc6d00fde2c85fe6e095db3d8e2fb
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-06-24 12:25:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 13:25:30 +0900

    Use $GITHUB_PATH

commit a22448df9d4232172f88ac765a9dee756496d406
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-06-22 22:02:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 13:25:30 +0900

    Integrate Launchable into mingw

commit 96b45e61ca4ae99b9a52561db37d3cec229f1695
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-24 12:28:03 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-24 13:18:21 +0900

    Introduce retry to the setup of test files with TestFile#test_stat

    GitHub Actions macos-arm-oss is often too slow and does not timestamp as
    expected.

commit ace17ba3cd603de017bb894509bb2e60af1d1b9f
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-24 12:27:29 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-24 13:11:45 +0900

    Extend the timeout of Fiddle::TestFunction#test_nogvl_poll

commit 3a323c6b12dbe6b450b6c9bac14de0eb06773a44
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-24 11:54:10 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-24 11:54:10 +0900

    Extend the timeout of TestVMDump#test_darwin_invalid_call, etc.

commit 2b5ddcee56da4a1d35f47562d2d99dc6d716df57
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-24 10:01:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 10:48:15 +0900

    Removed obsoleted workaround for OpenSSL

commit f58fef62dcfe5b0fa2140fb7a6deee4900e7a323
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-24 09:20:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 10:48:15 +0900

    Use expanded path for --with-opt-dir

commit 5f5da2e8397e7183533c7b4513982c8f95f7369c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-24 08:38:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 10:48:15 +0900

    Use manifest mode of vcpkg

commit 18404af9ec0b797be37450ae93e7f46a1ab2ec08
  Author:     MSP-Greg <Greg.mpls@gmail.com>
  AuthorDate: 2024-06-22 07:25:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-24 09:03:55 +0900

    .github/actions/setup/macos/action.yml - use brew openssl@3, not 1.1

commit acce96647d4cdb8669de1f57ce0b0ba213870b53
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-23 15:59:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-23 15:59:37 +0900

    Update bundled gems list as of 2024-06-22

commit d8c6e91748871ab2287d7703347847fe18a292d2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-23 09:42:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-23 09:42:25 +0900

    Fix dangling `else`

commit fba8aff7af450e476e97b62385427dfa51850955
  Author:     Dmitry Davydov <haudvd@gmail.com>
  AuthorDate: 2024-06-22 04:16:04 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-22 22:05:31 +0900

    [Bug #20592] Fix segfault when sending NULL to freeaddrinfo

    On alpine freeaddrinfo does not accept NULL pointer

commit d122a68863f4438c4db594cf67a12348c151aae9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-22 18:48:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-22 18:48:14 +0900

    Exported symbols in DLL on Windows are managed by win32/mkexports.rb

commit 73b7eebf07a5045a47bff72a7fc70e5e6aee7b94
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-06-22 14:04:49 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-06-22 15:12:00 +0900

    build: fix crossruby build by handling empty `ac_abs_builddir`

    `ac_abs_builddir` can be empty when the build is top-level (not
    subdirs, and Ruby is usually the case). In such case, the MINIRUBY is
    expanded to `$RUBY -I -r'$(arch)-fake'`, which interprets `-r$(arch)-fake`
    as an argument to `-I` option. This led to:
    - Not loading the fake config file
    - Then not setting `CROSS_COMPILING` constant during extmk.rb execution
    - Then misusing cross-compiled `./miniruby` instead of baseruby to generate
      files used in exts.

    This commit fixes the issue by handling the empty `ac_abs_builddir` case
    properly.

commit cab0d03037d8bc2fce19d1ba2d709f1436890f01
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-22 10:58:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-22 10:58:32 +0900

    Get rid of nesting backquotes

    Also executing variable containing an option may not be portable.
    Follow up of dd378c5a2483002d50053cf81d00004c1fb3c8bd.

commit dd378c5a2483002d50053cf81d00004c1fb3c8bd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-22 02:16:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-22 02:16:16 +0900

    Expand --with-opt-dir arguments

commit 90763e04ba2200f96a485d2ef3bb56817ae1b2db
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-21 02:25:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-22 00:49:01 +0900

    Load external GC using command line argument

    This commit changes the external GC to be loaded with the `--gc-library`
    command line argument instead of the RUBY_GC_LIBRARY_PATH environment
    variable because @nobu pointed out that loading binaries using environment
    variables can pose a security risk.

commit bd583ca645ea348a2894f4227fcb1af650ee8dec
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-21 21:45:27 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-21 22:36:42 +0900

    retry on cancelling of `getaddrinfo`

    When the registerred unblock function is called, it should retry
    the cancelled blocking function if possible after checkints.

    For example, `SIGCHLD` can cancel this method, but it should not
    raise any exception if there is no trap handlers.

    The following is repro-code:

    ```ruby
    require 'socket'
    PN = 10_000

    1000000.times{
      p _1
      PN.times{
        fork{
          sleep rand(0.3)
        }
      }
      i = 0
      while i<PN
        cpid = Process.wait -1, Process::WNOHANG
        if cpid
          # p [i, cpid]
          i += 1
        end

        begin
          TCPServer.new(nil, 0).close
        rescue
          p $!
          exit!
        end
      end
    }
    ```

commit 9a22d4b9a0bbde05969a74835fb5be9dc95ff35f
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-21 12:32:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-21 21:32:04 +0900

    [ruby/prism] Update `#line` that was missed to update

    Follow up https://github.com/ruby/prism/commit/1a2626be275d

    https://github.com/ruby/prism/commit/8174aac929

commit bf061ce6fea774f9d400d7cc06386c7bccb927d5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-21 14:42:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-21 18:25:03 +0900

    Use the official way for binary cache with vcpkg

    https://learn.microsoft.com/en-us/vcpkg/consume/binary-caching-github-actions-cache

commit ac9e84df3d0b06e62498aafbca99e8f8475ec142
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-21 12:38:18 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-21 14:48:44 +0900

    Support LCOV 2.0

    LCOV 2.0, a GCOV frontend, seems to have stricter error checking

commit 47364c147ddaf47e73e169124a782dc56b11eeb6
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-20 12:09:38 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-21 13:57:07 +0900

    Apply EnvUtil.apply_timeout_scale for TestFile#test_stat

    ... to respect RUBY_TEST_TIMEOUT_SCALE. This test somehow fails
    frequently on macos-arm-oss with --repeat-count=2

    https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-paths/file%3Dtest%2Fruby%2Ftest_file.rb%23%23%23class%3DTestFile%23%23%23testcase%3Dtest_stat?organizationId=ruby&workspaceId=ruby&testPathId=file%3Dtest%2Fruby%2Ftest_file.rb%23%23%23class%3DTestFile%23%23%23testcase%3Dtest_stat&testSessionStatus=flake

commit 185a6c991e0f9000f66a59981ce666d611143d15
  Author:     ccmywish <ccmywish@qq.com>
  AuthorDate: 2024-06-21 01:06:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-21 11:27:47 +0900

    [rubygems/rubygems] Update contents of gem.bat on Windows

    (https://github.com/rubygems/rubygems/pull/6483)

    https://github.com/rubygems/rubygems/commit/41d8cffd2e

    Co-Authored-By: MSP-Greg <Greg.mpls@gmail.com>

commit 249a1fb0eb26a79370c7a0b3833b2e25f92866a9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 14:21:48 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-21 09:25:00 +0900

    Show more in `RBIMPL_ASSERT_TYPE`

commit b834c62efdb730e1b0ac7134cfa933bc10c59a80
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 12:34:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-21 09:24:59 +0900

    Delegate from `RBIMPL_ASSERT_OR_ASSUME` to `RUBY_ASSERT_ALWAYS`

    Get rid of expansion of the argument which often contains complicated
    macros, and simplify the failure message.

commit b182f2a04520a0138992b27f9e6bfd15bdfd6f96
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-20 23:56:03 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-21 00:43:48 +0900

    fix sendfwd with `send` and `method_missing`

    combination with `send` method (optimized) or `method_missing`
    and forwarding send (`...`) needs to respect given
    `rb_forwarding_call_data`. Otherwize it causes critical error
    such as SEGV.

commit f5fd87b695a0e3b696651503d4eceaa17876fab2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-21 00:34:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-21 00:34:52 +0900

    Make ruby_external_gc_init static

    This function is not used outside of gc.c.

commit a47a176768c637b7d5158a31a5902b2e680fa47f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-20 04:23:12 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-06-20 23:54:02 +0900

    Skip 3 specs when $HOME is not a valid directory

    If $HOME isn't a valid directory, these specs fail, but I think it
    is better to skip in this case, as it does not indicate a bug.

    This fixes specs when run in the OpenBSD port, which sets $HOME
    to an invalid directory to ensure that software's build system
    is not accidentally relying on it.

commit 9bd5995b40deedad351089b898b2dafe9de70b6e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-20 21:39:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-20 22:24:19 +0900

    [PRISM] Remove duplicated tests

    These tests are flaky and are duplicative of other tests that are
    run in CI when parser=prism.

commit c3b5b98e15e9a893aaca46e53d2c8931bf13e322
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-20 12:15:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 21:36:18 +0900

    [ruby/prism] Set `#line" directives to respect the path in ruby/ruby repo

    ruby/ruby measures test coverage of C code, but the `#line` directive
    generated by prism points to a file that does not exist, so coverage is
    not taken properly.

    This changeset specifies the location of the source files as a relative
    path in terms of ruby/ruby repo.

    https://github.com/ruby/prism/commit/1a2626be27

commit 0a9f1ecc376547b096a9811eecf4b13ea870d78c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-20 17:15:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 18:26:33 +0900

    [rubygems/rubygems] Add a regression test for previous `bundler update --bundler` fix

    https://github.com/rubygems/rubygems/commit/c392593dc3

commit b558fc0e36d116825befd400cb8bb9b606a5dc0a
  Author:     nick evans <nick@rubinick.dev>
  AuthorDate: 2024-05-22 02:17:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 17:34:31 +0900

    [ruby/securerandom] Update UUID documentation with RFC9562 links

    RFC9562 was released almost two weeks ago, so we can replace the "draft"
    UUIDv7 URL with the final RFC URL too.  RFC9562 obsoletes RFC4122, so I
    replaced its link as well.

    https://github.com/ruby/securerandom/commit/1e41c3d2cb

commit 92ab2dac22a3f7231ab5b0e9a6994894e7f40f93
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-20 11:33:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 16:16:56 +0900

    [rubygems/rubygems] Check if failed with the expected error

    https://github.com/rubygems/rubygems/commit/3f22e9df8d

commit e345970707fd0541e79ee093a613c8439718c852
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 20:51:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 16:16:55 +0900

    [rubygems/rubygems] Revert "Workaround for TruffleRuby that set `nil` to LIBRUBY_RELATIVE"

    This reverts commit https://github.com/rubygems/rubygems/commit/06fd39997348, for a
    bug that is fixed by https://github.com/rubygems/rubygems/commit/0148cce153a5.

    https://github.com/rubygems/rubygems/commit/907e51e521

commit f7acfeb4ce9ad5235cd6e3d5a709c0dd0096b863
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-18 20:49:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 16:15:06 +0900

    [rubygems/rubygems] Fix credentials being readded when re-resolving without a full unlock

    https://github.com/rubygems/rubygems/commit/a8670e43f8

commit bf6b8dd6a82b673e89c8931c6c99e64395bbaab2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-19 00:36:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 16:14:47 +0900

    [rubygems/rubygems] Fix `bundle update <gem_name>` edge case

    When locked only to RUBY, and some locked spec does not meet locked
    dependencies, Bundler would remove the only locked platform and end up
    creating a lockfile with empty sections.

    We can't rely on our criteria to remove invalid platforms if locked
    specs are not valid in the first place.

    https://github.com/rubygems/rubygems/commit/1dba05cf53

commit f445d54f9158dfff814f0954fbba57093d3abb6a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-11 18:40:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:22:52 +0900

    [rubygems/rubygems] Move constant to the proper place

    https://github.com/rubygems/rubygems/commit/9f08241d01

commit ae7d60945602f6dc3a7e99aa8f094d000aa9bede
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-07 23:47:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:22:20 +0900

    [rubygems/rubygems] Don't expire git specs unnecessarily when remote! or cached! are used

    https://github.com/rubygems/rubygems/commit/04b26731cb

commit 0610302a8fc2e2cab401e0afde36dcaffd841cd7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-07 18:32:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:22:13 +0900

    [rubygems/rubygems] Don't validate local gemspec twice

    Calling `remote!` or `cached!` on the source was expiring local specs
    for now reason. It's unnecessary to override these methods for path
    sources since they only deal with local specifications.

    https://github.com/rubygems/rubygems/commit/aa93b196a2

commit 758e01d39da4b84a9950ad1301af98010e27fbee
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-14 18:08:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:21:08 +0900

    [rubygems/rubygems] Make sure to not re-resolve when a not fully specific local platform is locked

    https://github.com/rubygems/rubygems/commit/36a02c6128

commit c6a28b02c9892ae570e6da1b068470c8c93b9d16
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-08 03:19:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:20:57 +0900

    [rubygems/rubygems] Always resolve against the local platform

    If RUBY is the only platform in the lockfile, we were skipping adding
    the local platform to the list of resolution platforms. This generally
    works anyways, because we had some code to still add it if the RUBY
    platform is not valid for the set of locked gems.

    However, sometimes it can happen that "RUBY" is valid for the current
    set of locked gems, but when adding a new dependency, it becomes
    invalid. For example, when adding sorbet to a Gemfile, that will
    introduce `sorbet-static` as an indirect dependency which does not have
    a generic "RUBY" variant. This will cause resolution to take a long time
    continuously backtracking trying to find solutions that don't introduce
    `sorbet-static` as a dependency and will eventually fail.

    Instead, we can always add the local platform to the set of resolution
    platforms before resolving, and remove it as necessary after resolution
    so that we lock the correct set of platforms.

    https://github.com/rubygems/rubygems/commit/6ed1fe6050

commit 9e713f0e8c4d79cb7ebab4a74aa89491a8dec72b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-11 19:01:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:20:47 +0900

    [rubygems/rubygems] Remove no longer needed condition

    The `force-ruby-platform` settings is properly respected when
    materializing since https://github.com/rubygems/rubygems/commit/e17d7e9efb91.

    https://github.com/rubygems/rubygems/commit/c4ba54eb96

commit af304ad9529b26d95507071ac1711440b7e4191f
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-06-12 04:34:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:18:56 +0900

    [rubygems/rubygems] Revert to splitting parser due to performance regression

    * The string search parser was more memory efficient but
      in some cases, much slower. Reverting until a better
      solution is found.
    * Handle the situation where the line might be blank (Artifactory bug)

    https://github.com/rubygems/rubygems/commit/222d38737d

commit 0e1182f93c29b6bfd43568c80c244c961059942d
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-12 08:45:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:16:57 +0900

    [ruby/fiddle] Remove Vim commands
    (https://github.com/ruby/fiddle/pull/140)

    Some of these commands just don't work (for example `sws` is not a Vim
    setting). I think we should just remove these.

    https://github.com/ruby/fiddle/commit/c3dbf7ba9a

commit c2fd3dfb983158488b56abec1e9802dfcc4aa095
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 19:01:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-20 15:16:48 +0900

    [ruby/date] Update zonetab.h at 2024-06-19

    https://github.com/ruby/date/commit/8e5efd4f59

commit fbe56b1c1760d17207056f95b20c873d841e9d6b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-20 12:04:59 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-20 12:52:09 +0900

    Set RUBY_TEST_TIMEOUT_SCALE=3 for --repeat-count=2 test

    With --repeat-count=2, timing-related test seems to fail frequently.
    I'm not sure of the cause, but I want to reduce the errors by setting
    RUBY_TEST_TIMEOUT_SCALE.

commit 84c9f2a240a623c4bb1a19fd6c63f9fd3c7e4315
  Author:     Yuri Kanivetsky <yuri.kanivetsky@gmail.com>
  AuthorDate: 2024-06-20 00:58:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-20 09:12:31 +0900

    [rubygems/rubygems] Make "bundler? update --bundler" behave identically

    https://github.com/rubygems/rubygems/commit/30dce3f87d

commit 83f57ca3d225ce06abbc5eef6aec37de4fa36d58
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-19 21:04:30 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-19 22:11:07 +0900

    String.new(capacity:) don't substract termlen

    [Bug #20585]

    This was changed in 36a06efdd9f0604093dccbaf96d4e2cb17874dc8 because
    `String.new(1024)` would end up allocating `1025` bytes, but the problem
    with this change is that the caller may be trying to right size a String.

    So instead, we should just better document the behavior of `capacity:`.

commit 321ed86e93a34833bd869c6bc3f52d84b8ecce35
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 19:31:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 20:42:35 +0900

    [rubygems/rubygems] Do not set previously unset value

    https://github.com/rubygems/rubygems/commit/0148cce153

commit 57e15074fe90e78afc9eadd8287f777d83a8ce6d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 19:21:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 20:42:35 +0900

    [rubygems/rubygems] Workaround for TruffleRuby that set `nil` to LIBRUBY_RELATIVE

    https://github.com/rubygems/rubygems/commit/06fd399973

commit 378e65af9a0d707436f20a5a514f5ea503f89ee8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-19 18:19:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 20:42:34 +0900

    [rubygems/rubygems] Dump `RbConfig` elements to escape special characters

    Naively embed strings do not work if special characters (newline,
    backslahes and so on) are contained.

    https://github.com/rubygems/rubygems/commit/ac2c4c4af1

commit 2ccd5f8cef40d9f8e4ef7852b65af44fbc67d65e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-19 15:56:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 19:56:58 +0900

    [rubygems/rubygems] Use get_byte_ranges instead of byte_ranges

    https://github.com/rubygems/rubygems/commit/5c2ad44c18

commit 662fbaaacdd0bd09e3dcda9ece018acbc94e2676
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-19 15:59:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 15:59:21 +0900

    Update bundled gems list as of 2024-06-19

commit ed2f8ea62ebe77bbb8408cb27b416c4a7f1023cc
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-18 22:51:24 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-19 13:42:40 +0900

    [DOC] IO#close on closed IO is not an error.

commit dfb67a44338e5c17d53be3f65e1fb5ccb33367d0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-12 22:54:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-19 10:18:39 +0900

    [ruby/prism] (parser) Print when token tests are now passing

    https://github.com/ruby/prism/commit/9e4fb665ee

commit 24f48382bc3ab62ca0979f1a6879f0d82134abfe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-12 22:44:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-19 10:18:39 +0900

    [ruby/prism] (parser) Fix up tokens for empty symbol

    https://github.com/ruby/prism/commit/5985ab7687

commit c93b70cfdde962c24d99253ecf1e2c256d695f67
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-19 09:05:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 09:06:01 +0900

    [ruby/prism] Make sure Init_prism is visible for extension

    https://github.com/ruby/prism/commit/4601d3adfd

commit eb215c8dc659f810abc4d112c000a5778fbbe423
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-18 23:07:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-19 03:21:37 +0900

    Fix flaky TestWeakMap#test_inspect_garbage

    If a GC is ran before the assert_match, then the WeakMap would be empty
    and would not have any objects, so the regular expression match would
    fail. This changes the regular expression to work even if the WeakMap
    is empty.

commit b8a592fe6e2d1b537b229625cd3d439a7d5a6eb5
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-06-19 01:38:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 02:53:59 +0900

    [rubygems/rubygems] Fix `bundle fund` when the gemfile contains optional groups

    `current_dependencies` doesn't return gems in optional groups, while `specs` would

    Closes https://github.com/rubygems/rubygems/pull/7757

    https://github.com/rubygems/rubygems/commit/c797e95636

commit 4b04da1ee81c460c591456d8d24792af55cd5c5f
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-07 09:03:18 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Deconstruct ci in one place

    Putting these calls next to each other lets the compiler combine "packed
    ci" checks

commit e5160a9c60e4a8b1e53b94c3e696968d9f61f6c9
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-06 03:26:25 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Mark the class on orphan call caches

    "super" CC's are "orphans", meaning there is no class CC table that
    points at them.  Since they are orphans, we should mark the class
    reference so that if the cache happens to be used, the class will still
    be alive

commit a661c82972d1b4e3fc26662639b3a55c673ecb5e
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-04 07:48:13 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Refactor so we don't have _cd

    This should make the diff more clean

commit cc97a270080d2c6eb9dbdd2b9793ab549b6bb44d
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-04 06:20:04 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Add two new instructions for forwarding calls

    This commit adds `sendforward` and `invokesuperforward` for forwarding
    parameters to calls

    Co-authored-by: Matt Valentine-House <matt@eightbitraptor.com>

commit a25dd5b12c550a152d9875720b423e141f36dfb0
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-05-25 06:33:03 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Set a fast path for forwardable iseqs

commit cfc5646cdc2b693aff1f8b74f30093765df16957
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-05-25 06:57:22 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    fix allocation assertions

commit bd7a87e5bbe8dca6414d1bb719e945dec80dd311
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-25 07:42:40 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Add a CC fastpath for forwardable methods

commit cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-16 02:48:53 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-19 01:28:25 +0900

    Optimized forwarding callers and callees

    This patch optimizes forwarding callers and callees. It only optimizes methods that only take `...` as their parameter, and then pass `...` to other calls.

    Calls it optimizes look like this:

    ```ruby
    def bar(a) = a
    def foo(...) = bar(...) # optimized
    foo(123)
    ```

    ```ruby
    def bar(a) = a
    def foo(...) = bar(1, 2, ...) # optimized
    foo(123)
    ```

    ```ruby
    def bar(*a) = a

    def foo(...)
      list = [1, 2]
      bar(*list, ...) # optimized
    end
    foo(123)
    ```

    All variants of the above but using `super` are also optimized, including a bare super like this:

    ```ruby
    def foo(...)
      super
    end
    ```

    This patch eliminates intermediate allocations made when calling methods that accept `...`.
    We can observe allocation elimination like this:

    ```ruby
    def m
      x = GC.stat(:total_allocated_objects)
      yield
      GC.stat(:total_allocated_objects) - x
    end

    def bar(a) = a
    def foo(...) = bar(...)

    def test
      m { foo(123) }
    end

    test
    p test # allocates 1 object on master, but 0 objects with this patch
    ```

    ```ruby
    def bar(a, b:) = a + b
    def foo(...) = bar(...)

    def test
      m { foo(1, b: 2) }
    end

    test
    p test # allocates 2 objects on master, but 0 objects with this patch
    ```

    How does it work?
    -----------------

    This patch works by using a dynamic stack size when passing forwarded parameters to callees.
    The caller's info object (known as the "CI") contains the stack size of the
    parameters, so we pass the CI object itself as a parameter to the callee.
    When forwarding parameters, the forwarding ISeq uses the caller's CI to determine how much stack to copy, then copies the caller's stack before calling the callee.
    The CI at the forwarded call site is adjusted using information from the caller's CI.

    I think this description is kind of confusing, so let's walk through an example with code.

    ```ruby
    def delegatee(a, b) = a + b

    def delegator(...)
      delegatee(...)  # CI2 (FORWARDING)
    end

    def caller
      delegator(1, 2) # CI1 (argc: 2)
    end
    ```

    Before we call the delegator method, the stack looks like this:

    ```
    Executing Line | Code                                  | Stack
    ---------------+---------------------------------------+--------
                  1| def delegatee(a, b) = a + b           | self
                  2|                                       | 1
                  3| def delegator(...)                    | 2
                  4|   #                                   |
                  5|   delegatee(...)  # CI2 (FORWARDING)  |
                  6| end                                   |
                  7|                                       |
                  8| def caller                            |
              ->  9|   delegator(1, 2) # CI1 (argc: 2)     |
                 10| end                                   |
    ```

    The ISeq for `delegator` is tagged as "forwardable", so when `caller` calls in
    to `delegator`, it writes `CI1` on to the stack as a local variable for the
    `delegator` method.  The `delegator` method has a special local called `...`
    that holds the caller's CI object.

    Here is the ISeq disasm fo `delegator`:

    ```
    == disasm: #<ISeq:delegator@-e:1 (1,0)-(1,39)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] "..."@0
    0000 putself                                                          (   1)[LiCa]
    0001 getlocal_WC_0                          "..."@0
    0003 send                                   <calldata!mid:delegatee, argc:0, FCALL|FORWARDING>, nil
    0006 leave                                  [Re]
    ```

    The local called `...` will contain the caller's CI: CI1.

    Here is the stack when we enter `delegator`:

    ```
    Executing Line | Code                                  | Stack
    ---------------+---------------------------------------+--------
                  1| def delegatee(a, b) = a + b           | self
                  2|                                       | 1
                  3| def delegator(...)                    | 2
               -> 4|   #                                   | CI1 (argc: 2)
                  5|   delegatee(...)  # CI2 (FORWARDING)  | cref_or_me
                  6| end                                   | specval
                  7|                                       | type
                  8| def caller                            |
                  9|   delegator(1, 2) # CI1 (argc: 2)     |
                 10| end                                   |
    ```

    The CI at `delegatee` on line 5 is tagged as "FORWARDING", so it knows to
    memcopy the caller's stack before calling `delegatee`.  In this case, it will
    memcopy self, 1, and 2 to the stack before calling `delegatee`.  It knows how much
    memory to copy from the caller because `CI1` contains stack size information
    (argc: 2).

    Before executing the `send` instruction, we push `...` on the stack.  The
    `send` instruction pops `...`, and because it is tagged with `FORWARDING`, it
    knows to memcopy (using the information in the CI it just popped):

    ```
    == disasm: #<ISeq:delegator@-e:1 (1,0)-(1,39)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] "..."@0
    0000 putself                                                          (   1)[LiCa]
    0001 getlocal_WC_0                          "..."@0
    0003 send                                   <calldata!mid:delegatee, argc:0, FCALL|FORWARDING>, nil
    0006 leave                                  [Re]
    ```

    Instruction 001 puts the caller's CI on the stack.  `send` is tagged with
    FORWARDING, so it reads the CI and _copies_ the callers stack to this stack:

    ```
    Executing Line | Code                                  | Stack
    ---------------+---------------------------------------+--------
                  1| def delegatee(a, b) = a + b           | self
                  2|                                       | 1
                  3| def delegator(...)                    | 2
                  4|   #                                   | CI1 (argc: 2)
               -> 5|   delegatee(...)  # CI2 (FORWARDING)  | cref_or_me
                  6| end                                   | specval
                  7|                                       | type
                  8| def caller                            | self
                  9|   delegator(1, 2) # CI1 (argc: 2)     | 1
                 10| end                                   | 2
    ```

    The "FORWARDING" call site combines information from CI1 with CI2 in order
    to support passing other values in addition to the `...` value, as well as
    perfectly forward splat args, kwargs, etc.

    Since we're able to copy the stack from `caller` in to `delegator`'s stack, we
    can avoid allocating objects.

    I want to do this to eliminate object allocations for delegate methods.
    My long term goal is to implement `Class#new` in Ruby and it uses `...`.

    I was able to implement `Class#new` in Ruby
    [here](https://github.com/ruby/ruby/pull/9289).
    If we adopt the technique in this patch, then we can optimize allocating
    objects that take keyword parameters for `initialize`.

    For example, this code will allocate 2 objects: one for `SomeObject`, and one
    for the kwargs:

    ```ruby
    SomeObject.new(foo: 1)
    ```

    If we combine this technique, plus implement `Class#new` in Ruby, then we can
    reduce allocations for this common operation.

    Co-Authored-By: John Hawthorn <john@hawthorn.email>
    Co-Authored-By: Alan Wu <XrXr@users.noreply.github.com>

commit 921f22e563d6372d9f853f87d48b11c479126da9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-06-19 00:15:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-19 00:15:23 +0900

    [ruby/irb] Improve how command calls' return value is handled
    (https://github.com/ruby/irb/pull/972)

    In #934, we changed command calls to return nil only. This PR improves
    the behaviour even further by:

    - Not echoing the `nil` returned by command calls
    - Not overriding previous return value stored in `_` with the
      `nil` from commands

    https://github.com/ruby/irb/commit/c844176842

commit c2e2c5975d576076bb3e77524d5458d28e761742
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-18 23:57:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 23:57:19 +0900

    [ruby/reline] Fix vi_yank or vi_delete_meta copies nil bug
    (https://github.com/ruby/reline/pull/726)

    https://github.com/ruby/reline/commit/46b30b07c9

commit b499356307139e80a414d9ddb3a7f14dadf0eda4
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-18 22:01:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 22:01:28 +0900

    Update bundled gems list as of 2024-06-16

commit dd704eb4c346d22ac14dd615159b5f1f7b6393c9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-18 20:55:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-18 21:48:25 +0900

    net-ftp-0.3.6 always return response with put/puttextfile.

    * https://github.com/ruby/net-ftp/pull/34
    * https://github.com/ruby/net-ftp/issues/36

commit 1997f43a5476d86ebcac1fbd4f75cef3358dc223
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-18 20:51:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-18 21:48:25 +0900

    Bump up net-ftp to 0.3.6

commit 7cbe54714ca1b9112e278d2d605cd049a065707e
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-06-18 10:19:52 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-06-18 11:12:52 +0900

    extmk.rb: define Gem.target_rbconfig not to break `Gem::Platform.local`

commit a3930db275351cba075aa67000374ff0641126e9
  Author:     Alexey Schepin <alexey.schepin@builder.ai>
  AuthorDate: 2024-06-18 02:06:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 10:52:04 +0900

    [rubygems/rubygems] Delete extra spaces left after rubocop autofix

    https://github.com/rubygems/rubygems/commit/a552732bed

commit d9141920121158f78c260b67b7a0c3d675865ebd
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-06-17 22:45:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 09:59:37 +0900

    [rubygems/rubygems] Use symbol for option key in Bundler::CLI::Install

    https://github.com/rubygems/rubygems/commit/07a5faeb89

commit 97a23db5acc87c3a44bd005aef00c8003f45adb4
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-05-15 16:58:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 09:59:36 +0900

    [rubygems/rubygems] Disable `install_extension_in_lib` when cross-compiling

    https://github.com/rubygems/rubygems/commit/643e154f32

commit 3e4b694565f8459c95283f6ec6aed52ad38cc57a
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-05-05 07:36:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 09:59:36 +0900

    [rubygems/rubygems] Bundler integration for --target-rbconfig option

    https://github.com/rubygems/rubygems/commit/f9fb413a19

commit 273d41b9e3c90d4d3fe2ffcb88477197d528b9a0
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-05-05 06:23:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-18 09:59:35 +0900

    [rubygems/rubygems] Add `--target-rbconfig` option to `gem install` and `gem update` commands

    This patch adds `--target-rbconfig` option to specify the rbconfig.rb file
    for the deployment target platform. This is useful when cross-compiling
    gems. At the moment, this option is only available for `extconf.rb`-based
    extensions.

    https://github.com/rubygems/rubygems/commit/cf2843f7a2

commit 91bbb7831301f405c56b5de1bd9e7a79f4d302b5
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-06-18 05:29:43 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-18 06:14:29 +0900

    YJIT: Fix an unused field warning in `DumpDisasm`.

commit 657c8db8deb06741ca4b6a8b6635230f68c6d263
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-15 05:24:35 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-18 04:09:32 +0900

    YJIT: `--yjit-dump-disasm=dir`: Hold descriptor for dump file

    This mainly aims to make `--yjit-dump-disasm=<relative_path>` more
    usable. Previously, it crashed if the program did chdir(2), since it
    opened the dump file every time when appending.

    Tested with:

        ./miniruby --yjit-dump-disasm=. --yjit-call-threshold=1 -e 'Dir.chdir("/") {}'

    And the `lobsters` benchmark.

commit a119b5f8793b2bf0c9f970d9f0cf16e6f33ee7c3
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-06-12 04:24:12 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-18 01:44:48 +0900

    Add a fast path implementation for appending single byte values to US-ASCII strings.

commit 27e13fbc58b02bc027de9c51c8963f57276ac7c1
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-06-11 06:36:52 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-18 01:44:48 +0900

    Add a fast path implementation for appending single byte values to binary strings.

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

commit b73dd8f6d0d04fec834c4aae0139cf6c0270f780
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-06-17 16:20:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-17 16:40:56 +0900

    [ruby/io-console] Skip building extension on WASI

    WASI does not support concept to provide termios, so it is not possible
    to build io/console extension on WASI at the moment.

    However, `io/console` is used by many gems, and removing the dependency
    from them *conditionally* is impossible. So, this commit adds a
    check to skip building `io/console` extension on WASI just to pass `gem
    install` for the platform.

    https://github.com/ruby/io-console/commit/ba9bf00184

commit ce6a1ba9a169736e0313daf2b7f36a01e54a5d1c
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-06-16 05:13:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-16 05:14:01 +0900

    [ruby/irb] Bump version to v1.13.2
    (https://github.com/ruby/irb/pull/970)

    https://github.com/ruby/irb/commit/35de7dacd4

commit 84947c515acb93588d9dbea722a0e52eca56bac1
  Author:     Herwin <herwinw@users.noreply.github.com>
  AuthorDate: 2024-06-15 21:54:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-16 00:03:18 +0900

    [ruby/prism] Document MultiWriteNode fields

    https://github.com/ruby/prism/commit/b6a97a43c2

commit 6184882b84bb6cacc0bd4837623eaa05da87d156
  Author:     Herwin <herwinw@users.noreply.github.com>
  AuthorDate: 2024-06-15 19:21:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-15 21:06:49 +0900

    [ruby/prism] Document MultiTargetNode

    https://github.com/ruby/prism/commit/b817cd25c5

commit 7529591df11563fa29e19716322ca03b0c6d3e3e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-15 04:09:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-15 04:22:54 +0900

    [ruby/prism] Ensure ranges are non-associative

    https://github.com/ruby/prism/commit/f59295938b

commit 4d73f3f9ebefa347acc1ec8031ac4025f5f71ba8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-18 01:27:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-14 23:27:02 +0900

    [rubygems/rubygems] Fix funding metadata not being printed in some situations

    Namely, when a gem has not previously been installed, and Bundler is
    using the compact index API, fund metadata was not getting printed
    because the proper delegation was not implemented in the specification
    class used by the compact index.

    https://github.com/rubygems/rubygems/commit/9ef5139f60

commit 6a474ef2660da0e5486aa3a3bdcd4f9aac5e5362
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-14 03:22:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-14 19:05:20 +0900

    [rubygems/rubygems] Don't print bug report template when bin dir is not writable

    https://github.com/rubygems/rubygems/commit/f4ce3aae71

commit a1f72a563b74a44198b34add3aa9fdcef54c2405
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-14 16:46:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-14 17:54:02 +0900

    [Bug #20579] ripper: Dispatch spaces at END-OF-INPUT without newline

commit 7f47469105266698e14d5daf8cc95d0184880660
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-14 16:13:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-14 17:54:02 +0900

    Include `__LINE__` in `add_delayed_token` macro

commit 62fc473224eb8da96206badbc2496dd5ec38935d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-14 00:56:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-14 17:02:38 +0900

    [rubygems/rubygems] Never remove executables that may belong to a default gem

    https://github.com/rubygems/rubygems/commit/ed585f2fca

commit 7767b60ff2f02a600f0b1fe5f438639fea6ac7b7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-14 03:07:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-14 17:02:38 +0900

    [rubygems/rubygems] Reuse `write_file` helper

    https://github.com/rubygems/rubygems/commit/339f099870

commit 0dcb0fdfcd48b63ae000c8216a1e7b1c508e0ef2
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-14 16:05:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-14 16:05:38 +0900

    Enable LeakChecker for RJIT previously disabled for MJIT (#10998)

    RJIT doesn't spawn subprocesses so there should now be no need to
    special case it.

commit 8ddb4de0acedaa10525c3e8549746fc2fb10b002
  Author:     Dmitry Ukolov <udmitry@mail.ru>
  AuthorDate: 2024-06-14 16:05:21 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-14 16:05:21 +0900

    Fixed indents in recently RJIT patch (#11001)

commit 2e59cf00cc35183fe9b616672cb8d2b461b1cf9b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-14 14:10:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-14 15:02:15 +0900

    [Bug #20578] ripper: Fix dispatching part at invalid escapes

commit 4ab7cc18184db53d6640d07a8bec573144c51875
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-14 04:39:11 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 07:58:49 +0900

    Guard against GC.compact when using in tests

    This test will error on platforms that don't implement GC.compact

    Co-Authored-By: Peter Zhu <peter@peterzhu.ca>

commit c093fd86d28318f2fb3541d339cf6d3aae1da7e2
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-14 04:28:19 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 07:58:49 +0900

    Don't return inside assert_equal

    The implementation of assert_equal inside bootstraptest/runner.rb wraps
    a print around all the test code specified in the string, making returns
    useless.

    This change fixes this test for platforms that don't implement
    GC.compact

    Co-Authored-By: Peter Zhu <peter@peterzhu.ca>

commit b988ae3a06506a4361ab5cbd51da5992268fb713
  Author:     Dmitry Ukolov <udmitry@mail.ru>
  AuthorDate: 2024-06-14 07:55:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-14 07:55:01 +0900

    RJIT: Fixed and/or reg+disp32 operations (#10856)

    Fixed RJIT `and reg+disp32` and `or reg+disp32` operation.

commit 6416ee33ebfe649e7e224f6ad5f80c40b128cce6
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-14 06:59:40 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 07:52:09 +0900

    Simplify unaligned write for pre-computed string hash

commit a8730adb600cba9b2933f2d0d1c3716a9cbe8c76
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-14 06:39:17 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 07:52:09 +0900

    rb_str_hash(): Avoid UB with making misaligned pointer

    Previously, on common platforms, this code made a pointer to a union of
    8 byte alignment out of a char pointer that is not guaranteed to satisfy
    the alignment requirement. That is undefined behavior according
    to [C99 6.3.2.3p7](https://port70.net/~nsz/c/c99/n1256.html#6.3.2.3p7).

    Use memcpy() to do the unaligned read instead.

commit 2699e230e467e395c868a9c4daa4af6fc6eb7d8b
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-14 06:43:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-14 06:43:41 +0900

    Crash instead of raising with Check_Type() in RBIMPL_ASSERT_TYPE() in debug builds

    Previously, RBIMPL_ASSERT_TYPE() used Check_Type() only in RUBY_DEBUG
    builds. It raised TypeError, but only in debug builds. For people testing
    type mismatch using debug builds looking for a Ruby exception, this can
    be misleading -- the code could be missing a type check in non-debug builds
    if it is relying on for example RSTRING_LEN() to raise.

    Also, Check_Type() can obscure the true cause of error in debug mode.
    When type check fails because the object is corrupt, instead of crashing
    with a clear type assertion message, it can crash while trying to
    construct an exception object to raise. You can see this for example in
    <https://github.com/ruby/ruby/actions/runs/9489999591/job/26152506434?pr=10985>,
    where RB_ENCODING_GET() is used on a corrupt object, but the crash
    happens later and says "Assertion Failed:
    ../src/vm_method.c:1477:callable_method_entry_or_negative".
    RBIMPL_ASSERT_TYPE() should assert right away.

    RBIMPL_ASSERT_OR_ASSUME() asserts when RUBY_DEBUG and assumes in release
    builds, as desired.

    This should help investigate flaky CI failures that show up as TypeError
    from `Kernel#require`, e.g.
    "'Kernel#require': wrong argument type false (expected String) (TypeError)".

    Same CI failure examples:
     - https://github.com/ruby/ruby/actions/runs/9034787861/job/24828147431
     - https://github.com/ruby/ruby/actions/runs/9418303667/job/25945492440
     - https://github.com/ruby/ruby/actions/runs/9505650952/job/26201031314

    The failure occurs with and without use of YJIT.

commit 420ef906bd13e1dd403047d85207690e1af0db54
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-14 03:44:08 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-14 04:30:19 +0900

    respect `--error-output stderr` on parallel mode

    `MultiFormatter#print_exception` should respect `--error-output stderr`.

commit 0321f2c8fe7520762af49c4c4e1598ada964c402
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-14 03:27:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-14 03:46:02 +0900

    [ruby/prism] Handle implicit array precedence

    When an implicit array is used in a write, is causes the whole
    expression to become a statement. For example:

    ```ruby
    a = *b
    a = 1, 2, 3
    ```

    Even though these expressions are exactly equivalent to their
    explicit array counterparts:

    ```ruby
    a = [*b]
    a = [1, 2, 3]
    ```

    As such, these expressions cannot be joined with other expressions
    by operators or modifiers except if, unless, while, until, or
    rescue.

    https://github.com/ruby/prism/commit/7cd2407272

commit ffd895156f230e684bed36e0b3c724071ad31993
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-12 05:34:08 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 02:00:46 +0900

    YJIT: Delete otherwise-empty defer_compilation() blocks

    Calls to defer_compilation() leave behind a stub and a `struct Block`
    that we retain. If the block is empty, it only exits to hold the
    `struct Branch` that the stub needs.

    This patch transplants the branch out of the empty block into the newly
    generated block when the defer_compilation() stub is hit, and deletes
    the empty block to save memory.

    To assist the transplantation, `Block::outgoing` is now a
    `MutableBranchList`, and `Branch::Block` now in a `Cell`. These types
    don't incur a size cost.

    On the `lobsters` benchmark, `yjit_alloc_size` is roughly 98% of what
    it was before the change.

    Co-authored-by: Kevin Menard <kevin.menard@shopify.com>
    Co-authored-by: Randy Stauner <randy@r4s6.net>
    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

commit 28d1685ebb44b3249e2bc6b859fa17cdaa5e5ef0
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-13 05:23:13 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-14 02:00:46 +0900

    YJIT: Align number of `total_exits` for --yjit-stats

commit a9b8981aac905202fe4520738b12ad7c03847178
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-19 00:27:10 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-14 01:27:02 +0900

    Simplify rb_str_resize clear range condition

commit 04467218ce53292659ae74fb4558e651bfc41f0f
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-17 01:16:31 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-14 01:27:02 +0900

    Add rb_str_resize coderange test

commit 9c7374b0e6cbfb00e4f71d0b2eddba128ba452f7
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-16 03:34:53 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-14 01:27:02 +0900

    Clear coderange when rb_str_resize change size

    In some encoding like utf-16 utf-32, expanding the string with null bytes can change coderange to either broken or valid.

commit a60831f9b6ce7ab7bddc4cb32a04b2bb2e987c0d
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-13 08:32:06 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-06-13 23:28:59 +0900

    Use ENDBR instruction in amd64 coroutine on OpenBSD

    When running on newer Intel processors supporting the feature,
    OpenBSD enforces indirect branch tracking.  Without this endbr64
    instruction, jumps to the coroutine_transfer function result
    in SIGILL on OpenBSD/amd64 when using such processors.

    The OpenBSD Ruby ports have been using a patch similar to this
    for the past two months.

    From some research, cet.h has been supported by GCC for about
    6 years and LLVM for about 4 years.

commit c2f8e918150d9df17f66ac03713499f3a24912bf
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-13 20:25:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-13 23:25:14 +0900

    [rubygems/rubygems] Also disambiguate gems not in the first Gem.path position

    https://github.com/rubygems/rubygems/commit/7e6e7ccc58

commit 5c573b7652ec88995ba2a6172a10f6d98e4b2dcd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-13 20:21:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-13 23:25:14 +0900

    [rubygems/rubygems] Fix default gem priority when sorting specs

    https://github.com/rubygems/rubygems/commit/8dbe1dbdc7

    Co-authored-by: MSP-Greg <Greg.mpls@gmail.com>

commit 205da896804d6d309b8a07c3c449c15ee9197efe
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-06-13 18:47:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-13 18:48:38 +0900

    [ruby/stringio] Development of 3.1.2 started.

    https://github.com/ruby/stringio/commit/9ad5551160

commit 513520a1735d0d980bb74f9eac20f29225c91427
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-13 16:31:23 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-13 17:26:44 +0900

    do not call `check_rvalue_consistency` here

    in `free` is not valid object and should not call
    `check_rvalue_consistency`.

commit fc33559c40e08e4ae0a98821a679abddc4bb247c
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-13 11:48:48 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-13 13:52:39 +0900

    clear `kw_flag` if given hash is nil

    https://bugs.ruby-lang.org/issues/20570 is caused I missed to
    clear the `kw_flag` even if `keyword_hash` is nil.

commit e4385baaa2bfe4c0a6540f4c996df4ccff71cdca
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-13 12:11:32 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-13 13:14:44 +0900

    avoid recursive calls on `check_rvalue_consistency`

    `check_rvalue_consistency` uses bitmap and `RVALUE_WB_UNPROTECTED`
    etc calls `check_rvalue_consistency` again.

    also `rb_raw_obj_info_common()` is called from `check_rvalue_consistency`
    so it should not use call `check_rvalue_consistency`.

commit 7c46aa5ed4573ca04e6ffe1b19191e8227db2ab3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-13 04:07:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-13 05:12:46 +0900

    [Bug #20577] Fix freeing symbols when RUBY_FREE_AT_EXIT

    Dynamic symbols point to a fstring. When we free the symbol, we hash the
    fstring to remove it from the table. However, the fstring could have
    already been freed, which can cause a crash.

    This commit changes it to remove the reference to the fstring before
    freeing the symbol so we can avoid this crash.

commit 94a8f05f00185df6063dd2ce2939b96713806c7a
  Author:     Gabriel Sobrinho <gabriel.sobrinho@gmail.com>
  AuthorDate: 2024-06-13 02:50:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-13 04:17:21 +0900

    [rubygems/rubygems] Fix test description

    https://github.com/rubygems/rubygems/commit/4bcdb854a2

commit c81360db757bf1c1efbd36bb160e71de94bed8ed
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-12 19:24:38 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-13 03:57:31 +0900

    Kernel#warn: don't call `Warning.warn` unless the category is enabled

    [Bug #20573]

    Followup: https://github.com/ruby/ruby/pull/10960

    I believe `Kernel#warn` should behave in the same way than internal
    `rb_warning_* APIs

commit ce06924a17176d18816d968867858f97401d7c82
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-06-13 02:33:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-13 02:33:27 +0900

    YJIT: add context cache hits stat (#10979)

    * YJIT: add context cache hits stat

    This stat should make more sense when it comes to interpreting
    the effectiveness of the cache on large deployed apps.

commit 85190d41307525063d9963283d5813074dda793f
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-13 01:43:03 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-13 02:25:57 +0900

    Add regression test for Bug #20573

    Just a regression test to ensure behavior remains the same

commit 783eaf70f856ffefcefcb13ca1237b9de5663c51
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-13 01:57:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-13 01:57:55 +0900

    [ruby/irb] Invalid encoding symbol now raises SyntaxError also in
    3.3
    (https://github.com/ruby/irb/pull/969)

    https://github.com/ruby/irb/commit/bad7492ab0

commit 96974c6c0de7471a7bb852efc512680371e97972
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 19:02:55 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Simplify GC bitmap access macros

    Now that we're using the inline predicate functions everywhere, the only
    remaining use of the RVALUE_?_BITMAP macros is inside their respective
    inline function, so we can remove them.

commit 5cf53701160494e561e74af7847b1a8b3b201e20
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 18:56:47 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Use RVALUE_UNCOLLECTIBLE consistently

commit 4c38b4f70ff237d84cf6f9ba83c112587a00910a
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 18:53:31 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Use RVALUE_WB_UNPROTECTED consistently

commit cc700c3d8fbf36b742b192105bc6e2e309662f49
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 18:47:44 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Use RVALUE_MARKING consistently

commit e006a58f070c8d6304bc9ce1fdccc8f3600d3335
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 18:44:47 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Use RVALUE_MARKED consistently

commit bb663fe0b2995e73d1cdf8ab11e93700acfb78d6
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-12 18:25:52 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-13 01:09:07 +0900

    Use RVALUE_PINNED consistently

commit 006ff5e29f596a4deb781c733f4f7b3b9b3b198c
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-06-12 23:23:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-12 23:23:18 +0900

    [ruby/reline] Bump version to 0.5.9
    (https://github.com/ruby/reline/pull/724)

    https://github.com/ruby/reline/commit/aff1d852bb

commit 1db19a2dbd7a8b981b2611359b6bf4547ea678f5
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-11 22:06:51 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-12 21:54:20 +0900

    Remove unneeded loop through size_pools

    This function loops twice through the array of size pools. Once to set
    up the pages list, and then again later on in the function to set the
    allocatable_pages count.

    We don't do anything with the size pools in between the invocation of
    these loops that will affect the size pools, so this commit removes the
    second loop and moves the allocatable_pages count update into the first
    loop.

commit 6b6fd16219880f47d807e5c6970cf204b265bda9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-12 01:37:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-12 21:46:06 +0900

    [rubygems/rubygems] Fix typo

    https://github.com/rubygems/rubygems/commit/19a0e3730c

commit 32a555ea532fb15721ad403e6dce0a2ffc346f12
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-12 19:03:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 19:57:50 +0900

    [Bug #20572] Abandon if replacing destination is the same

commit 278a7cb057cd7fed2a6284f727c38a1182a31668
  Author:     Yudai Takada <t.yudai92@gmail.com>
  AuthorDate: 2024-06-12 19:42:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-12 19:42:01 +0900

    [DOC] Fix a typo in dir.c

    s/Retruns/Returns/

commit c56d0adfa67667189635f9053ad0a36ae1fa62a4
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-12 16:47:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-12 16:48:03 +0900

    [ruby/irb] Cleanup irbrc generator cache always at teardown
    (https://github.com/ruby/irb/pull/968)

    https://github.com/ruby/irb/commit/905184ff9c

commit 2eb31a625440caa5e630fc2426abe6c9bafb0bf4
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-06-12 15:01:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 15:45:06 +0900

    Fix a typo

    s/sepcifier/specifier/

commit 1fc07637240f7c55ffc1a033cff861d80445e47e
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-06-09 10:49:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 15:36:55 +0900

    Introduce `ident_or_const` inline rule

commit 01b13886dc96eb13688d448019a8699f9bdee5ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 17:01:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 15:36:10 +0900

    [Bug #20562] Categorize `RUBY_FREE_AT_EXIT` warning as experimental

commit 0bc91fa6df66782f1744eae7b92e460e8170eeff
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-12 14:46:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 14:46:29 +0900

    `File.umask` does not make sense on Windows

commit 39c9d99f6ccb81479c077e5cf1623572ade226a1
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-12 10:27:25 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-12 14:06:42 +0900

    'SPEC_TEMP_DIR` should not be world-writable

    `SPEC_TEMP_DIR` is not present until `tmp()` method is called
    on parallel run. In this case `tmp()` is called with `File.umask = 0`.
    This patch makes `SPEC_TEMP_DIR` before `File.umask = 0`.

    To solve the issue essentially, I think `SPEC_TEMP_DIR` should be
    prepared at the beginning of parallel process.

commit 206465e84d7c258194b8e682d794a95e8416ff3b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-11 10:50:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-12 11:49:33 +0900

    ripper: Unify `dispatch_end`

commit 1271ff72d5b627854c6812baefe796a2976cd793
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-11 08:05:03 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-12 06:54:15 +0900

    Don't call `Warning.warn` unless the category is enabled

    The warning category should be enabled if we want to call
    `Warning.warn`.

    This commit speeds up the following benchmark:

    ```ruby
    eval "def test; " +
      1000.times.map { "'  '.chomp!" }.join(";") + "; end"

    def run_benchmark count
      i = 0
      while i < count
        start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
        yield
        ms = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start
        puts "itr ##{i}: #{(ms * 1000).to_i}ms"
        i += 1
      end
    end

    run_benchmark(25) do
      250.times do
        test
      end
    end
    ```

    On `master` this runs at about 92ms per iteration. With this patch, it
    is 7ms per iteration.

    [Bug #20573]

commit 0a6b1a4d9de583ebfd305ab1b297be1cea7bdc2f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-12 03:28:03 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-12 03:28:04 +0900

    redmine-backporter.rb: Prepend commit: to shorter revs

    Some of the places in Redmine (e.g. Associated revisions) print
    revisions using only 8 characters. Even when I copied a revision from
    there, I want to prepend commit: in the message.

commit ec1ea2c5b941d5ff94013772a0dba905f8fe5c78
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-12 02:17:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-12 02:17:41 +0900

    YJIT: Make num_contexts_encoded a default counter

commit c735f4947ee0fd770f01a64e83faabefe005e9d4
  Author:     gartens <41197811+gartens@users.noreply.github.com>
  AuthorDate: 2024-06-12 02:12:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-12 02:12:28 +0900

    [ruby/openssl] Pass through nil as digest when signing certificates
    (https://github.com/ruby/openssl/pull/761)

    In order to sign certificates with Ed25519 keys, NULL must be passed
    as md to X509_sign.  This NULL is then passed
    (via ASN1_item_sign_ex) as type to EVP_DigestSignInit.  The
    documentation[1] of EVP_DigestSignInit states that type must be NULL
    for various key types, including Ed25519.

    [1]: https://www.openssl.org/docs/manmaster/man3/EVP_DigestSignInit.html

    https://github.com/ruby/openssl/commit/b0fc100091

commit 39019b6a63b935d8bd75e46ff82a31e174b1bf85
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-06-12 01:46:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-12 01:46:11 +0900

    YJIT: add context cache size stat, lazily allocate cache

    * YJIT: add context cache size stat
    * Allocate the context cache in a box so CRuby doesn't pay overhead
    * Add an extra debug assertion

commit 568132af16916b05e5bc8a643365bdc7d4906669
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-06 19:57:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-12 01:27:44 +0900

    [rubygems/rubygems] Keep credentials in lockfile if they are already there

    So that those lockfiles still work with older Bundler versions.

    https://github.com/rubygems/rubygems/commit/880275bb66

commit 32683aa18db667ac740bc562eca5989640ae1612
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-10 23:02:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-11 23:33:51 +0900

    Remove use of symbols and arrays when freeing global table

    This removes the use of symbol and array objects when freeing the global
    table so we can now free symbols and arrays earlier.

commit 89ebe8993fd3b7fec977eced1a46f54bcd75ae07
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 09:27:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-11 22:43:41 +0900

    Ensure prism is testing everything

commit 9e7ccc00bc10ff964e5839a8c264a1b8de745b41
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-11 21:28:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-11 22:43:41 +0900

    [PRISM] Make prism pass bundler specs

commit 3e84da0970097914b2eae80a5f3106d72f5faae9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-06 20:38:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-11 22:30:50 +0900

    [rubygems/rubygems] Auto switch to locked bundler version even when using binstubs

    https://github.com/rubygems/rubygems/commit/076aba8b1c

commit ad9fe6f3765007477364479ad6ebbe1099108293
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-11 00:41:12 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-11 22:03:58 +0900

    Allow gdb to search source path for required files

    When doing out-of-source builds I often end up wanting to use gdb from
    inside a build directory.

    Currently if I do that the `.gdbinit` in the ruby source directory is
    not read.

    Attempting to manually load the `.gdbinit` from the Ruby source
    directory errors because of hard coded file-paths that assume we're
    running gdb from inside the source tree.

    Adding the `-s` flag to the `source` command when loading relative files
    signals to gdb to search in the source search path for the required
    file, rather than just the current directory.

    This allows me to use a custom `.gdbinit` from my build directory that
    sets the correct source directory and then loads the Ruby `.gdbinit`.

    ```
    dir ../src
    source ../src/.gdbinit
    ```

commit 47322b592a0d75477a65e6e4ddaed2eb6549c32c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-11 21:24:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-11 21:34:00 +0900

    [ruby/prism] Match CRuby error message for unknown regexp options

    https://github.com/ruby/prism/commit/73669b59f6

commit d6b1822f22d12dcc772a4b3788bce08e4ba327d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-11 21:20:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-11 21:33:46 +0900

    [ruby/prism] Fix binding power for class <<

    https://github.com/ruby/prism/commit/cd66c478de

commit b824b13ee97697cf7a29275d89641731e2ffee69
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-06-11 20:04:16 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-06-11 20:56:32 +0900

    .travis.yml: Update jaruga's email.

    I cannot receive Travis's notification via jaruga@ruby-lang.org, while another
    committer with their @ruby-lang.org email can receive the notification.
    The issue is my ruby-lang.org email address specific.
    So far we haven't seen the root cause even with the Travis support's help.

    Because of that, I change the email address to my personal email address.

commit 0ccb80d6bf57cd6e79ad622c024d3d0940ec6f3b
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-06-09 20:15:39 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-06-11 19:48:55 +0900

    Extract hardening CFLAGS to a special $hardenflags variable

    This changes the automatic detection of -fstack-protector,
    -D_FORTIFY_SOURCE, and -mbranch-protection to write to $hardenflags
    instead of $XCFLAGS. The definition of $cflags is changed to
    "$hardenflags $orig_cflags $optflags $debugflags $warnflags" to match.

    Furthermore, these flags are _prepended_ to $hardenflags, rather than
    appended.

    The implications of doing this are as follows:

    * If a CRuby builder specifies cflags="-mbranch-protection=foobar" at
      the ./configure script, and the configure script detects that
      -mbranch-protection=pac-ret is accepted, then GCC will be invoked as
      "gcc -mbranch-protection=pac-ret -mbranch-protection=foobar". Since
      the last flags take precedence, that means that user-supplied values
      of these flags in $cflags will take priority.
    * Likewise, if a CRuby builder explicitly specifies
      "hardenflags=-mbranch-protection=foobar", because we _prepend_ to
      $hardenflags in our autoconf script, we will still invoke GCC as
      "gcc -mbranch-protection=pac-ret -mbranch-protection=foobar".
    * If a CRuby builder specifies CFLAGS="..." at the configure line,
      automatic detection of hardening flags is ignored as before.
    * C extensions will _also_ be built with hardening flags now as well
      (this was not the case by default before because the detected flags
      went into $XCFLAGS).

    Additionally, as part of this work, I changed how the detection of
    PAC/BTI in Context.S works. Rather than appending the autodetected
    option to ASFLAGS, we simply compile a set of test programs with the
    actual CFLAGS in use to determine what PAC/BTI settings were actually
    chosen by the builder. Context.S is made aware of these choices through
    some custom macros.

    The result of this work is that:

    * Ruby will continue to choose some sensible defaults for hardening
      options for the C compiler
    * Distributors are able to specify CFLAGS that are consistent with their
      distribution and override these defaults
    * Context.S will react to whatever -mbranch-protection is actually in
      use, not what was autodetected
    * Extensions get built with hardening flags too.

    [Bug #20154]
    [Bug #20520]

commit 6086bae5c85cc297003012afc9cf5966fc75746a
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-11 16:13:27 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-11 17:02:27 +0900

    check `SPEC_TEMP_DIR` is world-writable or not

    ```
    1)
    Dir.mktmpdir when passed a block yields the path to the passed block ERROR
    ArgumentError: parent directory is world writable but not sticky: /tmp/rubytest.wlu5cs_11
    /tmp/ruby/src/trunk/lib/tmpdir.rb:113:in 'Dir.mktmpdir'
    /tmp/ruby/src/trunk/spec/ruby/library/tmpdir/dir/mktmpdir_spec.rb:39:in 'block (2 levels) in <top (required)>'
    ```

    This weird error comes from world-writable (and not sticky) directory
    of `SPEC_TEMP_DIR`.

    This patch checks `SPEC_TEMP_DIR` is not world-writable if exists
    and `File.umask` contains o+w mask.

commit f0001a4fa7260d0c39e9ddba162f51c549cba2f8
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-10 22:12:54 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-11 16:08:48 +0900

    compile.c: use putspecialobject for RubyVM::FrozenCore

    [Bug #20569]

    `putobject RubyVM::FrozenCore`, is not serializable, we
    have to use `putspecialobject VM_SPECIAL_OBJECT_VMCORE`.

commit d827d3252786a5e1153f4e8bfa30f40a2aaafb95
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-11 02:39:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-11 06:21:32 +0900

    [ruby/prism] Provide ability to lock encoding while parsing

    https://github.com/ruby/prism/commit/f7faedfb3f

commit 0d5eea9957eab7515e377e2562cc5f9850ad952f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-11 02:11:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-11 06:21:32 +0900

    [ruby/prism] Disallow multi writes when not in statement level

    https://github.com/ruby/prism/commit/fe34a77df2

commit 556bbf64e084c3a310dce3ee12d18222ce907781
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-11 00:11:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-11 01:36:25 +0900

    Don't skip test_inspect_under_gc_compact_stress

    Commit 1471a16 seems to have fixed this flaky test, so we don't need to
    skip it for YJIT or RJIT anymore.

commit 1d0d8a89d404147f23b3d3ed1e1353be8adc2f2b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-11 00:31:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-11 00:31:33 +0900

    [ruby/reline] Add more fallbacks when terminfo is not available
    (https://github.com/ruby/reline/pull/722)

    Add xterm key bindings to comprehensive list
    Add fallback escape sequence of cursor hide/show

    https://github.com/ruby/reline/commit/e3c73bbe26

commit 3cc9a126794d16470f87ae70ef354f3adc6d027f
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-06-10 19:19:52 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-06-10 23:00:37 +0900

    Fix CI when YJIT is enabled

commit 3ebab4b64d56e9e13a2b954a7a25514fd43f0895
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-06-08 01:01:53 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-06-10 23:00:37 +0900

    Update to ruby/spec@517f06f

commit e8bd745c17b809ba1a64e33fde91edd5babe4500
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-10 22:57:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-10 22:57:28 +0900

    [ruby/reline] Suppress warning(Ruby 3.4) requiring fiddle from
    terminfo.rb
    (https://github.com/ruby/reline/pull/721)

    https://github.com/ruby/reline/commit/9da2cbcd82

commit 21e06e57af4ac002840ddf7d875ae3c6a8234d3a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-10 22:27:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-10 22:42:40 +0900

    [ruby/prism] Allow block exits in loop predicates

    https://github.com/ruby/prism/commit/f09db18e46

commit 528a23b53c07001461e35aad30deabd736bb417c
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-10 12:35:37 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-06-10 19:23:39 +0900

    Check current file on TracePoint

    ```
    1)
    TracePoint#inspect returns a String showing the event, method, path and line for a :call event FAILED
    Expected "#<TracePoint:call 'call' /tmp/ruby/src/trunk/spec/ruby/core/objectspace/define_finalizer_spec.rb:33>" =~ /\A#<TracePoint:call [`']trace_point_spec_test_call' \/tmp\/ruby\/src\/trunk\/spec\/ruby\/core\/tracepoint\/inspect_spec.rb:43>\z/
    to be truthy but was nil
    ```

    This kind of failures comes because of finaizers.
    So check the current file or not.

commit 8abdd56c31f8d52a59ea40db72881bbf2cc08d21
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-10 15:53:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-10 17:47:35 +0900

    Test `rb_ext_resolve_symbol` without Windows .def files

    `RUBY_FUNC_EXPORTED` is working on Windows since 906a86e4de71061dca05.
    And as .def files are not processed by the preprocessor, it is less
    flexible than `RUBY_FUNC_EXPORTED`, (e.g., select symbols by
    conditions such as ruby version).

commit 448efa90af19a680f740aeb86e85782e868e7ae7
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-06-10 12:10:56 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-10 13:32:14 +0900

    respect `RUBY_TEST_TIMEOUT_SCALE`

    GC benchmarks will spend long time with assertions so we need
    to respect `RUBY_TEST_SUBPROCESS_TIMEOUT_SCALE` environment variable.

    @nobu pointed out that now `RUBY_TEST_TIMEOUT_SCALE` is primary
    (and `RUBY_TEST_SUBPROCESS_TIMEOUT_SCALE` was obsolete so check both
    and will remove it later).

commit 2959e1b5ea053ca09ec8b5d6c1323c529f100e44
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-06-10 05:22:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-10 05:22:34 +0900

    [ruby/irb] Suppress Ruby warnings in certain backtrace filtering
    tests
    (https://github.com/ruby/irb/pull/966)

    Since they're sensitive to the warnings, and the warnings are
    not relevant to the tests, we can suppress them to keep the tests
    simple.

    https://github.com/ruby/irb/commit/ad642795da

commit 1b7aabb90dd884bd720b1eac417a8845a0b53503
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-09 18:22:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-09 18:22:06 +0900

    Remove digest.def that fails on older Ruby versions

commit c357138aa3e32702074847cd6154ee964e644db7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-09 17:34:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-09 17:34:37 +0900

    Use `PRISM_EXPORTED_FUNCTION` consistently with the header

commit 906a86e4de71061dca0558a6bd6e0b355776dfb1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-09 16:55:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-09 16:55:27 +0900

    Use `dllexport` as `RUBY_FUNC_EXPORTED` on Windows

commit dd8903fed72c2d06fe7a0ca6b5ef88e9140be451
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-09 10:11:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-09 10:11:06 +0900

    [Bug #20566] Mention out-of-range argument cases in `String#<<`

    Also [Bug #18973].

commit 6ea9cd49099b83aebbab9463e3432cb03a4b6ba4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-09 00:16:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-09 02:26:34 +0900

    Provisionally export new API

commit 69c0b1438a45938e79e63407035f116de4634dcb
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-05-01 17:10:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 19:59:17 +0900

    [ruby/openssl] Fix references to the license text

    Update the references to the file "LICENCE" with "COPYING".

    The file LICENCE doesn't exist in ruby/ruby nor ruby/openssl. This has
    been always the case since OpenSSL for Ruby 2 was merged to the ruby
    tree as a standard library in 2003.

    In OpenSSL for Ruby 2's CVS repository[1], the LICENCE file contained
    an old version of the Ruby License, identical to the COPYING file that
    was in Ruby's tree at that time (r4128[2]).

    [1] http://cvs.savannah.gnu.org/viewvc/rubypki/ossl2/LICENCE?revision=1.1.1.1&view=markup
    [2] https://github.com/ruby/ruby/blob/231247c010acba191b78ed2d1310c935e63ad919/COPYING

    https://github.com/ruby/openssl/commit/5bccf07d04

commit 6475b093fbfbed8009577d2ffb31256afe705ffa
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-05-01 17:07:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 19:59:16 +0900

    [ruby/openssl] Rename LICENSE.txt to COPYING

    This is for consistency with ruby/ruby.

    https://github.com/ruby/openssl/commit/00ad542791

commit 5f380dfdb2ffa8dc5db44cef19a54068eba97d2c
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-05-01 16:58:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 19:59:14 +0900

    [ruby/openssl] openssl.gemspec: add BSD-2-Clause to the list of licenses

    ruby/openssl is licensed under the terms of either the Ruby License or
    the 2-Clause BSD License.

    The git repository and built .gem files always contained the license
    text for both license, but the metadata in the gemspec only specified
    the Ruby License. Let's include both.

    https://github.com/ruby/openssl/commit/c71714d738

commit 0b92929e520801d9d60a5d886430d35df1288af6
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-05-01 05:09:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 19:57:02 +0900

    [ruby/openssl] Add X509::Certificate#tbs_bytes

    Ref https://github.com/ruby/openssl/issues/519

    This makes verifying embedded certificate transparency signatures
    significantly easier, as otherwise the alternative was manipulating the
    ASN1 sequence, as in
    https://github.com/segiddins/sigstore-cosign-verify/pull/2/commits/656d992fa816613fd9936f53ce30972c2f2f4957

    https://github.com/ruby/openssl/commit/99128bea5d

commit 7612e45306e87bea2a5e8d269ac06cd2b65eef29
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-08 15:00:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-08 15:00:18 +0900

    ripper: Unify formal argument error handling

commit 9bee49e0e1fac1c4f8b209ce817d73a278af07f4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-08 13:25:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-08 13:25:44 +0900

    ripper: Unify backref error handling

commit 18fcec23bfdaaff372ae657ed0e338c6e351e5e3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-08 13:20:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-08 13:20:46 +0900

    ripper: Introduce `RIPPER_ID` macro instead of `ripper_id_` macros

commit bf95a17c8463f5540738dd4c876e83f2272e778c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-08 00:49:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 12:40:33 +0900

    [ruby/digest] [DOC] Update document to use `rb_digest_make_metadata`

    https://github.com/ruby/digest/commit/c5c1debd43

commit 0619312bb53cb64dedbfbf30eafd3a708b72588e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 11:06:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 12:40:27 +0900

    [ruby/digest] Use typed data in digest

    https://github.com/ruby/digest/commit/9a22f921c9

commit 0d91887c6aa740d3226407cafa1f27c62fd119f4
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-06-08 06:59:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-08 06:59:59 +0900

    YJIT: implement cache for recently encoded/decoded contexts (#10938)

    * YJIT: implement cache for recently encoded/decoded contexts

    * Increase cache size to 512

commit 425e630ce73cf79fa5529df199dde47fc109a5de
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-06-08 05:26:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-08 05:26:14 +0900

    YJIT: implement variable-length context encoding scheme (#10888)

    * Implement BitVector data structure for variable-length context encoding

    * Rename method to make intent clearer

    * Rename write_uint => push_uint to make intent clearer

    * Implement debug trait for BitVector

    * Fix bug in BitVector::read_uint_at(), enable more tests

    * Add one more test for good measure

    * Start sketching Context::encode()

    * Progress on variable length context encoding

    * Add tests. Fix bug.

    * Encode stack state

    * Add comments. Try to estimate context encoding size.

    * More compact encoding for stack size

    * Commit before rebase

    * Change Context::encode() to take a BitVector as input

    * Refactor BitVector::read_uint(), add helper read functions

    * Implement Context::decode() function. Add test.

    * Fix bug, add tests

    * Rename methods

    * Add Context::encode() and decode() methods using global data

    * Make encode and decode methods use u32 indices

    * Refactor YJIT to use variable-length context encoding

    * Tag functions as allow unused

    * Add a simple caching mechanism and stats for bytes per context etc

    * Add comments, fix formatting

    * Grow vector of bytes by 1.2x instead of 2x

    * Add debug assert to check round-trip encoding-decoding

    * Take some rustfmt formatting

    * Add decoded_from field to Context to reuse previous encodings

    * Remove olde context stats

    * Re-add stack_size assert

    * Disable decoded_from optimization for now

commit c90b5303a2fff58eddd7b87a06262a785d9d1526
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 04:54:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-08 04:54:06 +0900

    Sync prism version to latest

commit 41a36b68531dd1d9fa044c34ac40a5c4abedda2e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 04:27:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 04:46:27 +0900

    [ruby/prism] Handle chomped bytesize with lines without newlines

    https://github.com/ruby/prism/commit/1528d3c019

commit 94e059797ae89b35a2c72bf1a4307766a1a9e960
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 03:55:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 04:46:24 +0900

    [ruby/prism] Document that nested heredocs are not properly parsed for parser

    https://github.com/ruby/prism/commit/d218e65561

commit 79e9dea8defd74db8d66ec6965cbba55c800f76e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 03:52:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 04:46:20 +0900

    [ruby/prism] Ensure inner heredoc nodes have the correct location

    https://github.com/ruby/prism/commit/100340bc6b

commit ce0a352e34022b46397b5a2712f03bafc1b505ad
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-08 03:38:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-08 04:46:16 +0900

    [ruby/prism] Use correct newlines for heredoc inner lines

    https://github.com/ruby/prism/commit/4a9a7a62af

    Co-authored-by: Jason Kim <jasonkim@github.com>
    Co-authored-by: Adam Hess <HParker@github.com>

commit 792e9c46a410332e261ec52f8beba3e1522b20da
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-07 23:10:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-08 01:24:05 +0900

    Remove prism compiler warning

commit caac56584ccafd9a103f79a1fc9d389fe438181f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-06-07 22:50:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-06-08 00:55:38 +0900

    Don't use SEGV signal when timeout in test_gc_compact

    Using a SEGV signal for timeout makes it difficult to tell if it's a real
    SEGV or if it timed out, so we should just use the default signals.

commit 43cf0f99f99e81614a265863349e6f3264578865
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 23:44:29 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 23:44:29 +0900

    TestRequire#test_loading_fifo_threading_success: Extend the timeout limit

commit 239378613b710f96bd078301bb4061078e088524
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 23:29:59 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 23:29:59 +0900

    TestRegexp#test_match_cache_positive_look_behind: Extend the timeout limit

commit 36b3fea0ff02645af071097e11801e6d2293bc95
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 23:11:10 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 23:11:10 +0900

    TestRegexp#test_timeout_shorter_than_global: Extend the timeout limit

commit b9b207f3888d5d2bbf094074abfda143c76b88c8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 23:03:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 23:03:49 +0900

    TestRequire#test_loading_fifo_fd_leak: Extend the timeout limit

commit 7944710ed46f4ca13fd5e3c023fc37fcb1928fad
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 22:39:21 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 22:39:21 +0900

    TestGc#test_thrashing_for_young_objects: extend the timeout limit

commit 91b86f1b4f1b6b269cca800fbbe53415f0d8d173
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 22:34:28 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 22:37:08 +0900

    TestRegexp#test_s_timeout: accept timeout errors more tolerantly

    This test seems flaky on macOS GitHub Actions

commit 51bb5dcd2e63d7902794d42147817733249d3dd9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-07 22:26:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 22:28:23 +0900

    [ruby/error_highlight] Trim trailing spaces in base.rb

    https://github.com/ruby/error_highlight/commit/8ce3f6f145

commit 40ec860de761af3b7b8538452a55c2ef8b9bb93e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 02:50:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 22:15:14 +0900

    [ruby/error_highlight] Support for the prism compiler

    https://github.com/ruby/error_highlight/commit/69fbacfd49

commit 0e5640b56f85104293cabe34ae08b8fc94241c7d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 21:26:50 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 22:09:44 +0900

    Extend timeout of TestGCCompect#test_moving_objects_between_size_pools

    It is too flaky on macOS GitHub Actions

commit 5e1001f754b34e1f0cc67563512c6036b6eb75ab
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-07 21:53:11 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-07 21:55:42 +0900

    [DOC] document line continuation.

    Document details of escape sequences including line continuation.

    [Bug #20518]

commit 547233fb6e0cab6e1151737377061c572ee0494e
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 21:22:32 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 21:23:34 +0900

    Stop core upload on macOS

    It was too big

commit 1c09b013b9eb1cdc01d466f8048f1b40d56fff04
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-07 15:33:46 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 20:15:37 +0900

    Upload only from ruby/ruby

commit 9ee6b944bf9b9ae85e16783856fc4d54a3195307
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-06 18:02:16 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 20:15:37 +0900

    Fix the command-line arguments for tar compress

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 37e2063b81805bcec489e47c15db6046b4e75ce8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-06-06 17:35:06 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-07 20:15:37 +0900

    Set `ulimit -c unlimited` for `make test-all` in macOS

commit 1c5c724c6f92a4461b90af7afd8acafcf40673b1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 16:15:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 16:15:00 +0900

    Balance block braces with `#if`

commit d51883e420e0dea3f43db0c3a2127d4a062f80bf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 14:19:48 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 14:19:48 +0900

    Enclose in ruby_version_is blocks

commit 5f6a4ed5074eda4b4b1bd2d6dd29aaf3b8ef879d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 14:15:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 14:15:05 +0900

    Remove the old untyped Data API in spec/ruby

commit a279463d0ebb2fe1d4021ddd4675141deead514b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-07 13:37:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-07 13:38:11 +0900

    [Bug #20397] Removed obsoleted section about nkf

commit fcfbe06edcec0055be1c6334231aa43a35745e5e
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-06-07 13:29:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-07 13:29:07 +0900

    Bundle rbs-3.5 (#10929)

    * Bundle rbs-3.5.1

commit 9e28354705e2aa312e5dee775e3bd08095fc7e9c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-19 19:42:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 11:28:38 +0900

    ripper: Fix excess `compile_error` at simple backref op_asgn

    Fix up 89cfc1520717257073012ec07105c551e4b8af7c.

commit 335cb28886dda81b5c3dad1bb02cf7b7450e05e9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 03:15:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 10:42:41 +0900

    Do not try random devices immediately twice

    Do not retry `fill_random_bytes` in `Init_RandomSeedCore`, just after
    it failed first.

    In other places, `rand_init_default` and `random_seed`, no more tweeks
    needed once it succeeded

commit 5b4734d51d8504e3b4152d54f26cdeaef0957b8c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-06 10:34:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 10:42:41 +0900

    win32: Allocate the wrapper for crypt provider handle first

    Also use a typed data.

commit 0396050f5a927f6f32c9eebd8549d38c8255c14a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-06 10:32:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 10:42:41 +0900

    Cast `RUBY_ATOMIC_PTR_CAS` arguments

    As well as `RUBY_ATOMIC_PTR_EXCHANGE` and `RUBY_ATOMIC_PTR_LOAD`.

commit 029d92b8988d26955d0622f0cbb8ef3213200749
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-08-24 06:43:06 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-06-07 07:46:41 +0900

    Disable __builtin_setjmp usage on linux-aarch64

    It is questionable whether __builtin_setjmp should default to yes
    at all, but since it appears to still have problems on this platform,
    it seems safest to disable it.

    Fixes [Bug #14480]

commit 8f7d08137e91df1168a44e1b921bf035087ee85c
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-07 06:50:43 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-07 07:31:21 +0900

    remove unused variable

commit ad29527920b2a37ee427dc4991ff74d7a2f53e05
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-07-01 09:04:52 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-06-07 07:02:04 +0900

    Fix Module#define_method to change visibility when passed existing method body

    Fixes [Bug #19749]

commit f789b816520a26244b0441ec4358e61955ef2ef0
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-06-07 04:55:13 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-06-07 06:37:59 +0900

    remove debug output

commit cbc83c4a9221110a94c670d07ed5b23548202cf2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-07 03:44:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-07 05:29:50 +0900

    Remove circular parameter syntax error

    https://bugs.ruby-lang.org/issues/20478

commit eb46b0924f916191a79d59b3ebc1d24a945e2171
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-31 19:22:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:33 +0900

    [rubygems/rubygems] Fix printing requirement based spec filters

    I don't understand what was the idea of "!=" here.

    https://github.com/rubygems/rubygems/commit/06d5f1dcf1

commit 0fb73a8eda941075533cdd109b591b746fee4c19
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-29 00:58:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:31 +0900

    [rubygems/rubygems] Avoid appending a final "/" when `fallback_timeout` is used in config

    https://github.com/rubygems/rubygems/commit/a0af1baa2b

commit 765d61593a088902debbffb62ed8ffb459643ce1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-31 04:50:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:30 +0900

    [rubygems/rubygems] Remove per uri options constant

    I don't think we should add more of these.

    https://github.com/rubygems/rubygems/commit/9eee9948cc

commit 82b68bc3583d2446c7bc28934a96903d634c6101
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 00:10:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:29 +0900

    [rubygems/rubygems] Move Bundler settings specific logic to Bundler

    https://github.com/rubygems/rubygems/commit/7d1e8be2ce

commit da10d1ddea26929f08a2f0cf7f4fcc9e40d313a5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-29 23:09:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:28 +0900

    [rubygems/rubygems] Avoid `is_a?` check before using `normalize_uri`

    https://github.com/rubygems/rubygems/commit/31cb15d03f

commit 60620509f44ae594103b400ef2f22558e4baeedd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-29 23:02:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:27 +0900

    [rubygems/rubygems] Remove unnecessary `.to_s`

    The `normalize_uri` method always gives back a String.

    https://github.com/rubygems/rubygems/commit/246953010c

commit 61a80bd10d46b0a8e696bbd914dd85ea039a70a9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-29 00:22:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:53:25 +0900

    [rubygems/rubygems] Truly ignore commented out settings

    https://github.com/rubygems/rubygems/commit/e31df2d6ef

commit 4d29d219b90cae3b1c02e5f698098e5675c189c7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-07 02:27:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:53 +0900

    [rubygems/rubygems] Enable one spec on truffleruby that reproduces the Pathname problem

    Recent refactorings in test suite to not load `pathname` for launching
    Bundler subprocesses make some specs fail due to the warnings Ruby prints
    when autoloading `pathname` under a namespace. But enabling this spec
    also reproduces the hard error it produces on truffleruby.

    https://github.com/rubygems/rubygems/commit/e47cd78081

commit da75df2f75648d7ff87e4701874b2b425ca83f71
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-19 04:11:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:52 +0900

    [rubygems/rubygems] Stop depending on `pathname` for subprocess launching

    When launching bundler subprocesses for end to end testing, all of them
    will load the `spec/support/rubygems_version_manager.rb` file passed as
    a ruby's `-r` flag.

    Unfortunately this file depends on `pathname`, so unless we drop that
    dependency, we can't really test support for including the `pathname`
    gem in the `Gemfile`.

    This commit implements some refactorings to avoid loading `pathname`
    inside `bundler` test subprocesses.

    https://github.com/rubygems/rubygems/commit/c1f948788c

commit 9579c3d988fb31142700cbaa9f4c726abc0aa9e0
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-19 03:56:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:43 +0900

    [rubygems/rubygems] Reuse `git` helper when possible

    https://github.com/rubygems/rubygems/commit/f7c7bae940

commit b5a7f639615040bffde581a26ddabf80890a3493
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-19 01:55:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:42 +0900

    [rubygems/rubygems] Respect `GEM_COMMAND` in non ruby-core mode

    Not that I need it, but reads better.

    https://github.com/rubygems/rubygems/commit/db3eca7b92

commit b5949ad62a1bd2f3caee79ad2b4dbbb4d37d1092
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-19 01:53:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:41 +0900

    [rubygems/rubygems] Simplify check for ruby-core setup

    https://github.com/rubygems/rubygems/commit/77bc6f1ecc

commit 4720b7d257606525def271bfbdbc18fd1bba556a
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-18 18:31:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:41 +0900

    [rubygems/rubygems] The `system_gem_path` helper method already joins internally

    https://github.com/rubygems/rubygems/commit/10f2ce1afb

commit f0d5df733ba90df69048c697623bf8e88de048f0
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-18 18:28:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:40 +0900

    [rubygems/rubygems] The `default_bundle_path` helper method already joins internally

    https://github.com/rubygems/rubygems/commit/6b3f555211

commit 7fbc9ffb89b80d42df49c8e54881172e71eb47d4
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-18 18:26:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:39 +0900

    [rubygems/rubygems] The `home` helper method already joins internally

    https://github.com/rubygems/rubygems/commit/279740ed52

commit 30d028eab611470a8731e909d502bcfa85f43e92
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-18 18:26:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:38 +0900

    [rubygems/rubygems] The `bundled_app` helper method already joins internally

    https://github.com/rubygems/rubygems/commit/57576e27a1

commit f5c6a395a529c81f2baa7f40a0eaa6a999b7c0cb
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2021-10-18 18:25:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:37 +0900

    [rubygems/rubygems] The `tmp` test helper already joins internally

    https://github.com/rubygems/rubygems/commit/2d9eeadb62

commit c8161a4eae20a59f91b993d45952525844ed7e16
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-31 02:05:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 03:44:35 +0900

    [rubygems/rubygems] Autoload `pathname` at the top level

    Otherwise Ruby >= 3.2 gives a warning which makes several specs fail,
    and truffleruby rejects it at all.

    https://github.com/rubygems/rubygems/commit/ae2878484f

commit 7b7d1586ee8c8e4bd73ab44798432099517cdde0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-07 01:32:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-07 01:44:43 +0900

    [ruby/prism] Reject additional patterns under splat in target

    https://github.com/ruby/prism/commit/90d570aa50

commit e323dbb1bd0a4022e353e70dc24c5f98c5e45553
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 00:50:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 00:50:30 +0900

    Make subclasses to define methods

commit ec7babd12d5802e9970d9aecd78ac2e5ec79bcc8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-07 00:49:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-07 00:49:52 +0900

    [Feature #19998] Untyped Data API has been marked as deprecated

commit 9f469ad187e80854c9b3aaffa2feca8ad5b77fd3
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-07 00:25:38 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-07 00:25:38 +0900

    [DOC] Time uses the proleptic Gregorian calendar.

commit 78d7b470ec100495a8879ebf319d627f78bf60c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 23:04:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-06 23:15:55 +0900

    [ruby/prism] Add some code samples

    https://github.com/ruby/prism/commit/f5c883af56

commit b0059980d04c2395589f3da4a9babaeb45dd4429
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 04:23:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-06 23:15:50 +0900

    [ruby/prism] Add some samples for using prism APIs

    https://github.com/ruby/prism/commit/6a4fe21088

commit 27321290d954300192c82cdf5e2c794a695473f5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-06 20:02:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-06 20:43:56 +0900

    [Bug #20521] ripper: Clean up strterm

commit f465045dd6ef1a51cf181f9e4c038b905f79bd2c
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-06 20:20:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-06 20:20:29 +0900

    [ruby/reline] Remove instance variable @first_char
    (https://github.com/ruby/reline/pull/717)

    When Reline reads EOF, Reline.readline should return nil if and only if input is empty

    https://github.com/ruby/reline/commit/cc74b3686a

commit fbb61a26e71be9faccb4ad2392e71d0a561854d1
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-30 20:15:51 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-06 18:44:27 +0900

    Mark old Data API as deprecated

    [Feature #19998]

commit d4aff75a454ddfcf039fddb4bccd46087e50f12e
  Author:     Baron Bloomer <baronbloomer@gmail.com>
  AuthorDate: 2022-04-07 20:32:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-06 18:07:49 +0900

    [ruby/logger] Add support for symbols in #shift_age

    Resolves issue: https://github.com/ruby/logger/issues/46

    https://github.com/ruby/logger/commit/83502c2107

commit 1a092857955a8ab8b568d465bc82a0efe5f7d052
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-06 17:31:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-06 17:31:17 +0900

    Revert "Update bundled_gems"

    This reverts commit ba72cfa6616d377ceb62d94f10157097349634e5.

    https://github.com/ruby/ruby/actions/runs/9396582605/job/25878058017#step:10:788

    ```
    ../../../../../../src/.bundle/gems/rbs-3.5.0/ext/rbs_extension/location.h:23:25: error: zero size arrays are an extension [-Werror,-Wzero-length-array]
       23 |   rbs_loc_entry entries[0];
          |                         ^
    1 error generated.
    ```

commit ba72cfa6616d377ceb62d94f10157097349634e5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-06 15:49:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-06 16:06:33 +0900

    Update bundled_gems

commit 6f3c1e1def297deea6994df5f623471e8093f75c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 03:44:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 09:04:12 +0900

    [PRISM] Sync latest prism

commit 0b31986909eaccb6b5f8f99f9ab2a458170a21af
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-06-06 05:27:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-06 05:27:00 +0900

    [DOC] Doc for module Errno (#10913)

commit 33f92b3c88e8f03ec2aaf9db762e1eea845bee10
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-05 18:52:16 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-06 03:53:49 +0900

    Don't add `+YJIT` to `RUBY_DESCRIPTION` until it's actually enabled

    If you start Ruby with `--yjit-disable`, the `+YJIT` shouldn't be
    added until `RubyVM::YJIT.enable` is actually called. Otherwise
    it's confusing in crash reports etc.

commit fa038f838f5c3b5a8d19b867a4ea66769f61f17a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 02:53:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [PRISM] Strip out common.mk for pm_string_list

commit 46c3e609a365f6210ea2368e3d06447ac454a894
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 01:19:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Fix up documentation for regexp structs

    https://github.com/ruby/prism/commit/78d9f20e9d

commit d13112b779d8dd8482f4a545655c37bdf860abf1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 00:45:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Parse all regular expressions

    https://github.com/ruby/prism/commit/11e0e204ce

commit 3cb866ce35f8dea504a1ec5c84c4f0ede51c7a32
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 00:29:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Add Onigmo to other gemfiles

    https://github.com/ruby/prism/commit/499ec1c3f1

commit 2a9c20c317989d9b6807abe96f3d935635470372
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 00:25:26 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Add Onigmo errors for invalid groups

    https://github.com/ruby/prism/commit/27e7685dd4

commit 0406efaf055d0db03d33ca215b407a2f74ce9bc1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 00:11:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Add Onigmo error for invalid repeat and empty group name

    https://github.com/ruby/prism/commit/953601e3c0

commit d604287626cc5fdb63e8671c9733f177d5824b4f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 23:55:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Add Onigmo error for empty char-class

    https://github.com/ruby/prism/commit/2e02fa3b80

commit c3747d5a2e029afb9aabc0b2f122ab701e68f71f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 23:50:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Report onigmo errors for depth

    https://github.com/ruby/prism/commit/e0e8bba8be

commit 41f27346440eab0d80b8c50be8741e3344af9ed5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 01:36:43 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Change pm_regexp_parse to not return boolean

    https://github.com/ruby/prism/commit/b03afbe857

commit 65746055b4d2c16b68e559cde327889f91f0d516
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 01:11:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Pass prism parser into regexp parser

    https://github.com/ruby/prism/commit/c19b0fa185

commit ac70dd07e68384bf5e271dae7e8f08e7a64df1a1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-06 02:47:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Remove unused string list struct

    https://github.com/ruby/prism/commit/36c6851c85

commit ad438623e8f4e90b7d6567c6c552be89d080dcca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 01:05:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-06-06 03:40:03 +0900

    [ruby/prism] Switch regexp parsing to use a callback from named capture groups

    https://github.com/ruby/prism/commit/29d80e486e

commit aa61d4237dad54e01c00f8cef4ba7f7cdffb8a80
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-06-06 01:29:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-06 01:29:29 +0900

    [ruby/irb] Add accidentally dropped disable_irb command back
    (https://github.com/ruby/irb/pull/964)

    * Add accidentally dropped disable_irb command back

    * Sort command files require by name

    https://github.com/ruby/irb/commit/1d627cebca

commit 83f02d42e0a3c39661dc99c049ab9a70ff227d5b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-05 21:05:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-05 21:05:16 +0900

    [Bug #20524] Do not define USE_GMP insteaad of setting to "no"

commit f8e3dd4ec1afab4cd056029982229f3bbea006da
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-05 18:01:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-05 18:01:28 +0900

    [Bug #20524] win32: Suppress GMP warning

    ```
    C:\vcpkg\installed\x64-windows\include\gmp.h(2237): warning C4146: unary minus operator applied to unsigned type, result still unsigned
    ```

commit d7e558e3c48c213d0e8bedca4fb547db55613f7c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-05 17:03:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-05 17:26:50 +0900

    Mark to warn logger as bundled gems for Ruby 3.5

commit 065190a973c9534b93e3ff99b789bcc945032dfd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-05 17:11:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-05 17:11:10 +0900

    [Bug #20524] win32: Try to configure GMP if available

commit f8abd24b1f28998157da1230b231419ef7b81722
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-05 02:39:17 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-05 16:22:15 +0900

    Improve YJIT performance warning regression test

    [Bug #20522]

commit f567633a16b754e50593d0c0864dd6a52f6c8306
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-05 13:04:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 13:04:09 +0900

    [ruby/reline] Refactor input key reading
    (https://github.com/ruby/reline/pull/712)

    * Add key binding matching status :matching_matched

    * Simplify read_2nd_character

    * Add a comment of matching status and EOF

    * Matching status to a constant

    * Expand complicated ternary operators to case-when

    https://github.com/ruby/reline/commit/64deec100b

commit 59ab002665cb3c69bdfbf07e73b1a412c5e5205e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-05 10:21:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-05 12:34:21 +0900

    [Misc #20523] Use HEAD version of vcpkg at 20240605

    This revision includes the following packages:

    ```
    gmp:x64-windows@6.3.0
    libffi:x64-windows@3.4.6
    libyaml:x64-windows@0.2.5#4
    openssl:x64-windows@3.3.0#1
    vcpkg-cmake:x64-windows@2024-04-18
    vcpkg-cmake-config:x64-windows@2022-02-06#1
    vcpkg-cmake-get-vars:x64-windows@2023-12-31
    zlib:x64-windows@1.3.1
    ```

commit 63e9eaa5bef3fdb1f621d81eab6578fd4cb0f78d
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-06-02 09:33:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 09:45:53 +0900

    [ruby/openssl] Fix test_create_with_mac_iter accidently setting keytype not maciter

    This test was accidentally passing the value 2048 into the keytype
    parameter of PKCS12_create, not the mac_iter parameter (because it had
    one too many `nil`s in the call). This value is invalid, and will make
    OpenSSL perform an out-of-bounds read which is caught when compiling
    with ASAN.

    This commit fixes the tests, and also adds some validation to
    PKCS12.create to make sure any keytype passed is actually valid. Since
    there only two valid keytype constants, and the whole feature is an
    export-grade crypto era thing only ever supported by old MSIE, it seems
    far more likely that code in the whild is using keytype similarly by
    mistake rather than as intended. So this validation might catch that.

    https://github.com/ruby/openssl/commit/47028686d2

commit 2e5e47184c59641ab23c6dab74b75404edcbf7f2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-05 09:00:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-05 09:00:17 +0900

    Added gmp for Windows CI. But we may need to use additional configuration

commit 5dce2620f28940201a5885c850a3ad82c7d936c5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-05 08:57:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-05 08:57:15 +0900

    Don't need readline library now

commit 10ecdeb4665cbc061f80cc26c5456ff124703d89
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 21:25:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-05 08:35:33 +0900

    Mark to warn fiddle as bundled gems for Ruby 3.5

commit c2fb22d0eb271fd902809f3e465de71fd0f4a62a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:56:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:55 +0900

    [ruby/prism] (parser) mark spanning newlines as incorrect

    https://github.com/ruby/prism/commit/09ba678066

commit e440804d7ad42bf244c5a20e461cd6e7beed20f3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:50:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:54 +0900

    [ruby/prism] (parser) split up regexp content by lines

    https://github.com/ruby/prism/commit/85b4a5f804

commit c2d3573c63934047df1d455a71a4f4248070a638
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:45:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:54 +0900

    [ruby/prism] (parser) handle quoted symbols in hash patterns

    https://github.com/ruby/prism/commit/461aa5e658

commit 4354e452547bbd851078cd1f0f7effe932e01516
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:36:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:54 +0900

    [ruby/prism] (parser) fix up srange_find to anchor at the start of the slice

    https://github.com/ruby/prism/commit/aecce571d8

commit f118f92a02d1a671c9662e372954434238462f5d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:29:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:53 +0900

    [ruby/prism] (parser) mark unary_num_pow_precedence as incorrect

    https://github.com/ruby/prism/commit/c49efdf824

commit bbf9b5baadaa476f72ae4d378841b3a63bdf7043
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-05 03:17:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 05:28:53 +0900

    [ruby/prism] (parser) fix up nested multi write

    https://github.com/ruby/prism/commit/12e079c97e

commit ac429df64fdec71ef705ddb984ad9f80ac03f249
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-05-30 08:06:32 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-06-05 05:04:41 +0900

    Ignore retguard symbols when looking for leaked symbols

    retguard symbols are added on OpenBSD as part of stack protection.
    They should be ignored by the leaked symbols checker, just as we
    ignore asan symbols.

commit c90cb4d743328daa7d665309e761672cf18d56f6
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-06-04 22:59:57 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-06-05 04:34:19 +0900

    Fix pathes => paths typo in bootstrap test runner

commit 932ecd3a1c8a2c5094406063903866499176529e
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-05 03:34:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 03:35:03 +0900

    [ruby/reline] Ensure no escape sequence before printing prompt
    (https://github.com/ruby/reline/pull/716)

    https://github.com/ruby/reline/commit/f9227b5c89

commit 5ea843f9b237c08dbdc82125462cf431bd885c7b
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-05 03:32:54 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-05 03:33:12 +0900

    Revert "Revert "[ruby/reline] Reline::ANSI is general io. Reline::GeneralIO is not.""

    This reverts commit 6e84ac2359c8fc8cb686ef4644b9cae26cd5ab9e.

    Now that the rubygems spec change has been merged, let's try reverting
    this and fixing it with tompng's new patch.

commit 40a9e806f2e83cf5e26f8fa52ad4f624a4118915
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-05 03:31:00 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-05 03:31:20 +0900

    merger.rb: Put spaces in between revisions

    so that they are linked correctly on GitHub

commit 69dc6416be8b3217890b3cfaff85b2134b7956a7
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-04 22:16:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 03:24:52 +0900

    [rubygems/rubygems] Relax readline prompt test

    https://github.com/rubygems/rubygems/commit/1f6e028201

commit 6b379b9b9815180f6edac2376e6bde0172643419
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-06-05 02:50:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-05 02:50:42 +0900

    [DOC] Exceptions doc (#10865)

commit f7b53a75b648e7156f49c1d5c266e2d85f159fc6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-06-05 00:27:29 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-05 02:21:01 +0900

    Do not emit shape transition warnings when YJIT is compiling

    [Bug #20522]

    If `Warning.warn` is redefined in Ruby, emitting a warning would invoke
    Ruby code, which can't safely be done when YJIT is compiling.

commit 86272257047aeac65ae0a5af100093e39c2ee00a
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-06-05 00:19:50 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-05 00:19:50 +0900

    Add/revise Errno descriptions (#10897)

commit fd517a97bee843d77f802de23efa78fcb661b025
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 06:31:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-05 00:05:52 +0900

    [ruby/prism] Revert "Revert "Properly destructure procarg0 in parser translation""

    This reverts commit https://github.com/ruby/prism/commit/d8ae19d0334a.

    https://github.com/ruby/prism/commit/df1eda2811

commit a2147eb694b30d0fbbb7b471e8e3a5c9276d2632
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-04 23:17:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-04 23:17:40 +0900

    YJIT: Fix getconstant exits after opt_ltlt fusion (#10903)

    Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>

commit a8c1ef6a608a121f7a5786eeec51f7a69a7f96b0
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-04 21:09:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 21:09:15 +0900

    [ruby/irb] Remove useless Reline::Key.new and update wrong comment
    for alt+d
    (https://github.com/ruby/irb/pull/963)

    https://github.com/ruby/irb/commit/a572180b3a

commit 892849ac986f7e4121e22c7d532d6d6937c0f12c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 17:53:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 19:53:04 +0900

    Remove dependency on fiddle from test/ruby

    Co-authored-by: "Nobuyoshi Nakada" <nobu@ruby-lang.org>

commit 8ff5458c2edce15602b0f578d44c3118d9f8a035
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 16:55:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 18:30:39 +0900

    EXACT list is mostly same as SINCE list on bundled gems.

commit f365bef0c78085b7db9b6736ae59c1657baa79a3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 16:52:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 18:30:39 +0900

    Warn to use win32ole without Gemfile for Ruby 3.5

commit 1ac3a71d66ad6549a4de65481c81bb002e3650ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-04 18:01:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-04 18:01:58 +0900

    [DOC] ruby.1: Refine RUBY_GC_HEAP_n_INIT_SLOTS description

commit bdcdeb7918ee692ec3ade73cefc1ee6d9f542d47
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-04 17:55:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-04 17:56:06 +0900

    [DOC] ruby.1: mandoc is not markdown

commit 7bc4b5f17f044afadd6899fbe0d1bbe03aa40a6d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 15:56:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 16:50:20 +0900

    [ruby/win32ole] Added missing extensions

    https://github.com/ruby/win32ole/commit/8456e8830e

commit 8080cb709065f5985148e6b00fdb465915f8ac31
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 15:00:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 15:00:47 +0900

    Removed trailing spaces.

commit 9c4a28b8265d3eb644acf057e32c0ec1feaf66a3
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-04-15 19:57:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 14:44:43 +0900

    [flori/json] Use the pure-Ruby generator on TruffleRuby as it is much faster

    * Using the benchmark from https://github.com/flori/json/pull/580
    $ ruby benchmarks/bench.rb dump pure
    JSON::Pure::Generator
    truffleruby 24.0.0, like ruby 3.2.2, Oracle GraalVM Native [x86_64-linux]
    Warming up --------------------------------------
          JSON.dump(obj)   116.000 i/100ms
          JSON.dump(obj)   235.000 i/100ms
          JSON.dump(obj)   317.000 i/100ms
          JSON.dump(obj)   372.000 i/100ms
          JSON.dump(obj)   374.000 i/100ms
    Calculating -------------------------------------
          JSON.dump(obj)      3.735k (± 0.9%) i/s  (267.76 μs/i) -     18.700k in   5.007526s
          JSON.dump(obj)      3.738k (± 0.7%) i/s  (267.49 μs/i) -     18.700k in   5.002252s
          JSON.dump(obj)      3.743k (± 0.7%) i/s  (267.18 μs/i) -     19.074k in   5.096375s
          JSON.dump(obj)      3.747k (± 0.5%) i/s  (266.87 μs/i) -     19.074k in   5.090463s
          JSON.dump(obj)      3.746k (± 0.5%) i/s  (266.96 μs/i) -     19.074k in   5.092069s
    $ ruby benchmarks/bench.rb dump ext
    JSON::Ext::Generator
    truffleruby 24.0.0, like ruby 3.2.2, Oracle GraalVM Native [x86_64-linux]
    Warming up --------------------------------------
          JSON.dump(obj)    19.000 i/100ms
          JSON.dump(obj)    18.000 i/100ms
          JSON.dump(obj)    18.000 i/100ms
          JSON.dump(obj)    18.000 i/100ms
          JSON.dump(obj)    21.000 i/100ms
    Calculating -------------------------------------
          JSON.dump(obj)    221.260 (±10.8%) i/s    (4.52 ms/i) -      1.092k in   5.004381s
          JSON.dump(obj)    221.983 (± 8.1%) i/s    (4.50 ms/i) -      1.113k in   5.055574s
          JSON.dump(obj)    221.446 (± 8.6%) i/s    (4.52 ms/i) -      1.113k in   5.073167s
          JSON.dump(obj)    226.452 (± 7.9%) i/s    (4.42 ms/i) -      1.134k in   5.048568s
          JSON.dump(obj)    227.795 (± 8.3%) i/s    (4.39 ms/i) -      1.134k in   5.025187s

    https://github.com/flori/json/commit/8256455cdc

commit 3eda59e9752baec109241983bb7f946db31b74d1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-04 12:40:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 12:40:08 +0900

    Sync strscan HEAD again.

    https://github.com/ruby/strscan/pull/99 split document with multi-byte
    chars.

commit c5ae432ec8fd1aecde5bec90cc2b4769822c9597
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-31 16:59:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-04 12:23:48 +0900

    [flori/json] Cleanup useless ifdef

    The json gem now requires Ruby 2.3, so there is no point keeping
    compatibility code for older releases that don't have the
    TypedData API.

    https://github.com/flori/json/commit/45c86e153f

commit c4056b0e43eea61ff88130e87d752957d4900a2b
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-04 07:40:51 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-04 09:20:02 +0900

    YJIT: Add another regression test for empty splat

    Follow-up for 6c8ae44a388e5c03b7db90376af3652007b574e8 ("YJIT: Fix out
    of bounds access when splatting empty array"). This test crashes Ruby
    3.3.2.

commit e7e83a313c6aac9d57e17a021c24a9c8e2167cca
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-04 08:50:42 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-04 08:50:43 +0900

    Skip flaky RJIT tests

    https://github.com/ruby/ruby/actions/runs/9352283948/job/25740049841
    https://github.com/ruby/ruby/actions/runs/9350872852/job/25735280811

    Not a high priority to fix right now, so skipping until we get to fix
    it.

commit 372531f3bc21bb28ab5b3114d358f6dc7e45041d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-04 08:13:28 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-04 08:13:28 +0900

    Revert "Skip failing Bundler specs for now"

    This reverts commit a8f5284045e3aba1b45691142e5c01bf1d24d519.

    Sorry, I didn't mean to push this one since I reverted the reline
    change.

commit 6e84ac2359c8fc8cb686ef4644b9cae26cd5ab9e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-04 08:11:33 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-04 08:11:54 +0900

    Revert "[ruby/reline] Reline::ANSI is general io. Reline::GeneralIO is not."

    This reverts commit ba01d15cf5db96933905d669c68f5cc0cd6910b8.

    It seems to be failing test-bundler-parallel. Reverting it to normalize
    the CI. We should revert this revert once we figure it out.

commit a8f5284045e3aba1b45691142e5c01bf1d24d519
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-04 08:09:02 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-04 08:09:02 +0900

    Skip failing Bundler specs for now

commit 89ef1392f8966735964b38335b6e8b6613450de9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 06:29:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 06:31:29 +0900

    [ruby/prism] Revert "Properly destructure procarg0 in parser translation"

    This reverts commit https://github.com/ruby/prism/commit/823e931ff230.

    https://github.com/ruby/prism/commit/d8ae19d033

commit 5502890a2fc2c98c4a073bde97d9667c59e8a2de
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-02 02:50:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 06:12:36 +0900

    [ruby/prism] Properly destructure procarg0 in parser translation

    https://github.com/ruby/prism/commit/823e931ff2

commit 56301ba324e2bb8f1c90cfe8e25db8fcdcab14bd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 02:47:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 05:57:53 +0900

    [ruby/prism] Update unparser tests

    https://github.com/ruby/prism/commit/aee84cf42c

commit 856898e9774a1935b4accf32941ced37274e6aa1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 02:45:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 05:57:51 +0900

    [ruby/prism] Update seattlerb tests

    https://github.com/ruby/prism/commit/a255653447

commit 91ee58ee48fc062befd5ee0225ad70514034d828
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 02:42:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 05:57:50 +0900

    [ruby/prism] Update whitequark tests

    https://github.com/ruby/prism/commit/95e2484903

commit 77581dd45b526ca32fa7d42762faba32709d36a7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-04 02:31:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-04 05:57:48 +0900

    [ruby/prism] Fix up steep issues

    https://github.com/ruby/prism/commit/21d314eb2e

commit 520ab22725124ef3d588c9ec664b1adfc98da905
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-06-03 15:40:24 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-06-04 03:02:49 +0900

    Avoid unnecessary writes to imemo_env during GC

    Similar to the previous commit, to avoid unnecessary Copy-on-Write
    memory use we should only set this flag when it has not previously been
    set.

commit 9d6b8806a4e0801c260f628e48a21ae94cb3fc91
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-06-03 15:39:36 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-06-04 03:02:49 +0900

    Avoid unnecessary writes to ISEQ during GC

    On mark we check whether a callcache has been invalidated and if it has
    we replace it with the empty callcache, rb_vm_empty_cc(). However we
    also consider the empty callcache to not be active, and so previously
    would overwrite it with itself.

    These additional writes are problematic because they may force
    Copy-on-Write to occur on the memory page, increasing system memory use.

commit 17b89849c6076777ccfd014f191f8c97f81f8cae
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 16:54:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:42:19 +0900

    Count uninitialized call cache as miss empty

    Fix segfault at start up when `USE_DEBUG_COUNTER` is enabled.

commit ba01d15cf5db96933905d669c68f5cc0cd6910b8
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-03 23:28:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-03 23:28:33 +0900

    [ruby/reline] Reline::ANSI is general io. Reline::GeneralIO is not.
    (https://github.com/ruby/reline/pull/659)

    Reline::ANSI has a partial non-tty supporting code. It should be a general io.
    Reline::Dumb should be only used in testing.

    https://github.com/ruby/reline/commit/2d6828473d

commit 7aa1bca2c9d8f002b0cc6d6730318d726d20d52d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 23:06:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add environment variable RUBY_PAGER

commit fa8984df2ed737d7e4713bf60816f4ac50326b34
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 23:05:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add environment variable RUBY_MAX_CPU and RUBY_MN_THREADS

commit 2192b0eaa06e07d7903d8c9f7debed36d4a46c84
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 21:34:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add environment variable RUBY_FREE_AT_EXIT

commit c08783f398f7a019675289f7cef4acee5a371b24
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 20:45:31 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Remove environment variable RUBY_GC_HEAP_INIT_SLOTS

commit 0fb2147284423eafabbf5d8878dd9392981f3b24
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 20:35:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add environment variable RUBY_IO_BUFFER_DEFAULT_SIZE

commit c25f653047a04156772ec19ef5f7f5899518a378
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 20:18:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add environment variable RUBY_SHARED_FIBER_POOL_FREE_STACKS

commit 589764b1c9ed8ed5b59dfb953667b41c41700ce2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 20:07:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Add missing GC environment variables

commit 1ca4c8b41f04a72ce66537edf16729af3f5d41d0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 19:57:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-03 23:10:05 +0900

    [DOC] man: Fix up formatting

commit 5d33ff36dcc04bd134dc53bedec7c2144658df51
  Author:     Hiroaki Osawa <ikusawasi@gmail.com>
  AuthorDate: 2024-06-03 23:05:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-03 23:05:51 +0900

    [ruby/reline] In ed_search_[prev|next]_history, make the cursor come
    to the end of the line when there is no search substr
    (https://github.com/ruby/reline/pull/714)

    * In ed_search_prev_history, make the cursor come to the end of the line when there is no search substr

    * In ed_search_next_history, make the cursor come to the end of the line when there is no search substr

    * Implemented ActionState to search with empty substr if the previous operation was search with empty string.

    * Use a simple 2-element array to represent action_state

    https://github.com/ruby/reline/commit/95ee80bd70

commit 91d4a7ae0c719697db7dd6dd64ca664b60c9de04
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-06-03 22:14:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-03 22:15:05 +0900

    [ruby/reline] Improve key binding match/matching check
    (https://github.com/ruby/reline/pull/709)

    * Improve key binding match/matching check

    * Rename key_actors to default_key_bindings

    * Make key_stroke.expand always return a value

    * Update add_default_key_binding to use a add_default_key_binding_by_keymap internally

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    ---------

    https://github.com/ruby/reline/commit/353ec236e2

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 631449ac6b9336dfce577a786aff7eca0b8abcf1
  Author:     nagachika <nagachika@ruby-lang.org>
  AuthorDate: 2024-06-03 20:59:04 +0900
  Commit:     nagachika <nagachika@ruby-lang.org>
  CommitDate: 2024-06-03 20:59:04 +0900

    README.ja.md: Remove Cirrus CI badge image. folloup for 15ee9c7c1b693f29b6b2dbe7b47488bf154e481c.

commit 61af722d4e2899784a58d06f2be0d67cab9d0efa
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-03 14:37:32 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-03 14:37:32 +0900

    fix typos.

commit ac62adadc0413d86171d78339eaca2b91e81166f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-06-03 14:35:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-06-03 14:35:54 +0900

    Drop -v from RJIT CI

    It no longer hangs these days. It takes a lot of work to scroll through
    a lot of lines when reading logs.

commit cb6dcc77460272f56e2bd62874a9ea4c34ac5f33
  Author:     p0pemaru <36598331+p0pemaru@users.noreply.github.com>
  AuthorDate: 2023-08-14 21:40:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-03 14:24:18 +0900

    [ruby/date] [DOC] specify the unit of return value for Date#-

    https://github.com/ruby/date/commit/b3a2c7611e

commit 77e5e06846ffac01459fe18e9e293b6e5ebb3d4e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-03 10:45:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-03 14:23:44 +0900

    [ruby/date] Prevent converted gregorian date from GC

    `m_sf_in_sec` calls `rb_rational_new` that can cause GC.

    https://github.com/ruby/date/commit/6de449ab6a

commit d50404d6fe9dcd991dbad4f8757d23d38d1b5b80
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-06-03 14:19:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-06-03 14:20:23 +0900

    Revert "Sync strscan document files to under the doc directory"

    This reverts commit 5611e249e10bf95d48bbf27674bbb6b1fe588b5e.

    Followed up with https://github.com/ruby/ruby/commit/78bfde5d9f42f2d7bcfb40343477eb8e73ca0e29

commit ca2170e69f454259c612143a8c3bf6ab576d7f4d
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-03 12:24:55 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-03 12:24:55 +0900

    [DOC] percent literals can be nested.

commit b346eb8f1401698b42d7ea0f7552bda15cc7439a
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-31 11:46:36 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-06-03 10:44:30 +0900

    Raise EAI_SYSTEM when pthread_create fails in getaddrinfo

    Previously, EAI_AGAIN was raised.

    In our CI, "Temporary failure in name resolution" (EAI_AGAIN) is often
    raised. We are not sure if this was caused by pthread_create failure or
    getaddrinfo failure. To make it possible to distinguish between them,
    this changeset raises EAI_SYSTEM instead of EAI_AGAIN on pthread_create
    failure.

commit d05d03b1866944e3d8f82d809b3370e7cf5e253e
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-02 23:24:08 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-02 23:24:08 +0900

    IO.select accepts a numeric value as timeout.

    [DOC] IO.select accepts a numeric value as timeout, not only an integer.

commit e1c9e6244b38f43496400863f610e53c36709589
  Author:     Daisuke Fujimura (fd0) <booleanlabel@gmail.com>
  AuthorDate: 2024-06-02 21:22:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 22:12:05 +0900

    Use real filename instead of `__FILE__`

commit 1f8c45aa51ece7df1d7d07382b44640ab30306cb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 21:27:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 21:33:02 +0900

    [DOC] building_ruby: Move the caution to a footnote

commit 7e52e3e3f7ccb0d14bd091b9ecef065eafbf2ef6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 21:07:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 21:33:02 +0900

    [DOC] building_ruby: External library links

    - `OpenSSL` here is not the class.
    - libexecinfo on FreeBSD is present in the base system of all
      supported releases, since 2017.

commit 457c6b4789199c3336126d4dc4883252c9e2f2ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 20:14:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 21:33:02 +0900

    [DOC] building_ruby: Refine links

    Get rid of using ambiguous demonstratives as link anchors, for the
    accessibility's sake.

commit 5980f14e88934ea068c1c3d54fd347709842f472
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 20:06:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 21:33:01 +0900

    [DOC] building_ruby: Fold long lines

commit 7c121692309d0a4d1183ace406b0c4a2848e6da6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-31 01:12:29 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-02 20:59:11 +0900

    Eliminate internal uses of `Data_Wrap_Struct`

    Ref: https://github.com/ruby/ruby/pull/10872

    These should be the last internal uses of the old `Data` API
    inside Ruby itself. Some use remain in a couple default gems.

commit 730e3b2ce01915c4a98b79bb281b2c38a9ff1131
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-30 21:55:32 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-06-02 20:53:35 +0900

    Stop exposing `rb_str_chilled_p`

    [Feature #20205]

    Now that chilled strings no longer appear as frozen, there is no
    need to offer an API to check for chilled strings.

    We however need to change `rb_check_frozen_internal` to no
    longer be a macro, as it needs to check for chilled strings.

commit 3eba84fba015f82fe4ed48ca32450c48a771942f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 19:00:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 19:59:05 +0900

    [DOC] Caution about old GNU make

commit 26bd4144f74131a55256cc6073d0c36e1e662736
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 13:42:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 18:36:09 +0900

    Add `nightly` recipe

    Installs the last revision in the previous `RUBY_RELEASE_DATE`.

commit 733c72e6f03673151b9f01923d783e24fb66fb82
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-02 17:21:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 17:21:22 +0900

    Show destination directory after installation

    Due to the length of the list of gems to install, the message at the
    beginning of the installation scrolls out.

commit 07a8d02c0c3b7b59dd16b8baccf32958fa1cf420
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-06-02 15:59:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-02 15:59:30 +0900

    Update bundled gems list as of 2024-06-01

commit 56fe5ad7785c5c1a6f81d3ef63b44ab12b47301e
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-02 10:18:56 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-02 10:18:56 +0900

    Time internal representation comment removed.

commit d03c61241a38cb16ed185d609af2d3dc69f66ba3
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-02 10:17:36 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-02 10:17:57 +0900

    Time internal representation described.

commit 0cc5f77c07d964bb308e29ecb8e5b4ee81aa26d1
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-05-09 23:48:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 09:50:43 +0900

    Remove unused functions from struct rb_parser_config_struct

    StringValueCStr has not used in parse.y

commit ae203984ff65c5cf3b152c26e3220744e05047d8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-27 18:06:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 09:43:33 +0900

    Ditto for NODE_DOT2 and NODE_DOT3

commit 2889ed1bcbd9b068239c6e981e46eb7bc406009a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-27 15:57:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 09:43:33 +0900

    Use `RNode_DREGX` variable for debuggers

    At least LLDB needs an actual variable not only casts to access the
    type in debugger sessions.

commit cedc7737b6a614de1ee2aaa8d66bbca217d9fa8f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-27 18:20:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 09:43:33 +0900

    Make interchangeable NODE types aliases

commit a7d0a910096fd61bff99efdfd6e4810c0287b61e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-28 10:31:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-02 09:39:20 +0900

    Raise memerror when really memory exhausted

    Fix segfault when `RUBY_THREAD_VM_STACK_SIZE` environment variable is
    very large.

commit fc495951b128a4256ba28be560584d2a58530f21
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-02 01:12:26 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-02 01:12:26 +0900

    Tempfile document updated.

commit fd74614059c069311dfb3ec1db914fce67421a51
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-01 20:54:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-01 21:51:27 +0900

    Get rid of type-punning pointer casts

commit 05553cf22d43dd78b8f30cc4591230b5c000c538
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-01 19:33:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-01 19:33:12 +0900

    [Bug #20517] Make a multibyte character one token at meta escape

commit cda69b5910494a745d87b7932547341cb2fefe3a
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-06-01 19:28:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 19:28:08 +0900

    [ruby/reline] Overhaul io gate structure
    (https://github.com/ruby/reline/pull/666)

    * Overhaul IO gate structure

    1. Move IO related classes to `lib/reline/io/` directory.
    2. Rename `GeneralIO` to `Dumb`.
    3. Use IO classes as instances instead of classes.

    * Update lib/reline/io/ansi.rb

    Co-authored-by: tomoya ishida <tomoyapenguin@gmail.com>

    ---------

    https://github.com/ruby/reline/commit/dc1518e1ac

    Co-authored-by: tomoya ishida <tomoyapenguin@gmail.com>

commit 767aa0cdb6b82beaf3ef3a51d1004812f52a72b9
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-01 18:14:29 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-01 18:14:29 +0900

    move `Tempfile.create(anonymous: true)` entry.

commit c05f60a600b2f61798124ea6f32a1c8f9d32731e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-01 16:25:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-01 16:25:12 +0900

    Suppress -Wclobbered warning for BLOCKING_REGION

commit a720a1c44702d91217b781e582269f1c57ecff1d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-01 16:22:31 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-01 16:22:31 +0900

    Suppress -Wmaybe-uninitialized warnings with LTO

commit 1eb651fb50d65b708453efdd6506870e061758c8
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-01 15:18:31 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2024-06-01 15:18:31 +0900

    described about `Tempfile.create(anonymous: true)`.

commit 3ee83c73c38070d695537d4322ce4decb970a54a
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2024-06-01 15:11:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-01 15:11:19 +0900

    Tempfile.create(anonymous: true) implemented. (#10803)

    The keyword argument `anonymous` is implemented for `Tempfile.create`

    The default is `anonymous: false`.
    The behavior is not changed as before.

    The created temporary file is immediately removed if `anonymous: true` is specified.
    So applications don't need to remove the file.
    The actual storage of the file is reclaimed by the OS when the file is closed.

    It uses `O_TMPFILE` for Linux 3.11 or later.
    It creates an anonymous file from the beginning.

    It uses FILE_SHARE_DELETE for Windows.
    It makes it possible to remove the opened file.

    [Feature #20497]

commit 5308da5e1c53839b27cc4c0081bb965b46e0d052
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-06-01 14:21:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-06-01 14:21:45 +0900

    Add dependencies of configure.ac

commit 6c8ae44a388e5c03b7db90376af3652007b574e8
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-01 06:37:21 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-01 07:37:13 +0900

    YJIT: Fix out of bounds access when splatting empty array

    Previously, we read the last element array even when the array was
    empty, doing an out-of-bounds access. This sometimes caused a SEGV.

    [Bug #20496]

commit bc40d0609177cd60ba1bc4fd915e03e917c0b79c
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-31 13:37:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 05:20:03 +0900

    [rubygems/rubygems] String search based parsing of compact index versions

    This significantly reduces memory usage.

    https://github.com/rubygems/rubygems/commit/8a76506c90

commit b5c8fb9a3f1ee8a38a04a3c96b7da5bf6c4c23ac
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-01 04:08:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 04:31:53 +0900

    [ruby/prism] Fix up heredoc location translation for parser

    https://github.com/ruby/prism/commit/a4e164e22b

commit 63ea77916a2996db97edd3d9803765e83faf966c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-01 03:35:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 04:31:53 +0900

    [ruby/prism] Match % strings in parser

    https://github.com/ruby/prism/commit/840185110f

commit 1b392ba7c65a360f282049f0cbad2be4cffba433
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-01 03:26:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 04:31:53 +0900

    [ruby/prism] Use correct opening and closing parenthesis for array pattern in parser

    https://github.com/ruby/prism/commit/beed43922c

commit 47f05dffa1a3cf95fa4a5f2511cd85aeb2341712
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-01 03:22:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 04:31:52 +0900

    [ruby/prism] Match match_hash_var when quotes are used

    https://github.com/ruby/prism/commit/f2a327449a

commit 02b27aca50c5f58f0f358eeb074a934f7c02da10
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-06-01 02:47:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 04:31:52 +0900

    [ruby/prism] Match parser for match_rest in pattern

    https://github.com/ruby/prism/commit/785de2c39d

commit 533f9ea9732ede68d024395f3ce37e09381c886d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-06-01 00:08:43 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-06-01 02:07:33 +0900

    YJIT: CI: Extend SYNTAX_SUGGEST_TIMEOUT for macOS

    To make it the same as the Ubuntu job. To avoid timeout failures due to
    added compilation time in call-threshold=1 runs.

    See: https://github.com/ruby/ruby/actions/runs/9317760443/job/25648721990

commit 082472451dcea0b28fd7a6bdeef227fda0425751
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-24 04:55:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 01:49:44 +0900

    [rubygems/rubygems] Raise a friendly error whenever commands run in subshell take more than a minute

    I expect to make occasional CI hangs easier to investigate.

    Implementation was adapted from tty-command.

    https://github.com/rubygems/rubygems/commit/39c92955bf

commit cc8b9855e1849dadf0590e646872ff1bed5101f9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-24 04:53:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 01:49:44 +0900

    [rubygems/rubygems] Remove no longer necessary code

    Upstream PR was merged and released.

    https://github.com/rubygems/rubygems/commit/d6afbfd664

commit 78860b8e52b66b4239c755362a5ca4deeb4f67e3
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-31 09:32:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 01:41:25 +0900

    [rubygems/rubygems] Move compact index concurrency to fetcher

    https://github.com/rubygems/rubygems/commit/ffd3711d00

commit 10c256f98fdd9f7942ff61246dc005bb13be8508
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-06-01 00:30:26 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-06-01 01:13:55 +0900

    Sychronize with rubygems/rubygems repo

commit 89486c79bb59216dbbbdff69a2c81cb387f64c5f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-06-01 00:22:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-06-01 00:22:40 +0900

    Make error messages clear blocks/keywords are disallowed in index assignment

    Blocks and keywords are allowed in regular index.

    Also update NEWS to make this more clear.

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 8e2a6435e4f80f3c84cb7d8ac6d7a059d5969e1b
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-16 23:32:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-06-01 00:09:37 +0900

    [rubygems/rubygems] Fix `gem uninstall` warning when two versions of psych installed

    https://github.com/rubygems/rubygems/commit/1b5644b666

commit 78ccf770aa5dcba42087b9a53f8eb46c3731d0ab
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 23:41:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 20:58:01 +0900

    [rubygems/rubygems] Make sure `rake` auto install works on Windows + Ruby 3.0

    https://github.com/rubygems/rubygems/commit/f513ea49b5

commit f4f56b23c3a82a86e50ed0f68a0c792bc7c40c75
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 18:38:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 20:58:00 +0900

    [rubygems/rubygems] Make stub sorting stable

    https://github.com/rubygems/rubygems/commit/6b70e9043d

commit 56689332960a989148f8d88ef8b7549b5e60e8bc
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 18:37:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 20:58:00 +0900

    [rubygems/rubygems] Extract a `spec` variable

    It's consistent with the previous test and makes print debugging easier.

    https://github.com/rubygems/rubygems/commit/d7f424df16

commit 21f10cabb9e4b879a987184f95f920764216ea43
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 18:09:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 20:58:00 +0900

    [rubygems/rubygems] Improve spec about `rubygems-update` in non default path

    Make it not also install the gem in the default GEM_HOME.

    https://github.com/rubygems/rubygems/commit/22de9a810a

commit 530c85be49638bbb47b90f9d329fb4a18fc2dd39
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-30 04:38:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 20:58:00 +0900

    [rubygems/rubygems] Remove unnecessary reset

    https://github.com/rubygems/rubygems/commit/33328e54fd

commit a15e4d405ba6cafbe2f63921bd771b1241049841
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-31 17:30:21 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-31 18:24:43 +0900

    Revert 528c4501f46fbe1e06028d673a777ef124d29829

    Recently, `TestRubyLiteral#test_float` fails randomly.

    ```
      1) Error:
    TestRubyLiteral#test_float:
    ArgumentError: SyntaxError#path changed: "(eval at /home/chkbuild/chkbuild/tmp/build/20240527T050036Z/ruby/test/ruby/test_literal.rb:642)"->"(eval at /home/chkbuild/chkbuild/tmp/build/20240527T050036Z/ruby/test/ruby/test_literal.rb:642)"
    ```
    https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20240527T050036Z.fail.html.gz

    According to Launchable, the first failure was on Apr 30.
    This is just when 528c4501f46fbe1e06028d673a777ef124d29829 was
    committed. I don't know if the change is really the cause, but I want to
    revert it once to see if the random failure disappears.

commit fd549b229b0822198ddc847703194263a2186ed1
  Author:     Sorah Fukumori <sorah@cookpad.com>
  AuthorDate: 2024-05-31 04:59:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-31 04:59:30 +0900

    test_bignum: defined? returns String (#10880)

    didn't verify the test is working properly due to mistaken auto-merge… [Bug #20515]

    bug: https://bugs.ruby-lang.org/issues/20515
    follow-up: 22e4eeda6561693367fc7a00b92b90f46b09cabd
    follow-up: https://github.com/ruby/ruby/pull/10875

commit 4e36abbab3a143842b2fbed8b00ba7ba6e45ac3f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-31 03:33:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-31 04:38:02 +0900

    [PRISM] Support for compiling builtins

commit 4558abec020b786eb337f6edf4e114cae80228aa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-31 04:21:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 04:36:40 +0900

    [ruby/prism] Disallow unescape test on FFI backend

    https://github.com/ruby/prism/commit/32277722d4

commit 308c83567660e7612e522cca6c9ad7523f9531fa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-30 04:50:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-31 04:18:20 +0900

    [PRISM] Un-exclude the encoding tests

commit 72452f43871b8034bfa718ed823bc62b5b81d6f9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 23:12:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-31 04:18:20 +0900

    [ruby/prism] Tests overhaul

    https://github.com/ruby/prism/commit/6f886be0a4

commit 1ab7c412d2e3880a7ad233c32e93961888f8145c
  Author:     Sorah Fukumori <sorah@cookpad.com>
  AuthorDate: 2024-05-31 03:52:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-31 03:52:26 +0900

    RUBY_CHECK_HEADER didn't define HAVE_{header-file} (#10876)

    --with-gmp is not working at all because HAVE_GMP_H
    was missing since 18eaf0be90. [Bug #20515]

    bug: https://bugs.ruby-lang.org/issues/20515
    follow-up: https://bugs.ruby-lang.org/issues/20494
    follow-up: 18eaf0be905e3e251423b42d6f4e56b7cae1bc3b
    follow-up: https://github.com/ruby/ruby/pull/10805

commit 22e4eeda6561693367fc7a00b92b90f46b09cabd
  Author:     Sorah Fukumori <sorah@cookpad.com>
  AuthorDate: 2024-05-31 03:44:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-31 03:44:31 +0900

    ci: Test whether GMP is working in compilers.yml (#10875)

    Avoid reoccurence of [Bug #20515]

    Requires https://github.com/ruby/ruby/pull/10876 since 18eaf0be905e3e251423b42d6f4e56b7cae1bc3b

    bug: https://bugs.ruby-lang.org/issues/20515

commit 4f160ad9cfc0f2690a5acca301dedff4f901a673
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-25 02:47:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 03:23:36 +0900

    [rubygems/rubygems] Don't let `bundle config` report a path without a Gemfile as "local app"

    https://github.com/rubygems/rubygems/commit/6aa2ac337f

commit 15501e13d7588a049437d343548bda76121b92f9
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-30 21:41:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-31 00:11:48 +0900

    [ruby/stringio] Remove special handling of chilled strings

    [Feature #20205]

    Followup: https://github.com/ruby/stringio/pull/94

    They no longer need to be special cases. If StringIO end up
    mutating a chilled string, a warning will be emitted.

    https://github.com/ruby/stringio/commit/dc62d65449

commit 78bfde5d9f42f2d7bcfb40343477eb8e73ca0e29
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 21:13:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 21:13:10 +0900

    Revert "[ruby/strscan] Doc for StringScanner"

    This reverts commit 974ed1408c516d1e8f992f0b304e2de6f8bd5c1f.

commit d70b0da48226891efa7e04f266983b7cecdcbed8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 21:13:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 21:13:01 +0900

    Revert "Fix reference path for strscan documentation"

    This reverts commit 1fa93fb9488a32018101689fd727965fd5874eb5.

commit 949fabe4e9f60428753e280c7fbc22884d3735b8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-30 19:05:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-30 19:05:52 +0900

    [DEBUG] More info when SyntaxError#path changed

commit bc6860db23b0df3bce09378605a618b677dd6d89
  Author:     Brandon Weaver <baweaver@users.noreply.github.com>
  AuthorDate: 2023-05-20 07:06:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 18:16:15 +0900

    [ruby/net-http] Update lib/net/http/header.rb

    https://github.com/ruby/net-http/commit/826e008cfe

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 4839493f3f3419ee2be88b6160d9c3c71fbd02e2
  Author:     Brandon Weaver <brandon.weaver@gusto.com>
  AuthorDate: 2023-05-20 06:05:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 18:16:15 +0900

    [ruby/net-http] Replace Regexp in  for headers for perf

    https://github.com/ruby/net-http/commit/15f1349e4e

commit 4d744a7aa7af35b9b9eefbc391739c07171a0e39
  Author:     Zopolis4 <creatorsmithmdt@gmail.com>
  AuthorDate: 2024-03-24 16:01:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 18:02:32 +0900

    [ruby/net-http] Add Net::HTTP.put method

    https://github.com/ruby/net-http/commit/6dc01c985b

commit f23c96581f6b6492770fd3b4735c64d35f1a1b5b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 18:00:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 18:00:25 +0900

    Update generated code from https://github.com/ruby/rdoc/commit/5c7ea6fa15f403b1c84f5b823716f75595c97d8c

commit 1fa93fb9488a32018101689fd727965fd5874eb5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 14:29:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 14:29:25 +0900

    Fix reference path for strscan documentation

commit ba8e6e77fd81f039f3bc85b2c1fb72aa93499b14
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 12:46:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 12:46:19 +0900

    Revert "[rubygems/rubygems] Fix `gem pristine` sometimes failing to pristine user installed gems"

    This reverts commit a3edc4abc574b04bcacfae2af188cce7d27bfcf1.

    That commit caused test failure with Windows platform.

    * https://github.com/ruby/ruby/actions/runs/9289018414/job/25561871390
    * https://github.com/ruby/ruby/actions/runs/9289018425/job/25561873060

commit 974ed1408c516d1e8f992f0b304e2de6f8bd5c1f
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-05-20 22:42:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 12:34:18 +0900

    [ruby/strscan] Doc for StringScanner
    (https://github.com/ruby/strscan/pull/96)

    #peek_byte and #scan_byte not updated (not available in my repo --
    sorry).

    ---------

    https://github.com/ruby/strscan/commit/0123da7352

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>

commit 5611e249e10bf95d48bbf27674bbb6b1fe588b5e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 12:32:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 12:34:18 +0900

    Sync strscan document files to under the doc directory

commit 53150b18decd6866cd2ec5d2d82fb451856c00b2
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-30 12:25:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-30 12:25:41 +0900

    release.sh: Explain example usages

commit 8a9d8a0ef697837a4c35f3a4830447316f8d57e3
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-30 12:22:25 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-30 12:22:25 +0900

    release.sh: We don't release tar.bz2 anymore

commit f1702261d740fbdca78ae1fbf87b66a59921e685
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 10:32:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-30 10:32:33 +0900

    Suppress warnings about frozen string literal feature

    ```
    tool/redmine-backporter.rb:69: warning: literal string will be frozen in the future
    ```

commit 01aa77faa2cd34da1f9add4d0484ab1c292ff662
  Author:     Adam Daniels <adam@mediadrive.ca>
  AuthorDate: 2023-06-13 04:36:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 09:09:22 +0900

    [ruby/rdoc] Abort with error message if --dump argument invalid

    When --dump=FILE is passed a path that does not exist or is not
    readable, it silently fails.

    https://github.com/ruby/rdoc/commit/0536b83c46

commit 79f9ed30721d986b5b2f65efac1de4e88806f77f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-30 08:23:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 08:23:49 +0900

    [ruby/zlib] Update license files with ruby/ruby

    https://github.com/ruby/zlib/commit/8341fa2e20

commit 4a9ef9e23cbb73ac7f0d4410f0198bbd583701f5
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-05-30 03:13:15 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-05-30 04:58:35 +0900

    YJIT: Fix a warning from nightly rust

    No plan about migrating to the 2024 edition yet (it's not even
    available yet), but this is a simple enough suggestion so we can just
    take it.

    ```
    warning: this method call resolves to `<&Box<[T]> as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to `<Box<[T]> as IntoIterator>::into_iter` in Rust 2024
        --> ../yjit/src/core.rs:1003:49
         |
    1003 |         formatter.debug_list().entries(branches.into_iter()).finish()
         |                                                 ^^^^^^^^^
         |
         = warning: this changes meaning in Rust 2024
         = note: `#[warn(boxed_slice_into_iter)]` on by default
    help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
         |
    1003 |         formatter.debug_list().entries(branches.iter()).finish()
         |                                                 ~~~~
    help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
         |
    1003 |         formatter.debug_list().entries(IntoIterator::into_iter(branches)).finish()
         |                                        ++++++++++++++++++++++++        ~
    ```

commit a760e21bc122c67478b318b3f032d70fac1a6077
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-30 02:33:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-30 02:39:32 +0900

    Sort backport revisions by commit timestamps

commit a3edc4abc574b04bcacfae2af188cce7d27bfcf1
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-16 23:01:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-30 00:35:04 +0900

    [rubygems/rubygems] Fix `gem pristine` sometimes failing to pristine user installed gems

    https://github.com/rubygems/rubygems/commit/0eb6ed8f86

commit b0e6446b9f4f2e102de0f69feba88fd5b804d045
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-29 23:45:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 23:45:39 +0900

    [ruby/reline] Bump version to 0.5.8
    (https://github.com/ruby/reline/pull/711)

    https://github.com/ruby/reline/commit/43cd4c5d58

commit 939d389c549631d84e1603f89850df6aa890ab66
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-20 20:10:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 22:55:25 +0900

    [rubygems/rubygems] Improve default gem handling by treating default gems as any other gem

    For backwards compatibility, make sure default gems are still used as a
    last resort when materializing, in case no remote, cached, or installed
    specs are found.

    https://github.com/rubygems/rubygems/commit/93788f689f

commit af894654062fa47603c18e350c1fceb0e89b81b9
  Author:     nasa <htilcs1115@gmail.com>
  AuthorDate: 2024-05-29 22:36:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 22:36:10 +0900

    [ruby/prism] Document `ForNode` fields
    (https://github.com/ruby/prism/pull/2845)

    * Add document

    * fix

    * fix fmt

    * fix fmt

    * Revert "fix fmt"

    This reverts commit https://github.com/ruby/prism/commit/b23a05a94148.

    * add potition

    * fix fmt

    * reposition

    * fix indent

    * fix comment

    * fix indent

    https://github.com/ruby/prism/commit/0dd4c1bba1

commit ab353a3064be3c8ec1c81264c47e12911500102a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 21:37:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 21:37:40 +0900

    Fix the case COLUMNS is unset

commit 632115c11ec356d5abd65a0db2a21358c87d99bb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 19:49:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 19:49:57 +0900

    Round down test-spec folding width to a multiple of 20

    A prime number 73 is not good for counting.

commit 4dcd7d62403efddb9f43997a7e07a716ab29fcc7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 18:25:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 18:25:05 +0900

    Setup ruby before setup/directories

    Now baseruby must be 3.0.0 or later.

commit a41e6f387349647d25aee54d97d9714934d5c3b3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 17:40:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 17:40:59 +0900

    GCC LD does not support `.debug_macinfo` yet

    Lower debug info level if it is warned, not checks with werror_flag to
    fail due to this warning.

commit da69c9235f1a9de856387da3d4db303456c9f100
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 16:25:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 17:38:26 +0900

    Fix -Wclobbered warnings

commit f630b24d7a08bb045f9aa7911bcd3477ebc6aba2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 14:03:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 14:53:33 +0900

    Fix `calloc` arguments order for -Wcalloc-transposed-args

commit 1a31d38c564d14dc5ba0226b85c8adeed8b8f1a5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-29 09:44:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 14:06:25 +0900

    Cast to void pointer for -Wformat-pedantic

commit d9d7ae7830370ff88b69aded2032b17c412fdaf3
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 09:45:21 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 09:46:58 +0900

    merger.rb: Don't ask "conflicts resolved?" if not needed

commit 7e95efdafa32bbff4b54e563a7c47fcbc76d7111
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 09:17:03 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 09:17:16 +0900

    redmine-backporter.rb: Prepend commit: to every revision

commit d0cde43a3371369275495f24446880cf59288e79
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 09:00:12 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 09:00:47 +0900

    redmine-backporter.rb: Remove an unneeded space

    from #backport_command_string

    I don't want to leave unneeded spaces in the command history by
    copy-pasting the entire line.

commit 2eded6cc5d08510e9bff6242bfc86d10b68a3b82
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 08:28:00 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 08:30:22 +0900

    merger.rb: Auto-detect tickets when --ticket is not given

commit 24c56ed516893fe33e34f85f8807c230db20b65b
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 07:42:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 07:43:24 +0900

    merger.rb: Drop an obsoleted command from help

    It was needed only for SVN, and we dropped SVN support.

commit b0ebad51e504a1182f29026be755b2e7a8756080
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 06:28:49 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 06:28:50 +0900

    merger.rb: Use commit: prefix in more places

commit d1265d6172f2772bd4b37cf72689de28edce8a96
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 06:05:50 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 06:05:51 +0900

    merger.rb: Improve the help message

    It wasn't clear whether the backport command takes a commit hash or a
    ticket number.

commit 7a860bacee34d082f9731f5edbeea49ee405a268
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 05:51:45 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 05:51:45 +0900

    merger.rb: Drop SVN support

commit 78732753261eb4c744620125505866e067e293dd
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 05:37:52 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 05:37:53 +0900

    redmine-backporter.rb: Use commit: prefix

commit 2c8b2f5b55f506913397d0cf4ecf3d80e9bf785d
  Author:     Darren Kavanagh <dkav@users.noreply.github.com>
  AuthorDate: 2024-05-17 02:22:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 05:15:45 +0900

    [rubygems/rubygems] Clarify BUNDLE_USER_CONFIG is a file

    https://github.com/rubygems/rubygems/commit/0b284fc88c

commit bc3199bb298d9d29d66aedeb1139715893ebfea8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 03:49:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 04:30:32 +0900

    [PRISM] Enable TestAssignmentGen#test_assignment

commit 13307cd9444d17dff2da1d0ff03efcede23ad88d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 03:46:01 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 03:46:15 +0900

    redmine-backporter.rb: Highlight closed tickets

commit 2608f2a23bb037f2b79e76c83d4b70716f039d1a
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 03:41:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 03:41:31 +0900

    redmine-backporter.rb: Fix #color for Ruby 3 splat

    color(*PRIORITIES['Immediate']) didn't work with Ruby 3.

commit a7eb3d077b4a0e4582380540830b9ef994f2a6a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 02:02:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 03:24:18 +0900

    [PRISM] Enable TestISeq#test_trace_points

commit 9efb8825a323255ac7444c574d99c41f86c63814
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 02:01:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 03:24:18 +0900

    [PRISM] Update BEGIN node line number based on empty statements and rescue

commit 22536148e217bb2fa48ea242a3310936fde1f021
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 01:41:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 03:24:18 +0900

    [PRISM] Use PUSH_SYNTHETIC_PUTNIL for all optional statement bodies

commit 07f494ccad5505b3c82f4d0d634e4a517469a8c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 01:36:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 03:24:18 +0900

    [PRISM] Enable TestISeq#test_each_child

commit 3f256dc66a3b9f67d4af69e76a645999352a3650
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 02:47:51 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 02:47:51 +0900

    redmine-backporter.rb: Drop SVN support

commit 450e9d2495f1c4078debc115dfcd5880da06efd9
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 02:42:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 02:42:47 +0900

    redmine-backporter.rb: Migrate Readline to Reline

    instead of using a local Readline port as a fallback

commit db7c385897ac3ea6ce7d144385a5bd7f0605449c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 02:39:39 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 02:39:39 +0900

    redmine-backporter.rb: Get rid of VERSION

    that has never been utilized

commit e5759e412636c1224a27ede1fa3f7f97b51eae58
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-05-29 02:34:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-05-29 02:34:16 +0900

    redmine-backporter.rb: Print help on wrong usage

commit 1eff5a98f1c83f37ca2daac1c52f3eb84f395acd
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-05-29 02:23:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-29 02:23:01 +0900

    YJIT: limit size of call count stats dict (#10858)

    * YJIT: limit size of call count stats dict

    Someone reported that logs were getting bloated because the
    ISEQ and C call count dicts were huge, since they include all
    of the call sites. I wrote code on the Rust size to limit the
    size of the dict to avoid this problem. The size limit is
    hardcoded at 20, but I figure this is probably fine?

    * Fix bug reported by Kokubun.

commit fd95ba255a413ff02cdc542dd16a2e2901387fc6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 01:21:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 02:12:21 +0900

    Make ensure first lineno the first line of the ensure

    Previously, ensure ISEQs took their first line number from the
    line number coming from the AST. However, if this is coming from
    an empty `begin`..`end` inside of a method, this can be all of the
    way back to the method declaration. Instead, this commit changes
    it to be the first line number of the ensure block itself.

    The first_lineno field is only accessible through manual ISEQ
    compilation or through tracepoint. Either way, this will be more
    accurate for targeting going forward.

commit 8f84fbbf968a43c44b34ada601cf2b4a0bfa9d54
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 01:33:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-29 02:11:52 +0900

    [PRISM] Enable TestSyntax#test_dedented_heredoc_continued_line

commit 7f181268829dd5fbd5412cc0b6d79880a946bd6c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-29 01:15:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 01:31:55 +0900

    [ruby/prism] Fix line continuation heredoc dedent calculation

    https://github.com/ruby/prism/commit/63b596df07

commit 31c9a3a1d330606493e5e70aec3cd1a36d8c61a0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-28 23:19:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-29 01:02:32 +0900

    [Bug #20438] Disallow "%\n" and "%\0"

commit 61e2916d1c297eeabcfeba4815cececff20db1dd
  Author:     Herwin <herwinw@users.noreply.github.com>
  AuthorDate: 2024-05-28 23:02:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 00:28:02 +0900

    [ruby/prism] Typo fix: poitive => positive

    https://github.com/ruby/prism/commit/d13a05252d

commit 6b3935250ef08e4983a63b0a8f88b411ba1ccdd8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-28 22:38:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-29 00:10:59 +0900

    [rubygems/rubygems] Bump COCs to latest Contributor Covenant version

    https://github.com/rubygems/rubygems/commit/73794a95b9

commit 7d144781a93df66379922717da711a09d1cf78ff
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-28 16:59:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-28 16:59:51 +0900

    [Bug #20512] Set coderange in `Range#each` of strings

commit 0a92c9f2b011c4cfcd1b894dccfd4e8c36cadd57
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-28 16:24:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-28 16:24:21 +0900

    Set empty strings to ASCII-only

commit 43798e0f6d72a8f1c624eba74c4a068ff9b21c84
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-28 16:23:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-28 16:23:18 +0900

    lldb: Show coderange

commit ceeb9957c3ec932cdb911a5d1ff75e2c2bf16f17
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-28 14:54:37 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-28 15:43:43 +0900

    Make value_type.h compatible with -Wconversion

    [Feature #20507]

    This was missed from the initial commit.

    ```
    ../../.././include/ruby/internal/value_type.h:446:27: error: implicit conversion changes signedness: 'enum ruby_value_type' to 'int' [-Werror,-Wsign-conversion]
        rb_unexpected_type(v, t);
        ~~~~~~~~~~~~~~~~~~    ^
    ```

commit ca2d229e6b31fc007204eed806b2b4af405c02fd
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-05-28 02:39:01 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-28 14:33:07 +0900

    Test for compiling without warnings against public headers

    Under compilers with WERRORFLAG, MakeMakefile.try_compile treats
    warnings as errors, so we can use append_cflags to test whether the
    public header files emit warnings with certain flags turned on.

    [Regression test for feature #20507]

commit 1b8ba1551b26fac906998e34fd2af3f82b433469
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-05-25 02:10:10 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-28 14:33:07 +0900

    Allow compilation of C extensions with `-Wconversion`

    C extension maintainers can now compile with this warning option and
    the Ruby header files will generate no warnings.

    [Feature #20507]

commit 9e9f1d9301b05604d475573ddd18d6bf5185466c
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-08 19:04:01 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-28 14:32:41 +0900

    Precompute embedded string literals hash code

    With embedded strings we often have some space left in the slot, which
    we can use to store the string Hash code.

    It's probably only worth it for string literals, as they are the ones
    likely to be used as hash keys.

    We chose to store the Hash code right after the string terminator as to
    make it easy/fast to compute, and not require one more union in RString.

    ```
    compare-ruby: ruby 3.4.0dev (2024-04-22T06:32:21Z main f77618c1fa) [arm64-darwin23]
    built-ruby: ruby 3.4.0dev (2024-04-22T10:13:03Z interned-string-ha.. 8a1a32331b) [arm64-darwin23]
    last_commit=Precompute embedded string literals hash code

    |            |compare-ruby|built-ruby|
    |:-----------|-----------:|---------:|
    |symbol      |     39.275M|   39.753M|
    |            |           -|     1.01x|
    |dyn_symbol  |     37.348M|   37.704M|
    |            |           -|     1.01x|
    |small_lit   |     29.514M|   33.948M|
    |            |           -|     1.15x|
    |frozen_lit  |     27.180M|   33.056M|
    |            |           -|     1.22x|
    |iseq_lit    |     27.391M|   32.242M|
    |            |           -|     1.18x|
    ```

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

commit 1376881e9afe6ff673f64afa791cf30f57147ee2
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-05-27 18:22:39 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-28 14:32:33 +0900

    Stop marking chilled strings as frozen

    They were initially made frozen to avoid false positives for cases such
    as:

        str = str.dup if str.frozen?

    But this may cause bugs and is generally confusing for users.

    [Feature #20205]

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

commit 2114d0af1e5790da365584a38ea7ee58670dc11b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-28 12:04:34 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-28 12:49:46 +0900

    Make test_nested_timeouts less flaky

    This test randomly fails due to the bug reported in [Bug #20314], where
    the two timeouts are too close so that they can expire at the same time.

    As a workaround, this change increases the time difference between
    timeouts. This will reduce the probability of simultaneous expirations
    and lower flakiness.

commit 7c6e4bc7ca8a25de801db49eae9cad0c9edb29c0
  Author:     verdy89 <verdy.ir.89@gmail.com>
  AuthorDate: 2024-05-28 01:38:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-28 01:38:22 +0900

    [ruby/reline] Implement the redo command
    (https://github.com/ruby/reline/pull/707)

    * Implement the redo command

    * Commented out a test that does not pass

    * Changed key assignment for redo from "\C-[" to "\C-g"

    * Changed redo key assignment from `\C-g` to `\M-\C-_`

    * Revert the first implemantation

    * Implemented redo by sharing `@past_lines` between undo and redo

    * Fixed the index of past_lines that is updated when the cursor is moved

    * Fixed deletion of the redo history in regular input

    * Renamed variables: past_lines -> input_lines

    * Rename @position to @input_lines_position

    * Deleted unused variables: `@old_byte_pointer` and `@old_line_index`

    https://github.com/ruby/reline/commit/0b2d9fab5f

commit bc47ca5546a1287fbb052329075293c200d830b0
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-27 18:16:28 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-27 18:16:28 +0900

    Add a debug print for a random failure

    ```
      1) Error:
    TestRubyLiteral#test_float:
    ArgumentError: SyntaxError#path changed: "(eval at /home/chkbuild/chkbuild/tmp/build/20240527T050036Z/ruby/test/ruby/test_literal.rb:642)"->"(eval at /home/chkbuild/chkbuild/tmp/build/20240527T050036Z/ruby/test/ruby/test_literal.rb:642)"
    ```
    https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20240527T050036Z.fail.html.gz

commit 4fee1019f607cdbfd6c55fc5ca587de04cb3cb65
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-27 12:56:07 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-27 13:40:19 +0900

    Try to upload core file on macos GitHub Actions

    A core dump occurred, but failed to capture the core file.
    https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-sessions/2935062?tab=retried-tests

    Looks like a core file was not created. I am not unsure why, so make
    sure that the /cores directory is writable and try `ulimit` command.

commit f4b475993eefa98cd6c8d2b109aea525993b6f0b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-27 12:41:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-27 12:41:38 +0900

    Apply optimizations for `putstring` to `putchilledstring` as well

commit 5853a3804382e2935bb23917080ceea647d19161
  Author:     License Update <license.update@rubygems.org>
  AuthorDate: 2024-05-26 09:25:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-27 10:45:38 +0900

    [rubygems/rubygems] Update SPDX license list as of 2024-05-22

    https://github.com/rubygems/rubygems/commit/f91ac04397

commit 4949f0a928da079b07c73a5eccfdde0cb121ca1e
  Author:     Marcus Stollsteimer <sto.mar@web.de>
  AuthorDate: 2024-05-26 21:36:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-27 06:42:45 +0900

    [rubygems/rubygems] Fix typo in description of build:checksum task

    https://github.com/rubygems/rubygems/commit/351ff2512f

commit 0d44e23831d5bbebb273081b5eef7ed60f55abbc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-26 22:17:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-26 22:17:57 +0900

    Prevent test-bundled-gems outputs from mixing

    Run test-bundled-gems-run and test-bundled-gems-spec sequentially.

commit bc50f2a3f1d166be3899f32b81bb78f666000592
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-26 20:14:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-26 20:14:18 +0900

    Debug unexpectedly changed path

commit 0f9e50b8c5554d5a6a3f19044d0c9e276b7d414b
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-05-02 04:17:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-26 19:11:23 +0900

    Fix macos bug deleting too many files

    Since #10209 we've been noticing that on macos after running `make
    clean` the `coroutine/arm64/Context.S` file is missing, causing
    subsequent make calls to fail because `Context.S` is needed to build
    `Context.o`.

    The reason this is happening is because macos is case-insensitive so the
    `.s` looks for `coroutine/arm64/Context.s` and finds
    `coroutine/arm64/Context.s`. This does not happen on linux because the
    filesystem is case sensitive.

    I attempted to use `find` because it is case sensitive regardless of
    filesystem, but it was a lot slower than `rm` since we can't pass
    multiple file names the same way to `find`.

    Reverting this small part of #10209 fixes the issue for macos and it
    wasn't clear that those changes were strictly necessary for the rest of
    the PR.

    We changed the original code to use `rm` instead of `delete` because it
    is not standarized on POSIX.

commit 508f3310481c34fe146bcd6775041847d40520c9
  Author:     Go <monkeywzr@gmail.com>
  AuthorDate: 2024-05-26 17:28:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-26 17:28:25 +0900

    [ruby/reline] allow space in config value
    (https://github.com/ruby/reline/pull/705)

    * allow space in config value

    fix https://github.com/ruby/reline/pull/657

    * remove inline comments

    * Revert "remove inline comments"

    This reverts commit https://github.com/ruby/reline/commit/2438347c1a10.

    * refactoring

    * remove unnecessary comment handling

    https://github.com/ruby/reline/commit/d60f1e1e39

commit d2c4363e0c41c1512eb100981134db210c092126
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-25 05:11:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-26 02:47:07 +0900

    [rubygems/rubygems] Add CompactIndexClient::Parser specs

    https://github.com/rubygems/rubygems/commit/4bf455a498

commit 6b0afbb111716e7b1fdc711d8afd26c723a9bb0c
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-22 13:51:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-26 02:47:07 +0900

    [rubygems/rubygems] Reorganize and refactor CompactIndexClient

    https://github.com/rubygems/rubygems/commit/71bcf354f5

commit 0bae2f00025b6b51a9e0c9e3348d5f5d16c2aae4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-25 19:15:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-25 19:15:25 +0900

    [Bug #20510] Do not count optional hash argument for `IO.new`

    Since `IO.new` accepts one or two positional arguments except for the
    optional hash argument, exclude the optional hash argument from the
    check for delegation to `IO.new`.

commit 4d0c5486a2773f0474a51033d4f685e5c766ec30
  Author:     Jacklyn Ma <29336370+jacklynhma@users.noreply.github.com>
  AuthorDate: 2024-05-09 01:45:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 06:04:21 +0900

    [rubygems/rubygems] update cache checksums to decrease string allocations

    https://github.com/rubygems/rubygems/commit/85371a961a

commit c7281e2d671cd57378630ce0f2a2db97fb12e365
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 04:20:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 04:27:44 +0900

    [ruby/prism] Fix up ruby_parser string concat

    https://github.com/ruby/prism/commit/4b06eae0df

commit 9f71393fe47cfd6e063a63c1d5267400cbe44346
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 02:23:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:37:51 +0900

    [ruby/prism] Fix up self-write order for lex

    https://github.com/ruby/prism/commit/8f6da451b4

commit f8b750370e1fc3b08d152794e39d389d9586fabe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 01:48:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:38 +0900

    [ruby/prism] Remove Debug module

    https://github.com/ruby/prism/commit/4d8929ff6a

commit 745a948b6d773c3146647ba89539ae32634283b0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 01:43:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:36 +0900

    [ruby/prism] Remove dynamic Debug module methods

    https://github.com/ruby/prism/commit/b850794db9

commit 79001c8b4a35f12b6115916de2f2671168b97ae1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 01:14:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:36 +0900

    [ruby/prism] Remove error formatting, put directly in CRuby

    https://github.com/ruby/prism/commit/53b2866487

commit 653652bcbe0735d44e380da2fef7a553b9cd1ac7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 01:04:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:35 +0900

    [ruby/prism] Remove Debug#named_captures

    https://github.com/ruby/prism/commit/5050dfbe70

commit e1041a8eda151d8b77596c1989b12fcc92deff2c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 00:53:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:35 +0900

    [ruby/prism] Move profiling to prism module directly

    https://github.com/ruby/prism/commit/75fabf7081

commit b04c959621562de18552aa1a002b52f311a7185e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 00:35:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:34 +0900

    [ruby/prism] Remove various unused memsize infra

    https://github.com/ruby/prism/commit/283938ed1f

commit b8681c2e3723939e0a43354671208c70960d3d02
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 00:33:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:33 +0900

    [ruby/prism] Remove Debug::integer_parse

    https://github.com/ruby/prism/commit/14e397598b

commit 870350253e1df70f56d33107b9ed3b9ebaaccdec
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 00:22:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 02:19:33 +0900

    [ruby/prism] Remove Debug::static_inspect

    https://github.com/ruby/prism/commit/486c71c426

commit 47b723f8906ba24af13292c43e389b716e24cf17
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 02:05:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-25 02:05:35 +0900

    [PRISM] Use only bundled error formatting

commit ba336027beea3b76798a053cb3e7fd06ae1e4741
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-25 01:12:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-25 01:58:44 +0900

    [PRISM] Move error formatting into Ruby

commit 47f0965269dae95c678b4276861cc389d277ce33
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 04:17:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-25 01:36:54 +0900

    Update duplicated when clause warning message

commit 7021e15652194316df25830c5370611a16b8829b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 04:07:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-25 01:36:54 +0900

    [ruby/prism] Update duplicated when error message

    https://github.com/ruby/prism/commit/54316fd8a0

commit 180ae00989d726df5be9d6203f886e6ff5f9ec8d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 22:38:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 01:25:40 +0900

    [rubygems/rubygems] Rework `bundle gem` specs so that they work on Windows

    Most of the commands run by these specs actually prompt for user input
    but for some reason `Open3` outside of Windows ignores that and goes on
    with no user input. Windows does not like this.

    This commit refactors these specs so that:

    * They don't prompt for user input when not necessary.
    * They pass proper user input when necessary.

    As long as no user input is needed, most specs pass, so it allows to
    remove the `:readline` tag from most of them.

    https://github.com/rubygems/rubygems/commit/3dfabcdae4

commit 6a7e4c40e13b020bb210f5b5c5c7f34dce18775d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 02:21:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:31 +0900

    [rubygems/rubygems] Neither `--force` flag or inline mode should mandate a remote resolution

    https://github.com/rubygems/rubygems/commit/50dd93e217

commit eef125fd09f71185407ba7596aeb3811437a9b54
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-22 19:58:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:30 +0900

    [rubygems/rubygems] Fix error messages to not mention cached gems when they were not used

    https://github.com/rubygems/rubygems/commit/5ce9a7ff17

commit 744dd5a362eca2000eadb1873e7c0118aef97fe4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 04:08:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:30 +0900

    [rubygems/rubygems] Fix performance regression on applications with a local cache

    Even if all gems are properly installed and no resolve is needed, we
    recently started always reading all packages in `vendor/cache` and
    extracting specifications from them.

    This commit fixes the problem by longer making considering cached specs
    the default and only enable them when a resolve is actually needed.

    https://github.com/rubygems/rubygems/commit/edeb2c42bf

commit c23798c2c47d531d6ed9a8557899b6f582ea6e1b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 03:51:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:30 +0900

    [rubygems/rubygems] Remove `@remote` instance variable from Definition

    It's a sources specific concern, so keep it there. It allows to simplify
    the code quite a lot.

    https://github.com/rubygems/rubygems/commit/639f0b72f4

commit ea7e3e7b789885fe01779b21749526e20d184e82
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 02:47:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:29 +0900

    [rubygems/rubygems] Give better message when resolving because there's no lockfile

    https://github.com/rubygems/rubygems/commit/4e048bc255

commit 0f9781b5c1a17e7b57d3e23700896dce3bcf2404
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-23 02:31:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:29 +0900

    [rubygems/rubygems] Use `Definition#no_resolve_needed?`

    https://github.com/rubygems/rubygems/commit/5074c58ffb

commit 3832a1bda831da2074a3a5f8aa89c10244ae9316
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-22 22:57:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-25 00:02:28 +0900

    [rubygems/rubygems] Make code more symmetric

    https://github.com/rubygems/rubygems/commit/dc7c9f029a

commit acdd19facc0cfe18875d1f053689cbfc317f37c1
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-24 08:36:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-24 10:53:35 +0900

    [rubygems/rubygems] Fiks speeling cott bye codespell

    https://github.com/rubygems/rubygems/commit/508ed917a5

commit 2d4d99f78aa846b21f05508ab73172b24bd08954
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-24 04:31:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-24 10:27:36 +0900

    [PRISM] Update remaining test excludes

commit 76e31d9aa93ce624a8f74db57af488c74017b7f3
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-05-22 08:19:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-24 07:57:26 +0900

    [rubygems/rubygems] Remove MD5 ETag generation from compact index

    This was an offramp for generated etags to allow existing caches
    to be served until people could upgrade. It has been about 6 months
    since the transitional version was released, so we can remove this
    transitional code now.

    https://github.com/rubygems/rubygems/commit/4ec8cfe611

commit c96b5791efd7d14c7387adea9c6c252d7ecbb231
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-05-14 06:10:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-24 04:30:03 +0900

    [ruby/prism] Raise `void value expression` in begin clauses

    In some cases Prism was either not raising an appropriate `void value
    expression` error, or raising that error when the syntax is considered
    valid.

    To fix this Prism needs to check whether we have other clauses on the
    `begin` rather than just returning `cast->statements`.

    * If the `cast->statements` are null and the `cast->ensure_clause` is
    not null, set the code to `cast->ensure_clause`
    * else
      * If there is a `cast->rescue_clause`
        * Check if `cast->statements` are null and `cast->rescue_clause->statements`
        are null, and return `NULL`
        * Check if there is an `else_clause`, and set the node to
          `cast->else_clause`.
        * Otherwise return `cast->statements` as the node
      * return `cast->statements` as the node

    See tests for test cases. Note I took these directly from CRuby so if
    desired I can delete them since the test will now pass. This only fixes
    one test in the `test_parse` file, taking failures from 14 to 13.

    This fixes `TestParse#test_void_value_in_rhs` and is related to
    issue #2791.

    https://github.com/ruby/prism/commit/398152b412

commit 49fcd33e136ee2fe8720183b63a41bb6ef8d615c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-24 03:23:26 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-05-24 04:11:50 +0900

    Introduce a specialize instruction for Array#pack

    Instructions for this code:

    ```ruby
      # frozen_string_literal: true

    [a].pack("C")
    ```

    Before this commit:

    ```
    == disasm: #<ISeq:<main>@test.rb:1 (1,0)-(3,13)>
    0000 putself                                                          (   3)[Li]
    0001 opt_send_without_block                 <calldata!mid:a, argc:0, FCALL|VCALL|ARGS_SIMPLE>
    0003 newarray                               1
    0005 putobject                              "C"
    0007 opt_send_without_block                 <calldata!mid:pack, argc:1, ARGS_SIMPLE>
    0009 leave
    ```

    After this commit:

    ```
    == disasm: #<ISeq:<main>@test.rb:1 (1,0)-(3,13)>
    0000 putself                                                          (   3)[Li]
    0001 opt_send_without_block                 <calldata!mid:a, argc:0, FCALL|VCALL|ARGS_SIMPLE>
    0003 putobject                              "C"
    0005 opt_newarray_send                      2, :pack
    0008 leave
    ```

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

commit e5e079e70f8b07697f7cc3f64736f993755500cb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-24 03:37:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-24 03:45:04 +0900

    [ruby/prism] Only accept command call when specified for constant path

    https://github.com/ruby/prism/commit/0ae908b6ee

commit 56a51fcd33f6f3372ab889e7ddc2f20b89db81e2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-24 01:30:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-24 02:22:22 +0900

    [PRISM] Fix up some masgn topn calculations

commit 0ebd37234eacd0ab01535aed81a94e83339552a3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-24 00:53:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-24 01:41:22 +0900

    [PRISM] Enable TestSyntax#test_unterminated_heredoc_cr

commit 7d89d52714bdde9ae369ff04020a96433bfd4d94
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-24 00:28:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-24 00:51:27 +0900

    [ruby/prism] Disallow newlines in heredoc identifiers

    https://github.com/ruby/prism/commit/737f2c2117

commit a99d79dd318d525ecf2335c7c7d652eed860e1f5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-23 18:19:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-23 19:28:02 +0900

    Remove dead code

    Since 140512d2225e6fd046ba1bdbcd1a27450f55c233, `else` without
    `rescue` has been a syntax error.

commit 1471a160ba1bbdca9d6c4b21260793c1414253f3
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-23 18:24:48 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-23 19:26:45 +0900

    Add RB_GC_GUARD for rb_str_to_parser_string

    I think this fixes the following random test failure that could not be
    fixed for a long time:

    ```
      1) Failure:
    TestSymbol#test_inspect_under_gc_compact_stress [/home/chkbuild/chkbuild/tmp/build/20240522T003003Z/ruby/test/ruby/test_symbol.rb:126]:
    <":testing"> expected but was
    <":\"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\"">.
    ```

    The value passed to this function is the return value of `rb_id2str`, so
    it is never collected.  However, if auto_compact is enabled, the string
    may move and `RSTRING_PTR(str)` became invalid.

    This change prevents the string from being moved by RB_GC_GUARD.

commit ce20367a0e2f1fcfabebf3b6bea732fc71fa79f7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-23 12:35:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-23 13:16:48 +0900

    Define `incflags` also on mswin

commit 5fa6ba9568e87e43e08a4daeba1572254c589fb1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-23 11:40:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-23 13:16:48 +0900

    [Bug #20500] Search non-default directories for jemalloc

    Co-Authored-by: lish82 (Hiroki Katagiri)

commit 2cc047df9a92e0c6b9d0fb57f305f49c4b5ed4cf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-23 10:15:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-23 10:17:32 +0900

    [ruby/rdoc] Bump up 6.7.0

    https://github.com/ruby/rdoc/commit/a667e616e1

commit 6d81ae3f013c83bf05371c923898ec4f777cfdba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-23 03:16:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-23 05:34:04 +0900

    [PRISM] Properly support 'it'

commit e575954887a8e8ae26a4122c33c66b8cb82dfa36
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-23 03:31:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-23 05:34:04 +0900

    [ruby/prism] Fix support for 'it' implicit local variable

    https://github.com/ruby/prism/commit/53bbcfe513

commit 5613d6e95bc09c2e8d2794590bb18444e0a4051d
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-05-22 15:59:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 15:59:19 +0900

    Update bundled gems list as of 2024-05-22

commit 5b9b6b4d2b58dc880ddd0a9d45bddc59aee43deb
  Author:     Ellen Keal <ekeal@mpr.org>
  AuthorDate: 2024-05-14 06:49:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 15:01:51 +0900

    [rubygems/rubygems] move git clone depth error handling to else branch

    https://github.com/rubygems/rubygems/commit/022eb473f8

commit ec9de0c4717b2942edba560b510a170f812a2f2c
  Author:     Ellen Keal <ekeal@mpr.org>
  AuthorDate: 2024-05-11 05:26:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 15:01:50 +0900

    [rubygems/rubygems] fix for gems not downloading from git via http

    https://github.com/rubygems/rubygems/commit/592a2fcd54

commit 1e08a9f0e9058186db18f29efc6458c00f10a856
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-22 12:29:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-22 13:49:05 +0900

    [Bug #20499] Use Xcode owned tools for Xcode clang

    Xcode has its own version tools that may be incompatible with genuine
    LLVM tools, use the tools in the same directory.

commit 911b7d1dcfdb613ea5f648bd59bc6e29f9d54c49
  Author:     Vladimir Támara Patiño <vtamara@pasosdeJesus.org>
  AuthorDate: 2024-05-22 13:16:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 13:16:42 +0900

    [ruby/reline] Catches Errno::ENODEV and Errno::EBADF in
    get_screen_size. Closes https://github.com/ruby/reline/pull/690
    (https://github.com/ruby/reline/pull/702)

    * Catches exceptions Errno::ENODEV and Errno::EBADF in get_screen_size. Closes https://github.com/ruby/reline/pull/690

    * Just catching Errno::ENOTTY and Errno::ENODEV

    https://github.com/ruby/reline/commit/a5b5298e4a

commit f8e675221917601e22c4465ec37b7f2352e6dce8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-22 10:45:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-22 10:45:02 +0900

    Revert "[Bug #20499] Use consistent version tools with CC"

    This reverts commit 8277cf0799145bed0c813bfcc187739f77b3102d.

    This change break to build with `rbenv install ruby-dev` with the following error.

    ```
    touch yjit/target/release/libyjit.a
    transdb.h updated
    ./tool/darwin-ar: line 6: /nm: No such file or directory
    ./tool/darwin-ar: line 6: exec: /nm: cannot execute: No such file or directory
    partial linking yjit/target/release/libyjit.a into yjit/target/release/libyjit.o
    ```

commit b20adf90e3c195098b8a6c36cd4a048592f56366
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 00:02:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 03:45:16 +0900

    [ruby/prism] Fix up ruby_parser interpolation concatenation

    https://github.com/ruby/prism/commit/79cec4be22

commit 12386d36f072527cbd623aabd4df9948cf46c616
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 03:33:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 03:43:56 +0900

    [ruby/prism] Provide deprecated numeric method

    https://github.com/ruby/prism/commit/77bf9038a2

commit 7a8f797cd4bf7bec1c6d9cba48971b63b1cb839c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 00:53:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-22 03:27:46 +0900

    [PRISM] Use new rational layout

commit 89efb94fec9c78caab7ec4079bfe9e3f4e56a9a4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 04:32:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-22 03:27:46 +0900

    [ruby/prism] Reconfigure rationals

    This eliminates the subnode on RationalNode and replaces it with two
    integer fields, which represent the ratio for the rational. It also
    reduces those two integers if they both fit into 32 bits.

    Importantly, this PR does not implement bignum reduction. That's something
    I'd like to consider for the future, but it's simple enough for now to
    leave them unreduced, which makes it more useful than it used to be.

    https://github.com/ruby/prism/commit/86e06c7068

commit 42930d28a48bf7495180e81fd6e5cf742f3f47c7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 02:08:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-22 03:27:37 +0900

    [PRISM] Handle safe navigation in call target nodes

commit 16b0bb3d5370c48194e220bf4083887a316f4575
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 02:11:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-22 03:27:28 +0900

    [PRISM] Enable TestSyntax#test_warn_balanced

commit bcbfc675a41579e72eb56e4fc50ddf203592868a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-22 00:47:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-22 01:56:20 +0900

    [PRISM] Enable TestSyntax#test_numbered_parameter

commit ff43b4a28b137af6435603eccb57d6cae85d210b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 22:55:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-22 00:46:45 +0900

    [ruby/prism] Add error for numbered parameter used in inner block

    https://github.com/ruby/prism/commit/c386ba6d48

commit 8277cf0799145bed0c813bfcc187739f77b3102d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-21 17:03:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 17:03:34 +0900

    [Bug #20499] Use consistent version tools with CC

    As Apple Xcode is relocatable and selectable with `xcode-select`, use
    consistent versions of commands in the same location.

commit c773453c77c44f79d49d0ba48557a26950b3a4b9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 20:23:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Splat find patterns

commit 501dbf2bcaab5003663b6eabb2d7660209bc786e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 20:20:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Splat hash patterns

commit 978c31f04a74a83f1c0d4c3faab5795aa999bb7e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 20:14:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Splat array patterns with `pre_arg`

commit 3e81bc3d5306dc4bbe107367dba665d48bcc988d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 20:05:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Splat `$:opt_args_tail` for `params!`

commit be0f2ab32dd0c5f7960ff0b6941a6d1cc66037e2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 20:01:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Splat `$:head` for `defs!`

commit 4c7ec5e0148bda451631d738af95d528a507557f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 19:55:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Extend to represent array access and splat

commit 5bba5fb739364180da7f2208e9c0cfd0ac7b26f8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 19:52:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Describe `var_ref` for `user_variable` in ripper DSL

commit 56d2c26c85a527d6cdf95a78ad7f442ea9cb0e7b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 19:17:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:30 +0900

    ripper: Move `assign_error` call to `assignable`

    Prepare `lhs` as `$:$` before `assignable` and update it there.
    Remove `ripper_assignable` which is no longer used.

commit e61e5c3b84221880e71f85bfeeedcbed9bf907b5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 19:04:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Move `assign_error` call to `const_decl`

    Prepare `path` as `$:$` before `const_decl` and update it there.
    Remove `ripper_const_decl` which is no longer used.

commit 66446b94358a78ddd168e5ce0b5ac475bb34ec50
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 18:52:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Allow parenthesized comma in options

commit 47efdae6028e39bbe8f35d325e26e6bc206251ef
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 11:59:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Preserve indentation

commit 147134b474fc74b68537750a2f63c81a87bd0e86
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 11:44:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Remove rb_ripper_none

    Now it is used only for wheter `opt_paren_args` is `none`.  Introduce
    a new special node to distinguish an empty parentheses from it .

commit ee8bbbabe549d1ff8a37509e3a5dc9e648aced3a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 11:34:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Show popped TOS in debug mode

commit 2e765c20dbd542d43155749910421b0f7963524f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-10 23:08:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Short hand for `rb_ary_new_from_args`

commit 2d92a4afba36034f3d92ab75dfae4dbf5a445c7e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-10 20:02:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Make `$:n` to refer each grammar values

    Ripper DSL uses these values for callbacks, but does not need indexes.

commit 5fed63f7b09d7697a34fcc38efc2985d6e805c40
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-09 12:00:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-21 13:52:29 +0900

    ripper: Use ripper DSL in simple dispatch chain cases

commit 6ddc0a8044929751146c667be4d777c02ed52667
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 04:40:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 10:25:51 +0900

    [PRISM] Enable TestRegexp#test_unescape

commit e82c7a0577cb9574fbe748a381c9d6fa75e9211d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 04:22:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 10:25:51 +0900

    [PRISM] Enable TestRegexp#test_match_control_meta_escape

commit 86cf074fa1dcf73846e094775414d661e47dfc76
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-05-15 09:03:46 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-05-21 05:33:57 +0900

    Avoid array allocation for empty ruby2_keywords flagged keyword hash

    If the method being called does not have a positional splat
    parameter, there is no point in allocating the array, as
    decrementing given_argc is sufficient to ensure the empty keyword
    hash is not considered an argument, assuming that we are calling
    a method/lambda and not a regular proc.

commit 2433b57b6a3a6f8e65f61c27d707e1c7f5407986
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-05-12 04:12:52 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-05-21 05:33:57 +0900

    Avoid hash allocation for empty ruby2_keywords flagged keyword hash

    If the method being called does not have a keyword splat parameter,
    there is no point in allocating the hash, because the hash will
    be unused (as empty keyword hashes are ignored).

commit f021bcdbbe69d324b36c03dab4d2347608658b86
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-05-11 04:51:30 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-05-21 05:33:57 +0900

    Add allocation tests for ruby2_keywords

    This tests ruby2_keywords flagged methods, as well as passing
    ruby2_keywords flagged hashes to other methods.

    Some of the behavior here is questionable, such as allocating
    different numbers of objects depending on whether a block is
    passed or whether YJIT is enabled. I think there are likely ways
    to eliminate allocations in certain cases.  However, this gives
    us a baseline and shows us where it is possible to make
    improvements.

commit 7c2c528d350cb5497a2358bdb5684c4822b0f239
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 04:29:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-21 04:39:21 +0900

    [ruby/prism] Fix up regexp escapes with control/meta

    https://github.com/ruby/prism/commit/8a7afa6988

commit 012b764f7c13d786b7a9340f93a2aaf24c87dc95
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 04:20:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-21 04:39:21 +0900

    [ruby/prism] Fix up regexp escapes with control/meta and x

    https://github.com/ruby/prism/commit/1dbbbedf55

commit 6c07aa364d26c686418843de75234e00a4b9b41d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 00:33:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 01:28:47 +0900

    [PRISM] Remove old prism spec workflow, just use default.mspec now

commit a708b6aa6589b06ed059ad40e7d4e71ebe0e16e3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 00:29:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 01:28:47 +0900

    [PRISM] Respect eval coverage setting

commit 78e504f21d3148b7b6fa78ea70d10426170f4112
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-21 00:36:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 01:28:37 +0900

    [PRISM] Enable TestPrism#test_truncated_source_line

commit ca5b4580442eac3ee8ad3f98b692d204d7b92f03
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-20 23:44:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-21 00:28:53 +0900

    [PRISM] Match CRuby line semantics for evstr

commit 1ba93c2c4d4fa89f5fda490b6e82caafb0d5abc6
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-20 14:53:36 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-21 00:04:41 +0900

    Upload cores to AWS S3 (if any)

commit f1bbcc81261aeeb304d0d0b52d7c2310c01089a8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-20 15:25:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-05-21 00:04:41 +0900

    Make sure that kern.coredump=1

commit 785fba3b161bc0a54e2fc9c5447526499ef93a74
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-20 23:00:53 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-20 23:49:41 +0900

    [PRISM] Enable TestSyntax#test_warn_balanced

commit 2e8ae139748f137a1585b5f464e505ac479a1332
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-20 23:42:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-20 23:42:58 +0900

    [ruby/prism] Fix invalid read at EOF

    https://github.com/ruby/prism/commit/dddaf67c34

commit e90e8f8bd35391233f43d196d23b46ba8c20d56e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-20 22:54:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-20 23:01:05 +0900

    [ruby/prism] Implement ambiguous binary operator warning

    https://github.com/ruby/prism/commit/6258c3695f

commit 7f0e26b7f99bf76408569892ce20318501f74729
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-20 17:10:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-20 18:10:09 +0900

    Re-use strscan with ruby repo

commit 70ad58cb62b195ba86a5ef07a565b22b02a040ea
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-20 17:09:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-20 18:10:09 +0900

    Update bundled_gems

commit 0b38403328f02f2b103e15103b2ace69d123c9f3
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-20 11:42:34 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-20 14:59:59 +0900

    Fix incorrect assertion in TestThreadInstrumentation

    The test meant to assert the thread is suspended at least once,
    but was actually asserting to it to be suspected at least twice.

commit fa26ef5bf715c7eb0bd80dd587a3f86f808f56af
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-20 12:58:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-20 13:54:08 +0900

    Fix the end of "compiler section"

commit 14da90f26294b0ccba872b433dbb726544f486f7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-20 12:56:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-20 13:54:08 +0900

    --with-gmp-dir option is for ruby itself, not extensions

commit 18eaf0be905e3e251423b42d6f4e56b7cae1bc3b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-20 11:44:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-20 13:54:08 +0900

    [Bug #20494] Search non-default directories for GMP

    Co-Authored-by: lish82 (Hiroki Katagiri)

commit eb410c9fde271886709873fe0eff3bb2e621eb2b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-05-20 12:44:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-20 12:47:22 +0900

    [ruby/error_highlight] Load "did_you_mean" explicitly in test

    I'm not sure how it works, but I seem to get an error
    `undefined method 'formatter' for module DidYouMean` in parallel mode of
    `make test-all`.

    https://app.launchableinc.com/organizations/ruby/workspaces/ruby/data/test-paths/file%3Dtest%2Ferror_highlight%2Ftest_error_highlight.rb%23class%3DErrorHighlightTest%23testcase%3Dtest_explicit_raise_name_error?organizationId=ruby&workspaceId=ruby&testPathId=file%3Dtest%2Ferror_highlight%2Ftest_error_highlight.rb%23class%3DErrorHighlightTest%23testcase%3Dtest_explicit_raise_name_error&testSessionStatus=flake

    https://github.com/ruby/error_highlight/commit/f931b42430

commit a10a483af9786702152670e85b198dfc9156aea5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-18 15:34:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-20 10:35:58 +0900

    [rubygems/rubygems] Should rescue vendored net-http exception

    https://github.com/rubygems/rubygems/commit/7d2c4cf364

commit d037c5196a14c03e72746ccdf0437b5dd4f80a69
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-20 01:30:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-20 01:30:49 +0900

    Suppress -Wclobbered warnings

    At 7afc16aa48beb093b06eb978bc430f90dd771690, now `BLOCKING_REGION`
    contains `setjmp` call in `RB_VM_SAVE_MACHINE_CONTEXT`.  By this
    change, variables in blocks for this macro may be clobbered.

commit 48ebd77e595d569b225151ef281aae537d95d6f5
  Author:     TOMITA Masahiro <tommy@tmtm.org>
  AuthorDate: 2024-05-19 20:21:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 23:24:50 +0900

    Fix comment: Buffer.for(string) without block returns readonly buffer

commit cb43540d536e378bcac388c730dfdebb404989e7
  Author:     TOMITA Masahiro <tommy@tmtm.org>
  AuthorDate: 2024-05-19 18:21:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 23:24:50 +0900

    Fix IO::Buffer comment

commit 8c0b57d3ee68caea093cb73b5f014a303f37bbb4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-19 20:22:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 22:15:59 +0900

    `rb_enc_compile_warn` and `rb_enc_compile_warning` are printf format

commit b47533f67b5c4c758b05cdce0fcd0f978fbfe8b9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-19 20:44:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 20:45:47 +0900

    Remove `rb_bug` after COMPILE_ERROR

    Fix test failures since ad636033e2fdafb417873a3cb8667351033307b1.
    Why crash after reported compile error properly.

commit 7afc16aa48beb093b06eb978bc430f90dd771690
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-05-18 18:37:49 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-05-19 12:08:35 +0900

    Inline RB_VM_SAVE_MACHINE_CONTEXT into BLOCKING_REGION

    There's an exhaustive explanation of this in the linked redmine bug, but
    the short version is as follows:

    blocking_region_begin can spill callee-saved registers to the stack for
    its own use. That means they're not saved to ec->machine by the call to
    setjmp, since by that point they're already on the stack and new,
    different values are in the real registers. ec->machine's end-of-stack
    pointer is also bumped to accomodate this, BUT, after
    blocking_region_begin returns, that points past the end of the stack!

    As far as C is concerned, that's fine; the callee-saved registers are
    restored when blocking_region_begin returns. But, if another thread
    triggers GC, it is relying on finding references to Ruby objects by
    walking the stack region pointed to by ec->machine.

    If the C code in exec; subsequently does things that use that stack
    memory, then the value will be overwritten and the GC might prematurely
    collect something it shouldn't.

    [Bug #20493]

commit ad636033e2fdafb417873a3cb8667351033307b1
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-05-10 02:35:01 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-05-19 12:08:05 +0900

    Update to ruby/spec@6b04c1d

commit dbbaf871de70243b78e0d2f3d3575351317b5c5c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-19 00:29:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 00:29:00 +0900

    [DOC] Fix `$<` comment

commit fd8e6e8c54708c2cfde689afe5762b4e206ffe31
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-19 00:27:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-19 00:27:34 +0900

    Replace cast tags for `tSTRING_DVAR` with typed midrule actions

commit 232f7b37cf1e13d0fff6c8ffc8a342f1c126cd98
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-18 19:46:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-18 19:46:05 +0900

    Replace cast tags with typed midrule actions

    * Add types to `tLAMBDA` and `tSTRING_DBEG` to store corresponding
      information when returning these tokens.
    * Add `enum lex_state_e state` to `%union` for `tSTRING_DBEG`.

commit ac85eef18ba0f5afa088c6a463f2ed8163692766
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-05-18 07:15:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-18 15:44:24 +0900

    Fix links

commit 55c62e676f3b30b47978684ab871e9d6e906fc27
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-05-15 09:32:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-18 11:26:17 +0900

    No need to specify tags anymore

    In the past, these codes were used by both parser and ripper.
    On ripper, the type of LHS is `<val>` then type cast was needed.
    However currently these are only used by parser then no need to
    cast.

commit cce7c25a42cbe46b9daea7c1e0accda00fe91c43
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-18 00:33:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-18 05:42:14 +0900

    [PRISM] Enable TestRequire

commit e61d24d77e53a4114da64948c072380c7270d309
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 23:43:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-18 00:29:00 +0900

    [PRISM] Enable passing IRB test

commit c60cdbdc9818a8aee091dc4c07aeb78096828ffc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 23:35:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-18 00:23:23 +0900

    [PRISM] Emit END event for modules

commit 0649c1e3bc6d20034aac352046953a3a275d3745
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 23:47:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 23:47:18 +0900

    [ruby/prism] Revert incorrect synthesized true node change

    https://github.com/ruby/prism/commit/31ef81fd06

commit aed93ba19ead1186974e1d88ca20a73c5b8b95e7
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-05-17 11:59:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 23:45:42 +0900

    [ruby/prism] Replace and Use PM_LOCATION_NULL_VALUE macro

    https://github.com/ruby/prism/commit/50e188b168

commit 4ba0579da651ef3373fce59034f0fcb8b0ad9e5f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 22:45:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 23:33:42 +0900

    [PRISM] Enable TestSyntax#test_error_message_encoding

commit 2d825ca7d0d8d57b49327c3760ec650776ebe60e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-17 22:02:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-17 22:04:11 +0900

    REXML 3.2.8 is not working with rss and test-bundled-gems yet.

    https://github.com/ruby/ruby/actions/runs/9125437794/job/25091614796#step:11:272

commit 10d02e71d1f57b68f530c0e669e4441fbcdc48ba
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-17 17:17:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-17 17:17:13 +0900

    Update bundled_gems

commit 84d2bacb424094f1b57cff0f2dd4381e9f8bd9ed
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 11:44:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 11:44:57 +0900

    [ruby/irb] Reorder ruby lex clauses for unrecoverable first
    (https://github.com/ruby/irb/pull/956)

    When a syntax error includes multiple error messages, we want to
    check for unrecoverable messages first so that we do not
    accidentally match a recoverable error later in the message.

    https://github.com/ruby/irb/commit/2f42b2360d

commit 761b90702492cd18f6746b59e77826e0302ca547
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 04:36:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 11:13:10 +0900

    [PRISM] Enable TestParse#test_truncated_source_line

commit b90ea8ae52d0213900cd5b8b2a47ff6a2a9442df
  Author:     Olle Jonsson <olle.jonsson@gmail.com>
  AuthorDate: 2024-05-16 14:56:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 11:05:31 +0900

    [ruby/find] find.gemspec: Drop executables dir config

    This gem contains no executables.

    https://github.com/ruby/find/commit/7bd452155e

commit 854cbbd5a9f031c74f9185c2cd8f3dd72784e2d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 03:41:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 04:35:22 +0900

    [PRISM] Enable TestParse#test_string

commit 92af7054989e6bb605482178f97cee5e59ec9326
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 04:07:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 04:35:10 +0900

    [ruby/prism] Truncate source lines in errors messages when too long

    https://github.com/ruby/prism/commit/72518f5716

commit 98e1e610f6df95aa89481fd92a31a75a808ce2d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 03:28:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 03:40:20 +0900

    [ruby/prism] Update more escape error messages to match CRuby

    https://github.com/ruby/prism/commit/ab43b3ab66

commit 012a80d768affcfb4e747a358f4941647381776b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 02:28:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 03:21:47 +0900

    [PRISM] Enable TestISeq#test_syntax_error_message

commit 0b4cf461e02b84c5ede91ff46b88d844353e1c3d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 02:17:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 03:12:09 +0900

    [PRISM] Enable TestM17N#test_string_mixed_unicode

commit 286d3032a794500a81bcac9f10363f953d368ef6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 01:29:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 02:22:14 +0900

    [ruby/prism] More mixed encoding errors

    https://github.com/ruby/prism/commit/2a43b4f55c

commit 07241dfac8b64c16c0fc35da55fdb7da8a10dfe4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 00:11:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 01:28:51 +0900

    [PRISM] Enable TestParse#test_question

commit 7eb45a40fdc8d3e077089b13cef90f2d350509e1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 00:05:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 01:28:51 +0900

    [PRISM] Enable TestParse#test_invalid_char

commit 58f993c500ae3f1051fbaa76d21e85bec93fa1f7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 23:51:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 01:28:51 +0900

    [PRISM] Enable TestParse#test_percent

commit 52401a32e5699870d2eef9a492532a0729be204a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 22:43:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 01:28:51 +0900

    [PRISM] Enable TestSyntax#test_syntax_error_at_newline

commit 14debd13210a9a187241a24360bad640e5cd2aa4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 22:24:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-17 01:28:51 +0900

    [PRISM] Enable TestSyntax#test__END___cr

commit d314d976d4542f4facbacb8f644014fcbdbcc34d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 00:10:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 00:10:49 +0900

    [ruby/prism] Match CRuby invalid escape character syntax error message

    https://github.com/ruby/prism/commit/0ef5658dcc

commit 0e11781f216c0dbf5f5f3dfbfbb43e14bdfd82ab
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-17 00:04:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-17 00:10:03 +0900

    [ruby/prism] Match CRuby invalid character error message

    https://github.com/ruby/prism/commit/8d4c5c2bca

commit 910bb4923066b29b42692a82c7310a7fbc36ebb9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 23:38:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 23:52:34 +0900

    [ruby/prism] Update error message for invalid % at EOF

    https://github.com/ruby/prism/commit/178d4f66fd

commit 7a4b9d1614bfea5277deaab842c30e19a842a827
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 23:23:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 23:23:36 +0900

    [ruby/prism] Match CRuby error message for unknown % string

    https://github.com/ruby/prism/commit/863197629c

commit 011668883ca62bc727f372fa8abb6a64e3a33aae
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 23:01:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 23:16:32 +0900

    [ruby/prism] Always go to string lex mode even if EOF

    https://github.com/ruby/prism/commit/57d5c9be2c

commit 477b13ba17d595cda5c8d38da145ef2600702af5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 22:41:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 23:00:18 +0900

    [ruby/prism] Update unterminated string error location

    https://github.com/ruby/prism/commit/33d12afa60

commit c55c11d7d5813683dde3eb7791bc2a9d5d39556d
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 00:51:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 22:34:33 +0900

    [rubygems/rubygems] Fix binstubs sometimes not getting regenerated when `--destdir` is given

    This was only working for gems also installed in the default gem home.

    https://github.com/rubygems/rubygems/commit/47df02dbd9

commit 35c5c7edb9c77398de65cef0636a3cdd2e539bb5
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-09 23:00:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 22:34:33 +0900

    [rubygems/rubygems] Refactor `Gem::Specification#find_all_by_name`

    So that it can also be delegated to `Gem::SpecificationRecord`.

    https://github.com/rubygems/rubygems/commit/1407807a99

commit 5111b3d479c413c3c14df1c4b4dc5d22c9270edb
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 03:51:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 20:55:53 +0900

    [rubygems/rubygems] Fix `gem uninstall --user-install` for symlinked HOME's

    https://github.com/rubygems/rubygems/commit/7f0706a897

commit b19693f0ae5077c074ab5a1799cae91e1ef5d7e6
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 03:17:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 20:55:53 +0900

    [rubygems/rubygems] Improve uninstaller tests

    Tests have two copies of b-2 installed, one in default home and another
    in user home. But only the one in default home was visible because of
    not reloading paths. The user install test was working by chance.

    https://github.com/rubygems/rubygems/commit/667537a08f

commit 847fc9af1805d8d2277827eb19c0cb4df8509973
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 03:16:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 20:55:52 +0900

    [rubygems/rubygems] Fix error message calling method removed a long time ago

    https://github.com/rubygems/rubygems/commit/5fbe5e43d6

commit 7857061ecd740ef88d8451c5119827e91d57a4fd
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-15 03:07:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 18:21:32 +0900

    [rubygems/rubygems] Fix regression when caching gems from secondary sources

    If `cache_all_platforms` setting is enabled, the secondary source was
    no longer considering cached gems.

    That means that if the remote secondary source has removed its gems,
    then this was now resulting in an error while before the previously
    cached gem from the source would still be used.

    This commit restores previous behavior.

    https://github.com/rubygems/rubygems/commit/2d2cd00255

commit 29a9ab0ba674f3739e453b2c7a68c138c8802b99
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 19:05:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 18:20:17 +0900

    [rubygems/rubygems] Deprecate Bundler constants

    https://github.com/rubygems/rubygems/commit/6166e4bce1

commit 9fd41480fbdf7c137b2417851b517aeda33393a0
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 19:04:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 18:20:17 +0900

    [rubygems/rubygems] Use RubyGems freebsd helper

    https://github.com/rubygems/rubygems/commit/5d03a346ab

commit 4db76d198b4a152c416d657e97959ade3e50a185
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 18:59:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 18:20:16 +0900

    [rubygems/rubygems] Add a FreeBSD platform helper

    https://github.com/rubygems/rubygems/commit/535c83d5be

commit 2dd46bb82ffc4dff01d7ea70922f0e407acafb4e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-16 16:22:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-16 16:22:17 +0900

    [Bug #20468] Fix safe navigation in `for` variable

commit 9d69619623ec6b86c464b7cac911b7201f74dab7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-20 19:56:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 13:54:44 +0900

    [rubygems/rubygems] Clean up generated and copied files

    > leaving the files after gem rebuild was intentional, for local
    > inspection, but the test suite should be made to clean up after
    > itself independently of that.
    https://github.com/rubygems/rubygems/pull/4913#issuecomment-2081710691

    https://github.com/rubygems/rubygems/commit/185a2091fb

commit 2aed14d65b6240d03fd9084792855e868e793b2d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:48:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-16 01:49:45 +0900

    [PRISM] Enable TestParse#test_global_variable

commit cd8b28f0e7661498bbae259982809fc7f50e0581
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:40:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-16 01:49:45 +0900

    [PRISM] Enable test_location_of_invalid_token

commit be239cc7bc50d3882bc3dec2bbe1f4f0c1e797fa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:27:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-16 01:49:45 +0900

    [PRISM] Enable TestParse#test_unexpected_eof

commit cabc0e093cca984cd6edda0d070b70dc1c125363
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:25:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-16 01:49:45 +0900

    [PRISM] Enable TestParse#test_unexpected_token_after_numeric

commit 901f4c3fb77968cd9cb2f1dc2d860cf936a2457d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 01:49:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-16 01:49:03 +0900

    [PRISM] Temporarily exclude IRB test

commit cbd1553800c173113f5ea8f1c5d52b00b283d677
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:47:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 00:53:24 +0900

    [ruby/prism] Extend the bounds of the invalid global variable name error

    https://github.com/ruby/prism/commit/89d0d9851a

commit c4a5866798589fb78393b694fcd3359f0ec52b16
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-16 00:14:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-16 00:44:16 +0900

    [ruby/prism] Replace end of file with end-of-input

    https://github.com/ruby/prism/commit/dd532ded95

commit e73f6618d5d7a36e0599df14d2423544007bdf7c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-15 16:53:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 18:11:55 +0900

    [rubygems/rubygems] Do not override `@orig_env`

    It is saved in `setup` and restored in `teardown`.

    https://github.com/rubygems/rubygems/commit/880c5de667

commit e3e1e53098f3214ef12849b3441791465ad7c0a5
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-04-12 04:28:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 06:44:34 +0900

    [ruby/zlib] Avoid double copying into provided outbuf

    https://github.com/ruby/zlib/commit/07f44b7546

commit e33336cb37b47834c0448921c6c4942e3fa63996
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2023-12-21 11:30:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 06:44:34 +0900

    [ruby/zlib] Avoid allocating intermediary strings when read/readpartial are passed an outbuf

    This accounts for a significant number of string allocations when reading rubygems, but we can avoid that in many places by only copying into the outbuf when present

    https://github.com/ruby/zlib/commit/d25ef406c1

commit 965cb3ab4c659a1be96b6f26df68b75d85585978
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-07 04:00:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:03 +0900

    [rubygems/rubygems] Fix issue when cleaning up plugin stubs

    When `gem uninstall <gem> --install-dir <dir>` is run, if the version
    removed had a plugin, and that same version happened to also be
    installed globally, then the plugin stub would fail to be removed.

    https://github.com/rubygems/rubygems/commit/4e2fa0be77

commit bd8423616947738d2efb3602791db91587b822bb
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 22:41:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:03 +0900

    [rubygems/rubygems] Extract a `Gem::SpecificationRecord` class

    This class handles all logic to handle the list of specifications, given
    a set of GEM_PATH directories. Makes `Gem::Specification` has less
    responsibilities and will help with fixing some bugs next.

    https://github.com/rubygems/rubygems/commit/df280dbbed

commit c219ee00b446fb22657031aa4a47b9daf72d514c
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 22:36:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:02 +0900

    [rubygems/rubygems] Fix typo in attribute documentation

    https://github.com/rubygems/rubygems/commit/8c9807092c

commit 5628cc1229ea1f53788a263cc0a6ae8df1ad428f
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 22:34:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:02 +0900

    [rubygems/rubygems] Add missing docs

    Other analog methods are documented, so document this one too.

    https://github.com/rubygems/rubygems/commit/76da34d44d

commit 91e387197010586b0fc815f2a83c77832a0f0aa3
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 22:33:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:01 +0900

    [rubygems/rubygems] Simplify documentation

    I don't think this method is any worse than others, let's only document
    what it does.

    https://github.com/rubygems/rubygems/commit/dec722187f

commit 64542380728b2f0cb0a76a09d08735538350cd9f
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 19:15:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:01 +0900

    [rubygems/rubygems] Make `Gem.clear_paths` test less implementation dependent

    https://github.com/rubygems/rubygems/commit/b545daa95d

commit 8d28e635662a44b8f4a0e6dd6d655e0734f99271
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-07 00:13:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:00 +0900

    [rubygems/rubygems] Simplify test teardown

    If we move test directory removal to the very end, I think we should not
    leak anything.

    https://github.com/rubygems/rubygems/commit/fb3d8944b5

commit 4dc0b2301806cc5214b4cfc40e300b03e893726f
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-04 06:38:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-15 01:08:00 +0900

    [rubygems/rubygems] Remove redundant receivers

    https://github.com/rubygems/rubygems/commit/7b71965a70

commit 41e6fd066e8ea82c460ba392a1dd55d624a19763
  Author:     Alexander Ross <ross@standout.se>
  AuthorDate: 2024-05-14 17:22:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-14 17:22:36 +0900

    [DOC] Fix typo in example code for `String#encode` method

    The example code in the documentation for the `String#encode` method has
    a typo in the `fallback` option. The example code uses `h` as the
    fallback option, but it should use `hash` instead to match the variable
    name in the example code.

commit 4a1e4436a99c5794b022f03e8c0589cf8bae1c71
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-14 17:18:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 17:18:32 +0900

    [ruby/reline] Bump version to 0.5.7
    (https://github.com/ruby/reline/pull/704)

    https://github.com/ruby/reline/commit/b9b3d392ff

commit b60f09442a0220e2fc053de020fdc58b642f851e
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-05-10 18:28:59 +0900
  Commit:     Kazuki Tsujimoto <kazuki@callcc.net>
  CommitDate: 2024-05-14 15:43:28 +0900

    Fix TestPatternMatching#test_deconstruct_keys test

    Before the change `C.keys` returned keys captured in some previous test case that by chance captured `nil` value what made this test passed successfully. Now it returns keys captured in this test case.

commit 9d01f657b30f51f60ac6dec7fb47d13549d26bcd
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-14 10:58:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 10:58:31 +0900

    [ruby/reline] Implement the undo command
    (https://github.com/ruby/reline/pull/701)

    * Refactor send

    * Implement the undo command

    * Fix @past_lines initialization

    * Improve assertion

    * Hide to save buffer in insert_pasted_text

    * Replace @using_delete_command with @undoing

    * Refactor `@past_lines`

    https://github.com/ruby/reline/commit/4ab72f9cbd

commit 5319587ac32e168dbaba452585e3f3861082ee8d
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 22:03:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 03:04:55 +0900

    [rubygems/rubygems] Restore previous way of loading monitor

    I'm not sure why but this particular change seems to have introduced
    some flaky test failures. So I'll revert it.

    https://github.com/rubygems/rubygems/commit/668488014b

commit d1c172dfd0296efda404e85bfc42cd8720b65cea
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 22:03:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 03:04:55 +0900

    [rubygems/rubygems] Don't load `SharedHelpers` unnecessarily

    https://github.com/rubygems/rubygems/commit/de4650f629

commit 22dab739714208bde73a7c86ebcc2667e534b39e
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-13 22:02:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 03:04:55 +0900

    [rubygems/rubygems] Don't depend on Pathname unnecessarily

    https://github.com/rubygems/rubygems/commit/8c8aaecc48

commit b5e53e2f32e19e826eacbf9e2e301b1deae146df
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-14 01:31:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 01:31:55 +0900

    [ruby/prism] Rescue LoadError for ruby_parser as well

    https://github.com/ruby/prism/commit/d4eb13e703

commit 5931f857abf704c6fc62a93d2fc933b13950392d
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-05-13 16:56:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 01:29:27 +0900

    [ruby/prism] Add error handling for missing `parser` gem in `Prism::Translation`

    Resolves https://github.com/ruby/prism/pull/2803.

    This PR adds error handling for missing `parser` gem in `Prism::Translation`.

    The `parser` gem is a required runtime dependency when using `Prism::Translation::Parser`.
    But it is not required for other uses of Prism. To avoid unnecessary dependencies,
    it is not added as a `runtime_dependency` in the prism.gemspec. Instead, if the dependency is missing,
    instructions are given to add it to Gemfile.

    ## Before

    ```console
    $ bundle exec ruby -e 'require "prism"; require "prism/translation/parser33"'
    /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `require': cannot load such file -- parser (LoadError)
    from /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
    from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:3:in `<top (required)>'
    from /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
    from /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
    from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser33.rb:6:in `<module:Translation>'
    from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser33.rb:4:in `<module:Prism>'
    from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser33.rb:3:in `<top (required)>'
    from /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
    from /Users/koic/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
    from -e:1:in `<main>'
    ```

    ## After

    ```console
    $ bundle exec ruby -e 'require "prism"; require "prism/translation/parser33"'
    Error: Unable to load parser. Add `gem "parser"` to your Gemfile.
    ```

    https://github.com/ruby/prism/commit/4880aec22d

commit e6340258f88064cabba5150cfef1f8898f6aa9d8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-14 00:26:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-14 00:34:47 +0900

    [ruby/prism] Autoload newlines and comment visitors

    Having the @newline instance variable in every node adds up, and
    since it is so rarely used, we only want to add it when necessary.

    Moving this into an autoloaded file and moving the instance variable
    out of the default initializers reduces allocated memory because the
    nodes are now smaller and some fit into the compact list. On my
    machine, I'm seeing about an 8% drop.

    https://github.com/ruby/prism/commit/eea92c07d2

commit 02c8e6583b33c62b4050420234167a467f32fefa
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-21 04:05:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 22:01:44 +0900

    [rubygems/rubygems] Use a constant empty tar header to avoid extra allocations

    https://github.com/rubygems/rubygems/commit/716666f65f

commit 5880103450faf26da193ac914421957e37d71604
  Author:     Vít Ondruch <vondruch@redhat.com>
  AuthorDate: 2023-03-13 22:32:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 19:35:57 +0900

    [rubygems/rubygems] Use spec.base_dir to remove plugins

    The plugin loader from `@gem_home` was removed during uninstallation.
    However, this could leave behind the plugins for `--user-install`
    installed gems.

    Use `Gem::Specifictaions#base_dir` instead. This ensures that the plugin
    loader for associated .gemspec is uninstalled.

    https://github.com/rubygems/rubygems/commit/6047f78210

commit a86ad47c940dee19bfe74a374c5ac61752026b7c
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 22:56:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 19:35:57 +0900

    [rubygems/rubygems] Improve plugin removal test

    Instead of unit testing the `remove_plugins` method, test the whole
    removal process.

    https://github.com/rubygems/rubygems/commit/bfdc60af98

commit 899568cce9f2929c765738bf52fcadaead953187
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-09 22:25:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 18:19:45 +0900

    [rubygems/rubygems] Fix error when Bundler installation is corrupted

    If one upgrades the default copy of Bundler through `gem update
    --system`, and then reinstalls Ruby without removing the previous copy.
    Then the new installation will have a correct default bundler gemspec,
    but a higher copy installed in site_dir.

    This causes a crash when running Bundler and prints the bug report
    template.

    This could probably be fixed in Ruby install script, by removing any
    previous Bundler default copies, but if the problem is already there, I
    think it's best to print a proper user error.

    https://github.com/rubygems/rubygems/commit/ada6de765d

commit 69c87619bd7a69936c44cc0d323b11148400e894
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 23:14:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 18:08:16 +0900

    [rubygems/rubygems] Avoid standard requires while loading shared helpers

    We should make sure Bundler does not trigger RubyGems require logic for
    gem activation until it had the chance to register its own monkeypatches
    to RubyGems.

    https://github.com/rubygems/rubygems/commit/fbd2ff86b9

commit e9262983430e7a758a4151e39151062ac00d67bf
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-10 23:11:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-13 18:08:15 +0900

    [rubygems/rubygems] Require things right before they're needed

    https://github.com/rubygems/rubygems/commit/07022e3f2f

commit 3c16d93cd3a7c4d1362e07070c9ed9826a7272a8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 23:12:02 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-13 08:26:54 +0900

    Constify encoding type in universal parser

    Fixed warning about discarding modifiers.

    ```
    ../src/ruby_parser.c:677:48: warning: passing 'rb_encoding *' (aka 'const struct OnigEncodingTypeST *') to parameter of type 'void *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
      677 |     ast = rb_parser_compile(p, gets, ptr, len, enc, input, line);
          |                                                ^~~
    ../src/internal/parse.h:58:128: note: passing argument to parameter 'fname_enc' here
       58 | rb_ast_t *rb_parser_compile(rb_parser_t *p, rb_parser_lex_gets_func *gets, const char *fname_ptr, long fname_len, rb_encoding *fname_enc, rb_parser_input_data input, int line);
          |                                                                                                                                ^
    ```

commit b911d2222f907d3fad397938e8f513ecfb4635b8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 16:23:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-12 16:23:00 +0900

    [Bug #20482] [DOC] Clarify about pattern maching guard clause

    Guard clauses can only be used in `case` pattern matching statements,
    not in `=>`/`in` operators.

commit 5695c5df95460ed9949e1c8f8ca89b4a5c5cc4dd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 15:38:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-12 15:38:22 +0900

    ripper: Fix opassign when assignment to backref variables

commit a1fb6cc978ffba6c4a8284a4fcca3efcef684714
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-10 22:46:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-12 15:36:42 +0900

    ripper: Use `$&` instead of quoting charaters in tests

commit 8b9b150512b7b9514143a6b971992c9a539ead2f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-04 22:17:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-12 13:57:15 +0900

    [Bug #20481] Check for unmarshaling ivar

    Prohibit setting instance variables of existing classes and modules
    via link.

commit d9e6e6fb60ae71f5288f54f0d34fad1e8806cf67
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-04 22:15:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-12 13:55:56 +0900

    [Bug #7759] Fix instance variable names to be checked

commit 4edd9b072c4382a901f7317c2c0c9e143554b709
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-12 13:47:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-12 13:53:51 +0900

    [ruby/irb] Clean up tmpdir

    https://github.com/ruby/irb/commit/7d60349499

commit 7e604a02637275f7f2f1b13074abe1d5f146829b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-05-11 17:08:22 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-11 20:47:15 +0900

    Fix SEGV when ripper hits `backref_error` on `command_asgn` or `arg`

commit 68b6fe70484b1fed2767fc9b838a487aa47d3560
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-11 02:19:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-11 02:19:42 +0900

    [ruby/reline] Avoid STDIN.winsize called in `require "reline"`
    (https://github.com/ruby/reline/pull/703)

    https://github.com/ruby/reline/commit/21891c47c4

commit afdfff933fefa17a8ef12f791b7f363780b1f61b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-11 02:09:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-11 02:09:45 +0900

    [PRISM] Bump to version 0.29.0

commit 2e4f3739fbf7ec9625c78a7114970bf102e6ec3c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-11 00:55:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-11 02:09:16 +0900

    [PRISM] Enable passing argument forwarding tests

commit 83f481ebf0ab8987bd2bc15767e7a1fac18f05b5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-11 00:39:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-11 00:54:15 +0900

    [ruby/prism] Enhance parameter forwarding error messages

    https://github.com/ruby/prism/commit/826657232e

commit 955f13238d951dd52a12733a69a6787008fd82cc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-11 00:06:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-11 00:48:11 +0900

    [PRISM] Enable passing IRB tests

commit 77b6c980b2278951de206e0cdc5dd49a6f241eb3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 23:49:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-11 00:47:48 +0900

    [PRISM] Handle operator->binary_operator rename

commit 2e4466454721012b3ba27f262b3e5dd6e3d393b0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 23:19:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-11 00:47:48 +0900

    [ruby/prism] operator rename

    https://github.com/ruby/prism/commit/b5e47f5c42

commit 34e0b5b2d419840f4e97cdf8fffcbc3578a5f7a3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 23:29:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-10 23:47:21 +0900

    [ruby/prism] Fix tapioca require order

    https://github.com/ruby/prism/commit/15bf727881

commit 2bc309e7f31222d626bb0e1acef2c8b2b3f9d32c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 22:45:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-10 22:58:09 +0900

    [ruby/prism] Fix RBS outside of prism

    https://github.com/ruby/prism/commit/ee73ad757f

commit 3f664c3738fe25227b9d990064e4b5fda2d84c39
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 22:27:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-10 22:40:04 +0900

    [ruby/prism] Prism::CallNode#full_message_loc

    https://github.com/ruby/prism/commit/fa6fe9be84

commit c68bb2408829ffdac2465f38a1d040b7f1e1c6aa
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-10 20:40:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-10 20:40:58 +0900

    [ruby/irb] Add a new initialization step to validate IRB.conf's
    values
    (https://github.com/ruby/irb/pull/953)

    Currently, users can only find out that they have set a wrong value
    for IRB configs when the value is used, with opaque error messages like
    "comparison of Integer with true failed (TypeError)".

    This commit adds a new initialization step to validate the values of
    some IRB configs, so that users can find out about the wrong values
    during the initialization of IRB.

    https://github.com/ruby/irb/commit/af8ef2948b

commit 69d0a3b033cfcb998020d54c0e3cec24b5f07b45
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 18:39:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-10 18:39:11 +0900

    [ruby/irb] Simplify regexp to account for prism error messages
    (https://github.com/ruby/irb/pull/954)

    https://github.com/ruby/irb/commit/e0c29be074

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 2f915e729ac8c66f4009f4b28a57773923d7e7d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 04:40:43 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-10 13:54:31 +0900

    [PRISM] Enable passing test_string

commit 346f7bf33e4b1faa82c44b48466ad38ae48fd457
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-10 04:36:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-10 13:54:31 +0900

    [ruby/prism] Fix escaping control+x

    https://github.com/ruby/prism/commit/0f0b4c1161

commit fd2876e6a226e144689a15bc3cbc5fe4ac089533
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-05-10 09:11:22 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-05-10 09:55:28 +0900

    Update ASAN docs to refer to Clang 18's release

    Clang 18 has the bugfix we need, so we no longer need to tell people to
    compile Clang from source.

commit 444030fc6155d32c1f5211ba746bc9c76f70a96d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 03:20:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-09 22:38:43 +0900

    [PRISM] Enable passing tests

commit 74c911dfa99e173756e7382982e8eaa0a90a2491
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-09 18:56:51 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-05-09 19:37:25 +0900

    Add a ruby_bug spec for String#index clearing $~

    [Bug #20421]

    The bug was fixed in Ruby 3.3 via 9dcdffb8bf8a3654fd78bf1a58b30c8e13888a7a

commit e82138e48a7ff152e358ce37fdae07e989fe5ee3
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-05-09 18:38:07 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-05-09 19:23:34 +0900

    Stabilize TestObjSpace#test_dump_special_consts

    The test assumes `:foo` is a static symbol, but that is only true
    if a literal `:foo` was parsed before `"foo".to_sym` was evaled:

    ```ruby
    require 'objspace'
    foo_sym = "foo".to_sym
    puts ObjectSpace.dump(eval(":foo"))
    ```

    ```
    {"address":"0x100fb46d0", "type":"SYMBOL", "shape_id":10, "slot_size":40, "class":"0x100d3e9c8", "frozen":true, "bytesize":3, "value":"foo", "memsize":40, "flags":{"wb_protected":true, "marking":true, "marked":true}}
    ```

commit fba7bdb710de11343fe7acaac8eba3aad0cbc398
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-09 18:52:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 18:52:29 +0900

    [ruby/reline] Bump version to 0.5.6
    (https://github.com/ruby/reline/pull/700)

    https://github.com/ruby/reline/commit/1b6c29a2b1

commit fb6cfb413d2b2cd3aa6306db7128a7288fd0a131
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-09 17:39:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-09 17:39:57 +0900

    Mark rdoc as bundled gems at Ruby 3.5

commit 6bff0707e826b7adf8d473ae269ecdb7dd6f8f34
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-05-09 15:59:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 15:59:48 +0900

    Update bundled gems list as of 2024-05-08

commit 9df3f205b1f2982047f9701ce0172d54fa360bdc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-05-09 12:29:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-05-09 15:22:53 +0900

    test-syntax-suggest is not working with mswin environment

commit d10615c064603a138379019834b13349e563e7bb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-09 11:40:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-09 11:40:02 +0900

    [DOC] Update `--dump` option arguments in the ruby man page

    Related to [Feature #20329].

commit 58bde0169d64146ac30976f66412ef1c32b68c58
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-09 10:45:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-09 10:45:45 +0900

    [DOC] Fix the pattern for man pages

commit d6564615e7aad09348b6bb933f787ee30916971e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-24 17:14:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-09 10:11:19 +0900

    Fix format specifier for `DWORD`

commit d224bfdc3252913ac635be0bf28173c659a10687
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-24 17:13:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-09 10:11:18 +0900

    `redblack_cache_ancestors` is enabled only when `mmap` is available

commit 8bd6ae4c40615c99458cc7ea0ba1897957502b70
  Author:     Josef Šimánek <josef.simanek@gmail.com>
  AuthorDate: 2024-05-09 06:46:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 08:58:45 +0900

    [rubygems/rubygems] Monthly man update for May 2024.

    https://github.com/rubygems/rubygems/commit/9ee7069841

commit 442e398e62d32d042884f0cad76b5294d3110bfe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 03:56:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 03:56:14 +0900

    [ruby/prism] Ensure keyword parameters are not constants

    https://github.com/ruby/prism/commit/fd210115c1

commit 128c9a92dde2ad1319a2f5afc2e35b1b23841fd9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 02:58:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 02:58:46 +0900

    [ruby/prism] Enhance def params term error message

    https://github.com/ruby/prism/commit/3af1acd5da

commit 2d631cf428a4bc76c0d75b5af841efd61d92aeee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 02:04:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 02:30:18 +0900

    [ruby/prism] Fix line number of unreachable statement warning

    https://github.com/ruby/prism/commit/62f6b1f2e2

commit 61829eec657e8271f05a74f2067b4203ba0a51a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 01:38:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 01:52:07 +0900

    [ruby/prism] Ensure keyword parameters do not end in ! or ?

    https://github.com/ruby/prism/commit/57d86a8545

commit 84ba35e8c2b7f089ac9cbc601a8fe68432023c44
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 01:27:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 01:38:22 +0900

    [ruby/prism] Invalid escape character syntax for nested unicode escapes

    https://github.com/ruby/prism/commit/623a0bb995

commit 7c1e11fe02f4d3db46a4f037a7ef0b715183f881
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-09 01:19:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 01:26:50 +0900

    [ruby/prism] Validate Unicode escape sequences are not surrogates

    https://github.com/ruby/prism/commit/64d2ce2622

commit e9378788837f7d053df4339ac0a0ea1d683502a4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-09 01:02:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-09 01:02:59 +0900

    Revert "Update revision.h if branch unmatch not only revision"

    This reverts commit 5a332940ed2f809cb17af7e4d068089b6e1fa6ca.
    Something does not work well on Github Actions.

commit 26446cccc9e8c4dfb7655ae686106a1ee200f2ec
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-09 01:00:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-09 01:00:30 +0900

    [ruby/reline] Implement bracketed paste insert
    (https://github.com/ruby/reline/pull/655)

    https://github.com/ruby/reline/commit/e92dcbf514

commit 548a72e537e4a189817f7e6ca28ad80013b1cb0c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 23:20:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-08 23:20:48 +0900

    [PRISM] Sync prism version bump

commit 06a1df3ef9559bbdac31c444e154ebf86e09d0a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 22:19:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-08 23:18:57 +0900

    [PRISM] Enable more passing tests

commit 74d948a617caac55ef66119a4aebe4ee6c034d98
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 21:43:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 21:52:54 +0900

    [ruby/prism] Better error message on missing hash value

    https://github.com/ruby/prism/commit/b20e37e82e

commit ba062a623147559ff891d6b52c86b31a1f3f4987
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 04:23:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-08 21:12:17 +0900

    [PRISM] Use correct warning encoding

commit 5bb656e4f063e717262efe2dc303ed914eb1dd6c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-08 19:25:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-08 19:25:37 +0900

    [Bug #20474] Keep spaces in leading blank line

commit 841b45a4421a7f103b0312f84c14ece522833617
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-05-05 16:22:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 18:39:13 +0900

    [ruby/openssl] Add to_text for PKCS7 and Timestamp::Response

    https://github.com/ruby/openssl/commit/71cd1e3f5c

commit aabe718e6483eb572566878320a0d83f430d1cbc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-08 17:24:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-08 17:24:36 +0900

    Show the caller location of assertion methods

    Not only defined in `Test::Unit` or `CoreAssertions`, also show the
    caller location of assertion methods defined in the current class or
    ancestors.

commit b4b39a619984bbb3c96406a1eb4dfb477168a1cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 02:31:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-08 03:24:31 +0900

    [PRISM] Enable test_methoddef_endless_command

commit 2bfc48755e7fc39e1ee33181a4bd6b72aa27de48
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 02:25:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-08 03:24:31 +0900

    [PRISM] Enable more passing tests

commit 21b94ae0d16d2d78035a081f0bcae06402e2c622
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 03:02:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 03:03:03 +0900

    [ruby/prism] Extend error message for unterminated HEREDOC

    https://github.com/ruby/prism/commit/c1b07ec11b

commit dcbe0edb836aa3be62b7b64f3c7f27e7ef6885fb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 02:15:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 02:22:50 +0900

    [ruby/prism] Better error message for contents of hash pattern

    https://github.com/ruby/prism/commit/60dbf60f48

commit 5d44846815f874279672e05d7bf7037e939e471c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 02:02:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 02:15:14 +0900

    [ruby/prism] Disallow implicit hash in array pattern

    https://github.com/ruby/prism/commit/bdd509c6ac

commit ef3803ed4028810f9088019f0db1a366370ab53a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-04-22 10:51:25 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-05-08 01:44:25 +0900

    Ignore the result of pthread_kill in ubf_wakeup_thread

    After an upgrade to Ruby 3.3.0, I experienced reproducible production crashes
    of the form:

    [BUG] pthread_kill: No such process (ESRCH)

    This is the only pthread_kill call in Ruby. The result of pthread_kill was
    previously ignored in Ruby 3.2 and below. Checking the result was added in
    be1bbd5b7d40ad863ab35097765d3754726bbd54 (MaNy).

    I have not yet been able to create a minimal self-contained example,
    but it should be safe to remove the checks.

commit 8ec1c416f75ff20ccf71c08c51f91bdd42f226a8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 01:15:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 01:31:05 +0900

    [ruby/prism] Specific error message for symbol literal with interpolation in hash patterns

    https://github.com/ruby/prism/commit/31f0201bae

commit 8cc733dff7b831555f9250153a477bdff3354eae
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-08 01:08:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-08 01:31:05 +0900

    [ruby/prism] Add error for invalid implicit local writes

    https://github.com/ruby/prism/commit/ab21882561

commit eb8efa42f0904281345a6622fff8209a464d39e9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 22:53:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 23:56:48 +0900

    [ruby/prism] shareable_constant_value line warnings

    https://github.com/ruby/prism/commit/8c984b6922

commit e1e6b4972fa33feb260bf93ba087d47034082867
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-05-07 15:59:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 15:59:36 +0900

    Update bundled gems list as of 2024-05-07

commit 80adf6a18c653e25a0448110e6978a9d0764eba7
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-05-05 05:41:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 14:36:35 +0900

    [rubygems/rubygems] Accept WASI as an OS name in Gem::Platform

    https://github.com/rubygems/rubygems/commit/1209d3c6b0

commit 481e16d58bb278752bab009b3c25af9144364433
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 02:55:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 08:06:13 +0900

    [PRISM] Support for compiling ractor constant path writes

commit eeba1581099ea881f7102d18569432748b0ef08f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 01:33:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 08:06:13 +0900

    [PRISM] Support for compiling ractor constant writes

commit 00b1553dc6d7424682bd97bb92542dbefd9ddeb2
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-07 00:23:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 02:06:50 +0900

    [rubygems/rubygems] Remove more unnecessary compatibility code

    https://github.com/rubygems/rubygems/commit/00d91f141b

commit 5c018cddcca52c9d00c16cfad252a74750d0852e
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-05-06 21:53:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 02:06:50 +0900

    [rubygems/rubygems] Remove unnecessary compatibility code

    https://github.com/rubygems/rubygems/commit/160a515412

commit e276929511dd690128de08da5f379ea7df539a0c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:23:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 01:09:48 +0900

    [PRISM] Enable test_unexpected_fraction

commit d4fdc459537abf5d4a76bef2e1cc62a02f3dc2b0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:21:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 01:09:48 +0900

    [ruby/prism] Unexpected fractional component error messages

    https://github.com/ruby/prism/commit/e893bc2230

commit 5e6bb0857aac9ee16d47b5a7a547fc5ba329f088
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:05:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 01:09:30 +0900

    [PRISM] Enable passing forwarding parameter tests

commit f92d82ef06f5478bd942a22ca987f787fa92cedc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:01:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 01:09:30 +0900

    [ruby/prism] More specific error for conflicting forwarding parameters

    https://github.com/ruby/prism/commit/1c3b48fedb

commit 14d400829d7bc6cdc8111ba534fb9e6aad2e96b5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:12:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-07 00:12:30 +0900

    [PRISM] Enable passing test_brace_after_literal_argument test

commit 5909186d02f2b50eea23a8661543744ef7c9342b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-07 00:09:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-07 00:09:20 +0900

    [ruby/prism] Fix up error message for unexpected {

    https://github.com/ruby/prism/commit/80dbe035ba

commit 88d74a4848998435e4a6d1bf2d70dde3d8996532
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-05-06 23:15:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-06 23:56:01 +0900

    [DOC] Fix typos in WeakMap docs

commit 1df1edc080031b8f18b41a5a8d308a667ea89fc1
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-05-06 23:28:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-06 23:28:36 +0900

    YJIT: Fix comment and counter in rb_yjit_invalidate_ep_is_bp() (#10722)

    `mem::take` substitutes an empty instance which makes `jit.ep_is_bp()`
    return false.

commit a5cb8c8c5ba61a82c950843c57679fc135762b07
  Author:     Dave Thomas <dave@pragdave.me>
  AuthorDate: 2024-05-06 13:51:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-06 13:51:44 +0900

    [DOC] rewrite inject doc (#10009)

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
    Co-authored-by: Dennis Dashkevich <dskecse@gmail.com>

commit 95ae123343f3d1fc644bff5a240e0d14ddfb7810
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-06 01:09:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-06 08:22:28 +0900

    [ruby/did_you_mean] Move development dependencies to Gemfile

    https://github.com/ruby/did_you_mean/commit/24c06dd509

commit 6747fbe77dcac26a457bb1386f55f3c27321040a
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2024-05-06 00:14:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-06 00:14:53 +0900

    Fix interrupts during Ractor.select

    Fixes [Bug #20168]

commit 93cffcf961daa58b5bc0b3e9194b792c655aebf7
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-05 20:11:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 20:11:31 +0900

    [ruby/irb] Bump version to v1.13.1
    (https://github.com/ruby/irb/pull/951)

    https://github.com/ruby/irb/commit/66318d0a34

commit e973f9cbb38668c61084481b35ae8c1d63be74b6
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-05 19:44:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 19:44:52 +0900

    [ruby/irb] Clarify that the context is IRB context
    (https://github.com/ruby/irb/pull/950)

    https://github.com/ruby/irb/commit/8cde57f55a

commit 7d42010fad4be2dbb26bd7608a75aa1c51d5f9ef
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-04-16 21:52:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 17:00:00 +0900

    [ruby/openssl] read: don't clear buffer when nothing can be read

    To be consistent with regular Ruby IOs:

    ```ruby
    r, _ = IO.pipe
    buf = "garbage".b
    r.read_nonblock(10, buf, exception: false) # => :wait_readable
    p buf # => "garbage"
    ```

    Ref: https://github.com/redis-rb/redis-client/commit/98b8944460a11f8508217bda71cfc10cb2190d4d

    https://github.com/ruby/openssl/commit/08452993d6

commit fca6c55a535094a49cf16d00519120d57928b1a2
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-05 16:22:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 16:22:52 +0900

    [ruby/reline] Remove not implemented variables
    (https://github.com/ruby/reline/pull/699)

    https://github.com/ruby/reline/commit/328699e901

commit d679afe9f96f73aac22b5d7c3a3f1e0ac50d0632
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-05 16:09:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 16:09:52 +0900

    [ruby/reline] Add name defined in readline to completion key
    bindings C-i C-p C-n
    (https://github.com/ruby/reline/pull/698)

    https://github.com/ruby/reline/commit/1314787bbb

commit b181ba7400d780730833cf649024472674d53c97
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-05-04 13:49:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-05 01:31:58 +0900

    [ruby/prism] Use `version: 3.3.1` against `Translation::Parser`

    Follow up https://github.com/ruby/prism/pull/2760.

    This PR updates the `Translation::Parser` to use version 3.3.1 when the version 3.3 is specified.
    The Parser gem is structured to support the latest patch versions, hence this aligns with Parser-compatible versioning.
    As noted in https://github.com/ruby/prism/pull/2760, the behavior remains unchanged with this switch from 3.3.0 to 3.3.1.

    https://github.com/ruby/prism/commit/efde09d318

commit 96710a3139fecda4bc12cd4f321399f71887535c
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-04 18:03:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 18:03:55 +0900

    [ruby/irb] Change debug test workaround only enabled when output is
    tty
    (https://github.com/ruby/irb/pull/949)

    https://github.com/ruby/irb/commit/3f231b8622

commit bd42f0898de26e8e6cb9930e0f5e309aacdeb705
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-04 12:32:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 12:32:34 +0900

    [ruby/irb] Improve help message for no meta commands
    (https://github.com/ruby/irb/pull/948)

    * Remove unnecessary code from command tests

    * Improve help message for no meta commands

    1. Add placeholder values for both command category and description
    2. Update help command's output to give different types of categories
       more explicit ordering

    https://github.com/ruby/irb/commit/b1ef58aeff

commit fb2ea7084f5755e92ff724165547d6dca77a5ed9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-04 12:22:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 12:22:17 +0900

    [ruby/irb] Use flag instead of caller for `debug`'s binding.irb
    check
    (https://github.com/ruby/irb/pull/947)

    https://github.com/ruby/irb/commit/4a4d7a4279

commit cf74ff714aa795a82cc0ea46e26937efcedfaa45
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-25 16:09:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-04 11:59:10 +0900

    Change return value of `gets` function to be `rb_parser_string_t *` instead of `VALUE`

    This change reduces parser's dependency on ruby object.

commit a510175e8f95f4d8f7bc56c184996526b530bf94
  Author:     Kenichi Kamiya <kachick1@gmail.com>
  AuthorDate: 2024-05-04 07:08:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 07:08:49 +0900

    [ruby/irb] Avoid raising errors while running help for custom
    commands
    (https://github.com/ruby/irb/pull/944)

    * Avoid raising errors while running help for custom commands

    Raising an error from the help command is not a pleasure for the
    end user, even if the command does not define any attributes

    * Update test/irb/command/test_custom_command.rb

    ---------

    https://github.com/ruby/irb/commit/c8bba9f8dc

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 70db150fbcb44c43ce4d62c6170e0527ecaea84c
  Author:     Kenichi Kamiya <kachick1@gmail.com>
  AuthorDate: 2024-05-04 06:34:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 06:34:34 +0900

    [ruby/irb] Fix typos in test/irb/command/test_custom_command.rb
    (https://github.com/ruby/irb/pull/945)

    https://github.com/ruby/irb/commit/f2b5fc192f

commit d4a6d0c17781821d967063613fab5992231a5158
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 03:58:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 04:14:03 +0900

    [ruby/prism] Prism::Location#adjoin

    https://github.com/ruby/prism/commit/a298db68e3

commit 7a49edcf1f6e96ccf60736f21048514a7713153a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 01:59:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 03:37:19 +0900

    [ruby/prism] Prism::Node#tunnel

    https://github.com/ruby/prism/commit/0bf5d651da

commit c631679b949fadd18c1714890026175fbe822a56
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 03:15:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 03:15:59 +0900

    [PRISM] Disallow &. in MLHS

commit 1af2dead5ab843957b5cf5903577c8fe1afe86b9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 03:14:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 03:14:55 +0900

    [ruby/prism] Disallow *a&.x=0

    https://github.com/ruby/prism/commit/624fdf74bd

commit 4fbb208185c2c5c0b5c9362c15fc90a0e6d02309
  Author:     Vinicius Stock <vinicius.stock@shopify.com>
  AuthorDate: 2024-05-03 00:33:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 03:10:21 +0900

    [ruby/prism] Create specialized `ASCIISource` with asciionly optimizations

    https://github.com/ruby/prism/commit/40993166a8

commit 31361aeca3a26eb0fba7269a110870aa259946ae
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:51:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 03:09:35 +0900

    [ruby/prism] Disallow safe navigation in a call target node

    https://github.com/ruby/prism/commit/b1917adac7

commit 31c69698a7684e43b4fa6a00629c1ee967fdf458
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:38:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 02:32:32 +0900

    [PRISM] Enable passing test for **nil

commit 2368dab1fa7a8069f62001ed52f4b999a3aac5e8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:36:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 02:32:32 +0900

    [ruby/prism] Disallow **nil after keyword parameters

    https://github.com/ruby/prism/commit/5beeae076f

commit 461d6d441febd882d53fcf8cfef9635962e5b08c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:27:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 02:11:09 +0900

    [PRISM] Enable RubyVM tests for prism

commit 56672c8b187a425586c2f53834b5a88b0dbfcca2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:19:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 02:01:40 +0900

    [PRISM] Enable passing tests for index expressions

commit 7caeff2baed907809600e9f3a18b6b02eaa76c5a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:03:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 02:01:40 +0900

    [ruby/prism] Disallow keywords and blocks in index expressions

    https://github.com/ruby/prism/commit/e950dc1e83

commit b6625d38d886acb8a2fdf8321197d29a1d63c12c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-04 01:34:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-04 01:34:35 +0900

    [DOC] Fix the description about the timing finalizers will be called

commit 97654bee49c350cc7b49e5237c9263916b1c5722
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-04 01:02:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 01:02:13 +0900

    [ruby/prism] Remove deprecated #child usage

    https://github.com/ruby/prism/commit/14d9b431e2

commit 281df1e495eeb8533b963c63a14c614fcab97859
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-02-06 04:19:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-04 00:12:55 +0900

    [rubygems/rubygems] Remove `Gem::Specification#mark_version`

    This gets in the middle if we ever start allowing to build as if using a
    different RubyGems version than the one being run.

    This could be useful to make `gem rebuild` a little more usable, and
    it's already done by Bundler specs which already make this method a noop
    when they need this.

    I'm not sure forcefully setting this, even if user explicitly specified
    something else is helpful.

    Since this could potentially prevent gems explicitly setting a constant
    RubyGems version from building, I changed the error of incorrect
    RubyGems version from a hard error to a warning, since it will start
    happening in those cases if we stop overwriting the version.

    https://github.com/rubygems/rubygems/commit/45676af80d

commit 0948b6a592eb74f1ca4aae158f8bca6034ccb708
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 22:41:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 00:11:57 +0900

    [PRISM] Use new constant path structure

commit 5758e45657f0b2ca8725e67046a1cac92e2e6414
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 22:35:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-04 00:11:57 +0900

    [ruby/prism] Change ConstantPathNode#child to ConstantPathNode#{name,name_loc}

    This has been requested for a long time, and I'm finally doing it
    now. Unfortunately this is a breaking change for all of the APIs.

    I've added in a Ruby method for `#child` that is deprecated so that
    existing usage doesn't break, but for everyone else this is going
    to be a bit of a pain.

    https://github.com/ruby/prism/commit/9cbe74464e

commit 1d51e929b1b10fe9fa109f8a8ebc3b938827271c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 21:53:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 22:12:27 +0900

    [ruby/prism] Assume eval context for ruby_parser and ripper

    https://github.com/ruby/prism/commit/e4d6984892

commit 32b1dea5665a6d1cf82e39af7bffb48172399205
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-04-28 19:23:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 21:53:01 +0900

    [ruby/prism] Assume an eval context for `Prism::Translation::Parser`

    This is similar to https://github.com/davidwessman/syntax_tree-erb/issues/81 but for RuboCop
    The parser gem doesn't support these types of checks,
    see https://github.com/whitequark/parser?tab=readme-ov-file#syntax-check-of-block-exits

    While this is technically a bug in the parser gem, it does increase compatibility
    and allows prism to be used when linting erb or haml with a RuboCop extension.

    https://github.com/ruby/prism/commit/6c59ae6a00

commit 7c029f612fda0a73705066f4c50759224026a0e2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 21:28:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 21:36:57 +0900

    [ruby/prism] Remove generics from sorbet types

    https://github.com/ruby/prism/commit/080d84fd03

commit c1b11c50cbb24db01a7afbfcfa192fdd1d496058
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-05-03 02:00:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 19:54:27 +0900

    [rubygems/rubygems] Rename credential email to identifier in WebAuthn poller

    https://github.com/rubygems/rubygems/commit/5e3e55f8bc

commit 7662e6fcd5f4901a3a0f34e2d54f8231599d52e2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-27 22:26:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-03 14:49:29 +0900

    win32/registry: Shorten with safe navigation operator

commit 491c38bfcdbf4965992d8b23c4fe9007452fffee
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-27 22:12:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-03 14:49:29 +0900

    win32/registry: Make frozen_string_literal true

commit 0b091e6675e58afbc52d200440c8ed31c13d4a00
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-27 22:03:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-03 14:49:29 +0900

    win32/registry: Refine pack/unpack

    * Use 'J' for HANDLE.
    * Use 'Q' for QWORD.
    * Define template constants.
    * Supply zero bytes in `unpackqw` as well as `unpackdw`.
    * Use `String#unpack1`.

commit 9f8e87c44bc87f5b37364707d1f570da1d7a6f89
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-03 01:07:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-03 14:47:18 +0900

    Test for win32/registry.rb

commit 899d9f79dde0e2dbb2da3a6ec7c1cbf1023cc56d
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-05-03 08:57:55 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-03 12:40:35 +0900

    Rename `vast` to `ast_value`

    There is an English word "vast".
    This commit changes the name to be more clear name to avoid confusion.

commit e1905ca18047e2dff73115f432ddfa532f7d396e
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-05-02 16:01:34 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-03 12:05:21 +0900

    Use user defined parameterizing rules `f_optarg(value)`

commit 5409661fe6693d216d383a788803b6be7f2230de
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 04:21:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-03 11:46:09 +0900

    Mark the first string element of a regexp as binary if US-ASCII

commit b5cefa79dd9d510eb81798285f6c9aec6b5e0119
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-02 05:52:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-03 06:32:43 +0900

    Fix GC_DEBUG

commit 6d605f1e50b96f9b62eaf93bd3ef19db2fca3c83
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-02 05:46:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-03 06:32:43 +0900

    Move rvalue_overhead out of RVALUE

    Since we cannot read the rvalue_overhead out of the RVALUE anyways (since
    it is at the end of the slot), it makes more sense to move it out of
    the RVALUE.

commit e34c131ce8c25a5f70d24f85787728e08539d90c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 03:06:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-03 04:16:15 +0900

    [PRISM] Disallow redundant returns from being line events

commit c681af3e5d36fb36c76e05b5d822131f28ed9de7
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-05-03 02:50:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-03 03:33:30 +0900

    Reject empty lines in IRB binding spec

    For that particular spec, the empty lines' presence is not relevant.
    So let's remove them to make the spec easier to maintain.

commit 945a99e81a2b4910a106e932c620abac75717cb1
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-05-03 02:47:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-03 03:33:30 +0900

    Sync IRB 241e061

commit c59abb99995cbc9a69ef2753f8692a843ff11fdd
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-05-02 22:14:32 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-05-03 03:28:23 +0900

    Rename ary_heap_alloc -> ary_heap_alloc_buffer

    To differentiate it from ary_alloc_heap

commit 0981f03008563cbfbf01112898b8f89077ee0d29
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 23:54:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-03 01:29:25 +0900

    [PRISM] Enable newline test

commit 008f2b9b6a8575c4380732f5ac4ee1cc46a79d74
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-03 01:28:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 01:28:19 +0900

    [ruby/reline] Bump version to 0.5.5
    (https://github.com/ruby/reline/pull/696)

    https://github.com/ruby/reline/commit/8bf71d0b81

commit 032070d793a0289931b6f15eb9ba25e9c492c1f7
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-03 01:21:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 01:21:46 +0900

    [ruby/irb] Add workaround for ruby/debug/test/console/irb_test
    failing with StdioInputMethod
    (https://github.com/ruby/irb/pull/943)

    https://github.com/ruby/irb/commit/acf3c1816e

commit 7c0cf71049e82f165ab847e50a358d3659c547bb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-03 00:12:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-03 00:27:18 +0900

    [ruby/prism] Node#script_lines and supporting infra

    https://github.com/ruby/prism/commit/cb4a8ab772

commit 398453c3c0a1e516fda342a9dbdb27f7ed981de2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 23:45:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-03 00:27:05 +0900

    [PRISM] Fix param names for repeated splats

commit c78cebb469fe56b45ee5daad16ae976b7760497c
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-02 23:41:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 23:41:07 +0900

    [ruby/reline] Fix default and additional key bindings vanish bug
    (https://github.com/ruby/reline/pull/697)

    https://github.com/ruby/reline/commit/fc9b4d2274

commit 2eefbef2eeeed8690daff5f111a36f72711a474c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 08:19:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 23:34:10 +0900

    [PRISM] Enable test_ast.rb

commit 41977ef59585d1ee42ffcb546aa80f071512b257
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:43:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 23:29:17 +0900

    [PRISM] Enable Socket.gethostbyaddr spec

commit e7d20623cbc6eb86c95357c344370cc39d29f8a3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-02 00:31:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-02 23:12:58 +0900

    Add comments in setproctitle.c

commit 4f69d318b8667eb10596aaec9b75992a3265f66d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-02 00:15:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-02 23:12:58 +0900

    Keep track of the originally allocated environ

    We need to keep a pointer to the originally allocated environ because
    adding more environment variables can cause it to be changed to something
    else.

    For example:

        100.times do |i|
          ENV["FOO#{i}"] = "1"
        end

    Causes Valgrind to report:

        312 bytes in 1 blocks are definitely lost in loss record 9 of 13
          at 0x484D444: calloc (vg_replace_malloc.c:1340)
          by 0x1884F8: calloc1 (gc.c:1844)
          by 0x1884F8: objspace_xcalloc (gc.c:12202)
          by 0x1884F8: ruby_xcalloc_body (gc.c:12209)
          by 0x4204DD: ruby_init_setproctitle (setproctitle.c:119)
          by 0x27DDF4: ruby_process_options (ruby.c:3101)
          by 0x160BD1: ruby_options (eval.c:117)
          by 0x15B96E: rb_main (main.c:40)
          by 0x15B96E: main (main.c:59)

commit 12cbfd8e2f0c2386803f835c3d8d55ac584e9e22
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-02 22:11:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-02 22:11:15 +0900

    Declare as NORETURN

commit a3726c028d08c033c22f47693a45195b69d0b648
  Author:     jinroq <jinroq@users.noreply.github.com>
  AuthorDate: 2024-04-30 20:48:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 18:36:14 +0900

    Fixed missing support for https://github.com/ruby/ruby/commit/d75bbba255e086d625429d5a1311cc4b4396c296.

commit 55720f372d65aaa14bf6925730f0c715f0179dc5
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-11-12 09:36:39 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-05-02 16:26:11 +0900

    [ruby/openssl] pkcs7: raise PKCS7Error for PKCS7 without content in PKCS7.read_smime

    [pkuzco: expanded the fix for other content types]
    [ky: adjusted formatting and the exception type]

    https://github.com/ruby/openssl/commit/07eceb7f63

    Co-authored-by: pkuzco <b.naamneh@gmail.com>
    Co-authored-by: Kazuki Yamaguchi <k@rhe.jp>

commit c9aa63a9e06c21566c6fadda5945f04f341e4891
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-10-28 01:08:11 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-05-02 16:26:11 +0900

    [ruby/openssl] pkcs7: raise ArgumentError for PKCS7 with no content in PKCS7.new

    Fixes [Bug #19974]

    [pkuzco: expanded the fix for other content types]
    [ky: adjusted formatting and the exception type]

    https://github.com/ruby/openssl/commit/27e11f2d1d

    Co-authored-by: pkuzco <b.naamneh@gmail.com>
    Co-authored-by: Kazuki Yamaguchi <k@rhe.jp>

commit eb6f0000a4b752803ff7431d24d1a0a535a4387e
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-02-05 21:54:32 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-05-02 16:26:11 +0900

    [ruby/openssl] cipher: fix buffer overflow in Cipher#update

    OpenSSL::Cipher#update currently allocates the output buffer with size
    (input data length)+(the block size of the cipher). This is insufficient
    for the id-aes{128,192,256}-wrap-pad (AES keywrap with padding) ciphers.
    They have a block size of 8 bytes, but the output may be up to 15 bytes
    larger than the input.

    Use (input data length)+EVP_MAX_BLOCK_LENGTH (== 32) as the output
    buffer size, instead. OpenSSL doesn't provide a generic way to tell the
    maximum required buffer size for ciphers, but this is large enough for
    all algorithms implemented in current versions of OpenSSL.

    Fixes: https://bugs.ruby-lang.org/issues/20236

    https://github.com/ruby/openssl/commit/3035559f54

commit d39993a4ce15004d98a450dd71bb804fd0e37182
  Author:     Jaymz Julian <jaymzjulian@meta.com>
  AuthorDate: 2024-02-06 08:00:47 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2024-05-02 16:24:36 +0900

    [ruby/openssl] Fix performance regression in do_write(s)

    This causes significant performance issues when using large (>10meg) writes

    Fix by adjusting the buffer write function to clear the buffer once, rather than
    piece by piece, avoiding a case where a large write (in our case, around
    70mbytes) will consume 100% of CPU. This takes a webrick GET request via SSL
    from around 200kbyts/sec and consuming 100% of a core, to line speed on gigabit
    ethernet and 6% cpu utlization.

    https://github.com/ruby/openssl/commit/d4389b425d

commit f5af620c611bf62d2b29111a0347f306c1f38644
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-05-02 15:49:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 16:17:35 +0900

    [ruby/openssl] asn1: check error return from i2d_ASN1_TYPE()

    i2d_ASN1_TYPE() is not expected to fail, but the return value should be
    checked.

    https://github.com/ruby/openssl/commit/21ed3c310e

commit eb82ea62186fb9c9b2941b04ee12d0dcba112607
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-02 15:06:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 15:06:31 +0900

    [ruby/reline] Fix prompt width calculation bug. Test with colored
    prompt
    (https://github.com/ruby/reline/pull/695)

    https://github.com/ruby/reline/commit/24aab01cbc

commit ed5a7a59c0e909b4c77548fea06f1fd676e48a92
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-05-02 13:59:29 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-02 15:04:20 +0900

    Use callee side tag specification of parameterizing rules

commit fdf88a2c10bd0dc11d1033c2281d764dfdaa00de
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-05-02 14:50:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 14:50:08 +0900

    [ruby/reline] Avoid reading .inputrc repeatedly
    (https://github.com/ruby/reline/pull/694)

    https://github.com/ruby/reline/commit/c8d4802a0f

commit fcd89bf6682a4f488714c9e9ffe3e3d7957a72c9
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-05-02 12:17:18 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-02 13:32:04 +0900

    Lrama v0.6.9

commit d22dfce1cc5e5425e062dc7883b522ef85fe06db
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-01 15:36:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-02 10:14:54 +0900

    Fix memory leak of `rb_ast_t` in parser

    Do not allocate `rb_ast_t` in `ast_alloc` to avoid memory leak.

    For example:

        10.times do
          100_000.times do
            eval("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        17568
        20960
        24096
        27808
        31008
        34160
        37312
        40464
        43568
        46816

    After:

        14432
        14448
        14496
        14576
        14592
        15072
        15072
        15072
        15072
        15088

commit 5108bed5130be00fd4df45eb12cc8ceee4533cf0
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-30 09:08:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-02 10:14:54 +0900

    Revert "Fix memory leak of rb_ast_t in parser"

    This reverts commit e3bfd25bd2202a172d7709e9a2f7b65b523a132d.

    > "Allocate then wrap" is bad, because the "wrapping" itself can fail.
    See: https://github.com/ruby/ruby/pull/10618#pullrequestreview-2019294349

commit f109a83ddfcf68edb303b1e2f5bffa0986fb1436
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:39:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Fix up error message expectations

commit de6e05da49d4b52c8388801921101421dd2d77e9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:30:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Consolidate handling heredoc terminators

commit ac0f6716b1aabd3b06ac2cd26839109f56d14edf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:26:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Respect frozen_string_literal option in RubyVM::InstructionSequence.compile

commit 8ea6daa86d4135e74c8f56b9f8706a7e9a723f6d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:12:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Enable passing tests in test_syntax.rb

commit b64fd2f5c5b45b7caf29c44794118fc0f49d2bdd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:05:37 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Closer error messages on invalid unicode escapes in character literals

commit 1be5ede766d93d0d5056a99773c166987c5d5235
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 06:49:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Error message for unterminated heredoc identifier

commit 62f8fb7f8988f775cc267431e381de8984dcba31
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 06:38:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Fix unterminated regular expression error message

commit 5d1e4cd249c2589c95258fcd8c62d537eb810dd5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 06:33:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Better error messages for unwriteable targets

commit 4e8ae5d32a19578701e26dbad093f350ed9a37b6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 06:24:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 08:19:07 +0900

    [PRISM] Match unterminated error messages

commit 8e1647c3aaae357114720a4caf0f39c1fe743b2d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 07:54:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 08:03:25 +0900

    [ruby/prism] Support passing version 3.3.1

    https://github.com/ruby/prism/commit/445a0f0d22

commit 5cd0abdfb58e3ff35d18ce87f1201582e0142d15
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 04:25:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 05:57:29 +0900

    [PRISM] Simplify prism error highlighting

commit fc8fb581cf8e86ee98a35d3e9af82eb1fda9c50f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 04:40:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 04:51:09 +0900

    [ruby/prism] CRuby error message for trailing underscore in number

    https://github.com/ruby/prism/commit/4e34f236d3

commit d5d2c6ea33d4b9a359cead6b820c9243e32cdafd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 03:12:43 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 04:36:15 +0900

    [PRISM] Enable passing Symbol specs

commit efefe42dd1a1beb4c24631013a95ba19ef508d8c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 03:47:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 04:02:18 +0900

    [ruby/prism] Add more errors for dynamic constant writes in methods

    https://github.com/ruby/prism/commit/486e4c0367

commit febad5cbda83da6cadd682b52ca533751ff523db
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 03:09:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 03:49:45 +0900

    Skip Warning.[] spec if mspec is passing warning options

commit 41f8ae1ffdca349d0301b480c690e83a1dd1e723
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-05-02 01:35:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 01:43:05 +0900

    [ruby/prism] Mark errors for invalid symbols

    https://github.com/ruby/prism/commit/661884c4a3

commit 0fa09c5729fab6b5eb084a01d582587faf6405a3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-30 04:50:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 01:34:29 +0900

    [PRISM] Correct encoding for interpolated string literals in regexp

commit cfe7019ef517804e0b36c5beeb520191d7eb9b52
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-30 04:31:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 01:34:29 +0900

    [ruby/prism] Match CRuby interpolation semantics

    If a single string that is a static literal is interpolated, it
    does not impact whether or not the parent is a static literal. In
    this way, if you have something like a regular expression that
    interpolates a string literal, it's possible that you will end up
    pushing just a single regexp onto the stack as opposed to calling
    out to toregexp.

    https://github.com/ruby/prism/commit/4f096c2257

commit b6fa18fbe90c63b2979a4f1f8aecab1de4373664
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-30 03:33:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 01:34:29 +0900

    [PRISM] Properly precheck regexp for encoding issues

commit 1b8650964bb4c69e23a1e9e5f6b2d14bfe0b698a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-30 02:38:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-05-02 01:34:29 +0900

    [PRISM] Support interpolated regexp with encoding modifiers

commit fef6f5f2e1b89e8726c20c734f84bd71e6480da9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-02 00:19:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-02 00:20:01 +0900

    [ruby/irb] Bump version to v1.13.0
    (https://github.com/ruby/irb/pull/941)

    * Bump version to v1.13.0

    * Add Documentation category to changelog

    https://github.com/ruby/irb/commit/b9b1f35c99

commit 7ef8bb129ff16750429a7ede4397d0622954ca35
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-01 23:01:02 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-02 00:09:54 +0900

    Fix memory leak in Ripper.sexp

    rb_ast_dispose does not free the rb_ast_t causing it to be leaked. This
    commit changes it to use rb_ast_free instead.

    For example:

        require "ripper"

        10.times do
          100_000.times do
            Ripper.sexp("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        27648
        32512
        37376
        42240
        47232
        52224
        57344
        62208
        67072
        71936

    After:

        22784
        22784
        22784
        22784
        22912
        22912
        22912
        22912
        22912
        22912

commit e9e41ad6b0b94e69e375cb2cef84e7a241d7ef56
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-01 22:48:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-02 00:03:00 +0900

    Fix ruby_mimcalloc size when CALC_EXACT_MALLOC_SIZE

    Should be `sizeof(struct malloc_obj_info) + (num * element)`, not
    `num * (sizeof(struct malloc_obj_info) + element)`.

commit 77f5301cd16f873bca8c09cb37223b659100c499
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-01 23:52:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 23:52:53 +0900

    [ruby/irb] Let IRB::Color.colorable? always return true|false
    (https://github.com/ruby/irb/pull/940)

    https://github.com/ruby/irb/commit/0bbe435ffe

commit 1000c27db861a4c405dcea12be391df031a14fdc
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-05-01 23:23:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 23:23:09 +0900

    [ruby/irb] Support `IRB.conf[:BACKTRACE_FILTER]`
    (https://github.com/ruby/irb/pull/917)

    * Use 'irbtest-' instead if 'irb-' as prefix of test files.

    Otherwise IRB would mis-recognize exceptions raised in test files as
    exceptions raised in IRB itself.

    * Support `IRB.conf[:BACKTRACE_FILTER]``

    This config allows users to customize the backtrace of exceptions raised
    and displayed in IRB sessions. This is useful for filtering out library
    frames from the backtrace.

    IRB expects the given value to response to `call` method and return
    the filtered backtrace.

    https://github.com/ruby/irb/commit/6f6e87d769

commit 2a978ee04732e719fb905af1baa03932b68a048a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-05-01 23:22:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-01 23:22:41 +0900

    YJIT: Fix `Struct` accessors not firing tracing events (#10690)

    * YJIT: Fix `Struct` accessors not firing tracing events

    Reading and writing to structs should fire `c_call` and `c_return`, but
    YJIT wasn't correctly dropping those calls when tracing.
    This has been missing since this functionality was added in 3081c83169c,
    but the added test only fails when ran in isolation with
    `--yjit-call-threshold=1`. The test sometimes failed on CI.

    * RJIT: YJIT: Fix `Struct` readers not firing tracing events

    Same issue as YJIT, but it looks like RJIT doesn't support writing to
    structs, so only reading needs changing.

commit f4c6479eeabc2b691f07f9421b7e7d59a7f53921
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-01 22:01:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-01 22:01:36 +0900

    Fix xfree

    Pointers allocated with `ruby_xmalloc` (`ALLOC` macro) must be freed
    with `ruby_xfree`.

commit d1f14bafb06862e4095aea4598c7625368f6af24
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-01 06:22:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-01 21:54:45 +0900

    Fix leak reported by Valgrind when setting environment variables

    The call to setenv replaces the string in the environ array, which causes
    the original string to be reported as a memory leak.

    This commit allocates another copy of environ called alloc_environ that
    contains the strings allocated by ruby_init_setproctitle. Then in
    ruby_free_proctitle it frees all the strings in alloc_environ.

    For example:

        ENV.each { |k, v| ENV[k] = v.dup }

    Valgrind reports:

        3,321 bytes in 39 blocks are definitely lost in loss record 3 of 3
          at 0x484884F: malloc (vg_replace_malloc.c:393)
          by 0x25CB5B: objspace_xmalloc0 (gc.c:11972)
          by 0x40344E: ruby_strdup (util.c:540)
          by 0x59C854: ruby_init_setproctitle (setproctitle.c:143)
          by 0x38CC44: ruby_process_options (ruby.c:3101)
          by 0x234DB1: ruby_options (eval.c:117)
          by 0x15B92E: rb_main (main.c:40)
          by 0x15B92E: main (main.c:59)

commit 57eca0a80dbe5d829108d9a7f46123eb80cd3254
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-05-01 17:46:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-05-01 17:46:41 +0900

    Test for memory leak

commit acc76c8c911467fc9496789c52851ba45a9ef5d4
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-04-29 11:59:09 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-01 15:53:08 +0900

    Use user defined parameterizing rules `f_opt(value)`

commit c28329817d07e221290d3c4729db38bc6938ee10
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-04-29 10:50:53 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-01 14:50:10 +0900

    Use user defined parameterizing rules `f_kwarg(kw)`

commit 9f7e0d2bb40afd17886272334413b5ae109a5f56
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-04-29 01:08:08 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-05-01 13:53:37 +0900

    Use user defined parameterizing rules `opt_args_tail(tail)`

commit 0c13596686823427a52253ae0fdea9b37f0533a0
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-04-30 22:31:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 08:31:26 +0900

    [ruby/delegate] test: remove needless mu_pp

    It's for minitest. We don't need it with test-unit.

    https://github.com/ruby/delegate/commit/447cd43973

commit ade22339e3056710dbe27eaa624c2e76fa15567b
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-05-01 02:57:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-05-01 02:57:18 +0900

    YJIT: print msg to stderr when RubyVM::YJIT.disasm not available (#10688)

    * YJIT: print msg to stderr when RubyVM::YJIT.disasm not available

    Print a more useful error message when people try to use this
    feature without YJIT dev.

    Also fix an issue with .gitignore file on macOS

    * Update yjit.rb

    Co-authored-by: Randy Stauner <randy@r4s6.net>

    * Use warn and always return nil if YJIT disasm not available.

    ---------

    Co-authored-by: Randy Stauner <randy@r4s6.net>

commit bd419a6578e89c8d853937de686617afe13227b3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-30 00:23:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-05-01 02:04:15 +0900

    Removed unused TICK_TYPE 2

    TICK_TYPE of 2 can never be used because we hard code TICK_TYPE to 1.

commit 614187f8c284ef9adfca8a6fa91a0ae58889eff2
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-05-01 01:51:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 01:51:25 +0900

    [ruby/reline] Fix completion dialog position when completed part is
    wordwrapped
    (https://github.com/ruby/reline/pull/692)

    https://github.com/ruby/reline/commit/2d9acd16fe

commit d7ba0fec492823f5191a34be5fe4b8e0b5641f07
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-04-29 04:26:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 00:34:49 +0900

    [rubygems/rubygems] Update lib/rubygems/package.rb

    https://github.com/rubygems/rubygems/commit/c4e75b9f74

commit d950609ec709c7c4dc48603b9b2d88f840a520fb
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-04-11 16:05:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 00:34:48 +0900

    [rubygems/rubygems] Add a limit to the size of the metadata and checksums files in a gem package.

    This is to prevent a malicious gem from causing a denial of service by
    including a very large metadata or checksums file,
    which is then read into memory in its entirety just by opening the gem package.

    This is guaranteed to limit the amount of memory needed, since
    gzips (which use deflate streams for compression) have a maximum compression
    ratio of 1032:1, so the uncompressed size of the metadata or checksums file
    will be at most 1032 times the size of the (limited) amount of data read.

    This prevents a gem from causing 500GB of memory to be allocated
    to read a 500MB metadata file.

    https://github.com/rubygems/rubygems/commit/a596e3c5ec

commit e0949c3f7cbf32d46ee276d69343b7cb8da4325f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-05-01 00:17:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 00:23:15 +0900

    [ruby/openssl] Remove trailing space in test_ssl.rb

    https://github.com/ruby/openssl/commit/911a31335f

commit 9d75d9f07ce1d7ac5a75d787c5acff2aa11e99c9
  Author:     Bart de Water <496367+bdewater@users.noreply.github.com>
  AuthorDate: 2024-03-16 00:05:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 00:05:50 +0900

    [ruby/openssl] Update Cipher#name to match Digest#name explanation

    https://github.com/ruby/openssl/commit/79e6dead6e

commit cc6657e563298e6c5ce50af3d107a60791b723af
  Author:     Bart de Water <496367+bdewater@users.noreply.github.com>
  AuthorDate: 2024-03-12 11:27:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-05-01 00:05:50 +0900

    [ruby/openssl] Add OpenSSL::Digest.digests to get a list of available digests

    https://github.com/ruby/openssl/commit/08dd3c73b7

commit 1ca4c52b6488b98804c9bb6d4cf5455773badba9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-30 06:42:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-30 23:57:32 +0900

    Free unused_block_warning_table when RUBY_FREE_AT_EXIT

commit 368ce0758e1f4c0fd38ae08297f432c0a9589d4a
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-28 15:09:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-30 23:51:59 +0900

    [ruby/openssl] Further clarification of documentation.

    https://github.com/ruby/openssl/commit/0697f2f8b4

commit f1afae2459e139430859f57b8351d180e9ef5d9f
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-27 21:06:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-30 23:51:59 +0900

    [ruby/openssl] More documentation.

    https://github.com/ruby/openssl/commit/c8377eaf8d

commit 1699772ac4e62d783aab6e820f978c04a215a612
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-22 17:48:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-30 23:51:58 +0900

    [ruby/openssl] Introduce basic support for `close_read` and `close_write`.

    https://github.com/ruby/openssl/commit/c99d24cee9

commit 8fb430c1da0d27247c5b425487ab4766afe8165d
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-30 19:29:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-30 19:29:38 +0900

    [ruby/irb] Restore MAIN_CONTEXT correctly
    (https://github.com/ruby/irb/pull/937)

    https://github.com/ruby/irb/commit/c41f460a70

commit 7a8882bc30bdbece9a92ce4a2b44561402492b0e
  Author:     Richard Ricciardelli <ricciardelli2021@gmail.com>
  AuthorDate: 2024-04-29 20:23:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-30 10:34:40 +0900

    [DOC] Fix typo: Replace `documentatation` with `documentation`

commit 528c4501f46fbe1e06028d673a777ef124d29829
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-26 18:16:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-30 09:00:05 +0900

    Use `rb_parser_string_t *` as `ruby_sourcefile_string`

    This reduces dependency on VALUE.

commit 0aefd2f7849a3dc73e17cc13084b38d3d2e8b341
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-30 05:54:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-30 05:54:39 +0900

    YJIT: Pass options to ruby/spec with `-T` (#10599)

    We recently found out that `make test-spec` wasn't testing with
    `--yjit-call-threshold=1` like the other test suites, and that we need
    to use `-T` to pass options to it.

commit 470eceff8fba796418c77319262e01b9d278a9fe
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-30 04:55:10 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-04-30 05:36:27 +0900

    YJIT: Remove CString allocation when using `src_loc!()`

    Since we often take the VM lock as the first thing we do when entering
    YJIT, and that needs a `src_loc!()`, this removes a allocation from
    that. The main trick here is `concat!(file!(), '\0')` to get a C string
    statically baked into the binary.

commit de0ad3be8ee0ac3b1f8e97dae934e82951721061
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-30 05:08:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-30 05:08:06 +0900

    YJIT: Take VM lock when invalidating

    We need the lock to patch code safely.
    This might fix some Ractor related crashes seen on CI.

commit adae813c5ff34c7a2981f9d700e86a6095c92774
  Author:     Randy Stauner <randy@r4s6.net>
  AuthorDate: 2024-04-30 04:25:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-30 04:25:22 +0900

    YJIT: Expand codegen for `TrueClass#===` to `FalseClass` and `NilClass` (#10679)

commit 845f2db1360032a0506c5d5a8570f5c73a2588a3
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2024-04-30 03:32:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-30 03:32:07 +0900

    YJIT: Add specialized codegen function for `TrueClass#===` (#10640)

    * YJIT: Add specialized codegen function for `TrueClass#===`

    TrueClass#=== is currently number 10 in the most frequent C calls list of the lobsters benchmark.

    ```
    require "benchmark/ips"

    def wrap
      true === true
      true === false
      true === :x
    end

    Benchmark.ips do |x|
      x.report(:wrap) do
        wrap
      end
    end
    ```

    ```
    before
    Warming up --------------------------------------
                    wrap     1.791M i/100ms
    Calculating -------------------------------------
                    wrap     17.806M (± 1.0%) i/s -     89.544M in   5.029363s

    after
    Warming up --------------------------------------
                    wrap     4.024M i/100ms
    Calculating -------------------------------------
                    wrap     40.149M (± 1.1%) i/s -    201.223M in   5.012527s
    ```

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>
    Co-authored-by: Kevin Menard <kevin.menard@shopify.com>
    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

    * Fix the new test for RJIT

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>
    Co-authored-by: Kevin Menard <kevin.menard@shopify.com>
    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit e3bfd25bd2202a172d7709e9a2f7b65b523a132d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-30 02:07:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-30 03:04:42 +0900

    Fix memory leak of rb_ast_t in parser

    ast_alloc uses TypedData_Make_Struct, which allocates a rb_ast_t. But it
    is overwritten when we set the DATA_PTR so the original memory is leaked.

    For example:

        10.times do
          100_000.times do
            eval("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        17328
        20752
        23664
        28400
        30656
        34224
        37424
        40784
        43328
        46656

    After:

        14320
        14320
        14320
        14320
        14320
        14320
        14320
        14336
        14336
        14336

commit 95d036aaf07892f5b97ce744a42e8d541cad91ec
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-30 02:06:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-30 03:04:42 +0900

    Fix memory leak in ruby_parser

    For example:

        10.times do
          100_000.times do
            eval("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        19872
        26480
        32848
        39504
        45904
        52672
        59200
        65760
        72128
        78496

    After:

        17328
        20752
        23664
        28400
        30656
        34224
        37424
        40784
        43328
        46656

commit d75bbba255e086d625429d5a1311cc4b4396c296
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-30 02:00:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-30 02:28:15 +0900

    [PRISM] Remove false positive compile warnings for branch coverage

commit dbb1ba88ebb5a08ea5a856c8086aa253b59b6f70
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-29 22:35:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 22:35:59 +0900

    [ruby/reline] Bump version to 0.5.4
    (https://github.com/ruby/reline/pull/691)

    https://github.com/ruby/reline/commit/3f27286a5e

commit 814d4b5e2c2c583bc82aa5173419cfb3fd48f4fd
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-29 22:22:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 22:23:03 +0900

    [ruby/reline] Input with eof and no newline bugfix
    (https://github.com/ruby/reline/pull/671)

    https://github.com/ruby/reline/commit/0d66c335a1

commit 4c41203bbbd14c1b03a2aacab4e604229fc933cf
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-29 17:23:28 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-29 21:26:44 +0900

    Remove needless header file include

commit ae701031f5c727db3967f1c2b0d1910bc6063c05
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-29 21:08:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 21:08:59 +0900

    [ruby/reline] Completely support full-width characters in
    differential rendering
    (https://github.com/ruby/reline/pull/654)

    * Add a cut variation of Reline::Unicode.take_range method take_mbchar_range

    * Consider fullwidth take_range in differential rendering

    https://github.com/ruby/reline/commit/29714df09f

commit 018c5717e5fb18c253765b69c4894757595a27b6
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-29 21:05:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 21:05:36 +0900

    [ruby/reline] Handle mode condition in inputrc
    (https://github.com/ruby/reline/pull/687)

    https://github.com/ruby/reline/commit/bed5fb3d77

commit 435f449b4e909b2a480b0c83e7cc4b0dac22bea3
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-28 01:20:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 19:29:29 +0900

    [rubygems/rubygems] Make sure to force latest resolvable version explicitly

    To make sure we can always update to the latest resolvable version for
    each gem explicitly requested for update, we first run a full update,
    and then add explicit exact requirements to the resolved versions. This
    may lead into conflicts, but our resolver already automatically parses
    those and unlocks additional gems to fix them.

    https://github.com/rubygems/rubygems/commit/01c0bf34f0

commit 491195af0279537805d714ba437965ba38d44c29
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-26 02:11:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 19:29:28 +0900

    [rubygems/rubygems] Keep track of gems requested for update explicitly

    https://github.com/rubygems/rubygems/commit/ea43e4c6d7

commit 83933f921b03c05da38301d713559dfd498c4a53
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-05 03:01:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 19:29:28 +0900

    [rubygems/rubygems] No need to reset version promoter here

    Since resolution options don't change.

    https://github.com/rubygems/rubygems/commit/5c5aa38c06

commit 53571de8e9605c7a373b0ffc9f94167cf898f568
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-26 17:44:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 18:04:33 +0900

    [rubygems/rubygems] Fix circular require warning

    https://github.com/rubygems/rubygems/commit/241d0aafcd

commit d6cb62a88f4d31548dfedd1cdb4082be8b7ced2e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-24 03:15:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 17:57:35 +0900

    [rubygems/rubygems] Show better error when installed gemspecs are unreadable

    https://github.com/rubygems/rubygems/commit/924f87c8a9

commit 68a1867f53c5343a72a436fe75eccafdbcb41ce0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-24 04:56:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 17:56:55 +0900

    [rubygems/rubygems] Fix issue with `bundle update` with an out of sync lockfile

    An old platform related bug fix made some existing lockfiles no longer
    work because they included invalid platforms. So to make it backwards
    compatible, code was added to remove invalid platforms from the lockfile
    before resolution. This is skipped though when Gemfile has changed
    dependencies because in that case we will be re-resolving anyways.
    However, in the `bundle update` case, the detection of "dependencies
    have changed" was not actually working making Bundler remove all
    platforms and not be able to resolve.

    https://github.com/rubygems/rubygems/commit/6452adfd62

commit 6203307f164453d67ec80048483e72b30a63b7c0
  Author:     Andy Waite <13400+andyw8@users.noreply.github.com>
  AuthorDate: 2024-04-29 09:05:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 17:42:07 +0900

    [rubygems/rubygems] Address PR feedback

    https://github.com/rubygems/rubygems/commit/62be097a32

commit 2a683f3f7db10ae88bca125a9030a56a42e6d6b8
  Author:     Andy Waite <13400+andyw8@users.noreply.github.com>
  AuthorDate: 2024-04-27 23:45:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-29 17:42:07 +0900

    [rubygems/rubygems] Clarify `bundle check` behaviour in docs

    https://github.com/rubygems/rubygems/commit/c438c6db2e

commit 5ed2064419a9f929bea3bfa6a7c01b807e45a07b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-29 14:07:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-29 15:09:26 +0900

    Lrama v0.6.8

commit b7bd55cdc7125c4d383eea0e9be6e57015cd19b5
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-29 10:09:15 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-29 10:09:15 +0900

    suppress -Wold-style-cast warnings

commit 17a0e2ac049d051f7c5af00d0a179d1b4efc3005
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-29 10:03:50 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-29 10:03:50 +0900

    workaround C++ compile error

    We observe compiler error on FreeBSD.  Their stdckdint.h does not
    understand C++.  This shall be addressed on their side.  Unti then we
    resport to our own version.

    https://rubyci.s3.amazonaws.com/freebsd14/ruby-master/log/20240427T143002Z.log.html.gz

commit a6308ca9589638c2efb791ac6858fdda8cb06c44
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-28 09:33:00 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-29 08:38:23 +0900

    ripper: Move DSL line pattern

commit f9cf923af2c54345b1d6756e3268b509655754a3
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-04-27 21:16:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-29 08:38:23 +0900

    Use user defined parameterizing rules

commit 29aaf4abe61e5ce24577eb3e8ccaa0a21934bb30
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-28 12:45:30 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-28 17:58:57 +0900

    Remove `ast_new` field from `struct rb_parser_config_struct`

    `ast_new` can be embedded into `rb_ast_new`.

commit 5c3d5c7cddb7ecd4c8b776492a232abafbaae0e6
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-28 12:30:04 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-28 13:38:36 +0900

    Lrama v0.6.7

commit ddd8da4b6ba3dfcca21ca710e7cef2fa3b9632d7
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-04-27 16:28:52 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-28 12:08:21 +0900

    [Universal parser] Improve AST structure

    This patch moves `ast->node_buffer->config` to `ast->config` aiming to improve readability and maintainability of the source.

    ## Background

    We could not add the `config` field to the `rb_ast_t *` due to the five-word restriction of the IMEMO object.
    But it is now doable by merging https://github.com/ruby/ruby/pull/10618

    ## About assigning `&rb_global_parser_config` to `ast->config` in `ast_alloc()`

    The approach of not setting `ast->config` in `ast_alloc()` means that the client, CRuby in this scenario, that directly calls `ast_alloc()` will be responsible for releasing it if a resource that is passed to AST needs to be released.

    However, we have put on hold whether we can guarantee the above so far, thus, this patch looks like that.

    ```
    // ruby_parser.c
    static VALUE
    ast_alloc(void)
    {
        rb_ast_t *ast;
        VALUE vast = TypedData_Make_Struct(0, rb_ast_t, &ast_data_type, ast);
    #ifdef UNIVERSAL_PARSER
        ast = (rb_ast_t *)DATA_PTR(vast);
        ast->config = &rb_global_parser_config;
    #endif
        return vast;
    }
    ```

commit 8ad0b2cd310b4ca5af9a24610117a05acc35bcae
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-04-20 00:30:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-28 09:01:49 +0900

    Use `' '+` instead of words_sep

commit 937cb1176de32b69d9b800e7d0bd3b88cb83d06b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-28 00:06:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-28 00:06:24 +0900

    Fix regexps for abbreviated options

commit a0b4f0bcc97331e8feae1bcc9567f821921669b9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-28 00:03:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-28 00:03:09 +0900

    Timeout scale in bootstraptest

commit 602193ded761fd0489b82cf705416bdc3f9cf501
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-28 00:02:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-28 00:02:33 +0900

    Timeout in bootstraptest

commit c844968b725416efba767ea6161b4c14d8fd9536
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-25 16:59:22 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-27 21:55:28 +0900

    ruby tool/update-deps --fix

commit bb5a53820703f5e1af886a0c5ca7178aa976be29
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-25 16:25:15 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-27 21:55:28 +0900

    use of stdckdint.h

    C23 is going to have this header.  The industry is already moving
    towards accepting it; OSes and compilers started to implement theirs.

    Why not detect its presence and if any, prefer over other ways.

    See also:

    - https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2683.pdf
    - https://reviews.freebsd.org/D41734
    - https://reviews.llvm.org/D157331
    - https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=8441841a1b985d68245954af1ff023db121b0635

commit 9ea77cb3514664fc150515765fb9ede5b2b6ab4c
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-04-27 16:00:06 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-27 17:56:20 +0900

    Remove unnecessary assignment to ast->body.line_count

    This patch removes a code that assigns `-1` to `ast->body.line_count` because, at least as of now, it looks not necessary.
    I made this commit atomically revertable if I was wrong.

    ## Relevant commits

    - The preparation for this PR: https://github.com/ruby/ruby/pull/10655/files#diff-2af2e7f2e1c28da5e9d99ad117cba1c4dabd8b0bc3081da88e414c55c6aa9549R1484-R1493
    - The original commit that introduced the code: https://github.com/ruby/ruby/commit/d65f7458bc8b4fa4404c41713cfa1ece5260fc8a

commit ef3e3e9a2ff7684003b329f4353e3fafda38baaf
  Author:     jinroq <2787780+jinroq@users.noreply.github.com>
  AuthorDate: 2024-04-27 12:47:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-27 12:47:45 +0900

    Fixed a value specified for OPT_THREADED_CODE (#10657)

    Values defined for OPT_THREADED_CODE are 0,1,2. However, 1,2,3 are set in workflow. It seems that case 3 does not exist, so 0 is specified instead.

    Co-authored-by: jinroq <jinroq@users.noreply.github.com>

commit 8089faee451c94e3becdccbe8f98a75ab9585333
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-27 12:43:22 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 12:43:22 +0900

    Revert "YJIT: Try splitting getlocal/setlocal blocks (#10648)"

    This reverts commit ab228bd0844758a1c444e39030c153874adf9120.

commit 55a402bb759597487905a94d5b1bbff4a672499c
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-04-26 21:43:35 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-27 12:08:26 +0900

    Add line_count field to rb_ast_body_t

    This patch adds `int line_count` field to `rb_ast_body_t` structure.
    Instead, we no longer cast `script_lines` to Fixnum.

    ## Background

    Ref https://github.com/ruby/ruby/pull/10618

    In the PR above, we have decoupled IMEMO from `rb_ast_t`.
    This means we could lift the five-words-restriction of the structure
    that forced us to unionize `rb_ast_t *` and `FIXNUM` in one field.

    ## Relating refactor

    - Remove the second parameter of `rb_ruby_ast_new()` function

    ## Attention

    I will remove a code that assigns -1 to line_count, in `rb_binding_add_dynavars()`
    of vm.c, because I don't think it is necessary.
    But I will make another PR for this so that we can atomically revert
    in case I was wrong (See the comment on the code)

commit bf1f16ef47966e33401e5b9656a4ae4152dd1e60
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-27 01:10:06 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-27 10:06:09 +0900

    Lrama v0.6.6

commit 2ba7c1b142f85a11e11b4861079f3df0f456ab3a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-27 09:12:45 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 10:03:26 +0900

    YJIT: Correct signature of rb_yjit_root_mark()

    Even though unused, it's supposed to take a pointer like the C side
    expects.

commit 83c03cc73a30d27f8b35f2d08ba763353bf8e18f
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-27 09:09:19 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 10:03:26 +0900

    YJIT: Stop asserting rb_objspace_markable_object_p()

    Because of the way things are sequenced, it doesn't work properly during
    auto-compaction.

commit 73eeb8643b8dcb5a059cb55a21da2e77a2febd24
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-27 09:03:48 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 10:03:26 +0900

    YJIT: Fix reference update for `Invariants::no_ep_escape_iseqs`

    Previously, the update was done in the ISEQ callback. That effectively
    never updated anything because the callback itself is given an intact
    reference, so it could update its content, and `rb_gc_location(iseq)`
    never returned a new address. Update the whole table once in the YJIT
    root instead.

commit c746332c797a6bd1a887538b2bc7ad57b2055f36
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-27 09:35:52 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 09:35:52 +0900

    Revert "Use -v to investigate which test is stuck"

    This reverts commit 444553b528a54a97e539de212ffc4c6466a6db20.

    At least it should no longer timeout.

commit c32366ff79b75847cf156512eb408afcb021f840
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-27 09:18:48 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 09:18:49 +0900

    Avoid overriding GNUMAKEFLAGS's -j

    .github/actions/setup/directories/action.yml sets GNUMAKEFLAGS. Having
    -j here is rather harmful.

    Partly reverts f8dad616c2ee2d83b3162da8d86865b0f2a782de.

commit f64c97418bb32c8595829c658251f6145a76c13a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-27 04:27:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-27 06:02:08 +0900

    Allow RUBY_GC_LIBRARY_PATH to be set in miniruby

    miniruby is used by tool/runruby.rb, so we need to ensure we don't rb_bug
    when RUBY_GC_LIBRARY_PATH is set so we can run tests using the make
    commands. This commit changes it to warn instead.

commit ddce8ca83175e9fafd3402043eb383ffbe48ce40
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 04:13:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 06:01:13 +0900

    [PRISM] Enable integer test

commit 3872e54039f467cdab5c9a0e384d91d37d436ecb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-24 04:50:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 06:01:03 +0900

    [ruby/prism] Bump to v0.27.0

    https://github.com/ruby/prism/commit/c9edeef91a

commit bb3dd5b80899b4f714cf5b1a820f92e6bd736e87
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 04:03:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 06:01:03 +0900

    [PRISM] Sync latest config.yml documentation updates

commit 41e17f562453d8711bc64801075e45373ebb3676
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-27 03:10:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-27 05:58:20 +0900

    Fix compiler warning for ruby_external_gc_init

    Fixes:

        warning: old-style function definition [-Wold-style-definition]

commit ab228bd0844758a1c444e39030c153874adf9120
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-27 05:02:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-27 05:02:22 +0900

    YJIT: Try splitting getlocal/setlocal blocks (#10648)

commit 46480e3042fed08a6b4f2ff96b5acc1539b812b1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 03:22:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 04:16:58 +0900

    [PRISM] Use redundant return flag

commit 96880931244513b35846db9f0b811a5db473f989
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 03:55:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-27 04:05:32 +0900

    [ruby/prism] Location#slice_lines, Node#slice_lines

    https://github.com/ruby/prism/commit/9b61f6fdb3

commit 0599184a18026c9a5a189c93c1cd6c9c6d23b4ad
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 03:44:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-27 03:55:27 +0900

    [ruby/prism] Match CRuby error messages for invalid numerics

    https://github.com/ruby/prism/commit/be21a1bd1d

commit a1db69f0c9a8c3cb9e03b1701a82c2ea2c167500
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-27 03:11:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-27 03:11:30 +0900

    Skip a flaky Ractor test for YJIT

    https://github.com/ruby/ruby/actions/runs/8852277192/job/24310631888
    https://github.com/ruby/ruby/actions/runs/8851325573/job/24307638329

    This seems like an existing, separate issue from what we're currently
    investigating. The `iseq->body->jit_entry` setup is not Ractor-safe?
    Let me suppress this for now and revisit this after resolving the
    ongoing issue.

commit 6a296089c61223ca040e6dc3b92d9bbd1c62c309
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-27 02:23:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-27 03:10:42 +0900

    [ruby/prism] Add a flag on returns when they are redundant

    https://github.com/ruby/prism/commit/450541d2c3

commit 148518baa06c50669de98d078f743a594ffe2fba
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-27 02:52:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-27 02:52:12 +0900

    [ruby/irb] Suppress command return values
    (https://github.com/ruby/irb/pull/934)

    Since commands can't be chained with methods, their return values are
    not intended to be used. But if IRB keeps storing command return values
    as the last value, and print them, users may rely on such implicit
    behaviour.

    So to avoid such confusion, this commit suppresses command's
    return values. It also updates some commands that currently rely on
    this implicit behaviour.

    https://github.com/ruby/irb/commit/fa96bea76f

commit 6b120135afe1529a8ed1532b9da6878f1f4b1fbf
  Author:     Job Snijders <job@sobornost.net>
  AuthorDate: 2024-03-25 21:20:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-27 01:55:15 +0900

    [ruby/openssl] Only CSR version 1 (encoded as 0) is allowed by PKIX standards

    RFC 2986, section 4.1 only defines version 1 for CSRs. This version
    is encoded as a 0. Starting with OpenSSL 3.3, setting the CSR version
    to anything but 1 fails.

    Do not attempt to generate a CSR with invalid version (which now fails)
    and invalidate the CSR in test_sign_and_verify_rsa_sha1 by changing its
    subject rather than using an invalid version.

    This commit fixes the following error.

    ```
     2) Error: test_version(OpenSSL::TestX509Request): OpenSSL::X509::RequestError:
    X509_REQ_set_version: passed invalid argument
    /home/runner/work/openssl/openssl/test/openssl/test_x509req.rb:18:in `version='
    /home/runner/work/openssl/openssl/test/openssl/test_x509req.rb:18:in `issue_csr'
    /home/runner/work/openssl/openssl/test/openssl/test_x509req.rb:43:in
    `test_version'
         40:     req = OpenSSL::X509::Request.new(req.to_der)
         41:     assert_equal(0, req.version)
         42:
      => 43:     req = issue_csr(1, @dn, @rsa1024, OpenSSL::Digest.new('SHA256'))
         44:     assert_equal(1, req.version)
         45:     req = OpenSSL::X509::Request.new(req.to_der)
         46:     assert_equal(1, req.version)
    ```

    https://github.com/ruby/openssl/commit/c06fdeb091

commit 9aecff25304939644681b62e14b5542299e236af
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 03:44:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Fix up if condition branch coverage location

commit c46e32e34204b7121aaa4567a3c3c016271f9ea6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 03:39:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Fix up branch coverage for &. with block

commit d06bbafd3f6e77b0af100e8755c79d2a681362b4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 00:30:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable branch coverage for if/unless conditionals

commit 881c450135167a8ebee7ca17e4febf9bf4c70029
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 00:14:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable branch coverage for while/until loops

commit 43076bf9d10939352c8010aa67b05270ab3fc9b9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 00:06:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable branch coverage for case pattern matching

commit e5bd4c78b238f59307739542d163e6f8bac20b9a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 22:58:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable branch coverage for case

commit 235a3f3b7c08177b2f67a86e87ffc06c6e164a30
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 22:17:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable branch coverage for &.

commit 6509634ebad0af34c16cfdd59181b42ac6b0519f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 22:05:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Modify test_coverage to take prism into account

commit 94d6295b2d41227b47f44b30f3e46a666b13d7f7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 21:50:23 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable coverage in eval ISEQs

commit 49764869af13002b4e3002b7461ff341f3d8f5d5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 21:48:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    [PRISM] Enable coverage in top and main iseqs

commit af800bef210f5cca5acdcfd874b1391d44eec29c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-19 02:37:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-27 01:25:45 +0900

    Remove dependency on NODE from coverage structure

commit 353cba49558d56b10ed549a628ee54cd8875b8f5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-25 23:45:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-27 00:43:14 +0900

    Use fprintf for error message when loading external GC

    The error message is often long, so using a small buffer could cause it
    to be truncated. rb_bug also has a 256 byte message buffer, so it could
    also be truncated.

commit 67b79d484f97033d362305607f0031ef7fa39f12
  Author:     Sam Aaron <samaaron@gmail.com>
  AuthorDate: 2024-04-27 00:10:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-27 00:10:42 +0900

    Enable Ruby to run on Windows with frozen string literals

commit 69c1bd90be2d1502ace02601fff4dd362604c13f
  Author:     Diego Henrique <gobr.null@gmail.com>
  AuthorDate: 2024-04-26 23:31:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-26 23:31:36 +0900

    [DOC] Fix a typo in globals.rdoc

    Noticed this small type while reading the docs.

commit dd578cf2f134e915abdf41393fc08f29640fb9c9
  Author:     Artur <22315378+artur-intech@users.noreply.github.com>
  AuthorDate: 2024-04-26 21:33:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-26 21:33:41 +0900

    [DOC] Enhance `Numeric#nonzero?` doc

    Add `zero?` as a related method

commit 25a8b76c763692083f6e850693b1319f1c544171
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-26 21:12:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-26 21:12:31 +0900

    [ruby/irb] Command registration should take both strings and symbols
    as names
    (https://github.com/ruby/irb/pull/932)

    This will save users some heads scratching when they try to register a
    command with a string name and found that it doesn't work.

    I also rewrote converted custom command tests into integration tests to
    make test setup/cleanup easier.

    https://github.com/ruby/irb/commit/a91a212dbe

commit 140c59c633b554d437ebcc0931bcc7f4fc5af235
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-26 18:38:12 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-26 20:34:49 +0900

    Set `SCRIPT_LINES__` outside of parser

    Parser should not depend on functions defiend on "ruby_parser.c".

commit 762491db822570e20090d6ba1cdec16ae2845397
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-26 18:08:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-26 18:17:09 +0900

    [DOC] Caveat about "allocate then wrap"

commit 2244c58b009c31da60ad108d6cbccf99d97a5e29
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-04-16 18:42:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-26 11:21:08 +0900

    [Universal parser] Decouple IMEMO from rb_ast_t

    This patch removes the `VALUE flags` member from the `rb_ast_t` structure making `rb_ast_t` no longer an IMEMO object.

    ## Background

    We are trying to make the Ruby parser generated from parse.y a universal parser that can be used by other implementations such as mruby.
    To achieve this, it is necessary to exclude VALUE and IMEMO from parse.y, AST, and NODE.

    ## Summary (file by file)

    - `rubyparser.h`
      - Remove the `VALUE flags` member from `rb_ast_t`
    - `ruby_parser.c` and `internal/ruby_parser.h`
      - Use TypedData_Make_Struct VALUE which wraps `rb_ast_t` `in ast_alloc()` so that GC can manage it
        - You can retrieve `rb_ast_t` from the VALUE by `rb_ruby_ast_data_get()`
      - Change the return type of `rb_parser_compile_XXXX()` functions from `rb_ast_t *` to `VALUE`
      - rb_ruby_ast_new() which internally `calls ast_alloc()` is to create VALUE vast outside ruby_parser.c
    - `iseq.c` and `vm_core.h`
      - Amend the first parameter of `rb_iseq_new_XXXX()` functions from `rb_ast_body_t *` to `VALUE`
      - This keeps the VALUE of AST on the machine stack to prevent being removed by GC
    - `ast.c`
      - Almost all change is replacement `rb_ast_t *ast` with `VALUE vast` (sorry for the big diff)
      - Fix `node_memsize()`
        - Now it includes `rb_ast_local_table_link`, `tokens` and script_lines
    - `compile.c`, `load.c`, `node.c`, `parse.y`, `proc.c`, `ruby.c`, `template/prelude.c.tmpl`, `vm.c` and `vm_eval.c`
      - Follow-up due to the above changes
    - `imemo.{c|h}`
      - If an object with `imemo_ast` appears, considers it a bug

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 9b5bc8e6ea3e5269a5415546a33fd09035eab168
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-26 06:01:54 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-04-26 07:38:14 +0900

    YJIT: Relax `--yjit-verify-ctx` after singleton class creation

    Types like `Type::CString` really only assert that at one point the object had
    its class field equal to `String`. Once a singleton class is created for any
    strings, the type makes no assertion about any class field anymore, and becomes
    the same as `Type::TString`.

    Previously, the `--yjit-verify-ctx` option wasn't allowing objects of these
    kind that have have singleton classes to pass verification even though the code
    generators handle it just fine.

    Found through `ruby/spec`.

commit 49753cd082b31b82b527eb683c9381cd5787293d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-25 04:32:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-26 06:11:34 +0900

    Use xcalloc for allocating shape tree

    The GC is initialized by this point, so we can use xcalloc instead of
    ruby_mimcalloc.

commit af24ba40344cdd83865c7c580756352be526794a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 02:32:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-26 03:59:48 +0900

    [PRISM] Raise LoadError when file cannot be read

commit 6f4f360fc46269eaba753cafe557519677a45a11
  Author:     Josh Nichols <josh.nichols@gusto.com>
  AuthorDate: 2023-03-29 04:45:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-26 03:46:05 +0900

    [rubygems/rubygems] Add auto_install support to require "bundler/setup"

    We have some places that already use `bundle config auto_install true`,
    ie:

    https://github.com/technicalpickles/rubygems/blob/7a144f3374f6a400cc9832f072dc1fc0bca8c724/bundler/lib/bundler/cli.rb#L11

    This applies the same logic (copy and pasted) to happen when you
    `require "bundler/setup"`.

    https://github.com/rubygems/rubygems/commit/bb3c922341

commit b6489e9f62dae9e62a4f978e0cb1091ab13c274c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-26 02:00:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-26 03:00:09 +0900

    [ruby/prism] Remove need for Natalie patches

    https://github.com/ruby/prism/commit/7fc7e13476

commit 444553b528a54a97e539de212ffc4c6466a6db20
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-26 02:38:54 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-26 02:38:56 +0900

    Use -v to investigate which test is stuck

commit 4ff249363de16b4e5bf3166ba3df04e0f9e352a0
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-26 01:12:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-26 01:12:50 +0900

    [ruby/reline] Fix inputrc nested $if $else $endif bug
    (https://github.com/ruby/reline/pull/689)

    https://github.com/ruby/reline/commit/0d8aea26ec

commit 3a5d9553a7b2c21d121160b1646e43884825ede0
  Author:     Daniel Colson <danieljamescolson@gmail.com>
  AuthorDate: 2024-04-25 23:45:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-26 00:28:56 +0900

    Don't use assert_separately in Bug 20453 test

    https://github.com/ruby/ruby/pull/10630#discussion_r1579565056

    The PR was merged before I had a chance to address this feedback.
    `assert_separately` is not necessary for this test if I don't use a
    global timeout.

commit d292a9b98ce03c76dbe13138d20b9fbf613cc02d
  Author:     Daniel Colson <danieljamescolson@gmail.com>
  AuthorDate: 2024-04-25 11:20:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-25 23:28:18 +0900

    [Bug #20453] segfault in Regexp timeout

    https://bugs.ruby-lang.org/issues/20228 started freeing `stk_base` to
    avoid a memory leak. But `stk_base` is sometimes stack allocated (using
    `xalloca`), so the free only works if the regex stack has grown enough
    to hit `stack_double` (which uses `xmalloc` and `xrealloc`).

    To reproduce the problem on master and 3.3.1:

    ```ruby
    Regexp.timeout = 0.001
    /^(a*)x$/ =~ "a" * 1000000 + "x"'
    ```

    Some details about this potential fix:

    `stk_base == stk_alloc` on
    [init](https://github.com/ruby/ruby/blob/dde99215f2bc60c22a00fc941ff7f714f011e920/regexec.c#L1153),
    so if `stk_base != stk_alloc` we can be sure we called
    [`stack_double`](https://github.com/ruby/ruby/blob/dde99215f2bc60c22a00fc941ff7f714f011e920/regexec.c#L1210)
    and it's safe to free. It's also safe to free if we've
    [saved](https://github.com/ruby/ruby/blob/dde99215f2bc60c22a00fc941ff7f714f011e920/regexec.c#L1187-L1189)
    the stack to `msa->stack_p`, since we do the `stk_base != stk_alloc`
    check before saving.

    This matches the check we do inside
    [`stack_double`](https://github.com/ruby/ruby/blob/dde99215f2bc60c22a00fc941ff7f714f011e920/regexec.c#L1221)

commit 7ab1a608e7413cdb0f93243eb3e6e20a32cec44e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-25 23:04:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-25 23:04:53 +0900

    YJIT: Optimize local variables when EP == BP (take 2) (#10607)

    * Revert "Revert "YJIT: Optimize local variables when EP == BP" (#10584)"

    This reverts commit c8783441952217c18e523749c821f82cd7e5d222.

    * YJIT: Take care of GC references in ISEQ invariants

    Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>

    ---------

    Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>

commit f248e1008a8f79cca801b27d512a587f65a0dd36
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-25 01:18:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-25 22:25:33 +0900

    Embed rb_gc_function_map_t in rb_vm_t

    Avoids a pointer indirection and memory allocation.

commit b50e1e68b6050033587e9f6deaf7a104926a01ae
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 04:55:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-25 21:14:56 +0900

    [PRISM] Enable more passing tests

commit 5d2fb5d76b576be080e9cfc9301cce0b5f061981
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-13 01:42:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 19:35:47 +0900

    [rubygems/rubygems] Don't upcase Windows ENV when backing it up

    I apparently did that to fix some issue with case insensitivity but I
    didn't add a spec, and I think not upcasing should not cause issues.

    https://github.com/rubygems/rubygems/commit/1b6f23275a

commit 287137651078d540a14dfbe78dd99b277f3ac4d2
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-13 01:20:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 19:35:46 +0900

    [rubygems/rubygems] Remove unnecessary workaround

    All supported rubies include the fix.

    https://github.com/rubygems/rubygems/commit/9d74b699f5

commit 5577f138b4422a23371a8192d9176b2f20aa6c8e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-23 02:52:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 19:35:02 +0900

    [rubygems/rubygems] Properly resolve aliases when `bundle help` is run

    https://github.com/rubygems/rubygems/commit/5d9bf03c59

commit 64bd8e41df859fc61f373fcab431e1516148ee57
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-25 17:08:39 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-25 17:12:47 +0900

    false is not a pointer

    This function returned VALUE before.  False made sense back then.
    Now that it returns a pointer.  NULL should be used instead.

commit 03f8477566d544c240cd1949fd56d8e42d686aa8
  Author:     Xi Ruoyao <xry111@xry111.site>
  AuthorDate: 2024-04-24 14:42:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 17:01:53 +0900

    [ruby/net-http] Skip test_session_reuse_but_expire with OpenSSL 3.3

    OpenSSL 3.3.0 9 Apr 2024 is also broken.

    Signed-off-by: Xi Ruoyao <xry111@xry111.site>

    https://github.com/ruby/net-http/commit/ab525c956d

commit 67dd9af17e5c6c541a8cc84b1741deaf175fcf83
  Author:     Eugene Kenny <elkenny@gmail.com>
  AuthorDate: 2024-04-24 20:10:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-25 13:29:28 +0900

    [Bug #20450] Remove rubyarchdir from bootsnap paths

commit 0434dfb76bdbd0c11f4da244a54357c95bb2fb8c
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-25 05:39:39 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-25 07:09:06 +0900

    We don't need to check if the ci is markable anymore

    It doesn't matter if CI's are stack allocated or not.

commit d3a7e555423e258ea7b06734982f5b5b0c9c3e3e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 04:45:23 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-25 04:45:23 +0900

    Update common.mk dependencies

commit 4c431744b79d70186bd2bfa2766a72557e4ccf22
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 04:28:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 04:39:42 +0900

    [ruby/prism] Warn for nested hashes as well

    https://github.com/ruby/prism/commit/76e802f59e

commit 7d64fbda53bcbe7c68096a61eba0208517e2df5e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 03:57:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 04:39:41 +0900

    [ruby/prism] Remove static literals dependence on parser definition

    https://github.com/ruby/prism/commit/b3e104e8a2

commit 214811974becee9960b77e60b2b667068755304d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-24 05:32:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-25 04:30:43 +0900

    Add ruby_mimcalloc

    Many places call ruby_mimmalloc then MEMZERO. This can be reduced by
    using ruby_mimcalloc instead.

commit 4349c7909f5c3e493e991f26c21bc22ec5bdac8f
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-25 03:32:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 03:32:55 +0900

    [ruby/irb] Memoize helper method instances with Singleton module
    (https://github.com/ruby/irb/pull/931)

    Some helpers, like Rails console's `app`, requires memoization of the
    helper's ivars. To support it IRB needs to memoize helper method instances
    as well.

    https://github.com/ruby/irb/commit/a96c7a6668

commit 73a7e5153501cd92f5e32e9e8821936b69746a08
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-25 02:20:07 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-25 03:21:18 +0900

    Pass a callinfo object to global call cache search

    Global call cache can be used with only a CI

commit 2cc59c1b3167da6a554c37cf66b3b95633b6ec9f
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-25 02:02:06 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-25 03:21:18 +0900

    pass CI to gccct_method_search_slowpath

    Also the slow path only needs to look up the method once: via
    vm_search_method_slowpath0.  gccct just returns whatever cc normal
    method lookup does.

commit 58847b7df8d46ebb5887d7a5fc97acaa24a78912
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 01:26:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-25 03:16:42 +0900

    [PRISM] Generate inspect_visitor in common.mk

commit 6d9ba1e014d5a5871f8a62ced582547ca8ea6b30
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-25 00:58:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-25 03:16:42 +0900

    [ruby/prism] Change inspect from recursive to a queue

    We would previously cause a stack overflow if we parsed a file that
    was too deeply nested when we were calling inspect. Instead, we now
    use a queue of commands to do it linearly so we don't.

    https://github.com/ruby/prism/commit/0f21f5bfe1

commit cf24a0483e5ae0730c17dcb784122419a937cb17
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-25 02:33:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 02:33:40 +0900

    [ruby/reline] Long line performance
    (https://github.com/ruby/reline/pull/688)

    * Improve C-e (ed_move_to_end) performance for long line

    * Reline::Unicode.split_by_width optimization for RESET_SGR

    https://github.com/ruby/reline/commit/0c8d3c827a

commit 5c32a1503f332dfece617bdf7e7f6a4d5f28977a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-25 00:04:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-25 02:10:06 +0900

    Change dln_open in dmydln.c to return error instead of raise

commit 057b69cfdf633b6b0cf67e8b0621476e7234efa8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-25 00:01:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-25 02:10:06 +0900

    Pass string error buffer into dln_open

    On Windows, the error exists on the stack so we should pass an error
    buffer from the caller.

commit 853c0b1a776ba67cd20741f631788d8556c854eb
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-20 09:02:21 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-25 01:30:59 +0900

    Reuse slow path method search for gccct

    This way all code paths use the same search code for finding call caches
    for a particular method.

commit 9bba999be7b32949b4b37dd7a871c5dc1e36c2f8
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-25 01:01:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 01:01:23 +0900

    [ruby/irb] Revert "Memoize helper method instances with Singleton module"

    This reverts commit https://github.com/ruby/irb/commit/169a9a2c3097.

    https://github.com/ruby/irb/commit/221b0a4928

commit e5ca3d072fd1076133dc7c3a9a2e399bbfcee443
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-25 00:59:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-25 01:01:02 +0900

    [ruby/irb] Memoize helper method instances with Singleton module

    Some helpers, like Rails console's `app`, requires memoization of the
    helper's ivars. To support it IRB needs to memoize helper method instances
    as well.

    https://github.com/ruby/irb/commit/169a9a2c30

commit afc7799c3271aab7792c178ab9aee15b87468341
  Author:     Kevin Menard <kevin.menard@shopify.com>
  AuthorDate: 2024-04-24 23:31:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-24 23:31:35 +0900

    YJIT: Add a specialized codegen function for `Class#superclass`. (#10613)

    Add a specialized codegen function for `Class#superclass`.

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
    Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>
    Co-authored-by: Randy Stauner <randy.stauner@shopify.com>
    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit 480287d14056ca7366477ad39b944195185a6d7e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-24 04:34:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-24 23:31:03 +0900

    Add macro load_external_gc_func for loading functions from external GC

commit 91ff2fd9b544795ec9df6c2fabf3f2b0b318c166
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-24 14:03:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-24 18:02:09 +0900

    Fix dllimport warnings

    From Visual C:
    ```
    ../../../../../src/ext/-test-/load/resolve_symbol_target/resolve_symbol_target.c(5): warning C4273: 'rst_any_method': inconsistent dll linkage
    D:\a\ruby\ruby\src\ext\-test-\load\resolve_symbol_target\resolve_symbol_target.h(4): note: see previous definition of 'rst_any_method'
    ../../../../../src/ext/-test-/load/stringify_target/stringify_target.c(5): warning C4273: 'stt_any_method': inconsistent dll linkage
    D:\a\ruby\ruby\src\ext\-test-\load\stringify_target\stringify_target.h(4): note: see previous definition of 'stt_any_method'
    ```

    From MinGW gcc:
    ```
    ../../../../../src/ext/-test-/load/resolve_symbol_target/resolve_symbol_target.c:5:1: warning: 'rst_any_method' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
    compiling ../../../../../src/ext/-test-/marshal/compat/usrcompat.c
        5 | rst_any_method(VALUE klass)
          | ^~~~~~~~~~~~~~
    ../../../../../src/ext/-test-/load/stringify_target/stringify_target.c:5:1: warning: 'stt_any_method' redeclared without dllimport attribute: previous dllimport ignored [-Wattributes]
        5 | stt_any_method(VALUE klass)
          | ^~~~~~~~~~~~~~
    ```

commit 7e8d8f250d4796016484b56d647af856d81c0ff6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-24 17:17:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-24 17:19:04 +0900

    Removed obsoleted section because make docs is removed from default make task

commit 66edc33f4e904225594a7253cb8858b3bbc1069f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-24 12:06:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-24 12:06:20 +0900

    [DOC] Wait for `docs` to complete before installing all

    The document directories may be incomplete or empty before `docs` is
    completed.

commit 813e12557a020dd4820c713b966c718735447c6c
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-23 20:09:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-24 07:59:51 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit e11237904cdee46409d0efb436b9b9326aaff355
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-04-24 06:00:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-24 06:00:56 +0900

    Sync IRB f9347b1 (#10611)

commit b9109b270d129561f06bc2dcd6feaf5c43e82360
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-24 03:30:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-24 04:29:42 +0900

    Get error from dln_open when USE_SHARED_GC

    Before, if dln_open failed to open RUBY_GC_LIBRARY_PATH, it would segfault
    because it would try to raise an error, which cannot happen because the
    GC has not been initialized yet.

    This commit changes dln_open to return the error that occurred so the
    caller can handle the error.

commit 81433fd0f52b4214c0e788b6cd9f534b79ec03ba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-24 04:19:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 04:29:20 +0900

    [ruby/prism] srange_find should only look on current line

    https://github.com/ruby/prism/commit/3604aa15e7

commit 0defbc11a531cb6320dee3995be584fd62053a5e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-24 03:05:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 03:17:29 +0900

    [ruby/prism] Fix recursive multiply when values are switched in karatsuba_multiply

    https://github.com/ruby/prism/commit/4dc6ea960d

commit 4f57262338f0697d48d533b9c64466205e54cc11
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-24 01:49:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 02:26:10 +0900

    [ruby/prism] Use GC-able symbols for AST

    https://github.com/ruby/prism/commit/801117e45a

commit 87396dbe5d6597dafcba31afb5b9ba6216d604c5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-24 01:51:50 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-24 01:51:51 +0900

    Skip test_inspect_under_gc_compact_stress w/ RJIT too

commit 981a8e89a3542e0a29206d7e159cb526986b0c6e
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-24 00:27:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 00:27:58 +0900

    [ruby/reline] Bump version to 0.5.3
    (https://github.com/ruby/reline/pull/686)

    https://github.com/ruby/reline/commit/e9d5236c74

commit 99a46d7fe92ca706ed92377084759d92137d7ad4
  Author:     Matheus Richard <matheusrichardt@gmail.com>
  AuthorDate: 2024-01-19 23:19:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 00:20:16 +0900

    [ruby/prism] Document UnlessNode fields

    https://github.com/ruby/prism/commit/eee8276ae6

commit b62ab952e354ed967ba3c3e2811e91e5d1c533b0
  Author:     Daniel Gollahon <daniel.gollahon@gmail.com>
  AuthorDate: 2024-01-15 08:40:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 00:18:52 +0900

    [ruby/prism] Document `IfNode` fields

    - Adds documentation for the fields of the `IfNode`. Also updates the overall description to mention ternary expressions.
    - Part of #2123

    https://github.com/ruby/prism/commit/fd17c0733d

commit b3350e3e6fb75bed4baca60e0f9e0ad253d097d1
  Author:     Matheus Richard <matheusrichardt@gmail.com>
  AuthorDate: 2024-01-19 23:45:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-24 00:11:21 +0900

    [ruby/prism] Document BreakNode fields

    https://github.com/ruby/prism/commit/7a3ed22f14

commit 53a67efc9a850fd0114eae87fe2f8dfc35b3a9e5
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-23 23:45:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-23 23:45:22 +0900

    [ruby/reline] Separate prompt and input line in rendering
    (https://github.com/ruby/reline/pull/652)

    * Separate prompt and input line in rendering

    Often, only one of prompt and input changes.
    Split prompt+input_line to a separate rendering item will improve differential rendering performance.

    * Rename method wrapped_prompt_lines to more descriptive name

    https://github.com/ruby/reline/commit/16d82f1f23

commit f7d1699f6714d8fe14ed92272584f68a79995e64
  Author:     Philip Mueller <mail@philip.in-aachen.net>
  AuthorDate: 2024-02-22 02:30:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-23 22:53:23 +0900

    [ruby/prism] Implement case equality on nodes

    https://github.com/ruby/prism/commit/dc121e4fdf

commit 87b829aa942089c7614470184f02aedec9d72ec9
  Author:     Cory Hutchison <cory@mutecipher.com>
  AuthorDate: 2024-01-04 12:08:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-23 22:22:05 +0900

    [ruby/prism] Document the `AliasGlobalVariableNode` fields

    https://github.com/ruby/prism/commit/35bc711069

commit 5fd08b506ca72bf496e36e44b98e588941e02721
  Author:     Sanjay Karukamanna <work@sanjay.link>
  AuthorDate: 2024-01-04 09:52:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-23 22:13:29 +0900

    [ruby/prism] Document `ArrayNode`, `SourceFileNode` fields

    https://github.com/ruby/prism/commit/0bdc566f67

commit dae59003050adaf0666c7dc0d03ba7633c46c8bb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-23 21:44:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-23 21:45:17 +0900

    [ruby/prism] Fix up rdoc

    Fixes https://github.com/ruby/prism/issues/2572

    https://github.com/ruby/prism/commit/a446580e75

commit 3fadd68452e88bf5e6eafb429a77dcb7779abbb7
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2024-04-23 20:14:41 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2024-04-23 20:14:41 +0900

    Remove newlines of MIME encoded subject line

commit 0b4bf05985d29d3edcb65629663fb6063261b343
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2024-04-23 20:14:18 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2024-04-23 20:14:18 +0900

    exit 1 if failed

commit 989a2355808a63fc45367785c82ffd46d18c900a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-12 14:01:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-23 19:16:08 +0900

    Fix Use-After-Free issue for Regexp

    Co-authored-by: Isaac Peka <7493006+isaac-peka@users.noreply.github.com>

commit 33e5b47c16f1fd3382186e6ffe73cfc6e00946f7
  Author:     Isaac Peka <7493006+isaac-peka@users.noreply.github.com>
  AuthorDate: 2023-08-24 20:14:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-23 19:16:05 +0900

    Fix handling of reg->dmin in Regex matching

commit fff228487158cbc3c1cb0b4e09d2d727038ae0b7
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-19 21:51:51 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-23 15:59:23 +0900

    Consolitate redefined the method warning

    Currently redefining a method doesn't emit one but two warnings.
    One at the location of the new method, and one at the location of
    the old method.

    I believe this is not ideal because when collecting warnings via
    a custom `Warning.warn`, it has to be pieced together. It's even
    more tricky because the second part may or may not be emitted
    depending on whether the original method has an associated ISeq.

    I think it's much better to emit a single warning with all the
    information in one go.

commit a53435868e09fd1b149def652f356840f58f4d32
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-23 13:09:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-23 13:38:40 +0900

    Traverse tmpdir under chdir

commit 777daae04992fdb472e2382a08aefc9fd2366159
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-23 11:33:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-23 13:38:39 +0900

    Shorten tmpdir path

commit e61f76ce9e098143c88e58f4ea91b15eb85ab793
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-23 11:32:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-23 13:11:46 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit 33929ef995522f3e1898088dda52eec582ddd266
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-23 11:27:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-23 13:11:46 +0900

    Move encoding object conversion outside of parser

    Reduce the parser's dependence on `VALUE` and `rb_enc_from_encoding`.

commit 3aa046803dd8b34d7814189f8103cd16fee76541
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-23 09:29:32 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-23 11:18:52 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit c7d9376cb5d820bdca67823dbae5a5751ab6a6d5
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-22 22:12:43 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-23 07:20:22 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit 2992e1074adf86ed6c06ba1750648a35d877001a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-21 09:54:23 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-23 07:20:22 +0900

    Refactor parser compile functions

    Refactor parser compile functions to reduce the dependence
    on ruby functions.
    This commit includes these changes

    1. Refactor `gets`, `input` and `gets_` of `parser_params`

    Parser needs two different data structure to get next line, function (`gets`) and input data (`input`).
    However `gets_` is used for both function (`call`) and input data (`ptr`).
    `call` is used for managing general callback function when `rb_ruby_parser_compile_generic` is used.
    `ptr` is used for managing the current pointer on String when `parser_compile_string` is used.
    This commit changes parser to used only `gets` and `input` then removes `gets_`.

    2. Move parser_compile functions and `gets` functions from parse.y to ruby_parser.c

    This change reduces the dependence on ruby functions from parser.

    3. Change ruby_parser and ripper to take care of `VALUE input` GC mark

    Move the responsibility of calling `rb_gc_mark` for `VALUE input` from parser to ruby_parser and ripper.
    `input` is arbitrary data pointer from the viewpoint of parser.

    4. Introduce rb_parser_compile_array function

    Caller of `rb_parser_compile_generic` needs to take care about GC because ruby_parser doesn’t know
    about the detail of `lex_gets` and `input`.
    Introduce `rb_parser_compile_array` to reduce the complexity of ast.c.

commit aeb08bc8a71006b63a6588ef5129b7723c8219fc
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-23 03:33:34 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-23 03:33:34 +0900

    YJIT: Fix String#setbyte crashing for converted arguments

    Previously, passing objects that respond to #to_int to `String#setbyte`
    resulted in a crash when compiled by YJIT. This was due to the lazily
    pushed frame from rb_yjit_lazy_push_frame() lingering and not being
    popped by an exception as expected.

    The fix is to ensure that `ec->cfp` is restored to before the lazy frame
    push in case the method call for conversion succeeds. Right now, this is
    only for conversion to integers.

    Found running `ruby/spec`.

    * clarify comment

    We just need to make sure `ec->cfp` is always preserved and this can
    convert without rising when `raise` is true.

commit 1bb7638e7a864db9b635c5d41f18653e8451dbc7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-23 00:16:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-23 00:16:46 +0900

    YJIT: Fix shrinking block with assumption too much (#10585)

    * YJIT: Fix shrinking block with assumption too much

    Under the very specific circumstances, discovered by a test case in
    `ruby/spec`, an `expandarray` block can contain just a branch and carry
    a method lookup assumption. Previously, when we regenerated the branch,
    we allowed it to shrink to empty, since we put the code at the jump
    target immediately after it. That was incorrect and caused a crash while
    the block is invalidated, since that left no room to patch in an exit.

    When regenerating a branch that makes up a block entirely, and the block
    could be invalidated, we need to ensure there is room for invalidation.
    When there is code before the branch, they should act as padding, so we
    don't need to worry about those cases.

    * skip on RJIT

commit aa5b53d232c36d9b0c73336fc112d8fb20145d18
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-22 23:07:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-22 23:17:45 +0900

    [ruby/prism] Consolidate integer fields into a single reflection class

    https://github.com/ruby/prism/commit/0156057580

commit f77618c1fad9b9fc62d62214f4a300770cc7b6cc
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-21 15:07:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-22 15:32:21 +0900

    Expand `Qnone` and `Qnull` macros

    In the past, `Qnone` and `Qnull` had different values
    in ripper context like below.
    However 89cfc152071 removes the usage in ripper context,
    then expand the macro.

    ```
    #ifndef RIPPER
    # define Qnone 0
    # define Qnull 0
    #else
    # define Qnone Qnil
    # define Qnull Qundef
    #endif
    ```

commit d42a8d66024f0a86c5a162eeffff1ab91ad9fa43
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-22 11:03:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-22 13:00:19 +0900

    [DOC] Tweek a comment

commit 44d2b5949167fe5b7de68de06b103e586d4133f8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-22 11:01:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-22 13:00:19 +0900

    Extract `list_tree` as a method and separate from removals

commit c65bc2e5d9f0bc56b22d6bb765a1f25c53aa2ea7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-20 03:07:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-22 13:00:19 +0900

    Show left tmpdir recursively

commit e59da9c3393bf054de96e3e828aa2ba5b7286ce5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-22 09:56:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-22 09:56:47 +0900

    Windows does not have "/tmp" path usually

commit 9b580ee7b6cb0bebf977a7cd50285ba48b671e87
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-20 19:58:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-22 08:47:47 +0900

    [rubygems/rubygems] Clear temporary directory

    https://github.com/rubygems/rubygems/commit/4158034d89

commit f87c216c948958aedaade6a5a4900ed83c13ceea
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-21 14:46:27 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-21 15:50:45 +0900

    Remove needless header file include

commit 381ce130aec150098e5e3418eb435ec7ce46820d
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-04-20 22:54:01 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-21 09:55:17 +0900

    Remove unused functions from struct `rb_parser_config_struct`

commit f16c6ac4fdbc619ba2f9d3dd7cd3b06c736aa589
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-21 03:55:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-21 03:55:54 +0900

    [ruby/irb] Stop using ExtendCommandBundle internally
    (https://github.com/ruby/irb/pull/925)

    This module was used to extend both commands and helpers when they're not
    separated. Now that they are, and we have a Command module, we should move
    command-related logic to the Command module and update related references.

    This will make the code easier to understand and refactor in the future.

    https://github.com/ruby/irb/commit/f74ec97236

commit 2b11bcb84ec0e9326ce03a2ec8f0ed2ee349d3c1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-20 19:45:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 19:53:41 +0900

    [ruby/zlib] Clear temporary directory

    https://github.com/ruby/zlib/commit/1bed54dcf7

commit af169472c791c1ed97f8e4397c0b8628dc6a6c50
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-20 11:15:46 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-20 19:30:26 +0900

    Remove unused function

commit cee985ea8366282ae8e457de6a1b22586a5e36d5
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-20 12:08:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-20 18:08:33 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit d07df8567ea5d6afe661a5fa1c97e02d2b9e7a32
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-20 11:59:04 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-20 18:08:33 +0900

    Parser and universal parser share wrapper functions

commit 125e1ed5f7dc60ec492a1646ccc0912626c95bd1
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-20 16:45:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 16:45:41 +0900

    [ruby/irb] Remove exit command workaround, handle IRB_EXIT in
    debug_readline
    (https://github.com/ruby/irb/pull/923)

    * Remove exit and exti! command workaround when executed outside of IRB

    Command was a method. It could be executed outside of IRB.
    Workaround for it is no longer needed.

    * Handle IRB_EXIT in debug mode

    * Add exit and exit! command in rdbg mode

    https://github.com/ruby/irb/commit/0b5dd6afd0

commit 9f9755664ddc4447dd498ec75613d996238169c0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-20 03:07:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-20 11:34:52 +0900

    Fix method name

commit 9555a997aca422214c0e4d5a0fcf56210959a6f5
  Author:     Zack Deveau <zack.ref@gmail.com>
  AuthorDate: 2024-04-20 05:53:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-20 10:41:01 +0900

    ensure ibf_load_setup is only passed String params

    In cases where RubyVM::InstructionSequence.load_from_binary() is
    passed a param other than a String, we attempt to call the
    RSTRING_LENINT macro on it which can cause a segfault.

    ex:
    ```
    var_0 = 0
    RubyVM::InstructionSequence.load_from_binary(var_0)
    ```

    This commit adds a type check to raise unless we are provided
    a String.

commit 23be6599a20a0fd6bbf650816d163f9adfb82009
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-20 03:53:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 04:25:32 +0900

    [ruby/prism] Split parse result based on type

    https://github.com/ruby/prism/commit/17194e096d

commit cb711df36f36c847b035bbd5326c217eabc5c8b3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-20 03:15:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 03:20:31 +0900

    [ruby/prism] Do not allow omitted hash keys with ! or ?

    https://github.com/ruby/prism/commit/06d358aa8d

commit c7255ca219e45dc5b50d285acc4c0db5178acac3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-20 02:57:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 03:05:07 +0900

    [ruby/prism] Fix up ruby_parser translation for dstr

    https://github.com/ruby/prism/commit/b0fa4b7cd8

commit c8783441952217c18e523749c821f82cd7e5d222
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-20 01:47:25 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-20 01:47:25 +0900

    Revert "YJIT: Optimize local variables when EP == BP" (#10584)

    This reverts commit 4cc58ea0b865f2fd20f1e881ddbd4c4fab0b072c.

    Since the change landed call-threshold=1 CI runs have been timing out.
    There has also been `verify-ctx` violations. Revert for now while we debug.

commit 2e80ceb6ff5be3ccb710006aa87e27f2f564fdd0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-19 23:24:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 01:29:39 +0900

    [ruby/prism] Fix it parameters for parser translation

    https://github.com/ruby/prism/commit/2f3feb8d51

commit 6cfd929034f1fe3d93160365505a8b88bef56159
  Author:     Kuniaki Igarashi <igaiga@gmail.com>
  AuthorDate: 2024-04-20 00:01:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-20 00:01:36 +0900

    [ruby/irb] Add MultiIRB commands test
    (https://github.com/ruby/irb/pull/929)

    https://github.com/ruby/irb/commit/c6bbc424c3

commit cd95f6b87fbe15712406054a31b8411ae82180f6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 23:07:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 23:17:23 +0900

    Show left files info

commit c789e4c493cfd8abde2268b1ca2a0656851e0772
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-17 08:55:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 23:06:46 +0900

    Use isolated temporary directory in test-all too for RubyGems tests

commit f17268f7d4fd217e3d79d65527c75c619db8af05
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-17 08:53:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 21:18:01 +0900

    Extract tmpdir template

commit 604c29e8a2e78ea5d6c0e76385000ed6cde78aca
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-19 21:08:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 21:08:22 +0900

    [ruby/reline] Implement `show-all-if-ambiguous` feature
    (https://github.com/ruby/reline/pull/683)

    https://github.com/ruby/reline/commit/0fe4fdc794

commit 4218e6bbd50f2e5bc1fd39d8e504c0d7ef96dc15
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-19 05:34:56 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-19 19:39:20 +0900

    Remove unused define popcount_bits

commit e133d0c7a117ad8e7001ccccf694c51695c60051
  Author:     Artur <artur@intech.ee>
  AuthorDate: 2024-03-07 01:44:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 19:32:04 +0900

    [ruby/time] Document exception thrown by `Time.strptime`

    https://github.com/ruby/time/commit/f9d078082f

commit 7951b349ab6b9b5889b90f6fa7f9bbb304ec09fd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 16:33:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 16:33:16 +0900

    Suppress useless linker warnings totally on macOS

commit 662ce928a7fb31117bc584aad10d9c5c82689abd
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-19 13:21:55 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-19 14:28:54 +0900

    `RUBY_TRY_UNUSED_BLOCK_WARNING_STRICT`

    `RUBY_TRY_UNUSED_BLOCK_WARNING_STRICT=1 ruby ...` will enable
    strict check for unused block warning.

    This option is only for trial to compare the results so the
    envname is not considered well.
    Should be removed before Ruby 3.4.0 release.

commit 7522d1bffea93989f33895da90746e40ce26d52b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-18 18:54:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 14:18:21 +0900

    [rubygems/rubygems] Keep backword compatibility of Bundler.require

    https://github.com/rubygems/rubygems/commit/f6f79f4c37

commit acc326b7c4867429f3ea0d96e12c0efa6bfcb079
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-18 14:56:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 14:18:21 +0900

    [rubygems/rubygems] Removed needless class name

    https://github.com/rubygems/rubygems/commit/a2f43d3756

commit a95b46db067ef5013c20db2340c1b6fd76b3e5df
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-18 14:56:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 14:18:21 +0900

    [rubygems/rubygems] Track HEAD changes for old PR proposal

    https://github.com/rubygems/rubygems/commit/e3d180620c

commit 0a14fee02f5720e6bec5116559e3ae872bc6f40b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 16:37:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 14:18:20 +0900

    [rubygems/rubygems] Removed redundant begin

    https://github.com/rubygems/rubygems/commit/a9d22e5f46

commit 09cbbe0e3d2006bd191e33785154775fcfff9532
  Author:     fatkodima <fatkodima123@gmail.com>
  AuthorDate: 2019-10-31 01:17:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 14:18:20 +0900

    [rubygems/rubygems] Add plugin hooks for Bundler.require

    https://github.com/rubygems/rubygems/commit/b373b7ed0d

commit 1984db2db8ee54c33aabf6994718b972c56e2283
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 10:24:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 14:12:42 +0900

    Preserve old encinit.c if unchanged

commit 05d681f91e45dfd487463f5108872d4bd30c1beb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 10:23:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 14:12:42 +0900

    Make `Output.new` accepts keyword arguments

commit 801e4a4febbb226a7afd764c84b15f183d857815
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 09:57:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 14:12:42 +0900

    Remove UPDATE_LIBRARIES

    It has not been used since e48375c112022fa321786ccd95dd4e718efd78a3.

commit 3169c15863497f4269b819b2dc3b1c5bff3699b0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-18 13:58:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-19 14:12:41 +0900

    Fix rubyspec-capiext dependency

    Not to build the rubyspec-capiext extension libraries again on the
    next build after the build all extensions get built, ensure these
    extensions are up to date when recursively building from exts.mk.

commit 7f87ad9fc4bc45faf8cd33602a025f27c094b2fd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-19 12:58:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-19 12:58:53 +0900

    Refer autoconfigured endian macro (#10572)

    Remove the case `RB_IO_BUFFER_HOST_ENDIAN` is not defined.

commit b7c4c8869cbedccd92fb2a598515ab56c1aee925
  Author:     ilyazub <282605+ilyazub@users.noreply.github.com>
  AuthorDate: 2024-04-17 01:11:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-19 08:32:01 +0900

    Update turbo_tests to 2.2.3 or higher

    commands/pristine_spec.rb is passed with the turbo_tests 2.2.3 because it the removed json dependency.

    Related to https://github.com/ruby/ruby/pull/10496
    Related to d60b2caa95b01f37d35db9ef8be1d035d14b408d

commit 6443d690aead62d8d1ecd3fe32601455496390c6
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-04-12 22:18:47 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-19 06:21:01 +0900

    Don't mark empty singleton cc's

    These cc's aren't managed by the garbage collector so we shouldn't try
    to mark and move them.

commit 64d0817ea995ddf46aacc8f9da11b234e4e77962
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-19 05:00:55 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-19 06:11:25 +0900

    Remove markable guard before pushing on ccs list

    CCS list doesn't mark CI objects, so it doesn't matter whether or not
    they are markable before pushing.

commit ea7975c59bce30fd6d48a068d089fb62d8f73ec7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-18 02:36:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-19 03:50:20 +0900

    Include coderange.h in encoding.h

    ruby_coderange_type is defined in ruby/internal/encoding/coderange.h so
    we need to include it.

commit a51139230bfbd509b300fafc48e9a195b4d07c77
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-19 03:36:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 03:36:57 +0900

    [ruby/prism] Bump to v0.26.0

    https://github.com/ruby/prism/commit/eadb09ef36

commit 8f908a354ea80c01029af26d60adf14ef8ca33b8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-19 03:27:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-19 03:34:42 +0900

    [ruby/prism] "Fix" transpose issue in parser compiler

    https://github.com/ruby/prism/commit/593d637178

commit 147ca9585ede559fd68e162cbbbaba84f009c9a1
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-18 08:30:41 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-19 01:06:33 +0900

    Implement equality for CI comparison when CC searching

    When we're searching for CCs, compare the argc and flags for CI rather
    than comparing pointers.  This means we don't need to store a reference
    to the CI, and it also naturally "de-duplicates" CC objects.

    We can observe the effect with the following code:

    ```ruby
    require "objspace"

    hash = {}

    p ObjectSpace.memsize_of(Hash)

    eval ("a".."zzz").map { |key|
      "hash.merge(:#{key} => 1)"
    }.join("; ")

    p ObjectSpace.memsize_of(Hash)
    ```

    On master:

    ```
    $ ruby -v test.rb
    ruby 3.4.0dev (2024-04-15T16:21:41Z master d019b3baec) [arm64-darwin23]
    test.rb:3: warning: assigned but unused variable - hash
    3424
    527736
    ```

    On this branch:

    ```
    $ make runruby
    compiling vm.c
    linking miniruby
    builtin_binary.inc updated
    compiling builtin.c
    linking static-library libruby.3.4-static.a
    ln -sf ../../rbconfig.rb .ext/arm64-darwin23/rbconfig.rb
    linking ruby
    ld: warning: ignoring duplicate libraries: '-ldl', '-lobjc', '-lpthread'
    RUBY_ON_BUG='gdb -x ./.gdbinit -p' ./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems  ./test.rb
    2240
    2368
    ```

    Co-authored-by: John Hawthorn <jhawthorn@github.com>

commit 8e08556fa7f2b6e9c43b040f2aea06dccead5d13
  Author:     careworry <167077904+careworry@users.noreply.github.com>
  AuthorDate: 2024-04-19 00:32:34 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-19 00:32:34 +0900

    chore: remove repetitive words (#10573)

    Signed-off-by: careworry <worrycare@outlook.com>

commit ff599aea7cb810ca5284c10184f435101e4b9349
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-18 23:46:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 23:46:55 +0900

    [ruby/irb] Fix % escape in prompt format
    (https://github.com/ruby/irb/pull/927)

    https://github.com/ruby/irb/commit/08eee25d28

commit 81240493a32fc36182338eb0969203e57487a5ad
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-18 04:56:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-18 23:19:42 +0900

    Remove unused rb_size_pool_slot_size

commit 28efc0c9248f942bd45047bc68bf1c9e00e469f0
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-18 23:04:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-18 23:04:23 +0900

    YJIT: Fix canary crash with Array#<< (#10568)

    Previously, we got "We are killing the stack canary set by opt_ltlt"
    from `$./miniruby --yjit-call-threshold=1 -e 'a = [].freeze; a << 1'`

    Found by running ruby-spec with yjit-call-threshold=1.

commit 57a262e325580398240bb362d93c398eaab9c2eb
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-18 20:48:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 20:48:13 +0900

    [ruby/irb] Accept "  " for colorizing "\t" test
    (https://github.com/ruby/irb/pull/924)

    https://github.com/ruby/irb/commit/c8182fa490

commit 2e978c2cb30ccd64833a5663622bccfe5bf3e8ca
  Author:     Lorenzo Zabot <lorenzozabot@gmail.com>
  AuthorDate: 2024-04-18 19:33:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 19:33:23 +0900

    [ruby/irb] Prompt specifiers documentation improvements
    (https://github.com/ruby/irb/pull/926)

    https://github.com/ruby/irb/commit/e8ea8f253d

commit 3a7846b1aa4c10d86dc5a91c6df94f89d60bb0c3
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-02-19 21:35:48 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-18 17:17:26 +0900

    Add a hint of `ASCII-8BIT` being `BINARY`

    [Feature #18576]

    Since outright renaming `ASCII-8BIT` is deemed to backward incompatible,
    the next best thing would be to only change its `#inspect`, particularly
    in exception messages.

commit a80f646616e4a0b0df503bbef9acc4b408e943df
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-11 02:10:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 11:07:09 +0900

    Explicily lock turbo_tests to 2.2.0 in Gemfile

    Ruby-core CI is having issues with turbo_tests 2.2.1. This version adds
    json as a dependency and the `bundle install` command ruby-core uses is
    not able to compile it for some reason.

    I was not able to reproduce the issue locally, so this needs more
    investigation.

    We're already locked to 2.2.0, but ruby-core does not use a
    `Gemfile.lock` so we need to lock explicitly in the Gemfile for now.

commit bc652d7568467c1ceab625ec380a8861d7a482ad
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-06 00:33:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 11:07:09 +0900

    [rubygems/rubygems] Never write credentials to lockfiles

    https://github.com/rubygems/rubygems/commit/e8a363713e

commit a3b7a7bc21d91d384a915bcaa1fd49909061d78d
  Author:     Kenichi Kamiya <kachick1@gmail.com>
  AuthorDate: 2024-04-17 13:10:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 11:07:09 +0900

    [ruby/reline] Remove unused variable
    (https://github.com/ruby/reline/pull/684)

    https://github.com/ruby/reline/commit/ce30c23730

commit 88a88b56c7094bca3db42f01d672622527dcad14
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-15 14:24:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 10:27:19 +0900

    [ruby/optparse] [DOC] Package files for RDoc

    https://github.com/ruby/optparse/commit/b49cb996af

commit 6ac8f6a10eb011147a6cdaf4cf4154c41a7d9080
  Author:     Ben Fritsch <beanie@benle.de>
  AuthorDate: 2020-04-03 23:48:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 10:27:19 +0900

    [ruby/ipaddr] Add IPAddr.cidr to return ip address in cidr notation

    https://github.com/ruby/ipaddr/commit/f5b006741f

commit 07771c7657e65e8da6cd11eacbb105bdf46d0f10
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-18 09:54:08 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-18 09:54:09 +0900

    Try increasing timeout-minutes for YJIT Ubuntu

commit ac62c7379d18e02a06fa4990c156535c04ec974f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-18 09:41:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-18 09:41:32 +0900

    gitignore lib/prism/reflection.rb

commit 0727d32b565d9365537ae9f14cbd9a2428addfa9
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-18 06:05:52 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-18 07:29:23 +0900

    Don't verify during gc_enter when gc is disabled.

    RGENGC_CHECK_MODE >=3 fails with an incinsistency in the old object
    count during ec_finalization.

    This is due to inconsistency introduced to the object graph using T_DATA
    finalizers.

    This is explained in commit 79df14c04b452411b9d17e26a398e491bca1a811,
    which disabled gc during finalization to work around this.

    ```
        /* prohibit GC because force T_DATA finalizers can break an object graph consistency */
        dont_gc_on()
    ```

    This object graph inconsistency also seems to break RGENGC_CHECK_MODE >=
    3, when it attempt to verify the object age relationships during
    finalization at VM shutdown (gc_enter is called during finalization).

    This commit stops the internal consistency check during gc_enter only
    when RGENGC_CHECK_MODE >= 3 and when gc is disabled.

    This fixes `make btest` with `-DRGENGC_CHECK_MODE=3`

commit 8b8130153625d551dddc1e1ff28de67ba3830dac
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-18 06:48:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-18 06:48:38 +0900

    YJIT: A64: Use CBZ/CBNZ to check for zero

    * YJIT: A64: Add CBZ and CBNZ encoding functions

    * YJIT: A64: Use CBZ/CBNZ to check for zero

    Instead of emitting `cmp x0, #0` plus `b.z #target`, A64 offers Compare
    and Branch on Zero for us to just do `cbz x0, #target`. This commit
    utilizes that and the related CBNZ instruction when appropriate.

    We check for zero most commonly in interrupt checks:

    ```diff
      # Insn: 0003 leave (stack_size: 1)
      # RUBY_VM_CHECK_INTS(ec)
      ldur w11, [x20, #0x20]
      -tst w11, w11
      -b.ne #0x109002164
      +cbnz w11, #0x1049021d0
    ```

    * fix copy paste error

    Co-authored-by: Randy Stauner <randy@r4s6.net>

    ---------

    Co-authored-by: Randy Stauner <randy@r4s6.net>

commit 48846d6b8dad554bda6eded4ef6696c358a2d60b
  Author:     ParadoxV5 <paradox.ver5@gmail.com>
  AuthorDate: 2024-04-18 05:29:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 05:45:25 +0900

    add #2709’s new RBIs to `.gemspec`

commit 3a4035a7901ad73afb59dbd288eef14afa318dc5
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-17 21:30:39 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-18 05:16:47 +0900

    Reduce the number of references to need_major_gc

commit 4cc58ea0b865f2fd20f1e881ddbd4c4fab0b072c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-18 04:00:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-18 04:00:03 +0900

    YJIT: Optimize local variables when EP == BP (#10487)

commit ca764062b06f1bb587048bcf374b25a0903ca9e7
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-18 03:36:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 03:36:30 +0900

    [ruby/irb] Remove internal-only methods from Command::Base
    (https://github.com/ruby/irb/pull/922)

    * Remove internal-only methods from Command::Base

    Command#ruby_args and Command#unwrap_string_literal are used for default command's argument backward compatibility.
    Moved these methods to another module to avoid being used from custom commands.

    * Update lib/irb/command/edit.rb

    ---------

    https://github.com/ruby/irb/commit/7405a841e8

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 98c84ef42c61b84c1745bbc5a1ceff1ce00999d9
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-04-16 02:17:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 03:17:12 +0900

    [rubygems/rubygems] Excluding local platform from lockfile should not affect musl vs gnu case

    This case is for not locking things like `arm-darwin-23` when the
    lockfile already includes `arm-darwin`, so that we don't infinitely keep
    redundant versioned platforms in the lockfile when not necessary.

    We detect this with `Gem::Platform#===`. For example,
    `Gem::Platform.new("arm-darwin-23") === Gem::Platform.new("arm-darwin")`
    but they're not `==`.

    However, in the case of `-musl` vs `-gnu`, those act as the platform
    "version", but `===` is not commutative for them. This is explained in
    `===` docs.

    We only want to exclude the local platform in situations when
    `Gem::Platform#===` is actually commutative.

    https://github.com/rubygems/rubygems/commit/8099c4face

commit 814dedcee248667802b98ea1ba89cbeac171044f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-18 00:26:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-18 03:01:59 +0900

    Remove unused ruby_sighandler_t

commit 51485e63fc72fd8bbecb3f5b3a794361efd94f28
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-18 00:42:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-18 02:54:29 +0900

    [PRISM] Generate the reflection file

commit d186eb36a4abbbefa026ea5630a1b59bb668ef0f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-18 00:28:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-18 02:54:29 +0900

    [ruby/prism] Add a reflection API for determining the fields of a node

    https://github.com/ruby/prism/commit/f3f9950a74

commit ee6e591b6afbe765b2b1a612d8a7bdfc7cbc606c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-17 05:08:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-18 02:33:17 +0900

    Use unsigned long long for object ID

    Since unsigned long long are minumum 64 bits, we have at least 10**17
    object IDs available, so there is no chance it will overflow.

commit 15b659ca932254102ee3706aefa7a04d5c43969e
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-18 01:12:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-18 01:12:20 +0900

    [ruby/reline] Refactor nomultiline and multiline mode difference
    (https://github.com/ruby/reline/pull/653)

    * Support multiline input in Reline.readline internally, reduce multiline-singleline branch

    * Add readline(singleline) prompt test with force inserting multiline text

    https://github.com/ruby/reline/commit/97846095d7

commit 8c8068c06fd149659bd1d42315f8206b91defdf9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-17 23:02:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-17 23:36:52 +0900

    [PRISM] Remove old make targets for state stack

commit f72436f8355dd19298b3f7d25d6c23cb75b3a02a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-16 23:30:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-17 23:36:52 +0900

    [ruby/prism] Inline pm_state_stack

commit 209e2f277e5d528a8bbbccbb5fac6ca087ed2335
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-17 03:06:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-17 22:49:11 +0900

    Don't allow T_NIL in gc_is_moveable_obj

    gc_is_moveable_obj is only given GC managed objects, and T_NIL cannot be
    a GC managed type.

commit 2470565993680059e0fd1ee1c3304c989e957122
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-17 20:51:27 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-17 21:31:45 +0900

    Inline single use variables

commit e9d7478dedbd2b57530bc17efe8a9db9b8b2f280
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-17 19:46:48 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-17 20:26:49 +0900

    relax unused block warning for duck typing

    if a method `foo` uses a block, other (unrelated) method `foo`
    can receives a block. So try to relax the unused block warning
    condition.

    ```ruby
          class C0
            def f = yield
          end

          class C1 < C0
            def f = nil
          end

          [C0, C1].f{ block } # do not warn
    ```

commit 6ade36c06b7cef948099b8f5f483763498705d12
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-17 20:08:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-17 20:08:47 +0900

    `Fiber#raise` recursively raises on nested resuming_fiber. (#10482)

    * Improve consistency of `Fiber.current.raise`.

commit 945a0334c71412ddeeb540f68481eee40e250c61
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-17 19:13:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-17 19:56:20 +0900

    Update build and install document related https://blade.ruby-lang.org/ruby-dev/39325

commit cc37c89c2f4253a6f39a36ad610d0ba89c4257e8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-19 15:03:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-17 19:56:20 +0900

    Separate docs task from main to install-*

    [Feature #20347]

commit e7493df7ac22c1257692251c97362ad55408a9fe
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-17 18:46:01 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-17 19:38:28 +0900

    Improve phrasing of ignored block warnings

commit 09638741ba4d9547a0e48af8c767744fb1d7f68d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-17 16:03:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-17 18:47:07 +0900

    [Feature #20335] `Thread.each_caller_location` arguments

    Accecpt the same arguments as `caller` and `caller_locations`.

commit 7bc66a366ded3ae2d07a418e17a9da6ee24612fd
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-17 17:40:20 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-17 17:40:20 +0900

    skip on Prism generated iseq

commit eac3dee9cdefcc414af832c99a95383a38790d1c
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-17 16:59:50 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-17 17:35:14 +0900

    test_uplus_minus: Use a different string literal

    This test fail relatively frequently and it's unclear what is
    happening.

    ```
    str: {"address":"0x7fbdeb26d4e0", "type":"STRING", "shape_id":1, "slot_size":40, "class":"0x7fbdd1e0ec50", "frozen":true, "embedded":true, "fstring":true, "bytesize":3, "value":"bar", "encoding":"UTF-8", "coderange":"7bit", "memsize":40, "flags":{"wb_protected":true, "old":true, "uncollectible":true, "marked":true}}
    bar: {"address":"0x7fbdd0a8b138", "type":"STRING", "shape_id":1, "slot_size":40, "class":"0x7fbdd1e0ec50", "frozen":true, "embedded":true, "fstring":true, "bytesize":3, "value":"bar", "encoding":"UTF-8", "coderange":"7bit", "memsize":40, "flags":{"wb_protected":true}}
    ```

    The `"bar".freeze` literal correctly put an old-gen fstring on the stack.
    But `-%w(b a r).join('')` returns a young-gen fstring, which suggest it
    somehow failed to find the old one in the `frozen_strings` table.

    This could be caused by another test corrupting the table, or corrupting
    the `"bar"` fstring.

    By using a different literal value we can learn whether the bug is specific
    to `"bar"` (used in many tests) or more general.

commit d31eda8eb636b9cc1ef343df5688f1abea3409c9
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-16 15:29:25 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-17 17:07:57 +0900

    Add NEWS entry for [[Feature #20429]]

    Followup: https://github.com/ruby/ruby/pull/10532

commit f9f301800199e7b5b9a6e92cf726cd0214d417a4
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-17 16:30:47 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-17 17:03:46 +0900

    `ISeq#to_a` respects `use_block` status

    ```ruby
    b = RubyVM::InstructionSequence.compile('def f = yield; def g = nil').to_a
    pp b

     #=>
     ...
     {:use_block=>true},
     ...
    ```

commit 75154dec73e1329693866e3a88cb9febb7635417
  Author:     Jean byroot Boussier <jean.boussier+github@shopify.com>
  AuthorDate: 2024-04-17 10:29:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-17 10:29:18 +0900

    [ruby/stringio] strio_read: preserve buffer encoding on partial
    reads
    (https://github.com/ruby/stringio/pull/95)

    [[Bug #20418]](https://bugs.ruby-lang.org/issues/20418)

    Ruby IO#read preserves the encoding on partial read, but change it when
    reading the whole IO

    from commit https://github.com/ruby/ruby/commit/0ca7036682da:
    > * io.c (read_all): should associate default external encoding.
    > * io.c (io_read): should NOT associate default external encoding.

    https://github.com/ruby/stringio/commit/073172da31

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit f34409bf8782481deabec6c577abd66373134af9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-17 10:15:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-17 10:15:21 +0900

    [ruby/prism] Fix up more clang-analyzer failures

    https://github.com/ruby/prism/commit/f9a1abbc64

commit d6debba817da921d8bc9a3fdb6b4bcbe3d7b0859
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-17 02:25:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-17 03:34:52 +0900

    Don't check for dynamic symbol in gc_is_moveable_obj

    All GC managed symbols are dynamic symbols so we don't need to check it.

commit e5df8897fe999c77a2e25a85289ec286d0462617
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-17 00:16:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-17 02:24:46 +0900

    Don't check for thread in gc_sweep_page

    We should always have a thread when we sweep so we don't need to check
    that it exists.

commit f06670c5a2a1daa6595018858d5cfa429a8aeae6
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-16 22:30:00 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-17 00:20:35 +0900

    Eliminate usage of OBJ_FREEZE_RAW

    Previously it would bypass the `FL_ABLE` check, but
    since shapes introduction, it started having a different
    behavior than `OBJ_FREEZE`, as it would onyl set the `FL_FREEZE`
    flag, but not update the shape.

    I have no indication of this causing a bug yet, but it seems
    like a trap waiting to happen.

commit 7380e3d30ff3d33fa7dd3756929e5718be665bba
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-16 21:23:45 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-17 00:20:35 +0900

    RB_OBJ_FREEZE_RAW: Set the object shape

commit 39b13e581835d29f03da08c5df1a6f5d8d5a7957
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-16 23:41:21 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-16 23:41:21 +0900

    YJIT: End send fallback blocks (#10539)

commit 646a00892e80a106c1166ea529b18b780982942d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-16 23:20:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 23:30:34 +0900

    [ruby/prism] Fix up clang-analyzer violations

    https://github.com/ruby/prism/commit/259aef2acd

commit 79df0f135e9179b64f6fa29d5131f586511a088b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-16 23:06:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 23:06:22 +0900

    [ruby/reline] Refactor history move and history search
    (https://github.com/ruby/reline/pull/651)

    https://github.com/ruby/reline/commit/90e43e01d4

commit 982dfa07936001013aafedd8aa656c69e268ebc3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 09:16:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 22:32:59 +0900

    [ruby/prism] Better error recovery for unwritable nodes

    https://github.com/ruby/prism/commit/4828e73263

commit 8e341d81c9a5d9874c2d4b65d873425ff94bc3b7
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-16 21:42:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 21:42:57 +0900

    [ruby/reline] Bump version to 0.5.2
    (https://github.com/ruby/reline/pull/682)

    https://github.com/ruby/reline/commit/17d12cc511

commit 639449fe8d2493576faa764b1766ff2bc9c154ed
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-16 20:58:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 20:58:49 +0900

    [ruby/reline] Implement changing editing mode
    (https://github.com/ruby/reline/pull/681)

    https://github.com/ruby/reline/commit/501b9a6c5f

commit 54d472d91fe9fc724969a6ed71a3919710e28bfa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2021-01-24 18:17:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 19:24:49 +0900

    [rubygems/rubygems] Honor a specified path as the temporary diretory if given

    ## The problem

    Currently the tests are executed in the fixed name directory "tmp"
    under the top source directory.  However it makes the tests fail when
    the source path contains symlinks.  Or unable to even start if the top
    source directory is read-only, e.g., remote-mounting in read-only mode
    from virtual machines.

    Also, with the fixed directory, there is no way to avoid `pend` in
    `TestGemPackage#test_extract_symlink_parent_doesnt_delete_user_dir`.

    ## The fix

    Instead of creating the fixed name directory, this PR allows to use a
    different path given with the environment variable "GEM_TEST_TMPDIR".
    The default path is, as well as the current behavior, "tmp" from the
    top source directory.

    ### Caveat

    It is the caller's responsibility to make the directory safe (owned,
    world unwritable, or sticky) when setting the environment variable.

    https://github.com/rubygems/rubygems/commit/bf00850656

commit 29110fe18d8f10f649cbcd43a9726069bfff1c54
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-16 16:13:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-16 16:13:19 +0900

    [Bug #20325] `Enumerator.product.size` is 0 if any size is 0

commit f8f542bd9b5c15dd8d0f7facdfd33302c30d9c9b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 05:35:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-16 14:48:57 +0900

    [ruby/pathname] Remove check for File.birthtime

    File.birthtime has existed since Ruby 2.2, and pathname requires Ruby
    >= 2.7.0, so the method will always be there.

    https://github.com/ruby/pathname/commit/aca9613bbf

commit 4fcf007e851c68588fdf650459b606fce05c6a39
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2024-04-12 15:18:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-16 11:01:16 +0900

    [DOC] Update NEWS.md [Misc #18984]

commit ebaa87f62692f4dfe5e209b3337d54ce147e8dcd
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-15 21:26:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-16 07:15:45 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit f5d89267c46ea86c34b9e174e999fea15d48a8e1
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-05 03:48:41 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-16 03:50:47 +0900

    Add --with-shared-gc to Ubuntu CI

commit 065710c0f5c1e81f0fa7ab6ddd3ccbc41e9cc2cc
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-02 21:52:50 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-16 03:50:47 +0900

    Initialize external GC Library

    Co-Authored-By: Peter Zhu <peter@peterzhu.ca>

commit a2ea4ec30c409ebe8ae7952f092e0bd8c1912a17
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-02 19:28:52 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-16 03:50:47 +0900

    Add --with-shared-gc build flag

commit f86fb1eda23ee3d59dc59452d0d7078002845d12
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-04-16 03:01:01 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-04-16 03:29:48 +0900

    add allocation benchmark

commit 1984f9aedcbb11f0770257eb5ecd4d4f37e0efd5
  Author:     Gannon McGibbon <gannon.mcgibbon@gmail.com>
  AuthorDate: 2024-04-16 02:55:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-16 02:55:14 +0900

    Specify Kernel#autoload? uses current namespace

    Because Kernel#autoload? uses the current namespace, it can lead to
    potentially confusing results. We should make it clearer that modules
    count as separate namespaces to lookup in.

    Co-authored-by: Jeremy Evans <code@jeremyevans.net>
    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 733d50f0a5744b87da09e274b23cb0519206b88e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-11 04:56:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-16 02:44:31 +0900

    Remove dependency on gc.h for darray.h

commit 66bfcba587df3184d3d32495e2ba70984b36e1b2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-16 00:46:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-16 01:57:22 +0900

    Not all `nm`s support the `--help` option

commit d019b3baec4485909e6727db2507f943e78f38ec
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-15 20:03:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-16 01:21:41 +0900

    Emit a performance warning when redefining specially optimized methods

    This makes it easier to notice a dependency is causing interpreter or
    JIT deoptimization.

    ```ruby
    Warning[:performance] = true

    class String
      def freeze
        super
      end
    end
    ```

    ```
    ./test.rb:4: warning: Redefining 'String#freeze' disable multiple interpreter and JIT optimizations
    ```

commit 2eafed0f3bd33d5a4e6103259e1aba6400e5146e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-16 00:59:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-16 00:59:45 +0900

    YJIT: A64: Avoid intermediate register in `opt_and` and friends (#10509)

    Same idea as the x64 equivalent in c2622b52536c5, removing the register
    shuffle coming from the pop two, push one stack motion these VM
    instructions perform.

    ```
      # Insn: 0004 opt_or (stack_size: 2)
      - orr x11, x1, x9
      - mov x1, x11
      + orr x1, x1, x9
    ```

commit 0a4e3f23e6f872537faedb8d728a5696f63a7f89
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-15 22:31:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-15 22:31:38 +0900

    [ruby/reline] Remove not implemented method
    (https://github.com/ruby/reline/pull/680)

    https://github.com/ruby/reline/commit/84762fc588

commit 43f4da3ebfe39995fa6476af4ba4514ece8e4b4a
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-15 22:15:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-15 22:15:58 +0900

    [ruby/reline] Fix vi_to_column which was broken
    (https://github.com/ruby/reline/pull/679)

    https://github.com/ruby/reline/commit/9e93ad52e7

commit 07ff4aa19b4f7cda9948ef5104bd1623e0c3eafc
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-15 20:44:48 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-15 21:56:33 +0900

    Include more debug information in test_uplus_minus

commit 9b1e97b211565b605b8eb7fab277efe117fe2604
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-28 10:26:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-15 20:51:54 +0900

    [Universal parser] DeVALUE of p->debug_lines and ast->body.script_lines

    This patch is part of universal parser work.

    ## Summary
    - Decouple VALUE from members below:
      - `(struct parser_params *)->debug_lines`
      - `(rb_ast_t *)->body.script_lines`
    - Instead, they are now `rb_parser_ary_t *`
      - They can also be a `(VALUE)FIXNUM` as before to hold line count
    - `ISEQ_BODY(iseq)->variable.script_lines` remains VALUE
      - In order to do this,
      - Add `VALUE script_lines` param to `rb_iseq_new_with_opt()`
      - Introduce `rb_parser_build_script_lines_from()` to convert `rb_parser_ary_t *` into `VALUE`

    ## Other details
    - Extend `rb_parser_ary_t *`. It previously could only store `rb_parser_ast_token *`, now can store script_lines, too
    - Change tactics of building the top-level `SCRIPT_LINES__` in `yycompile0()`
      - Before: While parsing, each line of the script is added to `SCRIPT_LINES__[path]`
      - After: After `yyparse(p)`, `SCRIPT_LINES__[path]` will be built from `p->debug_lines`
    - Remove the second parameter of `rb_parser_set_script_lines()` to make it simple
    - Introduce `script_lines_free()` to be called from `rb_ast_free()` because the GC no longer takes care of the script_lines
    - Introduce `rb_parser_string_deep_copy()` in parse.y to maintain script_lines when `rb_ruby_parser_free()` called
      - With regard to this, please see *Future tasks* below

    ## Future tasks
    - Decouple IMEMO from `rb_ast_t *`
      - This lifts the five-members-restriction of Ruby object,
      - So we will be able to move the ownership of the `lex.string_buffer` from parser to AST
      - Then we remove `rb_parser_string_deep_copy()` to make the whole thing simple

commit bb1c3418d0fd3235c678ad68f7b45d32f8183a3f
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-15 16:04:51 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-15 18:06:54 +0900

    Add more assertions in `test_uplus_minus`

    Not along after 1b830740ba8371c4bcfdfc6eb2cb7e0ae81a84e0 CI
    started to rarely fail this test:

    ```
    TestString#test_uplus_minus: Test::Unit::AssertionFailedError: uminus deduplicates [Feature #13077].
      1) Failure:
    TestString#test_uplus_minus [/tmp/ruby/src/trunk/test/ruby/test_string.rb:3368]:
    ```

    It's unclear what is going on, but one possibility is that
    `"bar".freeze` might no longer compile correctly.

    Another possibility is that another test redefine `String#freeze`,
    causing `opt_str_freeze` to no longer return an `fstring`.

commit 9a57b047033034c30a3351d08ad648735299c8cf
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-15 17:06:03 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-15 17:56:49 +0900

    `super{}` doesn't use block

    `super(){}`, `super{}` and `super(&b)` doesn't use the given
    block so warn unused block warning when calling a method which
    doesn't use block with above `super` expressions.

    e.g.: `def f = super{B1}` (warn on `f{B2}` because `B2` is not used.

commit 145cced9bcb6a52fccfa0c669121bd07d3b3ff74
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-15 14:22:40 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-15 14:53:41 +0900

    fix incorrect warning.

    `super()` (not zsuper) passes the passed block and
    it can be used.

    ```ruby
    class C0
      def foo; yield; end
    end

    class C1 < C0
      def foo; super(); end
    end

    C1.new.foo{p :block} #=> :block
    ```

commit fc363944b40e4031b447f91fa897935620d43ecd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-15 14:05:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-15 14:06:46 +0900

    [ruby/optparse] bump up to 0.5.0

    https://github.com/ruby/optparse/commit/f5018a8b1c

commit 9180e33ca3a5886fec3f9e0a2f48072b55914e65
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-03-27 07:29:38 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-15 12:08:07 +0900

    show warning for unused block

    With verbopse mode (-w), the interpreter shows a warning if
    a block is passed to a method which does not use the given block.

    Warning on:

    * the invoked method is not written in C
    * the invoked method is not `initialize`
    * not invoked with `super`
    * the first time on the call-site with the invoked method
      (`obj.foo{}` will be warned once if `foo` is same method)

    [Feature #15554]

    `Primitive.attr! :use_block` is introduced to declare that primitive
    functions (written in C) will use passed block.

    For minitest, test needs some tweak, so use
    https://github.com/minitest/minitest/commit/ea9caafc0754b1d6236a490d59e624b53209734a
    for `test-bundled-gems`.

commit 515e52a0b1ce61ccaffe9183bcb78dda95a64907
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-07 10:59:51 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-15 06:29:25 +0900

    Emit `warn` event for duplicated hash keys on ripper

    Need to use `rb_warn` macro instead of calling `rb_compile_warn`
    directly to emit `warn` event on ripper.

commit 339128b190959ce15de2b3cecbf9c5ac3c402a1b
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-15 02:33:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-15 02:33:51 +0900

    [ruby/reline] Refactored Default Key Bindings
    (https://github.com/ruby/reline/pull/678)

    * Reduce duplicate method

    * Configured default key mapping with Readline when the method exists

    * Remove undefined methods

    https://github.com/ruby/reline/commit/155f7047bb

commit 1648c4436e67ea9653c247087bf349bd431f5146
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-14 23:28:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-14 23:28:15 +0900

    [ruby/reline] Refactor waiting_proc and waiting_operator_proc
    (https://github.com/ruby/reline/pull/649)

    * Fix waiting_proc precedence

    * Fix waiting_operator bugs

    * Add waiting_proc and vi_waiting_operator test

    * Fix vi waiting operator arg number

    vi_arg and vi_waiting_operator_arg should be multiplied

    * Implement `yy` copies whole line in vi_command mode

    * Simplify incremental search cancel test

    * Add complex vi test with waiting_proc and vi_waiting_operator, split test input

    https://github.com/ruby/reline/commit/777dffae1c

commit 8d5d6ec6e7dd777a058fbd9b08372a4fba8737b9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-14 20:35:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-14 20:35:34 +0900

    [pty] Fix missing `or`

commit 3368913be3838d152e42bde02a94219102b61f71
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-14 19:43:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-14 20:27:05 +0900

    [pty] Fix `ptsname_r` fallback

    If `posix_openpt` is available, also `ptsname` should be available.

commit 04ba96e619325d6e2c053ae93c2514e9252f0497
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-14 20:01:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-14 20:01:43 +0900

    [ruby/irb] Allow defining custom commands in IRB
    (https://github.com/ruby/irb/pull/886)

    This is a feature that has been requested for a long time. It is now
    possible to define custom commands in IRB.

    Example usage:

    ```ruby
    require "irb/command"

    class HelloCommand < IRB::Command::Base
      description "Prints hello world"
      category "My commands"
      help_message "It doesn't do more than printing hello world."

      def execute
        puts "Hello world"
      end
    end

    IRB::Command.register(:hello, HelloCommand)
    ```

    https://github.com/ruby/irb/commit/888643467c

commit 76b10f2ee1bbc962f2b7f178b7dddb30985d56f7
  Author:     Michael J. Giarlo <mjgiarlo@stanford.edu>
  AuthorDate: 2024-04-14 18:13:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-14 18:13:20 +0900

    [ruby/reline] Support `menu-complete-backward` command for upward
    navigation
    (https://github.com/ruby/reline/pull/677)

    Fixes https://github.com/ruby/reline/pull/675

    This commit extracts the upward navigation condition in `LineEditor#input_key` to a new private method, and adds a new alias. This change allows Reline to support upward navigation in when a user has configured `inputrc` to map Shift-Tab to `menu-complete-backward`, a common setting in Bash (>= 4.x).

    Instead of special-casing upward navigation in `LineEditor#input_key`, we now allow it to be processed by the branch that calls `process_key`. The extracted method no longer includes the editing mode check since this check is already made by `#wrap_method_call` by the time `#completion_journey_up` (or `#menu_complete_backward`) is called. Since upward navigation is happening in a method other than `#input_key` now, the `completion_occurs` variable that used to be local to `#input_key` is changed to an instance variable so that the new method can change its value. (I see many examples of mutating such instance variables in `LineEditor`, so I assumed this would be an uncontroversial change consistent with the coding practices already in place.)

    Test coverage of this change has been added to the emacs and vi `KeyActor` tests.

    Many thanks to @ima1zumi for their very helpful comments on #675 which encouraged me to contribute this work!

    https://github.com/ruby/reline/commit/2ccdb374a4

commit 38b8bdb8eac2c0dc6a149ef9d13c02ef788ad5ef
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-14 09:22:10 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-14 10:51:16 +0900

    Remove undefined function's prototype declaration

    89cfc152071 removed the definition of these functions.

commit 924b928e35bb54b0ba44028b780481bf979cc6c9
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-13 23:06:03 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-14 09:08:19 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit 5970386a2edb0f8ba4b9b155091b42f225054385
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-13 13:22:18 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-14 09:08:19 +0900

    Use `rb_parser_string_t *` for `delayed.token`

commit c479492a6701dcef3d3a96de8946ecf7beb079d4
  Author:     Zack Deveau <zack.ref@gmail.com>
  AuthorDate: 2024-01-20 05:01:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-14 08:41:47 +0900

    Resize ary when `Array#sort!` block modifies embedded ary

    In cases where `rb_ary_sort_bang` is called with a block and
    tmp is an embedded array, we need to account for the block
    potentially impacting the capacity of ary.

    ex:
    ```
    var_0 = (1..70).to_a
    var_0.sort! do |var_0_block_129, var_1_block_129|
      var_0.pop
      var_1_block_129 <=> var_0_block_129
    end.shift(3)
    ```

    The above example can put the array into a corrupted state
    resulting in a heap buffer overflow and possible segfault:
    ```
    ERROR: AddressSanitizer: heap-buffer-overflow on address [...]
    WRITE of size 560 at 0x60b0000034f0 thread T0 [...]
    ```

    This commit adds a conditional to determine when the capacity
    of ary has been modified by the provided block. If this is
    the case, ensure that the capacity of ary is adjusted to
    handle at minimum the len of tmp.

commit 43a6690d2142a2f07a04c0bb75a0834a23c88fec
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 08:47:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-13 08:47:04 +0900

    [PRISM] Enable passing test_parenthesised_statement_argument

commit 3c0756752c73ca08f366c31e197097b557da23d7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 03:11:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-13 06:46:42 +0900

    [ruby/prism] Better error message on statement inside argument list

    https://github.com/ruby/prism/commit/3b1a99526a

commit 10d0abb437e933caa3da48dfd87b40153d1a5bd7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 03:01:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-13 06:46:31 +0900

    [PRISM] Enable passing tests from latest prism

commit 7baecc2e36521dbfacffe25e1522ca2a3d85bac8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 02:24:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-13 06:46:31 +0900

    [PRISM] Emit parse warnings before raising syntax errors

commit 650b5e5aa2ece3446633fa2ecfb202334ad655d3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 02:11:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-13 06:46:31 +0900

    [PRISM] Enable more passing tests

commit 1521af3259b12570bb9eb2b2a735641b35e33ec7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 02:43:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-13 02:49:17 +0900

    [ruby/prism] Better error message on invalid def

    https://github.com/ruby/prism/commit/d398e7d22c

commit 52b862398d264e46ad2c04286ef464cc513322ab
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 02:18:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-13 02:30:37 +0900

    [ruby/prism] Syntax error for block argument on yield

    https://github.com/ruby/prism/commit/9feeafbc67

commit 0424c1fa7b2554f4f7768635f6414281f895d3df
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-13 00:17:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-13 01:50:34 +0900

    [ruby/prism] Fix up embdoc lexing on EOF

    https://github.com/ruby/prism/commit/8ee43be26d

commit 9bab179ca3ac9cc13c8940e3d1fa67c881507d68
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-12 03:35:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-13 00:27:08 +0900

    Don't treat flonum specially in object ID

    flonum is just a special constant, so we don't need to treat it in any
    special way.

commit edec690e0331b5aa851b3a7c9872b2bf92f3cb21
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-12 03:30:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-13 00:27:08 +0900

    Refactor how object IDs work for special consts

    We don't need to treat static symbols in any special way since they
    can't be confused with other special consts or GC managed objects.

commit 3629d4df66a09334a764f487c431c501a60e18fe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 23:35:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-13 00:07:04 +0900

    [PRISM] Enable passing tests for prism

commit c41ecf3f470ab5a4cba410743dc8154694f9d885
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 23:49:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 23:58:03 +0900

    [ruby/prism] Create the warning for unreachable statements

    https://github.com/ruby/prism/commit/e17c86b886

commit c553d3483542f933df41a71f1ad8f5bcb1142c2b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 23:22:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 23:30:57 +0900

    [ruby/prism] Warn void regardless of eval

    https://github.com/ruby/prism/commit/48ba434fa4

commit 5f2bcbb6d4476fcfc278d612e34a483f7592a581
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 23:29:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-12 23:29:39 +0900

    [PRISM] Ensure no void warnings in rubyoptions test

commit 8e514bedf983a8a0a2f358709823fabfc74407d7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 23:01:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 23:10:21 +0900

    [ruby/prism] Remove outdated comment

    https://github.com/ruby/prism/commit/9adc88ddf8

commit 4fc457e2b7fcaf78294d3315125926fb2e580f6d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 04:54:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 23:10:20 +0900

    [ruby/prism] Implement the void statement warning

    https://github.com/ruby/prism/commit/802ff71cd4

commit 0924ff2d390084922fbcebada20b968fa3e8238c
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-04-03 05:41:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 22:55:35 +0900

    [ruby/prism] Fix parser translation's heredoc whitespace calculation

    Given this example:

    ```rb
    <<~HEREDOC
      #{x}
    HEREDOC
    ```

    Both the parser gem and Prism's translation layer would generate the following AST:

    ```
    s(:dstr,
      s(:begin,
        s(:int, 1)),
      s(:str, " a\n"))
    ```

    However, the parser gem inserts a empty string node into this node's location, like:

    ```
    <Parser::Source::Map::Heredoc:0x0000000104ce73b8
     @expression=#<Parser::Source::Range (string) 0...10>,
     @heredoc_body=#<Parser::Source::Range (string) 11...20>,
     @heredoc_end=#<Parser::Source::Range (string) 20...27>,
     @node=s(:dstr,
      s(:str, ""),
      s(:begin,
        s(:int, 1)),
      s(:str, " a\n"))>
    ```

    This is required to calculate the correct whitespace for the heredoc body.

    We need to adjust the translation layer to account for this.

    With this fix, we also won't need to ignore the tilde heredoc fixture anymore.

    https://github.com/ruby/prism/commit/e7372e3ba5

commit abd05c848f437405e10410ded2a3d666e1b9bba5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 22:52:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-12 22:52:29 +0900

    Sync latest prism

commit a64a42ae386576cb91f5fb017b13a8f8a77077a4
  Author:     David Marshall <depmarshall@gmail.com>
  AuthorDate: 2024-04-05 22:53:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 22:31:43 +0900

    [rubygems/rubygems] `bundle add --glob` continued- quote glob value invocation in specs, add banner text for CLI recommending single quotes

    https://github.com/rubygems/rubygems/commit/6d2cf955f9

commit c4b5f3f1422b1c83bc4c7e03d32218881c0b6945
  Author:     David Marshall <depmarshall@gmail.com>
  AuthorDate: 2024-04-05 02:33:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 22:31:43 +0900

    [rubygems/rubygems] bundler CLI option for add gem --glob=

    Bundler online documentation says that if the gem is located within a subdirectory of a git repository,
    you can use the `:glob` option to specify the location of its .gemspec

    `gem 'cf-copilot', git: 'https://github.com/cloudfoundry/copilot', glob: 'sdk/ruby/*.gemspec'`

    This change allows for equivalent functionality from the bundler CLI

    `bundle add cf-copilot --git=https://github.com/cloudfoundry/copilot --glob=sdk/ruby/*.gemspec`

    https://github.com/rubygems/rubygems/commit/91052e5868

commit f1d9e895b92953add4b12f477c27852cc3d0955b
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-12 21:00:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 21:01:03 +0900

    [ruby/irb] Pass statements to Context#evaluate
    (https://github.com/ruby/irb/pull/920)

    This has a few benefits:

    - We can keep hiding the evaluation logic inside the Context level, which
      has always been the convention until #824 was merged recently.
    - Although not an official API, gems like `debug` and `mission_control-jobs`
      patch `Context#evaluate` to wrap their own logic around it. This implicit
      contract was broken after #824, and this change restores it.

    In addition to the refactor, I also converted some context-level evaluation
    tests into integration tests, which are more robust and easier to maintain.

    https://github.com/ruby/irb/commit/b32aee4068

commit 7b8b936f4a1cd9a629c0465c287fd0ed40519ebe
  Author:     Satoshi Tagomori <tagomoris@gmail.com>
  AuthorDate: 2024-04-12 18:31:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-12 18:31:22 +0900

    [DOC] Fix the wrong comment

    This function checks the CL's superclasses containing the class C at
    the end of it. That means C is a superclass of CL, not a subclass.

commit 69823b97b517629e5438328e10f758eb6250f762
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-12 17:02:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-12 17:02:46 +0900

    [Bug #20423] Fix error message of prism

commit e36988450e9e9ccccb41c72135f1e57790920668
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-12 16:07:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-12 16:07:49 +0900

    [Bug #20423] Disallow anonymous block within argument forwarding

commit 971b552735f46cbda7345e8de60a2037ee10e259
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-12 09:31:08 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-12 09:31:28 +0900

    [PRISM] Suppress compiler warnings

    ../prism_compile.c: In function ‘pm_compile_node’:
    ../compile.c:583:24: warning: ‘retry_end_l’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      583 |     anchor->last->next = elem;
          |     ~~~~~~~~~~~~~~~~~~~^~~~~~
    In file included from ../compile.c:14256:
    ../prism_compile.c:5796:16: note: ‘retry_end_l’ was declared here
     5796 |         LABEL *retry_end_l;
          |                ^~~~~~~~~~~
    ../compile.c:255:42: warning: ‘retry_label’ may be used uninitialized in this function [-Wmaybe-uninitialized]
      255 | #define LABEL_REF(label) ((label)->refcnt++)
          |                                          ^~
    In file included from ../compile.c:14256:
    ../prism_compile.c:5795:16: note: ‘retry_label’ was declared here
     5795 |         LABEL *retry_label;
          |                ^~~~~~~~~~~
    ../prism_compile.c:5919:52: warning: ‘previous_block’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     5919 |             ISEQ_COMPILE_DATA(iseq)->current_block = previous_block;
          |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~

commit 842f151d79824cd09d1a9020bc392265b33df79e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 03:30:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-12 04:47:30 +0900

    [PRISM] Enable more passing tests

commit c5e661b1d720cf5452c3fd5264b73063ca9c4515
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2024-04-12 01:21:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 04:35:28 +0900

    [rubygems/rubygems] Fix installing plugins via relative paths

    This affected both CLI and Gemfile installs

    https://github.com/rubygems/rubygems/commit/a0d101a8df

commit cd516ebd20a8d2c7b0f912e4d5750f84616463a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 03:37:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-12 03:53:30 +0900

    [ruby/prism] Add Location#chop

    https://github.com/ruby/prism/commit/5dd57f4b84

commit 58f93eec188df0a77b61b4781a7baf7b2c608097
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-12 03:01:37 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-12 03:39:04 +0900

    [PRISM] Fix break in super block

commit bb5ed8b3df9151d5bfadf13622c53888e140ea73
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-11 23:21:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-12 01:18:51 +0900

    [PRISM] Fix flags on local variable operator write nodes

commit f2369de2a4a0ffc5e40f6d55fa3ae811128432db
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-12 01:08:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-12 01:08:03 +0900

    Remove redundant cast

    ptr is already of the VALUE type, so we don't need to cast it.

commit ca81f5a5de4bf9a8445770edd13ab0a9321910bf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-11 21:53:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 23:47:32 +0900

    Realclean extracted bundled gems and lock files

commit 2df4638538c5602bb14bfb5bf0cb68b06452e584
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-11 21:47:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 23:47:32 +0900

    Cleanings of .bundle do not need cleanings of ext

commit c2622b52536c5206a396de589de0961967df6956
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-11 23:37:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-11 23:37:56 +0900

    YJIT: x64: Remove register shuffle with `opt_and` and friends (#10498)

    This is best understood by looking at the change to the output:

    ```diff
      # Insn: 0002 opt_and (stack_size: 2)
      - mov rax, rsi
      - and rax, rdi
      - mov rsi, rax
      + and rsi, rdi
    ```

    It's a bit awkward to match against due to how stack operands are
    lowered, but hey, it's nice to save the 2 unnecessary MOVs.

commit db0cf1aef92efc558d4d6c6351dee9e45ef31005
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-11 19:47:49 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-11 21:48:30 +0900

    prism_compile.c: use rb_enc_interned_str to reduce allocations

    The `rb_fstring(rb_enc_str_new())` pattern is inefficient because:

    - It passes a mutable string to `rb_fstring` so if it has to be interned it will first be duped.
    - It an equivalent interned string already exists, we allocated the string for nothing.

    With `rb_enc_interned_str` we either directly get the pre-existing string with 0 allocations,
    or efficiently directly intern the one we create without first duping it.

commit 56f9ac8d31766426471aca3c8180defeba0c2fd0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-11 21:12:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-11 21:12:34 +0900

    [ruby/prism] More unreachables

    https://github.com/ruby/prism/commit/735f3122c2

commit 9183101aa7399a56a93045cc85220707bb413218
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-11 19:24:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-11 21:08:30 +0900

    prism_compile.c: X_STRING should be frozen

    The backtick method recieves a frozen string unless it is interpolated.

    Otherwise the string held in the ISeq could be mutated by a custom
    backtick method.

commit b2f8de3d9d7af9af547c1e290c6e3a4d2658a62e
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-04-08 13:12:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 20:25:08 +0900

    Launchable: Correctly configure the missing "os" flavor in ubuntu.yaml

commit e7f8db9079bc3b0f94a490e7597560ac07f5b072
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-08 12:36:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 17:57:52 +0900

    [pty] Support `ptsname_r` of glibc

    Although glibc `ptsname_r` man page mentions Tru64 and HP-UX, this
    function appears to be declared obsolete on both.

commit 1b830740ba8371c4bcfdfc6eb2cb7e0ae81a84e0
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-04-10 17:50:18 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-11 16:04:31 +0900

    compile.c: use rb_enc_interned_str to reduce allocations

    The `rb_fstring(rb_enc_str_new())` pattern is inneficient because:

    - It passes a mutable string to `rb_fstring` so if it has to be interned
      it will first be duped.
    - It an equivalent interned string already exists, we allocated the string
      for nothing.

    With `rb_enc_interned_str` we either directly get the pre-existing string
    with 0 allocations, or efficiently directly intern the one we create
    without first duping it.

commit ed303cd56cfc7889ce371ee390e9fd36f86814ea
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-11 15:53:53 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-04-11 15:53:53 +0900

    Fix a typo in a comment

commit 501a32c6300e5ae7fe2bef16c2552b96084b32e9
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-11 12:02:11 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-11 12:57:25 +0900

    Remove duplicated `st_init_table_with_size` definition

    `st_init_table_with_size` is already defined in universal_parser.c.

commit e9fd34750f96a9fd1aed94b436996b25685d48d9
  Author:     Vivek Gupta <139687128+vwake01@users.noreply.github.com>
  AuthorDate: 2024-03-26 16:35:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 12:16:47 +0900

    [DOC] Typo fix in NEWS.md

    Fix https://github.com/ruby/ruby/pull/10366

commit 207788466eedfdefcf09fdc5c6217547b5ce4ed1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-10 22:44:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 12:03:55 +0900

    [Bug #20417] Block local variables do not need to warn about unused

commit 5d9fd674c9ceefd6baffdd05d33c5b60a7c64e42
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-04-10 14:57:14 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-04-11 12:00:33 +0900

    put empty `rb_gc_force_recycle()`

    and declare it will be removed soon.

    ddtrace is still referes the API and build was failed.
    See https://github.com/DataDog/dd-trace-rb/pull/3578

    Maybe threre are only few users of this C-API now so we can remove
    it soon.

commit 87ad5ca3ca32624cb4817504d258c9a348fd279e
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-10 18:30:20 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-11 11:56:28 +0900

    Remove unused function from `struct rb_parser_config_struct`

commit 76732b3e7b42d23290cd96cd695b2373172c8a43
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-04-10 21:05:59 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-11 11:32:09 +0900

    Remove unused AREF macro

commit 39be11a17a221387b7eedd455114d6e87088ac60
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-10 10:28:51 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-11 10:28:58 +0900

    Fix segv when parsing `command` by ripper

    89cfc152071 made this event dispatch to pass `Qundef`
    to user defined callback method by mistake.
    This commit fix it to be `nil`.

commit 38e3819be63a0d4be094e7cd478cf8532a7d1d9d
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-11 08:16:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-11 08:16:32 +0900

    [ruby/irb] Add a workaround to make IRB work with debug's tests
    (https://github.com/ruby/irb/pull/919)

    https://github.com/ruby/irb/commit/eb442c4dda

commit f389a211b54aa86ec6f2a9edc641836eced96332
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-11 05:32:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-11 05:32:49 +0900

    Fix indentation in switch statement in gc.c

commit 77d3996897ce57dba6d8dda9fd3503e7d0fe3c2f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-11 04:45:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-11 04:45:13 +0900

    [ruby/prism] Put in an unreachable assert for rescues parsing

    https://github.com/ruby/prism/commit/7a60b61368

commit d75dc3988059ac2fc6eb06f29508ef935f5e0139
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-04-11 02:33:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-11 02:33:44 +0900

    [ruby/irb] Centralize rstrip calls
    (https://github.com/ruby/irb/pull/918)

    https://github.com/ruby/irb/commit/97898b6251

commit d60b2caa95b01f37d35db9ef8be1d035d14b408d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-11 02:10:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-11 02:10:20 +0900

    Lock turbo_tests to 2.1.0 provisionally

    turbo_tests 2.1.1 adds json to its dependency and the current bundler
    does not take the standard library json and fails to build as a gem
    before the installation.

commit 6a505d1b59cf326a8e004fc06e02f30222b17f3f
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-11 01:52:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-11 01:52:53 +0900

    [ruby/irb] Command implementation not by method
    (https://github.com/ruby/irb/pull/824)

    * Command is not a method

    * Fix command test

    * Implement non-method command name completion

    * Add test for ExtendCommandBundle.def_extend_command

    * Add helper method install test

    * Remove spaces in command input parse

    * Remove command arg unquote in help command

    * Simplify Statement and handle execution in IRB::Irb

    * Tweak require, const name

    * Always install CommandBundle module to main object

    * Remove considering local variable in command or expression check

    * Remove unused method, tweak

    * Remove outdated comment for help command arg

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    ---------

    https://github.com/ruby/irb/commit/8fb776e379

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 9f6deaa6888a423720b4b127b5314f0ad26cc2e6
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2023-10-13 15:02:23 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-04-10 23:28:07 +0900

    [Misc #18984] Raise TypeError from Range#size if the range is not iterable

commit f9f25d0ed001ae7c7a335c32fb3c5f0895709b9b
  Author:     Taketo Takashima <t.taketo1113@gmail.com>
  AuthorDate: 2022-08-09 00:50:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-10 19:30:53 +0900

    [ruby/ipaddr] Added IPAddr#wildcard_mask

    https://github.com/ruby/ipaddr/commit/2093cebc1d

commit 13f04e5beb801d17fce6aa3bc36f6da7a0953874
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-10 18:03:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-10 18:10:50 +0900

    [ruby/io-console] Load the built extension library in noctty tests

    https://github.com/ruby/io-console/commit/74c78afc24

commit 0107954f257af6fd4cb280aa36b9b320795c0a86
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-10 01:23:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-10 01:29:01 +0900

    [ruby/prism] Fix up invalid global variable error message

    https://github.com/ruby/prism/commit/8ce9ae487f

commit d101ec65e9507310b5498ffd8ced4c5a6624662c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-10 00:30:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-10 00:55:57 +0900

    [ruby/prism] Reduce locals variables per CRuby

    https://github.com/ruby/prism/commit/3e6830c3a5

commit 0bc71828b596c763f09d674260f97722a311e764
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-08 11:55:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-09 22:50:09 +0900

    [pty] Split `chfunc` into functions in steps

    - start a new session
    - obtain the new controlling terminal
    - drop privileges
    - finally, `exec`

commit 6846b985760d104320cc7c111754f4d26d159f63
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-09 22:47:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-09 22:47:23 +0900

    [ruby/reline] Bump version to 0.5.1
    (https://github.com/ruby/reline/pull/672)

    https://github.com/ruby/reline/commit/d348df90d2

commit 4dbd9c7fec18fe9dcde8aeb58d7df7997fc8b266
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-09 08:13:19 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-09 09:58:05 +0900

    Remove unused function from `struct rb_parser_config_struct`

commit 3d73cd752f5dbdff4c77c57d011ca7f8d783c8ba
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-05 18:53:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-09 09:52:28 +0900

    Hack to update spec/bundler/support/builders.rb

commit b09604e1fd5768daf31aaa4f8130fa8cd9b8d240
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 03:36:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-09 01:54:25 +0900

    [ruby/prism] Simplify locals test now that all fixtures are valid

    https://github.com/ruby/prism/commit/0d32af5719

commit 478b4ef9de0de0d087f5c8d4d94b0b4af3753c6f
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-09 01:31:33 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-09 01:31:33 +0900

    Fix nil error with KNOWNBUGS.rb

    Previously, `make test-knownbugs` crashed with `NoMethodError` due to
    the failed regex match if there is a test case in KNOWNBUGS.rb.

    The note about 1.8 compatibility is probably bogus as we require a way
    more recent BASERUBY now.

commit 00cbdb5a8be7af849874ecdc5ef8a46eed4b214b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-08 21:26:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-08 21:26:11 +0900

    Skip even "Document" only

commit 49b31c7680a86413853d0c2ce2124d3cba56d334
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-04-08 19:41:55 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-04-08 20:25:09 +0900

    Document STR_CHILLED flag on RString

    [Feature #20205]

commit 8217fbf4bd45fa829fde33bc0b0cfabf34eac50b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-08 18:29:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-08 20:05:40 +0900

    [ruby/tmpdir] Display the offending parent path in the exception

    https://github.com/ruby/tmpdir/commit/7751b12e97

commit 76efed65bd905c68c6b3f34d304a30359afae433
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-08 16:20:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-08 16:20:15 +0900

    Added test case for bundled gems warning with -r option.

    This is for 76914d474d93b7485973c3bca4fa43b59f5bd383

commit 76914d474d93b7485973c3bca4fa43b59f5bd383
  Author:     Masataka Pocke Kuwabara <kuwabara@pocke.me>
  AuthorDate: 2024-04-08 12:41:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-08 15:48:26 +0900

    Fix error when default gem is loaded from `-r` option

    This patch fixes an error when a default gem that will be migrated to
    a bundled gem is loaded from `-r` option.

    Problem
    ===

    `bundle exec ruby -rostruct -e ''` unexpectedly raises the following error:

    ```console
    $ ruby -v
    ruby 3.4.0dev (2024-04-08T02:39:00Z master 6f7e8e278f) [arm64-darwin21]
    $ bundle init && bundle install
    $ bundle exec ruby -rostruct -e ''
    /Users/kuwabara.masataka/.rbenv/versions/trunk/lib/ruby/3.4.0+0/bundled_gems.rb:111:in 'Gem::BUNDLED_GEMS.warning?': undefined method 'find' for nil (NoMethodError)

          caller = caller_locations(3, 3).find {|c| c&.absolute_path}
                                         ^^^^^
            from /Users/kuwabara.masataka/.rbenv/versions/trunk/lib/ruby/3.4.0+0/bundled_gems.rb:75:in 'block (2 levels) in Kernel#replace_require'
    ```

    Solution
    ===

    This patch uses a safe navigation operator to fix this problem. By this
    change, the command will show the warning message correctly.

    ```console
    $ bundle exec ruby -rostruct -e ''
    warning: ostruct was loaded from the standard library, but will no longer be part of the default gems since Ruby 3.5.0. Add ostruct to your Gemfile or gemspec.
    ```

commit 19f4b06b9d9698c97bad5f342324517455be6843
  Author:     Reznov <78517110+alantudyk@users.noreply.github.com>
  AuthorDate: 2024-04-08 12:51:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-08 12:51:32 +0900

    Reducing the number of divisions in `rb_fix_digits`

commit 6f7e8e278fefb70af893937e4d005367f6cbbc2b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-06 18:51:20 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-08 11:39:00 +0900

    Don't set T_TYPES of NODE

    T_TYPES was needed once Ripper jumbled NODEs and other type
    objects. However such hack was already removed.
    Therefore don't need to set T_TYPES of NODE.

commit 4dd9e5cf7447ec70a55206fd5e1b9e8c79dbba7e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-06 17:45:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-08 11:13:29 +0900

    Add builtin type assertion

commit 5d1702e01a36e11b183fe29ce10780a9b1a41cf0
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-07 21:49:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-07 21:49:01 +0900

    Enumerator should use a non-blocking fiber, change `rb_fiber_new` to be non-blocking by default. (#10481)

commit cccffeff2f2de0b5f655aaa04d935f2eee4b0cd2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-07 21:16:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 21:16:26 +0900

    Fix missing variable

    It seems like no one has tried to compile on a platform without
    `setsid` for almost a quarter of a century.

commit c4dadfbd47b200b04c59b72ed53948f964ef9cd6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-07 20:54:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 20:54:00 +0900

    Fix a typo, missing `P` in `SETPGRP_VOID`

commit b473d304d449b520a967e45b7d5d5ecb8556b4c3
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-07 19:20:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-07 19:20:22 +0900

    Revert "Enumerator should use a non-blocking fiber. (#10478)" (#10480)

    This reverts commit dfa0897de89251a631a67460b941cd24a14c9b55.

    This commit accidentally included some change in `parse.h`. Reverting
    and re-applying the relevant changes.

commit b88e0d6653836a57f2a51c03e204850319d8e218
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 11:29:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 17:29:24 +0900

    Merge `push_include` and `ruby_push_include`

commit 0d93fd0f69cf6b8f60d76948b2e7d1144c1cd843
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 08:06:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 17:29:23 +0900

    Merge `push_include_cygwin` into `push_include`

commit 0620f006c2043c9842f2a431f14cf1d3f846fb07
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 08:06:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 17:29:23 +0900

    Remove `translit_char`

    It has been used only for DOSISH other than Windows.

commit bdb1fc1e5bd09f23860d0f3aced10da51d2c9867
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-07 16:57:15 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-07 16:57:15 +0900

    Prefer to use `Fiber#transfer` in scheduler implementation. (#10479)

commit ed4d03ea41fa48e2d83f5956796f47c32fbe27ab
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 08:06:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 16:44:42 +0900

    Make `dln_warning` a variadic macro

commit b5b54c19f65a42c9229eff5e978937222d46ca41
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-07 15:28:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 16:43:52 +0900

    Unify `ERRMSG1` and `ERRMSG2` to `ERRMSG_FMT` variadic macro

commit dfa0897de89251a631a67460b941cd24a14c9b55
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-04-07 16:18:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-07 16:18:09 +0900

    Enumerator should use a non-blocking fiber. (#10478)

commit eaa6e4b22862a31c9595d052f7c63ce997a95d68
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-07 13:35:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-07 13:35:20 +0900

    [DOC] Update PTY documents

    - Fix markups as RDoc.
    - Remove already descriptions of removed methods.

commit 6bfabd076b99bd47ee10277b8de24aaa791be69b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-07 09:56:47 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-07 11:21:04 +0900

    Remove undefined function's prototype declaration

commit 70a0dd41629de7760a38e9530dd58ad641e11b82
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-07 09:46:11 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-07 11:15:09 +0900

    Remove unused macro

commit 7767db237935135e14cb0f9ca70aa3a8dea03faa
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-07 00:42:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-07 11:15:09 +0900

    Fix ripper to dispatch warning event for duplicated when clause

    Need to separate `check_literal_when` function for parser and
    ripper otherwise warning event is not dispatched because
    parser `rb_warning1` is used in ripper.

commit ad90fdd24c55284deab8c24449bfd1113658afdf
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-04-05 11:32:30 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-04-07 02:33:16 +0900

    Remove compiler code to handle blocks in attrasgn

    Passing blocks is no longer allowed in attrasgn.  This is similar
    to 3a674c9c655288b3e12ac1cff149ba4af08fd452, but for attrasgn instead
    of op_asgn.

commit 0b4db711dd43ea437093428ea72a08a2a6ef9f88
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-06 19:09:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-06 22:03:26 +0900

    Remove unused function from `struct rb_parser_config_struct`

commit 02f5e627a49c28beb421c869e4e1d4525d59d8ac
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-06 19:05:53 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-06 22:03:26 +0900

    Remove redundant conversion between int and object

commit 977672731fa7ce9d22b8b3c997acc54a9365d2c3
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-06 19:12:39 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-06 22:03:08 +0900

    Fix a variable name

    The first argument of `WARN_SPACE_CHAR` is always `c2` in caller
    side, so `c` equals to `c2`.

commit df8f1f78f03ba0b18c082f2cd85a276862a1a944
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-18 23:22:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-06 20:27:02 +0900

    [Feature #20329] Separate additional flags from main dump options

    Additional flags are comma separated list preceeded by `-` or `+`.

    Before:
    ```sh
    $ ruby --dump=insns+without_opt
    ```

    After:
    ```sh
    $ ruby --dump=insns-opt,-optimize
    ```

    At the same time, `parsetree_with_comment` is split to `parsetree`
    option and additional `comment` flag.

    Before:
    ```sh
    $ ruby --dump=parsetree_with_comment
    ```

    After:
    ```sh
    $ ruby --dump=parsetree,+comment
    ```

    Also flags can be separate `--dump`.
    ```sh
    $ ruby --dump=parsetree --dump=+comment --dump=+error_tolerant
    ```

    Ineffective flags are ignored silently.
    ```sh
    $ ruby --dump=parsetree --dump=+comment --dump=+error_tolerant
    ```

commit 9b5d4274a247567c583667f4c8442872d8765d39
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 13:57:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-06 20:27:01 +0900

    [Feature #20329] Clean up dump sub-options

    Restructure `insns_without_opt` and `parsetree_with_comment` as
    `insns+without_opt` and `parsetree+with_comment` respectively, like
    `+error-tolerant`.

commit b006919200d30daa672951edafd47c8e7af247d4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-06 18:00:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-06 18:51:24 +0900

    `objspace_each_pages` is also only used if GC compression is possible

commit c2d02a6ac234a1b0fe017196c047bda2034f0684
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-04-06 18:24:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 18:24:53 +0900

    [ruby/reline] Continue processing even if terminfo database couldn't
    be found
    (https://github.com/ruby/reline/pull/673)

    Fix https://github.com/ruby/reline/issues/447 https://github.com/ruby/reline/issues/543

    This problem occurs when Fiddle can be loaded, curses can be loaded, and TERM is not registered in Terminfo.
    It should also occur at hardcopy terminals and when Terminfo information is low, but no such reports have been received.

    Reline should not abort the process because of missing Terminfo.
    Reline proceeds with `Reline::Terminfo.enabled? == false` when fiddle or curses cannot be loaded.
    And does the same when Terminfo is present but TERM is not.
    https://github.com/ruby/reline/blob/ebab2875f1226f877376558d8758bc0e2a1776c7/lib/reline/terminfo.rb#L156-L160

    You can check the operation with `TERM=foo bundle exec bin/console`.

    https://github.com/ruby/reline/commit/4ce247ce2b

commit f022a700bf57105fca03b537284ed7bf77e8fff7
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-06 09:39:45 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-06 18:20:31 +0900

    Remove imemo type check for NODE

    In the past, `rb_iseq_compile_node` received `NODE *`
    and `struct vm_ifunc *` as `node`. But after e743a35,
    the function only receives `NODE *`.
    This commit removes imemo type check to reduce the dependence
    on `VALUE flags` of `struct RNode`.

commit dae503874d3aa054c4e7ae86e03d1338ab40ddc2
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-04-06 01:18:08 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-06 09:29:44 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit f2ac26d914d349f9fe8fc61ad2db875f03a07fa6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 06:28:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 06:44:06 +0900

    [ruby/prism] Bump to v0.25.0

    https://github.com/ruby/prism/commit/4da514456f

commit 43dcf4d1a6e301bc40adcbc5a3831180cec23695
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 05:14:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 05:15:48 +0900

    Assert correct types in get_id_serial_entry

commit a80e8ba1c4c0fc802acb21279a72fdb78abe9364
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 05:14:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 05:15:40 +0900

    Assert correct types in set_id_entry

commit 37490474c4bd45572c0bb35506dc6e032c8ebfd2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 05:14:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 05:15:33 +0900

    Assert that rb_sym2str returns 0 or a T_STRING

commit e50590a54163b5f88dc78b33e7d06bc428cad25a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 05:13:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 05:15:28 +0900

    Assert that Symbol#inspect returns a T_STRING

commit fbeb8f2c784806e206904887c19c392b9df0bd6e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 04:14:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:04 +0900

    [ruby/prism] Set up location correctly for hashed locals

    https://github.com/ruby/prism/commit/0334140790

commit 1953ead74e0ceaea83a874ae3ec0001289375247
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 03:53:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:04 +0900

    [ruby/prism] Use a simpler and faster hash function for locals

    https://github.com/ruby/prism/commit/5f56bf4464

commit a801889c580663dde984afa2c27811a8d2438597
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 03:25:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:03 +0900

    [ruby/prism] Do not warn for locals that start with _

    https://github.com/ruby/prism/commit/8b8d66e55d

commit 37ba6927d1bf9d5a0408de479dc030385372b9a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 03:15:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:03 +0900

    [ruby/prism] Always calloc the locals resize

    https://github.com/ruby/prism/commit/8bbd3fef6f

commit 3b59addaf1d8b1398d0e792803e32e9c0a40fa8c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:51:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:01 +0900

    [ruby/prism] Provide documentation for the new local tables

    https://github.com/ruby/prism/commit/7a47a1351f

commit 413a151a6bece80609f9951bb5d941009bdc7aa4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:48:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:01 +0900

    [ruby/prism] Explicitly cast from uint64_t to double for mid-square hash

    https://github.com/ruby/prism/commit/06c6501044

commit 5e93cf9250bbdfeb409072ceaa29fa55fe2bd764
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:43:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:01 +0900

    [ruby/prism] Optimize pm_locals_order

    https://github.com/ruby/prism/commit/13fe4e03c7

commit 3638aeb4cb0ae38ff915568d81da43b79b8d0dcd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:40:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:00 +0900

    [ruby/prism] Refactor around pm_parser_scope_find

    https://github.com/ruby/prism/commit/79d83eb95e

commit dcec1e0dc687edd6d34038a3660c0ee254ac9418
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:32:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:24:00 +0900

    [ruby/prism] Replace old circular parameter definition detection

    https://github.com/ruby/prism/commit/c739f8e194

commit bf3a911d1bbcfe6bf2887af50281ee535afa87f1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:23:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:59 +0900

    [ruby/prism] Do not warn on unused parameters

    https://github.com/ruby/prism/commit/c8d222640a

commit b5b46289913b77a241f8151ba5679ba33b812755
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 02:13:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:59 +0900

    [ruby/prism] Warn on unused local variables

    https://github.com/ruby/prism/commit/de111935fb

commit e6aeacb099701ddcf8fe66772da280702a388bb4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 01:46:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:58 +0900

    [ruby/prism] Lazily hash locals

    https://github.com/ruby/prism/commit/ef8ea4624a

commit f9c05a65c9c186638991834d1da28800602f181c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 01:43:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:58 +0900

    [ruby/prism] Track the number of reads for local variables

    https://github.com/ruby/prism/commit/dce64f4640

commit 540cc886b9ca169356ebc4444c6a11c38e2da04b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 01:12:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:57 +0900

    [ruby/prism] Make the locals set switch from list to hash dynamically

    https://github.com/ruby/prism/commit/c977c4c98a

commit 358aeb103b308957bda1b03b760f08848b454cef
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-06 00:54:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 04:23:57 +0900

    [ruby/prism] Switch locals to use a hash

    https://github.com/ruby/prism/commit/f38946021e

commit 1f84e1099e76f9a8fb4c40ac3e35e0c5626d3b88
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 02:46:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 02:46:47 +0900

    [DOC] Add nodoc for GC.remove_stress_to_class

    This method is only available when compiled with GC_DEBUG_STRESS_TO_CLASS
    is enabled, so it's not available on release builds of Ruby.

commit 46ebc48e62e80426da78cdec6d2fbcf267b0ddcf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-06 02:45:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 02:45:12 +0900

    [DOC] Add nodoc for GC.add_stress_to_class

    This method is only available when compiled with GC_DEBUG_STRESS_TO_CLASS
    is enabled, so it's not available on release builds of Ruby.

commit f87e60f1f4fd9e48f78c9a544109b225b4b2bc20
  Author:     Joshua Broughton <josh.broughton47@gmail.com>
  AuthorDate: 2024-04-06 01:25:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-06 01:25:52 +0900

    [ruby/irb] Filter backtrace before format in handle_exception
    (https://github.com/ruby/irb/pull/916)

    handle_exception now applies the filter_backtrace to exception
    backtraces prior to formatting the lines with Exception#full_message

    This fixes a bug in upstream projects, notably Rails, where the
    backtrace filtering logic expects the lines to be formatted as
    Exception#backtrace.

    https://github.com/ruby/irb/commit/805ee008f9

    Co-authored-by: Hartley McGuire <skipkayhil@gmail.com>

commit dbe8886f4d28d9e5a01d3667cd451a623c3c1ccc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 03:24:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-06 00:39:54 +0900

    Remove deprecated function rb_gc_force_recycle

    This function has been deprecated since Ruby 3.1, so we should remove it
    for Ruby 3.4.

commit 831b06ea3dcb027247db256818a151c03fe95de6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 04:40:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 22:06:59 +0900

    [PRISM] Enable test_argument_forwarding_with_anon_rest_kwrest_and_block

commit 16c5e34c7492cda940ba0f076f593ebae9686b78
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-05 17:04:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-05 17:36:16 +0900

    Use rake-13.2.1

commit b60bf35cc7106ee0a7c8f18e335429291b8095ec
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-04-05 15:59:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-05 15:59:50 +0900

    Update bundled gems list as of 2024-04-05

commit 9d1d2de2fe0248028dc61a96b65b78e2cb383196
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-05 09:20:59 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-05 14:25:04 +0900

    Make `nd_plen` to be int to reduce `rb_long2int` usage

commit bd728a625af4590daa21cabae3268a278fc2d60d
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-05 08:12:09 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-05 10:04:48 +0900

    Remove unused functions from `struct rb_parser_config_struct`

commit 58d03c345841373ee76429c3ef1fd34280cdb0c0
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-04-04 19:39:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-05 09:34:51 +0900

    [rubygems/rubygems] Fix crash with development bundler binstub

    Fixes the following error:

    ````
    $ ruby /home/deivid/code/rubygems/rubygems/bundler/spec/support/bundle.rb clean --force
    --- ERROR REPORT TEMPLATE -------------------------------------------------------

    ```
    TypeError: no implicit conversion of Pathname into String
      /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/runtime.rb:167:in `match'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/runtime.rb:167:in `block in clean'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/runtime.rb:164:in `each'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/runtime.rb:164:in `clean'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/cli/clean.rb:13:in `run'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/cli.rb:590:in `clean'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/vendor/thor/lib/thor.rb:527:in `dispatch'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/cli.rb:34:in `dispatch'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/cli.rb:28:in `start'
              /home/deivid/code/rubygems/rubygems/bundler/exe/bundle:28:in `block in <top (required)>'
              /home/deivid/code/rubygems/rubygems/bundler/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
              /home/deivid/code/rubygems/rubygems/bundler/exe/bundle:20:in `<top (required)>'
              /home/deivid/code/rubygems/rubygems/bundler/spec/support/bundle.rb:5:in `load'
              /home/deivid/code/rubygems/rubygems/bundler/spec/support/bundle.rb:5:in `<main>'

    ```
    (...)
    ````

    https://github.com/rubygems/rubygems/commit/ff7ce7eb6d

commit 4e48d2724edafdebfe7fba4db01a50cd2a726d20
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-05 01:38:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-05 09:34:28 +0900

    [ruby/reline] Thread safe readline
    (https://github.com/ruby/reline/pull/669)

    Block until other Reline.readline or Reline.readmultiline finish

    https://github.com/ruby/reline/commit/ebab2875f1

commit 4cbe4e49c7e2a90d7d34337343187ab9af2f58d1
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-05 01:15:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-05 09:34:28 +0900

    [ruby/reline] Always call finalize and deprep
    (https://github.com/ruby/reline/pull/668)

    https://github.com/ruby/reline/commit/91b030caa4

commit cebbe18eed2e09843e9c24be9a8ea9db6d241050
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-04 23:53:47 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-05 09:19:57 +0900

    Remove needless check

    `nodetype_markable_p` always returns `false` then
    `rb_ast_node_type_change` never calls `rb_bug`.

commit fc8fe78c073eb4a7a531444de103dd89d379bdae
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-04 23:19:31 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-05 09:19:57 +0900

    Merge two `node_buffer_list_t` fields into one

    All types of Node are managed by `node_buffer_list_t unmarkable`
    therefore merge them into `node_buffer_list_t buffer_list`.

commit 3a674c9c655288b3e12ac1cff149ba4af08fd452
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-19 02:54:27 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-04-05 09:13:40 +0900

    Remove compiler code to handle keywords and blocks in operator assignment syntax

    Code such as:

    ```ruby
    foo[0, &bar] = baz
    foo[0, bar: 1] = baz
    foo[0, **bar] = baz
    ```

    Is now a syntax error, so all of the removed code is now dead.

commit 39afab6083976937b52f7a826c7d3f30fcb4e3b3
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-05 00:04:01 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-05 08:22:58 +0900

    Remove unused macros from node.c

commit 440c63df31eb2283019a991d1e6fcd999490009a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 04:32:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-05 05:59:08 +0900

    [ruby/prism] Change forwarding error messages to match CRuby

    https://github.com/ruby/prism/commit/6a15e475c9

commit 2ecf269e6877d8cdf794ef6ff2c1438d1d4432a8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 02:54:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:29:14 +0900

    [ruby/prism] Eliminate character class duplicated range warning

    https://github.com/ruby/prism/commit/da939bbd4e

commit f45c9dbe87d6f70042c18b03ee178099ef48eb4c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 02:42:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:29:10 +0900

    [ruby/prism] Fix up some comments in the parser compiler

    https://github.com/ruby/prism/commit/e2147cddd8

commit 0aa1d61ab95befe0d8e68ebe86e238a09a8c11c5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 03:51:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:27:51 +0900

    [PRISM] Ensure unfrozen when interpolation is present in string literal

commit 48c2ffe98040f591b3cc27b9c600a61c2dcb8594
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 03:33:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:27:51 +0900

    [PRISM] Enable SCRIPT_COMPILED tracepoint event

commit 3efc1c36f28b06973504dd2d02ed18ca443c98b2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 03:31:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:27:51 +0900

    [PRISM] Add CLASS and END tracepoint events

commit 6748526edd97ef540c4eea0003a33e8279d25476
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 03:15:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 04:27:51 +0900

    [PRISM] Fix location of ensure iseqs

commit 0f742a33fb712e7b036472186bf1608bb431f0ab
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 02:39:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove trailing spaces

commit ed99f03a38aa8d78424b14994ae08ec569acdaf0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 02:29:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Consistent style in prism_compile.c

commit 457abb2c478ff06b4c77b1479512d17a8eabcbc8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 02:11:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove pm_line_node_t, consolidate all line number handling

commit 338d10f9df920ff701956d3c3f839d34916ad310
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:48:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Finish removing dummy_line_node usage in pm_compile_node

commit 895e777227ed65b888970a8825b557f2159f009a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:33:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node creation in pm_compile_node

commit 0cf00ca7aad0873827bf06d90f53152abd7b0d10
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:29:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove specialized macros that used dummy_line_node

commit b360b4ce3e9eb11251c0760d3e8daf37de661a3f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:25:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from get/set local instructions

commit cb5dbca82e02973a451fc1ca7a20b3156f36e3cb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:07:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from remaining nodes

commit 8bf368d183ff3f33b593a6d2d75756c929ac6451
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 01:04:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from ensure and flip flop nodes

commit cc248706dd8f7e086e54785db5c2e6904bc428a8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:59:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from false and else node

commit 829ca8c4e3fb17ebd255b9e4494c8f70e81d9a06
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:58:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from embedded nodes

commit ca5ad4dac73ccad768e52ad7b16d90fc77b701d2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:56:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from class nodes

commit 2e408d3077ebeb99ff29a0b23fcdcc11fdd7d8ce
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:54:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from case nodes

commit 2d523c27cff12bc9ed85ecc3197b4777da855b4a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:48:23 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from defined expressions

commit 3410387096e763b742674f8f0c53a5d095a31974
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:25:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from constant nodes

commit 3cc61dc9ba8804bf00e8c68a5162fabf4e2457e0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:15:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from class variable nodes

commit 116a332c3a4a26fb217f3c1b5fbf045aecbc55fc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:08:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from global variable nodes

commit bc5a520eca282f3f476e48e152c6268c053de89c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-05 00:01:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from index nodes

commit 6bec2a533380333e7b45da527f67b2055f825315
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:39:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from instance variable nodes

commit 5be0357847f16d629a73089f57873eaf34743ab6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:33:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from keyword hash and lambda nodes

commit 98823b50917086351051506ae8c034941a82e725
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:29:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from local variable nodes

commit 0782fc4a2ac9f6e16f6c42875864348bd56014dc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:24:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from match predicate node

commit 95ad2b0a62f5f9c498d8fbb78250f4f4aa6d2afd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:22:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from match required node

commit c9f80021e269d9a9127c3b669760943aef225b35
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:21:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Simplify match write node compilation

commit 69ec4990d8ed802da69046af7f6bf44581a585e8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:19:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage from module and match write node

commit 449384f33737edadeacd79872f21217288913130
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:11:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for multi write node

commit 5e8546e8a9565c1ddd628e396ed2d2fdc1515ad7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:10:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for next node

commit 24f9faf67c5e3931b200b4900f4914445652bdb7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:07:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for call operator write node

commit 4d347a0a55f35748a10e5e44550878c64a530537
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:05:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for call and/or write node

commit 91373bd64d04bf6f1f3910bc2d0efcbb03612ddf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 23:02:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for call nodes

commit eb3bad1a0f1031ac08c87568b91260693368c509
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 21:55:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for break nodes

commit ffd9402c8d8c8e05ef8186c0d88c60c013c98cf9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 21:44:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for block argument nodes

commit c15c611ea56097c1dd30e81cf0651d9acb96fd68
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 21:43:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for begin nodes

commit 59f931e4f74d9434870646f7699361464c4a35f0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 21:37:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage for PM_BACK_REFERENCE_READ_NODE

commit 6c1cf5232f257792e76aa37fae4f3d9a1ecf8153
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 21:32:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-05 03:14:55 +0900

    [PRISM] Remove dummy_line_node usage in pm_interpolated_node_compile

commit 58918788abd63901588e4aa1e39b5c057321c10a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-16 19:29:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-05 01:33:08 +0900

    [Bug #20342] Consider wrapped load in `main` methods

commit ef19234b1008508cb04048c815088b9359c9d2b6
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-04 04:46:30 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-04-04 23:00:57 +0900

    Merge rb_objspace_alloc and Init_heap.

    Co-Authored-By: Peter Zhu <peter@peterzhu.ca>

commit 3ac6a03b2e16da1df818227be02c5129c9804b14
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-03 23:31:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-04 21:48:14 +0900

    Revert "hijack SIGCHLD handler for internal use"

    This reverts commit 054a412d540e7ed2de63d68da753f585ea6616c3.
    SIGCHLD `waidpid`, `waitpid_lock` and related code, have been removed
    at ruby/ruby#7527.

commit cfd48adb2f31c697deed7adb404de959fb222436
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-04 14:52:34 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-04 19:13:03 +0900

    Remove unused function from `struct rb_parser_config_struct`

commit 184db1fd6ab04cff2721c1e634e6ff31519fcd28
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-04 18:22:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-04 18:54:54 +0900

    Update `ARGF.write` interface

commit 64b0f4303e3551ca044e29100ace7927607a07e3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-04 18:06:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-04 18:54:54 +0900

    Refine test_argf.rb

    - Make `make_tempfile` to take data to write, `binmode:` flag, and a
      block.
    - Use `make_tempfile` instead of `make_tempfile0`.
    - Use `File.binwrite`.

commit f5e387a30010fe68f8073a6eb5a5b80bb834cd72
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-29 16:18:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-04 18:29:16 +0900

    Separate SCRIPT_LINES__ from ast.c

    This patch suggests relocating the code dealing with `SCRIPT_LINES__` from ast.c to ruby_parser.c.

    ## Background

    - I guess `AbstractSyntaxTree.of` method used to use `SCRIPT_LINES__` internally for some reason before
    - However, now it appears `SCRIPT_LINES__` is no longer used meaningfully by the method
    - As evidence of this, (and as my patch shows,) removing the function call of `rb_script_lines_for()` from `ast_s_of()` does not affect the result of `test/ruby/test_ast.rb`

    Given the above, I think two possibilities can be considered:

    - (A) `AbstractSyntaxTree.of` has not needed `SCRIPT_LINES__` already (I pick this)
    - (B) We lack a test case of `AbstractSyntaxTree.of` that needs to use `SCRIPT_LINES__`

    ## Besides,

    The current implementation causes strange behavior:

    ```console
    ruby -e"SCRIPT_LINES__ = {__FILE__ => []}; puts RubyVM::AbstractSyntaxTree.of(->{ 1 + 2 }, keep_script_lines: true).script_lines"
    => `-e:1:in '<main>': undefined method 'script_lines' for nil (NoMethodError)`
    ```

    I think this is a bug because `AbstractSyntaxTree.of` is not supposed to return `nil` even in this case.
    This happens due to the ast.c's dependence on `SCRIPT_LINES__`.
    And at the end of the `ast_s_of()`, `node_find()` can not find the target child node obviously because it doesn't make sense to look for a corresponding node made from the parameter of `AbstractSyntaxTree.of` in the AST tree made from the value of `{__FILE__ => []}`

    ## Solution

    Since I think it's good enough `SCRIPT_LINES__` to be only referred by ruby.c, I chose the possibility "(A)" and wrote this patch which moves `rb_script_lines_for()` from ast.c to ruby_parser.c.

    So as the result:

    - `ast_s_of()` function no longer look up `SCRIPT_LINES__`
    - Even so, this patched code passes the existing tests
    - The strange behavior above no longer happens (I also added a test for it)

    Please correct me if I miss something🙏

commit 27622f3eb92287b3a22256609a05eba39d493923
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-04 18:17:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 18:20:13 +0900

    [DOC] AppVeyor is already retired

commit 8088c88d01a0c35ee4ce833fa8ab054d4cc6bc95
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-04 00:50:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 17:18:47 +0900

    [ruby/reline] Handle INT signal correctly, remove handle_cleared
    because clear(C-l) is not a signal
    (https://github.com/ruby/reline/pull/646)

    https://github.com/ruby/reline/commit/3debb0ae2f

commit 80e31663f399a1fe106fff0fffb9e222e37a037d
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-04 00:36:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 17:18:47 +0900

    [ruby/reline] Fix audoindent including "\v", escape "\v" for
    rendering
    (https://github.com/ruby/reline/pull/648)

    https://github.com/ruby/reline/commit/9c51c577ca

commit 6d82be499b468242214ad701f6f86c5c60c01662
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 14:10:23 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 14:10:53 +0900

    Prevent a warning

    ```
    [19889/25837] TestArgf#test_puts-e:1: warning: ARGF.class#write is outdated interface which accepts just one argument
     = 0.06 s
    ```
    https://rubyci.s3.amazonaws.com/debian12/ruby-master/log/20240404T033003Z.log.html.gz

commit 8aa8fce32021263c947a7a10daa24f07ede3e4a3
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-04-04 11:06:15 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 13:38:26 +0900

    Fix return-type warning in compile.c

    This patch surppresses the warning below:

    ```console
    compile.c:10314:1: warning: control reaches end of non-void function [-Wreturn-type]
    10314 | }
          | ^
    ```

commit 295f2a3305b4af3fd07f5dd0ee8cf6d9b2ce2ffc
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 13:30:27 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 13:30:27 +0900

    Prevent a warning: literal string will be frozen in the future

commit d910d64ed9d73622dd4d1d560f9dd81575ddf46a
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 13:29:11 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 13:29:41 +0900

    Prevent "method redefined" warnings

commit cb30c3d2b3385aaa2ac4f8fd2c0d674a15b300d8
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 13:24:09 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 13:29:41 +0900

    Prevent "assigned but unused variable" warnings

commit fc67091fc8dc4c7122499cd0d287cd34ff01bf30
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 13:23:52 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 13:29:41 +0900

    Prevent "ambiguous first argument" warnings

commit f057741c5dd6fdc25926c2f16fc6e936eeec5fd1
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-04 07:46:28 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-04 13:17:26 +0900

    NODE_LIT is not used anymore

commit ab65148c7866faf7783eea58ddacc41c6edef254
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-04 12:29:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 12:46:02 +0900

    [flori/json] Bump up 2.7.2

    https://github.com/flori/json/commit/036944acc6

commit 514b415d90cee7675d96d0a44af059a56d3ac235
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-04 11:36:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 12:46:02 +0900

    [flori/json] Warn to install ostruct if json couldn't load it

    https://github.com/flori/json/commit/fff285968d

commit 066bd28cff75b752b0af90dce933fa382dee0406
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-03 18:43:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 12:46:01 +0900

    [flori/json] Autoload GenericObject to avoid require ostruct warning in Ruby 3.4

    https://github.com/flori/json/commit/b507f9e404

commit 0930231361a72e4c45fde8865e29473fa8e76fce
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-29 18:41:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 11:30:02 +0900

    [rubygems/rubygems] Allow to use String keys some of configuration

    https://github.com/rubygems/rubygems/commit/ee0bef2786

commit 0be7133b7fd08c96e33e889bb034f90df445453d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-29 18:23:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-04 11:30:01 +0900

    [rubygems/rubygems] Re-order configuraiton keys

    https://github.com/rubygems/rubygems/commit/b2a88983db

commit 41e9d6641b1c4f2517d2d4f54ab9a5457aeca856
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-04-04 10:30:29 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-04-04 10:30:29 +0900

    Extend timeout of TestRequire#test_require_with_public_method_missing

    Launchable reported that this was the most "flaky" test. Perhaps the
    default timeout (10 seconds) is too tight for a test that uses
    `GC.stress = true`. I try to relax the limit.

commit 60567731051885acf38a3f91899f0d6d62d4898b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-03 19:28:55 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-04 08:44:10 +0900

    Move shareable_constant_value logic from parse.y to compile.c

commit 4ef99905a6dcb48799bd4ec46628ff8686c633e9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 04:42:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [PRISM] Enhance syntax error message extraction in test_literal_suffix btest

commit ced6aff20632402b9835c78b09a7b160abf93d9e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 04:39:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [PRISM] Mark constant path owning expressions as not popped

commit 6bbb3e31fb05a1d1a9ae56624887136f07a31b0d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 04:31:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Allow retry in rescue modifier

    https://github.com/ruby/prism/commit/debe19459a

commit 7e28d3c1e376a617210152fb2fe79397f135d2df
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 04:06:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [PRISM] Enable passing tests for invalid block exits

commit ffba484754bd5bed0f7c69646291fd99ed8959cc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 03:54:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [PRISM] Fix up syntax error message parsing in btests

commit e48fd40974e9e726b7782ce6d74e0954a6a5d73f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 03:46:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] No invalid block exits in eval

    https://github.com/ruby/prism/commit/85e045ce40

commit a64f1ab6883bd2e4fd3f23b1a57685daf1c3c989
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 01:33:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Fix up pm_node_list_grow

    https://github.com/ruby/prism/commit/7784365d3f

commit a33f19f78347d40f18d1811a3a2e87bba957dac3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 01:30:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Allow yields in default values in method definitions

    https://github.com/ruby/prism/commit/5bc4cc3413

commit bddd004ce9337edee5e865abb28445b0258e1652
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 00:52:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Further delineate block types

    https://github.com/ruby/prism/commit/750116e5dc

commit e19fccbfdb8171a333101d49ab7f86256b66fe90
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-04 00:15:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Delineate rescue/else/ensure for more accurate exits

    https://github.com/ruby/prism/commit/92868fad78

commit be48b733b61adbd9ab10f4560ca1daf1ca2d7dac
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 23:36:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Pass block exits up the tree

    https://github.com/ruby/prism/commit/168f72b9fe

commit 1fb11824f31472bda09812af5532b2d63c0f95a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 04:54:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Introduce PM_NODE_LIST_FOREACH to make it easier to iterate over node lists

    https://github.com/ruby/prism/commit/5d4da7c69c

commit 198d197aeb79566673db2440a3b90ff87ff279cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 04:24:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Allow block exits in defined? and fix modifier while/until

    https://github.com/ruby/prism/commit/2752f0b8df

commit 7ddf093588c3af1be27a24c232a626fa70f07cca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 03:44:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Allow block exits from while/until/for

    https://github.com/ruby/prism/commit/bc46306b9b

commit 664a5082cb7aa961f88e2b1e71917fc508599022
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 01:52:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Check for syntax errors using RubyVM

    https://github.com/ruby/prism/commit/9e200dd1c1

commit 1153bcde6b41c9024bc324bda814b06e1f9f33b9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 01:47:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Fix up errors test

    https://github.com/ruby/prism/commit/5f86742537

commit 8a18a600d6fa274b489ea0c53fd93fb9903fb4aa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 01:44:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Fix up location tests

    https://github.com/ruby/prism/commit/eeef9eb09e

commit e454cf22023c95e80689bb26ab1abd2775015fbf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 01:19:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Update fixtures to be all valid Ruby

    https://github.com/ruby/prism/commit/a0b978d25b

commit 7d9e5061aae276d1533bd0f9f6cdb09cad75881b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 00:11:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Correct errors for invalid retry

    https://github.com/ruby/prism/commit/96ca6e51fc

commit a83736c27d6f59ee0ea025d4cba877dbbc31503f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 00:02:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Log errors for invalid jumps

    https://github.com/ruby/prism/commit/892d0f9310

commit 447d3cca01816655c69c7d4a84537178e567e9a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 00:55:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Update unparser tests

    https://github.com/ruby/prism/commit/b70f760b28

commit 79c17250961d2f2d545a6d1c3faa59df0d31ce8b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 00:54:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Update seattlerb/ruby_parser tests

    https://github.com/ruby/prism/commit/cd823d5026

commit 6cd3521519fe2ec606333a1ae42d193409eee2de
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-03 00:51:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Update whitequark/parser tests

    https://github.com/ruby/prism/commit/b1492ec87c

commit 08c841ff63d02a839a858594e1042b6a77bcd4d4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 21:26:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Use tilde for extended error lines

    https://github.com/ruby/prism/commit/daaa386a4f

commit 3147404d64d076b1ee361323f1e3c457d0fbfe62
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 04:44:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-04 06:34:12 +0900

    [ruby/prism] Match circular parameter error message

    https://github.com/ruby/prism/commit/c0381b10e4

commit 571bfc7402bb05becb00a7ea1b8971ac6ad92d8a
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-04-04 06:28:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-04 06:28:01 +0900

    YJIT: update code optimization tips in yjit.md (#10445)

    * YJIT: update code optimization tips in yjit.md

    * Function => method

commit c7cda1ae9ba39466f8c14820d9ffc626503c82eb
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-04 04:49:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-04 04:49:36 +0900

    YJIT: Let sp_opnd take the number of slots (#10442)

commit f24bf2f9ae4545c291a0182413104d897e1d0cb0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:34:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-04 03:06:20 +0900

    Do not rely on ripper for magic comment test

commit 354e15836719e110cdf02e6a71f5d76f6bf39fbd
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-04 02:38:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-04 02:38:17 +0900

    YJIT: Suppress warn(static_mut_refs) (#10440)

commit 8388604a4c4028ac96e7af23dd5bf5928e4272e0
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-04-04 02:38:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-04 02:38:00 +0900

    Revert "Migrate auto_request_review back to CODEOWNERS" (#10441)

    Revert "Migrate auto_request_review back to CODEOWNERS (#10133)"

    This reverts commit c5b568bab6a1401df385331e4b6ed6209fe4071d.

commit f928e60d41314a9aad2d9629114bb3ae57f51096
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-03 23:14:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-03 23:14:52 +0900

    Check if a fatal signal is from kernel

    On Linux, `siginfo_t` uses a union for each `si_code`, and the field
    corresponding to `si_pid` does not belong to the `_sigfault` field for
    SIGSEGV.  It actually overlaps the `si_addr` field, which is usually
    non-zero on stack overflow.

    https://github.com/ruby/ruby/pull/10201#issuecomment-2034723244

commit 4960a598d6bc42adcfd488c7f455b2defcdc8161
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-02 04:46:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-03 22:47:54 +0900

    Reapply "Mark iseq structs with rb_gc_mark_movable"

    This reverts commit 16c18eafb579cf2263c7e0057c4c81358fe62075.

commit 25e28559c14138318ff3097baececa16e13252b0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 16:08:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-03 18:07:31 +0900

    Ignore warnings on the bundled gems repo

commit ce395d7e90529ddf970bf36106e636831c9f1650
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-03 16:38:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-03 16:38:52 +0900

    Reset `$.` before matching

    This is a global variable and may happen to be set to 4 elsewhere.

    http://ci.rvm.jp/logfiles/brlog.trunk.20240403-054356#L1707
    ```
    The if expression with a boolean range ('flip-flop' operator) warns when Integer literals are used instead of predicates FAILED
    Expected [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] == []
    to be truthy but was false
    ```

commit 56ecd8038ac406a62b3a77b59b2a95ac3f9bd9b8
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-25 13:42:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-03 16:17:30 +0900

    Launchable: Add lineNumber field

commit b664590c4d7bb6cd4f48c61c3d8a480cd887672c
  Author:     Adam Daniels <adam@mediadrive.ca>
  AuthorDate: 2024-04-02 23:07:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-03 09:55:24 +0900

    [DOC] Fix examples for `u` packing directive

    The directive is a lowercase `u` instead of an uppercase `U`. Adjusted
    input and output to match.

    Reported by Leah Neukirchen.

commit 24a740796050b72aa2d35339ba2a317d4eda7b75
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-04-02 03:52:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-03 02:26:24 +0900

    Remove with_gc functions in darray

    We can wrap in DURING_GC_COULD_MALLOC_REGION instead.

commit 3c4de946c9a782c3d993cfa9886f09dba46ece1d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-04-03 01:29:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-03 01:29:14 +0900

    YJIT: A64: Use ADDS/SUBS/CMP (immediate) when possible (#10402)

    * YJIT: A64: Use ADDS/SUBS/CMP (immediate) when possible

    We were loading 1 into a register and then doing ADDS/SUBS previously.
    That was particularly bad since those come up in fixnum operations.

    ```diff
       # integer left shift with rhs=1
    -  mov x11, #1
    -  subs x11, x1, x11
    +  subs x11, x1, #1
       lsl x12, x11, #1
       asr x13, x12, #1
       cmp x13, x11
    -  b.ne #0x106ab60f8
    -  mov x11, #1
    -  adds x12, x12, x11
    +  b.ne #0x10903a0f8
    +  adds x12, x12, #1
       mov x1, x12
    ```

    Note that it's fine to cast between i64 and u64 since the bit pattern is
    preserved, and the add/sub themselves don't care about the signedness of
    the operands.

    CMP is just another mnemonic for SUBS.

    * YJIT: A64: Split asm.mul() with immediates properly

    There is in fact no MUL on A64 that takes an immediate, so this
    instruction was using the wrong split method. No current usages of this
    form in YJIT.

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

commit 94f7098d1cafc0a7abd0596b8ecb02cdf1acc3f2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 23:26:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-03 00:11:53 +0900

    [PRISM] Fix ISEQ load

commit 85e5a99e3689861723af8c46c85db1a3273fcd60
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 23:28:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-02 23:28:40 +0900

    [PRISM] Document more reasons for failures

commit 3d1d1435c1556f8a86ed6d483b586b844e39f896
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-25 13:20:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-02 21:55:32 +0900

    Launchable: Refactor the logic of JsonStreamWriter

commit 5903fdf43eb208f9087eea4873407cc93d3f92a3
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-04-02 21:53:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-02 21:53:56 +0900

    [DOC] Fix wheather -> whether typos in configure.

commit 6ba73783945bd8a67df38aed54362b3cdfd2ded4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 04:31:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-02 21:21:10 +0900

    [PRISM] Enable more passing parsing tests

commit e816ab0b0ce97a49cc1a642c3fb6f78c9e838f97
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-01 14:33:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-02 19:37:27 +0900

    Remove `rb_imemo_tmpbuf_t` from parser

    No parser semantic value types are `VALUE` then no need to
    use imemo for managing semantic value stack anymore.

commit e651395210b39123b6c404e455d9ff1f95d919bb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-02 17:28:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-02 18:34:10 +0900

    Warn pstore for Ruby 3.5

commit 1e5949bd60464ed8767fcc8aabc79eeea5727daa
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-04-01 23:52:57 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-04-02 17:50:30 +0900

    Update to ruby/spec@573cf97

commit 8b55aaa85ca3b5333e6659f0f0b1eabdd0b9491b
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-02-20 16:03:11 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-04-02 14:24:54 +0900

    [Feature #20345] Add `--target-rbconfig` option to mkmf

    Introduce a new mkmf option `--target-rbconfig` to specify the RbConfig
    file for the deployment target platform. This option is useful for
    cross-compiling Ruby extensions without faking the global top-level
    `RbConfig` constant.

commit a65d49ce77af76b29ee17ec64c15b7e981818c10
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-02 10:48:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-02 11:22:14 +0900

    Use Rake 13.2.0

commit 94f56098b12552c447bda764c7e1bdac7e84efb3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-02 10:13:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-02 11:22:14 +0900

    Use fixed version of rake with ostruct

commit 4db7c8a24ad66e15ef6bce053c4d5d90b84cb855
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-02 10:12:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-02 11:22:14 +0900

    Warn ostruct for Ruby 3.5

commit 799e854897856e431c03a5122252358e2c57aff2
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-03-24 08:39:27 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-02 08:26:58 +0900

    [Feature #20331] Simplify parser warnings for hash keys duplication and when clause duplication

    This commit simplifies warnings for hash keys duplication and when clause duplication,
    based on the discussion of https://bugs.ruby-lang.org/issues/20331.
    Warnings are reported only when strings are same to ohters.

commit 8066e3ea6e9462f510e5d0da887be94b18cce50b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-04-01 15:46:58 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-02 07:26:35 +0900

    Remove VALUE from `struct rb_strterm_struct`

    In the past, it was imemo. However a075c55 changed it.
    Therefore no need to use `VALUE` for the first field.

commit b25282e61844334c70def2d678c19c6105646ab3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 04:28:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:39:33 +0900

    [ruby/prism] Replace . with decimal point for strtod

    https://github.com/ruby/prism/commit/578a4f983e

commit b7597dac932c6fa3add9146c82af7a47c9059dfb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 04:10:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:06 +0900

    [ruby/prism] Match more error messages

    https://github.com/ruby/prism/commit/0cc3a9d63a

commit d6c1cc5532e5d31e5f5abe171fd759e3f4a099f7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 04:03:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:05 +0900

    [ruby/prism] Fix up error messages for empty global variable

    https://github.com/ruby/prism/commit/fa7559d40b

commit d898f00fe16f598474aeea06d6000ac10740236a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:59:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:05 +0900

    [ruby/prism] Match error messages for invalid instance/class variables

    https://github.com/ruby/prism/commit/82fd0599ed

commit 67bd5b33f906e3eec50195b8180c3f474d002bd1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:48:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:04 +0900

    [ruby/prism] Match error message for invalid class/module name

    https://github.com/ruby/prism/commit/f00ae59070

commit 05904c3b729e12eaf19187e00c6be85e7110ec6b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:46:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:04 +0900

    [ruby/prism] Match error message for invalid class/module definition

    https://github.com/ruby/prism/commit/1879a9d22e

commit a885d597d514693c10b12cbacbd7cc9d8ecf4986
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:44:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:04 +0900

    [ruby/prism] Match error message for multiple blocks given

    https://github.com/ruby/prism/commit/6b594d9d42

commit fee70c1ed71dd0db4ce9a2226dc5f4845e0a0c48
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:41:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:03 +0900

    [ruby/prism] Add better error messages for invalid block-locals

    https://github.com/ruby/prism/commit/27ad452436

commit 1e737ec97760fa7dd5436e9e41fefb5f71566344
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:36:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 04:28:03 +0900

    [ruby/prism] Fix up error message for invalid numbered reference alias

    https://github.com/ruby/prism/commit/74bff9e834

commit cc6668c65620a117b7af891beb1bee09d9f460fb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 03:22:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-04-02 04:08:50 +0900

    [PRISM] Enable passing pattern matching tests

commit a9658b64094db1371550a5b8ca47308cdd60db78
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 02:57:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 03:13:45 +0900

    [ruby/prism] Do not track locals starting with _

    https://github.com/ruby/prism/commit/0d5a6d936a

commit ec879e7eac89dd7ef4f67eb737b3a633a96e280f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 02:48:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 03:13:45 +0900

    [ruby/prism] Use RubyVM::InstructionSequence instead of Ripper for validity check

    https://github.com/ruby/prism/commit/ddec1c163d

commit c2735c48a1465b88cf5a8c67e5d08ec521230828
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 02:33:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 03:13:45 +0900

    [ruby/prism] Track duplicate hash keys for pattern matching

    https://github.com/ruby/prism/commit/71ea82f299

commit f1e385aad978573c04e3eafb24e67ce253e1d302
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-04-02 02:08:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 03:13:44 +0900

    [ruby/prism] Track captures in pattern matching for duplicates

    https://github.com/ruby/prism/commit/aa2182f064

commit a531cac335653c6df5ba73932321d6227287aff6
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-02 03:12:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 03:12:27 +0900

    [ruby/reline] Refactor completion
    (https://github.com/ruby/reline/pull/647)

    * Refactor completion: split autocompletion and tabcompletion logic and state

    * Move completion candidate listup logic from dialog proc to LineEditor

    https://github.com/ruby/reline/commit/c3c09ac9c2

commit 508bddc86516ed798365594b70d57e9ec5713e8b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-04-02 01:25:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 01:25:26 +0900

    [ruby/reline] Align completion menu items
    (https://github.com/ruby/reline/pull/613)

    https://github.com/ruby/reline/commit/a622704f62

commit e2a1d0b53dddc29b03a535286763fde51d4e089d
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 04:59:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:28 +0900

    [rubygems/rubygems] Improve error message when strict resolution filters out everything

    https://github.com/rubygems/rubygems/commit/1ea44b3749

commit f80bb3837c2ba2d46d8906c5f4bdc65f475c76db
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 03:19:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:27 +0900

    [rubygems/rubygems] Keep unfiltered versions separately

    https://github.com/rubygems/rubygems/commit/7b5cc51a96

commit bfdbdf7aaeff3c987c3a09cc550358a321d8df32
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 05:20:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:27 +0900

    [rubygems/rubygems] No need to check for root package every time

    https://github.com/rubygems/rubygems/commit/6ca192649f

commit b6ac37c91a1bcbf51eb7632cabafa037073be764
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 02:41:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:26 +0900

    [rubygems/rubygems] No need for any version prioritization when building errors

    We just need to filter versions belonging to the range, but don't need
    anything else.

    https://github.com/rubygems/rubygems/commit/8355a225d7

commit caaafbc35e05b11b597d297e67142e27eab9a012
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 02:19:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:26 +0900

    [rubygems/rubygems] Make it look more like BasicPackageSource

    https://github.com/rubygems/rubygems/commit/bb5727934c

commit d69ef1cc52b34d3242376ea5b4893b1b55e71517
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 01:55:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:25 +0900

    [rubygems/rubygems] Let GemVersionPromoter sort in preferred order directly

    So that we don't need to reverse the Array.

    https://github.com/rubygems/rubygems/commit/aeea5e2e00

commit 2b82b7d192d26b1153186187dbe3bef84de7ed3f
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 01:27:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:25 +0900

    [rubygems/rubygems] Update docs

    https://github.com/rubygems/rubygems/commit/ac24a68486

commit 0a1e36964dfa634bfd3088da5362093b89103a33
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 01:20:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:25 +0900

    [rubygems/rubygems] Remove unnecessary filtering

    We do that when first caching versions, and then it's no longer
    necessary.

    https://github.com/rubygems/rubygems/commit/ede15847db

commit acbd91e47ff36216459bbba4368b04e6a3079b2a
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 00:55:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:24 +0900

    [rubygems/rubygems] No need to sort twice when filling versions

    https://github.com/rubygems/rubygems/commit/13294528c4

commit d342937e01935ea543cc1f6ac46022715c40db7d
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 00:02:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:24 +0900

    [rubygems/rubygems] Rename method for clarity

    And also so that it matches the method used by main PubGrub sample
    resolver class.

    https://github.com/rubygems/rubygems/commit/0e612361b8

commit 3ca0683529a540bf651d5dc94289dc1db79c3338
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-22 00:01:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-02 00:03:23 +0900

    [rubygems/rubygems] Fix typo

    https://github.com/rubygems/rubygems/commit/0ddf25e5aa

commit e26ac3ab7106ce6ca5911e34cbd099841c8d6da1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-29 04:30:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-04-01 23:26:16 +0900

    Test finalizer is ran in bootstraptest

commit 1232975398a96af3070463292ec0c01e09a06c50
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2024-04-01 12:10:34 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2024-04-01 16:55:02 +0900

    add CI matrix for clang-19

commit b50c4dc30a1e2db18e62b4dab3d8faabc62e29e3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-01 16:51:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-01 16:51:28 +0900

    Rename the variable

    It is not an empty gzipped data, a gzipped empty dump data.

commit 70645a5acdaa6028a897b828ceacd57efb9cf257
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-01 16:03:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-04-01 16:03:57 +0900

    Write gzipped data as binary

    Be careful when writing binary data on Windows.

    ```
    $ ruby -e 's = Gem::Util.gzip("\x04\x08[\x05".b); p s.index("\n"); puts IO::Buffer.for(s).hexdump'
    6
    0x00000000  1f 8b 08 00 6c 3d 0a 66 00 03 63 e1 88 66 05 00 ....l=.f..c..f..
    0x00000010  e3 69 10 89 04 00 00 00                         .i......
    ```

commit acfef7c4f06696bf5f6d0ade06ddc32683a2f7bb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-04-01 13:16:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-04-01 15:32:31 +0900

    Use dummy data generated by RubyGems

commit 0774232bf3c1eab0f6a414578988b051c9dda3cf
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-03-27 00:47:36 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-04-01 12:05:16 +0900

    Remove unnecessary macros and functions for Universal Parser

commit e07178d52613cb7090e6c5d8e8e57e8e1f938527
  Author:     Joshua Young <djry1999@gmail.com>
  AuthorDate: 2024-04-01 10:06:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-04-01 10:06:10 +0900

    [DOC] Fix scope resolution operator typo in `Process#wait` docs

commit 80bda107c84187d90eeff9497d465e086364b420
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-04-01 08:50:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-04-01 08:57:00 +0900

    [ruby/resolv] Add an explicit with_udp_and_tcp helper to test_dns.rb

    This helper tries to bind UDP and TCP sockets to the same port, by
    retrying the bind if the randomly-assinged UDP port is already taken in
    TCP. This fixes a flaky test.

    [Bug #20403]

    https://github.com/ruby/resolv/commit/3d135f99d9

commit e02a06fbf25001f0adc56e2e798b25d16ba84f54
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-03-31 18:41:22 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-31 19:12:31 +0900

    Document how to run the tests under ASAN now that they pass!

commit 9d0a5148ae062a0481a4a18fbeb9cfd01dc10428
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-03-30 10:58:01 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-31 18:33:38 +0900

    Add missing RB_GC_GUARDs related to DATA_PTR

    I discovered the problem in `compile.c` from a failing
    TestIseqLoad#test_stressful_roundtrip test with ASAN enabled. The other
    two changes in array.c and string.c I found by auditing similar usages
    of DATA_PTR in the codebase.

    [Bug #20402]

commit 174b67169975160aa682d9b2c6ac5ccde2652105
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-03-31 10:07:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-31 11:37:13 +0900

    [rubygems/rubygems] [commands/rebuild] Remove unused DATE_FORMAT constant.

    https://github.com/rubygems/rubygems/commit/3c4e3fadc9

commit 9579cf45d59f313e70a6a8dab2e9173743513e91
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-03-31 09:29:09 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-03-31 11:24:36 +0900

    If we have a shape cache we should use it

    If there is a shape cache, then we should believe the results instead of
    doing a linear search for non-existent items

    This fixes a case where checking the index of an undefined ivar would
    result in an O(n) search. Now we get O(log n).

    Benchmark is as follows:

    ```ruby
    N = ARGV[0].to_i

    class ManyIVs
      class_eval "def initialize;" +
        N.times.map { "@a#{_1} = #{_1}" }.join("\n") +
        "end"

      def check
        defined?(@not)
      end
    end

    class Subclass < ManyIVs
      def initialize
        super
        @foo = 123
      end
    end

    def t
      s = Process.clock_gettime Process::CLOCK_MONOTONIC
      yield
      Process.clock_gettime(Process::CLOCK_MONOTONIC) - s
    end

    def test
      a = ManyIVs.new
      b = Subclass.new
      t { 200000.times { a.check; b.check } }
    end

    puts "#{N},#{test}"
    ```

    On the master branch:

    ```
    $ for i in (seq 1 3 32); ./miniruby test.rb $i; end
    1,0.015619999991031364
    4,0.013061000005109236
    7,0.013365999999223277
    10,0.015474999992875382
    13,0.017674999980954453
    16,0.020055999979376793
    19,0.02260500000556931
    22,0.0254080000158865
    25,0.02806599999894388
    28,0.031244999991031364
    31,0.034568000002764165
    ```

    On this branch:

    ```
    $ for i in (seq 1 3 32); ./miniruby test.rb $i; end
    1,0.015848999988520518
    4,0.013225000002421439
    7,0.013049000001046807
    10,0.010697999998228624
    13,0.010902000009082258
    16,0.011448000004747882
    19,0.01151199999731034
    22,0.011539999977685511
    25,0.01173300002119504
    28,0.011900000012246892
    31,0.012278999987756833
    ```

commit 376ae22235dd50fee32ab7660c17137b7f3a245e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-30 18:34:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-31 00:54:38 +0900

    Manage required baseruby version in one place

    Add a Ruby script mode to `tool/missing-baseruby.bat` that checks if
    `RUBY_VERSION` meets the required version.  This will enable similar
    checks on mswin as well.

commit f697d3242feeb18dae3b9f5e9addebb11e5442ff
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-30 18:34:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-30 18:34:45 +0900

    Manage required baseruby version in one place

commit a6d8837d2b1c0f71a397804a0f7ecbc27bc687ea
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-03-30 15:58:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-30 15:58:50 +0900

    Update bundled gems list as of 2024-03-29

commit cdb8d208c919bbc72b3b07d24c118d3a4af95d11
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-30 07:25:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-30 08:32:23 +0900

    [PRISM] Fix error message for duplicate parameter name

commit d7d59ea172384cac5eae63b39b61c3f09c1f43e3
  Author:     Alex Robbin <alex.robbin@huntclub.com>
  AuthorDate: 2024-03-30 01:23:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-30 04:27:28 +0900

    [rubygems/rubygems] add test case to ensure updating with multiple sources + caching maintains the right lockfile

    https://github.com/rubygems/rubygems/commit/65839757e6

commit f57c7fef6b260ca7d04458efd2f9e9fd784c9d89
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-30 00:16:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-30 01:28:54 +0900

    [PRISM] Have RubyVM::InstructionSequence.compile respect --parser=prism

commit 729a39685b68a53a9f91ca972e6c7c393aed1b52
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-30 00:33:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-30 00:44:02 +0900

    [ruby/prism] Fix calloc argument order

    https://github.com/ruby/prism/commit/9947ab13c0

commit 718c7d4a378f41695a634adc87be30b1ab05a27d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-30 00:30:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-30 00:43:55 +0900

    [ruby/prism] Handle NULL byte terminators for strings, regexps, and lists

    https://github.com/ruby/prism/commit/79a75258a4

commit 8191735b73eac4486eebac6530bd92080ee23b9a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 03:15:26 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 21:51:04 +0900

    [PRISM] Fix BEGIN{} execution order

commit 38331c8981cd692669392f3d02b09e15b8f892b1
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-03-01 08:47:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:41 +0900

    [rubygems/rubygems] [gemspec_helpers] Fix Rubocop warning.

    https://github.com/rubygems/rubygems/commit/4ebf6ee5ac

commit d19744fbd6e8ede579eb73109e6b2ec936a6ab43
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-03-01 08:38:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:40 +0900

    [rubygems/rubygems] [build, rebuild] Split common find_gemspec() out to GemspecHelpers.

    https://github.com/rubygems/rubygems/commit/2f80a595c4

commit d916dbcb849b816b15717c64ea0c0ce756c15fb5
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-02-28 09:48:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:40 +0900

    [rubygems/rubygems] Improve formatting of "gem rebuild --help" output.

    https://github.com/rubygems/rubygems/commit/701550f9dd

commit 54d90e1355180587bf7dda8f56d5d59600a7da23
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-02-28 09:38:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:39 +0900

    [rubygems/rubygems] [rebuild] If --diff is not passed and a rebuild fails, suggest passing --diff.

    https://github.com/rubygems/rubygems/commit/7caadd182c

commit dfe83df03e1a9a056070ef37999f150bcf5a6fc0
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-02-01 03:07:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:39 +0900

    [rubygems/rubygems] [rebuild_command] Bail early if the RubyGems version doesn't match.

    https://github.com/rubygems/rubygems/commit/a691170dc7

commit 88d7be46b5be03a77686f507ec3e8d11a9dafe60
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-02-01 02:34:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:39 +0900

    [rubygems/rubygems] [rebuild_command] Use Gem.* helpers.

    https://github.com/rubygems/rubygems/commit/8644ce7193

commit fe096f64e881cd3426e766eb999740ed0fbfa4ba
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-01-31 13:18:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:38 +0900

    [rubygems/rubygems] [rebuild_command] Clean up help text.

    https://github.com/rubygems/rubygems/commit/4446389f2e

commit 54e0b8073b1236689ac0a2506b62b8b80535cf73
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-01-31 13:12:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:38 +0900

    [rubygems/rubygems] [rebuild_command] Use temporary directory instead of the working directory.

    https://github.com/rubygems/rubygems/commit/f2e4e5b56f

commit a28087affc5cef24376643507f7cb17c5f9c0110
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-01-31 12:05:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:38 +0900

    [rubygems/rubygems] [rebuild_command] Add --diff flag to try using diffoscope.

    https://github.com/rubygems/rubygems/commit/3e9545193a

commit cd12dfd38888cc3d3f4696146d154da15412bc93
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-01-31 08:31:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:37 +0900

    [rubygems/rubygems] [rebuild_command] Avoid leaking files.

    https://github.com/rubygems/rubygems/commit/3b88553d0d

commit e5def27fbfaca4f08ff3a9bcf4c27742371a1da9
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2021-09-12 06:15:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 17:03:37 +0900

    [rubygems/rubygems] Add "gem rebuild" command.

    https://github.com/rubygems/rubygems/commit/6d661573f0

commit 02d40b6c171db2e6ae0c3f259b470c873f746d70
  Author:     Daisuke Fujimura (fd0) <booleanlabel@gmail.com>
  AuthorDate: 2023-12-26 10:27:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-29 08:13:25 +0900

    Use ubf list on cygwin

commit f3c35749feb559db5aa3597a1c91a30c2550e85c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-29 04:46:08 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-03-29 06:41:01 +0900

    YJIT: Optimize putobject+opt_ltlt for integers

    In `jit_rb_int_lshift()`, we guard against the right hand side changing
    since we want to avoid generating variable length shifts. When control
    reaches a `putobject` and `opt_ltlt` pair, though, we know that the right
    hand side never changes.

    This commit detects this situation and substitutes an implementation
    that does not guard against the right hand side changing, saving that
    work.

    Deleted some `putobject` Rust tests since they aren't that valuable and
    cause linking issues.

    Nice boost to `optcarrot` and `protoboeuf`:

    ```
    ----------  ------------------
    bench       yjit-pre/yjit-post
    optcarrot   1.09
    protoboeuf  1.12
    ----------  ------------------
    ```

commit 817eecf685cf2408ff468ba9c3b814e3c6389ce7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 06:35:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 06:35:54 +0900

    [PRISM] Enable passing regexp test

commit a8ec347ca2511bec811908e70923f96b4ddcda21
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 04:48:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 05:39:03 +0900

    [ruby/prism] Allow writing to keywords with named captures if they are already locals

    https://github.com/ruby/prism/commit/418318e1c8

commit 8780059c38319aa91452e726ca428ca1610e2d88
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 04:16:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 04:30:38 +0900

    [ruby/prism] Reject invalid capture groups (keywords)

    https://github.com/ruby/prism/commit/bb78d83e88

commit bb3cbdfe2fcbfc2b6c7ee8699d35fde838615c26
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-03-29 04:21:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-29 04:21:09 +0900

    YJIT: add iseq_alloc_count to stats (#10398)

    * YJIT: add iseq_alloc_count to stats

    * Remove an empty line

    ---------

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

commit a8f902ea8ef4051e0dd761bbb220fd721550a4ff
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 03:43:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 04:17:29 +0900

    [PRISM] Add debug info for frozen strings

commit 3e9c6842363303d01770413a3f8c28adc1d43848
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 01:28:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 02:02:06 +0900

    [PRISM] Allow space before encoding comment

commit 86e0d83a32508f2aa42ec301238e0892caf980c0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-29 00:05:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 01:04:35 +0900

    [PRISM] Simplify raising load errors

commit d583616f32795de61ecd4efd60346c278873da7f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 23:47:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 01:04:35 +0900

    [ruby/prism] Ensure deserialization works with errors+warnings>256

    https://github.com/ruby/prism/commit/f540e830b5

commit 35ff302893dfb1efd03ea17e76b9a09e2d3377a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 23:30:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 01:04:35 +0900

    [ruby/prism] Various cleanup with new -x option

    https://github.com/ruby/prism/commit/020756fb11

commit f7c5e11d894c6c6a965a9fa98ff9519635b6db2b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 23:07:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 01:04:35 +0900

    [PRISM] Use new -x prism API

commit fcc06fa82ab6f3916d8d9202c47db4fae48137dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 22:51:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-29 01:04:35 +0900

    [ruby/prism] CLI -x flag

    https://github.com/ruby/prism/commit/2068e3c30a

commit 97b2cc34359968459a6eba2ac166f3650adf47be
  Author:     Jake Zimmerman <zimmerman.jake@gmail.com>
  AuthorDate: 2024-03-26 07:53:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-29 00:54:33 +0900

    Allow FormatError to take either String or Gem for source

    Most of the calls to `FormatError.new` pass `@gem` for the second argument, which has a `path` method.

    But in one case—on package.rb:691 in `verify_gz`, the `source` argument is a `String`.

    So if there's ever a GZip decode error when attempting to read the contents of the `data.tar.gz` file, instead of reporting the underlying GZip error (which might be something like "unexpected end of file"), we would report instead a NoMethodError coming from package.rb

    ```
    Exception while verifying sorbet-0.5.11301.gem
    ERROR:  While executing gem ... (NoMethodError)
        undefined method `path' for "data.tar.gz":String

            @path = source.path
                          ^^^^^
    ```

    There are two ways to fix this:

    1. Make `FormatError#initialize` aware of the fact that `source` might sometimes be a `String`
    2. Make the call to `FormatError.new` in `verify_gz` pass `@gem` instead of `entry.full_name`.

    I've chosen 1 because I think it's more useful to see "unexpected end of file in data.tar.gz" instead of "unexpected end of file in sorbet-0.5.11301.gem." The end of file **is actually** in data.tar.gz, not in the gem file itself, which was decoded successfully.

commit fa0a62413ab9bdf72855a6614835174f50f29474
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-28 00:16:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-29 00:54:16 +0900

    Don't check for dynamic symbol when reference updating

    All symbols in the GC are dynamic symbols, so we don't need to check it.

commit 7055dcf9156e5951b0539577379356f02356ea05
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-03-28 23:12:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-28 23:48:20 +0900

    [ruby/prism] Improve description for InterpolatedStringNodeFlags

    https://github.com/ruby/prism/commit/caa576d63f

commit 4fa8fefd9ca298096d4d3a52a29542d5e6d045d6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 23:19:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 23:19:39 +0900

    Suppress warning at literal string

commit 2ab9fb1c2e659f1f819ed63796171b2129255185
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 22:28:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 22:28:37 +0900

    [Bug #20398] Terminate token buffer at invalid octal number

commit 7630a89a4bf352e1310b5323e3e2ee976eecddca
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-28 09:45:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-28 11:44:45 +0900

    Use www.rfc-editor.org for RFC text.

    We use the following site for that now:

    * https://tools.ietf.org/ or http
    * https://datatracker.ietf.org or http

    Today, IETF said the official site of RFC is www.rfc-editor.org.

    FYI: https://authors.ietf.org/en/references-in-rfcxml

    I replaced them to www.rfc-editor.org.

commit 67bdb7aabaef106ee377dd7757365db1ce46d531
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 11:18:31 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 11:18:31 +0900

    [DOC] Use `rdoc-ref:@` shorthands for `rdoc-label:` tags

commit 7293cef0a84026ff53c37926839b5bc0a154bf57
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 10:55:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 10:55:19 +0900

    [DOC] molinillo has been moved

commit 84236132760fbc09c511b17fd1a49c6320f95b74
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-26 12:47:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 10:15:27 +0900

    Launchable: Configure OS correctly in macos.yaml

commit dc9d2455b6bddb2bea21fe983de7be6b78924c1b
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-03-12 16:24:07 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-28 07:49:10 +0900

    Add a missing asan_unpoisoning_p in gc_set_candidate_object_i

    It walks the heap, and checks for T_NONE and T_ZOMBIE objects, so it
    needs to unpoison these slots before accessing them when ASAN is
    enabled.

commit 75234beb2456ce0a1f059e06bc5125cd18b683ab
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-03-12 18:55:44 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-28 07:48:53 +0900

    Make TestParallel#test_retry_workers consider RUBY_TEST_TIMEOUT_SCALE

    This test currently fails if RUBY_TEST_TIMEOUT_SCALE is set, because the
    worker timeout is scaled out but the duration of the sleep does not;
    thus, the test-test-case does not timeout when it should.

commit 7bdd742c0241435001efe641332b2088536bd074
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-03-12 16:24:56 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-28 07:48:37 +0900

    Set ASAN_OPTIONS=disable_coredump=0 for test_execopts_rlimit test

    By default, ASAN sets RLIMIT_CORE to zero, "to avoid dumping a 16T+ core
    file" on 64 bit systems. These tests are just asserting on the expected
    value of RLIMIT_CORE, not actually dumping core files, so it's fine to
    disable that behaviour of ASAN for this test.

commit 8c7b9bd0eb15356ac47407f7692869ad147c7954
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-17 15:50:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-28 07:48:16 +0900

    Disable ASAN handle_segv in test_rubyoptions.rb

    ASAN registers a sigsegv handler and causes extra output to be emitted
    that these tests are not expecting.

commit 7e12b03c5a179c1c738fec5ac1ad06dfdc879b1b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 04:04:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 06:19:24 +0900

    [PRISM] Set path on syntax error

commit 010286c767df393740872c8331408b42875ba64a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 03:59:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 03:59:03 +0900

    [PRISM] Enable passing test for hash duplicated keys

commit 9b97f1f3e8c50742c25de46469389bb06ca873a7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 03:50:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-28 03:57:35 +0900

    [ruby/prism] Compare duplicates keys/whens for __FILE__

    https://github.com/ruby/prism/commit/85263ade63

commit 9f9c0425c314ea814c60035ddbcd41d3404a0366
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 03:31:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 03:31:11 +0900

    [PRISM] Turn on passing test

commit 4361727d28da2e3e58cc1e52c20cf86dd9cd28c9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 03:20:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-28 03:28:58 +0900

    [ruby/prism] Warn on static literal arrays in predicate writes

    https://github.com/ruby/prism/commit/faadd05693

commit 39606f36e3c82c38cc17c9179d4f6e8f6c51adee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 02:46:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 03:19:58 +0900

    [PRISM] Implicitly change encoding when a UTF-8 BOM is found

commit ab2ee308aa5f26bd28b6d9de4dc3a24483ff333a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 02:40:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 03:19:58 +0900

    [PRISM] Match style for invalid encoding error

commit eb995a64108d18fb809f02fa90e085f843ae4309
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 02:37:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 03:19:58 +0900

    [PRISM] Include file and line in error message

commit 51e6becd391eac03fd3842e1db9b6907999d64ba
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 02:30:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-28 02:41:38 +0900

    [ruby/stringio] Extract `readonly_string_p`

    https://github.com/ruby/stringio/commit/0da5b725c8

commit 0f5ab4ad5289d6385b74e800a73de005a48737b6
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-03-28 01:57:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 02:27:19 +0900

    [ruby/stringio] Eagerly defrost chilled strings

    [Feature #20390]

    https://github.com/ruby/stringio/commit/17ee957f34

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

commit db5686a8ba7f6157deb2b49f3e16196f1506fa83
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-28 02:27:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-28 02:27:08 +0900

    Read as binary regardless locale

commit a69f0047cb489c136001937442c1d2ffd8ea1dd7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 01:23:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 02:03:11 +0900

    [PRISM] Use new error formatting API

commit 9b816e674a4ecadde047212827e3bbe87cd61345
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-28 01:04:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-28 02:03:11 +0900

    [ruby/prism] Add option for inlining messages for error formatting

    https://github.com/ruby/prism/commit/af0204a8ab

commit c50b6425b4b5b42f1177b2c4eb6fd61d9d95b4d4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 02:59:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-28 00:41:08 +0900

    Remove st_lookup when updating object ID

commit 4566843b3e9daf68984e8b051c7b11023099e788
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 02:54:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-28 00:41:08 +0900

    Check FL_SEEN_OBJ_ID before looking up in table

    This is an optimization for compaction so that we only lookup in the
    obj_to_id_tbl table only when FL_SEEN_OBJ_ID is set.

commit e4d6479730fa87fc420cfe9ae6b83206737b0db5
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-23 05:53:35 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-27 23:12:35 +0900

    Add array/hash implicit allocation tests

    These are designed to prevent allocation regressions (commits that
    increase the number of implicitly allocated arrays and hashes). We
    have already had three commits in the last couple weeks to fix
    allocation regressions:

    * 15dc3aaa311b32203d8ffb414bcf9b8e55ce5691
    * aceee71c35e0b387691836e756b4e008efd84cf1
    * c38878494377c94f2425a81e598260ea944ef7f3

    This test suite should hopefully allow us to find such regressions
    in CI before commit, to avoid committing future allocation regressions.

    This uses assert_separately around each set of tests.  Doing it for
    each individual check was too slow.  Failures are gathered and
    reported at the end of the the suite as a single assertion, with
    the message describing all failures.

commit aa794cc5a237bf4b7aa8f1917fa4ed86949d71c6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 03:25:41 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 22:39:23 +0900

    Turn GC off at boot on Windows

    This is to stop crashes like:

        .\miniruby.exe: [BUG] Segmentation fault
        ruby 3.4.0dev (2024-03-26T15:38:26Z pull/10370/merge 040ea2ae2f) [x64-mswin64_140]

        -- Control frame information -----------------------------------------------
        c:0001 p:0000 s:0003 E:000d00 DUMMY  [FINISH]

        -- Threading information ---------------------------------------------------
        Total ractor count: 1
        Ruby thread count for this ractor: 1

        -- C level backtrace information -------------------------------------------
        C:\Windows\SYSTEM32\ntdll.dll(NtWaitForSingleObject+0x14) [0x00007FFA091AFC74]
        C:\Windows\System32\KERNELBASE.dll(WaitForSingleObjectEx+0x93) [0x00007FFA05BB4513]
        D:\a\ruby\ruby\build\miniruby.exe(rb_print_backtrace+0x3e) [0x00007FF64E536EFE] d:\a\ruby\ruby\src\vm_dump.c:844
        D:\a\ruby\ruby\build\miniruby.exe(rb_vm_bugreport+0x1ae) [0x00007FF64E5370B2] d:\a\ruby\ruby\src\vm_dump.c:1154
        D:\a\ruby\ruby\build\miniruby.exe(rb_bug_for_fatal_signal+0x77) [0x00007FF64E3FF357] d:\a\ruby\ruby\src\error.c:1087
        D:\a\ruby\ruby\build\miniruby.exe(sigsegv+0x71) [0x00007FF64E4C79E5] d:\a\ruby\ruby\src\signal.c:926
        C:\Windows\System32\ucrtbase.dll(seh_filter_exe+0x233) [0x00007FFA0521CE03]
        D:\a\ruby\ruby\build\miniruby.exe(`__scrt_common_main_seh'::`1'::filt$0+0x16) [0x00007FF64E594DA0] f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:269
        C:\Windows\SYSTEM32\VCRUNTIME140.dll(_C_specific_handler+0x9f) [0x00007FF9E54AF73F]
        C:\Windows\SYSTEM32\ntdll.dll(_chkstk+0x11f) [0x00007FFA091B4C2F]
        C:\Windows\SYSTEM32\ntdll.dll(RtlWalkFrameChain+0x14bf) [0x00007FFA09114CEF]
        C:\Windows\SYSTEM32\ntdll.dll(KiUserExceptionDispatcher+0x2e) [0x00007FFA091B399E]
        D:\a\ruby\ruby\build\miniruby.exe(newobj_of+0x6d) [0x00007FF64E418615] d:\a\ruby\ruby\src\gc.c:2949
        D:\a\ruby\ruby\build\miniruby.exe(rb_wb_protected_newobj_of+0x32) [0x00007FF64E41C7DA] d:\a\ruby\ruby\src\gc.c:2974
        D:\a\ruby\ruby\build\miniruby.exe(str_new0+0x64) [0x00007FF64E4E7F48] d:\a\ruby\ruby\src\string.c:887
        D:\a\ruby\ruby\build\miniruby.exe(rb_enc_str_new+0x40) [0x00007FF64E4D89B8] d:\a\ruby\ruby\src\string.c:945
        D:\a\ruby\ruby\build\miniruby.exe(iseq_compile_each0+0xdd7) [0x00007FF64E3B4A23] d:\a\ruby\ruby\src\compile.c:10368
        D:\a\ruby\ruby\build\miniruby.exe(iseq_compile_each+0x74) [0x00007FF64E3B3C40] d:\a\ruby\ruby\src\compile.c:9971

commit 19916bac968fa79437649821932a6b8869414002
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 00:37:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 22:39:23 +0900

    Revert "skip `test_gc_stress_at_startup`"

    This reverts commit 3680981c7b71df8c3a426164787ccefe5296bb25.

commit f14e52c8c45f1288537ff38c153096d095b5ad20
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 00:37:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 22:39:23 +0900

    Fix setting GC stress at boot when objspace not available

commit 1d99fe430aff34a90544d23edbd707f6f240dafe
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 00:35:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 22:39:23 +0900

    Register classpath of FrozenCore before converting to ICLASS

    Since ICLASS do not mark the classpath, we need to register it as a
    global object before we convert RubyVM::FrozenCore as a ICLASS.

commit 9ad175c1ee7137321310c4e87d8ce952b95abc8f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-27 00:34:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 22:39:23 +0900

    Register rb_fix_to_s_static as global right after creating

    If a GC runs right during creating a rb_fix_to_s_static, it may cause
    the previous ones to become swept by the GC because they have not been
    registered by rb_vm_register_global_object.

commit 2505c27fdfa67c3191f9b5902a30ab3139a8ab6f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 04:45:43 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:48:32 +0900

    [PRISM] Fix up some error formatting edge cases

commit 42d1cd8f7fa62b585283e566d4be9a390631c43d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 04:32:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Pass --enable-frozen-string-literal through to evals

commit a1ae29e87dd6d68da99df68420cd451b63b2211d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 04:14:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Enable other passing specs

commit 843c760a0ff7857d9ded3352877ca7d22f69e065
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 03:57:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Enable passing syntax tests

commit 8b2fc859703fe3be0408f05b8734cc7624017f96
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 03:56:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Enable passing frozen string in array test

commit 6f8a252e96715a72f5aef20e081a0efe7d66a850
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 03:55:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Enable passing heredoc test

commit e4b210906564cb5e922e8331a6b3724624377fdb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 03:54:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 21:34:42 +0900

    [PRISM] Fix ASCII-compatible check for eval encoding

commit 44b5c912daae6d4e6dba6e40f13a2840c144cfa8
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2023-09-15 02:35:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-27 20:34:46 +0900

    [rubygems/rubygems] Allow installing plugins from path via CLI

    Also bring the man page up to date.

    https://github.com/rubygems/rubygems/commit/a849bd6947

commit cbc11bcb63ccebd8fc3f12362b8d6dbcf06d7fdd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-27 15:48:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-27 16:18:14 +0900

    Ignore errors on prerelease gems

commit 6498c4399511ddf4b953be4c0745d5395406ed01
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-03-27 15:59:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-27 15:59:42 +0900

    Update bundled gems list as of 2024-03-26

commit 66a0e8b008acb07c7eb2f31d65100bac1f361ff9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-27 11:07:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 14:00:13 +0900

    d9234ba87b7e48381c8c44ef4a302ef368ee0ee7 is done to fix at related gems

commit 16c18eafb579cf2263c7e0057c4c81358fe62075
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-27 12:53:43 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-27 13:26:22 +0900

    Revert "Mark iseq structs with rb_gc_mark_movable"

    This reverts commit a31ca3500d995b6706f94ff72166d699c5faeb27 which
    broke debug inspector API.

commit 0c114dfcc79cb4690705ec88ebf9147e5c03702d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-27 11:45:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-27 13:26:22 +0900

    Check existing ISeq wrapper

commit e51435177e88fc845528dff7cf2bc2b75dd36144
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-19 11:37:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 12:17:58 +0900

    Update vendored resolv to 0.4.0

commit 8fa6c364925bff4e704d4c0fd73555fb33aa7029
  Author:     Andrii Konchyn <andry.konchin@gmail.com>
  AuthorDate: 2024-03-27 09:39:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 12:17:01 +0900

    [ruby/strscan] Omit tests for `#scan_byte` and `#peek_byte` on
    TruffleRuby temporary
    (https://github.com/ruby/strscan/pull/91)

    The methods were added in #89 but they aren't implemented in TruffleRuby
    yet. So let's omit them for now to have CI green.

    https://github.com/ruby/strscan/commit/844d963b56

commit 8896ac0289dcd7a6c9c4a7fd6ccd4cc2dae30507
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-13 01:12:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 12:16:11 +0900

    [ruby/openssl] Fix test_pkey_dsa.rb in FIPS.

    Note that I created the `dsa2048.pem` and signature text
    (`signature_encoded.txt`), that is used as a text to create the `signature0` in
    the `test_sign_verify` by the following steps with the `openssl` CLI on FIPS
    module.

    ```
    $ OPENSSL_DIR="${HOME}/.local/openssl-3.3.0-dev-fips-debug-1f03d33ef5"
    $ export OPENSSL_CONF="${OPENSSL_DIR}/ssl/openssl_fips.cnf"

    $ "${OPENSSL_DIR}/bin/openssl" dsaparam -out dsaparam2048.pem 2048
    $ "${OPENSSL_DIR}/bin/openssl" gendsa -out dsa2048.pem dsaparam2048.pem

    $ echo -n "Sign me!" > data.txt
    $ "${OPENSSL_DIR}/bin/openssl" dgst -sha256 -sign dsa2048.pem data.txt > signature.txt
    $ cat signature.txt | base64 > signature_encoded.txt
    ```

    Skip the `test_DSAPrivateKey_encrypted` on FIPS because AES-128-CBC, the
    password based encryption used in the PEM format uses MD5 for deriving the
    encryption key from the password, and MD5 is not FIPS-approved.
    See also the comment on the `test/openssl/utils.rb#omit_on_fips`.

    https://github.com/ruby/openssl/commit/4bdcb419a9

commit 6e34386794db69949b13f055fa338431527910eb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 01:17:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 08:24:28 +0900

    [flori/json] Fix memory leak when exception is raised during JSON generation

    If an exception is raised the FBuffer is leaked.

    For example, the following script leaks memory:

        o = Object.new
        def o.to_json(a) = raise

        10.times do
          100_000.times do
            begin
              JSON(o)
            rescue
            end
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        31824
        35696
        40240
        44304
        47424
        50944
        54000
        58384
        62416
        65296

    After:

        24416
        24640
        24640
        24736
        24736
        24736
        24736
        24736
        24736
        24736

    https://github.com/flori/json/commit/44df509dc2

commit b2b665eba59e3fc9ad9656d9c74509a975db6fe8
  Author:     crazeteam <lilujing@outlook.com>
  AuthorDate: 2024-03-27 01:15:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-27 07:52:18 +0900

    [DOC] remove repetitive words in comments

    Signed-off-by: crazeteam <lilujing@outlook.com>

commit a7ff264477105b5dc0ade6facad4176a1b73df0b
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-03-27 06:10:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-27 06:10:07 +0900

    Don't clear pending interrupts in the parent process. (#10365)

commit 0c62eb25b5c7a2ce6764e81bf98ac39a804a3721
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-27 03:40:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 04:32:09 +0900

    [PRISM] Use correct encoding for regular expression literals

commit 4a78d75213b1aee3bf0422fefaef204d06a459ac
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-22 02:22:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 03:41:27 +0900

    [ruby/prism] Fix an incorrect range of `Prism::Location` when `PM_ERR_RETURN_INVALID`

    This PR fixes the following incorrect range of `Prism::Location` when `PM_ERR_RETURN_INVALID`.

    It may be hard to tell from the text, but this Ruby error highlights `return`:

    ```console
    $ ruby -e 'class Foo return end'
    -e:1: Invalid return in class/module body
    class Foo return end
    -e: compile error (SyntaxError)
    ```

    Previously, the error's `Prism::Location` pointed to `end`:

    ```console
    $ bundle exec ruby -Ilib -rprism -ve 'p Prism.parse("class Foo return end").errors'
    ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:return_invalid @message="invalid `return` in a class or module body"
    @location=#<Prism::Location @start_offset=17 @length=3 start_line=1> @level=:fatal>]

    After this fix, it will indicate `return`.

    ```console
    $ bundle exec ruby -Ilib -rprism -ve 'p Prism.parse("class Foo return end").errors'
    ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:return_invalid @message="invalid `return` in a class or module body"
    @location=#<Prism::Location @start_offset=10 @length=6 start_line=1> @level=:fatal>]
    ```

    For reference, here are the before and after of `Prism::Translation::Parser`.

    Before:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("class Foo return end")'
    ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
    (string):1:18: error: invalid `return` in a class or module body
    (string):1: class Foo return end
    (string):1:                  ^~~
    /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/diagnostic/engine.rb:72:in `process':
    invalid `return` in a class or module body (Parser::SyntaxError)
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:220:in `block in unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `each'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:49:in `parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:33:in `parse'
            from -e:1:in `<main>'
    ```

    After:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("class Foo return end")'
    ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-darwin22]
    (string):1:11: error: invalid `return` in a class or module body
    (string):1: class Foo return end
    (string):1:           ^~~~~~
    /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/diagnostic/engine.rb:72:in `process':
    invalid `return` in a class or module body (Parser::SyntaxError)
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:220:in `block in unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `each'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:49:in `parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:33:in `parse'
            from -e:1:in `<main>'
    ```

    This PR ensures that the originally intended `return` is highlighted as it should be.

    https://github.com/ruby/prism/commit/1f9af4d2ad

commit 696b2716e0ab7c7df983856216d65bb5f06bf956
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-27 03:32:09 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-27 03:33:02 +0900

    Return stdbool from recursive_check()

    The return value is used as a boolean value in C. Since it's not used as
    a Ruby object, it just seems confusing that it returns a VALUE.

commit e16086b7f25d334c8049bd0e237191bdb3300d88
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-03-26 02:53:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 03:29:36 +0900

    Refactor init_copy gc attributes

    This PR moves `rb_copy_wb_protected_attribute` and
    `rb_gc_copy_finalizer` into a single function called
    `rb_gc_copy_attributes` to be called by `init_copy`. This reduces the
    surface area of the GC API.

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 16cf9047c63aad5483bebe2068cdaa832447ba77
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-27 03:24:40 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-27 03:24:44 +0900

    [DOC] Fix a couple other descriptions

    similarly to 332f4938cf3adbff8f15b647767dc660583a5bef

commit 332f4938cf3adbff8f15b647767dc660583a5bef
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-27 03:21:31 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-27 03:21:32 +0900

    [DOC] Fix a description about rb_exec_recursive_outer

    It gives true/TRUE (int) instead of Qtrue (VALUE).

commit 3e0eea644f31b0a80da143c18149c750712d833d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-24 01:08:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 02:53:00 +0900

    Don't set RUBY_TYPED_EMBEDDABLE flag on backtrace

commit 4bdb79618b33422551e96723827e50ab20e9abb1
  Author:     Gannon McGibbon <gannon.mcgibbon@gmail.com>
  AuthorDate: 2024-03-23 05:40:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-27 02:53:00 +0900

    Mark frame info structs with rb_gc_mark_movable

    Using rb_gc_mark_movable and a reference update function, we can make
    frame infos movable in memory, and avoid pinning frame info backtraces.

    ```
    require "objspace"
    exceptions = []
    GC.disable
    50_000.times do
      begin
        raise "some exception"
      rescue => exception
        exception.backtrace_locations
        exceptions << exception
      end
    end
    GC.enable
    GC.compact
    p ObjectSpace.dump_all(output: :string).lines.grep(/"pinned":true/).count
    ```

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 4300c42a7eb12a0aa81e4ec79891cdba1cfdf3aa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 22:58:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 01:11:09 +0900

    [PRISM] Better handle interpolated* nodes with inner frozen parts

commit 8ec7c3ce3069177a9e8eb9ca93cced9aa0533085
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 23:31:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 01:11:09 +0900

    [ruby/prism] Properly handle freeing ephemeral node lists

    https://github.com/ruby/prism/commit/f49261a9b9

commit 2a3601d64ead632fb9f0709ac6986a44da76efe3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 22:33:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 01:11:09 +0900

    [ruby/prism] Handle regexp split between heredocs

    https://github.com/ruby/prism/commit/c1400d8aed

commit 240fb3957b02cb9a1cc0d1e01ae40db803390bed
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 04:32:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-27 01:11:09 +0900

    [ruby/prism] Freeze internal parts, again

    https://github.com/ruby/prism/commit/50372fee5c

commit 19752cf4aa227106212be129507ac1bf339b26c0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 05:22:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-26 23:02:17 +0900

    Use macro SET_WHEN_UINT

commit e9152bc9da39ad864b755e7bcc682610f8035a98
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-02-19 19:58:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 22:49:18 +0900

    [ruby/prism] Enable ParametersSignatureTest on TruffleRuby

    https://github.com/ruby/prism/commit/c7a7af1eac

commit 2b08406cd0db0042520fb0346544660e10a4d93c
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-03-25 19:18:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-26 20:54:54 +0900

    Expose rb_str_chilled_p

    Some extensions (like stringio) may need to differentiate between
    chilled strings and frozen strings.

    They can now use rb_str_chilled_p but must check for its presence since
    the function will be removed when chilled strings are removed.

    [Bug #20389]

    [Feature #20205]

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

commit 8cfa8e87b2705fb356bbbb9ef719b5c5a54f9862
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-26 20:30:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 20:30:33 +0900

    [ruby/irb] Fix a typo (https://github.com/ruby/irb/pull/912)

    https://github.com/ruby/irb/commit/2057248e40

commit 52cf6ec46b744a2ac34d9f6531520bf2aee017f5
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-24 20:06:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 19:51:12 +0900

    [ruby/prism] Fix typos

    After finding the "if if" typo, some additional typos identified by running `codespell` are also being corrected:
    https://github.com/codespell-project/codespell

    https://github.com/ruby/prism/commit/e6a34cfeeb

commit a850cd1a87bef738c40d9c550fb8823699083f2e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-26 10:04:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-26 17:37:47 +0900

    [Bug #20392] Block arguments duplication check at `super`

commit 3680981c7b71df8c3a426164787ccefe5296bb25
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-03-26 16:43:14 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-03-26 17:18:43 +0900

    skip `test_gc_stress_at_startup`

    (maybe) from 9cf754b the test fails on some environments:

    https://rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20240325T200004Z.fail.html.gz

    ```
      1) Failure:
    TestGc#test_gc_stress_at_startup [/home/chkbuild/chkbuild/tmp/build/20240325T200004Z/ruby/test/ruby/test_gc.rb:771]:
    [Bug #15784]
    pid 1087168 killed by SIGSEGV (signal 11) (core dumped).

    1. [3/3] Assertion for "success?"
       | Expected #<Process::Status: pid 1087168 SIGSEGV (signal 11) (core dumped)> to be success?.
    ```

    https://rubyci.s3.amazonaws.com/freebsd14/ruby-master/log/20240325T203002Z.fail.html.gz
    https://rubyci.s3.amazonaws.com/osx1200arm-no-yjit/ruby-master/log/20240325T195003Z.fail.html.gz
    https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20240325T210003Z.fail.html.gz
    ...

    so just skipt it until it works.

commit b39057f32cdcf15d8586bd1629d5fc78038320b7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-26 11:10:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-26 11:10:20 +0900

    Fix extension installer for out-of-place build

    https://github.com/ruby/ruby/pull/9673#issuecomment-2019028293

commit de742b425fde96283e6a5ac60da8cbdb12291bb9
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-26 04:34:26 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-03-26 06:50:40 +0900

    YJIT: Inline simple getlocal+leave iseqs

    This mainly targets things like `T.unsafe()` from Sorbet, which is just an
    identity function at runtime and only a hint for the static checker.
    Only deal with simple caller and callees (no keywords and splat etc.).

    Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>

commit aa90013829d9394fa92a423a818fb0d6e2ab89cb
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2024-03-01 10:05:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 04:45:52 +0900

    [rubygems/rubygems] Fix: vendor_gem takes a block

    https://github.com/rubygems/rubygems/commit/50cda56fc3

commit 06d5d4f1d0f58bdf73a0978221fe13e17f36712e
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-26 02:02:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 04:45:51 +0900

    [rubygems/rubygems] Fix resolver bug where ActivationRequest objects were not properly compared

    They were delegating their `#hash` value to a class not overriding that
    method, and so were returning inconsistent results.

    https://github.com/rubygems/rubygems/commit/723e4ee0fc

commit 453de8c2bc1392be86058510630fab1a55c2a265
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 04:08:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 04:08:46 +0900

    [ruby/prism] Revert "Frozen parts"

    https://github.com/ruby/prism/commit/48f2e8c169

commit ff8f98f5c26febea9ca61278f167ad6582381855
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 02:21:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 02:36:13 +0900

    [ruby/prism] Mark interpolated nodes as static literal

    https://github.com/ruby/prism/commit/d00977a9bd

commit eef272f1548b92ca53867c94f7cc38b1f35ef656
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-26 02:18:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-26 02:36:12 +0900

    [ruby/prism] Mark inner parts of interpolated* nodes as frozen

    https://github.com/ruby/prism/commit/58a127cd5d

commit 9cf754b648bc04f0c1e8f9274e6047ff25c1b3e3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 23:48:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-26 02:07:39 +0900

    Fix --debug=gc_stress flag

    ruby_env_debug_option gets called after Init_gc_stress, so the
    --debug=gc_stress flag never works.

commit 46bf6ae886dc14d5e3a76d53eb4f97375f7c03c5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-26 01:06:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-26 01:06:47 +0900

    YJIT: Propagate Array, Hash, and String classes (#10323)

commit a08954569f197312db4d6b217f1b8ba3441fc078
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-25 23:08:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-26 00:54:20 +0900

    [ruby/prism] Fix up minimal build setting

    https://github.com/ruby/prism/commit/98c85c4acb

commit 53cc2723877f7794807684e31a530daca1a72ed6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-25 22:27:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-26 00:52:13 +0900

    [ruby/prism] Handle CRLF in regexp

    https://github.com/ruby/prism/commit/b96bada9ae

commit 86077fbcde05f4abd6b306ad0fcc88ee891f8e8b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-25 22:24:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-26 00:52:12 +0900

    [ruby/prism] Refactor regexp lexing to make it easier to support CRLF

    https://github.com/ruby/prism/commit/60805d85ca

commit 0bc764b7298fe79ded630841f0781979a9d0d806
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-25 21:41:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-26 00:52:10 +0900

    [ruby/prism] Handle CRLF inside string contents

    https://github.com/ruby/prism/commit/aac606301e

commit 14ab698967cdaedc0a922a2bdf30dfc69bdba7eb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-25 21:32:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-26 00:52:09 +0900

    [ruby/prism] Handle CRLF inside heredoc contents

    https://github.com/ruby/prism/commit/1fbac72485

commit a31ca3500d995b6706f94ff72166d699c5faeb27
  Author:     Gannon McGibbon <gannon.mcgibbon@gmail.com>
  AuthorDate: 2024-03-23 05:38:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-25 23:43:12 +0900

    Mark iseq structs with rb_gc_mark_movable

    Using rb_gc_mark_movable and a reference update function, we can make
    instruction sequences movable in memory, and avoid pinning compiled iseqs.

    ```
    require "objspace"
    iseqs = []
    GC.disable
    50_000.times do
      iseqs << RubyVM::InstructionSequence.compile("")
    end
    GC.enable
    GC.compact
    p ObjectSpace.dump_all(output: :string).lines.grep(/"pinned":true/).count
    ```

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 552647175e8319aa7cc117d418f35ed761fdb822
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2023-10-10 02:24:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 23:25:46 +0900

    [rubygems/rubygems] Improve validation of `bundle plugin install` options

    Ensure only one source type is specified, and ensure options that
    are only relevant to git sources are only specified with git.

    https://github.com/rubygems/rubygems/commit/58b043215e

commit 65264b0dfb73a4162b638fa2c9cc0e99c66360e2
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-25 22:23:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 23:11:07 +0900

    [ruby/prism] Fix build error for C99 and C23 CI matrix

    This PR fixes the following build error for C99 and C23 Ruby's CI matrix:

    ```console
    ../src/prism/prism.c:1241:19: error: initializing 'char *' with an expression of
    type 'const char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
    1241 |             char *word = unknown_flags_length >= 2 ? "options" : "option";
         |                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    assembling ../src/coroutine/amd64/Context.S
    ```

    - c99 ... https://github.com/ruby/ruby/actions/runs/8419905079/job/23053543994#step:10:249
    - c23 ... https://github.com/ruby/ruby/actions/runs/8419905079/job/23053544274#step:10:257

    This is an incorrect code introduced in https://github.com/ruby/prism/pull/2618.

    https://github.com/ruby/prism/commit/4d9d73fcb9

commit 3b4dacf2ede0dafbcf942ac696439237f8b31dc6
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-25 19:09:14 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-25 22:13:05 +0900

    Let the docs of base_label and label be similar

commit dadaa1142fc89d9752e9454f99b0b4d32068ef41
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-25 18:21:07 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-25 22:13:05 +0900

    Update vm_backtrace.c

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 4235bc295b1a0952fd610afb4d333dd03b162bea
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-25 18:09:56 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-25 22:13:05 +0900

    Add an example to base_label API

commit 54428c2bf10c15663de084bbac20783395f2d8fd
  Author:     Franck Trouillez <francktrouillez99@gmail.com>
  AuthorDate: 2024-03-25 18:13:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 21:16:46 +0900

    [ruby/prism] Add missing symbol in comment for binding powers for `||=`

    This adds in the descriptive comment the `||=` operator corresponding to `PM_TOKEN_PIPE_PIPE_EQUAL` for pm_binding_powers[PM_TOKEN_MAXIMUM] in prism.c

    https://github.com/ruby/prism/commit/315ca16e23

commit d05135727f51236fd6ec121a8265167a857681e8
  Author:     Franck Trouillez <francktrouillez99@gmail.com>
  AuthorDate: 2024-03-25 18:13:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 21:16:45 +0900

    [ruby/prism] Fix comment typos in prism.c

    This fixes some comment typos in English in the prism.c file. It fixes some typos and follows the current conventions:
    - Sentences in comments end with `.`
    - Use infinitive instead of 3rd person present simple to describe functions

    https://github.com/ruby/prism/commit/01324e89db

commit 56a2fad2a4578987a371f7a5563812b52ed8e9c6
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-21 01:46:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 21:16:32 +0900

    [ruby/prism] Fix incorrect paring when using invalid regexp options

    Fixes https://github.com/ruby/prism/pull/2617.

    There was an issue with the lexer as follows.
    The following are valid regexp options:

    ```console
    $ bundle exec ruby -Ilib -rprism -ve 'p Prism.lex("/x/io").value.map {|token| token[0].type }'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [:REGEXP_BEGIN, :STRING_CONTENT, :REGEXP_END, :EOF]
    ```

    The following are invalid regexp options. Unnecessary the `IDENTIFIER` token is appearing:

    ```console
    $ bundle exec ruby -Ilib -rprism -ve 'p Prism.lex("/x/az").value.map {|token| token[0].type }'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [:REGEXP_BEGIN, :STRING_CONTENT, :REGEXP_END, :IDENTIFIER, :EOF]
    ```

    As a behavior of Ruby, when given `A` to `Z` and `a` to `z`, they act as invalid regexp options. e.g.,

    ```console
    $ ruby -e '/regexp/az'
    -e:1: unknown regexp options - az
    /regexp/az
    -e: compile error (SyntaxError)
    ```

    Thus, it should probably not be construed as `IDENTIFIER` token.

    Therefore, `pm_byte_table` has been adapted to accept those invalid regexp option values.
    Whether it is a valid regexp option or not is checked by `pm_regular_expression_flags_create`.
    For invalid regexp options, `PM_ERR_REGEXP_UNKNOWN_OPTIONS` is added to diagnostics.

    https://github.com/ruby/prism/commit/d2a6096fcf

commit f5a2f55aca5f229bb2a9dac62d96d85fc14ae718
  Author:     Justin Collins <justin@presidentbeef.com>
  AuthorDate: 2024-03-24 07:20:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 21:13:52 +0900

    [ruby/prism] Use Sexp#line_max not Sexp#max_line

    for RubyParser translation

    https://github.com/ruby/prism/commit/a37169621a

commit daf1d7bfefa89a0473af9b304a3798ba1e67166a
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-03-25 21:13:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 21:13:31 +0900

    [ruby/reline] Bump version to v0.5.0
    (https://github.com/ruby/reline/pull/664)

    https://github.com/ruby/reline/commit/1d6569600c

commit f53209f02370b3590662de76fe63ec2818633139
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-25 20:48:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 20:48:11 +0900

    [ruby/irb] Cache RDoc::RI::Driver.new
    (https://github.com/ruby/irb/pull/911)

    * Cache RDoc::RI::Driver.new to improve performance and to avoid flaky test

    * Insert sleep to fix flaky rendering test that renders document dialog

    https://github.com/ruby/irb/commit/da84e6cb56

commit 5f334b67d23f1397b71931646c96fb6b8aa96e08
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-25 20:06:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 20:06:39 +0900

    [ruby/reline] Remove useless tests
    (https://github.com/ruby/reline/pull/665)

    The pasting tests hadn't been working since as early as v0.2.0. Since
    what it tried to cover is already gone for such a long time, I think it's
    better to write new ones if needed then to keep them around.

    And since these tests are gone, the helper methods for just them are also gone.

    https://github.com/ruby/reline/commit/0eedf0e4a0

commit 219d7cc1aa14e3f0afaf84f9c127bd6125cb8481
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-25 16:45:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 18:17:09 +0900

    lib/bundled_gems.rb: dynamically ignore Kernel.require decorators

    Followup: https://github.com/ruby/ruby/pull/10347

    This avoid directly referencing bootsnap and zeitwerk, and also
    handle other gems that may decorate `require`.

commit e70ccc91e56b44ec523cb66323d486631ea1409b
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-25 17:31:59 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-25 18:04:20 +0900

    Update minitest and power_assert bundled gems

    They were pointing to branches to be chilled string compatible.
    Both patches have been merged now.

commit 152192c96f30b66f3257faafeb7b34043506ae8f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 17:12:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 17:37:13 +0900

    Use load_gemspec instead of Gem::Specification.load.

    We need to purge `git ls-files` from gemspec in default gems.

commit bd85fd6db9c6e065c65c82ba590b1a16a07791a5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 15:16:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 15:16:22 +0900

    Guard makefile target at cross-build

    http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-aarch64/log/20240325T041917Z.fail.html.gz

commit 990e11b60eae06d7e8205405fc99320267b5843b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 13:31:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 14:33:03 +0900

    Bootsnap and Zeitwerk are working correctly now

commit 6b1691ebe8d8134c963f99b059beb449a8ec450b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 13:29:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 14:33:03 +0900

    Remove rubylibdir from bootsnap

commit d6e9367edb940ea26a51e56b2be1032a97eea4c2
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-14 06:52:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 14:33:03 +0900

    Skip Bootsnap and Zeitwerk in bundled gems warning

commit 02a4bdd6076b84da35d4a5d1aa749f1e9683ad1b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 13:22:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 14:33:03 +0900

    Add newline each test script

commit 9db300219f75db5951b7e2f61683b1241e7afcf0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-25 12:45:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 14:33:03 +0900

    Added test script for bundled_gems.rb with zeitwerk

commit 69579ed57a2aa1c3ad739417db70564d570bf2c1
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-28 12:37:25 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-25 12:57:04 +0900

    Mark fiber stacks in rb_execution_context_mark

    Currently, fiber stacks are marked separately from the rest of the
    execution context. The fiber code deliberately does _NOT_ set
    ec->machine.stack_end on the saved EC, so that the code in
    `rb_execution_context_mark` does not mark it; instead, the stack marking
    is done in `cont_mark`.

    Instead, we can set ec->machine.stack_end, and skip out on doing the
    stack marking separately in `cont_mark`; that way, all machine stack
    marking shares the same code (which does the nescessary ASAN things).

    [Bug #20310]

commit 2535a09e85dd68249d9f390db32313ddd482480e
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-24 17:32:17 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-25 12:57:04 +0900

    Check ASAN fake stacks when marking non-current threads

    Currently, we check the values on the machine stack & register state to
    see if they're actually a pointer to an ASAN fake stack, and mark the
    values on the fake stack too if required. However, we are only doing
    that for the _current_ thread (the one actually running the GC), not for
    any other thread in the program.

    Make rb_gc_mark_machine_context (which is called for marking non-current
    threads) perform the same ASAN fake stack handling that
    mark_current_machine_context performs.

    [Bug #20310]

commit 48d3bdddbaeabed5fb6a97bfbe65e250d1383a9c
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-24 17:31:27 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-25 12:57:04 +0900

    Move asan_fake_stack_handle to EC, not thread

    It's really a property of the EC; each fiber (which has its own EC) also
    has its own asan_fake_stack_handle.

    [Bug #20310]

commit ea31228d0c46763a62abef047d37d66709bdaf87
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-21 01:18:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Consider extensions in gems outside of ext/

commit 2dd2204d8cac9ffb25cbd415fabaf315e0c7e839
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-21 01:17:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Extract `root` helper

    It holds the root directory for each type of default gem (ext/ or lib/).

commit 083e7080d19a5f6489cae5a060c533ea1932de75
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-19 04:58:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Consider `target_prefix` in extension Makefiles

commit 2b703eed46237d28ca71f3ed24f77bf53cf81720
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-24 18:22:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Consistently put requirable features in default gemspecs file list

commit bece07e6c3716f93c0f2b98159430aa5df51c0a0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-24 18:16:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Fix gemspec file list for extension gems

    So that it also includes requirable features provided by extensions.

commit 1e6117d66547b11b26f4e7dc50612ff26e03b634
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-21 01:10:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Simplify FileCollector interface

commit 348d8bdb0edeb4df2ef40379ab579dfc15afc327
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-21 00:43:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-25 11:55:08 +0900

    Use `$ext_build_dir` consistently

    Instead of hardcoded "ext".

commit fdd7ffb70ca6e9f7d790aadde86dbc8172e19f4d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-25 09:24:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-25 10:26:56 +0900

    [Bug #20389] Chilled string cannot be a shared root

commit e86a6191660c613e7879e62b564502eaf5456495
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-03-24 14:33:04 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-03-25 08:34:30 +0900

    Lrama v0.6.5

commit 5e4b4d667441461f6384b2afb47df855c06d2e20
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-24 20:23:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-25 00:27:00 +0900

    [rubygems/rubygems] Remove typo name

    It is more 2 years since #5109, probably enough time to warn.

    https://github.com/rubygems/rubygems/commit/1e9433e77f

commit 74593613ea399518d6f72cb9ca330efbfcf719cb
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-24 22:04:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 22:04:33 +0900

    [ruby/reline] Disable dialog proc if TERM=dumb
    (https://github.com/ruby/reline/pull/663)

    https://github.com/ruby/reline/commit/4928e06a24

commit 82f4cff1f39d5f2c762f8cf61f079e318066e44e
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-24 21:54:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 21:54:40 +0900

    [ruby/irb] Fix indent test for new reline
    (https://github.com/ruby/irb/pull/908)

    https://github.com/ruby/irb/commit/7c16ce033e

commit b0eda83ee0c34d265277635a1e13591d6367bd01
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-24 19:47:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 19:47:22 +0900

    [ruby/reline] Add mode_string to prompt calculation dependencies
    (https://github.com/ruby/reline/pull/658)

    * Add mode_string to prompt calculation dependencies

    * Update vi show-mode-in-prompt test

    https://github.com/ruby/reline/commit/a0cee06ec5

commit b03705dbaf80ae445ab9fa38b52e7f7ac0b6829a
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-24 19:45:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 19:45:32 +0900

    [ruby/reline] Refactor key actor test
    (https://github.com/ruby/reline/pull/645)

    * Add assertion assert_cursor_line to test helper

    * Autofix key_actor test to use assert_cursor_line

    * Rename the assertion to assert_line_around_cursor and remove other assertions for line and cursor

    https://github.com/ruby/reline/commit/e4773800c6

commit 3adaba0e81c1df4827dce86c19643b48d288a56b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-24 08:00:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 08:00:21 +0900

    [ruby/reline] Do not send color reset sequence when GeneralIO is
    used
    (https://github.com/ruby/reline/pull/661)

    https://github.com/ruby/reline/commit/3719702808

commit f46b77596d9b88e603765c0980667a86c62e2b04
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-24 07:50:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-24 07:50:57 +0900

    [ruby/reline] Make mutated string in yamatanooroti explicitly
    mutable
    (https://github.com/ruby/reline/pull/662)

    This avoids the frozen literal warning in Ruby 3.4.

    https://github.com/ruby/reline/commit/cccb985804

commit 8265a7531fba008eac777682124c2fb1b55e724c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-24 01:40:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-24 01:40:17 +0900

    Use dedicated methods to abort

    When `RUBY_DEBUG` is set, accessing a class in an invalid object will
    cause a breakpoint trap instead of a segfault on some implementations.

commit 678cb80033511cbb46df2bdddd42d29d70bc7f7d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-24 01:09:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-24 01:09:29 +0900

    Move `-test-/fatal/rb_fatal` to `-test-/fatal`

commit 5a77397489268f27a5d803441d723736a12f59fc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-23 23:58:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-23 23:58:40 +0900

    Ignore method chains succeeding `git ls-files`

commit c505bb0ca0fd61c7ae931d26451f11122a2644e9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-23 22:43:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-23 22:43:05 +0900

    Ignore method chains succeeding `git ls-files`

commit 43fe89d921862373bde017e96fbd692a24534eca
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-23 21:53:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-23 22:06:40 +0900

    [ruby/win32ole] Refine pathspecs for `spec.files`

    https://github.com/ruby/win32ole/commit/8d443417a9

commit 14fba5a78499a3a797ec5f27fe697ffa763955f5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-23 18:22:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-23 19:34:57 +0900

    [ruby/win32ole] Exclude unused files from packages

    https://github.com/ruby/win32ole/commit/f4aff99dda

commit a8075caa4e7681ca274d474cdc15fbeee9ad9d2a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-23 19:07:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-23 19:34:35 +0900

    [ruby/win32ole] Test constants for the backward compatibility

    https://github.com/ruby/win32ole/commit/22facf50fd

commit 401251979b74d6c04241da593499bc829f5173ba
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-23 17:19:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-23 17:19:30 +0900

    [DOC] Small edits in rbasic.h

commit a15b2443a51a606a61afa2c23f3469d215798797
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-03-23 15:59:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-23 15:59:22 +0900

    Update bundled gems list as of 2024-03-22

commit 2dbcc123f4f605b51a3698d38ccd53ba6ef482ac
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-23 07:29:13 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-03-23 08:54:07 +0900

    Do not apply anon_rest optimization when passed array uses keyword-flagged hash

    The optimization sets args->rest_dupped to avoid allocating an array,
    but this is not safe if the splat array ends in a keyword flagged
    hash.  Unset args->rest_dupped in this case.

    Fixes [Bug #20388]

commit a2ac28d8ab9814922af6ec9cd00014b972385299
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-23 06:06:55 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-03-23 06:42:58 +0900

    .travis.yml: Add lscpu command to see the details of the CPU.

commit 8ef923dc35515e438ebd9ad135c80e4309956214
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-18 21:26:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-22 22:15:15 +0900

    [rubygems/rubygems] Respect global umask when writing regular files

    https://github.com/rubygems/rubygems/commit/fd5cb7396f

commit 7b3ef370f84cd0a2e7a8d3ce8717ae6dfa49319e
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-16 03:10:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-22 22:14:42 +0900

    [rubygems/rubygems] Fix incorrect `bundle update --bundler` message

    https://github.com/rubygems/rubygems/commit/146de56353

commit d85c24058dd4c3824f45691ad319c717d4570537
  Author:     Artur <22315378+artur-intech@users.noreply.github.com>
  AuthorDate: 2024-03-22 20:34:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-22 20:34:51 +0900

    [ruby/irb] Remove misleading documentation
    (https://github.com/ruby/irb/pull/906)

    https://github.com/ruby/irb/issues/904

    https://github.com/ruby/irb/commit/89bca01bba

commit 74995a1a772903c5247886da1105caa27a4afa2d
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-22 04:49:50 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-03-22 20:30:15 +0900

    [Feature #20275] Remove extra backtrace entries for rescue and ensure

commit e2a9b87126d59e4766479a7aa12cf7a648f46506
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 18:53:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 18:53:44 +0900

    `rb_thread_sched_destroy` is not used now at all

commit 127d7a35df10ee2bc99f44b888972b2c5361d84f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 18:20:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 18:20:13 +0900

    Some functions are not used when `THREAD_MODEL=none`

commit 055613fd868a8c94e43893f8c58a00cdd2a81f6d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 18:18:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 18:18:35 +0900

    Fix pointer incompatiblity

    Since the subsecond part is discarded, WIDEVAL to VALUE conversion is
    needed.

commit 2c4170ea217f6ff8034d8467311c0810f7c5186e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 17:17:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 17:17:29 +0900

    Extension in gems cannot be statically linked

    A gem is meant to be added later, so an extension within it cannot be
    statically linked.

commit af88ca4c076cde9a23ee68281994e1b443cf4e9b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 14:09:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 14:09:12 +0900

    Match `--with/--without` options against gem names

    The simple names in `default_exclude_exts` do not match extension
    paths under gems.

    Extract each gem name from the gemspec file at the top level of each
    gem directory.  For example, if `ext` is `syslog-0.1.2/ext/syslog/`,
    find out `syslog-0.1.2/syslog.gemspec` and take the base name `syslog`
    without the suffix `.gemspec`.

commit 235aa7ad63d8cf77043a2f62f3c3e30fd6af6c05
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-22 14:06:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-22 14:06:55 +0900

    Pass blocks to blocks as block parameters

commit c5045830b7ed3bf664633871ca21fcfe03a42aa7
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-03-22 08:17:51 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-03-22 11:53:15 +0900

    Lrama v0.6.4

commit b4d73e9f80aa5fe72c39f42a88727fed0abb261b
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-03-22 10:56:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-22 10:56:02 +0900

    Revert "Hide public implementation of `rb_io`. (#9568)" (#10283)

    This reverts commit 9ab1fa3bf570bf19b0d6808adf12e965aacc6d83.

commit 49eddad77efdc1d77fc035989591cbe56fc66a1e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-22 08:44:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-22 08:44:56 +0900

    Declare all jobs in matrix.include (#10327)

    Declare all jobs using matrix.include

commit 75d9019e6f7bc6ed5bc48dbffdde22b4bc58fac5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 03:14:25 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-22 03:14:25 +0900

    [DOC] Fix link in NEWS.md

commit 0546764c30057fc04c1314c5545e793d5edadfd2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-22 03:12:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-22 03:12:55 +0900

    [DOC] Add link in NEWS.md

commit 15dc3aaa311b32203d8ffb414bcf9b8e55ce5691
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-21 05:21:04 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-03-22 02:20:32 +0900

    Remove excess allocation for kwsplat to kw call

    Previously, calls like the following duplicated the kwsplat hash
    unnecessarily:

    ```ruby
    def foo(a:) = a
    hash = {a: 10}
    foo(**hash)
    ```

    This is due to the fix in ca204a20231. Since it targets when the callee
    has no keyword parameters, skip duplicating when the method takes
    keywords.

commit 806edd295653a64901b49928b5b14d6c815f8e74
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-21 00:17:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-21 23:43:07 +0900

    Pass objspace into heap_check_moved_i

commit 9a6a6b4ba68d8f2bed4b8d57aca42d5b609dfb11
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-21 00:16:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-21 23:43:07 +0900

    Pass objspace into root_obj_check_moved_i

commit 060a71d4e75e3329b5cae7cd416addba7c5bd263
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-03-20 00:26:54 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-03-21 18:10:02 +0900

    Fix Ripper memory allocation size when enabled Universal Parser

    The size of `struct parser_params` is 8 bytes difference in `ripper_s_allocate` and `rb_ruby_parser_allocate` when the universal parser is
    enabled.
    This causes a situation where `*r->p` is not fully initialized in `ripper_s_allocate` as shown below.

    ```console
    (gdb) p *r->p
    $2 = {heap = 0x0, lval = 0x0, yylloc = 0x0, lex = {strterm = 0x0, gets = 0x0, input = 0, string_buffer = {head = 0x0, last = 0x0}, lastlin
    e = 0x0,
        nextline = 0x0, pbeg = 0x0, pcur = 0x0, pend = 0x0, ptok = 0x0, gets_ = {ptr = 0, call = 0x0}, state = EXPR_NONE, paren_nest = 0, lpar
    _seen = 0,
        debug = 0, has_shebang = 0, token_seen = 0, token_info_enabled = 0, error_p = 0, cr_seen = 0, value = 0, result = 0, parsing_thread = 0, s_value = 0,
        s_lvalue = 0, s_value_stack = 2097}
    ````

    This seems to cause `double free or corruption (!prev)` and SEGV.
    So, fixing this by introduce `rb_ripper_parser_params_allocate` and `rb_ruby_parser_config` functions for Ripper, and `struct parser_params` same size is returned.

commit 9e3077a7a6a59512aea5538adf173a33bbc5db3f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-21 16:15:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-21 16:15:53 +0900

    Move old OS versions to `include:` and simplify test matrices

commit c5ac18bbf4e67a30471cf9add5696cc57cf59c12
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-21 13:20:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-21 13:38:21 +0900

    [ruby/rdoc] Bump up 6.6.3.1

    https://github.com/ruby/rdoc/commit/ffbf8ae089

commit 385c31e770566b2f07f3222464f08886fcedc31e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-21 13:18:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-21 13:18:26 +0900

    [ruby/rdoc] Fix NoMethodError for start_with

    https://github.com/ruby/rdoc/commit/e21dfccb4a

commit ee1ad009f355c32a75bcc67bb79abb9519b2772f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-19 22:10:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-21 13:04:40 +0900

    [ruby/rdoc] Bump up 6.6.3

    https://github.com/ruby/rdoc/commit/d98baf4917

commit 3d353afeb0ecaf1e64c8fa8f58622bebebfca352
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-03-28 18:27:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-21 13:04:40 +0900

    [ruby/rdoc] Filter marshaled objets

    https://github.com/ruby/rdoc/commit/da7a0c7553

commit 8ba4d7d75fd231b61727eb0561eb686c1d67bfd4
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-03-19 18:17:46 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-03-21 11:29:09 +0900

    Fix unexpected node bug for `shareable_constant_value: literal`

    [Bug #20339]
    [Bug #20341]

    `const_decl_path` changes the value of `NODE **dest`, LHS of an assignment,
    with `NODE_LIT` created by `const_decl_path`. `shareable_literal_constant` calls
    `const_decl_path` via `ensure_shareable_node` multiple times if RHS of an assignment
    is array or hash. This means `NODE **dest` argument of `const_decl_path` can be `NODE_LIT`
    from the second time then causes `[BUG] unexpected node: NODE_LIT` in
    `rb_node_const_decl_val`.
    This commit change to not update `NODE **dest` in `const_decl_path` to
    fix the issue.

commit 6650b3aecf6bd3f4bce10a9f1a615683020af186
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-21 10:23:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-21 10:23:11 +0900

    Point to the correct hash for gacts/run-and-post-run-1.4.0

commit af7bf9e0d8fd5e542781ca7ac9550e3011913924
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-20 23:08:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-21 06:32:03 +0900

    [ruby/prism] Provide options for reducing size

    https://github.com/ruby/prism/commit/592128de4d

commit 0e8b6c62a44cb674dbda2e79cf027bcc7c324ad8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-19 01:09:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-21 03:28:13 +0900

    [PRISM] Enable specs in CI

commit 4238615432894804e8dc4dfc751d2b8c0d60ea0f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-21 00:29:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-21 00:29:27 +0900

    YJIT: Get rid of Type::TProc (#10287)

commit e07441f05fa05300c2578d4fb4158ff144dc1159
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-20 06:15:41 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-20 23:27:41 +0900

    Make rb_aligned_malloc private

    It is not used anywhere else.

commit 6ecee4ec311424e88cd6b6d77e67d709cfcf8421
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2023-12-01 21:46:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-20 20:44:13 +0900

    [ruby/openssl] Revert "Always respect the openssl prefix chosen by truffle/openssl-prefix on TruffleRuby"

    * This reverts commit https://github.com/ruby/openssl/commit/ca738e7e1357.
    * No longer needed since https://github.com/oracle/truffleruby/issues/3170 was fixed.

    https://github.com/ruby/openssl/commit/1f641a5604

commit a008c568262b7ea968755b5dfd3f09dc17f952a0
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-19 20:00:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-20 20:20:02 +0900

    Avoid deprecation warnings in TestString

commit aa2cdaa2637853892bb4839dfd66f35913c36123
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-20 10:39:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-20 10:39:12 +0900

    [ruby/reline] Change rendered_screen.lines to non-nil
    (https://github.com/ruby/reline/pull/650)

    https://github.com/ruby/reline/commit/9685db55f1

commit 0a1070274754d89a35c48deb6e65ea44f4fb118d
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-19 13:06:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-20 03:14:58 +0900

    [ruby/prism] Fix a diagnostic incompatibility

    This PR fixes a diagnostic incompatibility when using no anonymous keyword rest parameter:

    ```ruby
    foo(**)
    ```

    Note, although the actual update applies only to the `foo(**)` case, for reference,
    `foo(*)` and `foo(&) are also mentioned below.

    ## Ruby (Expected)

    ```console
    $ ruby -cve 'foo(*)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    -e:1: no anonymous rest parameter
    -e: compile error (SyntaxError)

    $ ruby -cve 'foo(**)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    -e:1: no anonymous keyword rest parameter
    -e: compile error (SyntaxError)

    $ ruby -cve 'foo(&)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    -e:1: no anonymous block parameter
    -e: compile error (SyntaxError)
    ```

    ## Prism (Actual)

    Before:

    ```console
    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(*)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:argument_no_forwarding_star @message="unexpected `*` when the parent method is not forwarding"
    @location=#<Prism::Location @start_offset=4 @length=1 start_line=1> @level=:fatal>]

    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(**)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:expect_expression_after_splat_hash @message="expected an expression after `**` in a hash"
    @location=#<Prism::Location @start_offset=4 @length=2 start_line=1> @level=:fatal>]

    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(&)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:argument_no_forwarding_amp @message="unexpected `&` when the parent method is not forwarding"
    @location=#<Prism::Location @start_offset=4 @length=1 start_line=1> @level=:fatal>]
    ```

    After:

    ```console
    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(*)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:argument_no_forwarding_star @message="unexpected `*` when the parent method is not forwarding"
    @location=#<Prism::Location @start_offset=4 @length=1 start_line=1> @level=:fatal>]

    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(**)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:argument_no_forwarding_star_star @message="unexpected `**` when the parent method is not forwarding"
    @location=#<Prism::Location @start_offset=4 @length=2 start_line=1> @level=:fatal>]

    $ bundle exec ruby -Ilib -rprism -wve 'p Prism.parse("foo(&)").errors'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseError @type=:argument_no_forwarding_amp @message="unexpected `&` when the parent method is not forwarding"
    @location=#<Prism::Location @start_offset=4 @length=1 start_line=1> @level=:fatal>]
    ```

    https://github.com/ruby/prism/commit/633c9d9fd4

commit 72a613bc6a7ac389e359fa9f0926ebfe395a9390
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-19 01:56:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-20 03:13:57 +0900

    [ruby/prism] Fix a diagnostic incompatibility for `Prism::Translation::Parser`

    This PR fixes a diagnostic incompatibility for `Prism::Translation::Parser` when using constant argument:

    ```ruby
    def foo(A)
    end
    ```

    ## Parser gem (Expected)

    Displays `formal argument cannot be a constant (Parser::SyntaxError)`:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve 'p Parser::Ruby33.parse("def foo(A) end")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    (string):1:9: error: formal argument cannot be a constant
    (string):1: def foo(A) end
    (string):1:         ^
    /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/diagnostic/engine.rb:72:
    in `process': formal argument cannot be a constant (Parser::SyntaxError)
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:274:in `diagnostic'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/ruby33.rb:12177:in `_reduce_663'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/racc-1.7.3/lib/racc/parser.rb:267:in `_racc_do_parse_c'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/racc-1.7.3/lib/racc/parser.rb:267:in `do_parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:190:in `parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:33:in `parse'
            from -e:1:in `<main>'
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the error messages displayed by the Parser gem were different.

    Before:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve 'Prism::Translation::Parser33.parse("def foo(A) end")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    (string):1:9: error:
    (string):1: def foo(A) end
    (string):1:         ^
    /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/diagnostic/engine.rb:72:
    in `process': Parser::SyntaxError (Parser::SyntaxError)
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `block in unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:216:in `each'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:216:in `unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:49:in `parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:33:in `parse'
            from -e:1:in `<main>'
    ```

    After:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve 'Prism::Translation::Parser33.parse("def foo(A) end")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    (string):1:9: error: formal argument cannot be a constant
    (string):1: def foo(A) end
    (string):1:         ^
    /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/diagnostic/engine.rb:72:
    in `process': formal argument cannot be a constant (Parser::SyntaxError)
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:218:in `block in unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:216:in `each'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:216:in `unwrap'
            from /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:49:in `parse'
            from /Users/koic/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/parser-3.3.0.5/lib/parser/base.rb:33:in `parse'
            from -e:1:in `<main>'
    ```

    https://github.com/ruby/prism/commit/4f2af88520

commit cbcb2d46fc6d0971084b41df987480d2d9355328
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-20 02:59:25 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-20 02:59:25 +0900

    [DOC] Unify Doxygen formats (#10285)

commit d7bc6f0effa1531a12b5c6b6286805854ed9d094
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-19 23:17:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 23:17:26 +0900

    [ruby/reline] Reline 0.5.0.pre
    (https://github.com/ruby/reline/pull/614)

    * Re-architecture LineEditor's internal state and rendering

    * Fix test related to LineEditor re-architecture

    * Bump to 0.5.0.pre.1

    * Hide cursor only when updating screen. Frequent hide&show makes cursor flickering.

    * Simplify rerender call from reline.rb

    * Simplify handle_cleared

    It only need to clear screen. line_editor.rerender will be called later.

    * Add description of updating pasting_state inserts continuous_insertion_buffer

    * Use meaningful block parameter

    Co-authored-by: Stan Lo <stan001212@gmail.com>

    * Fix use of `@cursor_y`

    Fix bug updating `@cursor_y`. Do not use `@cursor_y` while updating dialog because it is not current cursor position but cursor position at last rendered time.

    * Remove useless instance_variable_set in test

    These instance variables are already removed from LineEditor

    * Always initialize instance variables to avoid ruby 2.7 warning, remove unused instance variable

    * Call update_dialogs from reline.rb before first render

    * Combine state representing rendered screen information into `@rendered_screen`

    * Rename editor_cursor_ to wrapped_cursor

    It represents cursor position of word wrapped whole content

    * Remove unused code, tweak, add comment

    ---------

    https://github.com/ruby/reline/commit/3fa376217d

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit e127289632396f268099c9815a59bc7e7f13b3ec
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-03-19 21:49:05 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-19 21:49:05 +0900

    [Bug #20279] [DOC] Update for `BasicObject`

    The current implementation raises on the call to super

commit 12be40ae6be78ac41e8e3f3c313cc6f63e7fa6c4
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2023-12-01 19:33:00 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-19 17:26:49 +0900

    Implement chilled strings

    [Feature #20205]

    As a path toward enabling frozen string literals by default in the future,
    this commit introduce "chilled strings". From a user perspective chilled
    strings pretend to be frozen, but on the first attempt to mutate them,
    they lose their frozen status and emit a warning rather than to raise a
    `FrozenError`.

    Implementation wise, `rb_compile_option_struct.frozen_string_literal` is
    no longer a boolean but a tri-state of `enabled/disabled/unset`.

    When code is compiled with frozen string literals neither explictly enabled
    or disabled, string literals are compiled with a new `putchilledstring`
    instruction. This instruction is identical to `putstring` except it marks
    the String with the `STR_CHILLED (FL_USER3)` and `FL_FREEZE` flags.

    Chilled strings have the `FL_FREEZE` flag as to minimize the need to check
    for chilled strings across the codebase, and to improve compatibility with
    C extensions.

    Notes:
      - `String#freeze`: clears the chilled flag.
      - `String#-@`: acts as if the string was mutable.
      - `String#+@`: acts as if the string was mutable.
      - `String#clone`: copies the chilled flag.

    Co-authored-by: Jean Boussier <byroot@ruby-lang.org>

commit 0985e587901a9039ee0f523d285ed3834a6e9729
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-19 11:16:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 11:16:51 +0900

    [ruby/resolv] Bump up 0.4.0

    https://github.com/ruby/resolv/commit/44ae1e8531

commit ef0e08f327aa06cd66c0e57bc50681f4375149f3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-19 10:54:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-19 10:54:52 +0900

    Don't replace doc url for vendored files

commit ce544f8dbddf3a41bea28b15b6432b0e3fd516f3
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-19 10:01:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 10:30:38 +0900

    [ruby/prism] [Compatibility] Improve printf format

    For better compatibility, this patch suggests using __MINGW_PRINTF_FORMAT that GCC provides for MINGW environment.

    https://github.com/ruby/prism/commit/a3a792b64f

commit 6c1e8029d0e8598d075e478ac557091495bc9ffa
  Author:     Yuki Nishijima <yuki@xpillars.software>
  AuthorDate: 2024-03-19 10:25:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 10:27:32 +0900

    [ruby/did_you_mean] Do not use #inspect to avoid unexpected performance degradation

    closes https://github.com/ruby/did_you_mean/pull/100

    https://github.com/ruby/did_you_mean/commit/bd11eefd6c

commit 3f5f04afa779622ba02b7ad4b69b15b136c249a0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-19 03:53:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-19 05:39:04 +0900

    Remove duplicated function prototype rb_gc_disable_no_rest

commit 0b34b75ba1d1a18551cc918cdc89183fcddcf2ca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-19 03:18:53 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-19 03:18:53 +0900

    [PRISM] Remove unnecessary dependencies in common.mk

commit 548203eaf2101d800ac51efd4bb61adbecaef40c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-19 01:20:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 02:00:07 +0900

    [ruby/prism] Warn on frozen_string_literal after tokens

    https://github.com/ruby/prism/commit/edece87801

commit 8514785e946dc14e5acaa74fc127303c805688d4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-19 01:15:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 01:59:58 +0900

    [ruby/prism] CRuby error message for lonely else

    https://github.com/ruby/prism/commit/1219a709e4

commit 7a1a572428ed7a5cac416735f1b50273d51bdf75
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-17 02:16:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-19 01:12:49 +0900

    [ruby/prism] Use `require_relative` in the Prism codebase

    If there are many searches in the `$LOAD_PATH` in the user environment,
    require will perform unnecessary searches that are not needed.
    In contrast, `require_relative` is efficient because it uses a relative path.

    https://github.com/ruby/prism/commit/438ccc67bd

commit 802e857ae6553bdc441d11892af0259a400f504e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-19 01:02:22 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-19 01:02:22 +0900

    YJIT: Support arity=-2 cfuncs (#10268)

    This type of cfuncs shows up as consume a lot of cycles in profiles of
    the lobsters benchmark, even though in the stats they don't happen that
    frequently. Might be a bug in the profiling, but these calls are not
    too bad to support, so might as well do it.

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

commit 97810cbbf2bf3346c6ad7bd67b38808f0eb11d61
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-18 23:58:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-19 00:55:43 +0900

    [PRISM] Process encoding on CLI for -K

commit b7ca4b1e2dd2e72a783668e547d8c73f9b588f2d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-18 23:16:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-19 00:55:43 +0900

    [PRISM] Fix up frozen checks for aref

commit f5497203b693afa2cf5d10ef57467f7eed008735
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-03 00:39:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-18 23:29:54 +0900

    Highlight messages in fetch-bundled_gems

commit 6ccc04cf456de9572dd2fd40c47cc614942b68a0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-06 16:29:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-18 23:29:53 +0900

    Add more abstract decorations for messaging

commit 4469729558c815954a64cd0b309e73749096284f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-16 04:36:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-18 23:19:11 +0900

    Remove rb_raw_obj_info_basic

    It's not used outside of gc.c.

commit c73dd96fe495f21a7f47a8386b926dd55302e04e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-18 22:58:53 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-18 22:58:53 +0900

    [PRISM] Resync

commit cb029fa4e8d2e8778f7a7b911bc7f0a0bd675524
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2023-10-10 02:38:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-18 20:42:37 +0900

    [rubygems/rubygems] Deprecate `bundle plugin install --local-git=`

    It's the exact same implementation as --git

    https://github.com/rubygems/rubygems/commit/18eb2418c6

commit 8a8df4917488ff1c8034119a94216f1b04ed3bfc
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-14 23:50:19 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-18 16:55:46 +0900

    Update set_backtrace documentation

    Followup: https://github.com/ruby/ruby/pull/10017

    [Feature #13557]

commit 454b939d7c9223ca04aa06a79939187ee6f3396c
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-11 13:21:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-18 16:49:33 +0900

    Launchable: Remove unused codes

commit 0ff2c7fe6fbd663ebffdbbd09c44b810cdf492d2
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-17 23:03:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-18 13:52:27 +0900

    Faster Integer.sqrt for large bignum

    Integer.sqrt uses Newton's method.
    This pull request reduces the precision which was unnecessarily high in each calculation step.

commit dcfbe36cb552ca70df82b3aeb346045733ade62e
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-03-18 12:32:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-18 12:32:53 +0900

    Update unmerged RBS to debug `EBADF` error (#10275)

    Update bundled_gems

commit e6487a9263a6d4a738cdb0ff780601ca866fc362
  Author:     OKURA Masafumi <masafumi.o1988@gmail.com>
  AuthorDate: 2024-03-18 11:37:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-18 11:37:42 +0900

    [ruby/irb] docs(help): Add latest options to ja help message
    (https://github.com/ruby/irb/pull/903)

    https://github.com/ruby/irb/commit/3c6d452495

commit dc06375c4fd471ed75da74e28154357a22c2d862
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-03-14 00:29:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-18 07:55:16 +0900

    [rubygems/rubygems] Ignore commented out keys in config file

    https://github.com/rubygems/rubygems/commit/c4a8d2a930

commit 5fd6b461c777654493c32c03c19f0b75362b966f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-17 19:09:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 19:09:37 +0900

    Refactor encdb and transdb templates

    - Simplify globbed file names.
    - Prefer `File.open` over `Kernel#open`.
    - Swallow initializer blocks instead of line by line with flip-flop.
    - Re-structure converter list.

commit e670892497f2eed07983617104ea8d38da2706b1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-17 18:47:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 18:47:18 +0900

    Remove no longer needed matching

commit 9e470ebdcd59bc2655d78a61e2a8e8bf6a4e0521
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-17 18:28:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 18:28:28 +0900

    Revert "Remove flip-flop usages from build scripts"

    This reverts commit 301fa452f7a9cdea922103e9c50d85a2d5652d0d.

commit 28a2105a554d875cc5c6fc2b5ac20e0e6c04966e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 00:32:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 15:57:19 +0900

    Prefer `enum ruby_tag_type` over `int`

commit a91800c4a05cc573a0ed1607210fc360a5c16b57
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-08 00:28:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 15:57:19 +0900

    Validate tag type to jump

commit e69708e5ef69dc7e7ff08881f16f6b10f65fafd0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-17 13:37:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 13:37:02 +0900

    [DOC] Mention about disallowed arguments in index

    [Bug #19918]
    [Bug #20218]

commit 0d5b16599a4ad606619228623299b931c48b597b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-20 11:59:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 13:20:23 +0900

    [Bug #20218] Reject keyword arguments in index

commit df5ef282337764508a1e1d93459d7a280e46647c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-18 19:27:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-17 13:18:37 +0900

    [Bug #19918] Reject block passing in index

commit 3605d6076dab516c7b483a8be6038d5b6da1845a
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-16 15:21:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-17 02:55:38 +0900

    [ruby/prism] Fix token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes token incompatibility for `Prism::Translation::Parser::Lexer` when using backquoted heredoc indetiner:

    ```ruby
    <<-`  FOO`
    a
    b
         FOO
    ```

    ## Parser gem (Expected)

    Returns `tXSTRING_BEG` as the first token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Parser::Ruby33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr,
      s(:str, "a\n"),
      s(:str, "b\n")), [], [[:tXSTRING_BEG, ["<<`", #<Parser::Source::Range example.rb 0...10>]],
    [:tSTRING_CONTENT, ["a\n", #<Parser::Source::Range example.rb 11...13>]],
    [:tSTRING_CONTENT, ["b\n", #<Parser::Source::Range example.rb 13...15>]],
    [:tSTRING_END, ["  FOO", #<Parser::Source::Range example.rb 15...23>]], [:tNL, [nil, #<Parser::Source::Range example.rb 10...11>]]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the tokens returned by the Parser gem were different. The escaped backslash does not match in the `tSTRING_BEG` token and
    value of `tSTRING_END` token.

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr,
      s(:str, "a\n"),
      s(:str, "b\n")), [], [[:tSTRING_BEG, ["<<\"", #<Parser::Source::Range example.rb 0...10>]],
    [:tSTRING_CONTENT, ["a\n", #<Parser::Source::Range example.rb 11...13>]],
    [:tSTRING_CONTENT, ["b\n", #<Parser::Source::Range example.rb 13...15>]],
    [:tSTRING_END, ["`  FOO`", #<Parser::Source::Range example.rb 15...23>]], [:tNL, [nil, #<Parser::Source::Range example.rb 10...11>]]]]
    ```

    After this correction, the AST and tokens returned by the Parser gem are the same:

    ```console
    $ bunlde exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr,
      s(:str, "a\n"),
      s(:str, "b\n")), [], [[:tXSTRING_BEG, ["<<`", #<Parser::Source::Range example.rb 0...10>]],
    [:tSTRING_CONTENT, ["a\n", #<Parser::Source::Range example.rb 11...13>]],
    [:tSTRING_CONTENT, ["b\n", #<Parser::Source::Range example.rb 13...15>]],
    [:tSTRING_END, ["  FOO", #<Parser::Source::Range example.rb 15...23>]], [:tNL, [nil, #<Parser::Source::Range example.rb 10...11>]]]]
    ```

    https://github.com/ruby/prism/commit/308f8d85a1

commit 815c7e197cfa193fc83844f2b988e26d0a56464d
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-15 07:10:07 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-17 01:27:32 +0900

    Avoid caller-side hash allocation for f(*a, kw: 1) and f(*a, kw: 1, &block)

    Previously, this used:

    ```
    splatarray false
    duphash
    getlocal/getblockparamproxy # in the block passing case
    send ARGS_SPLAT|KW_SPLAT|KW_SPLAT_MUT
    ```

    This changes the duphash to putobject, with putobject using
    a frozen version of the hash, and removing the keyword mutability:

    ```
    splatarray false
    putobject
    getlocal/getblockparamproxy # in the block passing case
    send ARGS_SPLAT|KW_SPLAT
    ```

commit bda5b099375d91274a5314aad2608f8e5b37e891
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-03-17 00:19:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-17 00:20:03 +0900

    [ruby/irb] Fix irb_history saved to current directory
    (https://github.com/ruby/irb/pull/901)

    * Always save irb_history in HOME or XDG_CONFIG_HOME

    Also split irbrc search logic from irb_history search logic as a refactor

    * Remove IRB.conf[:RC_NAME_GENERATOR] because it's not configurable

    This conf is used to specify which irbrc to load. Need to configure before irbrc is loaded, so it's actually not configurable.
    This conf is also used for history file search, but it is configurable by conf[:HISTORY_FILE].

    * remove rc_file_test because it is tested with rc_files, remove useless test setup

    * Make internal irbrc searching method private

    https://github.com/ruby/irb/commit/11d03a6ff7

commit aae9f5628c5af6a5eb8027e9f21b44fa80162d35
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-16 23:44:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-16 23:44:07 +0900

    Prefer the simple read/write `File` singleton methods

commit d4a53b465a6f77765e29f019d6ea4e6508c39f17
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-16 23:29:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-16 23:29:06 +0900

    Prefer the simple read/write `File` singleton methods

commit 137b52a88192b0d44e218b0433aa0e16cfbeb091
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-16 22:51:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-16 22:51:07 +0900

    [ruby/irb] Use markdown format for docs
    (https://github.com/ruby/irb/pull/890)

    * Convert irb.rb's document into markdown format

    * Hide should-be-private top-level methods from docs

    * Skip xmp.rb's docs

    * Declare lib/irb.rb's markup do it works in ruby/ruby too

    * Ignore docs folder

    https://github.com/ruby/irb/commit/e9a175e06b

commit f1682407c528bb6f063639102404844df15a9583
  Author:     Mau Magnaguagno <maumagnaguagno@gmail.com>
  AuthorDate: 2024-03-11 02:48:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-16 18:51:09 +0900

    [ruby/did_you_mean] Avoid division for small length2

    https://github.com/ruby/did_you_mean/commit/cb518e251a

commit affbc79a10f21eecb4291a9a5906e2b9ef6771f6
  Author:     Mau Magnaguagno <maumagnaguagno@gmail.com>
  AuthorDate: 2023-01-26 07:51:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-16 18:51:09 +0900

    [ruby/did_you_mean] Remove Integer floor and prefix index from Jaro distance

    The variable ``length2`` is an Integer, call to floor returns self.
    The variables ``i`` and ``prefix_bonus`` are equally incremented, no need to keep the ``i`` variable.

    https://github.com/ruby/did_you_mean/commit/4408802289

commit def7023ee4a3fc6eeba9d3a34c31a5bcff315fac
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-16 06:00:24 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-03-16 08:15:58 +0900

    Initialize VM stack if VM_CHECK_MODE

    Lately there has been a few flaky YJIT CI failures where a new Ruby
    thread is finding the canary on the VM stack. For example:

    https://github.com/ruby/ruby/actions/runs/8287357784/job/22679508482#step:14:109

    After checking a local rr recording, it's clear that the canary was
    written there when YJIT was using a temporary malloc region, and then
    later handed to the new Ruby thread. Previously, the VM stack was
    uninitialized, so it can have stale values in it, like the canary.

    Though unlikely, this can happen without YJIT too. Initialize the stack
    if we're spawning canaries.

commit 185112f4ff901ba05ee3e7fe64caaff0fffb317e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-16 04:26:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-16 05:03:26 +0900

    Remove unused macro TF

commit e3a82d79fd727c90638ef697cb1b5ad73c7e62c0
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-16 01:20:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-16 03:08:39 +0900

    [ruby/prism] Fix token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes token incompatibility for `Prism::Translation::Parser::Lexer`
    when using escaped backslash in string literal:

    ```ruby
    "\\ foo \\ bar"
    ```

    ## Parser gem (Expected)

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Parser::Ruby33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:str, "\\ foo \\ bar"), [], [[:tSTRING, ["\\ foo \\ bar", #<Parser::Source::Range example.rb 0...15>]],
    [:tNL, [nil, #<Parser::Source::Range example.rb 15...16>]]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the tokens returned by the Parser gem were different. The escaped backslash does not match in the `tSTRING` token:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:str, "\\ foo \\ bar"), [], [[:tSTRING, ["\\\\ foo \\\\ bar", #<Parser::Source::Range example.rb 0...15>]],
    [:tNL, [nil, #<Parser::Source::Range example.rb 15...16>]]]]
    ```

    After this correction, the AST and tokens returned by the Parser gem are the same:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:str, "\\ foo \\ bar"), [], [[:tSTRING, ["\\ foo \\ bar", #<Parser::Source::Range example.rb 0...15>]],
    [:tNL, [nil, #<Parser::Source::Range example.rb 15...16>]]]]
    ```

    The reproduction test is based on the following strings.txt and exists:
    https://github.com/ruby/prism/blob/v0.24.0/test/prism/fixtures/strings.txt#L79

    But, the restoration has not yet been performed due to remaining other issues in strings.txt.

    https://github.com/ruby/prism/commit/2c44e7e307

commit c9da8d67fdb9fab82f76d583239f5b9761f60350
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-16 00:30:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-16 03:07:59 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser`
    for the heredocs_leading_whitespace.txt test.

    https://github.com/ruby/prism/commit/7d45fb1eed

commit aceee71c35e0b387691836e756b4e008efd84cf1
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-01 03:57:25 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-16 00:23:41 +0900

    Avoid a hash allocation when calling def f(kw: 1) with keyword splat

    c20e819e8b04e84a4103ca9a036022543459c213 made calling a method
    that accepts specific keywords but not a keyword splat with a keyword
    splat allocating a hash when it previously did not.

    Instead of duplicating the hash and removing hash entries,
    lookup in the provided hash without duplicating the hash, and
    track to make sure all hash entries in the hash were looked up
    (extra hash entries would be errors).

commit a83703af79dca708736a00d45917f19a3dd698bb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-16 00:09:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-16 00:09:29 +0900

    Skip warnings for duplicate keys

commit 91bf7eb274e0b6e431b4f89a6dc814701a4d8739
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-15 20:38:39 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-15 23:52:33 +0900

    Refactor frozen_string_literal check during compilation

    In preparation for https://bugs.ruby-lang.org/issues/20205.

    The `frozen_string_literal` compilation option will no longer
    be a boolean but a tri-state: `on/off/default`.

commit b4f3f3c1031cc9ef5c6741042236db497be6602b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-15 22:47:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-15 22:47:49 +0900

    [PRISM] Fix up source file when not frozen

commit 043c90e16194e21006e185084199332059574da5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-15 22:42:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-15 22:42:44 +0900

    Fix compiling shareable constant nodes

commit f2e96d4bd90595b0818f02559a53905174496e34
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-03-15 21:24:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 22:31:02 +0900

    [ruby/prism] Add PM_STRING_FLAGS_FROZEN / PM_STRING_FLAGS_MUTABLE on PM_SOURCE_FILE_NODE

    For all intent and purposes, `__FILE__` is a string literal subject
    to the `# frozen_string_literal: true/false` comment and to the
    global `--enable-frozen-string-literal / --disable-frozen-string-literal`
    CLI flags.

    https://github.com/ruby/prism/commit/7e33c92afd

commit ec4333c9703939109588af87936ee43ad48f9dcc
  Author:     Pierre Merlin <pimpin@users.noreply.github.com>
  AuthorDate: 2024-03-15 22:23:50 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-15 22:23:50 +0900

    [DOC] exceptions.rdoc : Add heads up about ensure not returning implicitly

    There is a weird gotcha I already forgot twice.... and regret not to have found in doc.
    See https://dev.to/okuramasafumi/be-sure-ensure-doesn-t-return-value-implicitly-8gp

commit 077ac25ed8c699724467f209cf8df84b4abf9768
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-09 22:00:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 22:21:43 +0900

    Iterate the documentation of Module.const_missing

commit 9284fe123ef583ec4ba09097bcc795a54b1f5cf7
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-09 21:59:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 22:21:43 +0900

    Remove unnecessary else branch

    This matches the existing style in the rest of the file.

commit a26e3bf360ed1044d3b3079402df2e2956921c16
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-09 21:58:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 22:21:43 +0900

    Minor edits to variable.c

commit 0dbe3af417a0333b03dc1ebe81f228f366e80c23
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-03-09 21:58:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 22:21:43 +0900

    Fix the signature of Module#name in the API docs

commit 40ecad0ad796f1515c654c127ae498854c9a6120
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-15 22:14:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-15 22:14:57 +0900

    [Universal parser] Fix -Wsuggest-attribute=format warnings

    Under a configuration including `cppflags=-DUNIVERSAL_PARSER`, warnings listed below show in build time:

    ```
    node.c:396:30: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
      396 |     bug_report_func rb_bug = ast->node_buffer->config->bug;
          |                              ^~~
    ```

    ```
    ruby_parser.c:655:21: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
      655 |     .compile_warn = rb_compile_warn,
          |                     ^~~~~~~~~~~~~~~
    ruby_parser.c:656:24: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
      656 |     .compile_warning = rb_compile_warning,
          |                        ^~~~~~~~~~~~~~~~~~
    ruby_parser.c:657:12: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
      657 |     .bug = rb_bug,
          |            ^~~~~~
    ruby_parser.c:658:14: warning: initialization left-hand side might be a candidate for a format attribute [-Wsuggest-attribute=format]
      658 |     .fatal = rb_fatal,
          |              ^~~~~~~~
    ```

    To fix, this patch suggests adding `__attribute__((format(printf, n, m)))` to those function declarations.

commit 1d91a1ad2db353aad37894a3e4a3756d5dd51413
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-15 18:32:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 21:54:55 +0900

    Cover all warning categories by using `Warning.categories`

commit 03e7b266a7be342e22c00725040266c1abbcba59
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-15 18:31:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 21:54:55 +0900

    Test deprecation warning with `$;`

commit c0b8dee95a5412f395486a9bcb4959f93509cecb
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-15 01:22:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 21:31:40 +0900

    [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`

    This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
    for dstring literal:

    ```ruby
    "foo
      #{bar}"
    ```

    ## Parser gem (Expected)

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Parser::Ruby33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:dstr,
      s(:str, "foo\n"),
      s(:str, "  "),
      s(:begin,
        s(:send, nil, :bar))), [], [[:tSTRING_BEG, ["\"", #<Parser::Source::Range example.rb 0...1>]],
    [:tSTRING_CONTENT, ["foo\n", #<Parser::Source::Range example.rb 1...5>]],
    [:tSTRING_CONTENT, ["  ", #<Parser::Source::Range example.rb 5...7>]],
    [:tSTRING_DBEG, ["\#{", #<Parser::Source::Range example.rb 7...9>]],
    [:tIDENTIFIER, ["bar", #<Parser::Source::Range example.rb 9...12>]],
    [:tSTRING_DEND, ["}", #<Parser::Source::Range example.rb 12...13>]],
    [:tSTRING_END, ["\"", #<Parser::Source::Range example.rb 13...14>]], [:tNL, [nil, #<Parser::Source::Range example.rb 14...15>]]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the AST and tokens returned by the Parser gem were different. In this case, `dstr` node should not be nested:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:dstr,
      s(:dstr,
        s(:str, "foo\n"),
        s(:str, "  ")),
      s(:begin,
        s(:send, nil, :bar))), [], [[:tSTRING_BEG, ["\"", #<Parser::Source::Range example.rb 0...1>]],
    [:tSTRING_CONTENT, ["foo\n", #<Parser::Source::Range example.rb 1...5>]],
    [:tSTRING_CONTENT, ["  ", #<Parser::Source::Range example.rb 5...7>]],
    [:tSTRING_DBEG, ["\#{", #<Parser::Source::Range example.rb 7...9>]],
    [:tIDENTIFIER, ["bar", #<Parser::Source::Range example.rb 9...12>]],
    [:tSTRING_DEND, ["}", #<Parser::Source::Range example.rb 12...13>]],
    [:tSTRING_END, ["\"", #<Parser::Source::Range example.rb 13...14>]], [:tNL, [nil, #<Parser::Source::Range example.rb 14...15>]]]]
    ```

    After this correction, the AST and tokens returned by the Parser gem are the same:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = File.read("example.rb"); p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:dstr,
      s(:str, "foo\n"),
      s(:str, "  "),
      s(:begin,
        s(:send, nil, :bar))), [], [[:tSTRING_BEG, ["\"", #<Parser::Source::Range example.rb 0...1>]],
    [:tSTRING_CONTENT, ["foo\n", #<Parser::Source::Range example.rb 1...5>]],
    [:tSTRING_CONTENT, ["  ", #<Parser::Source::Range example.rb 5...7>]],
    [:tSTRING_DBEG, ["\#{", #<Parser::Source::Range example.rb 7...9>]],
    [:tIDENTIFIER, ["bar", #<Parser::Source::Range example.rb 9...12>]],
    [:tSTRING_DEND, ["}", #<Parser::Source::Range example.rb 12...13>]],
    [:tSTRING_END, ["\"", #<Parser::Source::Range example.rb 13...14>]], [:tNL, [nil, #<Parser::Source::Range example.rb 14...15>]]]]
    ```

    https://github.com/ruby/prism/commit/c1652a9ee7

commit c45ad17fa1269aa882ed170760a5603a814d7c36
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-15 10:37:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 21:31:26 +0900

    [ruby/prism] Shareable constant nodes

    https://github.com/ruby/prism/commit/473cfed6d0

commit 59785680ddda63d2f5a9ab02f35d3c4b43fc3013
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-15 03:07:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 15:44:05 +0900

    Remove unused macro GC_NOTIFY in gc.c

commit 99024a1602011ae9c1dd46c94237a48b879a00b5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-15 15:04:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-15 15:36:38 +0900

    Use tag version of minitest-5.22.3

commit 823727538e0b32fc7e7b74c05299991fd587bf32
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-15 14:12:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 14:12:08 +0900

    Deprecate `--dryrun` options in favor of `--dry-run`

commit eceb36c7b9c71d7d230c104a486c3ba1a5afd8f9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-15 14:11:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 14:11:16 +0900

    downloader.rb: Add `--help` option

commit f0826057350555f802d5e27a26b6b91510182ccb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-15 13:55:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-15 13:55:47 +0900

    outdate-bundled-gems.rb: Add `--help` option

commit a1ced60692022184d40bdbb980131705e6be4fda
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-07-01 00:57:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 13:34:14 +0900

    [ruby/stringio] NULL StringIO by `StringIO.new(nil)`

    https://github.com/ruby/stringio/commit/779f71359d

commit 1e7c0fcc9ad9f6212752b0fce54d502a5eb6459c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-15 09:53:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-15 10:59:26 +0900

    [PRISM] Fix float in case dispatch

commit 3fcab3cddf2e796a3e3b9fd8b308fd351126e305
  Author:     Adam Daniels <adam@mediadrive.ca>
  AuthorDate: 2022-01-14 00:06:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 09:27:01 +0900

    [ruby/rdoc] Use readline history when ri is interactive

    https://github.com/ruby/rdoc/commit/d0074a23cc

commit 193ebc3c3a7fc03724dedba31a38ca9196869c00
  Author:     toshimaru <me@toshimaru.net>
  AuthorDate: 2023-12-14 04:46:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 09:10:14 +0900

    [ruby/rdoc] test: Add tests for RDoc::TokenStream#add_tokens, add_token ,collect_tokens and pop_token

    https://github.com/ruby/rdoc/commit/9ed530b8f9

commit c38878494377c94f2425a81e598260ea944ef7f3
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-15 06:45:13 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-15 08:11:35 +0900

    Fix array allocation optimization for f(*a, kw: 1)

    This was broken during the refactoring in 22e488464a412afa58f201c49e54773aa8011320.

commit ed2f68525302413a676d81821b949a21d46407e9
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-15 05:44:53 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-03-15 05:44:53 +0900

    Update to ruby/spec@89175b2

commit 1d9f99144bb5239de303c51b86ccde3a33782e8d
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-15 05:44:52 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-03-15 05:44:52 +0900

    Update to ruby/mspec@b8f8f4e

commit c2170e5c2b0f644dcaefc7793430423b51865227
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-15 02:52:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-15 02:52:20 +0900

    Fix typo from gloabl_object_list to global_object_list

commit 4559a161af5cc57c129e3b2806ae7c0cd989b8b7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-14 02:58:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-15 02:29:59 +0900

    Move gloabl_object_list from objspace to VM

    This is to be consistent with the mark_object_ary that is in the VM.

commit b0be2961f7ca18c14509a24e37139f35aac626d5
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-15 02:08:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-15 02:08:23 +0900

    YJIT: Let yjit_perf.py support perf with Python disabled (#10246)

    * YJIT: Let yjit_perf.py support perf with Python disabled

    * Update yjit.md about perf

    * Recommend the extra interface by default

commit 09d8c99cdcb04fb6c6c8e61c9dea28927a3a0b46
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-13 20:50:11 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-15 01:56:15 +0900

    Ensure test suite is compatible with --frozen-string-literal

    As preparation for https://bugs.ruby-lang.org/issues/20205
    making sure the test suite is compatible with frozen string
    literals is making things easier.

commit 4e03d56e21e3df98a828c8efb7011b01db1a8d52
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-14 21:39:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-15 01:53:04 +0900

    [Feature #20265] Update NEWS.md

commit ff51dc56540c3ba574a4b3f606bafd57788f620f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 02:04:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-15 01:53:04 +0900

    [Feature #20265] Remove rb_newobj_of and RB_NEWOBJ_OF

commit 8e1831406ffd385213f67baba0d1fe6d44e9e0ea
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 00:52:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-15 01:53:04 +0900

    [Feature #20265] Remove rb_newobj and RB_NEWOBJ

commit 161545d55d894f42535fa5de7ac19cfb57122a2d
  Author:     Jean byroot Boussier <jean.boussier+github@shopify.com>
  AuthorDate: 2024-03-15 01:09:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 01:09:12 +0900

    [ruby/reline] Ensure compatibility with frozen string literals
    (https://github.com/ruby/reline/pull/643)

    Ref: https://bugs.ruby-lang.org/issues/20205

    Ruby is moving forward with enabling frozen string literals
    in the future.

    Reline being part of the ruby-core test suite should work when
    ruby is ran with `--enable-frozen-string-literal`.

    https://github.com/ruby/reline/commit/7e2de64cf0

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit d10afe03575446fa8d561fdc21ca3bed90df6e94
  Author:     Go <monkeywzr@gmail.com>
  AuthorDate: 2024-03-15 00:40:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 00:41:03 +0900

    [ruby/irb] Rescue from exceptions raised by #name
    (https://github.com/ruby/irb/pull/899)

    * Rescue from exceptions raised by #name

    Irb might terminate if the class overwrites `name` and raise errors. This commit rescue irb from termination.

    * fix for other unknown patterns

    https://github.com/ruby/irb/commit/35b87cf893

commit 3822ca9884e38bae0def0dc440df080ad16069ad
  Author:     hogelog <konbu.komuro@gmail.com>
  AuthorDate: 2024-03-15 00:40:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-15 00:40:27 +0900

    [ruby/irb] Add disable_irb command to disable debug of binding.irb
    (https://github.com/ruby/irb/pull/898)

    * Add disable_irb command to disable debug of binding.irb

    * disable_irb doesn't override Kernel.exit

    Kernel.exit call is removed because disable_irb does not override Kernel.exit
    and workaround to https://bugs.ruby-lang.org/issues/18234 is not needed.

    https://github.com/ruby/irb/commit/29901e4f21

commit 83618f2cfa004accdd1514de7dcbba291aa7e831
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 05:07:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-14 21:33:30 +0900

    [Feature #20306] Implement ruby_free_at_exit_p

    ruby_free_at_exit_p is a way for extensions to determine whether they
    should free all memory at shutdown.

commit 315bde5a0f95562f58405a43456ec6715ef20d32
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-02-19 19:30:26 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-14 19:38:40 +0900

    `Exception#set_backtrace` accept arrays of `Backtrace::Location`

    [Feature #13557]

    Setting the backtrace with an array of strings is lossy. The resulting
    exception will return nil on `#backtrace_locations`.

    By accepting an array of `Backtrace::Location` instance, we can rebuild
    a `Backtrace` instance and have a fully functioning Exception.

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

commit 5326337d4f15ccf33128b3cf5a8896ba7f91fcc4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-15 10:56:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 18:33:28 +0900

    [Feature #20244] Issue a single `Warning.warn` call

    Make the entire series of message lines a multiline string so that the
    `Warning.warn` hook can receive them in a single call.

commit 67fe047821d08781f783476c4060f017cd27541f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-14 17:56:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 18:33:28 +0900

    [Feature #20244] Register global variable for another thread

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit 4bb8f8582fe347315f8c9dce87c9bdf4cd8f9027
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-07 19:51:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 18:33:28 +0900

    [Feature #20244] Show the conflicting another chdir block

commit 8fe86feecdcd0318c9ec88c10d2698beb9878bee
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-07 19:43:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 18:33:28 +0900

    [Feature #20244] Extract `chdir_lock` and its stuffs

commit 1ad366134ded1667745dd9fa70919051869f8d6c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 22:25:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 17:56:55 +0900

    [Feature #20293] Add `Warning.categories`

commit f36a71e26995b69ff72bc132bbcf40ad89571414
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 01:38:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 17:49:37 +0900

    [Bug #20307] Fix `Hash#update` to make frozen copy of string keys

commit cd774f4ab916290128924a3eb121b9e56fb587d2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 01:22:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 17:49:37 +0900

    Extract `RHASH_STRING_KEY_P`

commit c1279a3da53d2869181cbc232213213b8bd99db7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-26 23:47:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 17:49:37 +0900

    Extract `RHASH_IDENTHASH_P`

commit fdf1fa5f5f85277c55854a96744973366f4bc4b5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-14 17:41:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-14 17:41:24 +0900

    Revert "Warn ostruct for Ruby 3.5"

    This reverts commit 1acbdc76d6ee73bc2a4d490f8809bd128abafc1f.

    I need to remove ostruct from Rake or fix bundler example.

    https://github.com/ruby/ruby/actions/runs/8277371220/job/22647605911#step:11:3428

commit 1acbdc76d6ee73bc2a4d490f8809bd128abafc1f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-14 16:54:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-14 17:07:23 +0900

    Warn ostruct for Ruby 3.5

commit 04fc9f87be8dd352e7d892b0d6b08565ef752111
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-14 16:27:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-14 16:27:37 +0900

    Use released version of bigdecimal

commit 1cffaf1c25ada37001fb198d5565805be1a62447
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-14 15:12:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-14 15:12:03 +0900

    minitest-5.22.3 tag is not available yet

commit 07b40044ada7f98f67b3807dddeda76fff12b223
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-14 14:21:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-14 14:21:50 +0900

    Use released version of minitest

commit 578f96afb53c43ef4298c26ba158334fab56c702
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 01:00:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 13:30:28 +0900

    [ruby/stringio] [DOC] Package rdoc files

    https://github.com/ruby/stringio/commit/8522c90e4b

commit c913f3347c9669f2efc854cad7e0e444fac0ae6a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 01:01:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 13:30:28 +0900

    [ruby/stringio] [DOC] Add missing documents

    https://github.com/ruby/stringio/commit/9cc1dfa19c

commit 35706c608c236b5d02a2975567bd1cdfda9cf4d6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-05-06 12:38:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 13:30:27 +0900

    [ruby/stringio] [DOC] Add rdoc task

    https://github.com/ruby/stringio/commit/5dd52d4aec

commit b01d319ec82150e7f938a0c7bf79eae11e199931
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 13:19:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 13:19:46 +0900

    [ruby/fcntl] [DOC] Package files for RDoc

    https://github.com/ruby/fcntl/commit/b946e505f1

commit e394f5539e036efabf46346fbb9699777cc1f2d3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 13:01:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 13:01:24 +0900

    [ruby/fcntl] [DOC] Package document files

    https://github.com/ruby/fcntl/commit/ed2d725505

commit 4ae67b1ab5e63280bfb7ae7cc80250a6c1495801
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 12:40:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 12:49:40 +0900

    [ruby/fcntl] [DOC] Add missing documents

    https://github.com/ruby/fcntl/commit/a201ed6682

commit 085daf4840aa09aa3774ed3237d7a017be4ca157
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 12:39:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 12:49:40 +0900

    [ruby/fcntl] [DOC] Add task and files for RDoc

    https://github.com/ruby/fcntl/commit/1c7c70fa5d

commit 5fe1853e9b483c4ad4d55063727299b9659c137b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 12:38:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 12:49:38 +0900

    [ruby/fcntl] Reduce duplicate `O_ACCMODE` definitions

    https://github.com/ruby/fcntl/commit/6a6442a7f8

commit d49b41566b5fea30e954d1661855ba702206ac56
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-14 12:37:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 12:49:37 +0900

    [ruby/fcntl] [DOC] Remove redundant directives

    https://github.com/ruby/fcntl/commit/a99909a90f

commit 00c32f606adfa30552fdd1a1be3e301dde00963b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 04:47:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 08:01:43 +0900

    [PRISM] Do not send numbered parameters into eval

commit 2f8cbd6431016cf3498b0f26e56d3d5b214b58b0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 04:38:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 08:01:33 +0900

    [PRISM] Handle ambiguous_param0 for it and numbered parameters

commit 7c9e6eab89c76bdb78268bdd574ae4c362ea2c11
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 04:24:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 08:01:21 +0900

    Handle nth ref too big

commit 42bfbe9aa6fe1463921c6d86fd61e5c89e962ac2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 02:56:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-14 03:50:44 +0900

    Remove unused size_pool_edge_names

commit 76f9cfd0b912785b65ccd1b9bf1abefc388aaaca
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-03-14 03:50:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-14 03:50:18 +0900

    [DOC] Array doc (#10199)

commit 2cfcebb2a8f62bcc7b595b551db85abd93efaaa2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 03:22:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 03:35:18 +0900

    [ruby/prism] Warn for maximum number variables

    https://github.com/ruby/prism/commit/2cdbf81c95

commit f0b5d0ad5460a9bba717ba08fe027a738b7201b2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 01:23:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 03:25:03 +0900

    [PRISM] Turn on more tests

commit fa009e392c1059c7bd56c8e69dccba17ad7cb353
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 02:49:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 03:24:53 +0900

    [PRISM] Static literal strings should be fstrings

commit e6a1baad48f437cee5b9a57c8cc13a8e0e98bc36
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 02:34:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 03:13:19 +0900

    [PRISM] Fix compiling duplicated keywords

commit a5ac27e9e9d704af16ca615ee7eeae38d54c11cf
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-14 02:06:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 02:35:31 +0900

    [ruby/prism] Turn on heredocs nested test for `Prism::Translation::Parser`

    This PR enables the heredocs_nested.txt that was previously skipped testing.

    https://github.com/ruby/prism/commit/9c54f7f10b

commit c17f33aa4240e38cefdb2af04a078409c2645a5a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 01:50:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 02:00:03 +0900

    [ruby/prism] Only use e suffix for floats if followed by +, -, or digit

    https://github.com/ruby/prism/commit/164de502c9

commit bf17093a425a95f046f895d91ba79b3d54add1f8
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-14 01:25:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 01:51:37 +0900

    [ruby/prism] Fix diagnostic incompatibility for `Prism::Translation::Parser`

    In the case of the `**` and `&` ambiguous prefixes, incompatibilities
    remained among https://github.com/ruby/prism/issues/2513.

    https://github.com/ruby/prism/commit/3b8b231aae

commit 207b00239297ce8284fec6ace4cac2cdf733d6a7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-14 01:22:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-14 01:22:35 +0900

    YJIT: Fallback cfunc varg splat for ruby2_keywords (#10226)

commit c843afbf6f841bfb18afef3e7c87e48591fd4689
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-13 12:00:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-14 01:19:57 +0900

    Chomp last punctuations from descriptions for `-h`

    The following parts will not be shown for `-h` option.  And not to
    reach 80 columns.  Some terminal emulators (Windows command prompt at
    least) wrap the cursor to the next line when reaching the rightmost
    column, before exceeding.

commit a05dfbd405fda4acef8c56561ab15e41e56c6abd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 01:06:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-14 01:06:48 +0900

    [PRISM] Remove ssize_t definition from prism

commit 4dd9602c6f9e3e9512ff94dbcd5d14870c828ca8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 00:58:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 01:06:13 +0900

    [ruby/prism] Remove ssize_t usage

    https://github.com/ruby/prism/commit/64c4f1268b

commit 572e79156738c20e0c09fd70080d4410fd83dea4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-14 01:05:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 01:05:46 +0900

    [ruby/prism] FSL follow-up

    https://github.com/ruby/prism/commit/097fd2a54f

commit 53a77d9b90da7b49054ab88b057fdcc8ce82d608
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-03-12 20:17:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 01:03:24 +0900

    [ruby/prism] Change `frozen_string_literal` to be a tri-state

    An explicit `false` is not equivalent to the comment being missing,
    because the default can be switched with a runtime flag:

    ```bash
    $ ruby --enable-frozen-string-literal -e 'p "foo".frozen?'
    true
    ```

    https://github.com/ruby/prism/commit/4660f58775

commit 0f076fa520999a42d88a081d7674495db2f65b3f
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-14 00:37:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 01:02:10 +0900

    [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`

    This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
    for empty xstring literal.

    ## Parser gem (Expected)

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("/tmp/s.rb"); buf.source = "``"; p Parser::Ruby33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr), [], [[:tXSTRING_BEG, ["`", #<Parser::Source::Range /tmp/s.rb 0...1>]],
    [:tSTRING_END, ["`", #<Parser::Source::Range /tmp/s.rb 1...2>]]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the AST and tokens returned by the Parser gem were different:

    ```console
    $ bunele exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("/tmp/s.rb"); buf.source = "``"; p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr, s(:str, "")), [], [[:tBACK_REF2, ["`", #<Parser::Source::Range /tmp/s.rb 0...1>]],
    [:tSTRING_END, ["`", #<Parser::Source::Range /tmp/s.rb 1...2>]]]]
    ```

    After this correction, the AST and tokens returned by the Parser gem are the same:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("/tmp/s.rb"); buf.source = "``"; p Prism::Translation::Parser33.new.tokenize(buf)'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [s(:xstr), [], [[:tXSTRING_BEG, ["`", #<Parser::Source::Range /tmp/s.rb 0...1>]],
    [:tSTRING_END, ["`", #<Parser::Source::Range /tmp/s.rb 1...2>]]]]
    ```

    https://github.com/ruby/prism/commit/4ac89dcbb5

commit eb4082284aace391a16a389a70eeaf1e7db5c542
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-02-09 02:53:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 00:47:27 +0900

    [ruby/openssl] test_provider.rb: Make a legacy provider test optional.

    In some cases such as OpenSSL package in FreeBSD[1], the legacy provider is not
    installed intentionally. So, we omit a test depending the legacy provider if the
    legacy provider is not loadable.

    For the test_openssl_provider_names test, we use base provider[2] instead of
    legacy provider, because we would expect the base provider is always loadable
    in OpenSSL 3 for now.

    * [1] https://www.freshports.org/security/openssl/
    * [2] https://wiki.openssl.org/index.php/OpenSSL_3.0#Providers

    https://github.com/ruby/openssl/commit/7223da7730

commit 171791426b748ec5109f579d8aaa9b450a6fd02a
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-02-21 18:37:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 00:47:26 +0900

    [ruby/openssl] Revert "omit tests related legacy provider"

    This reverts commit https://github.com/ruby/openssl/commit/9b7543d58869.

    The case not providing the legacy provider can happen not only in FreeBSD but
    also in other platforms. The fix is addressed in the next commit.

    https://github.com/ruby/openssl/commit/8c26fc26a1

commit dd5e625d7bcb7dc849fdbc2ad8053f9c2724efb4
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-12 22:39:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-14 00:19:40 +0900

    [ruby/openssl] test_asn1.rb: Remove the assertions of the time string format without second.

    This commit fixes the following errors in the tests.
    Because the OpenSSL project changed the code to make the time string format
    without second invalid. So, we drop the assertions.

    ```
    1) Error: test_generalizedtime(OpenSSL::TestASN1): OpenSSL::ASN1::ASN1Error: generalizedtime is too short
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode'
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode_test'
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:433:in `test_generalizedtime'
         430:       OpenSSL::ASN1::GeneralizedTime.new(Time.utc(9999, 9, 8, 23, 43, 39))
         431:     # LibreSSL 3.6.0 requires the seconds element
         432:     return if libressl?
      => 433:     decode_test B(%w{ 18 0D }) + "201612081934Z".b,
         434:       OpenSSL::ASN1::GeneralizedTime.new(Time.utc(2016, 12, 8, 19, 34, 0))
         435:     # not implemented
         436:     # decode_test B(%w{ 18 13 }) + "https://github.com/ruby/openssl/commit/201612081934+0930".b,

    2) Error: test_utctime(OpenSSL::TestASN1): OpenSSL::ASN1::ASN1Error: utctime is too short
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode'
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:698:in `decode_test'
    /home/runner/work/ruby-openssl/ruby-openssl/test/openssl/test_asn1.rb:411:in `test_utctime'
         408:     end
         409:     # Seconds is omitted. LibreSSL 3.6.0 requires it
         410:     return if libressl?
      => 411:     decode_test B(%w{ 17 0B }) + "1609082343Z".b,
         412:       OpenSSL::ASN1::UTCTime.new(Time.utc(2016, 9, 8, 23, 43, 0))
         413:     # not implemented
         414:     # decode_test B(%w{ 17 11 }) + "https://github.com/ruby/openssl/commit/500908234339+0930".b,
    ```

    https://github.com/ruby/openssl/commit/2e826d5715

commit 22217e70c27dcd1a6d6dc75c78a3a2288dda8985
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 23:06:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-13 23:06:19 +0900

    [PRISM] Handle parentheses in patterns in prism

commit c6089b56547daa61e0d20763bae3066fe311e91b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 06:34:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:55:52 +0900

    Don't allow SHAPE_T_OBJECT in rb_shape_alloc_new_child

commit 88373fe2e85061f95532751bf311e33ab43cbcef
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 03:55:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:55:52 +0900

    Update cruby_bindings.inc.rs

commit 3896f9940e7f663dd4db8162c071d72e2539addf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 03:34:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:55:52 +0900

    Make special const and too complex shapes before T_OBJECT shapes

commit 6b0434c0f721a62d617b26986565985598c7b8c9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 03:27:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:55:52 +0900

    Don't create per size pool shapes for non-T_OBJECT

commit 6ad347a1055902abfd5a7f5233dd8d18e1f1360b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-13 02:50:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:55:52 +0900

    Don't directly read the SIZE_POOL_COUNT in shapes

    This removes the assumption about SIZE_POOL_COUNT for shapes.

commit d1eaa97ec3cdbe38605379fc87a55987d6802dc7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 21:47:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 22:52:13 +0900

    [ruby/prism] Track parentheses in patterns

    https://github.com/ruby/prism/commit/62db99f156

commit 3f8ef7ff7c09e67a48eff33804060803b9f11119
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-13 19:13:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 22:20:23 +0900

    [ruby/stringio] Define `StringIO::MAX_LENGTH`

    https://github.com/ruby/stringio/commit/0205bd1c86

commit 2fc551e34e3d1310986e0e2727aadcd39ba06925
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-12 21:52:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 22:05:52 +0900

    Simplify NEWOBJ_OF macro

commit 5fa28ce015a595ba8042be58a951b2f2a83eef10
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 10:46:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 21:38:45 +0900

    [ruby/prism] Warn `&` interpreted as argument prefix

    This PR makes `Prism` warn `&` interpreted as argument prefix.
    This carries a similar meaning to the following Ruby warning:

    ```console
    $ ruby -cwe "foo &bar"
    -e:1: warning: `&' interpreted as argument prefix
    Syntax OK
    ```

    Previously, it did not issue a warning:

    ```console
    $ bundle exec ruby -rprism -ve "p Prism.parse('foo &bar').warnings"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    []
    ```

    From now on, it will issue a warning similar to Ruby's:

    ```console
    $ bundle exec ruby -rprism -ve "p Prism.parse('foo &bar').warnings"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseWarning @type=:ambiguous_prefix_amp @message="ambiguous `&` has been interpreted as an argument prefix"
    @location=#<Prism::Location @start_offset=4 @length=1 start_line=1> @level=:verbose>]
    ```

    https://github.com/ruby/prism/commit/312f99cd1e

commit 824e3e6c3d2a172a7dbffbff0b29c0e25e022e13
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 09:47:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 21:38:44 +0900

    [ruby/prism] Warn `**` interpreted as argument prefix

    This PR makes Prism warn `**` interpreted as argument prefix.
    This carries a similar meaning to the following Ruby warning:

    ```console
    $ ruby -cwe "foo **bar"
    -e:1: warning: `**' interpreted as argument prefix
    Syntax OK
    ```

    Previously, it did not issue a warning:

    ```console
    $ bundle exec ruby -rprism -ve "p Prism.parse('foo **bar').warnings"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    []
    ```

    From now on, it will issue a warning similar to Ruby's:

    ```console
    $ bundle exec ruby -rprism -ve "p Prism.parse('foo **bar').warnings"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [#<Prism::ParseWarning @type=:ambiguous_prefix_star_star @message="ambiguous `**` has been interpreted as an argument prefix"
    @location=#<Prism::Location @start_offset=4 @length=2 start_line=1> @level=:verbose>]
    ```

    https://github.com/ruby/prism/commit/f6cb5c314c

commit 7eea268b70b0a401bc8b8094b4ecbaf34aac9fa8
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 02:40:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 20:34:17 +0900

    [ruby/prism] Fix an AST incompatibility for `Prism::Translation::Parser`

    Fixes ruby/prism#2480.

    This PR fixes an AST incompatibility between Parser gem and `Prism::Translation::Parser`
    for xstring literal with line breaks.

    The following case in ruby/prism#2480 has already been addressed in ruby/prism#2576:

    ```ruby
    "foo
    bar"
    ```

    https://github.com/ruby/prism/commit/cf85e72c55

commit a5c5f83b24a1b7024d4e7fe3bbce091634da53b2
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-01-16 17:33:16 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-13 17:39:09 +0900

    Make `const_source_location` return the real constant as soon as defined

    [Bug #20188]

    Ref: https://github.com/fxn/zeitwerk/issues/281#issuecomment-1893228355

    Previously, it would only return the real constant location once the
    autoload was fully completed.

commit 0b7487b44ecc0f95dcc8bfa0fdf7d5915dcc0f8f
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2024-03-13 13:46:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 13:46:54 +0900

    [ruby/stringio] Various cleanup for JRuby ext
    (https://github.com/ruby/stringio/pull/85)

    * Fix compile warnings on latest Java.
    * Adjust one test for JRuby erroring on bad pos= value.
    * Replace hard JVM synchronization with a spin lock.
    * Avoid duplicate reads of state fields where possible.
    * Remove long-deprecated codepoints, chars, bytes, lines methods.
    * Mark fcntl as not implemented
    * Split most of the remaining variable-arity methods.

    https://github.com/ruby/stringio/commit/31a9d42e6c

commit 7de60d6b89699143248874aa858168fb813c88c5
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-13 11:53:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-13 12:36:38 +0900

    Do not fail launchable verify command

commit dec2a8191c2e6e1fcc33343bf9a42ba7758f7087
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-13 11:28:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-13 11:28:50 +0900

    `--dump=prism_parsetree` is no longer provided

    Since it did not make sense without `--parser=prism` option, just a
    duplication.  Now it is `--parser=prism --dump=parsetree`.

commit a6582ac94aa9a885d348756115edc822438a6241
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 10:29:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 10:40:28 +0900

    [ruby/prism] Allow newline before block locals

    https://github.com/ruby/prism/commit/1d4df7d874

commit 248cf0e40a902d1f050c68f2ae4f5065db547cf8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 03:55:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 07:29:54 +0900

    [ruby/prism] Move index tracking into a call node flag

    https://github.com/ruby/prism/commit/2a2e216558

commit e914fa0d1025b840c80e7291d18a8c9cf204e91b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 03:46:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 07:29:54 +0900

    [ruby/prism] Add warning for chained comparisons

    https://github.com/ruby/prism/commit/f9f3620d44

commit 157733b1b744e416ea224064b015a0f09cd55658
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 03:20:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 07:29:53 +0900

    [ruby/prism] Add whitespace warnings

    https://github.com/ruby/prism/commit/01d137a0cb

commit 5c848505918b897b11a30a9456a5b5af79607d48
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 03:01:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 07:29:53 +0900

    [ruby/prism] Warnings for incorrect character literal syntax

    https://github.com/ruby/prism/commit/909508296e

commit 22708be0d71ab5ed5d28d7951fcf670da38c366f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-13 05:44:47 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-13 05:44:48 +0900

    Revisions for #10198

    This fixes some inconsistencies introduced by that PR.

commit 19da3b4ecfb81d937a1bf80e023ebe757111bcb7
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-03-13 04:14:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-13 04:14:56 +0900

    Revisions for help text (#10198)

commit 97b5f35ac4fe3f0d0a2665d8c90ef64feae02c70
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-13 03:06:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-13 03:06:06 +0900

    Do not fail CI when Launchable fails

    It seems to randomly fail:

    ```
    + launchable verify
    Organization: 'ruby'
    Workspace: 'ruby'
    Proxy: None
    Platform: 'macOS-12.7.3-x86_64-i386-64bit'
    Python version: '3.12.2'
    Java command: 'java'
    launchable version: '1.83.0'
    Authentication failed. Please set the LAUNCHABLE_TOKEN. If you intend to use tokenless authentication, kindly reach out to our support team for further assistance.
    ```

    https://github.com/ruby/ruby/actions/runs/8253299142/job/22574800261

    Such failures should not impact the CI result.

commit c3915a0741f3fc502df2bae48ef2d2029543c18c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-13 02:58:45 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-13 03:02:35 +0900

    Skip a flaky GC.compact test for YJIT

    This test has failed without YJIT too:
    https://rubyci.s3.amazonaws.com/debian11/ruby-master/log/20240301T063003Z.fail.html.gz

    However, it somehow fails more often on "YJIT Ubuntu / check RUSTC='rustc +1.58.0'" job.

    Nobody is actively looking into this issue, and it's most likely not a
    YJIT-specific issue, so let me silence this false positive until we
    start working on this.

commit a9eb0400c2cbec8283427d1974df5b37202de67f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-13 03:01:30 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-13 03:02:35 +0900

    Check what actually needs to be checked

    RubyVM::YJIT is conditionally defined, depending on --enable-yjit.
    However, RubyVM::YJIT.enabled? is always defined as long as RubyVM::YJIT
    is defined, so it seems weird to check RubyVM::YJIT.enabled? instead of
    RubyVM::YJIT.

commit 5d71880df63aad0bcb08844816698b7ce884b87b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-12 22:57:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-13 02:34:12 +0900

    Embed manifest with VS2013 or later

    Since VS2013, `link.exe` supports `-manifest:embed` option.
    [`/MANIFEST` (Create side-by-side assembly manifest)](https://learn.microsoft.com/en-us/cpp/build/reference/manifest-create-side-by-side-assembly-manifest?view=msvc-170&viewFallbackFrom=msvc-120)

commit f8cab4ef8e214dc05efe8a0d4178864bce3b790a
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 02:05:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 02:33:14 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    In practice, the `BACKTICK` is mapped either as `:tXSTRING_BEG` or `:tBACK_REF2`.
    The former is used in xstrings like `` `foo` ``, while the latter is utilized as
    a back reference in contexts like `` A::` ``.
    This PR will make corrections to differentiate the use of `BACKTICK`.

    This mistake was discovered through the investigation of xstring.txt file.
    The PR will run tests from xstring.txt file except for `` `f\oo` ``, which will still fail,
    hence it will be separated into xstring_with_backslash.txt file.
    This separation will facilitate addressing the correction at a different time.

    https://github.com/ruby/prism/commit/49ad8df40a

commit 83790e5fe1e254c315552a6927891ed697da590a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 00:42:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 02:32:06 +0900

    [ruby/prism] Consolidate warnings for conditional predicates

    * Also add warnings for literals in predicates
    * Also create flip-flops in while/until

    https://github.com/ruby/prism/commit/a6b5c523c2

commit a17a33b38e994564268d0fc0642cd8b569dd65ce
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 00:25:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 02:20:41 +0900

    [ruby/prism] Follow ruby/prism#2581

    Due to ruby/prism#2581, the test case for non_alphanumeric_methods.txt has also been restored.
    It also solved issues with `def self.`' not limited to constants for `tBACK_REF2` token.

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "def self.`; end"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:kDEF, ["def", #<Parser::Source::Range example.rb 0...3>]], [:kSELF, ["self", #<Parser::Source::Range example.rb 4...8>]],
    [:tDOT, [".", #<Parser::Source::Range example.rb 8...9>]], [:tBACK_REF2, ["`", #<Parser::Source::Range example.rb 9...10>]],
    [:tSEMI, [";", #<Parser::Source::Range example.rb 10...11>]], [:kEND, ["end", #<Parser::Source::Range example.rb 12...15>]]]
    ```

    https://github.com/ruby/prism/commit/f814db8ada

commit 1e886c040aeb225978b139a5b31da178dadd799c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-13 00:26:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 00:32:25 +0900

    [ruby/prism] Fix some whitequark/parser lexer compatibilities

    https://github.com/ruby/prism/commit/34e521d071

commit 149a449964d3a1f7498c185e85f8721b59225a7f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-12 23:58:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-13 00:28:28 +0900

    Remove unused function in parse.y

        parse.y:2624:1: warning: unused function 'rb_parser_ary_new'

commit c637f53edd0c3f285d29d8679903d3b8bfcfbe75
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-13 00:00:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-13 00:17:20 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser` for `tBACK_REF2`:

    ## Parser gem (Expected)

    Returns `tBACK_REF2` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "A::`"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tCONSTANT, ["A", #<Parser::Source::Range example.rb 0...1>]], [:tCOLON2, ["::", #<Parser::Source::Range example.rb 1...3>]],
    [:tBACK_REF2, ["`", #<Parser::Source::Range example.rb 3...4>]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the parser returned `tXSTRING_BEG` token when parsing the following:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "A::`"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tCONSTANT, ["A", #<Parser::Source::Range example.rb 0...1>]], [:tCOLON2, ["::", #<Parser::Source::Range example.rb 1...3>]],
    [:tXSTRING_BEG, ["`", #<Parser::Source::Range example.rb 3...4>]]]
    ```

    After the update, the parser now returns `tBACK_REF2` token for the same input:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "A::`"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tCONSTANT, ["A", #<Parser::Source::Range example.rb 0...1>]], [:tCOLON2, ["::", #<Parser::Source::Range example.rb 1...3>]],
    [:tBACK_REF2, ["`", #<Parser::Source::Range example.rb 3...4>]]]
    ```

    This correction enables the restoration of `constants.txt` as a test case.

    https://github.com/ruby/prism/commit/7f63b28f98

commit a41649bff4611a6004471e89cac31e6535e2cff8
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-12 23:35:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 23:48:39 +0900

    [ruby/prism] Follow #2579

    Due to #2579, the test case for range_begin_open_inclusive.txt has also been restored.

    https://github.com/ruby/prism/commit/da173526a1

commit 1ed6b7b40d7d1f459e37160a7bcd1e79420229c9
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-12 20:57:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 23:15:52 +0900

    [ruby/prism] Restore some skipped heredoc tests for `Prism::Translation::Parser`

    This PR restores some heredoc tests that have already passed
    for `Prism::Translation::Parser`.

    https://github.com/ruby/prism/commit/297b9e2380

commit 72a57076e272e1c36304eb5fe1a54091a2136cd7
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-12 23:02:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 23:15:34 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser::Lexer`

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser` for
    beginless range:

    ## Parser gem (Expected)

    Returns `tBDOT2` token:

    ```console
    $ bundle exec ruby -Ilib -rparser/ruby33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "..42"; p Parser::Ruby33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tBDOT2, ["..", #<Parser::Source::Range example.rb 0...2>]], [:tINTEGER, [42, #<Parser::Source::Range example.rb 2...4>]]]
    ```

    ## `Prism::Translation::Parser` (Actual)

    Previously, the parser returned `tDOT2` token when parsing the following:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "..42"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tDOT2, ["..", #<Parser::Source::Range example.rb 0...2>]], [:tINTEGER, [42, #<Parser::Source::Range example.rb 2...4>]]]
    ```

    After the update, the parser now returns `tBDOT2` token for the same input:

    ```console
    $ bundle exec ruby -Ilib -rprism -rprism/translation/parser33 -ve \
    'buf = Parser::Source::Buffer.new("example.rb"); buf.source = "..42"; p Prism::Translation::Parser33.new.tokenize(buf)[2]'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    [[:tBDOT2, ["..", #<Parser::Source::Range example.rb 0...2>]], [:tINTEGER, [42, #<Parser::Source::Range example.rb 2...4>]]]
    ```

    This correction enables the restoration of `endless_range_in_conditional.txt` as a test case.

    https://github.com/ruby/prism/commit/f624b99ab0

commit 1e7ee871cbf10375ca149a32d71a29e5e60eed6c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-08 06:47:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-12 22:43:49 +0900

    Disregard si_addr for fatal signals sent from other processes

    Previously, when another process sends a fatal signals such as SIGBUS
    to Ruby, we could mis-interpret it as a stack overflow Ruby itself
    generated. When the si_pid field is set on the signal, we shouldn't
    check the si_addr field to check for stack overflow.

    > Signals sent with kill(2) and sigqueue(3) fill in si_pid and si_uid.

    Co-authored-by: Alan Wu <alanwu@ruby-lang.org>

commit ad2aa6d72703f4ec9f7a1769cc3c51b1fc9f7586
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-12 20:03:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-12 20:03:05 +0900

    Use `assert_crash_report` in `test_crash_report_pipe`

    Instead of using `assert_in_out_err` directly.

commit 2af6bc26c593951fc591a9d77461d092fab728d8
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-02 00:43:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 19:45:56 +0900

    [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`

    Fixes https://github.com/ruby/prism/pull/2515.

    This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
    for string literal with line breaks.

    https://github.com/ruby/prism/commit/c58466e5bf

commit 76bd586330d98b8a0023ff35c7fa6014ba3a4715
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-12 18:46:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-12 18:46:04 +0900

    [Bug #20277] Remove stale `String` test conditionals

    These instance variables for conditional execution have remained
    unchanged for nearly twenty years, since YARV merger.

commit 9a19cfd4cd1a16528cc997e3a510c3046b83cdec
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-02-16 17:45:22 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-03-12 17:17:52 +0900

    [Universal Parser] Reduce dependence on RArray in parse.y

    - Introduce `rb_parser_ary_t` structure to partly eliminate RArray from parse.y
      - In this patch, `parser_params->tokens` and `parser_params->ast->node_buffer->tokens` are now `rb_parser_ary_t *`
      - Instead, `ast_node_all_tokens()` internally creates a Ruby Array object from the `rb_parser_ary_t`
      - Also, delete `rb_ast_tokens()` and `rb_ast_set_tokens()` in node.c

    - Implement `rb_parser_str_escape()`
      - This is a port of the `rb_str_escape()` function in string.c
      - `rb_parser_str_escape()` does not depend on `VALUE` (RString)
      - Instead, it uses `rb_parser_stirng_t *`
      - This function works when --dump=y option passed

    - Because WIP of the universal parser, similar functions like `rb_parser_tokens_free()` exist in both node.c and parse.y. Refactoring them may be needed in some way in the future

    - Although we considered redesigning the structure: `ast->node_buffer->tokens` into `ast->tokens`, we leave it as it is because `rb_ast_t` is an imemo. (We will address it in the future)

commit f42164e03700469a7000b4f00148a8ca01d75044
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-12 14:49:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-12 14:49:25 +0900

    Define `ssize_t` on mswin build

commit 21ea290b34e310371b5a8c2569c161a67467981c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-12 01:13:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 12:30:50 +0900

    [ruby/prism] Static literals inspect

    https://github.com/ruby/prism/commit/4913d112da

commit cb4bc4d03ca41bf367d1fe1ae47865a8b80092ed
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-11 15:30:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-12 11:00:25 +0900

    Pass TESTS environment variable

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 4c0c29e2846c3d52e6e396111dd978d262333874
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-03-11 14:30:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-12 11:00:25 +0900

    Expand Launchable into yjit-macos and yjit-ubuntu

commit 2c349cf4b6e4dc72a54544a3b3b9e29ca397bf0f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-12 04:13:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-12 08:30:09 +0900

    Use NEWOBJ_OF_ec in NEWOBJ_OF_0

commit 132df4d1d48d91ad35a358e4085fa00f4092f8f5
  Author:     matthew healy <matthew-healy@users.noreply.github.com>
  AuthorDate: 2024-03-12 04:46:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 04:46:29 +0900

    [ruby/prism] Document `InstanceVariableWriteNode` fields
    (https://github.com/ruby/prism/pull/2161)

    * Document InstanceVariableWriteNode fields

    * Reference lexing docs in name field documentation

    * Update config.yml

    ---------

    https://github.com/ruby/prism/commit/015b3a857e

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit e407e3f497eaefb15311833c274b83ded5d17e21
  Author:     matthew healy <matthew-healy@users.noreply.github.com>
  AuthorDate: 2024-03-12 04:45:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 04:45:58 +0900

    [ruby/prism] Document `ClassVariableWriteNode` fields
    (https://github.com/ruby/prism/pull/2162)

    * Make ClassVariableWriteNode operator_loc non-nullable

    * Document ClassVariableWriteNode fields

    * Update config.yml

    ---------

    https://github.com/ruby/prism/commit/659b133888

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit a6dac9bb4f05530aec8c3f117d2cbe38bade99f2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-12 00:05:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-12 01:51:32 +0900

    [PRISM] Parse stdin on CLI with prism

commit 6242a82c8f4cc6b68ba16d86aa22fd770e8ad195
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-12 00:12:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 00:12:14 +0900

    [ruby/prism] Provide more documentation for pm_integer_parse_digit_values

    https://github.com/ruby/prism/commit/c3fcb5031f

commit 2dfa95a27207e58e06ffa88b7c99bf3af95c6c46
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-12 00:11:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-12 00:11:42 +0900

    [ruby/prism] Stop crashing on invalid integers

    https://github.com/ruby/prism/commit/afac2d6646

commit e12bc5c5725b13766e7739796507bdb8c9c0d250
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-02 04:35:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-12 00:04:20 +0900

    Remove dead function rb_obj_rgengc_promoted_p

commit 2ab75bc44486b3afcd7ccb060120e12c2fa17217
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-11 23:09:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-11 23:49:23 +0900

    [ruby/prism] Support offset

    https://github.com/ruby/prism/commit/665f533373

commit a295eeba9d013ab3863a3e5e339e170332e9be9f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-11 23:41:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-11 23:41:42 +0900

    Pass `RUN_OPTS` in YJIT macos test (#10214)

    `RUN_OPTS` environment variable is set but not passed to the test
    task, unlike yjit-ubuntu.yml.

commit 9f31577987f0f83581a8283c3fc677fae225ee4f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-02 06:45:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-11 22:30:15 +0900

    Reuse rb_gc_writebarrier_unprotect in rb_copy_wb_protected_attribute

commit 08961ce8e31487b31d19d4f66c6ef1aba5c7cd30
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2024-03-07 10:22:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 20:00:51 +0900

    [ruby/rdoc] Allow rich definition list labels for Markdown

    Previously, any sort of "rich" markup for a definition list's label
    would cause the Markdown parser to not recognize a definition list:

    ```ruby
    md = <<~md
    `one`
    :    This is a definition
    md

    doc = RDoc::Markdown.parse(md)
    doc # => [doc: [para: "<code>one</code>\n: This is a definition"]]
    ```

    This commit tweaks the grammar for Markdown definition lists so that
    labels can include "rich" markup such as bold (`**`), code (```), etc:

    ```ruby
    md = <<~md
    `one`
    :    This is a definition
    md

    doc = RDoc::Markdown.parse(md)
    doc # => [doc: [list: NOTE [item: ["<code>one</code>"]; [para: "This is a definition"]]]]
    ```

    The [PHP Markdown Extra][1] Spec does not seem to specify whether or not
    this should be allowed, but it is allowed in the RDoc format:

    ```ruby
    rdoc = <<~rdoc
    +code+::
        This is a definition
    rdoc

    doc = RDoc::Markup.parse(rdoc)
    doc # => [doc: [list: NOTE [item: ["+code+"]; [para: "This is a definition"]]]]
    ```

    so accepting this change increases the parity of the two formats.

    [1]: https://michelf.ca/projects/php-markdown/extra/#def-list

    https://github.com/ruby/rdoc/commit/8f943bbba4

commit 7a398adc2f7c9a912c542d19169b73aed4a544d0
  Author:     Andrea Brancaleoni <miwaxe@gmail.com>
  AuthorDate: 2024-03-11 16:26:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-11 16:26:14 +0900

    [DOC] security.rdoc: fix YAML security documentation

    Since https://github.com/ruby/ruby/commit/fbb4e3f96c10de2240f2d87eac19cf6f62f65fea
    `YAML` does not unmarshal arbitrary ruby objects.

commit 5c32b31aeeaa253f87dabd2c777d457787ab8fc0
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-03-11 14:03:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-11 14:03:06 +0900

    Bundle unmerged rbs for testing (#10211)

commit 2552984a86d3c5274154826f239a583b20b166ca
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-11 12:29:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 12:29:13 +0900

    Skip documentation changes

    Many contributors just include the word `documentation` in titles, but
    not utilize `[DOC]` tag or `Documentation` label.

commit d0be77fb2df8a5a472a3dafee77f2b448cc064a6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-11 01:04:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 01:24:46 +0900

    Pre-build commands to clean

commit 9f60fd9d893a8440edc8cffc3662f9087ecfbf8a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 22:21:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 00:46:15 +0900

    Ignore failures on removing ext sub directories

    When multiple libraries exist in a subdirectory under `ext`, `rmdir
    -p` may fail, because other directories have not been removed yet or
    the parent directory has been removed by other `distclean`.  `rmdir`
    in GNU coreutils has `--ignore-fail-on-non-empty` option for the
    former case but others may not, and the latter race condition is not
    avoidable anyway.

commit 51f4f1414f3648637271612aff0ffb51dd95f699
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 19:34:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 00:46:15 +0900

    Clean up the build directory if `clean` is set to true

commit 22459a8f6da6a52553373201934fc7e6bcba88e7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 19:34:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-11 00:08:32 +0900

    Clean up dummy files

commit fb00d002e669373e17b974cf66b1e839d19c93f5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 19:31:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-10 22:18:03 +0900

    Clean up ext/Setup file

commit 0fb39ab1b9a6df8e668196c721440556938a7641
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-09 01:44:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-10 22:12:00 +0900

    Clean intermediate files and debug info for each target

    By replacing `ALLOBJS` suffix with intermediate file suffixes instead
    of roughly removing by wildcards.  Made `cleanlibs` append `.dSYM`
    suffix for each word in `TARGET_SO`, not the end of the entire list.

commit 8e3cb69a83fea488d7fa279a872fba73326d2ed2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-10 21:32:50 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-10 21:32:50 +0900

    Report to Launchable at post-run

    Instead of separate two actions, register the post run at setup.

    Co-authored-by: Naoto Ono <onoto1998@gmail.com>

commit 2976d91aff4b6dd47d24df92ace6758593b00a3f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-09 19:34:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-09 19:34:36 +0900

    Include default gems directories in installed list

commit e9f77da54e777129f294afa0923027aa6bf653b8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-09 19:17:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-09 19:17:38 +0900

    Reorder and move `install?` blocks after method definitions

commit 6bfb6e604549401d7b61bb0edd63ce557dff3acb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-09 18:45:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-09 18:45:00 +0900

    Merged intermediate class `GemInstaller` to `UnpackedInstaller`

commit ced648f96f4003e915a309a945d1b2ea47454ef9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-09 18:04:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-09 18:04:42 +0900

    Shorten too long message at uninstalling

commit a69910211b161487b6d240e9d068aa19644214db
  Author:     Petrik de Heus <petrik@deheus.net>
  AuthorDate: 2024-03-09 14:46:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 14:46:49 +0900

    [ruby/rdoc] [DOC] Improve documentation of include directive file search

    Searching the file in the "current directory" could be read as the
    directory from which RDoc is run. This is incorrect, as the file is
    first searched in the directory containing the current documented file.

    Also this directory is searched before the `--include` directories.

    https://github.com/ruby/rdoc/commit/aa2d98ee5e

commit 5ac6194c2b13856edd7e7bcaaa69a15519fd993e
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2024-03-06 10:13:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 12:50:09 +0900

    [ruby/rdoc] Fix ToRdoc generating incorrect {label,name}-lists

    Previously, trying to round-trip label-list and name-lists with the
    ToRdoc converter was not possible:

    ```ruby
    doc = <<~RDOC
    foo ::
    bar ::
      hi
    RDOC

    markup = RDoc::Markup.parse(doc)
    markup # => [doc: [list: NOTE [item: ["foo ", "bar"]; [para: "hi"]]]]

    rt = RDoc::Markup::ToRdoc.new.convert(markup)
    rt # => "foo\nbar:\n  hi\n\n"

    rt_markup = RDoc::Markup.parse(rt)
    rt_markup # => [doc: [para: "foo ", "bar:"], [verb: "hi\n"]]
    ```

    This commit addresses the issue by fixing ToRdoc to generate output that
    can be properly reparsed by RDoc. ToRdoc tests additionally needed to be
    updated for the new output.

    The old implementation of `accept_list_item_start` was copied to ToBs
    because those tests did not pass with the new changes and I am
    unfamiliar with the `backspace` format.

    After:

    ```ruby
    doc = <<~RDOC
    foo ::
    bar ::
      hi
    RDOC

    markup = RDoc::Markup.parse(doc)
    markup # => [doc: [list: NOTE [item: ["foo ", "bar"]; [para: "hi"]]]]

    rt = RDoc::Markup::ToRdoc.new.convert(markup)
    rt # => "foo::\nbar::\n  hi\n\n"

    rt_markup = RDoc::Markup.parse(rt)
    rt_markup # => [doc: [list: NOTE [item: ["foo", "bar"]; [para: "hi"], blankline]]]
    ```

    https://github.com/ruby/rdoc/commit/c6c51aa900

commit 35c20cda7008cc6433ae2e1802c6e3d8f1d40d73
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-09 04:05:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 04:18:42 +0900

    [ruby/prism] Simplify the regular expression ASCII-only check

    https://github.com/ruby/prism/commit/b7851f4c2d

commit cfcbbbd87c16e9501eebbfb2bd2d714e3c90596c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-09 03:49:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 04:18:42 +0900

    [ruby/prism] Simplify the ASCII-only check in regexp

    https://github.com/ruby/prism/commit/b0935be727

commit dd24d88473d432f166894bd6d187a6db2c27bfc5
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-08 00:22:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 04:07:53 +0900

    [ruby/prism] Fix a token incompatibility for `Prism::Translation::Parser`

    Fixes https://github.com/ruby/prism/pull/2512.

    This PR fixes a token incompatibility between Parser gem and `Prism::Translation::Parser`
    for `HEREDOC_END` with a newline.

    https://github.com/ruby/prism/commit/b67d1e0c6f

commit 609bbad15da6fe91904bdcd139f9e24e3cf61d4b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-09 00:12:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 03:48:55 +0900

    [ruby/prism] Fix up regexp memory leaks

    https://github.com/ruby/prism/commit/4dc58a533a

commit a564f30fb8a16d7d32803eb11630ef8d6d762c53
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 09:14:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 03:48:55 +0900

    [ruby/prism] Extract out pm_regexp_token_buffer_t

    https://github.com/ruby/prism/commit/7bbe4224a3

commit 4e1d19c4579f67c66b2ce4f6cc816b53294306cb
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-02-16 11:27:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 03:48:54 +0900

    [ruby/prism] Add initial implementation of `Regexp` validation.

    https://github.com/ruby/prism/commit/6bf1b8edf0

commit d473256abe51dee41ae5b3c877c5773a9b65ee86
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-02-13 15:25:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 03:48:54 +0900

    [ruby/prism] Extract a magic value to a named constant.

    https://github.com/ruby/prism/commit/54d14a35a9

commit 82fb6a90d5cf5081df11ebed6cfc623159f72676
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-02-09 06:27:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-09 03:48:53 +0900

    [ruby/prism] Track both the unescaped bytes and source string for a regular expression so we can accurately set its encoding flags.

    https://github.com/ruby/prism/commit/dc6dd3a926

commit 2d80b6093f3b0c21c89db72eebacfef4a535b149
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-07 06:43:00 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-08 22:13:14 +0900

    Retire RUBY_MARK_UNLESS_NULL

    Marking `Qnil` or `Qfalse` works fine, having
    an extra macro to avoid it isn't needed.

commit af8a4205bfaebac3be8ad260ca5d044052384f4d
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-08 18:11:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 21:33:02 +0900

    Fix an error for `Prism::Translation::Parser::Lexer`

    This PR fixes the following error for `Prism::Translation::Parser::Lexer` on the main branch:

    ```console
    $ cat example.rb
    'a' # aあ
    "
    #{x}
    "

    $ bundle exec rubocop
    Parser::Source::Range: end_pos must not be less than begin_pos
    /Users/koic/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/parser-3.3.0.5/lib/parser/source/range.rb:39:in `initialize'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/lexer.rb:299:in `new'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/lexer.rb:299:in `block in to_a'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/lexer.rb:297:in `map'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/lexer.rb:297:in `to_a'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:263:in `build_tokens'
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser.rb:92:in `tokenize'
    ```

    This change was made in https://github.com/ruby/prism/pull/2557, and it seems there was
    an inconsistency in Range due to forgetting to apply `offset_cache` to `start_offset`.

commit 4756eaf5aae46f9fcba7079d891d7a5c59df3cd4
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2024-03-07 09:09:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 19:13:04 +0900

    [ruby/rdoc] Fix ToMarkdown missing newlines for label-lists

    Previously, using ToMarkdown on a label-list would generate output that
    could not be reparsed by the RDoc::Markdown parser:

    ```
    md = <<~MD
    apple
    : a red fruit

    banana
    : a yellow fruit
    MD

    doc = RDoc::Markdown.parse(md)
    doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit"]], [item: ["banana"]; [para: "a yellow fruit"]]]]

    new_md = doc.accept(RDoc::Markup::ToMarkdown.new)
    new_md # => "apple\n:   a red fruit\nbanana\n:   a yellow fruit\n\n"

    new_doc = RDoc::Markdown.parse(new_md)
    new_doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit\nbanana\n: a yellow fruit"]]]]
    ```

    The issue is that the [PHP Markdown Extra spec][1] requires a newline
    after each definition list item, but ToMarkdown was not putting newlines
    between label-list items.

    This commit fixes the issue by properly appending a newline after each
    label-list item so that the output of ToMarkdown can be reparsed by
    RDoc::Markdown:

    ```
    md = <<~MD
    apple
    : a red fruit

    banana
    : a yellow fruit
    MD

    doc = RDoc::Markdown.parse(mdoc)
    doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit"]], [item: ["banana"]; [para: "a yellow fruit"]]]]

    new_md = doc.accept(RDoc::Markup::ToMarkdown.new)
    new_md # => "apple\n:   a red fruit\n\nbanana\n:   a yellow fruit\n\n"

    new_doc = RDoc::Markdown.parse(new_md)
    new_doc # => [doc: [list: NOTE [item: ["apple"]; [para: "a red fruit"]], [item: ["banana"]; [para: "a yellow fruit"]]]]
    ```

    [1]: https://michelf.ca/projects/php-markdown/extra/#def-list

    https://github.com/ruby/rdoc/commit/c65266437c

commit e8f796e954a7007620825f8d15796e458d1493bb
  Author:     alpaca-tc <alpaca-tc@alpaca.tc>
  AuthorDate: 2024-03-08 18:23:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 18:23:40 +0900

    [ruby/irb] rdoc version lock is required
    (https://github.com/ruby/irb/pull/897)

    Some features of irb do not work properly when using the old rdoc.
    I have compared several major versions and found that it works as intended from 4.0.0.

    This problem occurs when there is a Gemfile.lock is installed with the old rdoc.
    I don't know why this Gemfile.lock installs an older rdoc than the ruby bundled rdoc,
    but specifying the version in the gemspec will at least prevent the problem.

    NOTE: ruby/irb#704 problem does not occur with this change.

    The following is test code.

    ```
     ### Usage: ruby __FILE__.rb
     # # input RDoc and Tab
     # >> RDoc<Tab>
     #
     ### Expect: Display document of RDoc
     ### Actual: <internal:marshal>:34:in `load': instance of RDoc::Constant needs to have method `marshal_load' (TypeError)
    require "bundler/inline"

    gemfile(true) do
      source "https://rubygems.org"

      git_source(:github) { |repo| "https://github.com/#{repo}.git" }
      gem 'irb'
      # gem 'rdoc', '~> 4.0.0'
      gem 'rdoc', '~> 3.12.0'
    end

    require 'rdoc'
    require 'irb'

    IRB.start
    ```

    https://github.com/ruby/irb/commit/1a1fbba020

commit 69cfcd46c20a1b89254327cd0227ae8cc0d0d850
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 11:58:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-08 11:58:41 +0900

    Remove duplicate dependency line

commit 52a2bc4a3436c15cb6c5f0bdab754c1efc51c7dc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-08 08:59:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-08 10:15:56 +0900

    Try to run CI with Ubuntu 22.04

commit 7e1183200a8201e6f76139b55b11bb8aee9868ce
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 06:40:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 08:13:41 +0900

    [ruby/prism] Fix up test suite

    https://github.com/ruby/prism/commit/2929c35630

commit 811296b4afd0b5a65f30dbf572413c5be407b4c4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 06:11:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [PRISM] Use new integer logic

commit f5294ebbdb706fc3344ea5ef4d9c759775002582
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 03:53:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Shared integer parsing logic

    https://github.com/ruby/prism/commit/a2594a23c1

commit c1462250b86519f48a03a2de98bb5222bb0ef169
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 01:02:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Style and allocation functions

    https://github.com/ruby/prism/commit/97f838c323

commit 81f02eb6ba6104899035378f1f93b11448d44505
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-29 01:36:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Change pm_integer_t structure

    https://github.com/ruby/prism/commit/588acf823f

commit 5113d6b0591fe2c80cace33654e9088d1330277c
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-26 22:05:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Faster pm_integer_parse pm_integer_string using karatsuba algorithm

    https://github.com/ruby/prism/commit/ae4fb6b988

commit 4186609d8871fb99eefa871c258658c86600ae3c
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-26 20:43:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Add bignum parse test

    https://github.com/ruby/prism/commit/503a0ea6cd

commit 05526a444c28c4efcf6d846d13da17d990848abd
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-25 00:35:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-08 08:02:33 +0900

    [ruby/prism] Make pm_integer -> Integer faster

    https://github.com/ruby/prism/commit/47601e7928

commit 977012bae8100524a691f5850a462728b20e219d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 06:23:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 06:23:18 +0900

    [ruby/prism] Remove restrict to fix windows 2015

    https://github.com/ruby/prism/commit/f0a2ce1c0e

commit ec159fc8ba17cb70e34a5b62c1ef804e393b7b2f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 05:24:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 05:40:39 +0900

    [ruby/prism] Support parsing streams

    https://github.com/ruby/prism/commit/efdc2b7222

commit 76e11595e28e258f4a4187a6d3eaccc9ca752e10
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-08 04:45:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-08 05:25:24 +0900

    [ruby/prism] Fix up tilde heredoc line continuations

    https://github.com/ruby/prism/commit/15e74b2f65

commit 18ee7c9a108bf3424814565377c8796e5e455cf7
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-02-20 11:53:13 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-03-08 03:06:48 +0900

    Clear all refined CCs on reopening refinement mod

    In cfd7729ce7a31c8b6ec5dd0e99c67b2932de4732 we started using inline
    caches for refinements. However, we weren't clearing inline caches when
    defined on a reopened refinement module.

    Fixes [Bug #20246]

commit 4a4e5dd9c97f46ad3e5f463129d5340647702368
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-08 01:10:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-08 01:10:32 +0900

    Setup ruby before setup directories

    When `makeup: true`, setup/directories also prepare auto generated
    source files, and requires baseruby.

commit 0e4bfd08e548e90faf5d91bddccf418dc9a62a42
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-03 21:25:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 23:05:20 +0900

    [ruby/prism] Fix an AST and token incompatibility for `Prism::Translation::Parser`

    Fixes https://github.com/ruby/prism/pull/2506.

    This PR fixes an AST and token incompatibility between Parser gem and `Prism::Translation::Parser`
    for symbols quoted with line breaks.

    https://github.com/ruby/prism/commit/06ab4df8cd

commit d3279a0c11ca45ca85027e7eb74dc4aac52c478b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-07 13:08:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-07 13:08:37 +0900

    [Bug #20327] Do not count subsecond to calculate UTC offset

    Assume that there will never be any time zones with UTC offsets that
    are subseconds.  Historically, UTC offset has only been used down to
    the second.

commit e13fd48f55030cae8128efde3d49e23244b1823a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 06:43:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [PRISM] Update dependencies for prism diagnostics

commit 5141643a27bd1f2ad874a2dbf95f9457966962a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 06:49:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [ruby/prism] Fix rebase templates

    https://github.com/ruby/prism/commit/31b8c6142f

commit d266b714672734a9604f19c55d291d12c20718a3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 04:49:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [ruby/prism] Use the diagnostic types in the parser translation layer

    https://github.com/ruby/prism/commit/1a8a0063dc

commit 48ca2ce5fc6a7ed8f8fd0e5ead40c160369e2a4c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 03:55:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [ruby/prism] Dispatch on_tlambda and on_tlambeg

    https://github.com/ruby/prism/commit/1ca58e0121

commit 56026edabaec6002069084bc41fa89fa1b0b1d96
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 03:50:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [ruby/prism] Use the diagnostic types in the ripper translation layer

    https://github.com/ruby/prism/commit/a7ab3a41c8

commit 38c2774420674fd1c6ef1f12dc641f5cfc6140aa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 03:18:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-07 11:42:54 +0900

    [ruby/prism] Expose types on diagnostics

    https://github.com/ruby/prism/commit/a735c2262f

commit 9fcb2bd5c0ddf5356287d23f7c33b89616f909f2
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-07 11:14:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 11:14:44 +0900

    [ruby/irb] Bump version to v1.12.0
    (https://github.com/ruby/irb/pull/895)

    https://github.com/ruby/irb/commit/a79e84a692

commit 2bc4575ac02222e3029467de3cc7a337544583ae
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-07 09:35:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-07 10:05:53 +0900

    Removed unused fixtures at time examples

commit cc757f4a61ee0e8c42d17cc674e4ac593495d7b6
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-03-07 06:13:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-07 06:42:29 +0900

    Add 'In brief' for Array#[]

commit 06fca8dbcae62b673279f0088ae8d327df28904a
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 05:17:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:55 +0900

    [ruby/prism] Fix parsing errors for `:!@` and `:~@` in Sorbet

    https://github.com/ruby/prism/commit/dc070b44bc

commit de411ef0b611b171b4055a5f469637fdb77487a6
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:52:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:54 +0900

    [ruby/prism] Small changes to make type-checking pass

    https://github.com/ruby/prism/commit/5b2970e75b

commit 8d191a9f57fa6ff86f63c98e99be68ed86f3052c
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:36:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:53 +0900

    [ruby/prism] Move polyfill to separate file to type-check it independently.

    https://github.com/ruby/prism/commit/2a583b041b

commit 3ad17b3beceb143a3e9fd5374c2e2532f42bf566
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:36:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:53 +0900

    [ruby/prism] `Prism::Compiler` should be a subclass of `Prism::Visitor`

    https://github.com/ruby/prism/commit/a01d6a4e32

commit 8dfe0c7c28fcaff1d52ab7f2751188f2e89b2347
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:34:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:52 +0900

    [ruby/prism] Fix some type-checking errors by using different method calls

    For example, use `.fetch` or `.dig` instead of `[]`, and use `===` instead of `is_a?` for checking types of objects.

    https://github.com/ruby/prism/commit/548b54915f

commit ddc81ee3f996308482bc566c3048c5965f608ad0
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:32:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:51 +0900

    [ruby/prism] Fix some missing methods/signatures in RBIs

    https://github.com/ruby/prism/commit/1d87b8c46c

commit 2e1d735dced20edc675654983ada09382f0d00f0
  Author:     Ufuk Kayserilioglu <ufuk.kayserilioglu@shopify.com>
  AuthorDate: 2024-03-07 04:18:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:49 +0900

    [ruby/prism] Move template related methods/classes under `Prism::Template` namespace

    https://github.com/ruby/prism/commit/0e4dbcd3e4

commit 4c64d2aeac6ee14d554e951783289835708cf0fc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 02:07:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:40 +0900

    [ruby/prism] Update ripper documentation

    https://github.com/ruby/prism/commit/34ba70c4f9

commit 4b5fc916172b167970e5af6cdec5d1541ca26b41
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 05:59:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 06:37:26 +0900

    [ruby/prism] Fix implicit local variables in hashes

    https://github.com/ruby/prism/commit/05e0c6792c

commit 38a4b5c1fad4790c8170112e9a97bf165b48cdbd
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-03-07 05:56:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-07 05:56:30 +0900

    YJIT: String#getbyte codegen (#10188)

    * WIP getbyte implementation

    * WIP String#getbyte implementation

    * Fix whitespace in stats.rs

    * fix?

    * Fix whitespace, add comment

    ---------

    Co-authored-by: Aaron Patterson <aaron.patterson@shopify.com>

commit d4f3dcf4dff80ded472ba3061e62c6c676ffab8c
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-03 18:46:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-07 05:33:43 +0900

    Refactor VM root modules

    This `st_table` is used to both mark and pin classes
    defined from the C API. But `vm->mark_object_ary` already
    does both much more efficiently.

    Currently a Ruby process starts with 252 rooted classes,
    which uses `7224B` in an `st_table` or `2016B` in an `RArray`.

    So a baseline of 5kB saved, but since `mark_object_ary` is
    preallocated with `1024` slots but only use `405` of them,
    it's a net `7kB` save.

    `vm->mark_object_ary` is also being refactored.

    Prior to this changes, `mark_object_ary` was a regular `RArray`, but
    since this allows for references to be moved, it was marked a second
    time from `rb_vm_mark()` to pin these objects.

    This has the detrimental effect of marking these references on every
    minors even though it's a mostly append only list.

    But using a custom TypedData we can save from having to mark
    all the references on minor GC runs.

    Addtionally, immediate values are now ignored and not appended
    to `vm->mark_object_ary` as it's just wasted space.

commit 16ec54ec4177f959b6912745460fd6a96d906d82
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-03-07 05:10:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-07 05:10:24 +0900

    [DOC] Ruby command-line options (#10138)

commit b4a69351ec7d6f0a5e34e3bb586053814be352c0
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-07 01:04:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-07 03:11:41 +0900

    Move FL_SINGLETON to FL_USER1

    This frees FL_USER0 on both T_MODULE and T_CLASS.

    Note: prior to this, FL_SINGLETON was never set on T_MODULE,
    so checking for `FL_SINGLETON` without first checking that
    `FL_TYPE` was `T_CLASS` was valid. That's no longer the case.

commit b88973165a9e970793eb187a4223d7521031ebc3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-02 04:45:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 02:45:56 +0900

    [ruby/prism] Parse files from Ruby API using fread, not mmap

    https://github.com/ruby/prism/commit/62d4376a53

commit 6ea01d204ec4cc100378caf7993f4c353a19152f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-03-07 02:10:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-07 02:10:00 +0900

    Fix dump of hidden local variable indexes

    This fixes test failures when running tests with
    RUBY_ISEQ_DUMP_DEBUG=to_binary, which started after
    5899f6aa55a02f211545d9cdaef4d86fa0b49528 was committed.

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 532ddc1745a3a9aaee4a1bdf3b6c81e5a3df0c81
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 01:34:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:06 +0900

    [ruby/prism] Fix up linting in ripper translation

    https://github.com/ruby/prism/commit/5cf5f15ee7

commit 1966b5c8c607325bce251ceca016db720b643a10
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 00:43:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:05 +0900

    [ruby/prism] Only run ripper tests on 3.3+

    https://github.com/ruby/prism/commit/f8b973e8cd

commit bafe89735188d76af0565da16ae2972529ebb0c2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-07 00:31:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:05 +0900

    [ruby/prism] Emit bounds for heredocs and words_sep in ripper translation

    https://github.com/ruby/prism/commit/e23eae8266

commit 72f01bddb6b8f3a527c7e4435ded7bab545e62d3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 22:43:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:04 +0900

    [ruby/prism] Better factoring for heredocs in ripper translation

    https://github.com/ruby/prism/commit/5030917eb0

commit 630ee386184beb8dec086e612231a459a2f0e7a3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 22:24:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:04 +0900

    [ruby/prism] More closely mirror on_heredoc_dedent API for ripper translation

    https://github.com/ruby/prism/commit/97a031e1d3

commit ab31cfad26f1e553bc76e4a67b69db1bd050a001
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 22:14:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:04 +0900

    [ruby/prism] Stop relying on ripper entirely in ripper translation

    https://github.com/ruby/prism/commit/7f7840d318

commit f6d9057b31c5365ee2f2598a2f4871ad554f1713
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 21:45:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:03 +0900

    [ruby/prism] More closely match the ripper API for ripper translation

    https://github.com/ruby/prism/commit/716ee0e91a

commit 294fe8490b475febc2e562d12bf4441d1ac4659e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 21:04:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:03 +0900

    [ruby/prism] Simplify ripper tests in ripper translation

    https://github.com/ruby/prism/commit/a66d066162

commit 2574e783f4452a57ac03a1ca4a70ec49815f0774
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:48:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:03 +0900

    [ruby/prism] Stop looking at generated tree in ripper translation

    https://github.com/ruby/prism/commit/3f59d07388

commit 507ffc9686a2fbf796fb5401323f613ba373a3f6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:40:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:02 +0900

    [ruby/prism] Better handle splats in MRHS in rescues in ripper translation

    https://github.com/ruby/prism/commit/36a0b2e45a

commit 8528e765b7c62dc3e7f10f1a9df319bda37ac509
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:35:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:02 +0900

    [ruby/prism] Handle single splat in rescue in ripper translation

    https://github.com/ruby/prism/commit/76cf29e68d

commit d23ebdfa6d3061b50ae726e6f494b14bc6019f8d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:30:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:02 +0900

    [ruby/prism] Support elsif in ripper translation

    https://github.com/ruby/prism/commit/0c008fcf34

commit 06d36f7d6d3386aecaa0e971123ae1c24c438e6e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:28:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:01 +0900

    [ruby/prism] Correctly detect void stmts in classes and modules in ripper translation

    https://github.com/ruby/prism/commit/1729e8aec0

commit 8c04d7e33cdc7dd96561b4d0fe1b4d69b641552d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:18:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:01 +0900

    [ruby/prism] Handle empty programs in ripper translation

    https://github.com/ruby/prism/commit/b607e3a98d

commit fa1db73335b0e82db914528cba5360ea41ad3514
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:12:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:01 +0900

    [ruby/prism] Fix up blocks for index nodes in ripper translation

    https://github.com/ruby/prism/commit/a35eadce47

commit 554ad9dc1c46be7a7fa0429d18804c1e171daa33
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:08:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:00 +0900

    [ruby/prism] Allow rescue modifier after MRHS in ripper translation

    https://github.com/ruby/prism/commit/37db4d8c2d

commit 46e9f71a9194162d610e908b10afe3a1446d1490
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 15:01:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:00 +0900

    [ruby/prism] Handle empty parentheses in lambda in ripper translation

    https://github.com/ruby/prism/commit/e0a836ebc2

commit 059f28eaace11054b1d3dad6f77c99906537bf89
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:58:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:43:00 +0900

    [ruby/prism] Handle empty embedded expressions in ripper translation

    https://github.com/ruby/prism/commit/99eca8b1d2

commit 1dae34f1c6fce7d86ad047af2e121c32d1287887
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:55:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:59 +0900

    [ruby/prism] Implement string concat for ripper translation

    https://github.com/ruby/prism/commit/6019342278

commit 3c95848770573f6904a4983a5ff9e9bf530b864f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:49:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:59 +0900

    [ruby/prism] Share argument logic with calls and keywords in ripper translation

    https://github.com/ruby/prism/commit/240bb08c2c

commit f75aa767f75a0ed8c10af31d07f2db875d26d420
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:46:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:59 +0900

    [ruby/prism] Better handle splat in MRHS

    https://github.com/ruby/prism/commit/8331874218

commit cdb47b1b3a641cc86092c2a60070752e10e873e8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:41:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:58 +0900

    [ruby/prism] Handle numbered parameters in ripper translation

    https://github.com/ruby/prism/commit/cf21c08c0b

commit f96ce41ac88267a6dce2d13f6f0400f2265476a9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:38:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:58 +0900

    [ruby/prism] Disallow keywords as method names in ripper translation

    https://github.com/ruby/prism/commit/dc74428e2e

commit 14877e737bcf38477d783a7d5f0dda29becc0a5b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:34:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:58 +0900

    [ruby/prism] Split up multi target visits for methods in ripper translation

    https://github.com/ruby/prism/commit/4e7733491f

commit 9018e46cc274dfe8b3a4c4e58b35f1bb84a26460
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:12:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:57 +0900

    [ruby/prism] Better split between fcall and command for ripper translation

    https://github.com/ruby/prism/commit/972fe60aea

commit 409a49c832fce971cf506228b46d8ca1af35f81d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 14:08:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:57 +0900

    [ruby/prism] Handle trailing commas in method calls for ripper translation

    https://github.com/ruby/prism/commit/fe10b5f49f

commit dad21783ac1bb7de4138bc18f93507abc64b2a0b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:58:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:57 +0900

    [ruby/prism] Better handle hash pattern in ripper translation

    https://github.com/ruby/prism/commit/4639803277

commit 2a051b0140e538b20b38b2e23222de22dd588c05
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:49:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:57 +0900

    [ruby/prism] Share argument handling in super nodes in ripper translation

    https://github.com/ruby/prism/commit/f315bdb45d

commit 4304f5b6fb12a8888e7cd672105f564502f18c84
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:44:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:56 +0900

    [ruby/prism] Fix up method naming in ripper translation

    https://github.com/ruby/prism/commit/06a89c3540

commit d38894c156f65a1c31c9b73b9943edc0f7904f16
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:42:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:56 +0900

    [ruby/prism] Fix up symbols that look like cvar/ivar/gvar in ripper translation

    https://github.com/ruby/prism/commit/64e8190da0

commit 7d3f3ac983ef844b856c6c7071d7be235da0cf96
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:39:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:56 +0900

    [ruby/prism] Handle MRHS in ripper translation

    https://github.com/ruby/prism/commit/6088ca1152

commit ae3f385c5f0a3a9272f53cc64525c78f4a7ae410
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:29:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:55 +0900

    [ruby/prism] Fix up block arguments node for ripper translation

    https://github.com/ruby/prism/commit/81feef447a

commit be5d99f7a22b8917fbae080f7ceeae94206f765a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:21:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:55 +0900

    [ruby/prism] Fix up MLHS posts in ripper translation

    https://github.com/ruby/prism/commit/1f16df1f9e

commit 712e841a4e4c968ed9984323b059fe7b8f825cff
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:10:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:54 +0900

    [ruby/prism] Better void stmt detection for comments in ripper translation

    https://github.com/ruby/prism/commit/36bae94f06

commit c6299dda3dbe4dfb1caf78e1920c744dbcf334d5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:04:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:54 +0900

    [ruby/prism] Fix up begin node clause semicolon detection in ripper translation

    https://github.com/ruby/prism/commit/117c7418af

commit ff9df28955b519746762faed16fa8471ba85a0d7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 13:00:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:54 +0900

    [ruby/prism] Fix up case consequent in ripper translation

    https://github.com/ruby/prism/commit/9c298f294d

commit f4d1a36ab3e7adfedb9011c1ee1758f1f2e62620
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 12:49:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:53 +0900

    [ruby/prism] Fix up void stmt generation in ripper translation

    https://github.com/ruby/prism/commit/27a427bc22

commit 66356577d98b4e0f887d4593cdfaa135a83e972c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 12:36:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:53 +0900

    [ruby/prism] Consolidate symbol key handling in ripper translation

    https://github.com/ruby/prism/commit/f4f7f8fc87

commit 6361e37f3f69343450636864d4f529ee2427fee8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 12:32:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:53 +0900

    [ruby/prism] Tilde heredocs for ripper translation

    https://github.com/ruby/prism/commit/de9e55dd43

commit 75e24a74d984598aabccff6a6dabc35a3e67cd5a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:52:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:52 +0900

    [ruby/prism] Implement call shorthand for ripper translation

    https://github.com/ruby/prism/commit/4d08736bd5

commit 8b721fcd06e10313b3faa4645cf2ec6b5d8bcbba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:51:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:52 +0900

    [ruby/prism] Fix up multi write parentheses in ripper translation

    https://github.com/ruby/prism/commit/41c84df423

commit d8cce33f07bbccb1eb87ee2db3e7cb9657bdf317
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:49:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:52 +0900

    [ruby/prism] Fix up body semicolon finding in ripper translation

    https://github.com/ruby/prism/commit/8fa476d9a1

commit 434e7bc56ed133838fca81489119d0a3c0c37e44
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:39:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:51 +0900

    [ruby/prism] Fix up backtick events on ripper translation

    https://github.com/ruby/prism/commit/87538f1a12

commit 6539258dccc6e2fa2983ebe5f0381edd013306dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:37:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:51 +0900

    [ruby/prism] Implement ternaries in ripper translation

    https://github.com/ruby/prism/commit/8b14a85a4c

commit debb5e01f1d387661e6e98642d5092d4c0450c53
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:34:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:51 +0900

    [ruby/prism] Implement character literals for ripper translation

    https://github.com/ruby/prism/commit/3c28994a24

commit 782f49db5b5f48f9d37c9c562442907aef410e2e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:32:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:50 +0900

    [ruby/prism] Fix empty strings for ripper translation

    https://github.com/ruby/prism/commit/836adb0aaa

commit 6b76a765abcb328be1e89a6380df71d2b09f4eff
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:29:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:50 +0900

    [ruby/prism] Fix up yield arguments in ripper translation

    https://github.com/ruby/prism/commit/22b9f3ccd9

commit 31ef2f43a77c515371fbfb921a6935bd67ac74a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:26:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:50 +0900

    [ruby/prism] Consolidate semicolon checking in ripper translation

    https://github.com/ruby/prism/commit/798517da1a

commit de610745140f51923d31f7c708ee582cc989c9e0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:22:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:49 +0900

    [ruby/prism] Fix up else in implicit begin for ripper translation

    https://github.com/ruby/prism/commit/4344b70ed5

commit 4ce0395d869aa87badf87089841f40008964f471
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:08:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:49 +0900

    [ruby/prism] Fix up return node for ripper translation

    https://github.com/ruby/prism/commit/c00902af23

commit 7ee404a24a2a74a1e78666c31cffc2f18607e51f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 11:06:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:49 +0900

    [ruby/prism] Implement special array literals for ripper translation

    https://github.com/ruby/prism/commit/a5c3d634ef

commit 7273c4dd60aa8e61e29053042d085cabc3246e23
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 10:55:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:48 +0900

    [ruby/prism] Fix up lambda ripper translation

    https://github.com/ruby/prism/commit/a3156e60cc

commit db53705acda9b733be7fdf71996143caf7c8ae7a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 10:43:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:48 +0900

    [ruby/prism] Implement singleton methods for ripper translation

    https://github.com/ruby/prism/commit/b7cd5c8e74

commit 3a7beffd1bcf2262d6a6db7356ad0f249a33e4d9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 10:36:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:48 +0900

    [ruby/prism] Consolidate body node visiting in ripper translation

    https://github.com/ruby/prism/commit/8feb073fe4

commit 8f7db7e64c7bd34e75fdac5794e7a4e32a2f2df1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 10:16:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:47 +0900

    [ruby/prism] Fix up forwarding arguments for ripper translation

    https://github.com/ruby/prism/commit/9dbad71aa3

commit e97b364adb0e4447c1c361c438dacc25ca757c95
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 10:11:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:47 +0900

    [ruby/prism] Unary not for ripper translation

    https://github.com/ruby/prism/commit/149d01f2c9

commit 78fe61c95fecf8e7964337a067908976d9d4bfca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 07:43:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:47 +0900

    [ruby/prism] Implement fields for ripper translation

    https://github.com/ruby/prism/commit/90f8b33fad

commit c2d6bcc81a827786c2cffefbac0840cc1c9b42d5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 07:37:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:46 +0900

    [ruby/prism] Revisit call nodes for ripper translation

    https://github.com/ruby/prism/commit/372200f970

commit a0674a5755f0429ce435432ae2bad7bf696b7314
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 06:58:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:46 +0900

    [ruby/prism] Fix implementation of [] and []= for ripper translation

    https://github.com/ruby/prism/commit/d31cf63d45

commit cb116420816163bd7b271313b7b4a18d3d5b0638
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 06:46:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:46 +0900

    [ruby/prism] Refactor symbol ripper translation

    https://github.com/ruby/prism/commit/356c97c736

commit 47daf71ac0c321072083b2bfd64b851cbe0d1d71
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 06:38:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:45 +0900

    [ruby/prism] Implement super for ripper translation

    https://github.com/ruby/prism/commit/18dea6ce64

commit 53efae0d632480d420f85dabfdc6ea5293536ef5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-06 02:38:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:45 +0900

    [ruby/prism] Implement other call nodes for ripper translation

    https://github.com/ruby/prism/commit/a76744be47

commit b0ee9c8f28249b3de644383901bb637b8eb7275b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 23:43:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:45 +0900

    [ruby/prism] Implement index nodes for ripper translation

    https://github.com/ruby/prism/commit/3fd962f2d3

commit 7bcca7177d6c42891004899d63e13ef47d78a337
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:51:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:44 +0900

    [ruby/prism] Implement hash patterns for ripper translation

    https://github.com/ruby/prism/commit/6bd7ae2ed2

commit 2cb75b8f1760a9aefb2221c4a6fab9304bdb3da2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:42:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:44 +0900

    [ruby/prism] Implement multi target nodes for ripper translation

    https://github.com/ruby/prism/commit/ceb5a5cf62

commit fabece2507c12f131c67d2324c1aee27ab8a5f7d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:35:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:44 +0900

    [ruby/prism] Implement lambdas for ripper translation

    https://github.com/ruby/prism/commit/602d3d2ccb

commit d719814d82f63774272f0009d1d019a56a87ba9b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:29:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:43 +0900

    [ruby/prism] Implement target nodes for ripper translation

    https://github.com/ruby/prism/commit/c5c8299485

commit 1d5f05bd53e72e9fe8259407eabd125925bfe7fc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:15:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:43 +0900

    [ruby/prism] Implement for loop for ripper translation

    https://github.com/ruby/prism/commit/2d635ce46b

commit 17111084d4f01840db3d0c76c250ff4430be73bf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:14:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:43 +0900

    [ruby/prism] Implement endless methods for ripper translation

    https://github.com/ruby/prism/commit/6611820b7b

commit 524e93b84e1a08e5f8dabaad123cecd6b85cf82a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:10:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:42 +0900

    [ruby/prism] Implement find pattern for ripper translation

    https://github.com/ruby/prism/commit/ef9dca2a4c

commit 3bdb0fecd103a5901a7ee1ab7ff6105a4e916fe5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:08:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:42 +0900

    [ruby/prism] Implement case/in for ripper translation

    https://github.com/ruby/prism/commit/7f5a09f40e

commit c4388e8409bbf653b45044e4b04b703e09b47fca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 22:01:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:42 +0900

    [ruby/prism] Add constant path ripper translation

    https://github.com/ruby/prism/commit/5e47d8eb67

commit c21a50e59656cf36a95e1d7ac8f3c86398e88aae
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:56:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:42 +0900

    [ruby/prism] Implement def for ripper translation

    https://github.com/ruby/prism/commit/a3c8c27c20

commit 5422b584571c7715b77cc3083d73e49536e06b1a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:51:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:41 +0900

    [ruby/prism] Implement if/unless for ripper translation

    https://github.com/ruby/prism/commit/57c1dd4859

commit d815d68cbb420243d0f2e3fc866350761154dd82
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:43:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:41 +0900

    [ruby/prism] Implement regular expressions for ripper translation

    https://github.com/ruby/prism/commit/788cf7c528

commit bfa2a08444f073b2a0a5d759f463a04fb8a3c1f2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:31:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:41 +0900

    [ruby/prism] Start tracking failing fixtures in ripper translation

    https://github.com/ruby/prism/commit/6285e31ccc

commit 139fe4fc63d8488fe44f3794d4fcd0bc5e0f862a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:21:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:40 +0900

    [ruby/prism] Implement case/when for ripper translation

    https://github.com/ruby/prism/commit/dfa499d2e9

commit 70764bd0bef3cb95f12779e0237a45751d9f57ee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:15:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:40 +0900

    [ruby/prism] Implement sclass for ripper translation

    https://github.com/ruby/prism/commit/e6e17778f8

commit c947852fa884bbbe26a50b50aa36a4342261fbb2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:13:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:39 +0900

    [ruby/prism] Implement next for ripper translation

    https://github.com/ruby/prism/commit/107ffb64a3

commit a47d0f03dba40fa2e7f1d564151810058dafbcc1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:13:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:39 +0900

    [ruby/prism] Implement module for ripper translation

    https://github.com/ruby/prism/commit/93d06436f7

commit 751b4d34bc4b3e652eeef247ea76bf3c7f309896
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:09:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:39 +0900

    [ruby/prism] Implement remaining interpolated nodes in ripper translation

    https://github.com/ruby/prism/commit/129ed94cb5

commit 32c22a71e8e5ee14361690489fc6ab5d1cd11cba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 21:03:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:38 +0900

    [ruby/prism] Implement classes for ripper translation

    https://github.com/ruby/prism/commit/b2dc35d902

commit f44671b094566f159e61c381b2eabb150340f1c8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 20:42:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:38 +0900

    [ruby/prism] Implement local variable targets in ripper translation

    https://github.com/ruby/prism/commit/4e64b9fc53

commit 862a188826d0967efd3d4dad397f786c00c43dc0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 20:34:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:38 +0900

    [ruby/prism] Implement hashes for ripper translation

    https://github.com/ruby/prism/commit/57f991a6a6

commit a035f63daa06b52c2eaae14e1b546ede1fc00411
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 15:00:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:37 +0900

    [ruby/prism] Implement even more ripper visitor methods

    https://github.com/ruby/prism/commit/9a883a474a

commit 069568dbfcff5bc13551b14e864c0a4b2bd90811
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 14:50:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:37 +0900

    [ruby/prism] Implement so many ripper visitor methods

    https://github.com/ruby/prism/commit/336bd7249a

commit b797085c384e7443698e29bd97b2b32806cd9792
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 14:34:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:37 +0900

    [ruby/prism] Implement pre and post execution nodes for ripper

    https://github.com/ruby/prism/commit/b6927ac714

commit be5376e422252850b5ee8c41dff81e7d61604f62
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 14:31:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:36 +0900

    [ruby/prism] Implement even more ripper visitor methods

    https://github.com/ruby/prism/commit/88b8185075

commit 3b7d5efd050ff349ba4e61520a270ce4c838f381
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 11:52:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:36 +0900

    [ruby/prism] Implement many more visitor methods for ripper

    https://github.com/ruby/prism/commit/b9d762c76a

commit bbaee0b7e42f9d81bcb0e0472729520079711d49
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 11:27:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:36 +0900

    [ruby/prism] Add stubs for remaining ripper visit methods

    https://github.com/ruby/prism/commit/4ba9abf664

commit d56e80f07f78d5714b233b8ea5d5eeb55a6d1154
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 10:06:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:42:36 +0900

    [ruby/prism] Reconsolidate ripper files

    https://github.com/ruby/prism/commit/7a277be5fb

commit 4d04e1bbef617cdee6bf15fc3c87b42da7080aea
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-07 00:20:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 01:11:07 +0900

    [ruby/prism] Deprecate `TargetRubyVersion: 80_82_73_83_77.xx`

    Prism has been directly supported as a parser engine since RuboCop 1.62:
    https://github.com/rubocop/rubocop/releases/tag/v1.62.0

    This makes specifying `TargetRubyVersion` with special values like `80_82_73_83_77.33`
    using the `prism/translation/parser/rubocop` file unnecessary.
    As a result, it would be possible to deprecate this approach.

    OTOH, early users might be surprised if `prism/translation/parser/rubocop` were to be suddenly removed.
    Therefore, this PR deprecates the parameters related to `prism/translation/parser/rubocop`.

    ```console
    $ bundle exec ruby -rrubocop -rprism/translation/parser/rubocop -e "RuboCop::AST::ProcessedSource.new('42', 80_82_73_83_77.33).ast"
    WARN: Prism is directly supported since RuboCop 1.62. The `prism/translation/parser/rubocop` file is deprecated.
    WARN: Setting `TargetRubyVersion: 80_82_73_83_77.33` is deprecated. Set to `ParserEngine: parser_prism` and `TargetRubyVersion: 3.3` instead.

    $ bundle exec ruby -rrubocop -rprism/translation/parser/rubocop -e "RuboCop::AST::ProcessedSource.new('42', 80_82_73_83_77.34).ast"
    WARN: Prism is directly supported since RuboCop 1.62. The `prism/translation/parser/rubocop` file is deprecated.
    WARN: Setting `TargetRubyVersion: 80_82_73_83_77.34` is deprecated. Set to `ParserEngine: parser_prism` and `TargetRubyVersion: 3.4` instead.
    ```

    Eventually, it will be possible to remove it at some point.

    Regarding documentation, it has been updated to not show the old, discouraged usage but rather
    the new way of specifying it in RuboCop.

    https://github.com/ruby/prism/commit/0e4bc31463

commit 7d3304ec5faed961c9e9e1f08451a2169703f056
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-07 00:34:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-07 00:47:31 +0900

    [ruby/time] Exclude unnecessary files from package

    https://github.com/ruby/time/commit/4abeaec776

commit 476cd2b2518644a2918b10b257739dd1977c6084
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-07 00:37:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-07 00:37:57 +0900

    [DOC] Add comment about RUBY_FL_SINGLETON

commit 7e4444077439e83772fd628a9121dcf54c6989cc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-07 00:36:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-07 00:36:46 +0900

    [DOC] Fix indentation in comment in class.c

commit 29323505a6aed4bfd6ca594b220f04c09a2cd429
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-06 23:35:16 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-03-07 00:10:59 +0900

    Revert ".travis.yml: Allow failures for arm64 and arm32 cases temporarily."

    This reverts commit 23dc7aa2c5a104e73563134a595124804379f049.

    It seems that the planned maintenance was finished.
    https://bugs.ruby-lang.org/issues/20013#note-28

commit 29d3d13a1fecc63fccf04039b88b0975c1d84515
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-06 20:16:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-06 20:44:09 +0900

    Run `binding.irb` in cleaner environment and clean the history file

commit b543a4e9dae2678722f579f768ac6b41541abf71
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-06 20:17:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-06 20:17:44 +0900

    Remove `-f` option for `codesign`

    Recent `codesign` seems to emit a "replacing existing signature"
    warning even if it was an adhoc signature added by the linker.  Since
    "adhoc" signatures do not cause a failure when replaced, it is just
    unnecessary and noisy.

commit 0c2e97689495c545b81c142f30d5f7b81b78a184
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-06 17:28:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-06 17:28:16 +0900

    [ruby/irb] Clear temporary directories
    (https://github.com/ruby/irb/pull/894)

    https://github.com/ruby/irb/commit/dc0dd25a39

commit 9ab1fa3bf570bf19b0d6808adf12e965aacc6d83
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-03-06 15:47:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-06 15:47:38 +0900

    Hide public implementation of `rb_io`. (#9568)

    Remove `struct rb_io {...}`.

commit 97d32bb2fcc6d53ec17c96ea6d826f1f7698aa29
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-06 13:12:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-06 13:12:49 +0900

    [ruby/irb] Prevent `irb_history`'s creation during HistoryTest
    (https://github.com/ruby/irb/pull/893)

    Some cases of it currently create `~/.irb_history` files unintentionally
    while others don't. This is caused by the varying levels of setup/cleanup between
    them. This commit fixes the issue by wrapping every single test inside a
    consistent test setup and teardown callbacks.

    https://github.com/ruby/irb/commit/a2a3cbb0ef

commit 51965399df6c46fabc8ffb8ddbfbb583019d7381
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-06 10:09:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-06 10:38:25 +0900

    Use include instead of equal assertion.

    irb will load multiple rc files now. If developer have their rcfile on
    home directory or etc, equal assertion will fail with custom prompt.

commit 23dc7aa2c5a104e73563134a595124804379f049
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-06 05:48:23 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-03-06 06:19:07 +0900

    .travis.yml: Allow failures for arm64 and arm32 cases temporarily.

    It's to avoid the failures by the infra issues in the term of the following
    maintenance.

    There is a planned maintenance on March 6th 2024 between 8:00 and 12:00 UTC+0.
    The Travis service may be temporarily unavailable.
    https://bugs.ruby-lang.org/issues/20013#note-28

commit 8f6113a91e6786aaf131942b35ab5b7465f756a0
  Author:     Haroon Ahmed <haroon.ahmed25@gmail.com>
  AuthorDate: 2024-03-06 01:07:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-06 01:07:45 +0900

    [ruby/irb] Add the ability to fetch and load multiple irb files.
    (https://github.com/ruby/irb/pull/859)

    This allows hierarchy when loading rc files for example both files below
    are loaded;

    project/.irbrc
    ~/.irbrc

    https://github.com/ruby/irb/commit/b53ebc6655

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 226a889dc7688cbd0c96cce1005adbda69b03ec4
  Author:     cui fliter <imcusg@gmail.com>
  AuthorDate: 2024-03-05 18:50:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-05 18:50:47 +0900

    [DOC] fix some comments

    Signed-off-by: cui fliter <imcusg@gmail.com>

commit 8e27c01fbb36d5020bb465e17a19a3bad35144ef
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-05 16:32:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-05 17:03:30 +0900

    Reapply "mkmf.rb: Define missing `POSTLINK` variable in generated Makefile"

    This reverts commit 0ae0a0c1c3bb01d118c5a924d731a2b3e9774105.

commit b582e5a6e99c3e88076fc8eea794d0b3a23e8740
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-05 15:02:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 16:13:39 +0900

    [rubygems/rubygems] Clear generated files recursively

    On macOS, `dsymutil` utility splits debug info into .dSYM directory.
    Glob list of `.bundle/cache/extensions/**/*binary_c*` includes that
    directory but `FileUtils.rm` fails to unlink a directory.

    https://github.com/ruby/ruby/actions/runs/8149918901/job/22275331688#step:11:3000
    ```
           Operation not permitted @ apply2files - /Users/runner/work/ruby/ruby/src/tmp/2/home/.bundle/cache/extensions/arm64-darwin-22/ruby/3.4.0+0/3b02a1011c53518f911ab3a9e8c6c608/very_simple_binary-1.0/very_simple_binary_c.bundle.dSYM
         # ./lib/fileutils.rb:2332:in 'File.unlink'
         # ./lib/fileutils.rb:2332:in 'block in FileUtils::Entry_#remove_file'
         # ./lib/fileutils.rb:2337:in 'FileUtils::Entry_#platform_support'
         # ./lib/fileutils.rb:2331:in 'FileUtils::Entry_#remove_file'
         # ./lib/fileutils.rb:1475:in 'FileUtils.remove_file'
         # ./lib/fileutils.rb:1223:in 'block in FileUtils.rm'
         # ./lib/fileutils.rb:1222:in 'FileUtils.rm'
         # ./spec/bundler/install/global_cache_spec.rb:235:in 'block (3 levels) in <top (required)>'
    ```

    https://github.com/rubygems/rubygems/commit/375c127684

commit e1026000afe02b57a765c40151641d480fc34e05
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 14:39:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 15:53:20 +0900

    [rubygems/rubygems] Use `IO.popen` to list files

    - Redirect stderr `git ls-files` to null without shelling out.

    - When building by `gem`, `__FILE__` is the path name given in the
      command line, or the gemspec file name in the current directory.  In
      that case, comparison it and expanded path never equal.  Compare
      listed file names with the base name of `__FILE__` instead.

    https://github.com/rubygems/rubygems/commit/5583433dbb

commit 0ae0a0c1c3bb01d118c5a924d731a2b3e9774105
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-05 11:38:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-05 12:08:42 +0900

    Revert "mkmf.rb: Define missing `POSTLINK` variable in generated Makefile"

    This reverts commit 71d511615b8dac459d6f88f5896b9859f99c999e.

commit 899ce129f1881f860f21602613911d1caaf83b84
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-05 11:00:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-05 12:08:42 +0900

    Run test-bundler-parallel again

commit 50e9a6b7c5a5cd8ec0658f0fa51ffce4072ec63a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 04:59:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 05:24:20 +0900

    [ruby/prism] Provide API for visiting in C

    https://github.com/ruby/prism/commit/537947aa5c

commit 20123008da1b75796c93c156a066055fe0abdbe9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-03 00:55:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 05:06:53 +0900

    [ruby/prism] Drop support for old ERB

    https://github.com/ruby/prism/commit/acdff3aae3

commit e78a705f01c027a4ee32d9c8600c3218c65957f9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 02:34:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 03:09:48 +0900

    [ruby/prism] Warnings for tokens at EOL

    https://github.com/ruby/prism/commit/d0dbf01bef

commit 5899f6aa55a02f211545d9cdaef4d86fa0b49528
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-13 01:58:39 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-05 02:49:55 +0900

    Keep hidden local variables when dumping and loading iseqs

    Fixes [Bug #19975]

commit f7adee34a33c825eef40cf803ebb83f46ff8fc77
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 01:49:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:49:14 +0900

    [ruby/prism] Only define xallocator when not defined

    https://github.com/ruby/prism/commit/919d682379

commit 6ad0f89d5aa2466cdfcd1a056ce9b28b39245033
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-02 05:30:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:41:16 +0900

    [ruby/prism] Use a more efficient StringIO on TruffleRuby

    * The stdlib StringIO is synchronized and this occurs a high overhead.
    * This is about twice as fast on TruffleRuby but surprisingly it is slower on JRuby.
      I am not sure why but probably @ivar access and integer arithmetic
      is much slower than Java field access/arithmetic on JRuby.
    * On CRuby interpreter it is slower, which is expected as the GVL already protects StringIO.
    * So we enable this only on TruffleRuby to not slow down other Rubies.
    * PRISM_FFI_BACKEND=true ruby -v -Ilib -rprism -rbenchmark -e '300.times { p Benchmark.realtime { Dir.glob("lib/**/*.rb") { |f| Prism.parse_file(f) } } }'
      ruby 3.3.0:         0.215 => 0.251 (cext: 0.062)
      ruby 3.3.0 YJIT:    0.118 => 0.113 (cext: 0.053)
      truffleruby JVM:    0.101 => 0.054
      jruby 9.4.6.0:      0.162 => 0.219
      jruby 9.4.6.0 indy: 0.078 => 0.086
    * For the record here are the numbers for using the String directly, without a StringIO-like object:
      ruby 3.3.0:         0.215 => 0.234 (cext: 0.062)
      ruby 3.3.0 YJIT:    0.118 => 0.111 (cext: 0.053)
      truffleruby native: 0.101 => 0.053
      jruby 9.4.6.0:      0.162 => 0.195
      jruby 9.4.6.0 indy: 0.078 => 0.082
      As we can see, that extra object adds a non-trivial overhead on CRuby interpreter and JRuby.
      But we need to make it possible to use StringIO and SimpleStringIO interchangeably.

    https://github.com/ruby/prism/commit/938677cbd2

commit 03a73fdc3d5b612bba9a428b6680967b9189ee2d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-04 23:39:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:40:37 +0900

    [ruby/prism] Add then keyword loc to when nodes

    https://github.com/ruby/prism/commit/e1e613df16

commit c0a34a6c8c01a278156ab10c8628a95a3248e6e9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 01:34:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:40:24 +0900

    [ruby/prism] Document xallocator functions

    https://github.com/ruby/prism/commit/ee1a4acacd

commit b95e2cdca7355539f5d03f859290e4bc6ec19feb
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-03 10:35:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:40:24 +0900

    [ruby/prism] Additional fix of adding `x` prefix after rebase with main branch

    https://github.com/ruby/prism/commit/08733438bd

commit 54f27549e2cd7cdbd83d3e6a2079108fe225c0b5
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-03-03 09:52:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:40:23 +0900

    [ruby/prism] Chage some names

    - PRISM_CUSTOM_ALLOCATOR -> PRISM_XALLOCATOR
    - prism_custom_allocator.h -> prism_xallocator.h

    https://github.com/ruby/prism/commit/83b4071e5b

commit c4bd6da2988ecdf3e6d00be78e58a4eba6192bed
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-02-27 14:25:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:40:23 +0900

    [ruby/prism] Make alloc interface replaceable

    - Add `x` prefix to malloc, calloc, realloc, and free
      (eg: malloc -> xmalloc)
    - By default, they are replaced with stdlib's functions at build
    - You can use custom functions by defining `PRISM_CUSTOM_ALLOCATOR` macro

    https://github.com/ruby/prism/commit/7a878af619

commit 61ea202f8b10060e000f79a936e5e608eacb50ee
  Author:     Lazarus Lazaridis <9477868+iridakos@users.noreply.github.com>
  AuthorDate: 2024-03-05 01:35:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-05 01:35:51 +0900

    [DOC] Fix invalid documentation for `reachable_objects_from` (#10172)

    Previous documentation is stating the opposite (that the method won't
    work for CRuby).

commit 85fe8b6b9c1a04561527609cf78b8484b3f501e4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 01:20:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:26:47 +0900

    [ruby/prism] Update lib/prism/translation/parser/compiler.rb

    https://github.com/ruby/prism/commit/dccfd83bc4

commit a03f92923b61a64098ea9313f4e70ac3a4553414
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-03-04 21:10:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:26:46 +0900

    [ruby/prism] Fix incompatibility AST for regexp match in `Prism::Translation::Parser`

    This PR fixes the following incompatibility AST for regexp match between Parser gem and Prism:

    ## Parser gem

    Returns an `match_with_lvasgn` node:

    ```console
    $ bundle exec ruby -rparser/ruby33 -ve 'p Parser::Ruby33.parse("/foo/ =~ bar")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:match_with_lvasgn,
      s(:regexp,
        s(:str, "foo"),
        s(:regopt)),
      s(:send, nil, :bar))
    ```

    ## Prism (`Prism::Translation::Parser`)

    ### Before

    Returns an `send` node:

    ```console
    $ bundle exec ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("/foo/ =~ bar")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:send,
      s(:regexp,
        s(:str, "foo"),
        s(:regopt)), :=~,
      s(:send, nil, :bar))
    ```

    ### After

    Returns an `match_with_lvasgn` node:

    ```console
    $ bundle exec ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("/foo/ =~ bar")'
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:match_with_lvasgn,
      s(:regexp,
        s(:str, "foo"),
        s(:regopt)),
      s(:send, nil, :bar))
    ```

    ## Background

    Found due to incompatibility with RuboCop's `Performance/EndWith`, `Performance/StringInclude,
    and `Performance/StartWith` cops.

    ## Note

    This is the incompatibility when the receiver is a regular expression literal and `=~` is used.
    Based on the node name `:match_with_lvasgn`, it appears that Prism's AST becomes more accurate
    in cases like `visit_match_write_node` only.

    However, as shown in the background, the current behavior of Parser gem is not like this.
    Considering compatibility with the published AST of Parser gem, the AST incompatibility will be addressed.

    This lvar-injecting feature appears to have not been supported by Parser gem for a long time:
    https://github.com/whitequark/parser/issues/69#issuecomment-19506391

    There seems to be no indication that it will be supported.

    This PR prioritizes AST compatibility between the Parser gem and Prism.
    However, it is unclear whether this is the best approach.

    https://github.com/ruby/prism/commit/dff4abb170

commit 26507b92e069e999f1ef965516e8f901c7ce2479
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-05 01:15:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-05 01:26:36 +0900

    [ruby/prism] Include BSDmakefile

    https://github.com/ruby/prism/commit/1fe507fe3d

commit 5856ea3fd16437279cb0a2e137e4a2b58fc655cb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-04 23:27:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-04 23:39:52 +0900

    [ruby/prism] Fix up some minor parser incompatibilities

    https://github.com/ruby/prism/commit/c6c771d1fa

commit 2c787bf90ff4176970f6dea331401e8246fdde95
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-04 23:25:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-04 23:25:51 +0900

    Run POSTLINK for rubyspec CAPIEXT objects

commit b176315827d1082f43628013a7d89fda02724d33
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-04 21:02:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-04 21:02:08 +0900

    [Bug #20324] Uncomparable ranges are not overlapping

commit ef5af32799b04da61bbd1bdaf464012a755c4936
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-03-04 14:15:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-04 15:36:29 +0900

    [rubygems/rubygems] Clear `RUBY_CODESIGN` env var while running tests

    The `RUBY_CODESIGN` environment variable is used by mkmf-generated
    Makefile to sign extension bundles on macOS. The variable specifies a
    key identifier to use for signing given by the user. However, the key
    is usually stored in `$HOME/Library/Keychains` directory, and the test
    suite creates a fake `$HOME` directory. This causes the test suite to
    try to find the specified key from the fake home directory, which
    results in a failure.

    https://github.com/rubygems/rubygems/commit/ddcfc65bf7

commit 2d8788e90cd535933c0f444112d465cffc4c71b1
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-02-01 19:50:40 +0900
  Commit:     Kazuki Tsujimoto <kazuki@callcc.net>
  CommitDate: 2024-03-04 12:33:00 +0900

    Support NODE_ONCE for pattern matching

commit 5621d794a2fa9293d1da489d6b0ee0e7c73c9128
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-17 15:30:34 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-03-04 11:07:26 +0900

    Disable callcc when ASAN is enabled

    callcc's implementation is fundamentally incompatible with ASAN. Since
    callcc is deprecated and almost never used, it's probably OK to disable
    callcc when ruby is compiled with ASAN.

    [Bug #20273]

commit 0d9a681eff867b569a31ab4f85a43ce53712a9cd
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-03-04 00:02:00 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-03-04 00:57:57 +0900

    enc: Expand substitution variables in Makefile.in by default

    This change makes `make_encmake.rb` expand all substitution variables
    when replacing them in `enc/Makefile.in` to avoid propagating all
    possibly referenced variables to the generated Makefile. The old
    behavior, which don't expand make variables when generating Makefile,
    was useful to temporarily override inherited variables like `cflags` in
    `CFLAGS` at make-time. However, it's not a common use case and it
    requires to propagate all possibly referenced variables properly
    considering key name duplication between `enc/Makefile.in` and
    `RbConfig::CONFIG`.

commit 072761bb3f794d8176c1f1815d10f1c0ca8eccda
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-03-02 21:04:12 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-03-04 00:57:57 +0900

    enc: Define missing `POSTLINK` variable in enc.mk

    This is a follow up change to 71d511615b8dac459d6f88f5896b9859f99c999e

commit 7e4b1f8e1935a10df3c41ee60ca0987d73281126
  Author:     Thomas Marshall <thomas@thomasmarshall.com>
  AuthorDate: 2024-03-03 19:43:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-03 19:43:35 +0900

    [Bug #20322] Fix rb_enc_interned_str_cstr null encoding

    The documentation for `rb_enc_interned_str_cstr` notes that `enc` can be
    a null pointer, but this currently causes a segmentation fault when
    trying to autoload the encoding. This commit fixes the issue by checking
    for NULL before calling `rb_enc_autoload`.

commit 93556d46203545bc2364b1c0dd1281ba098f3cc9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-03 00:55:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-03 01:40:16 +0900

    [ruby/etc] Drop support for old ERB

    https://github.com/ruby/etc/commit/11677318ac

commit e9a7801a938a6e4e0d071dec05e1ecdb99606bbf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-03 00:55:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-03 00:55:45 +0900

    Drop support for old ERB

commit 71d511615b8dac459d6f88f5896b9859f99c999e
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-03-01 15:08:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-02 17:07:37 +0900

    mkmf.rb: Define missing `POSTLINK` variable in generated Makefile

    The `POSTLINK` variable had been used in the `LINK_SO` variable, which
    is used to link shared extension libraries. However, the `POSTLINK`
    variable had not been defined in the generated Makefile, so extension
    libraries were not properly post-processed. It was not a critical issue
    for the existing `POSTLINK` usage for darwin platforms, but it would be
    a problem for Wasm/WASI platform, which requires *mandatory*
    post-processing for shared extension libraries.

commit b000e7bb749e8f688220f967360fc58dd70a8ade
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-03-01 14:47:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-02 17:07:37 +0900

    configure.ac: Append `POSTLINK` to `LINK_SO` for all platforms

    The `POSTLINK` variable had been used only for darwin platforms, but
    it's now used for WebAssembly/WASI as well. To make shared extension
    libraries properly post-processed, we need to append `POSTLINK` to
    `LINK_SO` but it was done only for darwin platforms. This commit
    generalizes the appending to all platforms.

commit 5a4cd732f013e752e26456c74a1276794942b8ea
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-02 13:51:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-02 14:37:57 +0900

    Make `File#chown` unblocking

commit 061c68408479a1cd7e1a1d6bbde215433f287302
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 23:58:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-02 14:37:53 +0900

    Make `File#chmod` unblocking

commit 607b86ed1fa6656480bdea4e7f7f385a544de5b8
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-02 08:10:19 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-02 08:10:26 +0900

    Update a stubbed type for RJIT

    cfunc.func is actually used by RJIT

commit 317163c79cc46580ba73e94d3cc2a5e9dc3217b8
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-02 08:07:40 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-02 08:07:41 +0900

    Update bindgen for YJIT and RJIT

commit 61fbd29e14c0bd06ca4c063ff34332b272874a13
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-02 08:01:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-02 08:02:28 +0900

    Skip a redundant check for the rb_obj_hash case

    Also, refactor the cfunc struct to use a new rb_cfunc_t.

commit 5a3ae06a09d183bf1b7752ddd9f5e800a033f7ae
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-02 04:41:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-02 05:41:16 +0900

    Remove dead function rb_obj_rgengc_writebarrier_protected_p

commit 99384bac28e10895623ecbc73fc09fd7d41fc897
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-02-02 05:28:32 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 05:36:19 +0900

    Correctly set anon_kwrest flag for def f(b: 1, **)

    In cases where a method accepts both keywords and an anonymous
    keyword splat, the method was not marked as taking an anonymous
    keyword splat.  Fix that in the compiler.

    Doing that broke handling of nil keyword splats in yjit, so
    update yjit to handle that.

    Add a test to check that calling a method that accepts both
    a keyword argument and an anonymous keyword splat does not
    modify a passed keyword splat hash.

    Move the anon_kwrest check from setup_parameters_complex to
    ignore_keyword_hash_p, and only use it if the keyword hash
    is already a hash. This should speed things up slightly as
    it avoids a check previously used for all callers of
    setup_parameters_complex.

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 6da8f04e01fd85e54a641c6ec4816153b9557095
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-02 04:51:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-02 04:57:11 +0900

    [ruby/irb] Escape closing square brackets in regexp

    Fixes the following warning:

        test/irb/test_command.rb:546: warning: regular expression has ']' without escape

    https://github.com/ruby/irb/commit/7efadc243b

commit 70de3b170bc87aa8ea924602dcea3bb58b4fe439
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-02 04:16:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-02 04:16:31 +0900

    Optimize Hash methods with Kernel#hash (#10160)

commit 6f31dd495cb0eb8fd69e4a15885de28cb2dab2e8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-02 03:38:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-02 03:38:49 +0900

    Don't check_rvalue_consistency in is_markable_object

    is_markable_object is called by rb_objspace_markable_object_p, which
    may pass a T_NONE object. check_rvalue_consistency will fail if a T_NONE
    object is passed in.

commit 661f9e6d03d04667b5488ec202c0e1ec6f97c080
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-02 03:03:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-02 03:03:00 +0900

    YJIT: Support opt_invokebuiltin_delegate for leaf builtin (#10152)

commit 88050ec179b2327d4b99d08fc0d825fc8898f5a7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-03-01 10:53:48 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-03-02 02:54:34 +0900

    YJIT: No need to set cfp->sp when setting escaped locals

    While writing to the env object can add it to the remember set,
    it shouldn't trigger a GC run.

commit 57ca5960ad207beb0c4f2788df0e74f8cc6b7cac
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-03-02 00:51:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-02 00:51:29 +0900

    [ruby/irb] Restructure workspace management
    (https://github.com/ruby/irb/pull/888)

    * Remove dead irb_level method

    * Restructure workspace management

    Currently, workspace is an attribute of IRB::Context in most use cases.
    But when some workspace commands are used, like `pushws` or `popws`, a
    workspace will be created and used along side with the original workspace
    attribute.

    This complexity is not necessary and will prevent us from expanding
    multi-workspace support in the future.

    So this commit introduces a @workspace_stack ivar to IRB::Context so IRB
    can have a more natural way to manage workspaces.

    * Fix pushws without args

    * Always display workspace stack after related commands are used

    https://github.com/ruby/irb/commit/61560b99b3

commit 162e13c884a1764e6cf6e62407e607d18f29eecc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-28 04:50:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-02 00:39:51 +0900

    Remove pointer check in vm_ccs_free

    We don't need to check that the object is pointer to the GC heap in
    vm_ccs_free because it is called during sweeping, which does not free
    pages so it can never point to an object that is not on the GC heap.

commit f3af5ae7e6c1c096bbfe46d69de825a02b1696cf
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-01 23:07:57 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-02 00:33:09 +0900

    Make Struct memory leak test faster

    [Bug #20311]

    It times out on some platform, so we can reduce iterations.
    On my machine it completes in 250ms and RSS grows 8X.

commit 334e4c65b39f8a26a16af776fbccd2b97590211b
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-28 04:45:30 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 00:10:25 +0900

    Fix a couple issues noticed by nobu

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit f446d68ba6f85b08109f258e9153baaa209522a4
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-26 07:44:11 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 00:10:25 +0900

    Add benchmarks for super and zsuper calls of different types

    These show gains from the recent optimization commits:

    ```
                            arg_splat
                miniruby:   7346039.9 i/s
         miniruby-before:   4692240.8 i/s - 1.57x  slower

                      arg_splat_block
                miniruby:   6539749.6 i/s
         miniruby-before:   4358063.6 i/s - 1.50x  slower

                       splat_kw_splat
                miniruby:   5433641.5 i/s
         miniruby-before:   3851048.6 i/s - 1.41x  slower

                 splat_kw_splat_block
                miniruby:   4916137.1 i/s
         miniruby-before:   3477090.1 i/s - 1.41x  slower

                       splat_kw_block
                miniruby:   2912829.5 i/s
         miniruby-before:   2465611.7 i/s - 1.18x  slower

                       arg_splat_post
                miniruby:   2195208.2 i/s
         miniruby-before:   1860204.3 i/s - 1.18x  slower
    ```

    zsuper only speeds up in the post argument case, because
    it was already set to use splatarray false in cases where
    there were no post arguments.

commit 73371450c31ed6341858c6520b3cd2d3d451806e
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-26 05:25:42 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 00:10:25 +0900

    Avoid 1-2 array allocations for zsuper calls with post arguments

    These previously resulted in 2 array allocations, one for newarray
    and one for concatarray.  This replaces newarray and concatarray
    with pushtoarray, and changes splatarray false to splatarray true,
    which reduces it to 1 array allocation, in splatarray true.

    This also sets VM_CALL_ARGS_SPLAT_MUT, so if the super method
    accepts a positional splat, this will avoid an additional array
    allocation on the callee side.

commit 32c58753afa763c5be64684876ee4e6aed550ad7
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-26 03:13:28 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 00:10:25 +0900

    Fix splatarray false peephole optimization for f(*ary, **kw, &block)

    This optimization stopped being using when the splatkw VM instruction
    was added.  This change allows the optimization to apply again. This
    also optimizes the following cases:

      super(*ary, **kw, &block)
      f(...)
      super(...)

commit e484ffaf2016ae3261ce5810658f4634b434720e
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-26 03:00:09 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-03-02 00:10:25 +0900

    Perform splatarray false peephole optimization for invokesuper in addition to send

    This optimizes cases such as:

      super(arg, *ary)
      super(arg, *ary, &block)
      super(*ary, **kw)
      super(*ary, kw: 1)
      super(*ary, kw: 1, &block)

    The super(*ary, **kw, &block) case does not use the splatarray false
    optimization.  This is also true of the send case, since the
    introduction of the splatkw VM instruction.  That will be fixed in
    a later commit.

commit 54d26221b4c4cfc46048f30892c626db69ce9244
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-03-01 20:42:00 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-03-01 21:14:16 +0900

    .travis.yml: Allow failures for ppc64le and s390x.

    Because Travis ppc64le/s390x are unstable.

    ppc64le:
    * https://app.travis-ci.com/github/ruby/ruby/builds/269211469
    * https://app.travis-ci.com/github/ruby/ruby/builds/269204073

    s390x:
    * https://app.travis-ci.com/github/ruby/ruby/builds/269201221

commit c09e5ad17debdddfad872d0b2a7237dba83dff17
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-03-01 01:15:06 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-01 16:24:16 +0900

    Clarify C API documentation about pinned classes

    They are not only pinned, but also immortal. Even if the
    constant referencing them is removed, they will remain alive.

    It's a precision worth noting.

commit e626da82eae3d437b84d4f9ead0164d436b08e1a
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-02-29 21:17:22 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-03-01 16:23:38 +0900

    Don't pin named structs defined in Ruby

    [Bug #20311]

    `rb_define_class_under` assumes it's called from C and that the
    reference might be held in a C global variable, so it adds the
    class to the VM root.

    In the case of `Struct.new('Name')` it's wasteful and make
    the struct immortal.

commit 5d76fe6b2a413c71374c9f799c7a1023e2002457
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 01:24:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 16:10:08 +0900

    [ruby/optparse] Invoke pager for `--help`

    https://github.com/ruby/optparse/commit/77dccce37c

commit 9b75e5f08561437e42887dc19742ab186c52cc43
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 02:34:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-01 13:56:52 +0900

    Add an example for fallback to sh

commit 5baee82c766308294d21e8167af43dc01346eb76
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 02:27:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-01 13:11:29 +0900

    [DOC] Mention about executable file and fallback to sh

commit 1a9a20cebda38994d1df1d8394206cac587098eb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 02:24:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-01 13:11:29 +0900

    Turn `rb_sys_fail_on_write` into a function

commit 452d51ffe16c52456c3366d95ce68e5af1875ec9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-03-01 02:24:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-03-01 13:11:29 +0900

    Use `File.open` and `File.write` instead of `Kernel#open`

commit 874e9fc34d728f8e2444d15aa6759befd217c464
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-01 12:02:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-01 12:32:40 +0900

    Don't need to remove ruby2_keywords dependency from drb

commit 1952c799af513b81c3a5329a39d14f1bc412f9e0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-03-01 12:01:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-03-01 12:32:40 +0900

    Bump up drb-2.2.1

commit 2508a7969977d1156a1e4772e80595b3fef2b559
  Author:     Kasumi Hanazuki <kasumi@rollingapple.net>
  AuthorDate: 2024-02-28 15:48:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 05:55:26 +0900

    [ruby/resolv] Implement CAA resource record

    This patch implements handling of CAA resource records defined by [RFC8659].

    - There are no known deployment of CAA records outside of IN (Internet),
      but the RFC does not state that CAA records are class-specific.
      Thus `CAA` class is defined as a class-independent RRType.
    - `CAA` class stores `flags` field (a 1-octet bitset) as an Integer.
      In this way it's easier to ensure the encoded RR is in the valid wire format.

    [RFC8659]: https://datatracker.ietf.org/doc/html/rfc8659

    https://github.com/ruby/resolv/commit/cfc4de75e3

    Co-authored-by: aeris <aeris@imirhil.fr>

commit d3ae5808bbeaba529449c0e0270658436e8699fd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-01 03:37:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-01 04:26:31 +0900

    Remove each_machine_stack_value

    The function is only used by rb_gc_mark_machine_stack.

commit d5ae7965b75ff98e8425f39043171ad4df0a0106
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-01 01:50:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 04:24:04 +0900

    [ruby/prism] Lazily create Location objects in Prism::Serialize::Loader#load_location

    * Following the changes in #2428.
    * PRISM_FFI_BACKEND=true ruby -v -Ilib -rprism -rbenchmark -e '10.times { p Benchmark.realtime { Dir.glob("lib/**/*.rb") { |f| Prism.parse_file(f) } } }'
      ruby 3.3.0:      0.255 => 0.210
      ruby 3.3.0 YJIT: 0.150 => 0.120

    https://github.com/ruby/prism/commit/fabf809bbf

commit 6075f67ae65939d4dccc7fba9b053830e5bb2c26
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-03-01 01:38:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 04:24:04 +0900

    [ruby/prism] Tweak wording for Prism::BACKEND

    * TruffleRuby does support C extensions but FFI is faster there.

    https://github.com/ruby/prism/commit/d211a87691

commit 1a588922ae38a28e989d26f3ce76c8620a84b6e2
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-01 03:30:38 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-03-01 03:30:38 +0900

    Load iseq name later than other ISEQ references

    previous_insn_index() is crashing:
    https://github.com/ruby/ruby/actions/runs/8100712618/job/22139323673
    https://github.com/ruby/ruby/actions/runs/8099334388/job/22134848249

    but it's probably not the fault of previous_insn_index() itself. I'm
    guessing the top-most frame is a C frame, and so iseq is just 0.

    To confirm that, I'd like to try calling other functions on an ISEQ
    first.

commit 3d61477900df2659781d7f377967ad6af30f85f8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-01 01:29:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-01 03:23:50 +0900

    Remove unused gc_mark_stack_values

commit 6665ec26db39d35a2cb71597685956784b830b72
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-01 01:27:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-01 03:23:50 +0900

    Remove check for is_markable_object in gc_mark_stack_values

    gc_mark_and_pin already checks for is_markable_object.

commit 6e2880b388880e0f4de3c8aaa7b1e5fa0e228766
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-19 02:59:52 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-03-01 03:16:59 +0900

    [wasm-pic] Add `LDSHARED` definition for WASI platform

    We are going to add dynamic linking support for WASI platform. The
    `LDSHARED` definition is used to link shared libraries for building ruby
    binaries and extensions.

commit 57f014b2fae3f62b26e17a57de761a61908537c4
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-02-06 02:38:05 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-03-01 03:16:23 +0900

    Use configured `LD` for linking enc and ext libraries

    "AR" was well propagated to the enc.mk and mkmf, but "LD" was not. This
    caused the dynamic libraries to be linked with a linker found in the PATH,
    which could be different from the one used in the Ruby build process.
    This is especially important for cross-compilation, where the host
    linker may not be compatible with the target system. (e.g. WebAssembly)

commit 1c0c490aa0141100d1dece9a7b5e83dc03ca0e13
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-01 02:08:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 02:32:37 +0900

    [ruby/prism] Warn on integers in flip-flops

    https://github.com/ruby/prism/commit/500099e896

commit f9d5c604c88e063a8c05dec42fbe1d8115780dfe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-03-01 01:01:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-01 02:05:19 +0900

    [PRISM] Use new command line option flags

commit 50e999c56d21b2c1b899cb40d1f43c664b9e94ee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 03:56:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-03-01 02:05:19 +0900

    [ruby/prism] Command line options as a bitset

    https://github.com/ruby/prism/commit/369ffbd57e

commit cd8d1018bbca086427f66bdba646bb4f387c32b4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 05:48:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 01:29:16 +0900

    [ruby/prism] Resync RBI and test it in CI

    https://github.com/ruby/prism/commit/4ef4032774

commit 5891c70b3839238433a47aa7c9b984a630b4b0db
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-03-01 01:08:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-03-01 01:08:57 +0900

    YJIT: Support inlining putself (#10137)

commit 4c0f0b90a4f4b33d1c1af7b7415c27ad105e6264
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-03-01 01:07:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-01 01:07:53 +0900

    Assume that FL_FINALIZE is in finalizer_table

    If FL_FINALIZE is set but not in finalizer_table, then rb_bug.

commit f8dd2342bf99738e2a8d7a4fa9e31bff186e0d5a
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-02-29 22:31:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-03-01 01:06:40 +0900

    [ruby/prism] Fix an incorrect parsing for `Prism::Translation::Parser`

    This PR fixes an incorrect parsing for `Prism::Translation::Parser`
    when one-line pattern mathing with Ruby 2.7 runtime.

    ## Expected

    Parsing should be done based on the specified Ruby parsing version,
    independent of the Ruby runtime version. When parsing for Ruby 3.3,
    it should return `:match_pattern_p` node:

    ```console
    $ ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("foo in bar")'
    ruby 3.0.6p216 (2023-03-30 revision https://github.com/ruby/prism/commit/23a532679b) [x86_64-darwin19]
    s(:match_pattern_p,
    s(:send, nil, :foo),
      s(:match_var, :bar))
    ```

    ## Actual

    When parsing with Ruby 2.7 runtime, `match_pattern` node is returned,
    even though it is expected to parse for Ruby 3.3:

    ```console
    $ ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("foo in bar")'
    ruby 2.7.8p225 (2023-03-30 revision https://github.com/ruby/prism/commit/1f4d455848) [x86_64-darwin19]
    s(:match_pattern,
    s(:send, nil, :foo),
      s(:match_var, :bar))
    ```

    The cause was the use of `RUBY_VERSION` for condition logic,
    which made it dependent on runtime Ruby version.
    `Prism::Translation::Parser` supports parsing for Ruby 3.3+.
    Therefore, the condition for parsing Ruby 2.7, which is not supported, is being removed.

    ## Background

    Found due to incompatibility with RuboCop's `Layout/SpaceAroundKeyword` and `Style/TernaryParentheses` cops.

    https://github.com/ruby/prism/commit/e752e251d2

commit 8a918b456c6fe7449dbffc8bfdc321a2969aea58
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 06:29:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-03-01 00:57:24 +0900

    Add gc_each_object for walking the heap

commit cb784082bc38299a1669d2d593f7a796411d752b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 23:39:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 23:53:42 +0900

    [ruby/prism] Better hashing between positive/negative integers

    https://github.com/ruby/prism/commit/68ddf08634

commit 950c60623b83fb778df6b928ccbe46b2e54b18b6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 23:36:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 23:38:13 +0900

    Delete from finalizer_table before running finalizer

    The finalizer could trigger a GC, which would cause FL_FINALIZE to be
    out of sync with the finalizer table.

commit d5bca0668c6006e0e155d6d293ec3d9b9b2c386b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 23:32:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 23:37:38 +0900

    Unset FL_FINALIZE before running the finalizer

    The finalizer could trigger a GC, so FL_FINALIZE could get out of sync
    with the finalizer table.

commit 1a6a7c699c4f66396d3f314423fee515ab8b4b19
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-02-29 21:32:16 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-29 21:32:16 +0900

    Update RBS (#10121)

    Use an unreleased version of RBS to see if the new commit fixes the `EBADF` error.

commit 3f633e57ac31492ea84ca0d4afa5189a264a828a
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-19 02:55:00 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-02-29 19:57:49 +0900

    [wasm-pic] Remove --pass-arg=asyncify-ignore-imports from POSTLINK

    Before PIC era, we could assume that the stack is not unwound by
    imported functions since all imported functions are WASI syscalls and
    they don't use Asyncify at all. However, PIC binary can import functions
    from other modules and we cannot guarantee that they won't unwind
    the stack.

commit 114c0b71be05848e4f1dafcaa3321e09f103bdaa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-29 18:05:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-29 18:05:00 +0900

    Inform failures in parallel tests before retrying

    Displays for each failure which test it actually occurred in.  The
    output destination follows the --{stdout,stderr}-on-failure option.

commit 51e32523c2de49b15e66dfa612d316fba7999497
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-02-26 18:47:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-29 09:57:30 +0900

    Resolve a warning in `launchable record build` command

commit f05ad373d84909da7541bd6d6ace38b48eaf24a1
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-29 06:21:11 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-29 08:00:22 +0900

    YJIT: Squash canary before falling back

    Recent flaky canary-related CI failures have all happened while trying
    to fall back. It's unclear what is leaving the canary on the stack and
    causing gen_send_dynamic() to falsely assume that it should be leaf,
    and this patch isn't going to help us find the source. One source I
    found is Array#<< with a frozen array, but it's unclear if that's what's
    causing the CI failures. I'm somewhat afraid to add a canary check to
    rb_longjmp() since that might introduce more flaky failures, and maybe
    ones unrelated to YJIT.

    See: https://github.com/ruby/ruby/actions/runs/8083502532/job/22086714152
    See: https://github.com/ruby/ruby/actions/runs/8066858522/job/22035963315

commit 558b58d330783f663d1cfb37c4af7dc330d490b3
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-29 04:27:16 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-29 05:00:26 +0900

    YJIT: Reject keywords hash in -1 arity cfunc splat support

    `test_keyword.rb` caught this issue. Just need to run with `threshold=1`

commit 4b92b60f0be3ac4c442f489727310e97741d6bda
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 04:54:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 04:54:21 +0900

    Use array initialization rather than for loop

commit c5b568bab6a1401df385331e4b6ed6209fe4071d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-29 03:45:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-29 03:45:24 +0900

    Migrate auto_request_review back to CODEOWNERS (#10133)

commit 5481dbef07dc0ba66d4b9c5703066aaa14252c8b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 01:15:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 03:45:19 +0900

    Make rb_define_finalizer_no_check private

commit a5bfc251079e39db85e5e127a5ec914455de8bcd
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-29 03:16:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:44 +0900

    [ruby/prism] Rewrite logic for CHECK_FIELD_KIND to improve readability

    https://github.com/ruby/prism/commit/f731edcc26

commit 71673464616fdd2bf80da082a90004a3da381b1c
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-29 02:55:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:44 +0900

    [ruby/prism] More precise types for NodeListField in prism.rbi

    https://github.com/ruby/prism/commit/b7959295e9

commit 2143789a3311f70f28dbbd6921ca9a42f47bea80
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-29 02:51:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:44 +0900

    [ruby/prism] Make NodeKindField subclass NodeKindField

    * To avoid duplication.

    https://github.com/ruby/prism/commit/12e5aae0b4

commit 1b0a5bcb0a63f9e0f2473ab7bccdeae9fc52bb6c
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-25 21:48:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:43 +0900

    [ruby/prism] Add a simple way to check field kinds are correct by setting $CHECK_FIELD_KIND

    https://github.com/ruby/prism/commit/33e987ba3c

commit ea2cb002501425fe9a76859ac30e83dcf2fff46b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-25 21:04:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:43 +0900

    [ruby/prism] Give a kind to all node[] fields which can have one more specific than "any Node"

    * Fixes https://github.com/ruby/prism/issues/2058

    https://github.com/ruby/prism/commit/f3e3310b5e

commit 567d4ee79e7f9847c8a5c3ee53d382f80480fe89
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-25 20:22:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 03:30:42 +0900

    [ruby/prism] Set proper types for node[] in Java-generated code

    https://github.com/ruby/prism/commit/322eaea500

commit a29c0e827f519f097bddfc3ddad5279d89131a7e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 02:38:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 03:26:00 +0900

    [PRISM] Handle implicit flip-flop bounds checking against $.

commit 16c7144cd5a838ae59a494a02c6917b60a50f5f3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-27 23:20:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 02:44:24 +0900

    [PRISM] Only look up encoding once per file

commit f8355e88d60a02c215551ddfc0952dc6beb3bdf9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 02:12:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 02:42:57 +0900

    [PRISM] Do not load -r until we check if main script can be read

commit dcc976add9cb92d0dae75f85428a7751e7b40bef
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-29 00:59:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 02:21:38 +0900

    Remove unused rb_gc_id2ref_obj_tbl

commit 49aa8d655ed8a21cac36f560e883f934ef0bd1ce
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 01:02:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 01:42:49 +0900

    [PRISM] Fix version spec to account for prism

commit 1cef366319ed6f30276de5534f226cac4bd9047e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-29 00:38:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 01:09:43 +0900

    [PRISM] Factor in CLI options for prism

commit 742abbf7705d69314373c6255784af02bbe72882
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-27 22:31:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-29 00:58:04 +0900

    Switch {prism: true} to {parser: :prism} in ISeq.to_a

commit 7b69563b365317fb9c70e4bed996b5871ef7889a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:50:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 00:41:11 +0900

    Add check for finalizer in verify_internal_constency

    This adds a check in GC.verify_internal_constency that FL_FINALIZE flags
    is set if, and only if it is in finalizer_table.

commit 48f433fd408f5f493aa0ac4638ee9ab773b8d10c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:50:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-29 00:41:11 +0900

    Change T_ZOMBIE flag check from an assertion

    Assertions are only enable on debug builds, so it will now check for
    flags of T_ZOMBIE objects on all builds in GC.verify_internal_consistency.

commit c990cc706c959e280ad9ea10d47672ad6227a810
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-28 23:58:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 00:36:16 +0900

    [ruby/prism] Switch static literals to use a hash

    https://github.com/ruby/prism/commit/82e6f36e8f

commit 8b556d39d279c871469f6de665191dfbd502d564
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-28 23:32:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-29 00:36:15 +0900

    [ruby/prism] Refactor static literals into hash

    https://github.com/ruby/prism/commit/62382d3967

commit eb6eb1d4e8572fffd7bce6789eb8e87669293eef
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-28 17:53:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-28 17:53:02 +0900

    Fix crash report path test on Windows

commit 8316cb213c2a32fbb7cb7314e2595730568181ad
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-28 16:08:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-28 16:09:07 +0900

    Fix to use `assert_crash_report` results

commit 05387b590b5ac3b3f72b902292d18e1475db7fb6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-28 12:57:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-28 13:30:16 +0900

    Update regex patterns with rbinstall.rb

commit 75a4aa2052d5b34c1e6bb8085426e50ee627d89a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-28 12:49:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-28 13:30:16 +0900

    Support file listing with IO.popen style

commit fe0b704df5553bdd59e90650ffbbfac785a2e48a
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-24 12:45:05 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-28 12:41:03 +0900

    Skip assert_no_memory_leak when ASAN is enabled

    ASAN greatly increases the memory footprint of Ruby, so these static
    thresholds are not appropriate. There's no real need to run these tests
    under ASAN.

    [Bug #20274]

commit 47b46fd98c71732400d53805f63ab988b28fa651
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-28 11:14:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-28 11:14:48 +0900

    Use dummy command for IO.popen

commit e8e2415bb32c7e9f2a55d218a97cb5f9474b2898
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-28 05:09:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 11:11:11 +0900

    Use RB_SPECIAL_CONST_P instead of rb_special_const_p

    rb_special_const_p returns a VALUE (Qtrue or Qfalse), so we shouldn't
    assume that Qfalse is 0. We should instead use RB_SPECIAL_CONST_P.

commit 95e55e9ae4a446a62db21e2ea91c54d20fbdcbdc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-28 11:08:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-28 11:08:49 +0900

    Also ignore git ls-files command with IO.popen style for tmpdir.gemspec and tempfile.gemspec

commit 3668118572c8d1f8faa95034883b52aa9d05c5c4
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-28 07:02:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-28 07:02:24 +0900

    [DOC] Stop discouraging the use of Array#each (#10119)

commit edc7b73fc4755bb91ea16d1513993fbce5a6e244
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-28 04:36:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 05:49:04 +0900

    Remove pointer check in moved_or_living_object_strictly_p

    We don't need to check that the object is pointer to the GC heap in
    moved_or_living_object_strictly_p because it is called during reference
    updating, which does not free pages so it can never point to an object
    that is not on the GC heap.

commit 7c4bf61a35a89a10ff2ef9214a27bd478241027e
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-02-25 16:16:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-28 05:09:42 +0900

    [ruby/prism] Follow RuboCop's parser engine support

    With the introduction of `Prism::Translation::Parser` to RuboCop (RuboCop AST),
    the number of arguments for `RuboCop::AST::ProcessedSource#parser_class` internal API will be changed:
    https://github.com/rubocop/rubocop-ast/pull/277

    ## Before

    As a result, the following error will occur starting from the next release of RuboCop AST (< 1.30.0) :

    ```console
    $ bundle exec ruby -rrubocop/ast -rprism -rprism/translation/parser/rubocop -ve \
    "p RuboCop::AST::ProcessedSource.new('42', 80_82_73_83_77.33).ast"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    /Users/koic/src/github.com/ruby/prism/lib/prism/translation/parser/rubocop.rb:25:in `parser_class':
    wrong number of arguments (given 2, expected 1) (ArgumentError)
            from /Users/koic/src/github.com/rubocop/rubocop-ast/lib/rubocop/ast/processed_source.rb:309:in `create_parser'
            from /Users/koic/src/github.com/rubocop/rubocop-ast/lib/rubocop/ast/processed_source.rb:219:in `parse'
            from /Users/koic/src/github.com/rubocop/rubocop-ast/lib/rubocop/ast/processed_source.rb:47:in `initialize'
            from -e:1:in `new'
            from -e:1:in `<main>'
    ```

    ## After

    This PR prevents the above error by updating the monkey patch to support the new argument:

    ```console
    $ bundle exec ruby -rrubocop/ast -rprism -rprism/translation/parser/rubocop -ve \
    "p RuboCop::AST::ProcessedSource.new('42', 80_82_73_83_77.33).ast"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:int, 42)
    ```

    Moreover, to ensure compatibility with the existing RuboCop AST, conditional logic
    has been implemented to maintain backward compatibility.

    https://github.com/ruby/prism/commit/8a6909f4d5

commit 08731182b8b1533e3a98e107fdd98ec7dc3194eb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-28 02:28:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 04:52:02 +0900

    Change is_garbage_object to return a bool

commit 3c44f6da6c8dab09b7724e5456eaad0d1e3cb12e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-28 02:27:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 04:52:02 +0900

    Simplify is_garbage_object

commit e14a68a1bf2fa1350deae169eb9a90e95f839b3c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-28 02:42:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-28 03:00:43 +0900

    [ruby/prism] Disallow it implicit in eval

    https://github.com/ruby/prism/commit/6fcb8fc974

commit 11f121364ab0b113bcc721ed375a321148e0e8f5
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-28 02:50:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-28 02:50:38 +0900

    YJIT: Support splat with C methods with -1 arity

    Usually we deal with splats by speculating that they're of a specific
    size. In this case, the C method takes a pointer and a length, so
    we can support changing sizes just fine.

commit 1f740cd1115fd96d5da7e7c08223de5396e8b5f1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 05:47:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 02:10:48 +0900

    Remove is_swept_object

    The name is misleading, as it seems like the function checks whether the
    object is swept or not. But the function only checks whether the page is
    before or after sweeping.

commit f67c9d001aefef26584b2d64c913240f0459f90b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-28 00:52:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-28 01:05:03 +0900

    [ruby/prism] Switch invalid _1 targeting even on syntax error

    https://github.com/ruby/prism/commit/40dec909b7

commit fc36882713c7f86dcbec84c996b09a9c79a2d71f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-27 23:44:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-28 01:05:02 +0900

    [ruby/prism] Ensure symbol nodes not in interpolated symbol

    https://github.com/ruby/prism/commit/e1a9a1d478

commit 2396b7a62fc12ef70933872667020b3784cb9e2e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 05:34:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 00:03:42 +0900

    Change is_live_object to return a bool

commit 9ba53cb6886fcecf288d9313720987df389aa46c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 05:33:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-28 00:03:42 +0900

    Simplify is_live_object

commit 5efe386c89537d86d5a267843ac5da83083baaf5
  Author:     Alexander Ross <ross@standout.se>
  AuthorDate: 2024-02-27 20:19:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-27 20:19:02 +0900

    [DOC] Fix typo in GC documentation

    The documentation for GC.start was incorrect. It said that the
    `immediate_sweep` keyword argument would defer sweeping when set to
    `true`, but it should have said that it would defer sweeping when set to
    `false`.

    The commit will also fix the typo "immedate_sweep" to "immediate_sweep".

commit d7730d3a0bd683b4d1c6f85763de7f0db7b0acf8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 19:40:39 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-27 19:40:39 +0900

    Constify `literal_type` unless universal parser

commit d50f9ca2dd416d92152cd958b5f39496088481b0
  Author:     Shugo Maeda <shugo@ruby-lang.org>
  AuthorDate: 2024-02-27 14:19:15 +0900
  Commit:     Shugo Maeda <shugo.maeda@gmail.com>
  CommitDate: 2024-02-27 14:51:04 +0900

    [Bug #20302] Multiple refinements cannot be applied to the same module

    In the following code, the iclass tree of refinements in cref should be <iclass of Kernel@M2> -> <iclass of Kernel@M1> -> Kernel.

    However, the iclass tree was broken because of code for included modules of refinements in rb_using_refinement().
    Refinement#include is now removed, so this commit removes such unnecessary code.

    ```ruby
    module M1
      refine(Kernel) do
        def f1 = :f1
      end
    end

    module M2
      refine(Kernel) do
        def f2 = :f2
      end
    end

    class Foo
      using M1
      using M2

      def test
        p f2 #=> :f2

        p f1 # expected => :f1
             # actual => undefined local variable or method 'f1' for an instance of Foo
      end
    end

    Foo.new.test
    ```

commit 3a04ea2d0379dd8c6623c2d5563e6b4e23986fae
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 12:20:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-27 13:58:03 +0900

    [Bug #20305] Fix matching against an incomplete character

    When matching against an incomplete character, some `enclen` calls are
    expected not to exceed the limit, and some are expected to return the
    required length and then the results are checked if it exceeds.

commit 7b56353d97d38719c8dfa0255c9ca46dacd7ffad
  Author:     Fable Phippen <fable@stripe.com>
  AuthorDate: 2024-02-27 04:24:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-27 13:58:03 +0900

    Add a failing test for https://bugs.ruby-lang.org/issues/20305.

    This bug demonstrates the issue I reported. It passes on commit
    https://github.com/ruby/ruby/commit/114e71d06280f9c57b9859ee4405ae89a989ddb6
    but does not pass on commit (the immediate child of the above commit)
    https://github.com/ruby/ruby/commit/1d2d25dcadda0764f303183ac091d0c87b432566

commit 3ca8b4aee0bf99b34c392b4b449541db82781284
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-27 12:11:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 13:22:39 +0900

    [ruby/prism] Support -p, -n, -a, and -l command line options

    https://github.com/ruby/prism/commit/959eb506ca

commit bfb2dc8acfd7d7c825b7ba0f1eb50ec92631362c
  Author:     Josef Šimánek <josef.simanek@gmail.com>
  AuthorDate: 2021-10-25 09:47:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-27 12:33:45 +0900

    [rubygems/rubygems] Warn on empty or open required_ruby_version specification attribute.

    https://github.com/rubygems/rubygems/commit/e4bb33747a

commit 316d1e1014e99b750d6ac5d5245b1e0fee3662c3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 10:17:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 10:31:50 +0900

    [ruby/tmpdir] Fix for environment without git

    https://github.com/ruby/tmpdir/commit/3f1f2260eb

commit cbbb98ba5e856c4413dcb27460b32be8865683ab
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-27 10:18:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 10:31:12 +0900

    [ruby/tempfile] Fix for environment without git

    https://github.com/ruby/tempfile/commit/f224164979

commit 54a5b829442eb7ed1f4a2794ebb26696cf784e64
  Author:     Kenta Murata <mrkn@mrkn.jp>
  AuthorDate: 2024-02-27 09:37:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-27 09:37:03 +0900

    Handle zero-like imaginary part as zero in to_r (#9581)

    Fixes [Bug #5179]

commit 89f0c0ceb5e5e20c56e63498521966c499b361a5
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-02-22 19:48:41 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-27 07:50:42 +0900

    Use `'\n'?` instead of `opt_nl`

commit 78ae6dbb11c1c6881ac599c3b91edaf0df4d7938
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:21:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-27 07:05:34 +0900

    Remove rb_objspace_marked_object_p

    rb_objspace_marked_object_p is no longer used in the objspace module, so
    we can remove it.

commit 7538703d1b69e5f3be04240f387dfbcb1f4e2d91
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:20:59 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-27 07:05:34 +0900

    Make rb_objspace_data_type_memsize private

    rb_objspace_data_type_memsize is not used in the objspace module, so we
    can make it private.

commit 81dded1044d0d045af10c916eaed9429a8509ae3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-26 19:43:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 07:04:08 +0900

    [rubygems/rubygems] Skip to load vendored libraries if it's already loaded

    https://github.com/rubygems/rubygems/commit/3f5093fac9

commit c3427265687d008612179410009868b5ec10b116
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 18:46:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 07:04:08 +0900

    [rubygems/rubygems] Keep compatiblity for RG 3.5

    https://github.com/rubygems/rubygems/commit/d004e36c44

commit 8b22198ee9baed58c4c7b578fb4cf133a8235ab8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 17:56:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 07:04:07 +0900

    [rubygems/rubygems] Use wrapper file for vendored tsort

    https://github.com/rubygems/rubygems/commit/93514afa28

commit d220d273aa31672d46ebcc29df17260fb7c7f91b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-31 14:08:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 07:04:05 +0900

    [rubygems/rubygems] Use renamed file on bundler

    https://github.com/rubygems/rubygems/commit/d198ec36f2

commit d2da774f870ecf51f465dd4081a7349812efaac4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-31 13:49:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 07:04:04 +0900

    [rubygems/rubygems] Rename wrapper files for vendored libraries with 'vendored_' prefix

    https://github.com/rubygems/rubygems/commit/cfc908c8c1

commit b8572c3f16f1633b25d3a2e9bf98d3454f881a57
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-02-27 05:09:34 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-02-27 07:03:49 +0900

    BASERUBY is now >= 3.0

commit c9b6cd4223ec21e8eea65babd2543c6fbca57890
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:13:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-27 04:34:24 +0900

    Remove unused rb_objspace_each_objects_without_setup

commit 34bad6d69f7a7fa10a4e5aa48a6895afc9aebf1e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-27 02:45:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-27 03:29:00 +0900

    [ruby/prism] Triple-check prism encodings

    https://github.com/ruby/prism/commit/ab7f261354

commit 27e3e44390cf83f1c11f33c0f73c5034a675ccea
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-27 01:38:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-27 01:38:44 +0900

    Fix verify_internal_consistency_i for zombie objects

    FL_FINALIZE is now kept for zombie objects.

commit 1ce3d9acbf59415f18a2d0ddf4a846cedf17a375
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-26 23:35:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 23:48:17 +0900

    [ruby/prism] Fix xstring heredoc parser translator

    https://github.com/ruby/prism/commit/4e0f703975

commit 99d0f687fc4928e06196a695e553acb029d17b61
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-26 23:26:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 23:35:00 +0900

    [ruby/prism] Fix parser translator for pinned expression

    https://github.com/ruby/prism/commit/eeae07193b

commit af3145bb2446f27f895e78cfab49eea23fad8865
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-26 23:18:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 23:26:53 +0900

    [ruby/prism] Handle negated numeric in parser translation

    https://github.com/ruby/prism/commit/5877a95be4

commit 83e676e5f9049168047c36d1bbd75ac342e6fed6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-24 03:50:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-26 23:20:05 +0900

    Don't lookup finalizers if FL_FINALIZE flag not set

    The FL_FINALIZE flag is set when there are finalizers for the object. We
    can improver performance by not looking up in the table if the flag is
    not set.

    Using the following C extension:

        #include "ruby/ruby.h"

        static void data_free(void *_ptr) {}

        static const rb_data_type_t data_type = {
            "my_type",
            {
                NULL,
                data_free,
            },
            0, 0, 0
        };

        static VALUE data_alloc(VALUE klass) {
            return TypedData_Wrap_Struct(klass, &data_type, (void *)1);
        }

        void Init_myext(void) {
            VALUE my_klass = rb_define_class("MyClass", rb_cObject);
            rb_define_alloc_func(my_klass, data_alloc);
        }

    And the following benchmark:

        require "benchmark"

        final_objs = 1_000_000.times.map do
          o = Object.new
          ObjectSpace.define_finalizer(o, proc {})
          o
        end

        puts(Benchmark.measure do
          100_000_000.times do
            MyClass.new
          end
        end)

    Before:

        10.974190   0.355037  11.329227 ( 11.416772)

    After:

        7.664310   0.347598   8.011908 (  8.268969)

commit 1a57fee7af872a4efa94ba0e8f350c6ee6617f80
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-26 22:46:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 22:58:57 +0900

    [ruby/prism] Fix multi write with modifier rescue

    https://github.com/ruby/prism/commit/8ea7a3270f

commit 815db5c0289f5bbea2af275933ba6a4bf60a6967
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-26 22:45:30 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-26 22:45:30 +0900

    Update to ruby/spec@3a510bb

commit 40c9a3dad5bc18213eb9b5ad21aa00580c12c77b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-26 22:45:28 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-26 22:45:28 +0900

    Update to ruby/mspec@36e8ed8

commit 1ca3482e0a7a6a528a648ce285dc344b0f6eef14
  Author:     Pierrick Bouvier <pierrick.bouvier@linaro.org>
  AuthorDate: 2024-02-26 16:03:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-26 20:45:48 +0900

    Fix compilation for platforms without pthread

    Found when compiling ruby for windows-arm64 using msys2

    Missing return type for function Init_lock_native_thread
    lock_native_thread.c:45:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
       45 | Init_lock_native_thread(void)
          | ^
          | int

commit dddf62426b7a384715dd558773723ecbdfa37a11
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 17:14:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:56:28 +0900

    [ruby/tempfile] Use `IO.popen` to list files

    - Redirect `git ls-files` without shelling out.

    - When building by `gem`, `__FILE__` is the path name given in the
      command line, or the gemspec file name in the current directory.  In
      that case, comparison it and expanded path never equal.  Compare
      listed file names with the base name of `__FILE__` instead.

    https://github.com/ruby/tempfile/commit/ac5bab8c7a

commit 38e3ad267569f38336458d461791b4a1cd79b5d1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 17:03:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:55:17 +0900

    Update gemspec according to the recent bundler template

commit 164e464b042239cdbd14d3751a7f907754d580ce
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-02-26 09:45:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:54:54 +0900

    [ruby/strscan] Add a method for peeking and reading bytes as
    integers
    (https://github.com/ruby/strscan/pull/89)

    This commit adds `scan_byte` and `peek_byte`. `scan_byte` will scan the
    current byte, return it as an integer, and advance the cursor.
    `peek_byte` will return the current byte as an integer without advancing
    the cursor.

    Currently `StringScanner#get_byte` returns a string, but I want to get
    the current byte without allocating a string. I think this will help
    with writing high performance lexers.

    ---------

    https://github.com/ruby/strscan/commit/873aba2e5d

    Co-authored-by: Sutou Kouhei <kou@clear-code.com>

commit 7176c186d0d794bf89eac0645205c3f3d2d40f2d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-23 01:51:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:27:38 +0900

    [rubygems/rubygems] Fix `Fiddle::Handle` leaks

    Windows disallows to unlink opened files.

    https://github.com/rubygems/rubygems/commit/e0b63754bf

commit 7dd4b30b77241965fe94f173c382d0f8766d1fd3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-23 01:46:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:27:37 +0900

    [rubygems/rubygems] The temporary directory must been removed

    On Windows, open files cannot be removed and `FileUtils.rm_rf` just
    silently fails.  This means also handle leaks, not only temporary file
    leaks.

    https://github.com/rubygems/rubygems/commit/80a9c3ec08

commit 65f40967d5c2ee2df1755f8a9159553df15e6295
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 22:35:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:27:37 +0900

    [rubygems/rubygems] Get rid of too long paths

    This is a fix-up of #7483.

    Test method names in Rubygems are often very long, and the path under
    the temporary directory generated from them can easily exceed system
    limits.

    Even without including the method name in the path name, by saving the
    method and path name pair, it is possible to find the method from the
    remaining path name.

    https://github.com/rubygems/rubygems/commit/de55064a3d

commit 91ec1fc4e79d0070a029e6bd006afe04cdf26c9f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-26 15:27:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 15:27:26 +0900

    Revert "Revert rubygems tempdir check"

    This reverts commit 6aa5067ab970e70693529cde5102fab587158f7f.

commit 459198999e57652e32817b566ad47443f4bbcedc
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-02-24 10:09:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-26 13:20:29 +0900

    Expand Launchable into ubuntu workflow

commit 9ec342e07df6aa5e2c2e9003517753a2f1b508fd
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2024-02-26 12:14:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-26 12:14:11 +0900

    Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp (#9374)

    * Introduction of Happy Eyeballs Version 2 (RFC8305) in Socket.tcp

    This is an implementation of Happy Eyeballs version 2 (RFC 8305) in Socket.tcp.

    [Background]
    Currently, `Socket.tcp` synchronously resolves names and makes connection attempts with `Addrinfo::foreach.`
    This implementation has the following two problems.

    1. In name resolution, the program stops until the DNS server responds to all DNS queries.
    2. In a connection attempt, while an IP address is trying to connect to the destination host and is taking time, the program stops, and other resolved IP addresses cannot try to connect.

    [Proposal]
    "Happy Eyeballs" ([RFC 8305](https://datatracker.ietf.org/doc/html/rfc8305)) is an algorithm to solve this kind of problem. It avoids delays to the user whenever possible and also uses IPv6 preferentially.

    I implemented it into `Socket.tcp` by using `Addrinfo.getaddrinfo` in each thread spawned per address family to resolve the hostname asynchronously, and using `Socket::connect_nonblock` to try to connect with multiple addrinfo in parallel.

    [Outcome]

    This change eliminates a fatal defect in the following cases.

    Case 1. One of the A or AAAA DNS queries does not return

    ---
    require 'socket'

    class Addrinfo
      class << self
        # Current Socket.tcp depends on foreach
        def foreach(nodename, service, family=nil, socktype=nil, protocol=nil, flags=nil, timeout: nil, &block)
          getaddrinfo(nodename, service, Socket::AF_INET6, socktype, protocol, flags, timeout: timeout)
            .concat(getaddrinfo(nodename, service, Socket::AF_INET, socktype, protocol, flags, timeout: timeout))
            .each(&block)
        end

        def getaddrinfo(_, _, family, *_)
          case family
          when Socket::AF_INET6 then sleep
          when Socket::AF_INET then [Addrinfo.tcp("127.0.0.1", 4567)]
          end
        end
      end
    end

    Socket.tcp("localhost", 4567)
    ---

    Because the current `Socket.tcp` cannot resolve IPv6 names, the program stops in this case. It cannot start to connect with IPv4 address.
    Though `Socket.tcp` with HEv2 can promptly start a connection attempt with IPv4 address in this case.

     Case 2. Server does not promptly return ack for syn of either IPv4 / IPv6 address family

    ---
    require 'socket'

    fork do
      socket = Socket.new(Socket::AF_INET6, :STREAM)
      socket.setsockopt(:SOCKET, :REUSEADDR, true)
      socket.bind(Socket.pack_sockaddr_in(4567, '::1'))
      sleep
      socket.listen(1)
      connection, _ = socket.accept
      connection.close
      socket.close
    end

    fork do
      socket = Socket.new(Socket::AF_INET, :STREAM)
      socket.setsockopt(:SOCKET, :REUSEADDR, true)
      socket.bind(Socket.pack_sockaddr_in(4567, '127.0.0.1'))
      socket.listen(1)
      connection, _ = socket.accept
      connection.close
      socket.close
    end

    Socket.tcp("localhost", 4567)
    ---

    The current `Socket.tcp` tries to connect serially, so when its first name resolves an IPv6 address and initiates a connection to an IPv6 server, this server does not return an ACK, and the program stops.
    Though `Socket.tcp` with HEv2 starts to connect sequentially and in parallel so a connection can be established promptly at the socket that attempted to connect to the IPv4 server.

    In exchange, the performance of `Socket.tcp` with HEv2 will be degraded.

    ---
    100.times { Socket.tcp("www.ruby-lang.org", 80) }
    ---

    This is due to the addition of the creation of IO objects, Thread objects, etc., and calls to `IO::select` in the implementation.

    * Avoid NameError of Socket::EAI_ADDRFAMILY in MinGW

    * Support Windows with SO_CONNECT_TIME

    * Improve performance

    I have additionally implemented the following patterns:

    - If the host is single-stack, name resolution is performed in the main thread. This reduces the cost of creating threads.
    - If an IP address is specified, name resolution is performed in the main thread. This also reduces the cost of creating threads.
    - If only one IP address is resolved, connect is executed in blocking mode. This reduces the cost of calling IO::select.

    Also, I have added a fast_fallback option for users who wish not to use HE.
    Here are the results of each performance test.

    ```ruby
    require 'socket'
    require 'benchmark'

    HOSTNAME = "www.ruby-lang.org"
    PORT = 80

    ai = Addrinfo.tcp(HOSTNAME, PORT)

    Benchmark.bmbm do |x|
      x.report("Domain name") do
        30.times { Socket.tcp(HOSTNAME, PORT).close }
      end

      x.report("IP Address") do
        30.times { Socket.tcp(ai.ip_address, PORT).close }
      end

      x.report("fast_fallback: false") do
        30.times { Socket.tcp(HOSTNAME, PORT, fast_fallback: false).close }
      end
    end
    ```

    ```
                               user     system      total        real
    Domain name            0.015567   0.032511   0.048078 (  0.325284)
    IP Address             0.004458   0.014219   0.018677 (  0.284361)
    fast_fallback: false   0.005869   0.021511   0.027380 (  0.321891)
    ````

    And this is the measurement result when executed in a single stack environment.

    ```
                               user     system      total        real
    Domain name            0.007062   0.019276   0.026338 (  1.905775)
    IP Address             0.004527   0.012176   0.016703 (  3.051192)
    fast_fallback: false   0.005546   0.019426   0.024972 (  1.775798)
    ```

    The following is the result of the run on Ruby 3.3.0.

    (on Dual stack environment)

    ```
                     user     system      total        real
    Ruby 3.3.0   0.007271   0.027410   0.034681 (  0.472510)
    ```

    (on Single stack environment)

    ```
                     user     system      total        real
    Ruby 3.3.0  0.005353   0.018898   0.024251 (  1.774535)
    ```

    * Do not cache `Socket.ip_address_list`

    As mentioned in the comment at https://github.com/ruby/ruby/pull/9374#discussion_r1482269186, caching Socket.ip_address_list does not follow changes in network configuration.
    But if we stop caching, it becomes necessary to check every time `Socket.tcp` is called whether it's a single stack or not, which could further degrade performance in the case of a dual stack.
    From this, I've changed the approach so that when a domain name is passed, it doesn't check whether it's a single stack or not and resolves names in parallel each time.

    The performance measurement results are as follows.

    require 'socket'
    require 'benchmark'

    HOSTNAME = "www.ruby-lang.org"
    PORT = 80

    ai = Addrinfo.tcp(HOSTNAME, PORT)

    Benchmark.bmbm do |x|
      x.report("Domain name") do
        30.times { Socket.tcp(HOSTNAME, PORT).close }
      end

      x.report("IP Address") do
        30.times { Socket.tcp(ai.ip_address, PORT).close }
      end

      x.report("fast_fallback: false") do
        30.times { Socket.tcp(HOSTNAME, PORT, fast_fallback: false).close }
      end
    end

                               user     system      total        real
    Domain name            0.004085   0.011873   0.015958 (  0.330097)
    IP Address             0.000993   0.004400   0.005393 (  0.257286)
    fast_fallback: false   0.001348   0.008266   0.009614 (  0.298626)

    * Wait forever if fallback addresses are unresolved, unless resolv_timeout

    Changed from waiting only 3 seconds for name resolution when there is no fallback address available, to waiting as long as there is no resolv_timeout.
    This is in accordance with the current `Socket.tcp` specification.

    * Use exact pattern to match IPv6 address format for specify address family

commit f23d5028059078a346efc977287b669d494a5a3f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-26 11:30:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-26 11:56:38 +0900

    [Bug #20296] Refine the test

commit dc146babf47a84bbd1f176d766637d4a40327019
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-26 10:48:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-26 11:56:38 +0900

    [Bug #20296] Clear errinfo when `exception: false`

commit c976cb52a2594e9eb147df126617d430766c9d18
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-26 00:22:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 00:22:33 +0900

    [ruby/irb] Add help messages to `show_source` and `show_doc`
    commands
    (https://github.com/ruby/irb/pull/887)

    * Add help message to the show_source command

    * Add help message to the show_doc command

    https://github.com/ruby/irb/commit/06f43aadb3

commit 898f30f8bd064c9803625c98a3e46bd3434ff1bb
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-26 00:20:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-26 00:21:00 +0900

    [ruby/irb] Refactor IRB::Context#prompting
    (https://github.com/ruby/irb/pull/889)

    https://github.com/ruby/irb/commit/7b323ee514

commit c16b507563b72b33277e9b9745cb1e41e1bcf93f
  Author:     Adam Daniels <adam@mediadrive.ca>
  AuthorDate: 2024-02-25 17:36:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 17:36:42 +0900

    [ruby/tmpdir] [DOC] `require` inside each method on Dir

    (https://github.com/ruby/tmpdir/pull/31)

    https://github.com/ruby/tmpdir/commit/a1ec977923

commit c0c56d1714b44d30d69b51127f9c97df21322d58
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 17:14:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 17:32:09 +0900

    [ruby/tmpdir] Use `IO.popen` to list files

    - Redirect `git ls-files` without shelling out.

    - When building by `gem`, `__FILE__` is the path name given in the
      command line, or the gemspec file name in the current directory.  In
      that case, comparison it and expanded path never equal.  Compare
      listed file names with the base name of `__FILE__` instead.

    https://github.com/ruby/tmpdir/commit/f505e3f7cb

commit 2c1b7bc51c335d85da994c87dfb37c0e3c894eb9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-25 17:07:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 17:07:07 +0900

    [ruby/reline] Bump version to v0.4.3
    (https://github.com/ruby/reline/pull/642)

    https://github.com/ruby/reline/commit/5137a3f3af

commit 2721a64e4192fee250442cd6157c5a85908a20d4
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-25 16:08:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 16:08:34 +0900

    [ruby/reline] Use gray and white as the default dialog theme
    (https://github.com/ruby/reline/pull/637)

    I think this has a few benefits:

    1. Most terminal themes generally don't change or pick similar colors
       for their black and white colors, so it's more likely to be consistent
        across terminals/themes.
    2. They don't have the potential color-blind issues that other color options
       may have.
    3. We won't need additional changes for no color mode.

    https://github.com/ruby/reline/commit/6579a0a737

commit 7356067b73f9f1a4c8a06546611ec242af1fa192
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 14:03:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 14:04:12 +0900

    [ruby/tmpdir] Update gemspec according to the recent bundler template

    https://github.com/ruby/tmpdir/commit/4ef7bc4f2a

commit 012a0b91252da7b3b23e679dd50a1571a59f5a21
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-25 13:06:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 13:39:22 +0900

    [ruby/resolv] Simplify adding new entries

    https://github.com/ruby/resolv/commit/081b8df705

commit 30b99868f999f58ab856a2a3d69c8b068b9b5803
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-04-28 21:59:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-25 13:39:22 +0900

    [ruby/resolv] Treat hostname as same as aliases

    https://github.com/ruby/resolv/commit/fa812d6454

commit 2c0cf6837cc22d2d240f743d54a93f4dbe5acf5c
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-02-24 17:53:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-25 12:50:42 +0900

    Launchable: Fix the warning of pip

commit e9e752c7efe95e7166c7bb59277b6e3afe11851c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-24 13:18:41 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-24 13:19:37 +0900

    Assert running_iseq before using it

    When running_iseq happens to be 0, it's better to fail on the assertion
    rather than referencing the null pointer.

commit 804b2a3787e17ccc4537b4c525d4f81adc27ab7c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 12:21:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:29 +0900

    [ruby/prism] Rebase against main

    https://github.com/ruby/prism/commit/813e20d449

commit aa8841405bd48ac61b3c1397dd864ed2db3b3b2a
  Author:     Gopal Patel <gopal@qualified.com>
  AuthorDate: 2024-02-23 03:38:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:28 +0900

    [ruby/prism] Less code modifications. More steep:ignore for now

    https://github.com/ruby/prism/commit/7905bdbf83

commit dfee03374632f4da40587cf62858b92da5022a9a
  Author:     Gopal Patel <gopal@qualified.com>
  AuthorDate: 2024-02-21 06:48:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:28 +0900

    [ruby/prism] Replace awkward code changes with steep:ignore

    Also remove RBS for currently ignored files. Will follow-up when those
    check fully in later PRs.

    https://github.com/ruby/prism/commit/2cae58f86d

commit 66565e36eae8a3dff53f86b3d04bf749e0b07a94
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-10 14:20:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:26 +0900

    [ruby/prism] Add documentation for Location#source!

    https://github.com/ruby/prism/commit/467e1cc2c4

commit 8fa18435234335afbf17bda88324a620e15a4323
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-10 14:13:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:26 +0900

    [ruby/prism] Relax Location#source to be optional

    https://github.com/ruby/prism/commit/9f00fe7510

commit bfbaafbd9cd24cb1a7f9d653a75c883480c6078f
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-09 17:39:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:26 +0900

    [ruby/prism] Make rake check_annotations verify public RBS

    https://github.com/ruby/prism/commit/db78eef6a2

commit ca8a6265862b2990a14f6a6dabc27228e9d5a995
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-09 15:25:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:25 +0900

    [ruby/prism] Fix my RipperCompat logic mistake from expansion for steep flow analysis

    https://github.com/ruby/prism/commit/f71a390c12

commit 935d4fab62eb2c578508d8d3cfcd0f726b965db6
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-09 08:28:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:23 +0900

    [ruby/prism] Remove Ripper from public RBS, type-assert remaining issues

    https://github.com/ruby/prism/commit/5fda7a0760

commit 7556fd937cfedbee9775b92124fcdce5c416dd50
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2024-01-09 03:31:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:22 +0900

    [ruby/prism] Split private types

    https://github.com/ruby/prism/commit/0209d093ec

commit e03e9c3644c3c5a8713e1fed547da0c0becf36de
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2023-12-21 13:41:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:20 +0900

    [ruby/prism] wip: node unions

    https://github.com/ruby/prism/commit/99a71675d4

commit 46fe3dc799e937fcd369f6c22a038c9fc35a7328
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2023-12-21 13:44:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:20 +0900

    [ruby/prism] Fix IgnoredNewlineToken comparison of Ripper::Lexer::State

    https://github.com/ruby/prism/commit/8c9502f61b

commit b9b0712556980a3af91c976c3fee8ba0e21c39a0
  Author:     Gopal Patel <nixme@stillhope.com>
  AuthorDate: 2023-12-19 07:22:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 12:39:19 +0900

    [ruby/prism] Use steep to type check RBS and Ruby files

    https://github.com/ruby/prism/commit/eabed9f4fd

commit fc656acee9d17f72d9f7b09630d7f03e981beef3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 11:56:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 11:56:56 +0900

    [PRISM] Sync to latest prism

commit e439419baaf298b562cfbf7d98d3ce1cf608ab08
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-24 09:21:33 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-24 09:21:36 +0900

    [DOC] Fix a typo

commit a255b43ff11ed06519ba0224cc6cbb2626969666
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-24 07:17:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 07:17:12 +0900

    Update common.mk

commit 96907f94953d0fac3ca518f755b54ea5098ae5eb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 04:15:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 06:54:01 +0900

    [ruby/prism] Convert pm_integer_t to strings

    https://github.com/ruby/prism/commit/fa9a30ad91

commit e45849419427963a353b2580d9ae4c4faaf2f3ba
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-24 05:53:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-24 05:53:39 +0900

    [DOC] Doc for command line options (#10059)

commit ec6532b458b34e907a2474bab70642414bbb0d05
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 04:43:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 05:02:19 +0900

    [ruby/prism] Add some encoding debugging to make testing easier

    https://github.com/ruby/prism/commit/0c042561c6

commit ce8531fed4c7295aee94d24124914441db578136
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-24 01:05:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 04:08:29 +0900

    Stop using rb_str_locktmp_ensure publicly

    rb_str_locktmp_ensure is a private API.

commit 8a6740c70edf39cdf6230659d191240c43dc6d22
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-24 04:08:09 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-24 04:08:09 +0900

    YJIT: Lazily push a frame for specialized C funcs (#10080)

    * YJIT: Lazily push a frame for specialized C funcs

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

    * Fix a comment on pc_to_cfunc

    * Rename rb_yjit_check_pc to rb_yjit_lazy_push_frame

    * Rename it to jit_prepare_lazy_frame_call

    * Fix a typo

    * Optimize String#getbyte as well

    * Optimize String#byteslice as well

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

commit 50ace992c75724aac6765b944f9017e21901e276
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-02-13 03:16:25 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-24 03:59:10 +0900

    [Bug #20234] Fix segv when parsing begin statement in method definition

    In a method definition, the `begin` may not have an `nd_body`. When that
    happens we get a null expr back from `last_expr_node` which causes a
    segv for the following examples:

    ```ruby
    def (begin;end).foo; end
    def (begin;else;end).foo; end
    def (begin;ensure;else;end).foo; end
    ```

    In addition, I've added tests for other cases that weren't causing a
    segv but appeared untested.`

    Fixes https://bugs.ruby-lang.org/issues/20234

commit 510404f2def62918849797e742642254700e3608
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 06:14:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 03:33:46 +0900

    Stop using rb_fstring publicly

    rb_fstring is a private API, so we should use rb_str_to_interned_str
    instead, which is a public API.

commit 01f9b2ae4142f0c0d3d2dec9ea141572265d05b2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 06:30:59 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 03:33:46 +0900

    Use rb_str_to_interned_str in parse.y

    This commit changes rb_fstring to rb_str_to_interned_str in parse.y.
    rb_fstring is private so it shouldn't be used by ripper.

commit 9a09e27a73898221656f9bd67a2edf1dc0475d60
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 02:39:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 03:25:31 +0900

    [PRISM] Use new static literal comparisons

commit 02b531a813a6d68eea8b93aaf33fac57837ad90c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 02:39:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 03:25:31 +0900

    [ruby/prism] Factor in sign to integer comparison

    https://github.com/ruby/prism/commit/377666a5df

commit b9202788f8a1098994082aee5bcb9f6d0cc73eb0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 01:44:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 03:25:31 +0900

    [ruby/prism] Refactor pm_node_list_insert to use a binary search

    https://github.com/ruby/prism/commit/a060b21e1d

commit a38cc177d29e13cf8116f7c08b408717a4edced1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 01:05:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 03:25:31 +0900

    [ruby/prism] Duplicated when clauses

    https://github.com/ruby/prism/commit/865b0d5fbe

commit d1ce989829927a4215952983babadfd1df1b505f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-24 00:36:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 03:25:31 +0900

    [ruby/prism] Duplicated hash keys

    https://github.com/ruby/prism/commit/3e10c46c14

commit 73dd3ce03e3a0a58a157607385418d7a3724752c
  Author:     Akira Matsuda <ronnie@dio.jp>
  AuthorDate: 2023-01-07 04:10:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 02:56:08 +0900

    [ruby/ipaddr] Prefer String#start_with? over Regexp.match

    https://github.com/ruby/ipaddr/commit/054fe12ec4

commit 6ad52e336d1733a0740186b7ee4df60c6e79030a
  Author:     Akira Matsuda <ronnie@dio.jp>
  AuthorDate: 2023-01-07 04:23:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-24 02:55:33 +0900

    [ruby/ipaddr] String#split seems to be faster than capturing digits with Regexp

    https://github.com/ruby/ipaddr/commit/e0feb0708b

commit 32f8ed7afd3234bc3c81936e5633cbf454723c49
  Author:     Mike Shaver <mike.shaver@shopify.com>
  AuthorDate: 2024-02-24 01:18:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-24 02:54:31 +0900

    Typo fix.

commit 8b2c421a1741efc6f1aec6d9b7f0cd69bac097f4
  Author:     Marek Küthe <m.k@mk16.de>
  AuthorDate: 2024-02-13 03:09:18 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-24 02:47:09 +0900

    Add option for mtu discovery flag

    Signed-off-by: Marek Küthe <m.k@mk16.de>

commit 4bb432722832b6451a289d906b08db322de6bad7
  Author:     Marek Küthe <m.k@mk16.de>
  AuthorDate: 2024-02-13 01:41:14 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-24 02:47:09 +0900

    Fixes [Bug #20258]

    Signed-off-by: Marek Küthe <m.k@mk16.de>

commit df5b8ea4dbcc9a84969c4b941ffd0a5f468fd0fa
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 06:02:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 00:24:21 +0900

    Remove unneeded RUBY_FUNC_EXPORTED

commit 386a00663092fc5eff0770dcb4b4ce5d6797dd74
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 08:03:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 00:24:21 +0900

    Use rb_hash_foreach in objspace.c

    Using RHASH_TBL_RAW is a private API, so we should use rb_hash_foreach
    rather than RHASH_TBL_RAW with st_foreach.

commit 6bd3e8fbb2b0645f535858b3bd3bcb7242a6a438
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 07:02:36 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-24 00:24:21 +0900

    Use rb_hash_foreach in coverage

    Using RHASH_TBL_RAW is a private API, so we should use rb_hash_foreach
    rather than RHASH_TBL_RAW with st_foreach.

commit ea2fb7460e8bb15d420cbcc50c2722eb3c302815
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-23 22:11:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 22:11:20 +0900

    [ruby/irb] Remove useless loaded file check
    (https://github.com/ruby/irb/pull/885)

    https://github.com/ruby/irb/commit/f6d489658e

commit 3371936b6f863ab0aae0ad5a106cad03b377b88e
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-01-31 16:45:11 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-02-23 22:10:01 +0900

    Add Launchable into CI

commit 7da3f8dcd34a58ce806cf2d8b22edb3261dea131
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-23 21:49:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 21:50:08 +0900

    [ruby/optparse] [DOC] About return value of OptionParser#new

    https://github.com/ruby/optparse/commit/59b9fd7ddc

commit f0172fc7ee9f0c27cb543f52deae477c9ada4c79
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-23 21:32:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 21:32:59 +0900

    [ruby/irb] Remove workaround for empty lines in dynamic_prompt
    (https://github.com/ruby/irb/pull/884)

    https://github.com/ruby/irb/commit/820b9e8dd6

commit 598b03648f3277d65ab12a8cfb63222474788037
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-23 21:32:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 21:32:50 +0900

    [ruby/irb] Remove remaining `frozen_string_literal: false` in lib/
    (https://github.com/ruby/irb/pull/883)

    https://github.com/ruby/irb/commit/4bfdb23ae6

commit 41c0fb699139f82c92414638a7b31565d9841f1c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 13:42:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-23 21:16:59 +0900

    [ruby/optparse] Add `exact:` keyword argument

    https://github.com/ruby/optparse/commit/07e83673a8

commit 4831bb5babb0743dce7aa6db6c2258d62ff962af
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-23 19:53:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 19:53:53 +0900

    [ruby/irb] Turn on frozen literal in files
    (https://github.com/ruby/irb/pull/881)

    https://github.com/ruby/irb/commit/83d90550c2

commit 37dde6e2f82304848636015c0ce032cbdb5cd2a9
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-23 19:02:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 19:02:19 +0900

    [ruby/irb] Unroll extension method generation
    (https://github.com/ruby/irb/pull/882)

    * Unroll extension method generation

    Given we only have 2 remaining extension setter methods, both of which
    only take 1 argument and don't have any alias, the current method generation
    logic is overly complicated.

    This commit simplifies the method generation logic by simply defining
    the methods directly in the `IRB::Context` class.

    * Fix use_loader extension

    https://github.com/ruby/irb/commit/67eba5401b

commit f403660805bafd86d4ff8c56094af8d48f58a24d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 13:55:31 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-23 13:55:43 +0900

    Fallback more macos-arm-oss jobs to macos-14

    A follow-up on https://github.com/ruby/ruby/pull/10074

commit a154ea0c91b64cd7fb4d56e7ea6840488a68cb1d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-23 11:22:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [ruby/prism] Ignore other ERANGE errors for floats

    https://github.com/ruby/prism/commit/4267161ca7

commit 40165354045613441adfab40bcec61b358cdae78
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-23 10:22:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [PRISM] Integrate new number parsing

commit 5e0589cf52113e012b48044e7e8773a2ab3ee58d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-23 05:53:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [ruby/prism] Parse float values

    https://github.com/ruby/prism/commit/9137226a52

commit 3b3def5db7c27e985c12d8d2cf0f77ef3eb63744
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-23 00:55:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [ruby/prism] Regenerate snapshots using integer values

commit af0a6ea1d5253379bd634b41ed95d8e9feed8b44
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-23 00:55:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [ruby/prism] Add an IntegerField for parsing integer values

    https://github.com/ruby/prism/commit/120d8c0479

commit ff6ebba9deccd4d7514d416ea4910de7717194cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2023-12-16 04:20:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-23 12:42:44 +0900

    [ruby/prism] Parse numeric values

    https://github.com/ruby/prism/commit/a6a552411c

commit 3ca6da24e397e550d589a69791be7697c0cb73c6
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-23 09:30:14 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-23 11:12:08 +0900

    [Bug #20295] Fix SEGV when parsing invalid regexp

commit d5080f6e8b77364483ff6727b1065e45e180f05d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 09:11:24 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-23 09:11:30 +0900

    Fix -Wsign-compare on String#initialize

    ../string.c:1886:57: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare]
     1886 |                 if (STR_EMBED_P(str)) RUBY_ASSERT(osize <= str_embed_capa(str));
          |                                                         ^~

commit 38bf622cdc9d2b338156e3bfe75858e26acd9e49
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 08:28:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-23 08:28:46 +0900

    Fix -Wmaybe-uninitialized on Complex#** (#10075)

commit cdca94208f18b0921340906a1cb43f88737539e2
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 08:15:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-23 08:15:03 +0900

    Fallback every macos-arm-oss usage to macos-14 (#10074)

commit bccf4b30fa251dd4394d4ad477bad53c624d2aba
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 07:34:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-23 07:34:19 +0900

    Skip under_gc_compact_stress on s390x (#10073)

commit 2b0bc447e5b4057253f7cb8480fc6338f6528858
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 07:32:52 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-23 07:32:52 +0900

    Remove unused matrix.configure from macos.yml

commit 3c61222d68e192e3c3908f45749aacfb591a169a
  Author:     Philip Mueller <mail@philip.in-aachen.net>
  AuthorDate: 2024-02-23 04:10:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-23 06:43:02 +0900

    [ruby/prism] all constant nodes should have full_name and full_name_parts methods

    https://github.com/ruby/prism/commit/792265ae0b

commit 9d8d029e327ef3fc0d45b68f51d78c28a3ae7dad
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-23 05:52:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-23 05:52:57 +0900

    Remove unused variable in imemo.c

    The variable klass is only used in debug builds and generates a warning
    on non-debug builds.

commit a16fefcff5b8e95ae2ae7154625b3903d0bcd54d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-23 03:33:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-23 03:33:42 +0900

    YJIT: Optimize attr_writer (#9986)

    * YJIT: Optimize attr_writer

    * Comment about StackOpnd vs SelfOpnd

commit e65315a7253c58ad2d3bbf5482723976ff3d6640
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-22 05:48:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-23 01:35:09 +0900

    Extract imemo functions from gc.c into imemo.c

commit e04146129ec6898dd6a9739dad2983c6e9b68056
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 22:46:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 22:46:18 +0900

    [Bug #20292] Truncate embedded string to new capacity

commit 88431c47baccff2b5b5e12d059f0cb1f12ef29d1
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-22 22:16:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 22:16:46 +0900

    [ruby/irb] Delete IRB::NotImplementedError
    (https://github.com/ruby/irb/pull/878)

    https://github.com/ruby/irb/commit/6751778948

commit 183c574d54c000e77004b5873ba2c492e4819853
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 22:05:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 22:05:04 +0900

    Save the performance warning flag

commit d597335c6d92bf1e4744618c183af0c4c7c39623
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 20:18:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 20:18:49 +0900

    Remove unused variable

    It was used only in old `SAVE_ROOT_JMPBUF`, and the warning was
    suppressed by this macro.

commit 6478514502ddf0461412c5a6df2f36a13af6a928
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-02-21 01:29:33 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-02-22 20:05:54 +0900

    CI: Refactor a logic for skipped tests.

    * Make the make's TESTS argument update easily by updating TESTS env with added steps.
    * Use the `$(...)` rather than backquotes.
      See <https://www.shellcheck.net/wiki/SC2006>.
    * Use double-quotes for the make's argument `TESTS="$(...)"` to support
      space-separated skipped tests such as
      `skipped_tests: 'TestGem#test_.* TestMkmf.*'`.
    * Replace the `matrix.skipped_tests != ''` with `matrix.skipped_tests`.
      I think that these expressions are equivalent.
      See <https://docs.github.com/en/actions/learn-github-actions/expressions#functions>
      for details.
      > Type - Result
      > Null - ''

commit 133d774382351edf21d1b73f2310b71c0af9a156
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 19:02:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 19:45:38 +0900

    Cover all warning category options

commit 7d112b04c722862716486c6bda3bbd2f9aa9dc0f
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-21 13:43:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-22 19:08:20 +0900

    Use `rb_encoding *` as literal hash of NODE_ENCODING

    This reduces dependency on VALUE.

commit 6a0b05f413931cf24c149c29cc317d2b9c623885
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-02-22 18:35:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 18:35:54 +0900

    Remove `SAVE_ROOT_JMPBUF` as it no longer has any effect. (#10066)

commit b7f5c8003639b86cea50389fac541e2565e7e694
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-02-21 22:12:47 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-22 18:22:01 +0900

    Use `terms?` instead of `opt_terms`

commit e1c684e4711eacdb3520c55d11415217026dd892
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 14:50:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 15:43:46 +0900

    Refactor to use `struct string_part`

commit 97a39ccc2cada2eb5d25ec74169d6a513356ff38
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 13:24:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-22 15:43:46 +0900

    Split `init_funcname`

    Extract `build_funcname` that takes the prefix as an argument, and
    `concat_funcname` that concats the parts.

commit 9f8f32bf9f3758ba67dd2afe7e07d9eccb68bbc7
  Author:     Martin Emde <martin.emde@gmail.com>
  AuthorDate: 2023-12-22 07:11:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 15:42:06 +0900

    [ruby/zlib] In Zlib::GzipReader#eof? check if we're actually at eof

    Only consider it eof if we read ahead and something fills the buf.
    If not, we may only have empty blocks and the footer.

    Fixes https://github.com/ruby/zlib/pull/56

    https://github.com/ruby/zlib/commit/437bea8003

commit 35f68e7dff0dc67386f07c6d1ad48719c713c690
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-22 08:09:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 08:09:17 +0900

    YJIT: Assert Opnd::Stack's SP expectation (#10061)

commit 5f00b2dcb66ba398aeaa6e2db67d1cfcb7f3ffb2
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-22 08:05:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 08:05:40 +0900

    Fix the insn position shown by rb_vm_check_canary (#10062)

commit be96dc9f8c0af531a0d0f5f880e081a9140456e3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 07:25:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 07:55:11 +0900

    [PRISM] Support it local variable

commit 31735d77c5ed72afe4b0d8125681fde335d9dcd0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 05:34:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 07:55:11 +0900

    [ruby/prism] Update for Ruby 3.4 errors

    https://github.com/ruby/prism/commit/20fea2cf2b

commit 90c5393f9f7086e59ba5461ba7153bbed925402f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 04:11:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 07:55:11 +0900

    [ruby/prism] Support ItParametersNode

    So that compilers know they need to add to add an anonymous
    variable to the local table.

    https://github.com/ruby/prism/commit/7f1aadd057

commit 0be09967fee9eda531260e027094d619e034c425
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-22 07:42:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 07:42:23 +0900

    YJIT: Grab stack operands after SP change in String#byteslice (#10060)

    Previously, `StackOperand`s caching `sp_offset` was held across a
    jit_prepare_call_with_gc(), which invalidates the offsets. With the
    right register allocation state, the canary overlapped with the old
    address of the receiver and YJIT clobbered the receiver writing the
    canary.

commit 551f64745fa0ba0ea70812f63495f2fa7dd5afe4
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-22 06:11:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 07:38:48 +0900

    [ruby/prism] Allow skipping warnings as needed, and pass a reason through to Parser::Diagnostic

    https://github.com/ruby/prism/commit/6a84a3c9fb

commit 45ae69e37e1dac60ea8f6d682ff7b947cb8057d0
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-22 05:55:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 07:38:48 +0900

    [ruby/prism] Update lib/prism/translation/parser.rb

    https://github.com/ruby/prism/commit/c3cc282343

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit e3b9eec3498df88ef130098c4db5377ec156988b
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-22 02:17:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 07:38:47 +0900

    [ruby/prism] Translation::Parser should process warnings, not just errors

    https://github.com/ruby/prism/commit/ea7e400f85

commit 80ffa3006c050fe15f92f9b5b1676f3fba3a6c28
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 05:27:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 07:25:55 +0900

    [PRISM] Eval frames should not have an absolute path

commit fce780473c10bc06422f00c4a2b41c516f494a02
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-22 05:42:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 05:42:23 +0900

    [DOC] Doc for field processing (#10008)

commit 577d07cfc67bd6cf1ce5db43cbca4518842e0be8
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-22 05:24:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-22 05:24:18 +0900

    YJIT: Allow non-leaf calls on opt_* insns (#10033)

    * YJIT: Allow non-leaf calls on opt_* insns

    * s/on_send_insn/is_sendish/

    * Repeat known_cfunc_codegen

commit 5c02d9778036f58c92801fb782dd5d6530904c01
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:47:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * or
    * optional parameter
    * parentheses
    * pre execution
    * post execution
    * range
    * rational
    * redo

commit e19fde52cced81c268e938a29597ab7d52332f07
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:37:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * if
    * unless

commit e1f6b477e054dded1f471b3d0e1fef5616897715
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:29:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * regular expressions
    * rescue
    * rescue modifier

commit e7d480df5da955c021158efd1accfb2c44d64464
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:23:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * returns
    * retry
    * self
    * singleton class

commit 61c5936da378bacada4500979737bcd9c44256b7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:11:12 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * source files
    * source encodings
    * source lines

commit 220ced7486403109ec5b4e7bb42a9b5739796079
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 01:08:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 04:14:21 +0900

    [PRISM] Remove more dummy line usage

    * yields
    * xstrings
    * while
    * until
    * undef
    * true
    * symbol
    * super
    * string
    * statements
    * splat

commit 8bc51a393acfb5af4e446799e51f73e61b0cfc8e
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-21 04:03:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 02:45:01 +0900

    [rubygems/rubygems] Check for correct exception on older psych versions

    https://github.com/rubygems/rubygems/commit/52de6eccf5

commit 997470b7b697d267109571d81081453acc73a2f9
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-14 17:50:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 02:45:00 +0900

    [rubygems/rubygems] Commit missing new method

    https://github.com/rubygems/rubygems/commit/5265b4ce3d

commit 466ed0e1ace6ebf069d444d666f0db3f9224a4b9
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-11 12:52:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 02:45:00 +0900

    [rubygems/rubygems] Add a test for safe yaml

    https://github.com/rubygems/rubygems/commit/148deade0a

commit 5dcc7a03267216feaa587017ef5d6d075b62f75b
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-10 03:15:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 02:45:00 +0900

    [rubygems/rubygems] Use a writer method on the module instead of a constant

    https://github.com/rubygems/rubygems/commit/240d84eea3

commit c2812fb616a9a0f31bbc3906a8ec9bad9faec498
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2024-02-08 05:26:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 02:44:59 +0900

    [rubygems/rubygems] Control whether YAML aliases are enabled in Gem::SafeYAML.safe_load via a constant

    https://github.com/rubygems/rubygems/commit/6bedb1cb79

commit 5ab6b3181f6c1af46a6ebd92801a464ad370c520
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 01:52:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:57:30 +0900

    [ruby/fileutils] [DOC] FileUtils::VERSION

    https://github.com/ruby/fileutils/commit/48742e2921

commit 2edc14be692d57f16b9ff4aca57586ff17741603
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-06 10:37:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:57:30 +0900

    [ruby/fileutils] [DOC] nodoc for private methods and module

    https://github.com/ruby/fileutils/commit/75c6010aab

commit 6e704311bbb7c499f191d9b7d29dac0e37feabde
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2021-09-05 22:19:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:45:01 +0900

    [ruby/pp] Extract pp_hash_pair

    The method which prints single pair of a hash, to make extending
    pretty printing Hash easier, apart from Hash construct itself.

    https://github.com/ruby/pp/commit/3fcf2d1142

commit 37b8fc7477b1cbeb4f3a21ad4b22971170709cfa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2021-09-05 21:51:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:45:00 +0900

    [ruby/pp] Get rid of hardcoded class name

    So that the `pp` method can work in inherited classes with that
    class.

    https://github.com/ruby/pp/commit/f204df3aad

commit 82a4c3af1629298524024494fd065d51ff6ad5c6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-15 00:58:20 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 01:44:40 +0900

    Add error for iseqs compiled by prism

commit 0f1ca9492c63bc2e59b61c4d9b7e253e31af494d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 04:40:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 01:44:40 +0900

    [PRISM] Provide runtime flag for prism in iseq

commit d9ebb65b7958551dcc73b80815ea639e6187b62d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-22 01:35:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:39:17 +0900

    [ruby/pp] Fix compatibility with 3.3 or earlier

    https://github.com/ruby/pp/commit/f5cee21a1e

commit 330830dd1a44b6e497250a14d93efae6fa363f82
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-21 05:58:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-22 01:33:05 +0900

    Add IMEMO_NEW

    Rather than exposing that an imemo has a flag and four fields, this
    changes the implementation to only expose one field (the klass) and
    fills the rest with 0. The type will have to fill in the values themselves.

commit 2e6f8554f8c4ec12f620f31d4a110066ee76bfbe
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-30 01:27:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 01:04:52 +0900

    [ruby/date] Remove the unintentional ability to parse `Symbol`

    It's been 2 years since ruby/date#49, so it's okay.

    https://github.com/ruby/date/commit/435dfec6c8

commit 96f21e9dd11aaaba27ea3346eb81541a288c0033
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 00:26:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-22 00:58:40 +0900

    Re-enable test now that dump is all ASCII

commit 2b2e61e6f98f4dde3547a097241a950cb1300b86
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 00:28:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 00:47:05 +0900

    [ruby/prism] Only call encoding_changed callback on change

    https://github.com/ruby/prism/commit/7d0bea3ce0

commit bf680af7b2ef41339481ab013c15934d84dec5dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-22 00:12:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-22 00:22:41 +0900

    [ruby/prism] Remove non-ASCII characters from --dump=parsetree

    https://github.com/ruby/prism/commit/6d4cd21e98

commit 402690c3b60b61dce3a251acb46bfe9a615a25bb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-21 07:18:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-22 00:13:36 +0900

    Fix incomplete switch statement in imemo_memsize

    The switch statement is not exhaustive, meaning the "unreachable"
    comment was not correct. This commit fixes it by making the list
    exhaustive and adding an rb_bug in the default case.

commit 01c7e16c0ce66cfa745d49cd4f18d43c23dbe225
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 19:26:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-21 23:37:20 +0900

    Separate miniruby from dmyext.c

commit 04729fe68dceddab045be7324e26c2bb15aa62c7
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-02-21 20:33:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 20:33:18 +0900

    Fix exception handling in `rb_fiber_scheduler_set`. (#10042)

commit 78d9fe69479d32214a52ad7291c3973f1b6b7f6f
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-02-21 20:32:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 20:32:59 +0900

    Ensure that exiting thread invokes end-of-life behaviour. (#10039)

commit fd913546287ac1ec0eb0eb2a4ac38b2a4920b1d4
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-02-21 19:17:13 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-02-21 19:37:06 +0900

    [DOC] Comment about logic to care about static/dynamic hetero build

    The condition is rarely met in usual cases, so it's worth to note about
    the situation and the reason why we care about it.

commit 6aa5067ab970e70693529cde5102fab587158f7f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 19:28:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 19:28:23 +0900

    Revert rubygems tempdir check

    This check was added to check if other tests still remain tempdir, and these tests do on Windows.

    * `TestGemCommandsSetupCommand#test_destdir_flag_does_not_try_to_write_to_the_default_gem_home`
    * `TestGemInstaller#test_install_build_root_when_gem_home_not_writable_does_not_fallback_to_user_install_inside_build_root`

    Also some tests fail due to too long path names.

commit b1431ce427eb193f45fe536f1fdfdf22bbe02e3d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-21 17:14:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-21 17:57:48 +0900

    Add comments to dmydln.c, dmyenc.c, and dmyext.c

    They are used conditionally in miniruby, dynamically-linked ruby, and
    statically-linked ruby (--with-static-linked-ext).
    I asked @nobu about the conditions. and I leave comments because the
    conditions are insanely difficult.

commit 6ecb14df2cda223e2280891150b3f41c1eb2edf0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 02:32:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 17:14:34 +0900

    [rubygems/rubygems] Reset `Gem.state_file` along with `Gem.state_home`

    As `Gem.state_file` is placed under `Gem.state_home` directory, when
    the latter is reset, also the former should be reset.
    If left unreset, the file for a previously run test will be re-created
    and will not be deleted.

    https://github.com/rubygems/rubygems/commit/1378d07afd

commit 1fa4d15ca732f64616161739a50f57c287e17402
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-21 15:45:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-21 15:45:53 +0900

    Add `Test::Unit::TestCase#method_name`

    For the compatibility with test-unit gem.

commit fc1a7a46dc9814d8600d4b22f5929cbc8248cab0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-21 14:27:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 15:39:37 +0900

    [rubygems/rubygems] Use Hash#compact

    https://github.com/rubygems/rubygems/commit/9d4ff6ff30

    Co-authored-by: Samuel Giddins <segiddins@segiddins.me>

commit c8fb4f308bc24c75c2713129a0972ffcd8742b3f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-11-01 23:45:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 15:39:36 +0900

    [rubygems/rubygems] Skip nil-value keys to make metadata reproducible

    Nil-value keys in a mapping end with a space or not depending on
    libyaml versions, and result metadata are different per platforms.
    This commit makes to skip such keys to make metadata reproducible
    accross platforms.

    https://github.com/rubygems/rubygems/commit/74b4db8d30

commit d578684989fd2d75f086a259719e3eb0fe57ccb2
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-02-20 19:09:23 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-02-21 15:38:29 +0900

    `rb_thread_lock_native_thread()`

    Introduce `rb_thread_lock_native_thread()` to allocate dedicated
    native thread to the current Ruby thread for M:N threads.
    This C API is similar to Go's `runtime.LockOSThread()`.

    Accepted at https://github.com/ruby/dev-meeting-log/blob/master/2023/DevMeeting-2023-08-24.md
    (and missed to implement on Ruby 3.3.0)

commit 91cb30353178004ba57acacf1c39d9c02beff86e
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-18 18:33:29 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-21 13:36:45 +0900

    Remove not used universal parser macros and functions

commit d0786cde3f70e023332d97e629ea273c6e4d56c6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-20 19:12:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 12:30:23 +0900

    [rubygems/rubygems] rake man:build

    https://github.com/rubygems/rubygems/commit/e0ef515732

commit 08753f203707247d4172be147bc47dc1dd241053
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-20 16:47:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 12:30:22 +0900

    [rubygems/rubygems] Use https instead of http

    https://github.com/rubygems/rubygems/commit/bcbe6f7b7a

commit a605234bfa5567b72052c538730c4846e9028f5d
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-20 16:16:28 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-20 16:17:20 +0900

    NEWS.md: Add a note for [Feature #16495] and [Feature #19117]

commit 081ee3d35509110f383cb7dd8d1205def0cdd1e8
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-02-16 08:32:01 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-02-21 11:55:00 +0900

    Add memory leak test for eval kwargs

commit 1c97abaabae6844c861705fd07f532292dcffa74
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-02-12 14:43:38 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-02-21 11:55:00 +0900

    De-dup identical callinfo objects

    Previously every call to vm_ci_new (when the CI was not packable) would
    result in a different callinfo being returned this meant that every
    kwarg callsite had its own CI.

    When calling, different CIs result in different CCs. These CIs and CCs
    both end up persisted on the T_CLASS inside cc_tbl. So in an eval loop
    this resulted in a memory leak of both types of object. This also likely
    resulted in extra memory used, and extra time searching, in non-eval
    cases.

    For simplicity in this commit I always allocate a CI object inside
    rb_vm_ci_lookup, but ideally we would lazily allocate it only when
    needed. I hope to do that as a follow up in the future.

commit 2a6917b463fa4065f26aea44802e2e24cc494e4c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-21 06:45:59 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-21 11:00:54 +0900

    Fix string value in hash literal being forced frozen

    We should pass `false` for `hash_key` for value nodes. Credits to
    `@kddnewton` for noticing and bisecting.

commit 5fb574ae4e35bdb3688c1c89128c74d24a4c5d23
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-19 07:55:21 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-21 10:57:32 +0900

    `rb_parser_warn_duplicate_keys` doesn't need to take care of NODE_LIT anymore

    NODE_LIT is created only for `shareable_constant_value`.
    This means hash key node is never NODE_LIT.

commit ce4142bcb70cc345507f4479702ad3069e60565b
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-21 10:23:08 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 10:23:08 +0900

    YJIT: rb_str_concat_literals is not leaf (#10035)

commit 776dbbba7287a44ea789385ef41d59261459031b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-20 23:52:23 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-21 09:16:09 +0900

    Remove hack for ripper.y generation

    Before Rearchitect Ripper (89cfc15), parser and ripper used different
    semantic value data type for same symbols.
    "ext/ripper/tools/preproc.rb" replaced these types when it generated
    ripper.y. Starting the line with other than `%token` suppressed
    the type replacement.
    However, after Rearchitect Ripper, both parser and ripper use
    same semantic value data type. Therefore these comments are not needed
    anymore.

commit e7ab5d891c3272e72caef6879e90ad8ae4e13dea
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-10 10:05:18 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-21 08:06:48 +0900

    Introduce NODE_REGX to manage regexp literal

commit 97d4363d3b4125d30120ab07cb69d3fc34b44bfc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 05:12:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-21 07:39:46 +0900

    [DOC] Improve docs for GC.latest_compact_info

commit 35fdf1a6242906117da05ec66ae0e30827ab7199
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-21 06:21:32 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-21 06:53:36 +0900

    YJIT: Remove duplicate test

commit 8e1090487e340747737ca20b78146bd92faac7b6
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-21 06:20:02 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-21 06:53:36 +0900

    YJIT: Fix calling leaf builtins with empty splat and kw_splat

    These don't pass anything and just need to be popped off the stack.

    https://github.com/ruby/ruby/actions/runs/7977363890/job/21780095289#step:13:104

commit 9216a2ac43a6e8a22efad582c4460c51cab72674
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-21 06:42:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 06:42:29 +0900

    YJIT: Verify the assumption of leaf C calls (#10002)

commit d4b4b53bc02c7bc12f3cba75c8390a8ab27e9306
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-21 06:10:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 06:10:52 +0900

    [DOC] Fix links in doc (#9970)

commit b3c13de858d0dbe4e3965485d47da58b6960cb64
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-02-20 15:31:24 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-02-21 03:59:19 +0900

    skip a test on non-UTF-8 locale

    `ruby --parser=prism -W:no-experimental --dump=parsetree -e :hi` prints
    non-ASCII char(s) so the following test with non UTF-8 locale fails.

    ```
    $ LANG=C make test-all TESTS='-n /parser/ ruby/rubyoptions' -o encs -o exts
    Run options:
      --seed=32323
      "--ruby=./miniruby -I/home/ko1/ruby/src/master/lib -I. -I.ext/common  /home/ko1/ruby/src/master/tool/runruby.rb --extout=.ext  -- --disable-gems"
      --excludes-dir=/home/ko1/ruby/src/master/test/.excludes
      --name=!/memory_leak/
      -n
      /parser/

    [1/1] TestRubyOptions#test_parser_flag = 0.04 s
      1) Failure:
    TestRubyOptions#test_parser_flag [/home/ko1/ruby/src/master/test/ruby/test_rubyoptions.rb:300]:
    pid 135869 exit 0.

    1. [1/2] Assertion for "stdout"
       | invalid byte sequence in US-ASCII.

    Finished tests in 0.044362s, 22.5416 tests/s, 225.4157 assertions/s.
    1 tests, 10 assertions, 1 failures, 0 errors, 0 skips

    ruby -v: ruby 3.4.0dev (2024-02-20T17:13:36Z master c0e5de9567) [x86_64-linux]
    make: *** [uncommon.mk:945: yes-test-all] Error 1
    ```

    Now simply skip the test if the locale is not UTF-8.
    (I'm not familiar with encodings so please fix it if needed)

commit 77c1233f79a0f96a081b70da533fbbde4f3037fa
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-31 03:31:27 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-02-21 03:47:44 +0900

    Add pushtoarraykwsplat instruction to avoid unnecessary array allocation

    This is designed to replace the newarraykwsplat instruction, which is
    no longer used in the parse.y compiler after this commit.  This avoids
    an unnecessary array allocation in the case where ARGSCAT is followed
    by LIST with keyword:

    ```ruby
    a = []
    kw = {}
    [*a, 1, **kw]
    ```

    Previous Instructions:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 newhash                                0                         (   2)[Li]
    0006 setlocal_WC_0                          kw@1
    0008 getlocal_WC_0                          a@0                       (   3)[Li]
    0010 splatarray                             true
    0012 putobject_INT2FIX_1_
    0013 putspecialobject                       1
    0015 newhash                                0
    0017 getlocal_WC_0                          kw@1
    0019 opt_send_without_block                 <calldata!mid:core#hash_merge_kwd, argc:2, ARGS_SIMPLE>
    0021 newarraykwsplat                        2
    0023 concattoarray
    0024 leave
    ```

    New Instructions:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 newhash                                0                         (   2)[Li]
    0006 setlocal_WC_0                          kw@1
    0008 getlocal_WC_0                          a@0                       (   3)[Li]
    0010 splatarray                             true
    0012 putobject_INT2FIX_1_
    0013 pushtoarray                            1
    0015 putspecialobject                       1
    0017 newhash                                0
    0019 getlocal_WC_0                          kw@1
    0021 opt_send_without_block                 <calldata!mid:core#hash_merge_kwd, argc:2, ARGS_SIMPLE>
    0023 pushtoarraykwsplat
    0024 leave
    ```

    pushtoarraykwsplat is designed to be simpler than newarraykwsplat.
    It does not take a variable number of arguments from the stack, it
    pops the top of the stack, and appends it to the second from the top,
    unless the top of the stack is an empty hash.

    During this work, I found the ARGSPUSH followed by HASH with keyword
    did not compile correctly, as it pushed the generated hash to the
    array even if the hash was empty.  This fixes the behavior, to use
    pushtoarraykwsplat instead of pushtoarray in that case:

    ```ruby
    a = []
    kw = {}
    [*a, **kw]

    [{}] # Before

    [] # After
    ```

    This does not remove the newarraykwsplat instruction, as it is still
    referenced in the prism compiler (which should be updated similar
    to this), YJIT (only in the bindings, it does not appear to be
    implemented), and RJIT (in a couple comments).  After those are
    updated, the newarraykwsplat instruction should be removed.

commit 2e2e3d89af7d16e466a12a42ef6cd6554e700f50
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-21 03:29:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-21 03:29:02 +0900

    YJIT: Support `**nil` for cfuncs

    Similar to the iseq call support. Fairly straight forward.

commit c0e5de956717f206840658c07e1c1b5f31b50f98
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-21 02:13:36 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-21 02:13:36 +0900

    Fix the version in missing-baseruby

commit c184aa8740fc871cdfb8647cbde261686d0f6ca7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 03:35:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-21 00:39:30 +0900

    Use rb_gc_mark_and_move for imemo

commit 20f03100d568ae5a32b63dbd7abdbc5fdcef769d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-21 00:24:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-21 00:36:35 +0900

    [ruby/prism] Fix eval encoding switching to UTF-8

    https://github.com/ruby/prism/commit/24e3ff5d6d

commit 835fa98a62ca10f06861dc7bde9cd1a5bc0d1612
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-20 23:03:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-20 23:56:07 +0900

    Update warning flags before dump

commit bcfcdae58e439eb960ef02cc03f894f34712862d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-20 23:30:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 23:31:03 +0900

    [ruby/prism] Fix windows build checking for _POSIX_MAPPED_FILES

    https://github.com/ruby/prism/commit/acf603603f

commit f0a46c63341336c19a9c8237c65c762ebef99b04
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-02-16 14:40:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 23:21:17 +0900

    [ruby/prism] Include unistd.h before checking _POSIX_MAPPED_FILES

    https://github.com/ruby/prism/commit/84b3c294f0

commit 15b53e901c15225bdb2d67abb6f2aabf2e93cc4e
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2024-01-22 15:17:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 23:21:16 +0900

    [ruby/prism] Use `_POSIX_MAPPED_FILES` and `_WIN32` to know if memory map interface is available in the target platform

    https://github.com/ruby/prism/commit/88e2ff52d4

commit c22cb960cf5333e4789489be16db42dc805395b0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-20 20:52:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-20 20:52:09 +0900

    Use commit with Ruby 3.4 support

commit 386b956ad8fb6883512d17646d6eddd02e6e0d6a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-20 20:08:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-20 20:14:37 +0900

    Remove never used method

commit e3917fc7da2c4dfbf0144ad988ec1047fd290642
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-20 20:07:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-20 20:14:37 +0900

    Remove no longer used methods

    `find_object_in_recycled_slot` and `memory_location` have not been
    used since commit:b99833baec2e567e38758f4fd017c90c7ce57d75.

commit 7cb8fd780011a43eebf33a5aa6da1262a5c52307
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-18 18:14:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 19:19:31 +0900

    Move ripper_validate_object to ripper_init.c.tmpl

commit fa3d6aafb70aa06f8afa198c463bf6fac84ce0dd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-20 16:57:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 19:13:30 +0900

    [ruby/uri] Use https instead of http

    https://github.com/ruby/uri/commit/ad2591f0d1

commit 474f41880fd4fdffaad03fc73b76354886dab015
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-19 18:07:04 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 19:07:40 +0900

    Suppress unused function warning for UNIVERSAL_PARSER build

    Suppress the warning:

    ```
    parse.y:2221:1: warning: unused function 'rb_parser_str_hash' [-Wunused-function]
     2221 | rb_parser_str_hash(rb_parser_string_t *str)
          | ^~~~~~~~~~~~~~~~~~
    ```

commit fba647087b1d61a890537cf9294e4d2074f7572b
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-02-04 09:05:33 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 19:02:24 +0900

    Remove uneeded Universal Parser properties

commit 2a4b6ed37cbb7acb622703be4db770457c2b72cc
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-16 17:33:39 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 17:33:58 +0900

    Workaround for `Prism::ParseTest#test_filepath` for "unparser/corpus/literal/def.txt"

    See the discussion on https://github.com/ruby/ruby/pull/9923

commit 20dbc7a5f4098ec7612192c2b65bdc970eab6055
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-05 13:14:56 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 17:33:58 +0900

    Skip `test_filepath` of "unparser/corpus/literal/def.txt"

    The previous commit changes Ripper lex state behavior of `tLABEL`.
    For example, Ripper lex state for the second `bar` was changed
    by the previous commit.

    ```
    def foo(bar: bar())
    end
    ```

    Before the commit, Ripper didn’t add label `bar` id to `vtable`
    because `formal_argument` function for Ripper didn’t return id
    but returned `VALUE lhs`.
    Therefore Ripper didn’t `SET_LEX_STATE(EXPR_END|EXPR_LABEL)` for following `bar`
    in `parse_ident` because `lvar_defined` for following `bar` was not true.

    Currently Ripper does `SET_LEX_STATE(EXPR_END|EXPR_LABEL)` then
    the result of this test case is changed like below.

    ```
    Prism::ParseTest#test_filepath_unparser/corpus/literal/def.txt [ruby/test/prism/parse_test.rb:280]:
    <[[80, 13], :on_ident, “bar”, END|LABEL]> expected but was
    <[[80, 13], :on_ident, “bar”, ARG]>.
    ```

    Parser sets lex state to `END|LABEL` on master branch.
    Therefore previous commit makes Ripper’s behavior aligned with parser’s behavior.

    ```
    $ ruby -v -y -e "def foo(bar: bar())" -e "end"
    ruby 3.4.0dev (2024-02-11T23:52:05Z master 697ade7bda) [arm64-darwin21]
    ...
    Reading a token
    parser_dispatch_scan_event:11210 (1: 12|1|7)
    lex_state: ARG|LABELED -> ARG at line 11113
    lex_state: ARG -> END|LABEL at line 11128
    parser_dispatch_scan_event:11877 (1: 13|3|4)
    Next token is token “local variable or method” (1.13-1.16: bar)
    Shifting token “local variable or method” (1.13-1.16: bar)
    ```

commit 89cfc1520717257073012ec07105c551e4b8af7c
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-12 10:46:17 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-20 17:33:58 +0900

    [Feature #20257] Rearchitect Ripper

    Introduce another semantic value stack for Ripper so that
    Ripper can manage both Node and Ruby Object separately.
    This rearchitectutre of Ripper solves these issues.
    Therefore adding test cases for them.

    * [Bug 10436] https://bugs.ruby-lang.org/issues/10436
    * [Bug 18988] https://bugs.ruby-lang.org/issues/18988
    * [Bug 20055] https://bugs.ruby-lang.org/issues/20055

    Checked the differences of `Ripper.sexp` for files under `/test/ruby`
    are only on test_pattern_matching.rb.
    The differences comes from the differences between
    `new_hash_pattern_tail` functions between parser and Ripper.
    Ripper `new_hash_pattern_tail` didn’t call `assignable` then
    `kw_rest_arg` wasn’t marked as local variable.
    This is also fixed by this commit.

    ```
    --- a/./tmp/before/test_pattern_matching.rb
    +++ b/./tmp/after/test_pattern_matching.rb
    @@ -3607,7 +3607,7 @@
                      [:in,
                       [:hshptn, nil, [], [:var_field, [:@ident, “a”, [984, 13]]]],
                       [[:binary,
    -                    [:vcall, [:@ident, “a”, [985, 10]]],
    +                    [:var_ref, [:@ident, “a”, [985, 10]]],
                         :==,
                         [:hash, nil]]],
                       nil]]],
    @@ -3662,7 +3662,7 @@
                      [:in,
                       [:hshptn, nil, [], [:var_field, [:@ident, “a”, [993, 13]]]],
                       [[:binary,
    -                    [:vcall, [:@ident, “a”, [994, 10]]],
    +                    [:var_ref, [:@ident, “a”, [994, 10]]],
                         :==,
                         [:hash,
                          [:assoclist_from_args,
    @@ -3813,7 +3813,7 @@
                        [:command,
                         [:@ident, “raise”, [1022, 10]],
                         [:args_add_block,
    -                     [[:vcall, [:@ident, “b”, [1022, 16]]]],
    +                     [[:var_ref, [:@ident, “b”, [1022, 16]]]],
                          false]]],
                       [:else, [[:var_ref, [:@kw, “true”, [1024, 10]]]]]]]],
                    nil,
    @@ -3876,7 +3876,7 @@
                          [:@int, “0”, [1033, 15]]],
                         :“&&“,
                         [:binary,
    -                     [:vcall, [:@ident, “b”, [1033, 20]]],
    +                     [:var_ref, [:@ident, “b”, [1033, 20]]],
                          :==,
                          [:hash, nil]]]],
                       nil]]],
    @@ -3946,7 +3946,7 @@
                          [:@int, “0”, [1042, 15]]],
                         :“&&“,
                         [:binary,
    -                     [:vcall, [:@ident, “b”, [1042, 20]]],
    +                     [:var_ref, [:@ident, “b”, [1042, 20]]],
                          :==,
                          [:hash,
                           [:assoclist_from_args,
    @@ -5206,7 +5206,7 @@
                          [[:assoc_new,
                            [:@label, “c:“, [1352, 22]],
                            [:@int, “0”, [1352, 25]]]]]],
    -                   [:vcall, [:@ident, “r”, [1352, 29]]]],
    +                   [:var_ref, [:@ident, “r”, [1352, 29]]]],
                       false]]],
                    [:binary,
                     [:call,
    @@ -5299,7 +5299,7 @@
                           [:assoc_new,
                            [:@label, “c:“, [1367, 34]],
                            [:@int, “0”, [1367, 37]]]]]],
    -                   [:vcall, [:@ident, “r”, [1367, 41]]]],
    +                   [:var_ref, [:@ident, “r”, [1367, 41]]]],
                       false]]],
                    [:binary,
                     [:call,
    @@ -5931,7 +5931,7 @@
                  [:in,
                   [:hshptn, nil, [], [:var_field, [:@ident, “r”, [1533, 11]]]],
                   [[:binary,
    -                [:vcall, [:@ident, “r”, [1534, 8]]],
    +                [:var_ref, [:@ident, “r”, [1534, 8]]],
                     :==,
                     [:hash,
                      [:assoclist_from_args,
    ```

commit f75b9dbf7dd86f8fa6777a9c9c960c310c940261
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-17 20:47:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:16 +0900

    [rubygems/rubygems] Keep Gem.install_extension_in_lib for compatibility

    https://github.com/rubygems/rubygems/commit/b2bf239147

commit f2d453347f9174f6abf2abf8b2d870c5fccabdfb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 13:28:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:15 +0900

    [rubygems/rubygems] re-order util methods

    https://github.com/rubygems/rubygems/commit/4b5eb7a02c

commit 018261eb921d51001c91a636e808349dfa725494
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 13:28:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:15 +0900

    [rubygems/rubygems] Added small tests

    https://github.com/rubygems/rubygems/commit/08a245bdf8

commit a551d936557741fef836961e57b6984a7a282a3e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 12:57:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:15 +0900

    [rubygems/rubygems] Now install extension in lib is true

    https://github.com/rubygems/rubygems/commit/bbcad80772

commit 27501a550972d8986584764b49a7b5e09998c96b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 12:43:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:14 +0900

    [rubygems/rubygems] Restore Gem.configuration during installation test

    https://github.com/rubygems/rubygems/commit/bf7156968e

commit 94dd4dc3b2da1828b71bdf716918d2b789486651
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 12:39:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:14 +0900

    [rubygems/rubygems] Gem.install_extension_in_lib is now under the Gem.configuration

    https://github.com/rubygems/rubygems/commit/c394375b28

commit 83148f83420a66ceaacb1f24bfcdc51516f5e0d7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-03-10 12:21:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 14:33:13 +0900

    [rubygems/rubygems] Allow to set install_extension_in_lib as Gem configuration

    https://github.com/rubygems/rubygems/commit/c59d40f425

commit cdf39ed6731ebdc621809a8ba7ea46877a4835f5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-20 09:55:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-20 09:56:05 +0900

    Don't sync prism.{so,bundle,dll} from `ruby/prism`

commit ae3e82a5259893b4d68e2bedb675c160bcd1a173
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-20 02:54:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-20 04:50:46 +0900

    [ruby/prism] Fix up comment state

    https://github.com/ruby/prism/commit/c6561becf0

commit 391b0bf07b5308cbe3def2b4cfb428ba7f17cf13
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 17:29:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 19:24:16 +0900

    Try with some test fixes from https://github.com/hsbt/debug/commits/release/

commit 96ede4d192788d2dc20f5caa6cbe299f6f326f5d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 17:13:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 17:13:22 +0900

    Bump up typeprof-0.21.11

commit 8c5b7eb05f206e32d84a695c6a46ce7306b1030f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-19 16:30:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-19 16:33:27 +0900

    [Bug #20280] Fix wrong tests

commit d9b61e228ff86f00c195abb6c3e0e6f4525385e0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-19 14:53:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-19 16:33:27 +0900

    Omit a bizzarre test in IRB

commit b1d70e426430bd268747c0aef6811447042c2577
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-19 14:46:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-19 16:33:26 +0900

    [Bug #20280] Check by `rb_parser_enc_str_coderange`

    Co-authored-by: Yuichiro Kaneko <spiketeika@gmail.com>

commit fcc55dc2261b4c61da711c10a5476d05d4391eca
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-19 14:07:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-19 16:33:26 +0900

    [Bug #20280] Raise SyntaxError on invalid encoding symbol

commit a52fc5df7ab7c5cf6a32dcbd2adfaf48a18d3947
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 13:35:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 14:45:51 +0900

    [rubygems/rubygems] Use FileUtils.mkdir_p

    https://github.com/rubygems/rubygems/commit/af806b8dff

commit cb9e0a45372d56a434fb5af4f8573815d55af34b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 13:55:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 13:55:06 +0900

    Don't exclude `test_gem_package_task.rb` explicitly.

    3d4f5e7671271335429e33605366f792bc84a2a2 suppressed warnings.

commit b4be283485436e097af2c683b8d6159ed7477bf3
  Author:     Douglas Eichelberger <dduugg@gmail.com>
  AuthorDate: 2024-02-18 07:31:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 13:48:42 +0900

    [rubygems/rubygems] Remove redundant rubocop configs

    https://github.com/rubygems/rubygems/commit/a3f60240bf

commit 3d4f5e7671271335429e33605366f792bc84a2a2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 18:39:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 13:47:08 +0900

    [rubygems/rubygems] Suppress warning during test runner.

    ruby core repository explicitly removed this test file at
    https://github.com/ruby/ruby/commit/c945a849cb2c5fcdfa546e501f35bf8f834c8d7e
    for avoid to show warning.

    https://github.com/rubygems/rubygems/commit/ee78e64b50

commit 935fc22545fdca58331994622ae57799cc78ff85
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 12:06:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 13:28:04 +0900

    Use commit version for https://bugs.ruby-lang.org/issues/16495

    * https://github.com/ruby/drb/pull/25
    * https://github.com/minitest/minitest/pull/987
    * https://github.com/test-unit/test-unit/pull/237
    * https://github.com/ruby/bigdecimal/pull/286

commit 1dca87cf537f385c6f1a5050a0070598c1c0dc2a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 11:34:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 11:34:32 +0900

    Load rubygems explicitly for tests of test/irb

commit c14d295afd45d1edd08c23048f7719bca3c79072
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 11:05:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 11:05:13 +0900

    Fix accidentally changed to rename test method at d95d3484a90a985b971ef4c55762847d92b6c81a

commit 7e577e150a6897074bb5aaafb298b0605f00970f
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-16 23:30:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 11:01:30 +0900

    [ruby/irb] Fix `irb:rdbg` for ruby head
    (https://github.com/ruby/irb/pull/876)

    * Update binding.irb check for Ruby head

    With https://github.com/ruby/ruby/pull/9605, backtrace in Ruby head
    now has a new format. This commit updates the check for binding.irb
    to work with Ruby head.

    * Do not include a backtick in error messages and backtraces

    [Feature #16495]

    ---------

    https://github.com/ruby/irb/commit/ebffd3d976

    Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>

commit 9ec9910081b5d91becf9d9d8df7ea65c2ccc3a71
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-16 02:09:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 10:48:38 +0900

    [ruby/irb] Update error message assertions for Ruby 3.4
    (https://github.com/ruby/irb/pull/874)

    https://github.com/ruby/ruby/pull/9605 changes both quotes and format for
    exception messages. So we need to update the assertions in the tests.

    https://github.com/ruby/irb/commit/9359d4b51d

commit 11a6bb8195252910ce7ccfb17f1a39cc510bde22
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-19 10:47:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-19 10:47:42 +0900

    Revert 25d74b9527cd525042ad0b612b794fa331d3a318 at test/irb

commit ec1eda7b6270fc433682c2e705381bb7959c7195
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-19 06:36:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 06:42:09 +0900

    [ruby/prism] Account for encoding in regexp named captures

    https://github.com/ruby/prism/commit/17dc6b6281

commit ea529dd409a7edcaa2c6154a315ec6766b98459d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-19 06:11:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 06:37:13 +0900

    [ruby/prism] Lazy methods for start and end offset on node

    https://github.com/ruby/prism/commit/4510e2746d

commit 792804e32f7aaa1008acd01068df3c0b85cd8ffe
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-19 05:14:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 05:57:13 +0900

    [ruby/prism] Split up comments between leading and trailing

    Also make them lazy to allocate the array, and also expose ParseResult#encoding.

    https://github.com/ruby/prism/commit/08ec7683ae

commit 07c774e85cf0a3352c045ec3ae83db1215962997
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-19 03:21:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-19 03:21:08 +0900

    [ruby/irb] Revamp `help` command
    (https://github.com/ruby/irb/pull/877)

    * Make help command display help for individual commands

    Usage: `help [command]`

    If the command is not specified, it will display a list of all available commands.

    If the command is specified, it will display the banner OR description of the command.

    If the command is not found, it will display a message saying that the command is not found.

    * Rename test/irb/cmd to test/irb/command

    * Add banner to edit and ls commands

    * Promote help command in the help message

    1. Make `show_cmds` an alias of `help` so it's not displayed in the help message
    2. Update description of the help command to reflect `help <command>` syntax

    * Rename banner to help_message

    https://github.com/ruby/irb/commit/43a2c99f3f

commit 120c291fafd438e2bc58f098023c669dadc64b08
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-18 15:08:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-18 15:08:27 +0900

    Link ruby.pc to pkg-config data directory

commit 87c4c6c0823b3eabe34c42860388e3cbdd634cc3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-18 15:07:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-18 15:07:42 +0900

    Install binary executable files to architecture dependent path

commit 104100f554d94cde9d6d7e7843992970c35b93cf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-18 00:18:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-18 00:18:19 +0900

    Split path.rb from mkrunnable.rb

commit 00bda2aa3b7de7b8c6c112cbe06e6c95a1b3f918
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-18 05:51:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-18 06:53:54 +0900

    [ruby/prism] Fix up GCC analyzer

    https://github.com/ruby/prism/commit/2e8bc17528

commit 13d2a3a88fe88fd3fbc01bcd981c68732ff9404e
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-17 20:02:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-18 00:35:51 +0900

    [ruby/prism] Fix visitor in desugar test

    * The #visit method is no longer called for every node since 2e6baa3.
    * As a consequence EnsureEveryNodeOnceInAST was only visiting ProgramNode
      for `visitor.visit(ast)` and no nodes at all for `ast.accept(visitor)`.

    https://github.com/ruby/prism/commit/683513620a

commit 3dccb716daaee74d2ae00a5766fe1779fe220a81
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-17 23:28:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-17 23:28:00 +0900

    Use `defined?(yield)` and `SIZED_ENUMERATOR`

    Prefer built-in features over method calls that may be overridden.

commit df63e5bef67ff74216834f61748aa6ea8b0de22e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-17 17:27:02 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-17 17:27:02 +0900

    [DOC] Functions for `Time#initialize` implementation

commit 6e4bfb35bb6b1d039c11208e96e828601d39cb8e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-17 17:21:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-17 17:21:07 +0900

    Fix an argument name

commit 3b23b45d484f2fd7fef9dddfa73f854f34d6857b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-17 17:16:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-17 17:16:17 +0900

    Explicitly assert that redefined backquote method is called

    It has been used in some tests indirectly, but there was no direct
    test for redefinition in the toplevel.

commit b56b8ec797408865ccc79b67e9860d8382f986dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 08:29:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 11:05:12 +0900

    [ruby/prism] Provide the ability to dump AST to JSON from C

    https://github.com/ruby/prism/commit/d3a149efc5

commit 075b6ac8aeb1217b04e067eeb10bd06897a4359d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-17 05:39:44 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-17 08:16:13 +0900

    YJIT: Remove unused counters

commit 2967b7eb763788595fe26465881b6dfe2f580d66
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 05:14:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-17 05:58:39 +0900

    GC guard catch_table_ary

    Using RARRAY_CONST_PTR can cause the array object to not exist on the
    stack, which could cause it to be GC'd or be moved by GC compaction. This
    can cause RARRAY_CONST_PTR to point to the incorrect location if the
    array is embedded and moved by GC compaction.

    Fixes ruby/prism#2444.

commit 170058ca9eedd429ca675c78bd63896e71e52b8d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 03:55:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 05:41:53 +0900

    [ruby/prism] Ignore incorrect files

    https://github.com/ruby/prism/commit/d1094ac232

commit 13301587cf04b39ab8683f146ebf6d252d7ff728
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 03:44:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 05:41:52 +0900

    [ruby/prism] Fix block_pass for []=

    https://github.com/ruby/prism/commit/bf79206220

commit 429338a20c4e8472b02bf2092007fdf597c541de
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 05:35:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 05:41:40 +0900

    [ruby/prism] Accept newlines before ) in patterns

    https://github.com/ruby/prism/commit/e5ffb7bdf8

commit b4327c115866b411cc04da9d9fe503c8edfd2f8e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-17 04:31:52 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-17 05:27:49 +0900

    YJIT: Support empty splat

    Previously we rejected empty splat calls to methods with no parameters
    as `iseq_arity_error` which didn't work well with delegated calls.

commit c4e30d28659fbe0dbe813b21ba8bdbd96c812a66
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-16 10:29:06 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-17 05:27:49 +0900

    YJIT: Support `**nil`

    This adds YJIT support for VM_CALL_KW_SPLAT with nil, specifically for
    when we already know from the context that it's done with a nil. This is
    enough to support forwarding with `...` when there no keyword arguments
    are present.

    Amend the kw_rest support to propagate the type of the parameter to help
    with this. Test interactions with splat, since the splat array sits
    lower on the stack when a kw_splat argument is present.

commit 777c4da0bf41de76a22c4cc67fc93e1404b2930c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 04:23:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-17 05:02:03 +0900

    [PRISM] GC guard strings

    Using RSTRING_PTR can cause the string object to not exist on the stack,
    which could cause it to be GC'd or be moved by GC compaction. This can
    cause RSTRING_PTR to point to the incorrect location if the string is
    embedded and moved by GC compaction.

    Fixes ruby/prism#2442.

commit fbe63047cb99c47d8ed17fd74172e671911da9bb
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2024-02-17 04:47:16 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2024-02-17 04:47:16 +0900

    Fix PRISM build dependencies

commit 6f4bb638b0182613ca3a4b482a4e31bbb78d0fe4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-16 03:58:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 04:34:38 +0900

    [ruby/prism] Builtins

    https://github.com/ruby/prism/commit/851f2571ff

commit bac692f50870b3ede3a152a5b741d1eb22a7df0e
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-02-16 08:19:43 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-02-17 03:57:51 +0900

    CI: Fix the no such file or directory error with the working directory.

    Fix the error with the working directory in the result job in some GitHub
    Actions YAML files. I hit this error on my forked repository below.

    https://github.com/junaruga/ruby/actions/runs/7921897724/job/21628462038?pr=2#step:2:11
    ```
    Error: An error occurred trying to start process '/bin/bash' with working directory '/Users/runner/work/ruby/ruby/build'. No such file or directory
    ```

commit 24645cff0d5265d0da6df5953cb19c1e072e5a46
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 03:27:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-17 03:27:16 +0900

    Removed duplicated variable in push_mark_stack

commit 8e4d1ff5da6877c7ba5c4313cc11b45b859d775b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 02:23:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 02:50:32 +0900

    [ruby/prism] Disallow numbered parameters within given scopes

    https://github.com/ruby/prism/commit/a218a0f265

commit e801ccb3432f0fccb6c2ff9b09e6c174d9b153bc
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-16 23:29:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 02:50:17 +0900

    [ruby/prism] More rescue and ensure; constant handling

    https://github.com/ruby/prism/commit/207f579e70

commit 7d3e889bbbf88a156b0993ff85e29e191809ddd3
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-16 00:31:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 02:50:17 +0900

    [ruby/prism] Move visit methods into a Ripper Compiler

    https://github.com/ruby/prism/commit/44c4dc5268

commit 6084adbc6fc8a8ee557156214a3c216072b72748
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-17 02:44:11 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-17 02:44:12 +0900

    Use travis_wait for test-spec as well

    rubyspec seems very slow or getting stuck on s390-linux.

    https://app.travis-ci.com/github/ruby/ruby/jobs/617916019
    No output has been received in the last 10m0s, this potentially
    indicates a stalled build or something wrong with the build itself.

commit 8414c26f0d858d343686825e58afa323fe90f4a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-15 00:32:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-17 01:56:48 +0900

    [PRISM] Make prism compiler warning experimental

commit f5801e2bf404cbb0f673a6ebb040b0ba6cd01b77
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-17 01:47:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 01:47:36 +0900

    [ruby/irb] Standardize command related names
    (https://github.com/ruby/irb/pull/873)

    * Replace ExtendCommand with Command and standardize command related names

    1. Rename lib/irb/extend-command.rb to lib/irb/command.rb
    2. Rename lib/irb/cmd/*.rb to lib/irb/command/*.rb
    3. Rename test/irb/test_cmd.rb to test/irb/test_command.rb
    4. Rename ExtendCommand to Command

    * Alias ExtendCommand to Command and deprecate it

    * Rename Command::Nop to Command::Base

    * Not deprecate old constants just yet

    * Add lib/irb/cmd/nop.rb back

    https://github.com/ruby/irb/commit/462c1284af

commit 4411cdeef9f49cc295b2456b15a14550e8d88804
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-17 01:44:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-17 01:44:27 +0900

    Fix typo in gc.c

commit b315826377bfa3fae6f513da12327c9133852486
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-17 01:12:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 01:12:54 +0900

    [ruby/irb] Support repeating debugger input by passing empty input
    to it
    (https://github.com/ruby/irb/pull/856)

    * Test IRB's behaviour with empty input

    * Handle empty input and pass it to debugger

    Since `rdbg` accepts empty input to repeat the previous command, IRB
    should take empty input in `irb:rdbg` sessions and pass them to the
    debugger.

    Currently, IRB simply ignores empty input and does nothing. This commit
    creates `EmptyInput` to represent empty input so it can fit into the
    current IRB's input processing flow in `Irb#eval_input`.

    https://github.com/ruby/irb/commit/0e9db419be

commit ff4f5c0cdd24234811094a07302765fabfe6dacf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 00:49:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 00:49:50 +0900

    [ruby/prism] Style/renaming

    https://github.com/ruby/prism/commit/53763d67d5

commit 04e7c5749b533d61470fc3650723828784071664
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-17 00:30:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 00:35:58 +0900

    [ruby/prism] Fix pattern with constant, (, and newlines

    https://github.com/ruby/prism/commit/d69d1b6f17

commit f4f57e1162eb60956103a1b21d42b67b5c835862
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-02-16 05:24:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-17 00:33:07 +0900

    [ruby/prism] Add warning for assignments to literals in conditionals

    https://github.com/ruby/prism/commit/ee87ed08fb

commit c5f22b5b75f839c0da5c504a4c9e9956545dc1ca
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-16 06:09:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-17 00:15:35 +0900

    Make all fields in AST movable

commit f012ce0d18b19a8dfc815498108b9b5fdde26b46
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-02-16 22:43:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 23:08:56 +0900

    [ruby/prism] Fix lexing of `foo!` when it's a first thing to parse

    https://github.com/ruby/prism/commit/7597aca76a

commit fbc29ce032ef18887b935b48da1b94863ca407d9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 18:16:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 18:16:15 +0900

    Avoid to fail with race condition

commit 0301473fb523c71d8cdc4966971f31f502001185
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 17:59:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:59:38 +0900

    Fixed dependencies list format

commit e3f452e5d7616fc1f1c2d9ddd70f0fca45971cd2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 17:57:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:57:38 +0900

    Adjust indent

commit 9f4d5eb1f472645586eeadd00a346926b66491e3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 16:33:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:28:00 +0900

    Try to find gemspec from `.bundle/specifications

commit 38cc9dacaa2de92afa1507123e961c2471f9b31e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 15:48:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:28:00 +0900

    We can test bundled gems without default gems installation

commit 62ab93357fe2133ead96582028010aba0b42e052
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 15:48:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:28:00 +0900

    Try to test net-ftp examples again

commit 9f708d48f6df37ee9600db9d51b57a156609a13b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 15:43:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:28:00 +0900

    Clear runtime dependencies if default gems is specified.

    The current build system uses runtime dependencies from only
    `.bundle` directory. We shouldn't install runtime dependencies
    from rubygems.org when `make test-bundled-gems` is invoked.

commit 4047222aca02a35774746eb91c5661427410149e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 15:39:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-16 17:28:00 +0900

    Try to load original gemspec from `.bundle/gems/foo-x.y.z/foo.gemspec`.

    `.bundle/specification/foo-x.y.z.gemspec` may be changed our toolchain

commit bc7266c5ce51b170c107011c712f97b4dc8243a6
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 16:13:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-16 16:13:45 +0900

    Bump the required BASERUBY version to 3.0 (#9976)

commit 81752d20976f51381983dc58d924d63c697f69da
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-16 14:17:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 15:26:10 +0900

    Abort when streaming code from stdin with Prism

    Do not read STDIN as a String instance.

commit a64e93a8964f970015323b3a02e74ab04e31bc23
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-16 13:12:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 15:26:10 +0900

    Use ID without cache and fix conversion of offset

commit e0d068aa9cb43ee77952c810422bd78cd491304f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-16 12:25:48 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 15:26:10 +0900

    Extract `process_options_global_setup`

commit 839ccad20b9b754261025f65773d1f2178b3d117
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-16 12:22:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 15:26:09 +0900

    Extract functions depending on `--parser` option

commit 785b7ee13d4c6977fc21a185a689f5d1aa5cf880
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 14:41:46 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-16 14:41:48 +0900

    Rename the annocheck job

    gcc-11 is not the point of this job.

commit cf16a70448a657cbcd5fdcb6897c6025807e31b9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 11:21:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 14:38:42 +0900

    [rubygems/rubygems] Relax regexp for Ruby 3.3 or before

    https://github.com/rubygems/rubygems/commit/89d37e670c

commit 7b568b1f78e196ef5b130b09552e40013c82372b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 11:16:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 14:38:41 +0900

    [rubygems/rubygems] bin/rubocop -a

    https://github.com/rubygems/rubygems/commit/f79a6a004d

commit 0ae4d9c1096bbf554ee4d960ed9fdf82416cf135
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 14:36:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-16 14:36:38 +0900

    Let annocheck workflow run only test-annocheck (#9990)

    The test of other tasks seems duplicated.

commit 6f224d66a5210b090c095946fd20b9d33868695f
  Author:     Jason Garber <jason@sixtwothree.org>
  AuthorDate: 2024-02-01 12:04:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 13:53:14 +0900

    [rubygems/rubygems] Add `gitlab:` Git source shorthand

    This new shorthand, similar to the existing `github:` shorthand, adds
    support for Gitlab repositories with a notable difference. Gitlab
    projects may be organized into projects and subprojects. An example
    Ruby gem exists at:

    https://gitlab.com/gitlab-org/analytics-section/product-analytics/gl-application-sdk-rb

    With the new shorthand, a user may install this gem from its repository
    by adding:

    ```ruby
    gem "gitlab-sdk", gitlab: "gitlab-org/analytics-section/product-analytics/gl-application-sdk-rb"
    ```

    As with the `github:` shorthand, a supplied string with no `/` will be
    interpreted as `example/example`.

    Also in keeping with the utility of the `github:` shorthand, the new
    `gitlab:` shorthand also supports Merge Request URLs.

    ```ruby
    gem "gitlab-sdk", gitlab: "https://gitlab.com/gitlab-org/analytics-section/product-analytics/gl-application-sdk-rb/-/merge_requests/27"
    ```

    The `gitlab:` gem source shortcut is modeled on the existing `github:`
    shortcut, so the new specs mimic the existing examples.

    https://github.com/rubygems/rubygems/commit/f4399018c0

commit 574312dead013caa25c6dbad839a2defc4269219
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-15 23:30:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 11:20:29 +0900

    Extract `show_help` function

commit 7ac8d3d6eebb12421d77bcd39c4bfb578c28a63b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-15 22:58:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-16 11:20:29 +0900

    Dispose AST before exit by yydebug

commit 1c41dc40d8ec366190f408aeec13da5913608ed4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-16 11:08:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 11:12:08 +0900

    [ruby/forwardable] Relax regexp for Ruby 3.3 or before

    https://github.com/ruby/forwardable/commit/42b50c2111

commit 9d81741f27a1d77c5547b4815e4e5b8f5bb5037c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 08:27:44 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-16 09:38:21 +0900

    Pop the operand at the end

commit cdc07236a4e79fe0d5473cf984d0ffb3f98b89d7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 08:05:42 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-16 09:38:21 +0900

    Update a comment on spill_temps()

commit bda4192e025df3ad9d67c8f6db8357fd9dd31f27
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-16 08:05:26 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-16 09:38:21 +0900

    Remove duplicated spill_temps()

commit cfe77db00d433d75848974cffe5b3b402a127799
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-02-15 11:03:35 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-16 09:38:21 +0900

    Spill fewer temps on iv writes

    Not all IV writes require calling a C function. If we don't need to
    execute a write barrier (IOW the written value is an immediate), and we
    don't need to expand the object to accommodate a new IV, we won't need
    to make a C call and we can avoid spilling temps.

commit 1b9b9609631edd27377b3c8954964146983d763b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-16 07:24:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 08:04:38 +0900

    [ruby/prism] Make location methods thread-safe

    * Before it could result in NoMethodError if multiple threads were
      calling location methods: https://gist.github.com/eregon/b78b7f266d7ee0a278a389cfd1782232

    https://github.com/ruby/prism/commit/ff762dcccd

commit e7f7a85285b52a290be880f634244ec509bdf8e7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-16 05:50:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-16 05:50:04 +0900

    [PRISM] Sync prism version bump

commit 14a7277da13f4c082850cb30c36f4458b6fd35d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-16 03:41:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:39:50 +0900

    [ruby/prism] Speed up creating Ruby AST

    When creating the Ruby AST, we were previously allocating Location
    objects for every node and every inner location. Instead, this
    commit changes it to pack both the start offset and length into a
    single u64 and pass that into the nodes. Then, when the locations
    are requested via a reader method, we lazily allocate the Location
    objects.

    https://github.com/ruby/prism/commit/de203dca83

    Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>

commit 87cc2fd015fa7f840ae53bb58472354da754b44d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-16 05:36:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:36:48 +0900

    [ruby/prism] Fix up invalid syntax

    https://github.com/ruby/prism/commit/8e3aad9e27

commit 49ddbbf39f2600cc4d1e83d1d46bfc2788f31873
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-02-15 19:46:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:28:17 +0900

    [ruby/prism] Fix opening loc for an empty symbol

    https://github.com/ruby/prism/commit/241d0169da

commit a5cee8fa79422a295ce200a92b901c4182995800
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-15 21:10:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:26:31 +0900

    [ruby/prism] Handle more aliases. Better testing of prism ripper CLI and a test for it.

    https://github.com/ruby/prism/commit/cfd4f28cb3

commit fa334ecd40d66fa1aa1a344afdcf776d5a8c541c
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2024-02-13 02:13:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:26:03 +0900

    [rubygems/rubygems] use full path for instance_eval

    so that __dir__ and __FILE__ will work properly from within that gemfile
    fragment, if eval_gemfile is given a relative path

    https://github.com/rubygems/rubygems/commit/d521bf9790

commit 8f17b3bd27a5c62c44b9de2376b8d54334997071
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-15 04:57:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:25:35 +0900

    [ruby/prism] Avoid extra String copies in the FFI backend

    * For Prism.parse_file the file contents would be read as native, then
      converted to a Ruby String, then converted to a native String for
      pm_serialize_parse().
    * Refactor the logic to always use a pm_string for the source code and
      pass that to other native functions.

    https://github.com/ruby/prism/commit/9002b3c47d

commit be82755d4a90e719797984fb9c6d0d195d823676
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-02-14 22:13:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 05:21:13 +0900

    [ruby/prism] Support multi-versioning for `Prism::Translation::Parser`

    ## Summary

    Fixes https://github.com/ruby/prism/pull/2356.

    I'm working on integrating Prism into RuboCop.

    This PR introduces `Prism::Translation::Parser33` and `Prism::Translation::Parser34`, named
    in accordance with the following comments.
    https://github.com/rubocop/rubocop/issues/12600#issuecomment-1932707748

    Currently, `Prism::Translation::Parser` always operates in Ruby 3.4 mode.
    This means it will not parse as Ruby 3.3 even if `TargetRubyVersion: 80_82_73_83_77.33` is specified.

    Therefore, the `it` introduced in Ruby 3.4 is parsed incompatibly with Ruby 3.3. In Ruby 3.3,
    the expected name for an `lvar` is `:it`, not `:"0it"`.

    ### Expected AST

    The following is an expected AST when parsing Ruby 3.3 code:

    ```console
    $ bundle exec ruby -rprism -rprism/translation/parser33 -ve "p Prism::Translation::Parser33.parse('items.map { it.do_something }')"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:block,
      s(:send,
        s(:send, nil, :items), :map),
      s(:args),
      s(:send,
        s(:send, nil, :it), :do_something))
    ```

    ### Actual AST

    The following is an actual AST when parsing Ruby 3.3 code:

    ```console
    $ ruby -rprism -ve "p Prism::Translation::Parser.parse('items.map { it.do_something }')"
    ruby 3.3.0 (2023-12-25 revision https://github.com/ruby/prism/commit/5124f9ac75) [x86_64-darwin22]
    s(:block,
      s(:send,
        s(:send, nil, :items), :map),
      s(:args),
      s(:send,
        s(:lvar, :"0it"), :do_something))
    ```

    `Prism::Translation::Parser33` and `Prism::Translation::Parser34` aim to correspond to Ruby 3.3 and Ruby 3.4, respectively.

    And, The hack of specifying `TargetRubyVersion: 80_82_73_83_77.33` is expected to become unnecessary in the future,
    but the behavior will be maintained until RuboCop's support is finalized:
    https://github.com/rubocop/rubocop/issues/12600#issuecomment-1933657732

    ## Additional Information

    A private method named `convert_for_prism` is prepared to convert the `version` from Parser to the `version` expected by Prism.
    For example, a Parser-compatible value is `3.3`, whereas Prism expects `"3.3.0"`.

    `Parser#version` is not used in RuboCop, but it's unclear how it is utilized in other libraries that rely on the Parser gem.

    Therefore, logic to maintain compatibility between Parser and Prism is implemented.

    https://github.com/ruby/prism/commit/62d3991e22

commit 4d1b3a2bf38a25a936821e239c79cb054514a048
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-16 02:19:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-16 02:19:45 +0900

    Unset STR_SHARED when setting string to embed

commit da7b9478d33d212145f2b79e378cb617451f3a5b
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-16 01:59:37 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-16 01:59:37 +0900

    YJIT: Pass nil to anonymous kwrest when empty (#9972)

    This is the same optimization as e4272fd29 ("Avoid allocation when
    passing no keywords to anonymous kwrest methods") but for YJIT. For
    anonymous kwrest parameters, nil is just as good as an empty hash.

    On the usage side, update `splatkw` to handle `nil` with a leaner path.

commit e779c194b3520973e42e277ed4759a90b97795d0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 06:25:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-16 01:48:31 +0900

    Remove used str field in struct binwrite_arg

commit a6bcd3aa70894858d0b75051a471896794efab61
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-02-16 00:10:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 01:41:05 +0900

    [ruby/prism] Fix debug logging

    https://github.com/ruby/prism/commit/01af2d4f39

commit a0217025969097709928657acab58321bf0adedf
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-02-16 00:30:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-16 01:40:36 +0900

    [ruby/prism] Fix parsing rescue modifier

    https://github.com/ruby/prism/commit/b7407ae3c0

commit a7718c914a216457ca9d3806085e673eabda8b31
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 20:04:23 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 20:43:11 +0900

    Do not show an anonymous class as a receiver

commit 0da12fa34e904603d2aa84e25924a3fde8a44f39
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 20:07:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 20:34:52 +0900

    Added singleton for prime

commit 18da80e10044df40d5e0dfdb20a47f8df4cef71d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 19:36:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 20:34:52 +0900

    Skip failing examples at Ruby 3.2+

commit 4aef87520594a2d77d687c6fb96fa977df348d1a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 19:26:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 20:34:52 +0900

    Surpressing constant redefinition warning

commit 1e426bd5e527b5a06dfe52810092a5317866e67a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 19:26:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 20:34:52 +0900

    Exclude net-ftp examples because it has dependency issue

commit 8ba053d3fb2ba0482bcfd913d99e4adedeb4be27
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 19:01:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 20:34:52 +0900

    Re-enabled old bundled gems

commit 8f926cb8d845585cbf6fe77a084229cb0a37b84a
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-15 19:34:41 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-15 20:06:21 +0900

    No need to extract bundled gems before test-spec

    * Since https://github.com/ruby/ruby/pull/9977

commit 8f2c231642c9f94947b75769d3cc21b1127b2135
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 16:00:51 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 19:11:58 +0900

    ruby-spec: Accept the receiver in backtraces

commit 9d1b000bd1bb747bcc49e2d7677fb7c2b31c5a94
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 14:23:01 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 19:11:58 +0900

    Show the method owner in backtraces

    ```
    test.rb:1:in 'Object#toplevel_meth': unhandled exception
            from test.rb:4:in 'Foo.class_meth'
            from test.rb:6:in 'Foo#instance_meth'
            from test.rb:11:in 'singleton_meth'
            from test.rb:13:in '<main>'
    ```

    [Feature #19117]

commit 61819c87b29f3267d6a2499d9018f09cd5bcf2c4
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-18 19:35:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 19:11:58 +0900

    Let Thread::Backtrace::Location have a method entry

    Instead of having iseq and cfunc separately, this change lets
    Thread::Backtrace::Location have them together as
    rb_callable_method_entry_t.

    This is a refactoring, but also a preparation for implementing
    [Feature #19117].

commit 6958e88f29edec36482f8bff650e39a7e15b088e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 16:59:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Fix task dependency

commit 4a00fcbd92d6fbc5514e04c1de3a0540e84e996e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 16:39:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Rename and restructured net/ftp and net/http examples

commit fa7529afd5566bab3d1db9bba6624122ffd1b4c8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 14:49:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Move examples related core extension feature by Bigdecimal to under the library/bigdecimal

commit 121dfb38be53f4c984b2bc56106df615d5dd3568
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 14:32:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Surpressing constant redefinition warning

commit 1e6fffaeeb18a1576492c864c92ec0f940adb28c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 11:05:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Added new ruby/spec task for bundled gems

commit 76d322b5d2566162cdcb926a80be8f596a50f107
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-15 09:49:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 18:57:23 +0900

    Disable to run for bundled gems in test-spec

commit 92eab382e40ae5d853ab3d84940336e407d58754
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 14:09:41 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 18:42:31 +0900

    Update the error message format in bundler

commit d5c16ddfcb6c4cbb0209d66118ac23c7cb6c5149
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 13:29:26 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 18:42:31 +0900

    Temporarily update the error message format in prism

commit d9234ba87b7e48381c8c44ef4a302ef368ee0ee7
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 13:28:56 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 18:42:31 +0900

    Temporarily allow failures in some bundled gems

commit 8259f35adc67ab34bb521f0e8a298fb00629b958
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-15 13:00:32 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 18:42:31 +0900

    ruby-spec: Accept both a backtick and a single quote in error messages

commit 25d74b9527cd525042ad0b612b794fa331d3a318
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-19 16:03:38 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-15 18:42:31 +0900

    Do not include a backtick in error messages and backtraces

    [Feature #16495]

commit 926277bf826127c65689ddf01f94e23d538a3b8b
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-02-15 15:52:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 17:01:02 +0900

    s/ therefor/therefore/

commit aa6d0bc0bdeebd79788a6c8b32ba8be73392c5d6
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-02-15 15:51:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 17:01:02 +0900

    s/ocurs/occurs/

commit 303852440a2cfd970ac1a56a56150ed41fbbef67
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-02-15 15:50:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 17:01:02 +0900

    s/bellow/below/

commit 317c1da62b95cf3dadd4838c47b588dffad1398d
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-02-15 15:49:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 17:01:02 +0900

    s/Direcive/Directive/

commit 8b061eeb229ea71089e0c061b67d6a43b4ebf5e1
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-02-15 15:49:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 17:01:02 +0900

    s/enocding/encoding/

commit c57880e68d142e518e231b8e76d595ddd403676d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-14 17:30:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-15 13:39:33 +0900

    Show the invalid source encoding in messages

commit beeee548803f0c8505f7f0f74f020e24fe6ab010
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-15 08:57:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-15 08:57:24 +0900

    YJIT: Replace perf_fn! with a simpler macro (#9971)

commit 06ad00adc2505142cc06ec291c18a90dd01baa80
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-14 21:55:30 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-15 07:44:30 +0900

    Lrama v0.6.3

commit 95ec71efc502e93c136ac26a497c6498791e6ba6
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-14 19:44:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 07:44:03 +0900

    Revert "CHECK_LEAKS is always enabled with 01459f1"

    * This reverts commit cf8fb9429511068c69ce70da7f7818c7441c280b.
    * CHECK_LEAKS is no longer always enabled.

commit d24be39d69f1f673048cd6c94d1354a3a9e3029d
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-14 19:41:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-15 07:44:03 +0900

    Only check constant leaks by default for `make test-spec`

    * See https://github.com/ruby/ruby/pull/9548

commit 6f9ca7f4539a94c6e328f511b7e3c4ab201532a9
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-15 06:50:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-15 06:50:58 +0900

    YJIT: Use i32 over isize for ctx.sp_opnd() (#9968)

    It eventually casts it to i32 anyways, and a lot of callers already have
    an i32, so using isize was just adding unnecessary casts.

commit 28709d591dc90c718cb6cb0717bf85dac6560b6c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 06:25:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-15 06:25:05 +0900

    Remove unused argument in cc_table_free

commit 72f8883a2f89b49fd4914391b34247b697456e81
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-15 05:23:38 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-15 06:09:11 +0900

    YJIT: Extract keyword handling to make gen_send_iseq() shorter

    This should make it easier to grok the order of operations.

commit ae8db4b65ae8fb285f00acf96e7d6330393b78cd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 05:52:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-15 05:52:15 +0900

    Remove unused function rb_cc_table_free

commit c9ed59c2e2ee46080adcd4434808ef42c298565e
  Author:     Aaron Patterson <aaron.patterson@gmail.com>
  AuthorDate: 2024-02-15 05:02:58 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-15 05:49:36 +0900

    Update yjit/src/codegen.rs

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

commit 7943cb22f667cc4382e8ea3f7ca674c470f601c6
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-02-15 04:49:10 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-15 05:49:36 +0900

    Consider rb_str_getbyte as leaf sometimes

    If YJIT knows the parameter to rb_str_getbyte is a fixnum, then I think
    we can consider the function to be a leaf

commit fadb7d412b813ca8b484df4c5d7b2ccce3f8fd1e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-15 05:37:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-15 05:37:53 +0900

    Remove duplicated include in weakmap.c

commit 9933377c343e45a2294fff7199255bfc00c8ef1a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-15 04:17:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-15 05:29:26 +0900

    [PRISM] Correctly hook up line numbers for eval

commit 1d3b306753baf05642836cc6f17015c9309c1420
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-14 00:21:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-15 03:43:02 +0900

    Move rb_class_allocate_instance from gc.c to object.c

commit fc2c128e7e1fd4a197669d2f04e8457f4188b7f3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 11:38:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-15 03:24:43 +0900

    [PRISM] Set eval encoding based on string encoding

commit 7177731282bea651385818076d4fa6b9bdf717c0
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-15 02:09:14 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-15 02:09:14 +0900

    YJIT: Add --yjit-perf=codegen option (#9957)

commit ee3b4bec0ead8cef949a992df46ef8b237ed4a26
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-15 01:19:04 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-15 01:19:04 +0900

    YJIT: Simplify Kernel#send guards and admit more cases (#9956)

    Previously, our compile time check rejected dynamic symbols (e.g. what
    String#to_sym could return) even though we could handle them just fine.
    The runtime guards for the type of method name was also overly
    restrictive and didn't accept dynamic symbols.

    Fold the type check into the rb_get_symbol_id() and take advantage of
    the guard already checking for 0. This also avoids generating the same
    call twice in case the same method name is presented as different
    types.

commit f4a0e1cdb453ee4389b1db258601e4a96471a4f5
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-14 02:20:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-15 00:56:42 +0900

    Prefer `Array.new(n) {}` to `n.times.map {}`

    * It is quite a bit faster:
      ruby -rbenchmark/ips -e 'Benchmark.ips { |x| x.report("times.map") { 1000.times.map {} }; x.report("Array.new") { Array.new(1000) {} }; x.compare! }'
      ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux]
      Warming up --------------------------------------
             times.map   976.000 i/100ms
             Array.new     1.641k i/100ms
      Calculating -------------------------------------
             times.map      9.808k (± 0.3%) i/s -     49.776k in   5.075013s
             Array.new     16.601k (± 1.0%) i/s -     83.691k in   5.041970s

      Comparison:
             Array.new:    16600.8 i/s
             times.map:     9808.2 i/s - 1.69x  slower

commit c2d8d6eba6a1c9e51c2f2ae136e92468c6841472
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-14 21:43:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-15 00:48:33 +0900

    Initialize the Prism::Source directly with all 3 fields for the C extension

    * Faster that way:
      $ ruby -Ilib -rprism -rbenchmark/ips -e 'Benchmark.ips { |x| x.report("parse") { Prism.parse("1 + 2") } }'
      195.722k (± 0.5%) i/s
      rb_iv_set():
      179.609k (± 0.5%) i/s
      rb_funcall():
      190.030k (± 0.3%) i/s
      before this PR:
      183.319k (± 0.4%) i/s

commit 1b2708b123038802740e58672e459fb6b575354c
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-14 01:44:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-15 00:48:33 +0900

    [ruby/prism] Remove attr_writer's for ParseResult#start_line and #offsets

    * As the user should not set these.
    * Use #instance_variable_set/rb_iv_set() instead internally.

    https://github.com/ruby/prism/commit/cace09fb8c

commit f0f6ffef4252fcc899fe2f039b910fc7613d00aa
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-09 00:26:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-15 00:48:32 +0900

    [ruby/prism] Serialize the newline_list to avoid recomputing it again later

    * Fixes https://github.com/ruby/prism/issues/2380

    https://github.com/ruby/prism/commit/4eaaa90114

commit 65f54355406a25f352241406967d038fc72d4737
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-15 00:47:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-15 00:47:42 +0900

    [DOC] Doc compliance (#9955)

commit 12b0e67fec2cc59a6f7da4a4bfbd52a08404d2a4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 23:58:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 23:58:36 +0900

    [PRISM] Sync to latest prism

commit c84581f1d920a6f179d13c0edd99f5b99dd5d1ba
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-14 22:47:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 22:47:45 +0900

    [ruby/irb] Repurpose the help command to display the help message
    (https://github.com/ruby/irb/pull/872)

    See #787 for more details.

    https://github.com/ruby/irb/commit/d9192d92d0

commit d0412599e08283430ca0a3c34f2e58eb5c5d5619
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-14 22:46:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 22:46:49 +0900

    [ruby/irb] Improve constant lookup in SourceFinder
    (https://github.com/ruby/irb/pull/871)

    https://github.com/ruby/irb/commit/87c279ccf2

commit 1fc7c79dea7360c1b6cf24dcf4c2eee02c13f6d1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 11:40:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:40:47 +0900

    [PRISM] Exclude additional tests from rebase

commit 8ec955d1f53b96c99cf85fda8f5153e9e0ec9ba1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 10:00:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Switch bootstraptest syntax error assertions to handle multiline

commit 5de3e3057a1401a448efea12ba70d7869f52f83d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 09:59:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Add temporary test exclusions to get eval passing

commit adb2fbf69af9f50aeab4d9f662ec3b127cb1db39
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-09 01:09:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Prism/eval should handle file names provided

commit f70a4a03364f03432e35bf22402d6d1c7f2e40af
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-09 00:28:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] yield is invalid inside eval

commit 0285b533e95f54866febffda108c18be329aba55
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-08 23:57:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Don't rb_bug if redo/break/next used during eval

commit edb755c84b6ccbb9fed1c04aa37080d4e884a434
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-06 01:12:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Add eval tests

commit c2af974e6751b9a4c533a8c6855efd9897b09c5f
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-02 00:00:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Build wrapper scopes for eval

    - Don't use `build_options_scopes` We can inline the code here instead
      and avoid allocating all the extra arrays.

    - Create `pm_scope_node_t` objects with the correct local table, for the
      scope node returned from the parser.

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit fd3f776a05505d71c818620fe9c6ca8fb3d132ea
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-01 05:56:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 11:19:12 +0900

    [PRISM] Use Prism for `eval` if enabled

commit 068b19bd53148d91397d0443de78eeeb8c1628ba
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 10:41:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 10:42:01 +0900

    [ruby/prism] Match up token name to CRuby

    https://github.com/ruby/prism/commit/cf0369a5c7

commit c54622c657cbdd8fd13790d5c339b8dbadff8b14
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-02-14 10:35:19 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-02-14 10:40:26 +0900

    Fix a warning with USE_RUBY_DEBUG_LOG=1 on macOS

    ```
    compiling ../thread.c
    In file included from ../thread.c:263:
    In file included from ../thread_pthread.c:2870:
    ../thread_pthread_mn.c:777:43: warning: format specifies type 'unsigned long' but the argument has type 'rb_hrtime_t' (aka 'unsigned long long') [-Wformat]
                    RUBY_DEBUG_LOG("abs:%lu", abs);
                                        ~~~   ^~~
                                        %llu
    ../vm_debug.h:110:74: note: expanded from macro 'RUBY_DEBUG_LOG'
            ruby_debug_log(__FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING, "" __VA_ARGS__); \
                                                                             ^~~~~~~~~~~
    1 warning generated.
    ```

commit 8e3eb8c9b4ba55e8fd8b9174c15ac79b59dbd938
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 10:32:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 10:32:19 +0900

    [PRISM] Fix up common.mk dependencies

commit 2fa051f627172674b342da26ebe1e671a5e449ec
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 07:45:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 10:01:37 +0900

    [ruby/prism] Validate multibyte characters in strings

    Check that multibyte characters are valid using pm_strpbrk. We need
    to add a couple of codepaths to ensure all encodings are covered.

    Importantly this doesn't check regular expressions, because
    apparently you're allowed to have invalid multibyte characters
    inside regular expression comment groups/extended mode.

    https://github.com/ruby/prism/commit/2857d3e1b5

commit dc5191d6952246be6717a76c193abe1bc55128b7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 06:01:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 06:12:10 +0900

    [ruby/prism] Fix KOI-8 char width check

    https://github.com/ruby/prism/commit/06d3747c5b

commit a5869e5d8c1130b5b0261bc995a545be5fbff27e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-14 05:13:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-14 05:54:04 +0900

    [PRISM] Replace assert with RUBY_ASSERT

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 83c158fdfc6726495b8958be0b2fb0a63af2e27d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-14 05:14:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-14 05:54:04 +0900

    [PRISM] Replace assert with rb_bug

commit a96110f7ef2a8f2a15bc35275201cee4ae4bcaee
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 05:11:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 05:35:02 +0900

    [ruby/prism] Convert more error messages to match specs

    https://github.com/ruby/prism/commit/7987b7aa20

commit 4d3fc96b8ba885a9f61238aa1bd51dbc056f2f5d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-14 03:44:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-14 05:30:06 +0900

    Change dsymbol_alloc to use NEWOBJ_OF

commit b1964a92044f97f3b71ec98906c02083e28a7226
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 04:58:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 05:10:25 +0900

    [ruby/prism] Add code unit APIs to location

    LSPs need this because the protocol dictates that you return code
    units for offsets. None of our existing APIs provided that
    information, and since we hid the source it's not nearly as useful
    for them. Now they can pass an encoding directly to:

    * Location#start_code_units_offset
    * Location#end_code_units_offset
    * Location#start_code_units_column
    * Location#end_code_units_column

    https://github.com/ruby/prism/commit/4757a2cc06

    Co-Authored-By: Vinicius Stock <vinicius.stock@shopify.com>

commit 6261d4b4d8112a461ac5a383032490007f47029c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-14 02:51:36 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-14 04:49:54 +0900

    Fix use-after-move in Symbol#inspect

    The allocation could re-embed `orig_str` and invalidate the data
    pointer from RSTRING_GETMEM() if the string is embedded.

    Found on CI, where the test introduced in 7002e776944 ("Fix
    Symbol#inspect for GC compaction") recently failed.

    See: <https://github.com/ruby/ruby/actions/runs/7880657560/job/21503019659>

commit 21297293f4ce3a01eba7879ce9b5619e65a805be
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-14 03:49:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-14 03:49:35 +0900

    [DOC] Doc compliance (#9944)

commit 29d04bb0c452e31424fb22f62151ab7da566a71e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-14 03:19:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 03:26:28 +0900

    [ruby/prism] Introduce `version: "3.4.0"`

    This is effectively an alias for "latest" right now. In the future
    it will change to be its own enum value.

    https://github.com/ruby/prism/commit/2c86036022

commit 246005f5bd3171e12bafe820d183a7a23adc9e96
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-02-14 02:38:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-14 03:15:48 +0900

    [ruby/prism] Fix an error when specifying the parsing version `latest`

    This PR fixes following error when using `version: latest` argument.

    ```console
    $ ruby -rprism -e "p Prism.parse('-> { it }', version: 'latest')"
    -e:1:in `parse': invalid version: latest (ArgumentError)

    p Prism.parse('-> { it }', version: 'latest')
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            from -e:1:in `<main>'
    ```

    The argument `version: latest` in the added test is commented as potentially being
    better replaced with `version: 3.4.0` in the future.

    https://github.com/ruby/prism/commit/27b5c933cb

commit a93f4e3d1a656861897a244f34f9cdbc0d7fea49
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-02-14 02:40:38 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-14 03:10:19 +0900

    byteslice can return nil so we have to push an "unknown" value

commit fdaef7a72e8611ffd4889aa1a1dbc6ebaf5b3095
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-14 01:44:03 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-14 02:16:36 +0900

    YJIT: Fixup kwrest stack base

    I was a little rushed and didn't notice that it was still using the
    final stack size even though we don't grow the stack before kwrest
    handling anymore. Oh well, we got a new test out of it.

    Fix: cbdabd5890

commit c35fea8509551aefe257986c937ea7147f436bdf
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-02-14 01:20:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-14 01:20:27 +0900

    Specialize String#byteslice(a, b) (#9939)

    * Specialize String#byteslice(a, b)

    This adds a specialization for String#byteslice when there are two
    parameters.

    This makes our protobuf parser go from 5.84x slower to 5.33x slower

    ```
    Comparison:
    decode upstream (53738 bytes):     7228.5 i/s
    decode protobuff (53738 bytes):     1236.8 i/s - 5.84x  slower

    Comparison:
    decode upstream (53738 bytes):     7024.8 i/s
    decode protobuff (53738 bytes):     1318.5 i/s - 5.33x  slower
    ```

    * Update yjit/src/codegen.rs

    ---------

    Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>

commit a71d1ed83875600c174e66a8ace18e0ad451958a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-09 00:43:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-14 01:05:56 +0900

    Fix memory leak when parsing invalid hash symbol

    For example:

        10.times do
          100_000.times do
            eval('{"\xC3": 1}')
          rescue EncodingError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        32032
        48464
        66112
        84192
        100592
        117520
        134096
        150656
        167168
        183760

    After:

        17120
        17120
        17120
        17120
        18560
        18560
        18560
        18560
        18560
        18560

commit e4272fd292e7a432150e90c8dc7d8e9aa7d07e62
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-13 11:08:49 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-14 01:05:26 +0900

    Avoid allocation when passing no keywords to anonymous kwrest methods

    Thanks to the new semantics from [ruby-core:115808], `**nil` is now
    equivalent to `**{}`. Since the only thing one could do with anonymous
    keyword rest parameter is to delegate it with `**`, nil is just as good
    as an empty hash. Using nil avoids allocating an empty hash.

    This is particularly important for `...` methods since they now use
    `**kwrest` under the hood after 4f77d8d328. Most calls don't pass
    keywords.

        Comparison:
                                 fw_no_kw
                        post:   9816800.9 i/s
                         pre:   8570297.0 i/s - 1.15x  slower

commit 4e481c772eae915913d606291aaa03383f7660e2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 11:47:23 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 00:26:42 +0900

    [PRISM] Refactors to use more locations

commit fe31b682be24386937630b72343993aaafe666cc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 05:48:23 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 00:26:42 +0900

    [PRISM] Stop passing parser around so much

commit e967e062762d9a1866647a073e90a4c053b825c5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 05:37:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 00:26:42 +0900

    [PRISM] Switch to locations for PM_ALIAS_GLOBAL_VARIABLE_NODE, PM_ALIAS_METHOD_NODE, and PM_AND_NODE

commit 76ab017f012d560b082bec4852e043e7f3a94a0b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 05:16:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-14 00:26:42 +0900

    [PRISM] Brace style in prism_compile.c

commit d357d50f0a74409446f4cccec78593373f5adf2f
  Author:     Nikita Vasilevsky <nikita.vasilevsky@shopify.com>
  AuthorDate: 2024-02-08 01:51:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-13 23:39:28 +0900

    [PRISM] Fix lambda start column number

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit b662edf0a05c88e3c15a88aa48f48c7e4ede8597
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 13:13:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-13 23:37:24 +0900

    [PRISM] Combine hash compilation between hashes and keywords

commit c0e121420b084077a50ef7ec2cf56ad1b10e4041
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 12:50:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-13 23:37:24 +0900

    [PRISM] Fix compilation of hash with multiple merges

commit dedca31804510e42a89946d81c1834c9e5950d6f
  Author:     Vinicius Stock <vinicius.stock@shopify.com>
  AuthorDate: 2024-02-13 03:32:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 23:09:19 +0900

    [ruby/prism] Fix `full_name` for constant path targets

    https://github.com/ruby/prism/commit/84c10f3a2d

commit 2f0f95235a1de489f50c7a9dbe3477f9f7e60cd1
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-13 22:36:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 22:36:32 +0900

    [ruby/irb] Fix SourceFinder's constant evaluation issue
    (https://github.com/ruby/irb/pull/869)

    Currently, if the signature's constant part is not defined, a NameError
    would be raised.

    ```
    irb(main):001> show_source Foo
    (eval):1:in `<top (required)>': uninitialized constant Foo (NameError)

    Foo
    ^^^
            from (irb):1:in `<main>'
    ```

    This commit fixes the issue and simplifies the `edit` command's implementation.

    https://github.com/ruby/irb/commit/8c16e029d1

commit ec26786b1a37350c0ff21666b028ec5e2aa6a318
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-13 22:33:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 22:33:36 +0900

    [ruby/irb] Refactor eval_path and `SourceFinder::Source`
    (https://github.com/ruby/irb/pull/870)

    * Assign `@eval_path` through `irb_path=` method

    This simplifies the original caching logic for the `eval_path` method
    and makes it easier to understand.

    * Refactor SourceFinder::Source

    https://github.com/ruby/irb/commit/c63e4c4035

commit b5327647c2a49c36621631a06527837e99b009e5
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-13 19:29:04 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-13 20:11:34 +0900

    extract-gems before nmake in Visual Studio workflow

    * BTW this workflow is the only one doing extract-extlibs before building.
      It seems building with Visual Studio and nmake has significant differences.

commit 9204416b7fad21a4df1116091dbb723bd21557a4
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-13 19:26:53 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-13 20:11:34 +0900

    Revert "Try `nmake install` before `nmake test-spec`"

    This reverts commit d4a6c6521aa1a5208939a2cd981a13ca01a07d2a.

commit e848848b58adbf7b5d60537a89cc8de4c48de15e
  Author:     Otávio Schwanck dos Santos <otavioschwanck@gmail.com>
  AuthorDate: 2024-02-11 19:03:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-13 18:57:17 +0900

    [ruby/reline] C for vi mode
    (https://github.com/ruby/reline/pull/472)

    https://github.com/ruby/reline/commit/d197be7c44

commit 038189b61f60e27ea081817979cb7a043bcf5798
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-12 18:23:28 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-13 10:56:32 +0900

    Use dedicated parser_string hash function

    Define and use `rb_parser_str_hash` for `rb_parser_string_t`
    instead of `rb_str_hash` to remove dependency on `rb_str_hash`.

commit 785aa47cd643a516f6aa524ee1488c5edb459dd1
  Author:     License Update <license.update@rubygems.org>
  AuthorDate: 2024-02-11 09:24:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 10:27:18 +0900

    [rubygems/rubygems] Update SPDX license list as of 2024-02-08

    https://github.com/rubygems/rubygems/commit/ec3de95d79

commit 1f0fa318345e486182ae439e80035958e1644bae
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-02-13 07:51:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-13 10:07:04 +0900

    Fix typo in asan section of building_ruby.md docs

    s/copmiler-rt/compiler-rt/

commit 4a6384ed9358e8fb8464f6e37efb5477182f01db
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2024-02-13 09:53:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 09:53:03 +0900

    Fix [Bug #20246]: Don't set next_head_exact if a capture is called (#9897)

commit 8a345860d3d16b3bca74caf8ee1b405287873eed
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-12 13:32:01 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-13 08:40:14 +0900

    Warn duplication of `__ENCODING__` on the hash

    ```
    $ ruby -e 'h = { __ENCODING__ => 1, __ENCODING__ => 2 }'
    -e:1: warning: key #<Encoding:UTF-8> is duplicated and overwritten on line 1
    ```

commit f41d8f38b44c66483388b1416a25d63be0721ee4
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-02-13 05:51:30 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 06:52:14 +0900

    Comply with doc guide

commit cbdabd5890e3cc07d66f53ad47e5beacd82172b6
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-13 05:57:37 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-13 06:39:11 +0900

    YJIT: Fix kwrest calls setting SP with uninit values

    We did stack_push() and then saved the SP without writing to the slots
    of the new values first, which caused the GC to mark uninitialized
    values. Should fix crashes like
    https://github.com/ruby/ruby/actions/runs/7877298133/job/21493179294

commit 0536b2ce48c022a6a2e8d4bac91e6a843978ea2f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:45:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in weakmap.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 80700f453e8ca13925790bd980197dc302696c0a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:45:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in thread_sync.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 9a2b692249f5cbea0acf47b2711060084c0e7e3f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:45:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in rational.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 3ed5962755603c86a5f783879425d1e5fb96e5bb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:44:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in range.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit fd87259a26df493d61923a202765fb21c13b7669
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:44:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in numeric.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 5644d90da0563fb5a9cdd6f5f3088f01b01ba06b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:43:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in load.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit ea92374bf727325fe96b5f65a41cdc1fc147af9e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:43:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in id_table.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 436191abe05a12be17bb6c184790ee39d6fabffb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:43:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in enum.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 11ffee88b5a2ed67b4f181a48cf8eed772ae1c50
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:42:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in darray.h

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 7256e38f867d88818d33a63f6704a02936929083
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:42:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in complex.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit de7a29ef8d72f24d0a6612e3254a014a92aaa1ab
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:41:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in compile.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 6906e502f9d02a5b683bc4d0839add9f946f409a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:40:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in bignum.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit 1228751af695d5b20da707c13e11a681821505e7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:40:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in array.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit ac38f259aae4463f21431801dbad9e3c067917f5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 23:37:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-13 05:07:47 +0900

    Replace assert with RUBY_ASSERT in string.c

    assert does not print the bug report, only the file and line number of
    the assertion that failed. RUBY_ASSERT prints the full bug report, which
    makes it much easier to debug.

commit bb845ae8794c63981632909887e40b7ccd5e9876
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 05:03:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 05:03:09 +0900

    [ruby/prism] Fix typo in class variable name error

    https://github.com/ruby/prism/commit/5f6c45f6fb

commit 4f1a466522bdab1fcac04c9d2246e15010467925
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-13 05:01:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 05:01:46 +0900

    More on auto-link (#9907)

commit 84d8dbe7a5c22d117f50c90d308fddcf5133fd2f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-10-18 17:47:48 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-02-13 04:51:06 +0900

    Enable redefinition check for rbinc methods

commit 1395838e1887d581a3d6cd28c24f7b44c44f5c26
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 03:43:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-13 04:48:09 +0900

    [PRISM] Check full lines for invalid UTF-8

commit 2131d04f43d81469f6ab4215bef4644390e70ee5
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-07 12:28:52 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-13 03:57:24 +0900

    YJIT: Add support for `**kwrest` parameters

    Now that `...` uses `**kwrest` instead of regular splat and
    ruby2keywords, we need to support these type of methods to
    support `...` well.

commit 7af97dc71fd6790a3f4ffe47dcc5720b675f6b6b
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-13 03:38:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 03:38:30 +0900

    [ruby/irb] Powerup show_source by enabling RubyVM.keep_script_lines
    (https://github.com/ruby/irb/pull/862)

    * Powerup show_source by enabling RubyVM.keep_script_lines

    * Add file_content field to avoid reading file twice while show_source

    * Change path passed to eval, don't change irb_path.

    * Encapsulate source coloring logic and binary file check insode class Source

    * Add edit command testcase when irb_path does not exist

    * Memoize irb_path existence to reduce file existence check calculating eval_path

    https://github.com/ruby/irb/commit/239683a937

commit e878bbd641f255b5d8f9e99b84ff8082a5b7fdaf
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-09 09:10:51 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-13 03:02:50 +0900

    Allow `foo(**nil, &block_arg)`

    Previously, `**nil` by itself worked, but if you add a block argument,
    it raised a conversion error. The presence of the block argument
    shouldn't change how keyword splat works.

    See: <https://bugs.ruby-lang.org/issues/20064>

commit e08c128417fd840c72f8e7d6cbfa59970fb7a5b8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-11 00:46:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 03:01:45 +0900

    [ruby/prism] Error messages closer to CRuby

    https://github.com/ruby/prism/commit/19ffa0b980

commit e4d3e652ff41943c7f50d4552c1c98dfaa736cf9
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-13 02:56:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 02:56:44 +0900

    YJIT: Prefer an overloaded cme if available (#9913)

    YJIT: Prefer an overloaded cme if applicable

commit 94bc5ad30a15685c3c3b0bf19510cf6415ebb935
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-26 00:21:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 02:54:54 +0900

    [ruby/prism] ruby_parser translator

    https://github.com/ruby/prism/commit/1925b970c7

commit de1a586ecc2ee7f465f0c0a69291054136a3a819
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-02-12 20:03:36 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-02-13 02:31:48 +0900

    proc.c: get rid of `CLONESETUP`

    [Bug #20253]

    All the way down to Ruby 1.9, `Proc`, `Method`, `UnboundMethod`
    and `Binding` always had their own specific clone and dup routine.

    This caused various discrepancies with how other objects behave
    on `dup` and `clone. [Bug #20250], [Bug #20253].

    This commit get rid of `CLONESETUP` and use the the same codepath
    as all other types, so ensure consistency.

    NB: It's still not accepting the `freeze` keyword argument on `clone`.

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

commit c04782c2cb56c512e1d1b34630cb942da3aeb366
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-13 01:56:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 01:56:24 +0900

    YJIT: Adjust the padding size of counts automatically (#9912)

commit b9f25b100f801a0f1d00dfa7afcd450eab58b411
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-13 01:55:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 01:55:52 +0900

    YJIT: Fix insufficient type guards (#9911)

commit c3886c12dc22d5d913605060c603c5f4ddb66594
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-13 01:27:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 01:27:49 +0900

    [ruby/prism] Fix unary not location

    https://github.com/ruby/prism/commit/861689f6d1

commit 16b39072a56c253acdb35055e42a69631cf00d69
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-13 00:47:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 00:57:57 +0900

    [ruby/prism] Move Prism::RipperCompat to Prism::Translation::Ripper

    https://github.com/ruby/prism/commit/c0331abe4f

commit 78deba1aa1d0902f610161655c50d73e8e2f7204
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 05:13:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-13 00:57:17 +0900

    [ruby/prism] Unary not name location

    https://github.com/ruby/prism/commit/78190d2999

commit 739eec0456e50c6b83ff28d5887310102f5f1f2c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-13 00:48:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-13 00:48:10 +0900

    [DOC] `:stopdoc:` directive must be on its own line (#9916)

commit 190a55d27f82eff05ae5bfcac0cb2603ab75791a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-10 02:06:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-12 23:43:38 +0900

    Drill newobj cache instead of ractor

commit d4a6c6521aa1a5208939a2cd981a13ca01a07d2a
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 22:00:58 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 22:31:34 +0900

    Try `nmake install` before `nmake test-spec`

commit 06995eb45b86645a945b4429c6d85597a21b40a7
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-02-12 20:28:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-12 20:28:54 +0900

    [ruby/irb] Fix exit! command warning and method behavior
    (https://github.com/ruby/irb/pull/868)

    * Fix exit! command warning and method behavior

    * Remove arg(0) from Kernel.exit and Kernel.exit!

    https://github.com/ruby/irb/commit/372bc59bf5

commit 39788e5888c8117b07a4c06390d08ce032d9a42b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 19:33:19 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 19:33:19 +0900

    Try prepare-gems instead of extract-gems

    * `make install` uses prepare-gems.

commit ffe1a68bda208c776656f47a8c743cc3e6b7aac6
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 19:33:08 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 19:33:08 +0900

    Skip spec failing on i686

commit d15301d4827cb0e14dedf6456ee64ab0a36622f9
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 19:05:51 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 19:05:51 +0900

    Exclude a problematic spec when run in CRuby via make test-spec until fixed

commit b19d2409be0b7bac65e6e54cfb3bedc61419ec01
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 18:56:33 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 18:56:33 +0900

    Update to ruby/spec@ce834ad

commit 90a746d246d51d105d7f3e0d1c2ddf7994dd2d4b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-12 18:55:57 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-12 18:55:57 +0900

    Always extract bundled gems before running ruby/spec

    * Fixes https://github.com/ruby/ruby/commit/44d74f22c8da3c13aa5363769418e2f5fd29f65a#r138276491

commit 7fc89a92620f09df38b1f89d7dbd4d8b9f484aeb
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-12 14:30:48 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-12 17:46:22 +0900

    Use Node for `warn_duplicate_keys` st_table keys

commit c20e819e8b04e84a4103ca9a036022543459c213
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-31 10:15:44 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-02-12 15:48:38 +0900

    Fix crash when passing large keyword splat to method accepting keywords and keyword splat

    The following code previously caused a crash:

    ```ruby
    h = {}
    1000000.times{|i| h[i.to_s.to_sym] = i}
    def f(kw: 1, **kws) end
    f(**h)
    ```

    Inside a thread or fiber, the size of the keyword splat could be much smaller
    and still cause a crash.

    I found this issue while optimizing method calling by reducing implicit
    allocations.  Given the following code:

    ```ruby
    def f(kw: , **kws) end
    kw = {kw: 1}
    f(**kw)
    ```

    The `f(**kw)` call previously allocated two hashes callee side instead of a
    single hash.  This is because `setup_parameters_complex` would extract the
    keywords from the keyword splat hash to the C stack, to attempt to mirror
    the case when literal keywords are passed without a keyword splat.  Then,
    `make_rest_kw_hash` would build a new hash based on the extracted keywords
    that weren't used for literal keywords.

    Switch the implementation so that if a keyword splat is passed, literal keywords
    are deleted from the keyword splat hash (or a copy of the hash if the hash is
    not mutable).

    In addition to avoiding the crash, this new approach is much more
    efficient in all cases.  With the included benchmark:

    ```
                                    1
                miniruby:   5247879.9 i/s
         miniruby-before:   2474050.2 i/s - 2.12x  slower

                            1_mutable
                miniruby:   1797036.5 i/s
         miniruby-before:   1239543.3 i/s - 1.45x  slower

                                   10
                miniruby:   1094750.1 i/s
         miniruby-before:    365529.6 i/s - 2.99x  slower

                           10_mutable
                miniruby:    407781.7 i/s
         miniruby-before:    225364.0 i/s - 1.81x  slower

                                  100
                miniruby:    100992.3 i/s
         miniruby-before:     32703.6 i/s - 3.09x  slower

                          100_mutable
                miniruby:     40092.3 i/s
         miniruby-before:     21266.9 i/s - 1.89x  slower

                                 1000
                miniruby:     21694.2 i/s
         miniruby-before:      4949.8 i/s - 4.38x  slower

                         1000_mutable
                miniruby:      5819.5 i/s
         miniruby-before:      2995.0 i/s - 1.94x  slower
    ```

commit 93accfdf48d38160a11c2f0f8ed978f4cdbfe3cd
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-12 13:50:27 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-12 14:49:07 +0900

    Fix [BUG] unknown node for NODE_ENCODING

    It should be `return` instead of `break`, otherwise
    `[BUG] dump_node: unknown node: NODE_ENCODING` happens.

commit 697ade7bda5942e372c8d6ba450dd534f0cf186f
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-12 07:57:00 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-12 08:52:05 +0900

    Update ASAN docs to reflect the current state of things

    I don't really think ASAN works well at all on any version of Ruby from
    before https://bugs.ruby-lang.org/issues/20001 was landed. Update the
    docs to clarify what works, and what does not work.

    Also there's no need to compile at `-O0`; this was probably just hiding
    some of the problems with our stack scanning that were fixed in the
    above issue.

    [Bug #20248]

commit 1d467f2255112f9e712d5d9aa6f2cd0a102fb56e
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-12 07:27:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-12 08:51:46 +0900

    Burn default ASAN options into the built Ruby

    * We always need use_sigaltstack=0 because Ruby registers sigaltstack
      handlers
    * We also need to disable leak detection (unless RUBY_FREE_AT_EXIT is
      set - I might experiment later with automatically enabling leak
      detection if RUBY_FREE_AT_EXIT is set).

    Burning it into the built ruby binary in this way avoids people needing
    to remember to start their Ruby program with these flags all the time.

    We also need a small fix in mkmf to make sure that test programs also
    don't have leak detection enabled (this is never desirable)

    [Bug #20256]

commit c9006ddb88111cf010d5aa2a9e28032623b9ac93
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-12 01:30:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-12 01:55:41 +0900

    [ruby/optparse] [DOC] Add description of OptionParser#define_by_keywords

    https://github.com/ruby/optparse/commit/451dea51a0

commit a63a0c247b9630de2bccdc68f04711d528c5dc82
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-12 01:09:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-12 01:09:51 +0900

    Win32: Include stdio.h for `printf`

commit bbccabe6d67c83ed81028e4c5ca9daaa4f6f7531
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-12 01:07:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-12 01:08:14 +0900

    [ruby/optparse] [DOC] Add missing documents

    https://github.com/ruby/optparse/commit/33956ce93f

commit a3ceb6916828b3d2e14b4d4bb4f8c78a0bc2ed95
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-02-07 07:13:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-11 23:41:20 +0900

    [PRISM] Fix error handling in `pm_parse_prism`

    Following changes made in ruby/prism#2365 this implements error handling
    for when `pm_string_mapped_init` returns `false`.

    Related: ruby/prism#2207

commit 90fe1b4402498f61208e9b72ce3206d4bcbffb7d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-11 22:00:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 22:00:12 +0900

    Win32: Use `TARGET_OS` for word-size

    It is derived from `_WIN64` pre-defined macro, at `-osname-` in
    win32/setup.mak.

commit 603392b8d47afd5e517c89b7f883b754b4a2e94b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-11 20:55:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 20:55:26 +0900

    Win32: Use prototype

commit ea2ea74a261da3cc954291ffdef9805ee59a80f7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-11 20:03:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 20:03:18 +0900

    Win32: Copy coroutine no longer exists

    At 42130a64f02294dc8025af3a51bda518c67ab33d, it has been replaced with
    pthread implementation.

commit c77f736bc1e6b73d62e9ba3dcf3dcbeff0657b38
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-11 19:43:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 19:43:06 +0900

    Win32: Fix pre-defined macros for platforms

    Use `_WIN64` for word-size, `_M_AMD64` for CPU-specific feature.

commit aa36e44c05380386b583c62f6596b92098cb9ad1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-11 19:34:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 19:34:13 +0900

    Win32: Define `HAVE_INTTYPES_H`

    Suppress redefinition warnings, inttypes.h has been provided as well
    as stdint.h since `_MSC_VER` 1600 (= Visual C++ 10.0 = Visual Studio
    2010).

    ```
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(123): warning C4005: 'PRIdPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(51): note: see previous definition of 'PRIdPTR'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(142): warning C4005: 'PRIiPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(52): note: see previous definition of 'PRIiPTR'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(161): warning C4005: 'PRIoPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(53): note: see previous definition of 'PRIoPTR'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(180): warning C4005: 'PRIuPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(54): note: see previous definition of 'PRIuPTR'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(199): warning C4005: 'PRIxPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(55): note: see previous definition of 'PRIxPTR'
    C:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt\inttypes.h(218): warning C4005: 'PRIXPTR': macro redefinition
    D:\a\ruby\ruby\src\include\ruby/backward/2/inttypes.h(56): note: see previous definition of 'PRIXPTR'
    ```

commit 5c4657f8832bcbb9e7c3c50b6fe69212a86de153
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-11 14:17:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-11 14:17:40 +0900

    [ruby/irb] Polish the exit! command and its tests
    (https://github.com/ruby/irb/pull/867)

    * Remove IRB.irb_exit! method

    It's not necessary to introduce a new method just for the exit! command
    at this moment.

    * Rename ExitForcedAction to ForceExit

    * Move force exit tests to a dedicated file

    * Fix nested history saving with exit! command

    Because we switched to use `Kernel#exit` instead of `exit!`, the outer
    session's ensure block in `Irb#run` will be run, which will save the
    history. This means the separate check to save history when force exiting
    is no longer necessary.

    * execute_lines helper should also capture IRB setup's output

    This prevents setup warnings from being printed to test output
    while allowing those output to be tested.

    * Update readme

    https://github.com/ruby/irb/commit/899d10ade1

commit 429eeb09f25bd1bd3f64f70c6ef409bedd3c6c1f
  Author:     Ignacio Chiazzo Cardarello <ignaciochiazzo@gmail.com>
  AuthorDate: 2024-02-11 07:07:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-11 07:07:53 +0900

    [ruby/irb] Introduce exit! command
    (https://github.com/ruby/irb/pull/851)

    * Added failing test for when writing history on exit

    * Save history on exit

    * Exit early when calling Kernel.exit

    * use status 0 for kernel.exit

    * Added test for nested sessions

    * Update lib/irb.rb

    ---------

    https://github.com/ruby/irb/commit/c0a5f31679

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit f960fbc10256ee227ad6887089388e0bda59aab5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-10 22:56:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-11 00:47:41 +0900

    [ruby/optparse] Search exactly when `require_exact`

    To work with options defined as `--[no]-something`.

    Fix https://bugs.ruby-lang.org/issues/20252
    Fix https://github.com/ruby/optparse/pull/60

    https://github.com/ruby/optparse/commit/78afdab307

commit fdd92c2d61cc8eb86b187d8f116ed640c959a62c
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-10 14:04:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-10 18:58:42 +0900

    Fix the variable to be checked

    It should check the result of `rb_parser_search_nonascii`.

commit 6cafbd35d970f898eebc8c2d7b6f79fb4f79308c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-10 14:24:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-10 14:24:28 +0900

    YJIT: Remove unused variables

commit ea91ab696e6ee7225a2dde909e60dd9d0b241935
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-06 17:33:20 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-10 09:23:17 +0900

    Fix constant name of `Ractor::IsolationError` message

    `dest` of `const_decl_path` is `NODE_COLON2` or `NODE_COLON3` in some cases.
    For example, `B::C ||= [“Not ” + “shareable”]` passes `NODE_COLON2`
    and `::C ||= [“Not ” + “shareable”]` passes `NODE_COLON3`.
    This commit fixes `Ractor::IsolationError` message for such case.

    ```
    # shareable_constant_value: literal
    ::C ||= ["Not " + "shareable"]

    # Before
    # => cannot assign unshareable object to C (Ractor::IsolationError)

    # After
    # => cannot assign unshareable object to ::C (Ractor::IsolationError)
    ```

commit bf72cb84ca52bc062cc1711c03622ed6c928fed8
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-05 19:45:19 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-10 09:23:17 +0900

    Include the first constant name into `Ractor::IsolationError` message

    If lhs of assignment is top-level constant reference, the first
    constant name is omitted from error message.
    This commit fixes it.

    ```
    # shareable_constant_value: literal
    ::C = ["Not " + "shareable"]

    # Before
    # => cannot assign unshareable object to  (Ractor::IsolationError)

    # After
    # => cannot assign unshareable object to ::C (Ractor::IsolationError)
    ```

commit e7b0a01002323d9ed8eed9abca2a4979ebe9ae32
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-10 07:12:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-10 07:12:24 +0900

    YJIT: Add top ISEQ call counts to --yjit-stats (#9906)

commit f7467e70e1803a230f9a0bf013c8134c1dde2c94
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 05:46:53 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-10 07:01:27 +0900

    Split line_no and node_id before new_insn_body

    Before this commit, there were many places where we had to generate
    dummy line nodes to hold both the line number and the node id that
    would then immediately get pulled out from the created node. Now
    we pass them explicitly so that we don't have to generate these
    nodes.

    This makes a clearer line between the parser and compiler, and also
    makes it easier to generate instructions when we don't have a
    specific node to tie them to. As such, it removes almost every
    single place where we needed to previously generate dummy nodes.

    This also makes it easier for the prism compiler, because now we
    can pass in line number and node id instead of trying to generate
    dummy nodes for every instruction that we compile.

commit e96c838ca40be75b57af289a182bb0ed6adaf829
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-10 05:54:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-10 06:30:07 +0900

    [PRISM] Fix flaky memory in scope nodes

commit 86882565221cb709f4213e7c7699ba73f16f1107
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 04:42:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-10 04:49:27 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/2c53e017c1

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit f635b4dd0e8a54ebd0aff7fbabd729fb4ad26606
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-08 22:39:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-10 04:49:27 +0900

    [ruby/prism] RipperCompat: add array-refs, assigns, symbols, strings

    https://github.com/ruby/prism/commit/b771c7f2ec

commit 717adb564b4dd4a7e34b7b4b734795d7eb272c89
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-10 02:12:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-10 02:12:45 +0900

    YJIT: Fallback megamorphic opt_case_dispatch (#9894)

commit 80490acfb601557497d5c10841fc5493e691e6da
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-10 02:08:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-10 02:08:54 +0900

    More on IO doc (#9842)

commit d19d683a354530a27b4cbb049223f8dc70c75849
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-02-09 21:54:06 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-02-10 01:38:54 +0900

    rb_obj_setup: do not copy RUBY_FL_SEEN_OBJ_ID

    [Bug #20250]

    We're seting up a new instance, so it never had an associated
    object_id.

commit cf1cd215c0a057da123ec9753091154230b3dc97
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-10 01:16:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-10 01:27:05 +0900

    [ruby/prism] Significantly faster offset cache for parser

    https://github.com/ruby/prism/commit/8cd92eef79

commit 5c2d96df194abcb7d9d6f154635c30f7d8811c13
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 02:00:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-10 01:26:32 +0900

    [PRISM] Implement opt_case_dispatch

commit a4ba62b6e5954f1826bea7027808f72bd22c874f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 01:29:36 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-10 01:26:32 +0900

    [PRISM] Refactor case nodes for only one pass through when

commit 08b77dd682f342943bb64f9d823040cd350240ba
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-02-09 06:56:26 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-02-09 21:28:26 +0900

    Remove unused bind argument from eval_make_iseq

commit db73226bf6aa8c67ad6976ff6b3c628cf6b8a952
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-09 19:03:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-09 19:58:31 +0900

    [ruby/optparse] Adjust arguments for lambda-callbacks

    Rake uses [lambda] as callbacks.
    Calling it without omitted argument raises an `ArgumentError`.

    lambda: https://github.com/ruby/rake/blob/master/lib/rake/application.rb#L543

    https://github.com/ruby/optparse/commit/213cb03b59

commit 2c6767b71ef5154f49e4aef7a236849a934e68fb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-09 12:59:43 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-09 19:58:19 +0900

    [ruby/optparse] Respect default values in block parameters

    Fix https://github.com/ruby/optparse/pull/55

    https://github.com/ruby/optparse/commit/9d53e74aa4

commit 5e12b757162970b317e2fdf2490b694b52125743
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-02-09 17:46:24 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-02-09 17:52:17 +0900

    Remove unavailable filters for merge_group event

    actionlint says:
    - "branches" filter is not available for merge_group event. it is only for push, pull_request, pull_request_target, workflow_run events [events]
    - "paths" filter is not available for merge_group event. it is only for push, pull_request, pull_request_target events [events]
    - "paths-ignore" filter is not available for merge_group event. it is only for push, pull_request, pull_request_target events [events]

commit 007c75ce4c66243e41144c6977e5ccbf4ab71c93
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-09 14:36:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-09 14:40:12 +0900

    Skip to install bundled gems that is C extension and build failed.

    Ex. We can't build syslog gem in Windows platform. We should skip install
    syslog as bundled gems.

commit 33c1e082d0807db403a2d93cbf0a094c91179d74
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-03 00:50:02 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-09 14:20:17 +0900

    Remove ruby object from string nodes

    String nodes holds ruby string object on `VALUE nd_lit`.
    This commit changes it to `struct rb_parser_string *string`
    to reduce dependency on ruby object.
    Sometimes these strings are concatenated with other string
    therefore string concatenate functions are needed.

commit f7a407cabda6eb787fb95fc6e3c1b2215b1aec19
  Author:     fatkodima <fatkodima123@gmail.com>
  AuthorDate: 2023-10-15 03:52:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 12:31:13 +0900

    [ruby/optparse] Fix `require_exact` to work with options defined as `--[no]-something`

    https://github.com/ruby/optparse/commit/4e346ad337

commit 50bcaa62868d806ae861c9dc3353e1f4e85a99f6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-09 12:17:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 12:21:24 +0900

    [ruby/optparse] Escape backslashes

    https://github.com/ruby/optparse/commit/b14c2c644d

commit 0923a98868d6c2bed00eb1d8fa2ddf98fb42a708
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-08 18:15:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-09 11:09:56 +0900

    Move clean-up after table rebuilding

    Suppress a false positive alert by CodeQL.

commit 76f0eec20f5a58b79177c3b6c601b6e361db6da9
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 10:07:15 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-09 10:08:23 +0900

    Fix a benchmark to avoid leaving a garbage file

commit 2a57e6e6edbd848b5646a762e9351912c857706f
  Author:     Petrik <petrik@deheus.net>
  AuthorDate: 2024-02-09 05:58:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 10:07:17 +0900

    [ruby/rdoc] Don't document aliases with trailing `:nodoc` directive

    Attribute readers and writers can be marked as `:nodoc` to keep them
    undocumented:

    ```ruby
    attr_reader :name # :nodoc:
    ```

    For aliases this behaviour should be the same:

    ```ruby
    alias_method :old :new # :nodoc:
    ```

    https://github.com/ruby/rdoc/commit/30f14e8271

commit 5d32e328d90e435ceb5d1259438157ab5d2a4608
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 09:53:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 09:53:01 +0900

    YJIT: Refactor recv_known_class to Option (#9895)

commit e2aa00ca669704daf689110ea71e5844e2bd0536
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 08:52:45 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 08:52:45 +0900

    YJIT: Remove unnecessary casts for chain_depth (#9893)

commit 5cbca9110c3d8cffc95c70a0c0c793fe8c1d3662
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 08:47:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 08:47:02 +0900

    YJIT: Allow tracing a counted exit (#9890)

    * YJIT: Allow tracing a counted exit

    * Avoid clobbering caller-saved registers

commit 4a40364c62ee4689bb95e6c26669a28861b6bc8b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 03:19:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-09 04:36:39 +0900

    [PRISM] Run opt init before parsing

commit 3ecfc3e33ef7db8e9f855490910077ac7ed13434
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 03:56:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-09 04:36:29 +0900

    [PRISM] Support the DATA constant

commit 1936278461cf9aec1495596bf25a2963721f21ee
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 02:03:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 02:03:47 +0900

    YJIT: Maintain MapToLocal that is just upgraded (#9876)

commit 3e03981f256f76a5f8ff4a9f56a57dd18f68aa14
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 00:59:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-09 01:53:10 +0900

    [PRISM] Compile constant paths with optimizations

commit 54295ba5e18818578d9df2ddbec7bebb8c4ec3a7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-09 00:14:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-09 01:53:10 +0900

    [PRISM] Compile constant reads using opt_getconstant_path

commit b2d468fcedebdb02d342b2fdd2028c25299c4d60
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-08 23:36:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-09 01:53:10 +0900

    [PRISM] Refactor call opts to only check for specific ids

commit 3397449846a482eaebc119738fccdd2008a72305
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-02-09 01:03:59 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 01:03:59 +0900

    YJIT: Report invalidation counts in non-stats mode (#9878)

    The `invalidation_count` and `invalidate_*` counters are all incremented
    using `incr_counter!` without a guard on stats mode, so they can be made
    always available.

    This could be to helpful in investigating where, how often, and what
    types of invalidations are occurring in a production system.

commit 50b4ef29b2f326cf62f07ae3f136fc2baec18227
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 01:03:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 01:03:07 +0900

    YJIT: Use jit_prepare_call_with_gc as much as possible (#9874)

    * YJIT: Use jit_prepare_call_with_gc as much as possible

    * Stop assuming vm_defined doesn't make a call

commit 1983949811607fb87584943749a0cf9056a49c01
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:33:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:06 +0900

    [ruby/prism] Looks like Symbol#name wasn't a thing in 2.7, so need to switch back to to_s

    https://github.com/ruby/prism/commit/0b90c9a398

commit 0c73553052748a9ac1ef196f6e6db9608aca0d9b
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:23:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:06 +0900

    [ruby/prism] Add Kevin's visit_all change and change the parent class to Compiler.

    https://github.com/ruby/prism/commit/bbdba3f42d

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit f8b8a6780c9922a4792ca4a1066dddfac08638a6
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:21:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:05 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/03addf2d3d

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit 3f0aa554493f154280be73045522efe562ac4de7
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:21:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:05 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/5eac08f699

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit c1aba5d97b4f2963af80118ddaf6941f1f909092
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:20:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:05 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/8271ce5ec9

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit 70bc4ce34f54b6d865dba638ffe512522625ed9e
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:20:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:05 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/6e2bf9c8cd

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit 6aceb91de0c13dd3b2b98ecfede806aa3cfe883c
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-09 00:20:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:04 +0900

    [ruby/prism] Update lib/prism/ripper_compat.rb

    https://github.com/ruby/prism/commit/bce0a5c916

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit 366af4679e5de6720a952768a3f17a05ff7df4cc
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-08 01:17:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-09 01:02:04 +0900

    [ruby/prism] RipperCompat: support for more features.

    * add bin/prism ripper to compare Ripper output
    * block arg handling is quirky, do it per-call-site
    * block required params
    * boolean values
    * various assign-operator support
    * breaks, early fragile begin/rescue/end
    * more fixtures being checked

    https://github.com/ruby/prism/commit/31732cb720

commit c6b391214c13aa89bddad8aa2ba334fab98ab03c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 05:52:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-09 00:49:38 +0900

    [DOC] Improve flags of string

commit b74c8abd1132824f95d81309f96645f272c064dc
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-09 00:22:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-09 00:22:07 +0900

    YJIT: Skip pushing a frame for Hash#empty? (#9875)

commit 01fd262e62076277a41af72ea13f20deb1b462a2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-08 01:30:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-09 00:12:56 +0900

    Fix crash when checking symbol encoding

    [Bug #20245]

    We sometimes pass in a fake string to sym_check_asciionly. This can crash
    if sym_check_asciionly raises because it creates a CFP with the fake
    string as the receiver which will crash if GC tries to mark the CFP.

    For example, the following script crashes:

        GC.stress = true
        Object.const_defined?("\xC3")

commit 443c5c06ac2be84059a7c4435c37deb8de2428d6
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-02-08 23:17:01 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-08 23:17:01 +0900

    Bundle rbs-3.4.4 (#9883)

commit 34581410f20e2d2252b9da19a803bf5cc1ae23e1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-08 11:41:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-08 18:08:42 +0900

    Extract `RBIMPL_VA_OPT_ARGS`

    Similar to splat argument in Ruby, which be expanded to `__VA_ARGS__`
    with a leading comma if any arguments given, otherwise empty.

commit f3cc1f9a703ab56f5601d6c7b6a964333b668c17
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-31 15:11:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-08 18:08:42 +0900

    Show actual imemo type when unexpected type

commit d31a12a210bec646eadc23c11ede29f05e72e373
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-31 15:09:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-08 18:08:41 +0900

    Optional detail info at assertion failure

commit 0292d1b7c34fbee60230623195d1b44a23dd4252
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-02-08 17:28:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 17:28:37 +0900

    Update bundled gems list as of 2024-02-07

commit 482b82ae15f4edd85df4b8043622839cbab077a2
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-08 16:19:31 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-08 17:15:31 +0900

    Bump typeprof to 0.21.10

commit 908cedf7032bb753287256aff8a95579aad29226
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-08 15:29:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 15:29:16 +0900

    Removed accidentally commit for lockfile

commit 70bb9cf065973e262325df3187471275b6e91698
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-08 14:00:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 15:27:01 +0900

    [rubygems/rubygems] rake vendor:install

    https://github.com/rubygems/rubygems/commit/c38a96ceae

commit 75c5e1a1369007adb025ed52826ffe690999377b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-08 13:51:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 15:27:00 +0900

    [rubygems/rubygems] Removed unnecessary disabling of Style/RedundantParentheses

    https://github.com/rubygems/rubygems/commit/2361527c45

commit a35cade79125d2ae99cea01914939d27e0c846a2
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-27 04:37:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Improve assertion

    https://github.com/rubygems/rubygems/commit/7f2f2b898c

    Co-authored-by: Martin Emde <martin.emde@gmail.com>

commit c236212600ff3094fea3b138ee0ff98652d94345
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 18:41:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Use deprecation helper for deprecation warning

    https://github.com/rubygems/rubygems/commit/d1963bf1a6

commit 0c71fb4b865d1902bd3eed2265d988e4e3fda926
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 17:26:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Run definition specs in an isolated location

    And consistently pass Pathname's to `Definition.new` like production
    code does.

    https://github.com/rubygems/rubygems/commit/660def5b68

commit 5500f880f329cc8593d3b234577994c1605b8ba4
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 17:21:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Fix incorrect 4th parameter to Definition.new

    https://github.com/rubygems/rubygems/commit/54948e428d

commit e04120772be6162499023f7245434cb5c9175344
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 17:11:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Move `subject` to top level context

    https://github.com/rubygems/rubygems/commit/331c415af0

commit 24d5e7176e80cecfc38daf80020fb85f1144083b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-03-03 04:18:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Refactor lockfile generation

    https://github.com/rubygems/rubygems/commit/6a0c03c77f

commit debc5aaee57a25745259fd02a54701e6c184fa7c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-10-10 04:07:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [rubygems/rubygems] Remove unused parameter

    https://github.com/rubygems/rubygems/commit/085eda7147

commit ce2618c628e017f6d83576d95a294a6247e30b19
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-02-04 15:45:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [ruby/strscan] Bump version

    https://github.com/ruby/strscan/commit/ba338b882c

commit 39f2e37ff1c12cf4c9fec0b697a1495bc1930995
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2024-02-03 19:56:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [ruby/strscan] Don't add begin to length for new string slice
    (https://github.com/ruby/strscan/pull/87)

    Fixes https://github.com/ruby/strscan/pull/86

    https://github.com/ruby/strscan/commit/c17b015c00

commit 5afae77ce9bd7352e194d8603ebe35b3679207b3
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-01-21 11:45:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [ruby/strscan] Bump version

    https://github.com/ruby/strscan/commit/842845af1f

commit e1834cdfe0d95692e597bbaa9bb474b7680efe00
  Author:     Masato Nakamura <masato.nakamura145@gmail.com>
  AuthorDate: 2024-01-30 06:40:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 14:43:56 +0900

    [ruby/fiddle] Set changelog_uri gem metadata
    (https://github.com/ruby/fiddle/pull/138)

    See https://guides.rubygems.org/specification-reference/#metadata for changelog_uri metadata.

    https://github.com/ruby/fiddle/commit/0bd8e96adc

commit ce6054a667029af3edc32cfd2e0e7c281cfdf332
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-08 11:15:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-08 12:06:07 +0900

    Move an embedded directive outside macro arguments

    Suppress warnings/errors by -Wembedded-directive with `-std=c99` on
    macOS.

commit 9f1afefaa8cf84e083bb1c281050f05c26e54bc1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-08 11:02:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-08 11:28:39 +0900

    Now we can use ruby analysis with large runner

commit 04d42650d91690b9f929d4c765d5b114e111d4ce
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-08 09:36:22 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-08 09:36:23 +0900

    Remove obsoleted rb_vm_opt_cfunc_p

    That was added for MJIT's inlining decisions, but we no longer have MJIT.

commit 0e1f22ac7ee5719048471aad29f69221d045bd34
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-08 05:50:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 06:26:14 +0900

    [ruby/prism] Dev-only CLI

    We keep adding more scripts to /bin that are doing the same kinds
    of processing. Instead, this commit consolidates them all into a
    single CLI that shares the same logic so that we can consistently
    read files in the same way.

    It keeps around 2 binstubs for bin/lex and bin/parse since those
    are the most used and I'm sure people have built up muscle memory
    for those. Those scripts are now just wrappers for forwarding to
    bin/prism.

    https://github.com/ruby/prism/commit/bddcb9bf17

commit 1b68b459caa472eb85cfef55bf5cd200da9bf3c5
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-08 03:39:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 04:42:14 +0900

    [ruby/prism] Commit Kevin's suggestion to simplify grabbing the operator.

    https://github.com/ruby/prism/commit/874ba7a1f4

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit 5b7baa04862906918bb010d8f4de07d7f272f254
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-07 22:45:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 04:42:13 +0900

    [ruby/prism] More different block-call syntaxes, support more types of method calls

    https://github.com/ruby/prism/commit/40cf114a24

commit 73d222e1efa64b82bdd23efdb73fa39031fe0b9c
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-07 20:05:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 04:42:13 +0900

    [ruby/prism] Support &. calls and calling with blocks, test with fixtures

    https://github.com/ruby/prism/commit/e346fa583a

commit b1310940e36c14bd07dbc2db885fbd6ec8c35bf8
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-07 19:22:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 04:42:13 +0900

    [ruby/prism] RipperCompat: support more kinds of method calls and operators.

    Add tests. Start parsing some simpler fixture code.

    https://github.com/ruby/prism/commit/997f4191d8

commit fcc8df622a47a99c3df9889ec7efaf069ed5fa70
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-08 03:36:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-08 03:36:06 +0900

    Bump prism version

commit b2392c6be418703e8941226ac80b359188bf3c5d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-07 00:20:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-08 02:15:33 +0900

    Fix memory leak when parsing invalid pattern matching

    If the pattern matching is invalid, then the pvtbl would get leaked. For
    example:

        10.times do
          100_000.times do
            eval(<<~RUBY)
              case {a: 1}
              in {"a" => 1}
              end
            RUBY
          rescue SyntaxError
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        28096
        44768
        61472
        78512
        94992
        111504
        128096
        144528
        161008
        177472

    After:

        14096
        14112
        14112
        14176
        14208
        14240
        14240
        14240
        14240
        14240

commit 0b7f51683446c81d7352d7d2eab9f49bc3bbae58
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-08 01:57:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 01:57:33 +0900

    [ruby/irb] Bump version to v1.11.2
    (https://github.com/ruby/irb/pull/865)

    https://github.com/ruby/irb/commit/afe1f459cc

commit aad3c36bdfe68c429cf612542a7eb3c94c17c483
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 05:41:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-08 01:54:34 +0900

    [ruby/prism] Support for Ruby 2.7

    https://github.com/ruby/prism/commit/1a15b70a8e

commit aed052ce9d9eeeccecb12c444aa7327d1e078a51
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-08 00:00:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-08 00:42:23 +0900

    [PRISM] Revert incorrect frozen string literal handling

commit 5f4245e74b84e1435d51f45a43717a5d33aef4cb
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-07 23:59:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 23:59:10 +0900

    [ruby/irb] Polish tracer integration and tests
    (https://github.com/ruby/irb/pull/864)

    * Remove useless ivar

    * Simplify tracer test setup

    * Treat tracer like a normal development dependency

    * Only require ext/tracer when value is truthy

    * Make tracer integration skip IRB traces

    https://github.com/ruby/irb/commit/a97a4129a7

commit 164c18af7b4a36dd7f6eea499e297c842ccb1585
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 23:39:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 23:44:36 +0900

    [ruby/prism] Correct handle recover parameters on tokenize for parser translation

    https://github.com/ruby/prism/commit/63979de21d

commit 9ebaf7a8ef231632c98a944f1214b902764ae3ab
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-07 18:18:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-07 20:34:48 +0900

    Run CodeQL using macos-arm-oss only on ruby/ruby

commit e965c5a174872d40afb1a90d5070decd2caedeb5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 18:13:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 20:03:15 +0900

    Keep cpp build with ubuntu-latest

commit 78898c53c76d7b5b741334af74275da6ea77e214
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 17:28:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 18:33:28 +0900

    Refer gmp to macOS build

commit 5d5d27a60d7649e3ccc18e741a1581ef22effa0f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 17:28:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 18:33:28 +0900

    readline-ext is extracted bundled gems at Ruby 3.3

commit 565ef06e917c6f326f8d528dc8fa6c6de88a8753
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-02-07 16:35:14 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-07 17:42:07 +0900

    Ignore _odr_asan symbols in leaked-globals

    ASAN includes these to detect violations of the ODR rule.

    [Bug #20221]

commit 42c36269403baac67b0d5dc1d6d6e31168cf6a1f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 16:57:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 17:27:53 +0900

    The default ram size is 13GB at macos runner

commit 66d6695f7fe4b7070ae3066d58b060225f52a54c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 16:40:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 17:27:53 +0900

    Try to run with large runner

commit 8407044388e5e7cb533d98f8b4a442db6966f5ea
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 16:30:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 17:27:53 +0900

    Update latest version of CodeQL

commit d95d3484a90a985b971ef4c55762847d92b6c81a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-02-07 16:05:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-02-07 16:06:01 +0900

    omit tests related legacy provider

    It failed with recent update of FreeBSD

    https://rubyci.s3.amazonaws.com/freebsd13/ruby-master/log/20240207T023002Z.fail.html.gz

commit 75aaeb35b82da26359b9418d2963384d0c55839c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-07 11:00:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-07 15:14:26 +0900

    [Bug #20239] Fix overflow at down-casting

commit 8bd83bb133bb2ef5616e49b4a207e8ec59a83472
  Author:     Kim Emmanuel <kim.emmanuel@gmail.com>
  AuthorDate: 2024-02-01 06:53:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 14:46:50 +0900

    [rubygems/rubygems] fix flaky tests

    https://github.com/rubygems/rubygems/commit/0e87ae032d

commit 0edf5a714bfe92431a6b53d2931a504d8e584b7e
  Author:     Kim Emmanuel <kim.emmanuel@gmail.com>
  AuthorDate: 2024-02-01 06:29:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 14:46:50 +0900

    [rubygems/rubygems] #to_spec must fallback for prereleases always

    https://github.com/rubygems/rubygems/commit/6302798a32

commit aaef443a59a8d7b3631fa48a8d0a3a03744e0f96
  Author:     Kim Emmanuel <kim.emmanuel@gmail.com>
  AuthorDate: 2024-01-30 03:46:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 14:46:49 +0900

    [rubygems/rubygems] release requirement may load prerelease when sole option

    https://github.com/rubygems/rubygems/commit/7990771939

commit 5ddf4f5c95ae24eda6a89afb885410991f010abd
  Author:     Kim Emmanuel <kim.emmanuel@gmail.com>
  AuthorDate: 2024-01-27 14:58:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 14:46:49 +0900

    [rubygems/rubygems] fix Gem::Dependency#to_spec returning nil when prerelease is the only available version

    https://github.com/rubygems/rubygems/commit/a7dcc7214b

commit 2dba441397d338617e1b605104d8b42b5311a482
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 11:31:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 12:21:02 +0900

    [ruby/prism] Even more ripper compat

    https://github.com/ruby/prism/commit/47a602dc1c

commit 64b6a018a38f200c957fdbbe7d0cbe0e64781c9f
  Author:     NARUSE, Yui <nurse@users.noreply.github.com>
  AuthorDate: 2024-02-03 22:35:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-07 10:59:59 +0900

    Fix test session reuse but expire (#9824)

    * OpenSSL 3.2.1 30 Jan 2024 is also broken

    Import 45064610725ddd81a5ea3775da35aa46985bc789 from ruby_3_3 branch
    tentatively.

commit e34505c631349f8f8b548953d392191b96e9d29c
  Author:     Noah Gibbs <the.codefolio.guy@gmail.com>
  AuthorDate: 2024-02-06 19:54:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 10:49:54 +0900

    [ruby/prism] More visitors and tests for RipperCompat

    Part of issue #2354

    https://github.com/ruby/prism/commit/cb28edae34

commit ae13f8532217cbe344a440b4df2329194e2dad5d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 04:32:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 10:38:41 +0900

    Add test-all to prism

commit 44f0dc622ae08e851127c0fec3cc545256b6c040
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-07 04:56:49 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-07 06:17:54 +0900

    YJIT: Allow popping before falling back

    Popping but not generating any code before returning `None` was allowed
    before fallbacks were introduced so this is restoring that support in
    the same way. The included test used to trip an assert due to popping
    too much.

commit 936c0ab5e807e7060e6fc65a3c45015c131ae873
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-02-06 04:39:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 05:49:33 +0900

    [ruby/prism] Implement file parsing error handling

    This PR implements proper file parsing error handling. Previously
    `file_options` would call `pm_string_mapped_init` which would print an
    error from `perror`. However this wouldn't raise a proper Ruby error so
    it was just a string output. I've done the following:

    - Raise an error from `rb_syserr_fail` with the filepath in
    `file_options`.
    - No longer return `Qnil` if `file_options` returns false (because now
    it will raise)
    - Update `file_options` to return `static void` instead of `static
    bool`.
    - Update `file_options` and `profile_file` to check the type so when
    passing `nil` we see a `TypeError`.
    - Delete `perror` from `pm_string_mapped_init`
    - Update `FFI` backend to raise appropriate errors when calling
    `pm_string_mapped_init`.
    - Add tests for `dump_file`, `lex_file`, `parse_file`,
    `parse_file_comments`, `parse_lex_file`, and `parse_file_success?`
    when a file doesn't exist and for `nil`.
    - Updates the `bin/parse` script to no longer raise it's own
    `ArgumentError` now that we raise a proper error.

    Fixes: ruby/prism#2207

    https://github.com/ruby/prism/commit/b2f7494ff5

commit c3403322df7d81cd9426310bd7833d005b2a7ac7
  Author:     Nikita Vasilevsky <nikita.vasilevsky@shopify.com>
  AuthorDate: 2024-02-07 03:14:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 04:56:10 +0900

    [PRISM] Use block node location when building block iseq

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit c1bc7147200b5e47816388f1d304454f25e50bcb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 03:53:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 04:31:10 +0900

    [PRISM] Do not show source snippets if non-UTF-8

commit f5b368df0ceb1e705cd94e39ef8459dae07e6d52
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 02:59:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 03:10:50 +0900

    [ruby/prism] Better invalid token messages

    https://github.com/ruby/prism/commit/8c9bed2a4d

commit ccec209b2cced2ddb8463c4933ef729a44d0363c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 01:59:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 02:36:46 +0900

    [PRISM] Fix fsl coming from file

commit d77172b79b1cd28bc38a75162e41d2c8b6e71088
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 01:15:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 01:57:59 +0900

    [PRISM] Fix deconstruct index for posts

commit 300dee1fe8275b7444007b418323544b571f585c
  Author:     Nuno Silva <nunosilva800@gmail.com>
  AuthorDate: 2024-02-07 01:46:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-07 01:46:50 +0900

    [ruby/irb] Fix usage of tracer gem and add tests
    (https://github.com/ruby/irb/pull/857)

    The new tests are skipped when ruby below 3.1, as it was a default gem on it, and in a version we do not support.

    This also move definition of `use_tracer` to module Context instead of monkey patch.

    https://github.com/ruby/irb/commit/08834fbd5f

commit 26fac8f6fa8bf73e5f45c3028cd5bc186d89f666
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 00:50:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 01:21:52 +0900

    [PRISM] Set correct call target flags

commit c6d4071c2969211bed7bb8ebb2ab46bc514090b4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 00:32:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 01:08:14 +0900

    [PRISM] Handle match write popped

commit a50e35888b9bc5428a30b95c0ded12ddb986354f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-06 04:41:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-07 00:54:05 +0900

    Free all remaining objects in rb_objspace_free_objects

    rb_objspace_call_finalizer didn't free fibers and neither did
    rb_objspace_free_objects, which caused fibers to be reported as leaked
    when using RUBY_FREE_AT_EXIT. This commit changes rb_objspace_free_objects
    to free all remaining Ruby objects.

commit 1c120023f19becf0c5e56a6d62f7c101c440953f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-07 00:02:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 00:46:27 +0900

    [PRISM] Correctly handle popped attr write

commit b801a19c6a5270d32298de5486fdf96e0071b223
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 23:44:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-07 00:13:11 +0900

    [PRISM] Handle empty interpolated statements at start of string

commit d6b7eae58e71f69b70a4782c9fc204d8379c1ea5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 23:22:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 23:51:25 +0900

    [PRISM] Correct spec for defined? parentheses

commit 4f4f3a6dec253af7d8f138877cc80fb70c617654
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-28 15:18:36 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-06 20:23:42 +0900

    Don't check __asan_region_is_poisoned in objspace_each_objects

    This returns whether or not _any_ piece of memory in the range is
    poisoned, not if _all_ of it is. That means that currently, with ASAN
    enabled, pages which contain a single poisoned object are skipped
    entirely from being iterated with objspace_each* family of functions.

    [Bug #20220]

commit 719db18b50a996f3df4f76854f7dc9d69f875582
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-28 15:15:43 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-06 20:23:42 +0900

    notify ASAN about M:N threading stack switches

    In a similar way to how we do it with fibers in cont.c, we need to call
    __sanitize_start_switch_fiber and __sanitize_finish_switch_fiber around
    the call to coroutine_transfer to let ASAN save & restore the fake stack
    pointer.

    When a M:N thread is exiting, we pass `to_dead` to the new
    coroutine_transfer0 function, so that we can pass NULL for saving the
    stack pointer. This signals to ASAN that the fake stack can be freed
    (otherwise it would be leaked)

    [Bug #20220]

commit 19f615521d92f9837099173abb831cfcd2ff284c
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-02-04 05:02:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-02-04 05:02:49 +0900

    Remove TestProcess#test_low_memory_startup

    It is too flaky on many platforms. Nobody is willing to fix it. Let's
    just stop it.

commit 4f6b827e98ae1c5a22ccdc91b0f7a1459f5220a4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-06 12:19:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-06 12:19:56 +0900

    Use `__asm` instead of `asm`

    With `--std=c99` option coroutine/arm64/Context.h errs:

    ```
    In file included from cont.c:26:
    coroutine/arm64/Context.h:59:5: error: call to undeclared function 'asm'; ISO C99 and later do not support
          implicit function declarations [-Wimplicit-function-declaration]
       59 |     asm ("hint #8;" : "+r"(r17) : "r"(r16));
          |     ^
    ```

    Also move the common function header.

commit bae3e5b29aa53120194791f73c9a085df3658e90
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-06 04:10:12 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-06 06:13:22 +0900

    YJIT: No need to reject splat+zsuper

    There is nothing special about argument handling when it comes to zsuper
    if you look around in the VM. Everything passes removing these fallback
    reasons. It was ~16% on `railsbench`.

commit c42b1029d94cdc6dcdaf654fdf7ee7324658008d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 05:04:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-06 05:40:24 +0900

    [ruby/prism] Change the location of an implicit begin to method

    https://github.com/ruby/prism/commit/d08e140859

commit c5694c647afbacaf2d9e570b106d23f533601294
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 04:41:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 05:18:15 +0900

    [PRISM] Raise ArgumentError for invalid encoding

commit 10a182f597d450d75ac3ef10f8dbdd28ed5fc9fa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 02:58:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 04:42:20 +0900

    [PRISM] Fix method return line

commit 07611acb0c22804508990082e27bb1052e7f5454
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 03:24:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-06 04:24:57 +0900

    [ruby/prism] Add another error type for raising argument errors

    https://github.com/ruby/prism/commit/f3030cb2b2

commit ca7a48110fc2a207cabffff94ceb2147986d1948
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-02-03 05:19:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-06 03:17:24 +0900

    [rubygems/rubygems] Revert "Simplify how extensions are built"

    This reverts commit https://github.com/rubygems/rubygems/commit/0b8faf1e3926.

    https://github.com/rubygems/rubygems/commit/7528e0f1ce

commit 7eea066cb4830a7b2827fd30bb35d8dcf19ce5f5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 02:25:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 02:54:52 +0900

    [PRISM] Fix pattern matching array with implicit rest

commit ae7816bc20eefc75be98e5bb3955fe53b932d88f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 01:57:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 01:57:38 +0900

    [PRISM] Fix up idUMinus optimization

commit 948c618bdadfc412678dd6e00e11fc8b85053173
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-31 06:42:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 01:55:44 +0900

    [PRISM] Fix encoding of interpolated strings

    Fixes ruby/prism#2313.

commit 5e0c17145131e073814c7e5b15227d0b4e73cabe
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-03 02:00:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-06 01:11:07 +0900

    Make io_fwrite safe for compaction

    [Bug #20169]

    Embedded strings are not safe for system calls without the GVL because
    compaction can cause pages to be locked causing the operation to fail
    with EFAULT. This commit changes io_fwrite to use rb_str_tmp_frozen_no_embed_acquire,
    which guarantees that the return string is not embedded.

commit 02c88477ceb8d679a815721d16ce248da845cff6
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-17 23:33:20 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-02-06 01:08:18 +0900

    [wasm] tool/m4/ruby_wasm_tools.m4: Add default value for OBJCOPY

    The tool is used to build shared libraries but system installed
    tools usually don't support WebAssembly, so use WASI SDK's tools by default.

commit 0b5be2f9e97e0618f76b9a861eaf9c40a2e7fd6f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-06 00:38:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 01:07:07 +0900

    Sync to latest prism

commit 40642cd3bc581d3bb402ea5e8e61cdfb868b4f68
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-06 00:29:57 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-06 00:29:57 +0900

    Update to ruby/spec@3fc4444

commit abe07d4bf5f2f848b22e511a647a85c878066adb
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-06 00:29:56 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-06 00:29:56 +0900

    Update to ruby/mspec@31f51e0

commit d9bd64f9eedd7b3177637093ae77010be4ddb44b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-05 22:19:13 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2024-02-06 00:29:25 +0900

    Fix typo

commit b35cdb4758c0a569574a047bda6ce6a19c302aef
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-03 06:57:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 00:27:58 +0900

    [PRISM] Implement opt_aset_with

    Part of ruby/prism#2231

    Co-authored-by: Adrianna Chang <adrianna.chang@shopify.com>
    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 8ed26a3f5923a0f1213060200bf542f172c99b7c
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-03 06:53:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-06 00:27:58 +0900

    [PRISM] Refactor PM_CALL_NODE conditional

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 8bc6fff32208ac60b8421458fe2337ee6599c5be
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-04 09:17:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-05 01:05:02 +0900

    [PRISM] Do not optimize safe navigation aref

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit c5d444476147185ed4e8ccf637ebaab4d4ef43d9
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-04 09:07:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-05 01:05:02 +0900

    [PRISM] Do not optimize safe navigation -@/freeze

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

commit 7b3e05c3927a90b895ea48d088f40a5662cf1787
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-13 23:59:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-04 20:33:45 +0900

    Do not define ABI version in statically linked objects

    It is for dynamically loading, useless for statically linked objects.

commit 8b897e6026981cb7195c4065d9a6647c56008808
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-02-04 18:38:48 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-02-04 18:39:22 +0900

    [DOC] Update NEWS refs

commit 3f37b4fe0c19951099c6292872a5def0bcdee413
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-04 17:09:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-04 17:09:45 +0900

    Extend tests for ext/Setup

commit ae8990aef098410ecc2b5f48fea9d7d171a3c5f6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-04 16:43:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-04 16:43:09 +0900

    Alias init functions

    The extension library has each initialization function named "Init_" +
    basename. If multiple extensions have the same base name (such as
    cgi/escape and erb/escape), the same function will be registered for
    both names.

    To fix this conflict, rename the initialization functions under sub
    directories using using parent names, when statically linking.

commit 143a1be12808d138453b7c7d2c6941d24f23aaaa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-04 16:40:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-04 16:40:41 +0900

    Allow glob patterns in ext/Setup

commit c40b0d52be00f305fe14b4c060599afeded9b83e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-04 16:35:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-04 16:35:44 +0900

    Glob with base option

    When ripping the base directory off the result names.

commit bc79229be9d3333083b2e587d708b5d791d23608
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2024-02-03 19:39:17 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2024-02-03 19:39:17 +0900

    Show OpenSSL version in the error message of assert_equal

commit 055615a4733d8568f165b722186a7a3e2a21d1a0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-03 15:59:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-03 15:59:55 +0900

    Statically linking does not use shared libraries of encodings

commit 124be0aaaa0c22d39eeebb85078e342d0174b35a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-03 15:46:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 15:54:35 +0900

    [ruby/irb] Consume the warning for non-existent history path

    Fix https://github.com/ruby/irb/pull/852#issuecomment-1925170358

    https://github.com/ruby/irb/commit/9a7e060e57

commit 0854d648629c951ee2fe59dbc1e47a3624dae5de
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-03 09:29:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-03 12:25:08 +0900

    [PRISM] Selectively dup array in `foo(*splat, &block_arg)` calls

    This is essentially an adaptation of aae8223c707 ("Dup splat array in
    certain cases where there is a block argument") to pass
    `TestCall#test_call_block_order`.

    This also makes PRISM emit `getblockparamproxy` in cases like
    `def foo(&blk) = bar(&blk)` where it used the less efficient
    `getblockparam` previously.

    Remove the `popped` parameter from setup_args() because it should always
    be ignored, and is in fact unused.

commit 68b57ceb4610b424401706777c2d17cd8572a977
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-02-02 20:53:37 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-02-03 09:15:41 +0900

    Use bool to check ascii only in parse_ident

    No need to use ENC_CODERANGE to record ascii only or not.

commit 90ae8eaecae00eabd2d7dc8ec7ee1afc53a6bd9d
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-02 08:31:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-03 08:50:41 +0900

    [PRISM] Fix numbered parameters stealing local names

    Previously, the local index of numbered parameters were assigned to
    names of regular locals, making it hard to read both of them. Use proper
    `_[1-9]` numbered parameters. This fixes `test_shapes.rb`.

    Also, properly mark the iseq as having lead parameters.

commit 5d646fa136131c18a7a432486c65438abe9790e2
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-03 07:25:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 07:25:33 +0900

    [ruby/irb] Require pathname (https://github.com/ruby/irb/pull/860)

    https://github.com/ruby/irb/commit/0ab96ed426

commit 5a87e9e2b56c00f7b4abb8f90e02c7601be1e82a
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-02-03 07:09:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-03 07:09:31 +0900

    YJIT: add missing jge comparison instruction (#9819)

    I ran into this while trying to implement setbyte, was surprised
    to find out we hadn't implemented it yet.

commit aa780a678e98599fdd9011760dabe17f9e26826c
  Author:     Ignacio Chiazzo Cardarello <ignaciochiazzo@gmail.com>
  AuthorDate: 2024-02-03 06:58:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 06:58:22 +0900

    [ruby/irb] Add a warning for when the history path doesn't exist
    (https://github.com/ruby/irb/pull/852)

    * Add a warning for when the history path doesn't exist

    * warn when the directory does not exist

    * added test for when the history_file does not exist

    * Update lib/irb/history.rb

    ---------

    https://github.com/ruby/irb/commit/9e6fa67212

    Co-authored-by: Stan Lo <stan001212@gmail.com>

commit 6afccdf4499931b94f513dea9e3c1c9bab4a8787
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 06:38:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 06:45:50 +0900

    [ruby/prism] Provide APIs for finding value in constant pool

    https://github.com/ruby/prism/commit/be9e2abfa3

commit 31e4300ea704365e4578841d99ffadb1dfe5fd24
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-01-30 22:20:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 06:38:04 +0900

    [rubygems/rubygems] feat: Gem::Specification#initialize_copy deep-copies requirements

    to avoid accidentally mutating the original's state when doing:

    ```ruby
    spec2 = spec.dup
    spec2.required_rubygems_version.concat([">= 3.3.22"])
    ```

    see https://github.com/rake-compiler/rake-compiler/pull/236 for a
    real-world use case that would be made simpler with this behavior.

    https://github.com/rubygems/rubygems/commit/c1d52389f0

commit 66a6f2b15a8827f830db7bf8cf8c8ebba79fa237
  Author:     Mike Dalessio <mike.dalessio@gmail.com>
  AuthorDate: 2024-01-30 22:05:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 06:38:04 +0900

    [rubygems/rubygems] feat: Gem::Requirement#initialize_copy deep-copies @requirements

    to avoid accidentally mutating the original's state when doing:

    ```ruby
    req2 = req.dup
    req2.concat([">= 3.3.22"])
    ```

    see https://github.com/rake-compiler/rake-compiler/pull/236 for a
    real-world use case that would be made simpler with this behavior.

    https://github.com/rubygems/rubygems/commit/8e0c03144e

commit d2f004cf6a99564a59ed159c4963d199488665cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 06:05:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 06:16:04 +0900

    [ruby/prism] Fix hash pairs in patterns

    https://github.com/ruby/prism/commit/b7ab29daa0

commit eaea53b836cb2b8b814c4cd32b8c5ac4ddc049dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 05:30:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 05:43:30 +0900

    [ruby/prism] Handle missing begin body

    https://github.com/ruby/prism/commit/7e54818b17

commit 7695ab3bcec1d842b85935c0cc0b0aa2b1c28991
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 05:02:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 05:09:01 +0900

    [ruby/prism] Fix up multibyte escapes

    https://github.com/ruby/prism/commit/836a35f4af

commit 520987c6d7511564069158f629ef4230c9c4a517
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 04:43:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 04:43:14 +0900

    [ruby/prism] Turn off LibrarySymbolsTest on powerpc64le

    https://github.com/ruby/prism/commit/6e432f3de5

commit 93fdf66bc5fb547035efbd0ded899c3ea57370ab
  Author:     Vitaliy Serov <vitaliy.serov@onlyoffice.com>
  AuthorDate: 2024-02-02 20:58:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 04:26:58 +0900

    [rubygems/rubygems] Adapt failing tests to new output

    https://github.com/rubygems/rubygems/commit/cf549e71aa

commit 0bcad50c8c9655118401ced990d977d8cf9392ff
  Author:     Vitaliy Serov <vitaliy.serov@onlyoffice.com>
  AuthorDate: 2024-02-02 02:20:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 04:26:58 +0900

    [rubygems/rubygems] Fix var name and also update other places

    https://github.com/rubygems/rubygems/commit/f72a7989cd

commit 064f251571f6d96ff3edcd81e6743eb617f66db9
  Author:     Vitaliy Serov <154601125+VitaliySerov@users.noreply.github.com>
  AuthorDate: 2024-01-26 02:46:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 04:26:57 +0900

    [rubygems/rubygems] Change gem login message to clear up that username can be also used

    https://github.com/rubygems/rubygems/commit/2bf6163eaf

commit 420a6349ec299c086320ab90af96776d73de0957
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-03 02:37:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-03 03:36:23 +0900

    [ruby/prism] Small fixes for the parser translator

    https://github.com/ruby/prism/commit/4327051c86

commit 8f9d999d5967182b8fafdf6ff47eb4db1358e29b
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-03 01:17:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-03 01:35:43 +0900

    [ruby/prism] Fix overlapping memcpy

    It's UB to use memcpy with overlapping source and destination. This
    might be causing crashes on 32 bit platforms and on OpenBSD. Use memmove
    instead. Add a bounds check while we're at it since it's unclear whether
    one-past-end pointer with n=0 is UB.

    https://github.com/ruby/prism/commit/719f54ff5e

commit 31378dc0969f4466b2122d730b7298dd7004acdf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-31 04:16:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-03 00:39:42 +0900

    Add memory leak test for Regexp timeout

    [Bug #20228]

commit 01bfd1a2bf013a9ed92a9722ac5228187e05e6a8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-31 04:16:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-03 00:39:42 +0900

    Fix memory leak in OnigRegion when match raises

    [Bug #20228]

    rb_reg_onig_match can raise a Regexp::TimeoutError, which would cause
    the OnigRegion to leak.

commit 1c120efe02d079b0a1dea573cf0fd7978d9cc857
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-31 04:15:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-02-03 00:39:42 +0900

    Fix memory leak in stk_base when Regexp timeout

    [Bug #20228]

    If rb_reg_check_timeout raises a Regexp::TimeoutError, then the stk_base
    will leak.

commit a4e4e3b1f1bd66ce9121c0ba2a1926e2459106dc
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-31 22:20:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 20:43:10 +0900

    [rubygems/rubygems] Add missing Windows job

    Specs that use extension gems were failing in the new job but I noticed
    that they were using very non standard `extconf.rb` files.

    The hack being removed here was added just to make specs pass when run
    in ruby-core but it seems the underlying issue has been fixed now, and
    it's causing issues with Ruby 3.3 and Windows, so necessary so I'm
    removing it and moving on.

    https://github.com/rubygems/rubygems/commit/5b78275f0e

commit ccffc6ee09d51b840ec00c25b815cac26ca45025
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-02 14:26:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-02 14:26:20 +0900

    Add an assertion that `%x` literals call `` ` `` method

commit c0629a055ada4efcd6f520a8ff6f6d4d71e878a0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-01 21:20:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-02 10:42:53 +0900

    Prefer `IO.popen` over `IO.foreach` with `|`

commit f22bec79fed582f10e1791c421ebc760121b8878
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-01 20:44:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-02 10:42:53 +0900

    leaked-globals: More accurately extract checked function names

commit 7b93e65e9f9cb7abfc7e19aff4da9d6e4c32de4b
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-02-02 07:55:13 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-02 07:55:13 +0900

    [DOC] Pretty tables for Kernel#test doc (#9751)

commit 8d33be9833dd6a8851948762065db6fab051ad8c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-02 07:11:32 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-02 07:11:32 +0900

    [PRISM] Respect string encoding override in array literals

    Fixes `TestZlibGzipReader#test_gets2`,
    `Psych_Unit_Tests#test_spec_explicit_families`, and many failures in
    `test_unicode_normalize.rb`.

commit 770b5499a550956001b879abb5bbd205eabda19f
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-02 05:55:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 07:04:46 +0900

    [ruby/prism] Amend assert in pm_utf_8_codepoint(), n=0 is fine

    This assert used to trip in the included test:
    ```
    ./miniruby --parser=prism -e ' "%W"\u" '
    ```

    https://github.com/ruby/prism/commit/8c0f84db4f

commit 4fbdbde0887d038c679b9e0369234d1061441232
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-02 04:56:26 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-02 05:52:33 +0900

    [PRISM] dedup hash string keys

    Fixes ruby/prism#2321

    Co-authored-by:  Adrianna Chang <adrianna.chang@shopify.com>
    Co-authored-by:  Peter Zhu <peter@peterzhu.ca>

commit 332d2c92d8fd7827690e9be8ab76e4f999713b51
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 05:16:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-02 05:52:19 +0900

    [PRISM] Emit parse warnings

commit b47d43fa9bd48d14f871f71c2dfa18e241f0f051
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-02 05:15:07 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-02 05:50:32 +0900

    [PRISM] Use rb_fstring() on all string literals

    In addition to saving space by deduplicating, this also makes the
    literals have code range like TestObjSpace#test_dump_string_coderange
    expects. It's testing a detail, but we might as well use rb_fstring().

    Note that `putstring` makes a mutable duplicate, so passing it an
    fstring is fine.

commit c7fe3ecb49784fcc6a9780f89880d758cd272449
  Author:     Nikita Vasilevsky <nikita.vasilevsky@shopify.com>
  AuthorDate: 2024-02-02 03:04:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-02 05:23:39 +0900

    [prism] Use block opening line as `source_location` line of lambda

    There are several prism tests failing related to the `source_location`
    for lambda returning line of the operator (`->`)
    while original parser execution results in `source_location` line
    pointing to the block opening location (`{` or `do`)

    This commit changes `PM_LAMBDA_NODE` compilation case
    to use block opening location instead of the whole node (operator)
    opening location to get the line number to build block iseq

commit e4e5a1b4ee3f04a69c62c1cc067f65245b469321
  Author:     Jenny Shen <jenny.shen@shopify.com>
  AuthorDate: 2024-02-02 05:07:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 05:17:37 +0900

    [ruby/prism] Add parentheses around macro arguments

    https://github.com/ruby/prism/commit/f81fe9c716

    Co-authored-by:  Adrianna Chang <adrianna.chang@shopify.com>
    Co-authored-by:  Peter Zhu <peter@peterzhu.ca>

commit 29b7c31b089617316793c1ea7a1c1f2a83a41d60
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 04:35:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 04:45:37 +0900

    [ruby/prism] Reject operator writes on operator methods

    https://github.com/ruby/prism/commit/78bd142e71

commit d3ba14a31d45b7132e193d51742f59e121f211a0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 03:43:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-02 04:13:22 +0900

    [PRISM] Do not shell out in prism tests

commit e9f132446425089e8e732f68f49e10b3748c8684
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 02:21:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-02 02:52:16 +0900

    Sync to latest prism

commit ef427123ad51269fd5b45eeba327bd626e420974
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-02 02:45:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 02:46:02 +0900

    [ruby/irb] Add rubocop with a few basic styling rules
    (https://github.com/ruby/irb/pull/849)

    * Use rubocop to enforce a few styling rules

    * Add a CI job for linting

    https://github.com/ruby/irb/commit/4f60cd88bb

commit 494778c66340be109f4d3bc4e51e57da967e7027
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 01:43:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 01:48:55 +0900

    [ruby/prism] Remove locals_body_index

    We're not using this anymore, and it doesn't make a lot of sense
    outside the context of a compiler anyway, and in anyway it's wrong
    when you have local variables written in default values.

    https://github.com/ruby/prism/commit/5edbd9c25b

commit 67c5690a6d29e861fcb8522dc4213f9d26d3aab6
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-02-01 16:09:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 01:48:09 +0900

    [ruby/prism] Check literals for receiver

    https://github.com/ruby/prism/commit/56441b08e7

commit f36c61d27fcdc47d4aa34e8a3b52590aac08bb69
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-02 01:19:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 01:19:07 +0900

    [ruby/irb] Reset history counter even when @loaded_history_lines is
    not defined
    (https://github.com/ruby/irb/pull/853)

    The issue (https://github.com/ruby/debug/issues/1064) is caused by a
    combination of factors:

    1. When user starts an IRB session without a history file, the
       `@loaded_history_lines` ivar is not defined.
    2. If the user then starts the `irb:rdbg` session, the history counter
       is not set, because the `@loaded_history_lines` is not defined.
    3. Because `irb:rdbg` saves the history before passing Ruby expression
       to the debugger, it saves the history with duplicated lines. The number
       grows in exponential order.
    4. When the user exits the `irb:rdbg` session, the history file could be
       bloated with duplicated lines.

    This commit fixes the issue by resetting the history counter even when
    `@loaded_history_lines` is not defined.

    https://github.com/ruby/irb/commit/4afc98c258

commit 6ad585bd68af55cbf111ea9b2b44244c8a75e1cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-02 00:55:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-02 01:13:46 +0900

    [ruby/prism] Only warn for unary + on spcarg

    https://github.com/ruby/prism/commit/db0e5ce1ce

commit 1f226b41f04a88062952dcd11c6a97381fa7e510
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-02-01 06:22:27 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-02-02 00:33:54 +0900

    [PRISM] Fix multiple return with splat and splat+kwsplat

    Previously, `return *array, 1` didn't behave like `return [*array, 1]`
    properly. Also, it crashed when splat and kwsplat is combined like in
    `array = [*things, **hash]`.

    Fix this by grouping `PM_ARGUMENTS_NODE` with `PM_ARRAY_NODE` handling and
    combining splat and kwsplat handling.

commit 8531ac3115877023a907a4365ca76a7bf14fec20
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-02-01 21:17:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-01 21:17:37 +0900

    Suppress unused-local-typedef warnings

commit 1236a74023059b5cc0513bd1c25d1e5c80d70c90
  Author:     Nuno Silva <nunosilva800@gmail.com>
  AuthorDate: 2024-02-01 21:12:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-01 21:12:06 +0900

    [ruby/irb] Skip re-setup when creating a child session
    (https://github.com/ruby/irb/pull/850)

    https://github.com/ruby/irb/commit/06b2d00dd3

commit 8ba8e979c8b8a71dcc308c392bcead38af5306c7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-31 20:30:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-02-01 16:42:09 +0900

    Parenthesize casted argument

commit a7b47f96f3f8ac3734c11c0338e683940995df96
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 11:42:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 12:18:55 +0900

    [PRISM] Add splatkw to super calls when necessary

commit d96b4586e44ab52317622a610aa455feb2006990
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 11:25:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 12:18:55 +0900

    [PRISM] Fix up index write nodes to match

commit d36c31ed9b06dd618de35319a0c6fd8fe4f227af
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 07:12:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 12:18:55 +0900

    [PRISM] Fix keywords in index write nodes

commit 8acd1f708fa42dc0376b9654c9d0da9663ecdfe1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 06:59:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 12:18:55 +0900

    [PRISM] Fix combination of safe navigation and ||= and &&= operators

commit 4d01c590428c7de5d760a4f641f776d58b6ddcf3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 05:53:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 12:18:55 +0900

    [PRISM] Fix combination of attribute write and safe navigation

commit 2554c5d3b8738a248cedb2fea96dfab9fbe19417
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-02-01 11:27:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-01 11:27:44 +0900

    Don't wait in `io_binwrite_string` if not necessary. (#9792)

commit da33c5ac9fe12fd356b561ba57607aa04da8493c
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-02-01 08:02:44 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-01 09:09:54 +0900

    Revert "Set AI_ADDRCONFIG when making getaddrinfo(3) calls for outgoing conns"

    This reverts commit 673ed41c81cf5a6951bcb2c3dec82d7bd6ea7440.

commit 67404d657a802d3d85cd71e8565add4320f667d4
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-02-01 08:01:18 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-02-01 09:09:54 +0900

    Revert "always omit test_ai_addrconfig."

    This reverts commit abf192eb16ea845ac11743a32bd2f3e2d234488b.

commit 6a689e33239dbfb3a5661d50e7a84fe5dc917ceb
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-02-01 08:44:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-01 08:44:15 +0900

    [ruby/irb] Omit 2 encoding error related tests for TruffleRuby
    (https://github.com/ruby/irb/pull/854)

    They're failing due to an issue in Prism: https://github.com/ruby/prism/issues/2129

    So we need to skip them until:
    - The issue is fixed in Prism
    - TruffleRuby is updated to a version of Prism that includes the fix

    https://github.com/ruby/irb/commit/bfafaa5fbc

commit 9fdfdf4fca22e892e92ad7060abac48a00516d81
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-02-01 06:19:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-01 06:29:16 +0900

    [ruby/prism] Always return the character width for char_is_identifier_start() and char_is_identifier_utf8()

    * This is also faster than calling pm_encoding_utf_8_alpha_char/pm_encoding_utf_8_alnum_char
      as those compute the character width and do extra checks.

    https://github.com/ruby/prism/commit/4cb276ac4c

commit b5a2c60d0a96664f99a1f39299779305ebb9dcbf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 05:19:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 05:49:32 +0900

    [PRISM] Support SCRIPT_LINES__

commit c4697991264e473ac8295eea04de1d1ac04bec2f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-02-01 04:07:45 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-02-01 05:44:38 +0900

    Do not modify provided argument splat when using ruby2_keywords with anonymous splat

    Previously, this would push the provided keywords onto the argument
    splat.  Add ruby2_keywords to the list of other checks for whether
    it is safe for treating a given splat as mutable when the called
    method accepts an anonymous splat.

commit 71f16d498d30b3528774f519a0939eae59ef7602
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 04:25:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 04:54:39 +0900

    Raise errors for dumping prism parse tree

commit b4880af0e2ec1738dbde5679e1ca48dd76b2ad7b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 03:53:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 04:20:51 +0900

    [PRISM] Fix test_bug_reporter with prism

commit cb98b018c05832d183812b03fb133cd11edee04b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-02-01 03:42:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 04:11:14 +0900

    [PRISM] Fix else with rescue

    Fixes ruby/prism#2307.

commit 95c9711d6e04af149c5b2238297f51932d55c685
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-31 04:32:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-01 04:07:39 +0900

    [rubygems/rubygems] Fix musl platform not being added to the lockfile

    https://github.com/rubygems/rubygems/commit/235f7b4266

commit c28ee91263818d19d49fe0ce280b7ec557010daa
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-01-31 23:42:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 03:41:49 +0900

    [PRISM] Fix incorrect use of VM_CALL_KW_SPLAT_MUT in zsuper with keyword splat

    This copies the changes from 771a2f039b9a059a73e8f111d1d46590fa697f63.
    Fixes ruby/prism#2310.

commit 610636fd6bb435769d0359b251a5cd00733755f6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-02-01 02:17:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-02-01 03:41:36 +0900

    [PRISM] Mirror iseq APIs

    Before this commit, we were mixing a lot of concerns with the prism
    compile between RubyVM::InstructionSequence and the general entry
    points to the prism parser/compiler.

    This commit makes all of the various prism-related APIs mirror
    their corresponding APIs in the existing parser/compiler. This means
    we now have the correct frame naming, and it's much easier to follow
    where the logic actually flows. Furthermore this consolidates a lot
    of the prism initialization, making it easier to see where we could
    potentially be raising errors.

commit 21031f0a8427d857f1d0c9c1653eea3a9db87e88
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-01 03:13:25 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-01 03:13:27 +0900

    YJIT: Float arithmetics are actually leaf

    with these guards in YJIT.

    The previous commit was to fix "conflict" between two PRs, but I
    actually wanted to use it here, which is why I filed the other one.

commit 2220c4cf420eefed4eb674cd720549fde48470a1
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-01 03:10:03 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-02-01 03:10:03 +0900

    YJIT: s/jit_prepare_routine_call/jit_prepare_non_leaf_call/

commit 09427f51a23724fa8ee04ecb94d306add917d0b0
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-01 02:58:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-01 02:58:47 +0900

    YJIT: Add codegen for Float arithmetics (#9774)

    * YJIT: Add codegen for Float arithmetics

    * Add Flonum and Fixnum tests

commit cc9bbbdd80f04fd924be3d6e6302e1a6c57283e2
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-01 02:54:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-01 02:54:10 +0900

    YJIT: Add jit_prepare_for_gc function (#9775)

    * YJIT: Add jit_prepare_for_gc function

    * s/jit_prepare_routine_call/jit_prepare_non_leaf_call/

    * s/jit_prepare_for_gc/jit_prepare_call_with_gc/

    * Use jit_prepare_call_with_gc for leaf builtin

commit 06732d4956a178615ad2471e8dfd3b6c8e4ca842
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-31 21:31:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-02-01 01:54:15 +0900

    [rubygems/rubygems] Remove truffleruby specific stuff no longer needed

    We're already testing with truffleruby 23.

    https://github.com/rubygems/rubygems/commit/cd0494d628

commit 51753ec7fa82fb5c3f7ef3c5766b0e84c47d3d21
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-02-01 00:47:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-02-01 00:47:35 +0900

    Annotate Symbol#to_s as leaf (#9769)

commit a322b2faa40959ffdbe6da077c778131cb1c894f
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-31 05:35:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 22:22:38 +0900

    [rubygems/rubygems] Make slow perf specs more stable

    This seems worse to detect performance regressions, but at least should
    not have many false positives.

    https://github.com/rubygems/rubygems/commit/0b28e55415

commit c70052e5d91ee51f80aebbb777f01c5b0920c073
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-30 16:14:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 22:21:13 +0900

    [rubygems/rubygems] WEBrick:Utils::TimeoutHandler is always provided after webrick gem

    https://github.com/rubygems/rubygems/commit/b0502a0c50

commit 5808c869652b95679acc7afae0a2a1aa17e62894
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-01-31 21:07:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 21:43:50 +0900

    [ruby/prism] Fix description of line parsing option and state it's 1-indexed

    https://github.com/ruby/prism/commit/b2d2b91222

commit 171d4bec256e0ac9774b1a51d49e0e2930b0c47b
  Author:     David Rodriguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-31 03:17:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 21:14:03 +0900

    [rubygems/rubygems] Fix some flaky test failures on Windows

    Some specs assert empty output, but sometimes they print warnings about
    redefinition warnings. Ignore those until they are fixed upstream.

    https://github.com/rubygems/rubygems/commit/0cd3b6dbae

commit 816ce53a8ad86d886e57307cb181ebe3570366c7
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-01-31 04:38:02 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-01-31 17:56:39 +0900

    Revert ".travis.yml: Drop s390x temporarily."

    This reverts commit 7ded31d36dc78c1495b03a45ec1a3235fdd81f1e.

    I was told from Travis CI support that their infra team has deployed a fix for
    the issue we encountered with the s390x build environment.

commit a7ebe467a748e272a1f7155670f114681d4ed675
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-01-31 14:14:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-31 16:14:50 +0900

    Add newline between end and def

commit 45b53dd897a32b7d26982a0793aac429b3bf86fa
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2024-01-30 23:17:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-31 16:14:50 +0900

    Add the ability to generate Launchable test reports

commit 3de2ab7fdb5201133718b45dfdeb82f4794f99bc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-31 11:01:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 14:56:39 +0900

    [ruby/yaml] Make PStore support as optional

    https://github.com/ruby/yaml/commit/da421ce46f

commit 7c8f9603b1dcacb7f04b559dadac905e167a5cc1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-31 10:50:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-31 14:56:00 +0900

    [flori/json] Make OpenStruct support as optional

    https://github.com/flori/json/commit/202ffe2335

commit f3df218f48571a7ff1479a33691fdb83db1da7ea
  Author:     S.H <gamelinks007@gmail.com>
  AuthorDate: 2024-01-31 13:31:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-31 13:31:38 +0900

    Introduced `rb_node_const_decl_val` function

    Introduce `rb_node_const_decl_val` function to allow `rb_ary_join` and
    `rb_ary_reverse` functions to be removed from Universal Parser.

commit 8041b7d9677d158850e14fc763038df30f14c16d
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-31 05:51:30 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-31 07:22:39 +0900

    [PRISM] pm_compile_logical: Fix OrNode in IfNode predicate

    Fixes: https://github.com/ruby/prism/issues/2294

commit 1142ed2f50359d8cab7903e5cc1f0ec9a2ed3e6e
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-31 04:45:16 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-31 07:22:39 +0900

    [PRISM] Remove unneccessary uses of cond_seq

    As this is compiled into only on the recursive call and then added, we
    can just use `ret` directly

commit dddef93bbd0327e24dff8c87caeb66b6f64800e6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-31 00:12:06 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-31 06:43:44 +0900

    Fix memory leak in File.expand_path

    File.expand_path leaks the dir if the encodings are not compatible.

    For example:

        Encoding.default_external = Encoding::UTF_16BE

        10.times do
          100_000.times do
            File.expand_path("./a")
          rescue
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        12288
        15488
        18656
        21872
        25056
        28240
        31392
        34688
        37856
        41056

    After:

        9680
        9728
        9728
        9792
        9792
        9792
        9792
        9792
        9792

commit c1f8d974a848ef379d2beb59064092f2fb59c7ed
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-31 04:59:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-31 04:59:53 +0900

    YJIT: Specialize splatkw on T_HASH (#9764)

    * YJIT: Specialize splatkw on T_HASH

    * Fix a typo

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

    * Fix a few more comments

    ---------

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>

commit fe5590e46465ce1bcdec73a9029f71be611880d9
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-31 04:57:13 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-31 04:57:13 +0900

    YJIT: add specialized codegen for fixnum XOR (#9763)

commit 731367d0abfb50f0f7f27cebc23e507c4ffd3337
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-31 03:45:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 03:45:19 +0900

    [ruby/prism] Fix up CI

    https://github.com/ruby/prism/commit/224ea85565

commit 8e708e4a077d85e50cd797b2478aba7bfd5e4ac3
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-26 08:08:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-31 03:19:06 +0900

    Update forwarding locals for prism

commit 6b350bc6e41551161f4be37858c54fcca1a09c46
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-31 02:54:04 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-31 02:54:04 +0900

    [DOC] Note about the ticket number

commit 1891b4b6c3d40bd7dca085915f5d28ba97ebd156
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-31 02:49:25 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-31 02:49:27 +0900

    [DOC] Add a NEWS entry about Array#each

    in response to [Bug #20227]

commit 20732cadfdd7f8e0169620a5ea04f2820e2f5c04
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-31 00:30:06 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-31 01:47:48 +0900

    Make compile_array first_chunk argument bool instead of int

commit 332e0db675cd35b60ea82acbc0710d9062c0c92a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-30 09:31:15 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-31 01:47:48 +0900

    Avoid unnecessary array allocation for ARGSCAT with LIST body

    Previously, this would use newarray followed by concattoarray.
    This now uses pushtoarray instead, avoiding the unnecessary
    array allocation.

    This is implemented by making compile_array take a first_chunk
    argument, passing in 1 in the normal array case, and 0 in the
    ARGSCAT with LIST body case.

commit ba06a8259a3f21c9cbee0f4f55b82c016a45a3b9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 07:27:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-31 01:10:08 +0900

    [ruby/prism] Better error messages for unexpected tokens in prefix

    https://github.com/ruby/prism/commit/a35b8e45ee

commit c85e28d12a4855e64271f0be4510b63053b628b7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-30 23:37:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-31 00:29:11 +0900

    [PRISM] Remove unused variable

commit 846f87ee0aad77424ce513f0b45a19d50050770f
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2024-01-30 23:25:35 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2024-01-31 00:22:05 +0900

    .travis.yml: Drop s390x temporarily.

    The s390x pipelines are timeout (50 minutes) on both master and ruby_3_3
    branches. Drop it temporarily.

    * https://app.travis-ci.com/github/ruby/ruby/builds/268617296
    * https://app.travis-ci.com/github/ruby/ruby/builds/268615249

commit 928f3884153ab6a645122d4f6f3a0c402fe20323
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-30 22:14:41 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-30 22:49:22 +0900

    [DOC] Fix Ripper DSL input example

    '!' suffix is needed for event dispatch.

commit fd44b42fb308ddf71d709a508901d68583e61f51
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-30 21:55:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 21:55:47 +0900

    [ruby/irb] Fix undef and alias indent
    (https://github.com/ruby/irb/pull/838)

    https://github.com/ruby/irb/commit/a641746b18

commit f73ae058197ac134b89b0765bae147a19122f3dd
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-30 20:34:05 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-01-30 21:18:48 +0900

    Prefer `sa_handler` to `sa_sigaction` in Wasm

    Previously the code assigns `handler` function pointer, which accepts
    one argument, to `sigact.sa_sigaction`, which accepts three argument.
    This mismatch is not allowed in Wasm.

    I don't see the reason to use `sa_sigaction` here, so this change
    assigns to `sa_handler`, which accepts one argument, in Wasm.

commit 86547fd69d9793c82e34c3aad42c2418f4b16018
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-30 18:00:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-30 19:19:23 +0900

    [ruby/io-console] Move the condition to omit to command line option

    https://github.com/ruby/io-console/commit/32583460e1

commit c2cb5b44639dca036e36ccdd9ac351ed9874e7e4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-30 17:57:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-30 19:19:23 +0900

    [ruby/io-console] Move the condition to omit outside the method

    https://github.com/ruby/io-console/commit/8b9b5b611a

commit 2f54422d03d12ef34356e879669303a58cca1b33
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-30 12:24:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 18:26:54 +0900

    [rubygems/rubygems] Update namespace Gem::Resolver::Molinillo to Gem::Molinillo

    https://github.com/rubygems/rubygems/commit/6c4caf3ab0

commit b31995d8829738f61f26b9166b2d7e500b3f4abf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-30 12:20:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 18:26:54 +0900

    [rubygems/rubygems] Rename molinillo wrapper file to vendored_molinillo.rb

    https://github.com/rubygems/rubygems/commit/d7c15f6fd7

commit 361b3efe164bd753258c7a86aff5141f1fd3ecf6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-30 14:48:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-30 14:48:59 +0900

    Use `UNDEF_P`

commit 03246171cc1a506b5e03c9141337ef4f5a1f0856
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 16:05:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:07:51 +0900

    Move molinillo under the vendor directory

commit dfa8e696f263c315b4d4997a22d28dcd3bf3bdc0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:58:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:07:18 +0900

    Move tsort under the vendor directory

commit 881e76cef3a2f09b3a35fdd3469969ca87ca19e6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:54:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:06:38 +0900

    Move timeout under the vendor directory

commit 04dbdc81d1a3625bf653c7c4110412cc6246b5d6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:49:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:05:59 +0900

    Move net-http under the vendor directory

commit 6933aee9eb743effc4c5aaa1fdfa7c7edc04814a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:45:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:05:07 +0900

    Move net-protocol under the vendor directory

commit 898090ada1bc68987319051d86a3f60c0935308b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:29:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:03:52 +0900

    Move optparse under the vendor directory

commit 5a0302d222d74328a16339aa997392fe0cf38fea
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 15:28:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 14:01:59 +0900

    Move resolv under the vendor directory

commit d187e06dc7e746f80176fd6ca4f66a81239397cc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 16:13:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-30 13:02:32 +0900

    [rubygems/rubygems] Load wrapper file for vendored timeout

    https://github.com/rubygems/rubygems/commit/deb1b6d293

commit 83966a57fe6a271e64fb2629e7bbb8f0c34948a2
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 06:39:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 12:22:30 +0900

    [PRISM] Method location for calls

commit db5d9429a0d30213915fa36f2c6641065d01854a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-30 06:42:03 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-30 12:19:25 +0900

    YJIT: No need to RESTORE_REG now that we reject tailcalls

    Thanks to Kokubun for noticing.

    Follow-up: b0711b1cf152afad0a480ee2f9bedd142a0d24ac

commit bbb7ab906ec64b963bd4b5d37e47b14796d64371
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-30 06:35:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-30 07:15:33 +0900

    [PRISM] Fix crash when multiple underscores

    Fixes ruby/prism#2295.

commit 4cf3c026de54499e79f61ae284b834565a6706e4
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-30 06:37:37 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-30 07:11:08 +0900

    Fix RegExp warning causing flaky Ripper failure

    Sometimes this file get picked up and break Ripper tests:

        TestRipper::Generic#test_parse_files:test/ruby
        assert_separately failed with error message
        pid 63392 exit 0
        | test_regexp.rb:2025: warning: character class has duplicated range

    https://github.com/ruby/ruby/actions/runs/7699956651/job/20982702553#step:12:103

commit 2d6f7d0864d0a19b2ab38ebb2022487d34568c24
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 06:22:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 07:05:23 +0900

    Fix test/ruby/test_rubyoptions.rb + --parser=prism

commit 3fb741069d1d0f28367940bf8536466bb78ff837
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 06:03:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 06:38:11 +0900

    [PRISM] Fix rescue frame label

commit 8e1fe15b4a73e511731accc5e244cead990e3cba
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-30 04:58:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-30 06:34:25 +0900

    [PRISM] Implement opt_str_uminus

commit bc10b958d2cc45b61e23c41d0aa892cbb82efafd
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-30 06:17:12 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-30 06:17:12 +0900

    YJIT: print warning when disasm options used without a dev build (#9744)

    * YJIT: print warning when disasm options used without a dev build

    I was confused for a few minutes the other way then
    --yjit-dump-disasm printed nothing, so I figured this would be
    useful for end-users (and future me).

    * Fix lone extraneous space

commit 32bbf4750097f7b3358e06e9d8efd81a2089d139
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-30 01:58:26 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-30 04:53:34 +0900

    [PRISM] Use opt_str_freeze instruction

    Fixes ruby/prism#2290.

commit d7501c403130b575219a672073a06792e81dcdb4
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-30 00:29:49 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-30 04:13:53 +0900

    [PRISM] Fix InterpolatedStringNode

    If the first element of an interpolated string node is an embedded
    statement, CRuby "pre-initializes" the interpolation with a string of
    known encoding to concat into.

    This patch replicates thate behaviour in Prism

commit 3d3d9e8397a3a84075692b6411647b031a19bf5d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 06:13:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 03:56:54 +0900

    [PRISM] Support US-ASCII symbols

commit d980c89273e4f2910042fd5e010f182766f056ac
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 05:56:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 03:56:54 +0900

    [PRISM] Support ASCII-8BIT symbols

commit f634c7a268a175a917bdb8542b4495219196a0e2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 05:18:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 03:56:54 +0900

    [PRISM] Support UTF-8 symbols

    Fixes ruby/prism#2242.

commit d39d9e066fb55694abf007da86f658c6c4855a89
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 03:37:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 03:42:47 +0900

    [ruby/prism] Fix binding power for modifier rescue

    https://github.com/ruby/prism/commit/f614863d79

commit 1005b7d29ff78ab3d4dc60fa062c84bd03c44d6c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-30 02:23:29 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-30 02:23:39 +0900

    Revert "Provisionally ignore panics that happen in these days often"

    This reverts commit e0f4c4e410a0e4c6cda67e9000696c8f1f01d8aa.

    We expect https://github.com/ruby/ruby/pull/9729 to address the failure.

commit d42330d702b2bb3b8aad105c4e55b0585ce23928
  Author:     Willian Tenfen W <tw.willian@gmail.com>
  AuthorDate: 2024-01-01 02:29:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 02:22:01 +0900

    [rubygems/rubygems] Improve gem login scope selection

    https://github.com/rubygems/rubygems/commit/26c7abe5f6

commit b0711b1cf152afad0a480ee2f9bedd142a0d24ac
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-30 02:21:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-30 02:21:17 +0900

    YJIT: Fix tailcall and JIT entry eating up FINISH frames (#9729)

    Suppose YJIT runs a rb_vm_opt_send_without_block()
    fallback and the control frame stack looks like:

    ```
    will_tailcall_bar [FINISH]
    caller_that_used_fallback
    ```

    will_tailcall_bar() runs in the interpreter and sets up a tailcall.
    Right before JIT_EXEC() in the `send` instruction, the stack will look like:

    ```
    bar [FINISH]
    caller_that_used_fallback
    ```

    Previously, JIT_EXEC() ran bar() in JIT code, which caused the `FINISH`
    flag to return to the interpreter instead of to the JIT code running
    caller_that_used_fallback(), causing code to run twice and probably
    crash. Recent flaky failures on CI about "each stub expects a particular
    iseq" are probably due to leaving methods twice in
    `test_optimizations.rb`.

    Only run JIT code from the interpreter if a new frame is pushed.

commit 9a5a11f3d0e5d9b595d51aafe8fdadfe384568ad
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-29 23:47:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-30 01:42:40 +0900

    [PRISM] Use the splatkw instruction

    Fixes ruby/prism#2272.

commit e050097bebe64e86e97e915fa74a3fc010c588e8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-30 01:02:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-30 01:09:47 +0900

    [ruby/prism] Raise diagnostics for parser

    https://github.com/ruby/prism/commit/102b4a16f5

commit adf29c9a986cb3510b9ddd55e0738b18076f41ad
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-30 00:36:34 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-30 00:36:34 +0900

    YJIT: add asm comment when we clear local types (#9713)

    Small PR to add a comment when we clear local variable types,
    so we can be aware that it's happening when looking at the disasm.

commit fde3d065e65d804ce5d8fc982aafd4c2d94d4388
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 02:19:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-30 00:05:32 +0900

    Add removable and refcnt output to labels

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit c422805bbb95b1a45de1873d51cc1ec4fbbd27a0
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-29 23:11:34 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-30 00:04:16 +0900

    [PRISM] Fix encoding for interpolated strings.

    This wasn't taking into account strings with flags set on the containing
    node that could affect the encoding. It does now

commit 3e6e3ca2627b1aa71b17de902cc1b8188246a828
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2024-01-29 23:51:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-29 23:51:26 +0900

    Correctly handle consecutive lookarounds (#9738)

    Fix [Bug #20207]
    Fix [Bug #20212]

    Handling consecutive lookarounds in init_cache_opcodes is buggy, so it
    causes invalid memory access reported in [Bug #20207] and [Bug #20212].
    This fixes it by using recursive functions to detected lookarounds
    nesting correctly.

commit 0d4de0f4b1b9ac90be437bf1bac6851dd1d96fd0
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2024-01-29 18:49:15 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2024-01-29 23:45:36 +0900

    wasm: align fiber stack pointer to 16 bytes

    In WebAssembly C ABI, the linear stack pointer must be always aligned
    to 16 bytes like other archs.
    The misaligned stack pointer causes some weird memory corruption since
    compiler assumes the aligned stack pointer.

commit 8bff7e996cf65159b4ed7b55c284de6651b7e637
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-29 17:16:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-29 17:16:49 +0900

    [DOC] Move "Execution Shell on Windows" under "Execution Shell"

commit 933ede5d768a0e411336ea27840727442c42d3df
  Author:     Masato Ohba <over.rye@gmail.com>
  AuthorDate: 2024-01-27 22:35:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 14:39:13 +0900

    [rubygems/rubygems] Remove `travis_removal_info`

    `travis_removal_info` is added by https://github.com/rubygems/rubygems/pull/6150. According to the comment, it's supposed to be removed at bundler v2.5.0 but it hasn't.

    https://github.com/rubygems/rubygems/commit/e18797d43f

commit e99951edfad6c636f561f1e6f3eda2e0609e8fbb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-12-16 07:59:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:20:44 +0900

    [rubygems/rubygems] Simplify how extensions are built

    https://github.com/rubygems/rubygems/commit/0b8faf1e39

commit 5ea4df6a8fe67762b4f204e04c0134d17ce471a2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-12-17 01:33:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:20:44 +0900

    [rubygems/rubygems] Remove annoying debug info

    Sometimes you want this, sometimes you don't. And when you don't, this
    hides other debugging puts you may have added.

    https://github.com/rubygems/rubygems/commit/df37582c81

commit 1991c6d7a03b9b38bb3ff58949a08271f40cbc38
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-17 22:04:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:19:32 +0900

    [rubygems/rubygems] Remove now unnecessary elseif

    https://github.com/rubygems/rubygems/commit/d05b9e659b

    Co-authored-by: Samuel Giddins <segiddins@segiddins.me>

commit 355480dec6692b35b1404ef398da9360c02705b8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-15 23:03:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:19:31 +0900

    [rubygems/rubygems] Properly restore empty env vars

    https://github.com/rubygems/rubygems/commit/e0d68a8688

commit 2956d3a5115fdbfb5591dcb63e482c24c9c175b9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-29 12:18:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:18:26 +0900

    Removed duplicated license file

commit 5a884c2e009381d6fb7d2ebc9ffe48bd3e1472be
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 00:46:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:15:37 +0900

    [rubygems/rubygems] Add a spec to prove uri is no longer loaded

    https://github.com/rubygems/rubygems/commit/3a262f55c8

commit 5f9c1200734ff3291e4b3d93a4d48158ef8b5ae6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-26 00:44:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:15:26 +0900

    [rubygems/rubygems] Remove no longer needed uri install during specs

    https://github.com/rubygems/rubygems/commit/7f35dc19c5

commit f3123f8af2c79d3e40719865fc3700277fe1ae72
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-16 04:51:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:15:10 +0900

    [rubygems/rubygems] Use rubygems vendored uri from Bundler when available

    https://github.com/rubygems/rubygems/commit/5d6a8f2fb4

commit d64d0b54231208c7bec899a7fe8c3b98ec2e9a1b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-16 04:51:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:14:21 +0900

    Vendor uri gem in RubyGems

commit 6bbbfb4629a4fdb336d5ac4f625e97ce30c15a01
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-16 00:59:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-29 12:02:04 +0900

    [rubygems/rubygems] Require vendored_uri file in Bundler

    https://github.com/rubygems/rubygems/commit/62bc261042

commit 5ac9c8f01b166f2f172be6068e5dda9755b58c63
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-29 00:27:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:27:19 +0900

    [ruby/win32ole] [DOC] Remove spaces inside parentheses

    https://github.com/ruby/win32ole/commit/57e4a38465

commit 8074525b2b122be590a8a3d3c2c9fb5ea96a37ad
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 18:24:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:36 +0900

    [ruby/win32ole] Move toplevel constant for olegen under `WIN32OLE`

    https://github.com/ruby/win32ole/commit/78ff137c0f

commit 3ad54239b529b1b4b96d06117e8039c1d57f1e89
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 17:44:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:36 +0900

    [ruby/win32ole] [DOC] Move sample to toplevel

    https://github.com/ruby/win32ole/commit/70ea60c4d2

commit 703ad99bf8de24137a8d635c13d6c7c8bc6b1f56
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 17:40:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:35 +0900

    [ruby/win32ole] Use `end_with?` and fix indent

    https://github.com/ruby/win32ole/commit/7648ee7e56

commit bd6f98340318ac17213b4328e79217e606912206
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 11:45:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:35 +0900

    [ruby/win32ole] Use the scoped names in the tests

    https://github.com/ruby/win32ole/commit/2b91b6b838

commit 8af4ef30e57759d4f3994a56dbb38a6151f0bbd3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 17:07:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:35 +0900

    [ruby/win32ole] Move `WIN32OLE` prefixed error classes under `WIN32OLE`

    https://github.com/ruby/win32ole/commit/1c95816168

commit 1e2d088dd3d534958c4e010a6bcb815cce83c1b5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 17:02:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:34 +0900

    [ruby/win32ole] Use the scoped names in `inspect` and error messages

    https://github.com/ruby/win32ole/commit/2f51493bd1

commit baef72da3601b541cb04aca310fee63eec18964f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 16:49:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:34 +0900

    [ruby/win32ole] [DOC] Update class names using the scoped names

    https://github.com/ruby/win32ole/commit/2c5d193da7

commit 1bc48684cdaf72375a2b094ae963b7d6d125140f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 16:38:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:33 +0900

    [ruby/win32ole] Rename `WIN32OLE::Typelib` as `WIN32OLE::TypeLib`

    https://github.com/ruby/win32ole/commit/5feede2cc5

commit 853bcf65c767594b37d9c7639df5a2894c716d6a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 16:07:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-29 00:25:33 +0900

    [ruby/win32ole] Rename `WIN32OLE::VARIANT` as `WIN32OLE::VariantType`

    Prevent name clash with `WIN32OLE::Variant`, of generated document
    files on case-insensitive filesystems, such as Windows.

    https://github.com/ruby/win32ole/commit/049e5f0a6e

commit c1666158373398c6f58e637adfe31ddad8c8ce00
  Author:     Masato Nakamura <masato.nakamura145@gmail.com>
  AuthorDate: 2024-01-28 21:38:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 21:38:55 +0900

    [ruby/reline] Add metadata for rubygems.org
    (https://github.com/ruby/reline/pull/638)

    https://github.com/ruby/reline/commit/d3a324d22c

commit 23b8337cd10329020d74a2f0d8e43434645c4d5b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-28 17:59:13 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-28 19:15:31 +0900

    [Bug #20219] `gettable` returns NULL on error

commit 5f733a1ae7e5fd20d4cba61af5408b33204fe8fc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-28 11:09:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-28 18:44:09 +0900

    [Bug #20217] `rescue` block is void only if all children are void

commit fed877c791f1c16a2b1a2c9a167b7f433505794d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-28 01:02:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-28 18:44:09 +0900

    [Bug #20217] `return` with `ensure` is a void value expression

commit d3e6bcd37fd10a0356a0d07d079670bb7247299b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-26 12:15:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 15:49:28 +0900

    [ruby/digest] [DOC] Expand `Digest::SHA2` definitions for RDoc

    Since RDoc searches `var = rb_define_class_under(...)` statements
    literally, they cannot be built by macros.

    https://github.com/ruby/digest/commit/d39b684f91

commit 81702b4b873c0e2b4247095b3b9462bcf34166ff
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-26 12:13:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 15:49:28 +0900

    [ruby/digest] Prefer `rb_const_get` over `rb_path2class` for direct constants

    https://github.com/ruby/digest/commit/e5d30394b3

commit f475dc1cd219240b31a1958e6df00b8582a259f5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-26 10:56:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 15:49:26 +0900

    [ruby/digest] [DOC] Add .document

    https://github.com/ruby/digest/commit/6db96aa99a

commit e018036d89e33c5729958130f582f8fb324680d6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-28 11:08:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-28 11:12:22 +0900

    Rename `nd_head` in `RNode_RESBODY` as `nd_next`

commit 0f98d284f338d7480e1849399e38a9f8689e4957
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-28 00:58:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-28 11:11:13 +0900

    Remove unused `nd_resq` from `RNode_ENSURE`

commit e256d44f984cc80039b7dd0db44a7107214548f1
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-28 05:25:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 10:10:47 +0900

    [ruby/prism] Handle implicit rest in array pattern for parser gem

    https://github.com/ruby/prism/commit/d3722d6660

commit 8a027d111fb5adf87dddd890e846c4814539d866
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-27 07:01:55 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-28 07:47:07 +0900

    Remove expandarray/splatarray sequence peephole optimization

    newarray, duparray, concatarray, and splatarray always leave an
    array at the top of the stack.  expandarray does not, it takes
    an array from the top of the stack as input, and leaves individual
    elements on the stack.  I assume no Ruby code generates the
    expandarray/splatarray sequence, or it could break. The only
    use of expandarray outside the peephole optimizer is in the
    masgn code, and it does not appear to generate splatarray
    directly after expandarray.

    The splatarray/splatarray peephole optimization is probably
    also wrong in the following case:

    ```
    putobject  [1,2]
    splatarray false
    splatarray true
    ```

    This instruction sequence should result in a duplicate of
    [1,2] at the top of the stack, but the peephole optimizer would
    remove the `splatarray true`, resulting in change that made
    [1,2] on top of the stack.  I'm not sure Ruby code can generate
    `splatarray false` followed by `splatarray true` (I could get it
    to generate chains of `splatarray true`), so maybe this has no
    effect.

    newarray, duparray, and concatarray all result in newly allocated
    arrays at the top of the stack, so they shouldn't have an issue
    with removing either `splatarray true` or `splatarray false`.

commit d917bb8e60c283981626876c496cb2670f74ffb7
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-27 04:53:49 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-28 07:04:55 +0900

    Eliminate 1-2 array allocations for each splat used in a masgn method

    Given code such as:

    ```ruby
      h[*a, :a], h[*b] = v
    ```

    Ruby would previously allocate 5 arrays for the mass assignment:

    * splatarray true for a
    * newarray for v[0]
    * concatarray for [*a, a] and v[0]
    * newarray for v[1]
    * concatarray for b and v[1]

    This optimizes it to only allocate 2 arrays:

    * splatarray true for a
    * splatarray true for b

    Instead of the newarray/concatarray combination, pushtoarray is used.

    Note above that there was no splatarray true for b originally. The
    normal compilation uses splatarray false for b.  Instead of trying
    to find and modify the splatarray false to splatarray true, this
    adds splatarray true for b, which requires a couple of swap
    instructions, before the pushtoarray.  This could be further
    optimized to remove the need for those three instructions, but I'm
    not sure if the complexity is worth it.

    Additionally, this sets VM_CALL_ARGS_SPLAT_MUT on the call to
    []= in the h[*b] case, so that if []= has a splat parameter, the
    new array can be used directly, without additional duplication.

commit a591e11a7a6f6749044b6bef9c35633ad1930db5
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-27 05:29:37 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-28 06:02:42 +0900

    Eliminate 1-2 array allocations for each splat used in a op_asgn method

    Given code such as:

    ```ruby
      h[*a, 1] += 1
      h[*b] += 2
    ```

    Ruby would previously allocate 5 arrays:

    * splatarray true for a
    * newarray for 1
    * concatarray for [*a, 1] and [1]
    * newarray for 2
    * concatarray for b and [2]

    This optimizes it to only allocate 2 arrays:

    * splatarray true for a
    * splatarray true for b

    Instead of the newarray/concatarray combination, pushtoarray is used.

    Note above that there was no splatarray true for b originally. The
    normal compilation uses splatarray false for b.  Instead of trying
    to find and modify the splatarray false to splatarray true, this
    adds splatarray true for b, which requires a couple of swap
    instructions, before the pushtoarray.  This could be further
    optimized to remove the need for those three instructions, but I'm
    not sure if the complexity is worth it.

    Additionally, this sets VM_CALL_ARGS_SPLAT_MUT on the call to
    []= in the h[*b] case, so that if []= has a splat parameter, the
    new array can be used directly, without additional duplication.

commit f12ebe11888d9fdd121c98ca8a5155dc044f4cf4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-11 01:04:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 04:59:42 +0900

    [ruby/prism] Add parser translation

    https://github.com/ruby/prism/commit/8cdec8070c

commit 223910b329751fbee36efe66ccd544e66dbe90f8
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-27 06:35:37 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-28 04:42:01 +0900

    Reduce array allocations for literal arrays with splats and other args

    Previously, a literal array with a splat and any other args resulted in
    more than one array allocation:

    ```ruby
    [1, *a]
    [*a, 1]
    [*a, *a]
    [*a, 1, 2]

    [*a, a]
    [*a, 1, *a]
    [*a, 1, a]
    [*a, a, a]

    [*a, a, *a]
    [*a, 1, *a, 1]
    [*a, 1, *a, *a]

    [*a, a, *a, a]
    ```

    This is because previously Ruby would use newarray and concatarray
    to create the array, which both each allocate an array internally.

    This changes the compilation to use concattoarray and pushtoarray,
    which do not allocate arrays.  It also updates the peephole optimizer
    to optimize the duparray/concattoarray sequence to
    putobject/concattoarray, mirroring the existing duparray/concatarray
    optimization.

    These changes reduce the array allocations for the above examples to
    a single array allocation, except for:

    ```
    [*a, 1, a]
    [*a, a, a]
    ```

    The reason for this is because optimizing this case to only allocate
    1 array requires changes to compile_array, which would currently
    conflict with an unmerged pull request (#9721).  After that pull
    request is merged, it should be possible to refactor things to only
    allocate a 1 array for all literal arrays (or 2 for arrays with
    keyword splats).

commit e337c9478a1c5d60b6cfa4ddbee71523a7f8bd84
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 06:51:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 03:46:16 +0900

    [ruby/prism] Error follow-up

    Split up the diagnostic levels so that error and warning levels
    aren't mixed. Also fix up deconstruct_keys implementation.

    https://github.com/ruby/prism/commit/bd3eeb308d

    Co-authored-by: Benoit Daloze <eregontp@gmail.com>

commit c2e2d2398b86e7bcc89ab534e3a3af54cf8374b5
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-01-27 19:05:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 03:41:07 +0900

    [ruby/prism] Call #inspect on diagnostic levels

    * So it's clear it is a Symbol.
      Before:
      ... @level=warning_verbose_true>
      After:
      ... @level=:warning_verbose_true>

    https://github.com/ruby/prism/commit/84503643b9

commit 2217e08340cbeba427fc58c7f955fc2382ab0372
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-28 03:16:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-28 03:16:52 +0900

    Optimize compilation of large literal arrays

    To avoid stack overflow, Ruby splits compilation of large arrays
    into smaller arrays, and concatenates the small arrays together.
    It previously used newarray/concatarray for this, which is
    inefficient.  This switches the compilation to use pushtoarray,
    which is much faster. This makes almost all literal arrays only
    allocate a single array.

    For cases where there is a large amount of static values in the
    array, Ruby will statically compile subarrays, and previously
    added them using concatarray.  This switches to concattoarray,
    avoiding an array allocation for the append.

    Keyword splats are also supported in arrays, and ignored if the
    keyword splat is empty.  Previously, this used newarraykwsplat and
    concatarray.  This still uses newarraykwsplat, but switches to
    concattoarray to save an allocation.  So large arrays with keyword
    splats can allocate 2 arrays instead of 1.

    Previously, for the following array sizes (assuming local variable
    access for each element), Ruby allocated the following number of
    arrays:

      1000 elements: 7 arrays
     10000 elements: 79 arrays
    100000 elements: 781 arrays

    With these changes, only a single array is allocated (or 2 for a
    large array with a keyword splat.

    Results using the included benchmark:

    ```
                           array_1000
                miniruby:     34770.0 i/s
       ./miniruby-before:     10511.7 i/s - 3.31x  slower

                          array_10000
                miniruby:      4938.8 i/s
       ./miniruby-before:       483.8 i/s - 10.21x  slower

                         array_100000
                miniruby:       727.2 i/s
       ./miniruby-before:         4.1 i/s - 176.98x  slower
    ```

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 0bac390e079b269ca55e36dd574da1a879d5595f
  Author:     Masato Ohba <over.rye@gmail.com>
  AuthorDate: 2024-01-27 22:19:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-28 00:50:24 +0900

    [rubygems/rubygems] Bump Ruby version to be used in `bundle gem` template

    since 2.6 and 2.7 are EOL and bundler dropped their support by https://github.com/rubygems/rubygems/pull/7116.

    https://github.com/rubygems/rubygems/commit/b562d9a822

commit 5d9d07a49184c9a5c5eb0dc2ba579a46c80b3eb6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 23:13:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 23:13:35 +0900

    [ruby/prism] Bring back #arg_rest local

    https://github.com/ruby/prism/commit/9b6907b727

commit 9b40f42c22232aaae1b2b17bd6118eacc4c0bee3
  Author:     S.H <gamelinks007@gmail.com>
  AuthorDate: 2024-01-27 17:11:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-27 17:11:10 +0900

    Introduce `NODE_ENCODING`

    `__ENCODING__ `was managed by `NODE_LIT` with Encoding object.

    Introduce `NODE_ENCODING` for
    1. `__ENCODING__` is detectable from AST Node.
    2. Reduce dependency Ruby object for parse.y

commit 68b9a32a624edf0cb497d344a2a8650658500517
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-27 14:41:07 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-27 16:50:35 +0900

    bvar is not NODE but ID

    Before this commit `ruby -y -e 'tap {|;x, y|}'` failed with SEGV.
    This change fixes it.

commit 70cb0a4dec2e445730357eea2aa347747df302af
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-27 09:40:51 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-27 11:51:27 +0900

    Lrama v0.6.2

commit cb9a47f2acd6e373ef868b890a9d07da6f565dd4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 06:19:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-27 06:46:31 +0900

    [PRISM] Fix branchif ADD_INSN1

commit de135bc247408712a0f630010778af0b405bae1f
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-01-25 05:12:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 06:34:34 +0900

    [ruby/prism] Add level to warnings and errors to categorize them

    * Fixes https://github.com/ruby/prism/issues/2082

    https://github.com/ruby/prism/commit/7a74576357

commit bcafd28a3e2ec6c35d80c55a5d11c2f8aab6fc8b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 05:29:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 06:14:59 +0900

    [ruby/prism] Symbol encoding follow-up

    Ensure we don't accidentally parse the symbol encoding twice, and
    ensure we parse it in every circumstance we need to by requiring
    it as a parameter.

    https://github.com/ruby/prism/commit/9cea31c785

commit a12052902088caff04eca2f61a4b62c0c309ba08
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 02:17:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-27 06:07:24 +0900

    [PRISM] Fix loop in rescue blocks

    Fixes ruby/prism#2250.

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit 59bb78ebd023d42c9ac604c89d0885cef1622c21
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-27 04:51:25 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-27 05:41:06 +0900

    [PRISM] Fix for s390x

    On s390x, a long is 8 bytes. st_data_t is an unsigned long but
    pm_constant_id_t is a 4 byte integer. We need to cast it to st_data_t
    when passing it to ST functions.

commit 2a509787cb8869301b614139218432aef9b68f9b
  Author:     Kevin Menard <kevin@nirvdrum.com>
  AuthorDate: 2024-01-25 06:39:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 05:15:19 +0900

    [ruby/prism] Track whether a Symbol should have its encoding changed from the source encoding.

    Ruby sets a Symbol literal's encoding to US-ASCII if the symbols consists only of US ASCII code points. Character escapes can also lead a Symbol to have a different encoding than its source's encoding.

    https://github.com/ruby/prism/commit/f315660b31

commit 3d996e827f2ff74a1bb7e978d754cea7d957b9eb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-26 23:44:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-27 04:58:29 +0900

    [PRISM] Keyword arguments incorrectly passed as mutable

    Fixes ruby/prism#2279.

commit 99d91838e0daab390d17cbbf90479c9569602488
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-27 03:33:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 03:35:54 +0900

    [ruby/prism] Update src/prism.c

    https://github.com/ruby/prism/commit/91b5550726

commit 7d356b8f0e5be81075a30e779c872eeed9049150
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-01-24 08:57:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 03:35:54 +0900

    [ruby/prism] Fix multiple assigns with newlines

    https://github.com/ruby/prism/commit/b4ba41bdcd

commit 9a7637da2d0fd6a43e980bb210957011c6f146be
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-01-24 08:35:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 03:32:31 +0900

    [ruby/prism] Add tests

    https://github.com/ruby/prism/commit/b9ebf987bd

commit b0e10345d3b1f4c1f1b82d2598a31c066a0b2c28
  Author:     Haldun Bayhantopcu <haldun@github.com>
  AuthorDate: 2024-01-24 08:31:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 03:32:30 +0900

    [ruby/prism] Fix parsing calls with labels

    https://github.com/ruby/prism/commit/3db7849a31

commit 8e5bc8f7c24f4ff161bdac3d6b876a4a158642fb
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-01-27 02:27:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-27 03:32:02 +0900

    [ruby/prism] Change binding power for modifiers in case-in nodes

    https://github.com/ruby/prism/commit/c31eeba54c

commit 1949a04f81311660e2d0ec002c48115c63742d0b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-26 17:46:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-26 17:46:39 +0900

    `vcpkg x-update-baseline` for updating baseline commit hash uses 2-spaces indent

commit 771a2f039b9a059a73e8f111d1d46590fa697f63
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-26 05:44:13 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-26 13:43:42 +0900

    Fix incorrect use of VM_CALL_KW_SPLAT_MUT in zsuper with keyword splat

    For zsuper calls with a keyword splat but no actual keywords, the
    keyword splat is passed directly, so it cannot be mutable, because
    if the callee accepts a keyword splat, changes to the keyword splat
    by the callee would be reflected in the caller.

    While here, simplify the logic when the method supports
    literal keywords.  I don't think it is possible for
    a method with has_kw param flags to not have keywords, so add an
    assertion for that, and set VM_CALL_KW_SPLAT_MUT in a single place.

commit 395a240b7c1daa058f590893ca8d8f6d28866abf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-26 13:40:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-26 13:40:05 +0900

    Try to use irb instead of rubygems for completion test

    I'm not sure why OpenBSD suggest `rubygems_plugin` file for this.

    https://rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20240126T013005Z.fail.html.gz

    It seems environmental issue, not irb.

commit f9bf7d531bcea3fde3bb055d5d517f93945515dd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-26 12:38:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-26 12:38:01 +0900

    Added vcpkg manifest for windows build environment.

    "builtin-baseline": "53bef8994c541b6561884a8395ea35715ece75db" is 2024.01.12
    released version of vcpkg.

    https://github.com/microsoft/vcpkg/releases/tag/2024.01.12

commit 7567e4e1e1e8029b19cda81b612f2d1a0c27cb9f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-26 09:22:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-26 09:22:27 +0900

    YJIT: Fix exits on splatkw instruction (#9711)

commit b822f9f6fc5a00ec08dbc698b9845887d1c4dbc2
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2024-01-26 08:47:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-26 08:47:29 +0900

    Bundle rbs-3.4.3 (#9702)

    * Bundle rbs-3.4.3
    * Remove rbs from `TEST_BUNDLED_GEMS_ALLOW_FAILURES` list
    * Add the failing tests to `rbs_skip_tests`

commit 5bd6949151512a6667a58bcadcb019157b65cd7c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-26 06:59:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-26 08:15:45 +0900

    [PRISM] Add raw option to assert_prism_eval

commit 2034e6ad5a22fa1dcde428751ae97a29ba434d7e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-26 06:45:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-26 06:45:58 +0900

    YJIT: Support concattoarray and pushtoarray (#9708)

commit f0224adf2f6ec5c1a9c77001bfbfdae9eb93f5fc
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-26 05:29:42 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-26 06:17:03 +0900

    YJIT: Assert lea source operand type

commit e452caac10c651a2b7de5fdc076b7b44a66785d5
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-25 21:54:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-26 05:10:52 +0900

    [PRISM] Fix next inside rescue

commit e7262966c91c63511122153ea555c4cd420cd353
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-26 01:32:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-26 02:14:22 +0900

    [PRISM] Fix indentation of test_ScopeNode

commit d4cc77e7b6107b136e977e9b107b2d50aaa42314
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-26 01:23:26 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-26 01:23:26 +0900

    YJIT: Add a counter for invokebuiltin exits (#9696)

commit 1301422dfe44ed6aca97b20f672098c276dd9bd4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-26 00:33:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-26 01:11:50 +0900

    [PRISM] Fix VM_CALL_ARGS_SPLAT_MUT failures

commit ebf803aa196e2df4c129b1ec11107363ebbe1382
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-25 22:43:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 22:58:07 +0900

    [ruby/prism] Fix Ruby head build

    https://github.com/ruby/prism/commit/149e2ff7f6

commit fdb8f086396e0f9b64e069852cb0dd40147877d1
  Author:     Eddie Lebow <7873686+elebow@users.noreply.github.com>
  AuthorDate: 2024-01-25 19:20:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 19:20:47 +0900

    [ruby/irb] Reword history file documentation and fix typo
    (https://github.com/ruby/irb/pull/842)

    https://github.com/ruby/irb/commit/bbabf818c7

commit 4bd58e1ade11f9bc82b12427f59871dd73db7c50
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:40:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:17 +0900

    [ruby/irb] diabled ==> disabled

    https://github.com/ruby/irb/commit/295797ff37

commit 033411562802d1ec2d8a57dfef480f8e7d346214
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:36:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:17 +0900

    [ruby/irb] Synatx ==> Syntax

    https://github.com/ruby/irb/commit/2ffacaa031

commit 819ae2c2c181b3e27e4ba57b66a7e89f1745ff09
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:34:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:16 +0900

    [ruby/irb] assigment ==> assignment

    https://github.com/ruby/irb/commit/24c7694467

commit 5f9f46a24cd8c166baa4cdd3ef014b695eed6a0e
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:27:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:16 +0900

    [ruby/irb] reseting ==> resetting

    https://github.com/ruby/irb/commit/6209f06c72

commit 9b1cc68b770145b8ccd1ca10e7604e5f5af32d10
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:27:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:16 +0900

    [ruby/irb] configuation ==> configuration

    https://github.com/ruby/irb/commit/a27a511777

commit fd9b968569fc8b7a4cdc3dcad815cd3aab8d7088
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:26:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:15 +0900

    [ruby/irb] recever ==> receiver

    https://github.com/ruby/irb/commit/dbd0e368c4

commit 6580a95f8d5a74bec20d41eb9660a93f13be8922
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:26:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:15 +0900

    [ruby/irb] inifinity ==> infinity

    https://github.com/ruby/irb/commit/78dea58000

commit 4d4d418457a1b6dc2ce63b166cff51fd0827c0a3
  Author:     ydah <13041216+ydah@users.noreply.github.com>
  AuthorDate: 2024-01-25 11:25:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 18:58:14 +0900

    [ruby/irb] overrided ==> overridden

    https://github.com/ruby/irb/commit/b77b23aade

commit 0f5407b33772743154c50b01e1ea2ade494bd520
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-25 14:34:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-25 16:06:06 +0900

    Simplified test case for encoding option

      Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit d13a57cd65153409e826b52ad653147ea24069a4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-25 14:23:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-25 16:06:06 +0900

    Use Encoding.local_charmap instead of locale

      In my windows environment uses cp932 for terminal encoding.

commit 1d972498eb62a0d718501a956cc391ee59a1d9d1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-25 11:42:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-25 16:06:06 +0900

    Use Encoding::CESU_8 for test case

      Encoding::Windows_31J is already loaded in mswin platform

commit ff55d6b8e1e4c22a80f6bbf882c5ae4a07a9eb45
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-25 14:33:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-25 15:06:14 +0900

    Use `token_seen` and simplify `comment_at_top`

    Instead of scanning before the current comment.

commit 2b9719ea30fe4227c082e3cc7e03803ff018e67f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-25 12:13:30 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 12:42:41 +0900

    Ignore --parser=prism failures until prism compiler fixed for recent optimizations

commit fb596499f7b1538c5039861852e55aff4dd182bb
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-25 11:39:54 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 12:42:41 +0900

    Temporarily ignore bundled gems failures for rbs and typeprof on macos, similar to ubuntu

    This should be reverted after rbs and typeprof are updated to handle
    the changes for the optimizations.

commit 42d891be2c202eae4ddfa15a4338712fd6d63668
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-12-15 09:48:09 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Add benchmark for implicit array/hash allocation reduction changes

    Benchmark results:

    ```
    named_multi_arg_splat
    after:    5344097.6 i/s
    before:   3088134.0 i/s - 1.73x  slower

    named_post_splat
    after:    5401882.3 i/s
    before:   2629321.8 i/s - 2.05x  slower

    anon_arg_splat
    after:   12242780.9 i/s
    before:   6845413.2 i/s - 1.79x  slower

    anon_arg_kw_splat
    after:   11277398.7 i/s
    before:   4329509.4 i/s - 2.60x  slower

    anon_multi_arg_splat
    after:    5132699.5 i/s
    before:   3018103.7 i/s - 1.70x  slower

    anon_post_splat
    after:    5602915.1 i/s
    before:   2645185.5 i/s - 2.12x  slower

    anon_kw_splat
    after:   15403727.3 i/s
    before:   6249504.6 i/s - 2.46x  slower

    anon_fw_to_named_splat
    after:    2985715.3 i/s
    before:   2049159.9 i/s - 1.46x  slower

    anon_fw_to_named_no_splat
    after:    2941030.4 i/s
    before:   2100380.0 i/s - 1.40x  slower

    fw_to_named_splat
    after:    2801008.7 i/s
    before:   2012416.4 i/s - 1.39x  slower

    fw_to_named_no_splat
    after:    2742670.4 i/s
    before:   1957707.2 i/s - 1.40x  slower

    fw_to_anon_to_named_splat
    after:    2309246.6 i/s
    before:   1375924.6 i/s - 1.68x  slower

    fw_to_anon_to_named_no_splat
    after:    2193227.6 i/s
    before:   1351184.1 i/s - 1.62x  slower
    ```

commit 4f77d8d3289ece0e3537d9273a5c745120bff59a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-12-09 07:30:39 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Do not use ruby2_keywords for ... argument forwarding

    This allows ... argument forwarding to benefit from Allocationless
    Anonymous Splat Forwarding, allowing the `f` call below to not
    allocate an array or a hash.

    ```ruby
    a = [1]
    kw = {b: 2}

    def c(a, b:)
    end

    def f(...)
      c(...)
    end

    f(*a, **kw)
    ```

    This temporarily skips prism locals tests until prism is changed
    to use * and ** for ..., instead of using ruby2_keywords.

    Ignore failures in rbs bundled gems tests, since they fail due
    to this change.

commit 0f90a24a816bec438edb272fb83f334484dfc285
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-12-01 07:58:42 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Introduce Allocationless Anonymous Splat Forwarding

    Ruby makes it easy to delegate all arguments from one method to another:

    ```ruby
    def f(*args, **kw)
      g(*args, **kw)
    end
    ```

    Unfortunately, this indirection decreases performance.  One reason it
    decreases performance is that this allocates an array and a hash per
    call to `f`, even if `args` and `kw` are not modified.

    Due to Ruby's ability to modify almost anything at runtime, it's
    difficult to avoid the array allocation in the general case. For
    example, it's not safe to avoid the allocation in a case like this:

    ```ruby
    def f(*args, **kw)
      foo(bar)
      g(*args, **kw)
    end
    ```

    Because `foo` may be `eval` and `bar` may be a string referencing `args`
    or `kw`.

    To fix this correctly, you need to perform something similar to escape
    analysis on the variables.  However, there is a case where you can
    avoid the allocation without doing escape analysis, and that is when
    the splat variables are anonymous:

    ```ruby
    def f(*, **)
      g(*, **)
    end
    ```

    When splat variables are anonymous, it is not possible to reference
    them directly, it is only possible to use them as splats to other
    methods.  Since that is the case, if `f` is called with a regular
    splat and a keyword splat, it can pass the arguments directly to
    `g` without copying them, avoiding allocation.  For example:

    ```ruby
    def g(a, b:)
      a + b
    end

    def f(*, **)
      g(*, **)
    end

    a = [1]
    kw = {b: 2}

    f(*a, **kw)
    ```

    I call this technique: Allocationless Anonymous Splat Forwarding.

    This is implemented using a couple additional iseq param flags,
    anon_rest and anon_kwrest.  If anon_rest is set, and an array splat
    is passed when calling the method when the array splat can be used
    without modification, `setup_parameters_complex` does not duplicate
    it.  Similarly, if anon_kwest is set, and a keyword splat is passed
    when calling the method, `setup_parameters_complex` does not
    duplicate it.

commit b8516d6d0174a10579817f4bcf5a94c8ef03dd7a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-11-29 05:14:45 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Add pushtoarray VM instruction

    This instruction is similar to concattoarray, but it takes the
    number of arguments to push to the array, removes that number
    of arguments from the stack, and adds them to the array now at
    the top of the stack.

    This allows `f(*a, 1)` to allocate only a single array on the
    caller side (which can be reused on the callee side in the case of
    `def f(*a)`). Prior to this commit, `f(*a, 1)` would generate
    3 arrays:

    * a dupped by splatarray true
    * 1 wrapped in array by newarray
    * a dupped again by concatarray

    Instructions Before for `a = []; f(*a, 1)`:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 putself
    0005 getlocal_WC_0                          a@0
    0007 splatarray                             true
    0009 putobject_INT2FIX_1_
    0010 newarray                               1
    0012 concatarray
    0013 opt_send_without_block                 <calldata!mid:f, argc:1, ARGS_SPLAT|FCALL>
    0015 leave
    ```

    Instructions After for `a = []; f(*a, 1)`:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 putself
    0005 getlocal_WC_0                          a@0
    0007 splatarray                             true
    0009 putobject_INT2FIX_1_
    0010 pushtoarray                            1
    0012 opt_send_without_block                 <calldata!mid:f, argc:1, ARGS_SPLAT|ARGS_SPLAT_MUT|FCALL>
    0014 leave
    ```

    With these changes, method calls to Ruby methods should
    implicitly allocate at most one array.

    Ignore typeprof bundled gem failure due to unrecognized instruction.

commit 6e06d0d180001a79abadf48e2fe6baf3886f54c0
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-11-25 13:23:58 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Add concattoarray VM instruction

    This instruction is similar to concatarray, but assumes the first
    object is already an array, and appends to it directly.  This is
    different than concatarray, which will create a new array instead
    of appending to an existing array.

    Additionally, for both concatarray and concattoarray, if the second
    argument cannot be converted to an array, then just push it onto
    the array, instead of creating a new array to wrap it, and then
    using concat array.  This saves an array allocation in that case.

    This allows `f(*a, *a, *1)` to allocate only a single array on the
    caller side (which can be reused on the callee side in the case of
    `def f(*a)`). Prior to this commit, `f(*a, *a, *1)` would generate
    4 arrays:

    * a dupped by splatarray true
    * a dupped again by first concatarray
    * 1 wrapped in array by third splatarray
    * result of [*a, *a] dupped by second concatarray

    Instructions Before for `a = []; f(*a, *a, *1)`:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 putself
    0005 getlocal_WC_0                          a@0
    0007 splatarray                             true
    0009 getlocal_WC_0                          a@0
    0011 splatarray                             false
    0013 concatarray
    0014 putobject_INT2FIX_1_
    0015 splatarray                             false
    0017 concatarray
    0018 opt_send_without_block                 <calldata!mid:g, argc:1, ARGS_SPLAT|ARGS_SPLAT_MUT|FCALL>
    0020 leave
    ```

    Instructions After for `a = []; f(*a, *a, *1)`:

    ```
    0000 newarray                               0                         (   1)[Li]
    0002 setlocal_WC_0                          a@0
    0004 putself
    0005 getlocal_WC_0                          a@0
    0007 splatarray                             true
    0009 getlocal_WC_0                          a@0
    0011 concattoarray
    0012 putobject_INT2FIX_1_
    0013 concattoarray
    0014 opt_send_without_block                 <calldata!mid:f, argc:1, ARGS_SPLAT|ARGS_SPLAT_MUT|FCALL>
    0016 leave
    ```

commit 22e488464a412afa58f201c49e54773aa8011320
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-11-24 03:47:24 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-25 11:25:55 +0900

    Add VM_CALL_ARGS_SPLAT_MUT callinfo flag

    This flag is set when the caller has already created a new array to
    handle a splat, such as for `f(*a, b)` and `f(*a, *b)`.  Previously,
    if `f` was defined as `def f(*a)`, these calls would create an extra
    array on the callee side, instead of using the new array created
    by the caller.

    This modifies `setup_args_core` to set the flag whenver it would add
    a `splatarray true` instruction.  However, when `splatarray true` is
    changed to `splatarray false` in the peephole optimizer, to avoid
    unnecessary allocations on the caller side, the flag must be removed.
    Add `optimize_args_splat_no_copy` and have the peephole optimizer call
    that.  This significantly simplifies the related peephole optimizer
    code.

    On the callee side, in `setup_parameters_complex`, set
    `args->rest_dupped` to true if the flag is set.

    This takes a similar approach for optimizing regular splats that was
    previiously used for keyword splats in
    d2c41b1bff1f3102544bb0d03d4e82356d034d33 (via VM_CALL_KW_SPLAT_MUT).

commit ef276858d9295208add48e27208c69184dc50472
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-01-22 14:22:14 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-25 11:10:35 +0900

    Trigger postponed jobs on running_ec if that is available

    Currently, any postponed job triggered from a non-ruby thread gets sent
    to the main thread, but if the main thread is sleeping it won't be
    checking ints. Instead, we should try and interrupt running_ec if that's
    possible, and only fall back to the main thread if it's not.

    [Bug #20197]

commit 2e18228dff4332ec08a0a53ff658ad0bf7133cc0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-25 09:59:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-25 10:51:18 +0900

    Use echo with all platforms

commit 52085b66d6352c013c483fa9aac5d0b5c3e121e6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 16:07:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-25 10:51:18 +0900

    Use echo command in mswin platform

commit 34c688b163aa44ff319575c3b3d7d6a5c0dc5260
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-25 09:03:05 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-25 09:03:05 +0900

    Omit TestCompilePrism on s390x for now (#9694)

commit 2cc7a56ec7830fd5efaf2bc449637fd831743714
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-25 08:06:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-25 08:06:58 +0900

    YJIT: Avoid leaks by skipping objects with a singleton class

    For receiver with a singleton class, there are multiple vectors YJIT can
    end up retaining the object. There is a path in jit_guard_known_klass()
    that bakes the receiver into the code, and the object could also be kept
    alive indirectly through a path starting at the CME object baked into
    the code.

    To avoid these leaks, avoid compiling calls on objects with a singleton
    class.

    See: https://github.com/Shopify/ruby/issues/552

    [Bug #20209]

commit f769d68a69f0a8c84e46e43179bda6332923fb11
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 07:01:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-25 07:32:43 +0900

    [PRISM] Fix getblockparamproxy for forwarding arguments

commit a65b52b57f0b577a0486d5c05a1b5e6c53e6dc77
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-01-25 05:10:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 05:32:02 +0900

    [ruby/prism] Add missing snapshot for the new file

    https://github.com/ruby/prism/commit/459a9f544e

commit e9f936df71b68515210b6040766987d1b94ec4df
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-01-25 05:08:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 05:32:02 +0900

    [ruby/prism] Extract snippet into its own file and skip in TruffleRuby

    https://github.com/ruby/prism/commit/12649ee74c

commit 91a5093c15f5fe5e51f0f5ba3183ea44688b49ea
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-01-25 04:36:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 05:32:01 +0900

    [ruby/prism] Force encoding during deserialization of constants

    otherwise we get failing tests if we have non-ascii
    characters in fixtures/**/*.txt

    https://github.com/ruby/prism/commit/9323243569

commit 6a63aaade9cf08e51920698372e8973f1580d8d7
  Author:     Max Prokopiev <maxprokopiev@github.com>
  AuthorDate: 2024-01-25 04:34:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 05:32:01 +0900

    [ruby/prism] Use char_is_identifier_start() to check for valid method name

    alnum_char() only checks for alphanumeric characters while
    ignoring other valid cases (like emoji codepoints for example)

    https://github.com/ruby/prism/commit/d15958fd28

commit 7d61454f2e4dafa19d879b48508bcedba6f28e43
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 04:41:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-25 05:18:06 +0900

    [PRISM] Fix method calls in keyword arguments

    Fixes ruby/prism#2248.

commit 94f3f9502c4b0a87392f85672cbc01c7167207d5
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:55:46 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix repeated block param

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 1817af507466ace78f4bc02d77e1f16c70e3a087
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:50:27 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix local table size / index for repeated kwrest

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 13c76e40d3cbd79ccd8d340fa8b85f5778484f20
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:41:34 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix local table size and variable offset for repeated keywords

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 8b7e78f156fb566b47ea3ff7701e18486b0e2dac
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:33:31 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix local table size and index for required post underscore

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit bb6af9287b2002c736e1f50a74a57922f61e8a53
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:20:49 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix local table space for `*_`

    We need to make sure there is enough room in the local table for
    repeated `*_` parameters

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 03f76f098ada081c8ce1db25ddc9b9fc21608877
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 06:13:56 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix repeated optional _ parameters

    Ensure there is enough space in the local table for repeated optional
    parameters.

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 29c3ec3d49ad66c4ec9ea13735481cca598bcbcd
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 05:55:00 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 05:04:44 +0900

    Fix required positional repeated _ parameters

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 44c337a397b1159c7bc843a501d6a0a51e65430f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-25 04:24:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 05:02:32 +0900

    [PRISM] Support __LINE__, __FILE__, and __ENCODING__ in patterns, fix pinned expressions

commit c888b8d63b714d5ccf107272b10d723c75fbe7dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-25 03:43:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 04:18:33 +0900

    [PRISM] Handle implicit lvar write in hash pattern

commit 020fe6e0ca3b7f3b0b35466e7086e809f2ccbcd0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 03:43:26 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 04:18:25 +0900

    [PRISM] Fix forwarding from within block

    Fixes ruby/prism#2253.

commit dc8fb7d97ff0113c738bded825a37b3196eeaaae
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 01:45:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-25 03:42:21 +0900

    [PRISM] Fix crash in anonymous block with forwarding arguments

    Fixes ruby/prism#2262.

commit 455fb320384a597bc195adcee6bc1071fc64a245
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-25 02:11:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-25 03:37:36 +0900

    [ruby/prism] Add an implicit node for the target of a hash pattern

    This simplifies compiling it, since you can now compile the value
    as if it were always there.

    https://github.com/ruby/prism/commit/bcfc74aacb

commit 303fef875240b19fc582ab80897f5e15df784eca
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-25 03:26:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-25 03:26:57 +0900

    YJIT: Update yjit.md about mem size (#9687)

commit 1702528258c2b2a87dcf5673a80d999de35d0b71
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-25 03:14:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-25 03:14:36 +0900

    YJIT: reduce default exec mem size to 48MiB (#9685)

    YJIT: reduce default exec mem size to 48MiB based

    Based on user feedback from @jhawthorn and others.
    Better for small and memory-constrained deployments.

    NOTE: This commit should be included in the next Ruby 3.3.x point
    release. @xrxr should we tag someone specific?

commit 6b9317c9d566329cc87969c722ed221283ddc8f7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 02:19:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 03:11:41 +0900

    [PRISM] Don't skip test_ForwardingArgumentsNode

    It seems to work with RUBY_ISEQ_DUMP_DEBUG=to_binary so we can try this
    test again on CI.

commit 23d46829264e21ec542c099d61922efa58cac916
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-25 03:09:08 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-25 03:09:08 +0900

    YJIT: fix small bug causing jit_rb_int_rshift to side-exit (#9684)

    YJIT: fix bug causing jit_rb_int_rshift to side-exit

    The nqueens benchmark was showing zero performance improvement
    because we immediately side-exited as soon as the shift amount
    changed. If the amount changes, we want to fall back to the
    C function call, not side-exit.

commit 578ff32611a88920f60b162d1fe2e0d48ed20450
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 09:48:28 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 02:40:30 +0900

    Move filling in the rest of the locals to the end

commit 7a33a1aee2739598fc5b17cfd6f31e20769fee28
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-24 05:11:21 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-25 02:40:30 +0900

    Insert all locals in the locals index table

    Prism provides an index (local_body_index) which is supposed to point at
    the start of locals declared in the method body. Prism assumed that
    method body locals would only occur _after_ parameter names.
    Unfortunately this assumption is not correct, which meant that we would
    in some cases not insert all locals in the local table.  This commit
    iterates over locals a second time, inserting any that didn't get
    inserted on the first pass.

    Fixes: https://github.com/ruby/prism/issues/2245

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit 927928badb1a53aae6b29e65627720d7cb6cfdd7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-25 00:22:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-25 01:41:08 +0900

    [PRISM] Fix anonymous keyword arguments

    Fixes ruby/prism#2256.

commit 4220bdba395cff7d4e933b319a186e889ed9b921
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-25 00:39:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 01:18:58 +0900

    [PRISM] Remove dead code from prism_compile.c

    Previously, we were using the main pm_compile_node switch to compile
    target nodes. Eventually we switched to pm_compile_target_node and
    updated all the call sites. As such, all of this has become dead
    code.

    However, the multi target code was reused for both parameters and
    multi writes (it was just incorrect for multi writes). So that code
    has now been moved into its own function that is more specific to
    destructured parameters (and has more assertions to that effect).

    Overall now you should not see target nodes when you call into
    pm_compile_node, since they are more specialized and require more
    special handling.

commit 767f5d045f76ff07336c1f55608247a2d1a5b45c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-24 05:33:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-25 00:37:08 +0900

    [PRISM] Use lvar depths for starting

commit 529700d3145cc77271a70bc75ab91528b7a7b084
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-24 01:32:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-25 00:08:25 +0900

    [PRISM] Nested MultiWriteNode with method calls

    Fixes ruby/prism#2247.

commit d86c4e553ee8ff899a103a49db0b66c73c01135f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-24 20:51:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 20:51:50 +0900

    Define `IO_WITHOUT_GVL` macro

commit 0f417d640de16339c85ba8f4bd60e6ac2ce506eb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-24 19:33:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 19:33:25 +0900

    Initialize errno variables and fix maybe-uninitialized warnings

commit 4099b04c099899d92dab3f34f1152038ed718d79
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 17:33:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 18:12:43 +0900

    Pend make option test on mswin platform

commit fb39128dce7babcb1b8c6d92bfa9e85eb7f7118e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 10:51:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-24 18:11:55 +0900

    [rubygems/rubygems] Added test for rubygems

    https://github.com/rubygems/rubygems/commit/64405147c9

commit 6191f4a1697f2ac4288181f32257f95273ecfbb7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 22:31:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-24 18:11:54 +0900

    [rubygems/rubygems] Simplified test-case for original issue

    https://github.com/rubygems/rubygems/commit/89086c5458

commit 723deec9cf84342332896e48f50b4bf519492652
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 20:19:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-24 18:11:53 +0900

    [rubygems/rubygems] Keep compatibility of past versions

    https://github.com/rubygems/rubygems/commit/54b67fb251

commit 1018dca09a55e7b21d701cfee0171b44ba26fe4a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 19:14:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-24 18:11:53 +0900

    [rubygems/rubygems] Skip to load commented out words

    https://github.com/rubygems/rubygems/commit/e6a9148ba2

commit 53d0cf442a1dfc1616a3870a65d5c867e0fec2dd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 17:05:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 18:00:12 +0900

    Use exit 0 instead of true on windows platform

commit c8355a8d1ff99ecd4f6ddd9db9013c365f002cf4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 15:55:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 15:55:30 +0900

    syslog is already extracted as bundled gems

commit 270ad763594023b87a09027e52deee561ecd3b62
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 14:10:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 14:10:05 +0900

    Revert "Ensure File.open applies default umask on gem extract"

    This reverts commit 01f9766aa05182a7bbdc914a5dcd8a36ebade861.

commit 2f06e4f73998141292ee2a08146af3e63a717dae
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 14:09:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 14:09:58 +0900

    Revert "Pend tests on Travis CI"

    This reverts commit 772afa00b5109f55c1d8359c688aca4063818549.

commit 6bd997ecfded267d968915076606f3ae0888957a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-17 20:43:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 13:56:07 +0900

    [rubygems/rubygems] Remove no longer necessary code

    https://github.com/rubygems/rubygems/commit/b7d2de2ba8

commit 1e519abe21466c3846be7da37c3c8e461fc4efb0
  Author:     なつき <i@ntk.me>
  AuthorDate: 2024-01-18 07:57:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 13:55:42 +0900

    [rubygems/rubygems] Fix rake extension warning

    https://github.com/rubygems/rubygems/commit/04973e349c

commit 772afa00b5109f55c1d8359c688aca4063818549
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 13:01:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 13:50:16 +0900

    Pend tests on Travis CI

commit 01f9766aa05182a7bbdc914a5dcd8a36ebade861
  Author:     Martin Emde <martin.emde@gmail.com>
  AuthorDate: 2023-12-18 06:22:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 13:50:16 +0900

    Ensure File.open applies default umask on gem extract

commit 2defa9f4ae52c99e64a02b7f78362fbd788a1fd0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-22 19:37:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 12:44:40 +0900

    [DOC] Elaborate exceptional behaviors on Windows

commit 769bb924b2e4ece7c1884f4adeb29a49d03bd45a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-21 20:02:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 12:44:40 +0900

    [DOC] Tips for space containing `exe_path`

commit 623058649e18e7a65b8ba3498b6524fad482b3e0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-21 20:01:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 12:44:40 +0900

    [DOC] Add Argument `args` subsection

commit be6e06ef740e0d5198a4c3b59b13b944809f5ab6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-21 19:29:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 12:44:40 +0900

    [DOC] Separate standard shells per platforms

commit 828f3ecfcdbc740bc9eedbfc946576ad9aeaa43f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-21 19:14:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-24 12:44:39 +0900

    [DOC] Move `exe_path` example to `Process` module document

    Exchanged with `Kernel.spawn`, like as `Kernel.exec` and
    `Kernel.system`.  This description should be common for these methods.

commit df5f2fab938cd020dfdeeb8db46cfaefe57aa6bc
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-01-24 12:43:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-24 12:43:52 +0900

    [DOC] Correction for Process.spawn doc

commit a170f1859b47c59bb0d80531086bbc6f5e812f8a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 10:44:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 10:44:18 +0900

    No longer needed to sync syslog

commit d914f82a3c042f411241a287f9c931b4b2eed7bd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-24 09:53:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-24 09:53:41 +0900

    Use test fixed version of debug gem https://github.com/ruby/debug/pull/1067

commit 974b141ffe69a56bc9d8d4c75ea6e5852df19f36
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-24 08:45:07 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-24 09:47:26 +0900

    YJIT: Reuse get_array_{ptr,len}

commit ac1e9e443a0d6a4d4c0801c26d1d8bd33d9eb431
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-24 02:35:34 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-24 09:22:57 +0900

    YJIT: Fix ruby2_keywords splat+rest and drop bogus checks

    YJIT didn't guard for ruby2_keywords hash in case of splat calls that
    land in methods with a rest parameter, creating incorrect results.

    The compile-time checks didn't correspond to any actual effects of
    ruby2_keywords, so it was masking this bug and YJIT was needlessly
    refusing to compile some code. About 16% of fallback reasons in
    `lobsters` was due to the ISeq check.

    We already handle the tagging part with
    exit_if_supplying_kw_and_has_no_kw() and should now have a dynamic guard
    for all splat cases.

    Note for backporting: You also need 7f51959ff1.

    [Bug #20195]

commit c0cabc0a699b2c8b0fded6d0ed85aff4bf102c03
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-24 07:54:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-24 07:54:39 +0900

    Dump annotations on RubyVM::ISeq.disasm (#9667)

    Make it easier to check what annotations an ISEQ has. SINGLE_NOARG_LEAF
    is added automatically, so it's hard to be sure about the annotation by
    just reading code. It's also unclear to me what happens to it with
    Primitive.mandatory_only?, but this at least explains that LEAF
    annotation is not added to the non-mandatory_only ISEQ.

commit 909a710a695654d13bf6ae824d0a62e682588583
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-24 06:13:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-24 07:45:51 +0900

    [PRISM] Fix anonymous splat nodes

    Fixes ruby/prism#2257.

commit 996776e936ac274946a359195ef3fa6a0dca7669
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-24 07:37:22 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-24 07:39:37 +0900

    Leave a comment about the limitation of Primitive

    and adjust some code styling from that PR.

commit 7ac74f5c771cef2f94eee9a75a9f96e92da4f5fd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-24 05:23:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-24 05:23:48 +0900

    Revert "Skip a failing test for Prism"

    This reverts commit 557b69e83b27dafea435719fc3afc2e67e155962.

commit cecf42601aa4170aa2336dbb3ffc7753e86e6115
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-24 04:43:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-24 05:23:13 +0900

    [PRISM] Fix block fowarding

commit 333f4b4930bf397f87bd99767b53fcce4f9a3e43
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-24 02:11:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-24 05:23:13 +0900

    [PRISM] Support block parameters with no name

    Fixes ruby/prism#2249.

commit c84237f9531aed3b204d3fdacc2dd9d2bd4c7d81
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-24 05:09:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-24 05:09:57 +0900

    Rewrite Array#each in Ruby using Primitive (#9533)

commit 27c1dd8634d34bfe3592151d66b410f28ca749ce
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-24 04:36:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-24 04:36:23 +0900

    YJIT: Allow inlining ISEQ calls with a block (#9622)

    * YJIT: Allow inlining ISEQ calls with a block

    * Leave a TODO comment about u16 inline_block

commit 557b69e83b27dafea435719fc3afc2e67e155962
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-24 04:00:00 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-24 04:00:05 +0900

    Skip a failing test for Prism

    This should be reverted once https://github.com/ruby/prism/issues/2249
    is closed.

commit a846d391d38b34fcc4f90adef967c166c923bd56
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-01-23 05:57:22 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-01-24 02:02:42 +0900

    List branch maintainers in maintainers.md

    I'm not aware of this information being available
    anywhere else.

commit 7f51959ff14fbe06bc1afd283d1af17b26161cf4
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-23 07:58:05 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-24 01:04:16 +0900

    YJIT: Move guard up for a case of splat+rest

    Previously, YJIT put the guard for having enough items to extract from
    splat array at a place where the side exit is invalid, so if the guard
    fails, YJIT could raise something other than ArgumentError. Move the
    guard up to a place before any stack manipulation.

    [Bug #20204]

commit b14674b236445fb70f484603e678722760f678f4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-20 00:26:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-24 00:47:04 +0900

    Memory leak with TracePoint on bmethod

    [Bug #20194]

    When disabling the TracePoint on bmethod, the hooks list is not freed.

    For example:

        obj = Object.new
        obj.define_singleton_method(:foo) {}
        bmethod = obj.method(:foo)
        tp = TracePoint.new(:return) {}

        10.times do
          100_000.times do
            tp.enable(target: bmethod) {}
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        18208
        22832
        26528
        29728
        34000
        37776
        40864
        44400
        47680
        51504

    After:

        16688
        17168
        17168
        17248
        17696
        17760
        17824
        17824
        17856
        17920

commit 7cf74a2ff28b1b4c26e367d0d67521f7e1fed239
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 15:40:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-23 16:10:58 +0900

    Run test-bundled-gems again with macos-arm-oss runner

commit 5987f0b7c8545824efdbdd501ef4e9d57fc92808
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 15:39:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-23 16:10:58 +0900

    Retired macos-11 because this version is EOL, and added macos-13(beta)

commit 8c3eb47fffc6d274ad9c65f507676f8ae906a948
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-23 09:06:32 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 09:35:58 +0900

    All btests are passing with Prism

    We can remove the exclusion list now

commit cfa15bb173723b8bb6110a81241bcdffa18193fb
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-23 09:03:58 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 09:35:58 +0900

    Handle trailing commas on blocks

    We need to set a special flag on block iseqs when there is a trailing
    comma.

    Fixes: https://github.com/ruby/prism/issues/2244

commit f423ced5abdfce0dde3c71a72b12f5865f38ee43
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-23 08:35:05 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 09:02:41 +0900

    update tests

commit 270a46e392dab13e422b2b9f27f2893a3fecd77b
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-23 07:51:12 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 09:02:41 +0900

    Check keyword parameters correctly

    We weren't checking the right offsets when compiling methods with
    keyword parameters that had complex code.

    Fixes: https://github.com/ruby/prism/issues/2228

commit ee7f63ebba542f87e6fa28709e67ace0fefcae90
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-12 22:26:54 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-23 08:58:16 +0900

    Make lastline and nextline to be rb_parser_string

    This commit changes `struct parser_params` lastline and nextline
    from `VALUE` (String object) to `rb_parser_string_t *` so that
    dependency on Ruby Object is reduced.
    `parser_string_buffer_t string_buffer` is added to `struct parser_params`
    to manage `rb_parser_string_t` pointers of each line. All allocated line
    strings are freed in `rb_ruby_parser_free`.

commit 706eea9d3c27b9785fc7f650ff9b5d6669908768
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-23 07:54:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-23 08:45:45 +0900

    Fixup 2e69137dbe9fd7c03dac9b8adc30a7eba3ecb10b

commit d8af85ad145a803776bdc61ce0ae486c3dcb9b2b
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-23 07:31:23 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:15:32 +0900

    [Prism] Uncomment tests that now pass

commit d054904cad7f0889f545d47bc637829a510c1d4b
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-23 07:28:51 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:15:32 +0900

    [Prism] Don't change file after setting it.

    This causes the Iseq file names to be wrong, which is affecting
    Tracepoint events in certain cases.

    because we're taking a pointer to the string and using it in
    `pm_string_mapped_pointer` we also need to `RB_GC_GUARD` the relevant
    Ruby object to ensure it's not moved or swept before the parser has been
    free'd.

commit 4592fdc545284a0cbf55bd1ada17d0b98a3ae685
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-23 07:24:42 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:15:32 +0900

    [Prism] path and script name are not the same

    When loading Ruby from a file, or parsing using
    RubyVM::InstructionSequence.

commit 708fa7740479823e0758623d43afee7b13beba21
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 03:52:41 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:07:52 +0900

    [PRISM] Fix keyword arguments in IndexOrWriteNode

    Fixes ruby/prism#2236.

commit 1838dbf6e7f9335e5ad23d9856bd014d18446f07
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 05:13:33 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:07:39 +0900

    [PRISM] Fix splat and block in aset

commit 18471923660a5314e0543f0600a4a2278ed399cf
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 05:00:36 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 08:07:39 +0900

    [PRISM] Fix block in aset

    Fixes ruby/prism#2223.

commit 28fc7fa852e6543cdd74c66c1130348085d7f241
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-23 07:34:38 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-23 07:35:16 +0900

    Revert "Bump shlex"

    This reverts commit dcabe87fc8b8523cabea533df18d2b3b616e78da.

    Revert "Bump shlex"

    This reverts commit 47264b78c2e1be441d043a404f8b0d0bf7d8f62b.

    Avoid diversion in gem sync. They should be managed in rubygems/rubygems
    and then sync-ed to ruby/ruby.

commit cffa54acad13fb633739fadd51f5ff79484f9aa8
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-23 07:33:51 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-23 07:34:29 +0900

    Try to exclude rubygems Rust stuff from dependabot

    It should be managed in rubygems/rubygems and sync-ed to ruby/ruby. We
    shouldn't get PRs to rubygems in ruby/ruby.

commit 8065672d9978e4ed7ed6895556e462b50508ec8a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 05:22:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 05:22:12 +0900

    [PRISM] Force semicolon at the end of PM macros

commit 263094169671b9f87ab7c0a2f79b3aff5cdf995c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 05:21:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 05:21:09 +0900

    [PRISM] Use PM_SWAP macro

commit 789de5972bef671ff820a52dd97121c8984819a9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 05:16:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 05:16:14 +0900

    [PRISM] Use PM_POP macro

commit 7db683222528ca4850fed57529679e5aa14b0a88
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-23 04:24:34 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-23 05:02:03 +0900

    Fix compiling rescue + ensure

    When we're compiling begin / rescue / ensure nodes, we need to "wrap"
    the code in the begin statements correctly.  The wrapping is like this:
    (ensure code (rescue code (begin code)))

    This patch pulls the each leg in to its own function, then calls the
    appropriate wrapping function depending on whether there are ensure /
    rescue legs.

    Fixes: https://github.com/ruby/prism/issues/2221

commit 2918e43deebbc270c75a3af2c46630e5a7c91586
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-23 03:31:18 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-23 03:31:21 +0900

    Skip a flaky Ractor test for YJIT

    `[BUG] pthread_mutex_lock: Invalid argument (EINVAL)` doesn't seem like
    a fault of YJIT?

    https://github.com/ruby/ruby/actions/runs/7614455181/job/20736754975
    https://github.com/ruby/ruby/actions/runs/7615316673/job/20739572487

commit dbd76d9101cfb35b483ad5e173fc153102c9d03e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 01:43:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 02:56:43 +0900

    [PRISM] Fix keyword splat in IndexAndWriteNode and IndexOrWriteNode

    Fixes ruby/prism#2232 and ruby/prism#2234.

commit ab99ce910ce9a7aeb0b8a3224a1ed1e3e5faf71f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 01:36:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-23 02:55:06 +0900

    [PRISM] Insert concatarray for index targets with splat

commit e5f8585a2999bff59e8b79605db7868bf702f84b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 01:55:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-23 02:54:32 +0900

    [PRISM] Fix line for leave instructions

commit 4fc0a901ac683eaebc39db1948f8f0db6d8bd19f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-23 02:49:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-23 02:49:52 +0900

    Set a cached Ruby path using setup-ruby (#9645)

commit 703eee7745935c54e7b80b22b9b695e99f53fc5e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-23 01:55:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-23 01:55:44 +0900

    YJIT: Drop extra arguments passed by yield (#9596)

    Support dropping extra arguments passed by `yield` in blocks. For
    example `10.times { work }` drops the count argument. This is common
    enough that it's about 3% of fallback reasons in `lobsters`.

    Only support simple cases where the surplus arguments are at the top of
    the stack, that way they just need to be popped, which takes no work.

commit c7e87b21188386b2e9b9f2c8cf3b6c31ffff46c3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-23 01:42:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-23 01:42:32 +0900

    Fix up [Bug #20001]

commit a7af34fa8b6f1f370f8fa6c66086fc5669a9d0a2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-23 00:46:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 01:26:21 +0900

    [PRISM] Fix keywords arguments in IndexAndWriteNode

    Fixes ruby/prism#2233.

commit 5906ce42fe04e8d4a4fe4b68b8ac54193598db56
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 01:19:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-23 01:23:11 +0900

    [ruby/prism] Static literal flag for string hash keys

    https://github.com/ruby/prism/commit/26a2d774cd

commit 6401f282d25fa89823c9360b43e377c55e9ff7a5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 01:21:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-23 01:21:04 +0900

    [PRISM] Fix up source line for 1-indexed line numbers

commit eb5797062a947ebbaeb154b9c1f6fcab7972c033
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 01:16:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-23 01:16:33 +0900

    [ruby/prism] Reference prism after require

    https://github.com/ruby/prism/commit/0a8ff431df

commit e00f42e5d345ca742dec6f27b851b753ce45ca85
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 00:37:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-23 01:13:36 +0900

    [ruby/prism] Return 1-indexed line numbers

    https://github.com/ruby/prism/commit/ad17f58729

commit d68aaa66726b8fe929709521844e46dc20d61d08
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-23 00:29:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-23 01:12:38 +0900

    [PRISM] Freeze regex literals in iseqs

commit 580429d27ce320b1615a03878d1fa8e2df6b80e2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-20 04:33:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-23 00:51:43 +0900

    [PRISM] Fix incorrect ordering of MultiTargetNode

    Fixes ruby/prism#2218.

commit 6bcbb9a02baa8585c2d65e29c0a65d791b077611
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-22 23:39:59 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-23 00:18:41 +0900

    Make prism respect dump_without_opt

commit 2abf153016088605ea6dc77d9f6ba61f619cc273
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-22 20:26:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-22 23:40:52 +0900

    [PRISM] Add TP call/return events to method ISEQs

commit ee8f92673b52761ce133bd0f4c42d6784ece7ba6
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-22 22:23:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-22 23:10:43 +0900

    Enable test_syntax.rb

commit b8495048fb60d422072809b0b99762b46cafd3ea
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-19 04:51:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 22:19:57 +0900

    [ruby/prism] Unescape method name for unary methods.

    https://github.com/ruby/prism/commit/4386a4c0da

commit b4b35b1468f2a28caf9c778944be6bc555a11fbb
  Author:     Jean Boussier <byroot@ruby-lang.org>
  AuthorDate: 2024-01-19 22:06:44 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2024-01-22 21:45:24 +0900

    Add an autoload spec for the behavior inside autoload but after the constant is defined

commit d940e3b2c3c413b697c415718d4ef0991e75383f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-17 16:46:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-22 19:39:34 +0900

    `cexpr!` must be up to one per line now

commit 127b19ab561b5365884b465d50356a1e4019713c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-17 16:45:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-22 19:39:34 +0900

    Use line numbers as builtin-index

    The order of iseq may differ from the order of tokens, typically
    `while`/`until` conditions are put after the body.

    These orders can match by using line numbers as builtin-indexes, but
    at the same time, it introduces the restriction that multiple `cexpr!`
    and `cstmt!` cannot appear in the same line.

    Another possible idea is to use `RubyVM::AbstractSyntaxTree` and
    `node_id` instead of ripper, with making BASERUBY 3.1 or later.

commit 754e4e0c9cab9d5a71c33831f7cad531e7d35caa
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 17:55:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 18:23:05 +0900

    Stop sync csv repo

commit 2e69137dbe9fd7c03dac9b8adc30a7eba3ecb10b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 17:55:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 18:23:05 +0900

    Use version dependant library for completion test

commit 92141d6269f845a3125f6c833398722904603cd4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 17:24:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 18:23:05 +0900

    Document about csv at Ruby 3.4

commit f2dce4e6e07abf632357ac105f4ed201e4ee9781
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 17:23:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 18:23:05 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/csv/**/*.rb

commit e195710d10225458008b79dbb734b1cddcd6230d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 17:23:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 18:23:05 +0900

    Extract csv

commit 3d19409637de1462b6790d2a92344bf0a10d8c52
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-18 23:41:04 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-22 16:05:43 +0900

    Use index for referring to symbols in `args` rule instead of named references

    In `args: args ',' arg_splat`, `args` is not unique name.
    Currently the associated rule is interpreted as
    `$$ = rest_arg_append(p, $$, $3, &@$);`.
    The action works as expected because `$$` is initialized with
    `$1` before each action is executed.
    However it's misleading then change to use index.

commit 8bcc764f71c8bb93871dc6a7526319ca78242518
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 15:26:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 15:59:40 +0900

    Document about syslog at Ruby 3.4

commit b5b98546cfb07988051877f08f84233665ab5fcd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 15:25:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 15:59:40 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/syslog/**/*.rb

commit 029b6d5b76e49d2b5fc1494856e5410d57e5352a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 15:24:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 15:59:40 +0900

    Extract syslog

commit 38a1b88d1eb7cc1c0ff2baa36e85509ae8846b1e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 13:37:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 14:17:52 +0900

    Skip nkf from check_existence

commit 52a0ebe292689e9c7e66bc548b7cd2c6f7e5b8c8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 12:34:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 14:17:52 +0900

    Document about nkf at Ruby 3.4

commit f869f2ecf1d1631880d0f885220c48592429a695
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 12:34:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 14:17:52 +0900

    Stop sync nkf repo

commit df70faa9c92beec4d78bbd5d0a8e0f24e16fdb7c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 12:33:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 14:17:52 +0900

    Extract nkf

commit 34315510d34543cf14fe0ac9e8adb1d86b5beebf
  Author:     Eddie Lebow <public@elebow.echo209.net>
  AuthorDate: 2024-01-22 13:35:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 13:42:37 +0900

    [ruby/irb] Fix documentation typo, `niL` -> `nil`

    https://github.com/ruby/irb/commit/79086a9dda

commit 3b3f03666ae74ed79b5387261c63052c3de0022e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 12:32:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 12:35:04 +0900

    Refine entry title

commit c44d15c639cfd227bd46037805d7393d0fbe8023
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 12:31:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 12:35:04 +0900

    Stop sync drb repo

commit 6c0e58a54e3fda604386d9c409e2a9998bbc9352
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-01-22 10:06:03 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-22 12:34:31 +0900

    Make sure the correct error is raised for EAI_SYSTEM resolver fail

    In case of EAI_SYSTEM, getaddrinfo is supposed to set more detail in
    errno; however, because we call getaddrinfo on a thread now, and errno
    is threadlocal, that information is being lost. Instead, we just raise
    whatever errno happens to be on the calling thread (which can be
    something very confusing, like `ECHILD`).

    Fix it by explicitly propagating errno back to the calling thread
    through the getaddrinfo_arg structure.

    [Bug #20198]

commit 5b109ff14d274d0599839c61c77b32628c2d1971
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 11:13:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 12:30:12 +0900

    [ruby/nkf] Bump up version to 0.2.0

    https://github.com/ruby/nkf/commit/65506fecfd

commit 4a11f50f79e7fd592a300f46302e11f56e04a983
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-22 12:06:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-22 12:06:00 +0900

    [DOC] Update command_injection.rdoc

    - Add missing `Kernel.exec` and `Kernel.spawn`.
    - Elaborate arguments that can cause injections.

commit 33290896dcf23e8f84f9626d87c6f1c4d7cfa04e
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-01-22 07:13:35 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-22 11:44:52 +0900

    Disable NSS modules when using the leakchecker

    The leakchecker will report leaked file descriptors when tests do things
    like access `Etc.getgrgid`, for example, if NSS modules (like `sss`)
    handle these lookups by connecting to a daemon like `sssd` and leave the
    connection open.

    To address this, we can call glibc's `__nss_configure_lookup` to
    override NSS modules configured in /etc/nsswitch.conf and only use
    ordinary file/DNS lookups.

    (This is a cherry-pick of a patch applied to ruby/mspec here:
    https://github.com/ruby/mspec/pull/62)

commit 52fc93cab71e56699fb2b216faca1216f8bfc862
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 10:36:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 11:08:59 +0900

    added redirect wrapper for envutil

commit 220f7c9d8e5905bcb9dfceb9fa71628f1e9127f4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 10:11:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 11:08:59 +0900

    Re-use drb from bundled gems

commit 854b1f6072298ea96139e282d70e1276a959761e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 10:11:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 11:08:59 +0900

    Document about drb at Ruby 3.4

commit 87f16fbc6d21b5b20e38789dfd010e2b94f22efc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 10:10:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 11:08:59 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/drb/start_service_spec.rb

commit 36fc5ee64f8c42836bfad57c8d6df833ce29d7d7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-22 10:10:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 11:08:59 +0900

    Extract drb

commit 67b00f721dd4a8e2a137fcc4d69071ba2f5cbd8c
  Author:     Stan Hu <stanhu@gmail.com>
  AuthorDate: 2024-01-20 07:48:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 09:57:10 +0900

    Make tests play with upstream Ruby tests

    CI broke in https://github.com/ruby/ruby/pull/9604 because if any Ruby
    tests run `require 'net/http'`, they will pollute the
    `$LOADED_FEATURES` for the RubyGems tests. We can fix this by renaming
    the test default gem from `net-http` to `my-http`.

    See https://github.com/rubygems/rubygems/pull/7379#issuecomment-1901241299
    for more details.

commit 00dc1cace803fa557c685e7cb395bfaa77bc03a9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 13:32:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 09:57:10 +0900

    Reapply "[rubygems/rubygems] Fix activation conflicts when circularly requiring a gem"

    This reverts commit 04cf66765a8a9d48baea6d9aee266dc9aa21df27.

commit d51f4c9288a2195fbf6889fca8790587f71a1cd9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 13:32:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-22 09:57:10 +0900

    Reapply "[rubygems/rubygems] Fix `require` of a default gem when unresolved gems depend on it"

    This reverts commit 54552b89e73fc616ba47c1c87d33625af99cbce9.

commit 94af1e5b811f13f9c1b9be6ab6a9eea192a713f8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 20:09:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 09:19:51 +0900

    [ruby/uri] Removed commented-out code

    https://github.com/ruby/uri/commit/feb8e0dd73

commit 34c5e78760d36277b8997be8c09a79b5cdd65407
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2024-01-19 15:13:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 09:12:49 +0900

    [ruby/nkf] Drop GPL and add licenses to gemspec

    https://github.com/ruby/nkf/commit/19df7138f7

commit c6b548accbd211b69b0611b584e7673147aaea41
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2024-01-19 10:45:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-22 09:12:45 +0900

    [ruby/nkf] Add JRuby extension to the gem

    This pulls in the nkf extension implementation from JRuby. The
    build and load logic has been updated along the same lines as
    ruby/digest and the gem appears to build correctly for the -java
    platform.

    Fixes https://github.com/ruby/nkf/pull/13

    https://github.com/ruby/nkf/commit/18f57f36ed

commit e2e15ddd676f4ec69589599bad0961c435c5aba5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-21 18:41:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-21 18:41:41 +0900

    [DOC] `echo` command may not be a shell built-in

commit 366b14c0cd850d07f11b7c2f13d0456ece1c1036
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-20 02:03:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-21 00:27:19 +0900

    More tests

commit 99d6e2f1eeeea66b22b9bd68a4aaa2fdb881036b
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-13 05:23:47 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-20 10:12:07 +0900

    [PRISM] Revisit target nodes

commit ac4046d34b4e0850e9ff7573b795284fea6c2741
  Author:     Adam Hess <HParker@github.com>
  AuthorDate: 2024-01-20 05:41:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 07:57:46 +0900

    [ruby/prism] switch unless to if

    https://github.com/ruby/prism/commit/29bdbf4212

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit cfabe9c51cfa11f4020de119aa2bc707db15cf89
  Author:     Adam Hess <adamhess1991@gmail.com>
  AuthorDate: 2024-01-19 08:18:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 07:57:45 +0900

    [ruby/prism] Handle stovetop start in constant path fullname

    https://github.com/ruby/prism/commit/3a216e63fe

commit ed50161bd6dd27da21bd18c37b1a52d47c82a997
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-20 04:55:52 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-20 06:04:01 +0900

    [PRISM] Fix ensure code running twice

    Fixes: ruby/prism#2212

commit 4778b0eedaf4b490fe6b1fe2df9b58c1fe8e7639
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-20 05:00:35 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-20 05:32:20 +0900

    Fix kwarg ordering

    Required keyword arguments need to come first.

    Fixes: https://github.com/ruby/prism/issues/2158

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit e0f7cee8c54691127277d32b4560e44b8394cdc7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-20 04:51:35 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-20 04:51:35 +0900

    YJIT: Avoid doubly splitting Opnd::Value on CSel (#9617)

    YJIT: Avoid doubly splitting Opnd::Value

commit 740f0b52e051d6fd022bf4b9eeab078c841b49a2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-20 01:26:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-20 04:09:32 +0900

    [PRISM] Fix typo with pm_scope_node_destroy

    We need to run the pm_scope_node_destroy after compiling the iseq.

commit efe4b8ac0f5de49dcb20806f5a6c2d90273e8d52
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-19 08:11:17 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-20 02:35:36 +0900

    Fix ensure code when running break in a while loop

    We need to run ensure code when breaking from a while loop

    Co-authored-by: John Hawthorn <jhawthorn@github.com>
    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit 200d3cc14d4c98bfee3826bda9c0e09a1113d939
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-19 05:35:52 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-20 02:35:36 +0900

    add assert on SP

commit 400341aee9aad650b1e75bc840362d1dc8dd108d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-20 01:22:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-20 01:22:40 +0900

    [PRISM] Sync to latest

commit da521fc92c19465547f5760870df65731d1a12ca
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-20 01:12:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 01:12:25 +0900

    [ruby/prism] Parsing rules document

    https://github.com/ruby/prism/commit/57a9575543

commit 3c9290173a1421b0624a6d62c0844c778dbc61ad
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-20 01:00:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-20 01:00:46 +0900

    YJIT: Optimize defined?(yield) (#9599)

    * YJIT: Optimize defined?(yield)

    * Remove an irrelevant comment

    * s/get/gen/

commit a58e091686d9117673487b5b2ab6a793ecc81702
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-18 05:20:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:29 +0900

    [ruby/prism] Extract identifier lexing documentation to separate file

    https://github.com/ruby/prism/commit/c9df17e3c0

commit 9c06297cbb3aeef0e2fdcff689885e4ae1677002
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 06:24:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:28 +0900

    [ruby/prism] Remove non-ASCII examples from ReadNode fields documentation

    This is due to a constraint, enforced in `templates/template.rb`,
    relating to non-UTF-8 locales prohibiting non-ASCII characters in C
    source files.

    https://github.com/ruby/prism/commit/74e9a890be

commit 57c138c5f4a57890f55a54c7c3f5bb55ee49c909
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 06:07:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:28 +0900

    [ruby/prism] Document ConstantReadNode fields

    https://github.com/ruby/prism/commit/a1623f6451

commit b7d37e274a58cc3afa06d421627d11e226329cec
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 05:51:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:27 +0900

    [ruby/prism] Document LocalVariableReadNode fields

    https://github.com/ruby/prism/commit/5e9afd3729

commit 1c5e54069f0390c6cb0171d14a822dbc1f362f46
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 05:34:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:27 +0900

    [ruby/prism] Document NumberedReferenceReadNode fields

    https://github.com/ruby/prism/commit/c3148b4519

commit 3fa6dbf304b0c3f456bb14faa63820f5044ffc05
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 05:25:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:26 +0900

    [ruby/prism] Document BackReferencedReadNode fields

    https://github.com/ruby/prism/commit/99a5660623

commit 512be6cee1471c627c4677c44d750884b77e174f
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 05:20:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:26 +0900

    [ruby/prism] Document GlobalVariableReadNode fields

    https://github.com/ruby/prism/commit/5d092e6389

commit 9031fd08dc7cd8c305b2e4b19948ddaf2b973ee0
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 05:03:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:26 +0900

    [ruby/prism] Document ClassVariableReadNode fields

    https://github.com/ruby/prism/commit/23ed81dd15

commit 88810f710968ff3148a444633500a4485f4080e8
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 04:55:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-20 00:43:25 +0900

    [ruby/prism] Document InstanceVariableReadNode fields

    https://github.com/ruby/prism/commit/c0747103b0

commit d0b774cfb8ddf075c23d1b5ab1fc6f47123ccf65
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 05:55:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-20 00:25:02 +0900

    Remove null checks for xfree

    xfree can handle null values, so we don't need to check it.

commit d29cd972f704b42a25a8de2e5f5380f8aee3144a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-19 22:38:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-19 23:49:09 +0900

    [ruby/prism] Use inttypes for more accurate printf formatting

    https://github.com/ruby/prism/commit/2a22b9b72f

commit c46d23cde7c6bfc2af762525a767cdf1a099438f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 19:34:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 20:02:19 +0900

    Added dependencies rinda and drb

commit fa5094e1835173bf27ca13cf2619522f6d3beb04
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 18:12:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 20:02:19 +0900

    Stop sync rinda repo

commit ce73fbd717a254ad5daab5c5c3b0f9c1f31ff886
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 18:12:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 20:02:19 +0900

    Document about rinda at Ruby 3.4

commit 411cda2d5ce6df1c24d31cd08926adf3acc0f47c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 18:11:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 20:02:19 +0900

    Extract rinda

commit 0f315216bb5056878e4bcffc391b2ee0de68ac17
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-01-19 17:57:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-19 17:57:54 +0900

    Update bundled gems list as of 2024-01-19

commit 31a5d4a0cdf6e76708ea93854eef8b7b919e9119
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 16:53:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 17:44:58 +0900

    Skip test task for resolv-replace

commit 36095ed3db9a449fba6a0a1cfbed9cd7d92a59b8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 16:33:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 17:44:58 +0900

    Removed sync task for resolv-replace

commit 6c098d145a9f468d4a7971234bda9673f9368aaf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 16:32:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 17:44:58 +0900

    Document about resolv-replace at Ruby 3.4

commit 99c2c703da8f31bf1cb6f0641c18be35ded7ba0f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 16:32:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 17:44:58 +0900

    Extract resolv-replace

commit 11ec59c92bab5346fc0fdce9d8ed2ac6cf95e4fd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 15:57:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 16:27:45 +0900

    Removed sync task for abbrev

commit e28bdff94140bd9884e27ff1c42c31e121e65827
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 15:43:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 16:27:45 +0900

    Document about abbrev at Ruby 3.4

commit f4670b46c458cdc57eeee2fead2ffe811ea65096
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 15:42:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 16:27:45 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/abbrev/**/*.rb

commit b4ee5266f196afc66686e88a4033262fa0f4933d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 15:41:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 16:27:45 +0900

    Extract abbrev as bundled gems

commit d3898e975254aaa7b17b5a48202d3d77f5f2d152
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 15:56:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 15:56:55 +0900

    Removed sync task for observer

commit e8cb9e1328889bead2440ab36be9ee36ebe65b49
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-01-19 15:35:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-19 15:35:57 +0900

    Update bundled gems list as of 2024-01-18

commit fb5722c09a17d8fa2b5e354f7f2a64c5971459fa
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 14:02:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 15:24:09 +0900

    Document about observer at Ruby 3.4

commit 8b551b0e7ac0ac46394e55674b467b35a20c3d48
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 13:58:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 15:24:09 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/observer/**/*.rb

commit 176a4428838cb9a416c236b72b9b56f69afa7e12
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 13:57:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 15:24:09 +0900

    Extract observer as bundled gems

commit 68b403c45a8e2b81d204448309deaa4717c586ed
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 14:01:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 14:01:30 +0900

    Fixed inconsistent library name

commit 385a1b15efb4736a2462eff10057cd14f213ffe2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 14:00:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 14:00:08 +0900

    Fixed upstream URL at bundled gems

commit 54552b89e73fc616ba47c1c87d33625af99cbce9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 12:12:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 12:12:33 +0900

    Revert "[rubygems/rubygems] Fix `require` of a default gem when unresolved gems depend on it"

    This reverts commit f1f5f22d22a149f20e019728b1ab35593d29d81a.

commit 04cf66765a8a9d48baea6d9aee266dc9aa21df27
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-19 11:53:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 11:54:17 +0900

    Revert "[rubygems/rubygems] Fix activation conflicts when circularly requiring a gem"

    This reverts commit db44088c2a92040879386aa5f268db4c858e4e5b.

      https://github.com/ruby/ruby/actions/runs/7578672002/job/20641640821
      https://github.com/ruby/ruby/actions/runs/7578672002/job/20641641212
      https://github.com/ruby/ruby/actions/runs/7578672002/job/20641642031

commit a8fa28ab8089011695618d9cdac87c2d6a188482
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-16 00:03:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 11:29:55 +0900

    Bump uri version used in development

commit db44088c2a92040879386aa5f268db4c858e4e5b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-12 22:53:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 11:28:11 +0900

    [rubygems/rubygems] Fix activation conflicts when circularly requiring a gem

    If a gem is required circular, and there are unresolved specs depending
    on it, we may end up in an activation conflict.

    The solution is to not try to activate unresolved gems when requiring a
    default gem, regardless of it having already been activated or not.

    https://github.com/rubygems/rubygems/commit/3b2b8f4e3e

commit f1f5f22d22a149f20e019728b1ab35593d29d81a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-12 05:53:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 11:28:11 +0900

    [rubygems/rubygems] Fix `require` of a default gem when unresolved gems depend on it

    The following conditions must be met:

    * A default gem is required.
    * A previous require left some gems unresolved, and those dependencies
      themselves depend on the default gem.

    In this case, rubygems require will first activate the default version
    of the gem, then try to activate another unresolved version of the
    default gem that conflicts with the first activation.

    The solution is, if we are in the middle of requiring a default gem,
    skip this step, because we have already activated it successfully.

    https://github.com/rubygems/rubygems/commit/8cd5608db5

    Co-authored-by: Stan Hu <stanhu@gmail.com>

commit 8044e57907bc5a066ca9ef309d90c62906f8e2ec
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-12 07:02:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 11:28:10 +0900

    [rubygems/rubygems] Add a comment to explain default gem activation

    https://github.com/rubygems/rubygems/commit/291128268f

commit b2ec4308d69a13f3ff3b1b3128d52b3cb0222d34
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-09 22:20:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 10:49:12 +0900

    [ruby/irb] Bump version to v1.11.1
    (https://github.com/ruby/irb/pull/837)

    https://github.com/ruby/irb/commit/f052097c4b

commit 91f35305807f7303bfb58ccdffe86820a2300b8c
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-01-14 21:26:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 10:49:12 +0900

    [ruby/strscan] Add test to check encoding for empty string
    (https://github.com/ruby/strscan/pull/80)

    See: https://github.com/ruby/strscan/issues/78#issuecomment-1890849891

    https://github.com/ruby/strscan/commit/d0508518a9

commit ac636f5709feb1d9d7a0c46a86be153be765cf21
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2024-01-13 06:34:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 10:49:12 +0900

    [ruby/strscan] Bump version

    https://github.com/ruby/strscan/commit/d6f97ec102

commit 4e47671073f2b9d03430a1ba05f5b0451343f006
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-18 03:10:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-19 10:49:12 +0900

    [rubygems/rubygems] Test that regular gems don't shadow default gems

    https://github.com/rubygems/rubygems/commit/b8ca5950a6

commit 7b253cfea4212bc97a37514b9ffa8405de04748c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-19 09:53:28 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-19 10:22:40 +0900

    RJIT: Properly reject keyword splat with `yield`

    See the fix for YJIT.

commit bbd249e351af7e4929b518a5de73a832b5617273
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-19 09:26:03 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-19 10:22:40 +0900

    YJIT: Properly reject keyword splat with `yield`

    We don't have support for keyword splat anywhere, but we tried to
    compile these anyways in case of `invokeblock`. This led to bad things
    happening such as passing the wrong value and passing a hash into
    rb_yjit_array_len(), which raised in the middle of compilation.

    [Bug #20192]

commit 61da90c1b8d5c9a62d429ef66f000117eca675b3
  Author:     KJ Tsanaktsidis <ktsanaktsidis@zendesk.com>
  AuthorDate: 2024-01-17 09:45:33 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-19 07:55:12 +0900

    Mark asan fake stacks during machine stack marking

    ASAN leaves a pointer to the fake frame on the stack; we can use the
    __asan_addr_is_in_fake_stack API to work out the extent of the fake
    stack and thus mark any VALUEs contained therein.

    [Bug #20001]

commit 3cfcb45ecfb8dde9920220ae65ea6040e456bbd1
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 12:57:10 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-19 07:55:12 +0900

    Define special macros for asan/msan being enabled

    __has_feature is a clang-ism, and GCC has a different way to tell if
    sanitizers are enabled. For this reason, I don't want to spray
    __has_feature all over the codebase for other places where conditional
    compilation based on sanitizers is required.

    [Bug #20001]

commit cabdaebc701217049d8a6457c5100f23910f4423
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 11:34:43 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-19 07:55:12 +0900

    Make stack bounds detection work with ASAN

    Where a local variable is used as part of the stack bounds detection, it
    has to actually be on the stack. ASAN can put local variable on "fake
    stacks", however, with addresses in different memory mappings. This
    completely destroys the stack bounds calculation, and can lead to e.g.
    things not getting GC marked on the machine stack or stackoverflow
    checks that always fail.

    The __asan_addr_is_in_fake_stack helper can be used to get the _real_
    stack address of such variables, and thus perform the stack size
    calculation properly

    [Bug #20001]

commit 807714447ef02c77bb0e17fe27d96ee2692264f8
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 11:24:55 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-19 07:55:12 +0900

    Pass down "stack start" variables from closer to the top of the stack

    This commit changes how stack extents are calculated for both the main
    thread and other threads. Ruby uses the address of a local variable as
    part of the calculation for machine stack extents:

    * pthreads uses it as a lower-bound on the start of the stack, because
      glibc (and maybe other libcs) can store its own data on the stack
      before calling into user code on thread creation.
    * win32 uses it as an argument to VirtualQuery, which gets the extent of
      the memory mapping which contains the variable

    However, the local being used for this is actually too low (too close to
    the leaf function call) in both the main thread case and the new thread
    case.

    In the main thread case, we have the `INIT_STACK` macro, which is used
    for pthreads to set the `native_main_thread->stack_start` value. This
    value is correctly captured at the very top level of the program (in
    main.c). However, this is _not_ what's used to set the execution context
    machine stack (`th->ec->machine_stack.stack_start`); that gets set as
    part of a call to `ruby_thread_init_stack` in `Init_BareVM`, using the
    address of a local variable allocated _inside_ `Init_BareVM`. This is
    too low; we need to use a local allocated closer to the top of the
    program.

    In the new thread case, the lolcal is allocated inside
    `native_thread_init_stack`, which is, again, too low.

    In both cases, this means that we might have VALUEs lying outside the
    bounds of `th->ec->machine.stack_{start,end}`, which won't be marked
    correctly by the GC machinery.

    To fix this,

    * In the main thread case: We already have `INIT_STACK` at the right
      level, so just pass that local var to `ruby_thread_init_stack`.
    * In the new thread case: Allocate the local one level above the call to
      `native_thread_init_stack` in `call_thread_start_func2`.

    [Bug #20001]

    fix

commit 08edad31a6d5c9efd86bede1e942a32cff498427
  Author:     Olle Jonsson <olle.jonsson@gmail.com>
  AuthorDate: 2024-01-18 21:16:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-19 07:49:32 +0900

    [rubygems/rubygems] Drop two TODOs from specification.rb

    These were introduced 13 years ago, in a documentation update. Perhaps we can let the TODOs go, without taking any action?

    https://github.com/rubygems/rubygems/commit/fb23fa84f9

commit c28094d3850939cba360877780c4fec79f959764
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-19 01:55:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-19 06:33:25 +0900

    [PRISM] Add function to free scope node

    pm_scope_node_destroy frees the scope node after we're done using it to
    make sure that the index_lookup_table is not leaked.

    For example:

        10.times do
          100_000.times do
            RubyVM::InstructionSequence.compile_prism("begin; 1; rescue; 2; end")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        33056
        50304
        67776
        84544
        101520
        118448
        135712
        152352
        169136
        186656

    After:

        15264
        15296
        15408
        17040
        17152
        17152
        18320
        18352
        18400
        18608

commit 47081c3ee321f477d09c90c09909bea36521efd2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-19 01:38:53 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-19 06:33:25 +0900

    [PRISM] Pass pm_scope_node_t by reference

    We can pass pm_scope_node_t by reference to pm_new_child_iseq rather
    than by value.

commit 60dd731125fb540a1a222e2fcffa4fed020703fc
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-18 23:39:32 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-19 05:25:28 +0900

    [PRISM] Correct checkmatch flags for splat in rescue

commit 8a3e7f08b85a9a21077c420b6fa76f56899e90ee
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-18 01:44:58 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-19 05:03:27 +0900

    [PRISM] Fix case splat with no predicate

commit 33306a08d119fe6e178314a48b8b3f22ae1bb617
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-19 04:40:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-19 04:40:11 +0900

    YJIT: Stop incrementing chain_depth on defer_compilation (#9597)

commit d8ac96efc57be460a0aad5d6ae033639439506fb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-19 00:36:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-19 03:40:14 +0900

    [PRISM] Fix memory leak in case nodes

    The temporary array conditions_labels is heap allocated and never freed.
    We can use alloca instead to stack allocate it so that we don't need to
    manually free it.

    For example:

        code = "case; #{100.times.map { "when #{it}; " }.join}; end"

        10.times do
          10_000.times do
            RubyVM::InstructionSequence.compile_prism(code)
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        21376
        30304
        38800
        47184
        55456
        64192
        72288
        80400
        89040
        97104

    After:

        13088
        13632
        13760
        14016
        14688
        14992
        15120
        15232
        15744
        15744

commit d3b07b984545ce156e02e9f71404b652c6cb5284
  Author:     Robert Schulze <robert@dotless.de>
  AuthorDate: 2023-02-23 21:38:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-19 02:32:34 +0900

    [ruby/psych] Add :stringify_names option to convert symbol keys to string for dumping

    https://github.com/ruby/psych/commit/3d051d89aa

commit 00814fd6724fff66a10966f5be10ea6dae06c616
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 23:51:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-19 00:35:46 +0900

    [PRISM] Fix memory leak in iseq

    rb_iseq_compile_prism_node calls both rb_translate_prism and iseq_setup.
    Both of these functions call iseq_set_sequence. This means that the first
    iseq_set_sequence will leak because the iseq will be overwritten.

    For example:

        10.times do
          100_000.times do
            RubyVM::InstructionSequence.compile_prism("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        20528
        27328
        33840
        40208
        46400
        52960
        59168
        65600
        71888
        78352

    After:

        13696
        13712
        13712
        13712
        13712
        14352
        14352
        14992
        14992
        14992

commit ef685554c90e78f1ce8ed3a26745b0bd58df278e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-01-19 00:15:25 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-19 00:15:25 +0900

    [DOC] RDoc for ARGF (#9558)

commit 419f4260aa4827c633b3172d95a9fa5f9aa7b8e2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-18 16:01:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 16:01:02 +0900

    Use released version of bigdecimal

commit a660e1de18fb4b21f5603198d228de7f8c9e3a07
  Author:     Edwing123 <40911825+Edwing123@users.noreply.github.com>
  AuthorDate: 2024-01-18 15:56:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-18 15:56:42 +0900

    [DOC] correct doc comment for rb_ary_aset

    Signed-off-by: Edwin Garcia <egarciavalle2014@gmail.com>

commit fd1bafc11f74cb2bb74bf97bcba4ef694a533aec
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-18 12:42:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 12:42:21 +0900

    [ruby/stringio] Fix ascii_only? flag in strio_write
    (https://github.com/ruby/stringio/pull/77)

    Followup of #79

    `rb_str_resize()` was changed by https://github.com/ruby/ruby/commit/b0b9f7201acab05c2a3ad92c3043a1f01df3e17f  .

    ```c
    rb_str_resize(string, shorter) // clear ENC_CODERANGE in some case
    rb_str_resize(string, longer) // does not clear ENC_CODERANGE anymore
    ```

    ```c
    // rb_str_resize in string.c
    if (slen > len && ENC_CODERANGE(str) != ENC_CODERANGE_7BIT) {
      ENC_CODERANGE_CLEAR(str);
    }
    ```

    I think this change is based on an assumption that appending null bytes
    will not change flag `ascii_only?`.

    `strio_extend()` will make the string longer if needed, and update the
    flags correctly for appending null bytes.
    Before `memmove()`, we need to `rb_str_modify()` because updated flags are not
    updated for `memmove()`.

    https://github.com/ruby/stringio/commit/b31a538576

commit af60cdf6747316b23bf254128d8472e6c3c0d969
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-18 10:35:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 10:36:52 +0900

    [ruby/io-console] Bump up version to 0.7.2

    https://github.com/ruby/io-console/commit/1f2877a185

commit 42177a8987c06678f0afed713457fa327d606c62
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-01-18 08:45:09 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-01-18 08:45:09 +0900

    [DOC] Update ruby version in Building Ruby Dependencies

commit 8370b3bc3255791004a273c8ea1d71ab0566b06d
  Author:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  AuthorDate: 2024-01-18 08:40:16 +0900
  Commit:     Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
  CommitDate: 2024-01-18 08:40:16 +0900

    Add baseruby version message

    Because `--with-baseruby=/usr/bin/ruby` on macOS is Ruby 2.6,
    I was confused why `--with-baseruby` was ignored.

commit fd81c887f9067dbc3b594dfc7a23de1c35919daf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 13:24:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Use fixed commit for failing result of test-bundled-gems

      https://github.com/ruby/ruby/actions/runs/7550805131/job/20557022764?pr=9573
      https://github.com/ruby/bigdecimal/commit/338e896234bdcf672b91f2c2052527b09e2870f8

commit 7cb1125446a5f25a4c2d7163bfd2b41b811df467
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 14:08:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/core/rational/coerce_spec.rb

commit 44d74f22c8da3c13aa5363769418e2f5fd29f65a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 13:50:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Guard bigdecimal related examples

      spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/core/integer/coerce_spec.rb
      spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/shared/rational/coerce.rb
      spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/bigmath/log_spec.rb

      and example of at_spec.rb

commit 4328f190eaae5fc7e15e9889a0d9e7b2b8fa56ab
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 13:15:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/bigdecimal/**/*_spec.rb

commit 9f729cf36a14ac47a08399aa0426343353f20b6c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 12:51:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Skip bigdecimal extension on TestExtLibs

commit 0bdab1a784fb295df627f4650e14966fe11ec3e0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 12:31:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Load Rake::TaskLib when missing it

commit 4dde4d1437ad5c39e4fdd78fdb6bdc3b230f9f7b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 10:01:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Stop sync commits from bigdecimal repo

commit 272b1c92cceb7b1e2780856058183aa79f3ff213
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 10:00:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Document about bigdecimal at Ruby 3.4

commit 2b0766113b35baf188bcb40e7da36a27423a2149
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 09:59:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-18 07:44:13 +0900

    Extract bigdecimal as bundled gems

commit db9f5fc91620b799c8829d0ca69bf72564a16e14
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 01:40:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_UNLESS_NODE

    Ruby code:

    ```ruby
    defined?(unless true; 1; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 555af5e599772033d3073afd6b91c28dc53b3f71
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 01:38:02 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_UNTIL_NODE

    Ruby code:

    ```ruby
    defined?(until a == 1; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 24d02cd4859ea3cee3b9dfaca196c7b34c5686a4
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 01:36:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_WHILE_NODE

    Ruby code:

    ```ruby
    defined?(while a != 1; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit b5d3d61130437de1434cf1a98048bf9d40e7908b
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 01:03:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_SINGLETON_CLASS_NODE

    Ruby code:

    ```ruby
    defined?(class << self; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit d2000e0e6c3b7538e7bec51af8d5a128e8acf7ab
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 01:00:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_RATIONAL_NODE

    Ruby code:

    ```ruby
    defined?(1.2r)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 913772a08acb9ebf4ea91762ebcf5ccdb1d9732c
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:50:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_MODULE_NODE

    Ruby code:

    ```ruby
    defined?(module M; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit a9a22b9f2d3200cb55938a0eaf8d2c42ea05c7c9
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:49:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_MATCH_REQUIRED_NODE

    Ruby code:

    ```ruby
    defined?(1 => 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit b40fc4f0a7f9aafb1d9cf2079d89f0a00047c47b
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:47:50 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_MATCH_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(/(?<foo>bar)/ =~ 'barbar')
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,35)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] foo@0
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,35)>
    local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1])
    [ 1] foo@0
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit a2092ef2070091caa42dfaa304ecc5a16dc1694a
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:45:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_IF_NODE

    Ruby code:

    ```ruby
    defined?(if true; 1; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit fb1eed3f7034c9219f83d086011296f8955bcddc
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:44:01 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_FOR_NODE

    Ruby code:

    ```ruby
    defined?(for i in [1,2] do; i; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 7460820fec8086d14c820d8e8f8042811105470f
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:42:22 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_DEF_NODE

    Ruby code:

    ```ruby
    defined?(def prism_test_def_node; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 30e7dbb78de4d4690b29b996424c7e7f4400b853
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:40:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_CLASS_NODE

    Ruby code:

    ```ruby
    defined?(class PrismClassA; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 9bcd42c378c0755c9aa606f84405e01c8ed5255f
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:38:33 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_CASE_MATCH_NODE

    Ruby code:

    ```ruby
    defined?(case [1, 2, 3]; in [1, 2, 3]; 4; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 75bed8c61ac03368a4f3b6774a15e79af85d3f97
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:37:14 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:21:29 +0900

    [Prism] Implement defined? for PM_CASE_NODE

    Ruby code:

    ```ruby
    defined?(case :a; when :a; 1; else; 2; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,43)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,43)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit a25c6fd9a00b29fabca5f9013e47574eedc1e5b1
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 06:31:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 07:20:25 +0900

    [PRISM] Fix test spelling `RescueModifer` -> `RescueModifier`

    `RescueModifier` was spelled wrong. Not a big deal, but it meant I
    didn't immediately find the test when I was searching for it while
    working on implementing `defined?` nodes.

commit 9f0d38960f8b3a5e8544105fdbeda79cbd7ecd4c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 05:29:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 07:07:51 +0900

    [PRISM] Refactor keyword hash nodes

    Follow up to #9540.

commit 00f9456f166e9d45c70e530992f5a90b37050553
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 04:59:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 07:07:51 +0900

    [PRISM] Remove unnecessary flag setting

    VM_CALL_KW_SPLAT and VM_CALL_KW_SPLAT_MUT are guaranteeed to be set in
    this code path, so we don't need to set it again.

commit c546ee3bb5a8d7469ea6db86f21963dc04913c30
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-18 04:08:21 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-18 06:17:25 +0900

    Remove SizedQueue#freeze

    Queue#freeze uses the same C function, so SizedQueue#freeze can use
    that via normal method lookup.

commit e1bae2c6930cee58586e9c9d7999b0143af3ee23
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:24:34 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_INDEX_OR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?([0][0] ||= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit ff54a8f4c7b46b60ef3849a66fd46d1a199c83f2
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:23:23 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_INDEX_OPERATOR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?([0][0] += 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit f8ef77af3bbd2690c81cffccdf40afe953c7e6a7
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:22:01 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_INDEX_AND_WRITE_NODE

    Ruby code:

    ```ruby
    defined?([0][0] &&= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit e217c5772bd1824606c029d093e39f43acb15179
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:18:02 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CONSTANT_PATH_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(Prism::CPWN = 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 54b8330e45b718fc33cd391d6f0ed6cb67ee73c3
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:12:49 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CONSTANT_PATH_OR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(Prism::CPOrWN ||= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 3c9dc2f806af09005d39b4d8ffbf260485b248e2
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:09:18 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CONSTANT_PATH_OPERATOR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(Prism::CPOWN += 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 98d6f503129f436292073c22ac1051a31bfd5f00
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:05:58 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CONSTANT_PATH_AND_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(Prism::CPAWN &&= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 7522e867ee1b77a303d294ef9fba26889c1e59dd
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:03:36 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CALL_OR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(PrismTestSubclass.test_call_or_write_node ||= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 9c5391d7dc99fcc06fae1541f1f6fc0c2913c932
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-18 00:01:38 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CALL_OPERATOR_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(PrismTestSubclass.test_call_operator_write_node += 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit f657fd150f46ab4d93344d34bcb663630d7f064a
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 06:11:24 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-18 06:08:49 +0900

    [Prism] Implement defined? for PM_CALL_AND_WRITE_NODE

    Ruby code:

    ```ruby
    defined?(PrismTestSubclass.test_call_and_write_node &&= 1)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,58)>
    0000 putobject                              "assignment"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,58)>
    0000 putobject                              "assignment"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit a6e924cf5f67368b49d5745f5cae22bc68ef21a1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 01:50:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 05:51:44 +0900

    [PRISM] Fix crash in compile_prism

    If the argument is not a file or a string, it assumes it's a string
    which will crash because RSTRING_PTR and RSTRING_LEN assumes it's a
    string.

commit b0a32b724971c5113c02946b1b959c1d73a9e256
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-18 04:35:51 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 05:04:01 +0900

    [PRISM] Enable more btests

commit b2c12bfddbe7a0efdb7e7087dc7d05f8ce345b35
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-01-18 03:11:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 04:35:14 +0900

    [ruby/prism] Document order of scopes in parsing options

    https://github.com/ruby/prism/commit/908e92a695

commit f43a919be494cf5b0f98f104da1024efda1abba5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 01:19:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 03:17:44 +0900

    [PRISM] Fix fallthrough for PM_ENSURE_NODE

    This caused it to fall into PM_ELSE_NODE which caused ensure nodes to be
    compiled twice.

    Fixes ruby/prism#2176.

commit de9411c0b91010e3a30b86904c7470b724564341
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-18 02:24:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:47:34 +0900

    [ruby/prism] Test version: 3.3.0

    https://github.com/ruby/prism/commit/94ecb366c4

commit 27d81b92828b7cb9d694724ebf12b614b0e6fb21
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-18 02:08:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:47:34 +0900

    [ruby/prism] Guard 3.3.0 for pinned it

    https://github.com/ruby/prism/commit/9778377b12

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit e0d60a833b8baa6305a2027253c1deafe5b5bcba
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-17 15:06:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:47:34 +0900

    [ruby/prism] Fix => ^it

    https://github.com/ruby/prism/commit/24a2872b4e

commit bcc4b07cc318df3d5f53f14e36829eeab4066ecc
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-17 14:47:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:47:33 +0900

    [ruby/prism] Add a documentation about 0it

    https://github.com/ruby/prism/commit/313be8e3f7

commit 603f2ca730cc62818a7a9852291f5877cbadd55d
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-13 02:12:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:47:33 +0900

    [ruby/prism] Parse `it` default parameter

    https://github.com/ruby/prism/commit/a0c5361b9f

commit cd4290910c7f3f63118567101bf6cec4df90361a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-18 02:42:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:42:50 +0900

    [ruby/prism] Wording in node field comments

    https://github.com/ruby/prism/commit/c9c913ee99

commit 32cbbfc97d56d9c01677b5411518b52c9404c484
  Author:     nikhilbhatt <nikhilbhatt931@gmail.com>
  AuthorDate: 2024-01-17 12:09:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:35:07 +0900

    [ruby/prism] Added descriptive comments

    https://github.com/ruby/prism/commit/2695ae115d

commit 5273c4c9199c154f1818e256127fc539ff8a8a55
  Author:     nikhilbhatt <nikhilbhatt931@gmail.com>
  AuthorDate: 2024-01-14 17:58:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:35:06 +0900

    [ruby/prism] Document AndNode and OrNode

    https://github.com/ruby/prism/commit/a925856c2b

commit e1751b2ec8ddc3a423446b68109114da740f0439
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2023-11-25 21:30:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:13:16 +0900

    [ruby/openssl] test/openssl/test_ocsp.rb: fix flaky test

    Fixes: https://github.com/ruby/openssl/issues/695

    https://github.com/ruby/openssl/commit/95281fe4a9

commit 4f634d3c85ca45b5995c1f37619784c99f2be62c
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-01-18 02:08:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 02:09:03 +0900

    [ruby/openssl] Add support for IO#timeout.
    (https://github.com/ruby/openssl/pull/714)

    * Add support for IO#timeout.

    https://github.com/ruby/openssl/commit/3bbf5178a9

commit 6213ab1a51387fd9cdcb5e87908722f3bbdf78cb
  Author:     Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl>
  AuthorDate: 2024-01-05 23:58:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 01:41:47 +0900

    [ruby/openssl] Only set min_version on OpenSSL < 1.1.0

    Both Red Hat and Debian-like systems configure the minimum TLS version
    to be 1.2 by default, but allow users to change this via configs.

    On Red Hat and derivatives this happens via crypto-policies[1], which in
    writes settings in /etc/crypto-policies/back-ends/opensslcnf.config.
    Most notably, it sets TLS.MinProtocol there. For Debian there's
    MinProtocol in /etc/ssl/openssl.cnf. Both default to TLSv1.2, which is
    considered a secure default.

    In constrast, the SSLContext has a hard coded OpenSSL::SSL::TLS1_VERSION
    for min_version. TLS 1.0 and 1.1 are considered insecure. By always
    setting this in the default parameters, the system wide default can't be
    respected, even if a developer wants to.

    This takes the approach that's also done for ciphers: it's only set for
    OpenSSL < 1.1.0.

    [1]: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/security_hardening/using-the-system-wide-cryptographic-policies_security-hardening

    https://github.com/ruby/openssl/commit/ae215a47ae

commit 947194aacb3b82602eab63b92fbe5876f10c5640
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-18 00:08:00 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 01:35:30 +0900

    [PRISM] Fix memory leak of ST table

    This commit fixes a memory leak in rb_translate_prism because the ST
    table is never freed. There are still more memory leaks which still need
    to be fixed.

    For example:

        10.times do
          100_000.times do
            RubyVM::InstructionSequence.compile_prism("")
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        34544
        57120
        79360
        102176
        123712
        146320
        168192
        190592
        212192
        234896

    After:

        18336
        24592
        31488
        37648
        44592
        50944
        57280
        63632
        69904
        76160

commit 78ad91f83f1c16318b2d3e5920c6ad98f88a4955
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-04 04:23:44 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:57:19 +0900

    [Prism] Fix more method call argumnents

    In #2087 it was noted that there was a bug in the number of arguments in
    `SplatNode` and `KeywordHashNode`. I looked into this with Aaron before
    the linked PR was merged and we found a bunch of cases that weren't
    working quite right. This PR aims to fix some of those cases, but there
    may be more.

    A splat argument followed by a positional argument will concat the array
    until the end or unless the argument is a kwarg or splat kwarg. For
    example

    ```
    foo(a, *b, c, *d, e)
    ```

    Will have an `argc` of 2, because `b`, `c`, `d`, and `e` will be
    concatenated together.

    ```
    foo(a, *b, c, *d, **e)
    ```

    Will have an `argc` of 3, because `b`, `c`, and `d` will be concatenated
    together and `e` is a separate argument.

commit 03645d1eefdf280c3c1ff20f9431fb8fe45799b4
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-18 00:52:15 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-18 00:52:15 +0900

    YJIT: Support empty splat and some block_arg calls to ivar getters (#9567)

    These seem odd at first glance, but they're used with `...` calls with
    `Module#delegate` from Active Support. These account for ~3% of fallback
    reasons in the `lobsters` benchmark.

commit 3f23cb1a43f02d6214f1c1bdb989ceb20ce0454f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-18 00:44:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-18 00:51:36 +0900

    [ruby/prism] Remove flag gating for 3.3.0 bug fixes

    https://github.com/ruby/prism/commit/64baf94271

commit afba09d30f4c2ce6d0d77e06d5250967411cd74a
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-18 00:35:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-18 00:35:48 +0900

    YJIT: specialized codegen for integer right shift (#9564)

    * YJIT: specialized codegen for integer right shift

    Used in optcarrot. May also be used to write pure-Ruby gems.
    No overflow check or fixnum untagging required.

    * Update yjit/src/codegen.rs

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

    ---------

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

commit 63ff29cdb4ba27eb366d706d81a74b89a1d6b18a
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 23:23:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Fix return test

    This test didn't work as is because it causes a SyntaxError. Instead we
    need to put the `defined?(return)` into a method and call that. I double
    checked that on the `master` branch this returns an Unsupported node
    error.

commit dcf9d77b45bcca3193a310e1a0f496e2d74cfc81
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:50:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_BEGIN_NODE

    Ruby code:

    ```ruby
    defined?(begin; 1; end)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,23)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,23)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 338aa465c0a2922b0e7ff306d88bdfec0232f4fb
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:47:10 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_RETRY_NODE

    Ruby code:

    ```ruby
    defined?(retry)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,15)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,15)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 8774abad55c1b3d76af996f5ad8aae19704702c7
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:44:58 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_RETURN_NODE

    Ruby code:

    ```ruby
    defined?(return)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,16)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,16)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit d0a7c33f05626bdec6f085ff4084aaaf25214ec3
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:43:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_REDO_NODE

    Ruby code:

    ```ruby
    defined?(redo)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,14)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,14)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 2697acf7ffe0d607f6bb0f95b1017f3bb0d6195f
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:40:54 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_INTERPOLATED_X_STRING_NODE

    Ruby code:

    ```ruby
    defined?(`echo #{1}`)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,21)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,21)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit e0c90199c996c53db41611bc7fcb9b68a1ae9c64
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:31:24 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_INTERPOLATED_SYMBOL_NODE

    Ruby code:

    ```ruby
    defined?(:"1 #{1 + 2} 1")
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,25)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,25)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 25f1a8e4479324ebcc3c9a46c67cdd23b028f435
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:24:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_DEFINED_NODE

    Ruby code:

    ```ruby
    defined?(defined?(a))
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,21)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,21)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 82ed90950e485ffd8b5d5536d105b3ebf953a1fa
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:16:31 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined? for PM_BREAK_NODE

    Ruby code:

    ```ruby
    defined?(break)
    ```

    Instructions:

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,15)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,15)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 0c814092ee1268562b4ba42973ea754e0dcf1bd0
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2024-01-17 05:10:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-18 00:17:59 +0900

    [Prism] Implement defined for PM_NEXT_NODE

    Ruby code:

    ```ruby
    defined?(next)
    ```

    Instructions

    ```
    "********* Ruby *************"
    == disasm: #<ISeq:<compiled>@<compiled>:1 (1,0)-(59,15)>
    0000 putobject                              "expression"              (  59)[Li]
    0002 leave
    "********* PRISM *************"
    == disasm: #<ISeq:<compiled>@<compiled>:58 (58,0)-(58,15)>
    0000 putobject                              "expression"              (  58)[Li]
    0002 leave
    ```

    Related: ruby/prism#2188

commit 3a7ad808b135bace484038e4ba0549796d98d872
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-17 03:27:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-18 00:15:02 +0900

    [PRISM] Fix test_compile_prism_with_file

    The test should be testing RubyVM::InstructionSequence.compile_prism
    with a file but it is instead passing the file path (which is a string)
    which raises a SyntaxError because it is not Ruby syntax.

commit ef4a08eb65ab00eb0101b8b64212bef613e4f833
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-17 22:59:30 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-17 23:48:46 +0900

    [PRISM] Fix stack inconsistency in MultiWriteNode

commit e17c83e02c5019f7a8c31b31a567ab6de6d6c7f4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-16 23:32:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-17 22:54:25 +0900

    Fix memory leak in String#tr and String#tr_s

    rb_enc_codepoint_len could raise, which would cause the memory in buf
    to leak.

    For example:

        str1 = "\xE0\xA0\xA1#{" " * 100}".force_encoding("EUC-JP")
        str2 = ""
        str3 = "a".force_encoding("Windows-31J")

        10.times do
          1_000_000.times do
            str1.tr_s(str2, str3)
          rescue
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        17536
        22752
        28032
        33312
        38688
        43968
        49200
        54432
        59744
        64992

    After:

        12176
        12352
        12352
        12448
        12448
        12448
        12448
        12448
        12448
        12448

commit 13879fea6957274f1752fb1df1cf1bd5b1626837
  Author:     Adam Hess <adamhess1991@gmail.com>
  AuthorDate: 2024-01-13 03:22:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 22:26:05 +0900

    [ruby/prism] Fix prism brace association for constant-like method/local calls

    https://github.com/ruby/prism/commit/8ca24f263e

commit c68ce6f7f5e6020409cfe689ba5946f284828d4b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-15 10:20:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-17 19:37:56 +0900

    Skip checking for symbol leaks in libruby.so linking extensions

    The libruby.so linking extension libraries contain symbols exported
    from extension libraries, and is not subject of test-leaked-globals.

commit 6215b5ba9811ae1a1e631f01a88fd5b32043effa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-17 11:26:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-17 18:26:39 +0900

    Fix off-by-one error of argc

    Fix ruby/ruby#9562

commit bf254b4de12b458deeb7937219be9389c8542704
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-17 12:39:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-17 12:39:23 +0900

    Omit low-memory test on old platforms

commit 8642a573e6d1091fefbb552bb714ebcf8da66289
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-17 10:31:26 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-17 10:31:27 +0900

    Rename BUILTIN_ATTR_SINGLE_NOARG_INLINE

    to BUILTIN_ATTR_SINGLE_NOARG_LEAF

    The attribute was created when the other attribute was called BUILTIN_ATTR_INLINE.
    Now that the original attribute is renamed to BUILTIN_ATTR_LEAF, it's
    only confusing that we call it "_INLINE".

commit e37a37e696fdb97a3028f04d8439c010d52adb62
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-17 10:23:46 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-17 10:27:53 +0900

    Drop obsoleted BUILTIN_ATTR_NO_GC attribute

    The thing that has used this in the past was very buggy, and we've never
    revisied it. Let's remove it until we need it again.

commit 1addb3955c456b01bb029b30dd6343298da0729d
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-21 19:13:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 09:48:52 +0900

    [ruby/psych] Provide a 'Changelog' link on rubygems.org/gems/psych

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/psych
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/psych/commit/28ef10edcf

commit 77593495f7b08301eeb0b4a22cb07b7a6461cd8f
  Author:     Colin Kelley <colin@invoca.com>
  AuthorDate: 2023-07-20 05:14:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 09:45:06 +0900

    [ruby/psych] issue #443: drop special tests for y, Y, n, N since they covered in the more general test

    https://github.com/ruby/psych/commit/6750b35402

commit 8ae24e6b085121c6d3de61b45cf089849fe4a177
  Author:     Colin Kelley <colin@invoca.com>
  AuthorDate: 2023-07-20 04:32:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 09:45:06 +0900

    [ruby/psych] issue #443: quote Y and N when dumping

    https://github.com/ruby/psych/commit/93c8fb443a

commit cf8fb9429511068c69ce70da7f7818c7441c280b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-17 09:01:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 09:02:04 +0900

    CHECK_LEAKS is always enabled with 01459f1

commit b4ed5b7dfe9ca01ef48922d1b2c154767b7e4e86
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-17 08:54:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-17 08:54:17 +0900

    Bump the required BASERUBY version to 2.7 (#9566)

    [[Misc #16671]](https://bugs.ruby-lang.org/issues/16671)

commit 6c016a4197c233b08a038e3ae7bc919bb16fdd8a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 19:07:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 08:28:31 +0900

    Inject base64 for basic auth examples of bundler

commit 42aa24a24c2a3ea2868e0a2d31d5cd6a7513b007
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 17:25:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 08:28:31 +0900

    No longer needed to sync base64

commit afb30eb2654253c938fbf47dbb6e24c2a3b74625
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 11:34:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 08:28:31 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/base64/**/*_spec.rb

commit 05e798269fd4471fbc87f3e4de7728b28b6a0915
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 11:33:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 08:28:31 +0900

    Document about base64 at Ruby 3.4

commit 4e2eca3be0ef6d4114acdc2527330dfd81d8ff4b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 11:32:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-17 08:28:31 +0900

    Extract base64 as bundled gems

commit 2bf9970101c87bcece5401ca7a7c7e4d54cb64aa
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-17 06:24:54 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-17 06:54:34 +0900

    YJIT: Finer breakdown for block_arg counters

    For example, on `lobsters` the block_arg reason was at ~10%. With this
    change it shows that 6% of that is `send_cfunc_block_arg`.

commit 5471f99eead4dd77f1d418eca04d7656bb97f01d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-17 05:22:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-17 06:19:43 +0900

    [PRISM] Fix memory leak when compiling file

    There is a memory leak when passing a file to
    RubyVM::InstructionSequence.compile_prism because it does not free the
    mapped file.

    For example:

        require "tempfile"

        Tempfile.create(%w"test_iseq .rb") do |f|
          f.puts "name = 'Prism'; puts 'hello'"
          f.close

          10.times do
            1_000.times do
              RubyVM::InstructionSequence.compile_prism(f)
            end

            puts `ps -o rss= -p #{$$}`
          end
        end

    Before:

        27968
        44848
        61408
        77872
        94144
        110432
        126640
        142816
        159200
        175584

    After:

        11504
        12144
        12592
        13072
        13488
        13664
        14064
        14368
        14704
        15168

commit 7b6731b1bb7c8fab72580f92450eea6e4cc3d943
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-17 00:16:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 05:25:50 +0900

    [ruby/prism] Provide abstract methods in Prism::Node

    To make typechecking easier.

    https://github.com/ruby/prism/commit/8f96877d7a

commit 8cbba87ca85b388bb896d9732973e8e1555e5b93
  Author:     Cameron Dutro <camertron@gmail.com>
  AuthorDate: 2024-01-16 05:03:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 04:19:30 +0900

    [ruby/prism] Add parse options to JavaScript's parsePrism function

    https://github.com/ruby/prism/commit/d7fe7c7ae7

commit d124124c1613ec5e6b4770252e16d714f7b05e91
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-17 03:54:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 04:01:36 +0900

    [ruby/prism] Fix up gemspec

    https://github.com/ruby/prism/commit/82e3126762

commit 8bf12d7b2ffe61596da2d1d2fb8e54120cfb230b
  Author:     Jemma Issroff <jemmaissroff@gmail.com>
  AuthorDate: 2024-01-11 06:21:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 03:47:48 +0900

    [ruby/prism] First pass at documenting information about the CRuby compiler

    https://github.com/ruby/prism/commit/b575914b2f

commit 07b9b53459d1842e7066b248d48ef4952c6868d3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-17 00:30:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-17 02:55:57 +0900

    [PRISM] Fix crash with empty ensure blocks

    Fixes ruby/prism#2179.

commit 7bd7030a96cdc106e347e0d48cfacfb80fb0f8db
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-17 01:06:18 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-17 02:43:53 +0900

    [PRISM] Replace local lookup recursion with loop

commit 70a8ed0775e7a9215bcc6cdf4f6d85da321af304
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-17 01:09:00 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-17 02:43:14 +0900

    [PRISM] Don't allocate labels when not needed

    The labels lstart, lend, lcont are only needed when there is a rescue
    clause. They are not needed when there is only an ensure clause or
    neither.

commit 1caa881a56fc0543b2fb4819b6d894008b0ae5a9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-16 03:32:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-17 01:12:06 +0900

    [PRISM] Fix splat assignment

    Fixes ruby/prism#2177

commit c5e43da426eb79e87ec963837a4cbb0a4ed9396d
  Author:     TSUYUSATO Kitsune <make.just.on@gmail.com>
  AuthorDate: 2024-01-17 00:37:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 00:51:09 +0900

    [ruby/prism] Correct the "ambiguous first argument" condition

    Fix https://github.com/ruby/prism/pull/2182

    This change reflects this line:
    https://github.com/ruby/ruby/blob/6283ae8d369bd2f8a022bb69bc5b742c58529dec/parse.y#L11124.

    https://github.com/ruby/prism/commit/a52588ff37

commit 6283ae8d369bd2f8a022bb69bc5b742c58529dec
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-16 23:59:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-17 00:06:22 +0900

    [ruby/stringio] Update the coderange after overwrite

    Fix https://bugs.ruby-lang.org/issues/20185

    https://github.com/ruby/stringio/commit/8230552a46

commit fef8ccff11a5f48eef9f11f61ff0baa165acfaff
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 07:32:30 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Rename pm_lookup_local_index_any_scope

    Now it's the only local lookup function we can just call it
    pm_lookup_local_index

commit 543bd7f3dbc06c4a43bb52aa459383dc97cebe77
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 07:11:32 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Remove scope_node->local_depth_offset

commit 1b97f61168cb399a6b2145a3be118df04651ef5c
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 07:03:04 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Remove pm_lookup_local_index_with_depth

commit 0d705b342f27446176e0eddd1ba883dce4b20f08
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 06:42:16 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Remove the found_depth pointer

    Now that we're returning pm_local_index_t

commit da383c0d7496b7e65fae8da4b26ad3265175bcc8
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 06:32:17 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Return pm_local_index_t when looking up local indexes

    instead of returning the index and updating found_depth in the parent
    scope

commit f4b299a1ed036234c0144797acba555c9feb3c6e
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 05:59:11 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Bind index & depth together into pm_local_index_t

commit 3d45b743e4beccb3ec176ede0f52102ff3795b03
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-16 05:41:37 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-16 23:58:55 +0900

    Replace pm_lookup_local_index with lookup_local_index_with_depth

commit ade56737e2273847426214035c0ff2340b43799a
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-16 02:44:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-16 23:18:55 +0900

    Fix coderange of invalid_encoding_string.<<(ord)

    Appending valid encoding character can change coderange from invalid to valid.
    Example: "\x95".force_encoding('sjis')<<0x5C will be a valid string "\x{955C}"

commit 0520e9675b91ea559da1ae5eda9db378fbdbca52
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-16 05:08:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-16 22:32:21 +0900

    [PRISM] Fix defined? for chained calls

    Fixes ruby/prism#2148.

commit 01459f1644602ab7dfede46b07a56fc93ffa0165
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-16 20:29:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-16 20:29:06 +0900

    Set `CHECK_LEAKS` in spec/default.mspec

    Because of `.NOEXPORT:` in template/Makefile.in, variables in
    common.mk will not be exported.

commit 9f02680015d21013fa83587d8c912d2af621bb57
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 17:09:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:09:35 +0900

    Removed sample code for net-imap. net-imap is alread extracted as bundled gems

commit 4b6936aa047158c98a9ac8861d51e5e09229f8c0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 16:30:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:07:10 +0900

    Unbundled samples for getoptlong

commit 3f5016178cb81536e800a9121b3804e36c9af93c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 16:30:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:07:10 +0900

    We don't need to sync getoptlong

commit 326288c5a578b1f853d17155fe3e00eaabaff0c6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 16:34:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:07:10 +0900

    Document about getoptlong at Ruby 3.4

commit b3ff564967e2752e7b3f95b30581e57e5d195656
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 14:17:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:07:10 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.4"' spec/ruby/library/getoptlong/**/*.rb

commit b68dab2d0fbc7b84749d1c8447c003cabbb70a51
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 14:00:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 17:07:10 +0900

    Extract getoptlong as bundled gems

commit c5d54e1db19225b2c05e74c7fa6bf36846c08de3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 16:29:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 16:29:16 +0900

    We don't need to sync mutex_m

commit 26cf40aaa08e74bfcfd1f4ee75a7c19c6efbac06
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-16 15:54:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-16 16:24:37 +0900

    Always enabled leakchecker by ruby/mspec

commit 924f3907c073636ad679fc077c84e9b18c46dc85
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-16 12:44:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-16 12:44:28 +0900

    Enable spec_guards with 3.3

commit be7c91db44d6b8dba8fa11ff782965b4bfa0b3c8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-16 12:43:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-16 12:43:53 +0900

    Do not pollute toplevel namespace

commit 0abbab9eb16baf0995deaab2fbb3850ace50bdd9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-15 22:46:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-16 10:04:49 +0900

    [Bug #20184] Test for low memory

commit 6a1bf4cf1b069de0aaa55bc327f0b9b1ee1f5ed0
  Author:     Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
  AuthorDate: 2024-01-16 07:35:29 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-16 07:35:29 +0900

    YJIT: optimized codegen for String#length (#9543)

    Minor optimization for programs doing string processing.

commit 6a175902f4fe31cf7617406e17d11deb9fccec32
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-16 00:28:39 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-16 07:12:53 +0900

    [PRISM] Fix keyword splat inside of array

    Fixes ruby/prism#2155.

commit cc7b19e048aae4fb6ee75edf8498008042c42ee1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-16 01:27:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-16 01:27:31 +0900

    [DOC] Improve docs for GC.compact

commit 5e61cc26c9f4b926ea6472675d3851b5fd684824
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-16 00:32:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-16 00:32:48 +0900

    YJIT: Optimize Integer#succ (#9519)

commit 7c6d7fbc28904b9814a18cc06796e0f12552778a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-13 03:04:59 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-15 23:58:44 +0900

    [PRISM] Fix case without predicate

    Fixes ruby/prism#2149.

commit e0312f90bbf5a6c0af5140ea94c67911515a147b
  Author:     Samuel Giddins <segiddins@segiddins.me>
  AuthorDate: 2023-12-21 10:55:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-15 23:04:14 +0900

    [ruby/pp] Print beginless ranges properly

    Instead of displaying the start of the range as nil

    https://github.com/ruby/pp/commit/1df210d903

commit dde21a7967960e24377b01941cea6c30c17fa01d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-14 23:44:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-15 09:35:46 +0900

    Explicitly convert between `VALUE` and `st_data_t`

commit c5cf4d4e129f64cb69aaf0a829aed068ef1943c4
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-01-15 06:47:13 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-15 06:47:13 +0900

    Improve behavioural consistency of unallocated (zero length) `IO::Buffer`. (#9532)

    This makes the behaviour of IO::Buffer.new(0) and IO::Buffer.new.slice(0, 0) consistent.

    Fixes https://bugs.ruby-lang.org/issues/19542 and https://bugs.ruby-lang.org/issues/18805.

commit 5c823aa686a5549649df4af86d173bebed2418e1
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-15 04:41:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-15 04:41:02 +0900

    Support keyword splatting nil

    nil is treated similarly to the empty hash in this case, passing
    no keywords and not calling any conversion methods.

    Fixes [Bug #20064]

    Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

commit 772413245f782f538413a69a270ec75ee8b77f18
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-14 17:53:22 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-14 23:38:47 +0900

    Skip checking for symbol leaks in libruby.a linking extensions

    The libruby.a linking extension libraries contain symbols exported
    from extension libraries, and is not subject of test-leaked-globals.

commit 338eb0065bd81ba8ae8b9402abc94804a24594cc
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2024-01-13 06:22:32 +0900
  Commit:     Sutou Kouhei <kou@clear-code.com>
  CommitDate: 2024-01-14 22:27:24 +0900

    [ruby/strscan] StringScanner#captures: Return nil not "" for
    unmached capture
    (https://github.com/ruby/strscan/pull/72)

    fix https://github.com/ruby/strscan/issues/70
    If there is no substring matching the group (s[3]), the behavior is
    different.

    If there is no substring matching the group, the corresponding element
    (s[3]) should be nil.

    ```
    s = StringScanner.new('foobarbaz') #=> #<StringScanner 0/9 @ "fooba...">
    s.scan /(foo)(bar)(BAZ)?/  #=> "foobar"
    s[0]           #=> "foobar"
    s[1]           #=> "foo"
    s[2]           #=> "bar"
    s[3]           #=> nil
    s.captures #=> ["foo", "bar", ""]
    s.captures.compact #=> ["foo", "bar", ""]
    ```

    ```
    s = StringScanner.new('foobarbaz') #=> #<StringScanner 0/9 @ "fooba...">
    s.scan /(foo)(bar)(BAZ)?/  #=> "foobar"
    s[0]           #=> "foobar"
    s[1]           #=> "foo"
    s[2]           #=> "bar"
    s[3]           #=> nil
    s.captures #=> ["foo", "bar", nil]
    s.captures.compact #=> ["foo", "bar"]
    ```

    https://docs.ruby-lang.org/ja/latest/method/MatchData/i/captures.html
    ```
    /(foo)(bar)(BAZ)?/ =~ "foobarbaz" #=> 0
    $~.to_a        #=> ["foobar", "foo", "bar", nil]
    $~.captures #=> ["foo", "bar", nil]
    $~.captures.compact #=> ["foo", "bar"]
    ```

    * StringScanner#captures is not yet documented.
    https://docs.ruby-lang.org/ja/latest/class/StringScanner.html

    https://github.com/ruby/strscan/commit/1fbfdd3c6f

commit 0610f555ea4f3ba571482f90393fe8c0701cd58a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-14 17:55:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-14 17:55:11 +0900

    Constify `rb_global_parser_config`

commit 4e5754a459ea10c73381b3009bb889e83077575c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-14 00:24:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-14 00:24:14 +0900

    Add test for `Errno` constants

commit 55335eab80d763fb11d621c041d23aaf8f4857c6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-13 23:41:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-13 23:43:07 +0900

    Use STATIC_ASSERT

commit 9ba2558b76e5b0d871132c38a85055c4746c34de
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-13 20:33:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-13 23:20:05 +0900

    Fix possible out-of-bounds access

commit ccd45a1399a9eed7c59120874d0d37bd3ce9d73d
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-13 13:54:13 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-13 20:41:22 +0900

    Stop using Array to manage dummy `end` token locations

    Before this commit, Array is used to store token locations
    which expect `end` token, e.g. `class` and `module`.
    This commit introduces dedicated struct to manage them
    so that dependency on Ruby Object is reduced.

commit b92c8934a29c9cb62f3d05eef74117a06c2cd8a8
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-13 17:37:31 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-13 20:03:54 +0900

    Lrama v0.6.1

commit d999ed3a2f83fa223223e059eae0f361303ae07e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-13 16:34:32 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-13 16:34:32 +0900

    Fix typo

commit 573bfb3a148905f64dbe7633c833feead8e28683
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-13 00:05:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-13 11:08:03 +0900

    [DOC] Add known_errors documents

    Incorporate from The Open Group.
    https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html

commit 3edb7f1a0747b92ccc22f881e0a74530c0a7036e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-11 22:46:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-13 11:08:00 +0900

    [DOC] Documentize known_errors

commit f7178045bb11fc3722a98082ed81e1ec39c4940f
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-01-01 18:50:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-13 09:28:26 +0900

    [ruby/openssl] Add support for `gets(chomp: true)`.

    https://github.com/ruby/openssl/commit/8aa3849cff

commit 08d4e5ebef3d372ca52de95d8ed896d7def8de49
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2023-12-28 08:30:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-13 09:28:26 +0900

    [ruby/openssl] Add more methods to `SocketForwarder`.

    https://github.com/ruby/openssl/commit/39eaa9f677

commit b0e0a2a64d969eb306811bbf5f4d33cc2c1f62a0
  Author:     Iztok Fister Jr <iztok@iztok-jr-fister.eu>
  AuthorDate: 2024-01-13 09:01:30 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-13 09:01:30 +0900

    [DOC] Fix two minor typos on manual page

commit 475663f0399248011f2392817ef4d89ec07baae4
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-13 07:21:35 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 07:53:14 +0900

    Only intern constants upon compilation entry

    Before this commit the Prism compiler would try to intern constants
    every time it re-entered. This pool of constants is "constant" (there is
    only one pool per parser instance), so we should do it only once: upon
    the top level entry to the compiler.

    This change does just that: it populates the interned constants once.

    Fixes: https://github.com/ruby/prism/issues/2152

commit 206388b19eb3e1d98ee77821a96705c97c86eb06
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-13 05:32:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-13 06:13:42 +0900

    Fix ruby_free_proctitle

    It is undefined behaviour to free environ as it is managed by the system.
    This caused RUBY_FREE_AT_EXIT to double free on systems like Linux. This
    commit changes it to only free orig_environ, which is enough to make
    both Valgrind and macOS leaks tools to not detect memory leaks.

commit 2c27a3a0dd6a922c215758b2bf0635a7986f0eab
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-13 05:16:13 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 05:46:28 +0900

    Fix splat assigns with no lefties

    We still need to emit an expand array even if there's no "left side"
    variables

    Fixes: https://github.com/ruby/prism/issues/2153

commit aad246feba1579cc3c34f8309845692e2f11babd
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2024-01-10 04:04:20 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 05:24:48 +0900

    s/SafeStringValue/StringValue/

    The macro SafeStringValue() became just StringValue() in c5c05460ac2,
    and it is deprecated nowadays.

    This patch replaces remaining macro usage. Some occurrences are left in
    ext/stringio and ext/win32ole, they should be fixed upstream.

    The macro itself is not deleted, because it may be used in extensions.

commit 774eef692cc9708b22959ef57b8472a375772189
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-09 06:32:35 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 05:20:04 +0900

    Always freeze strings that are in the instructions

    Any objects that the instructions reference should be frozen.

    Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com>

commit a0a100db4943f37060fe6c59f4546262ae3dfc59
  Author:     Aaron Patterson <aaron.patterson@gmail.com>
  AuthorDate: 2024-01-09 06:32:05 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 05:20:04 +0900

    Update test/ruby/test_compile_prism.rb

    Co-authored-by: Ufuk Kayserilioglu <ufuk@paralaus.com>

commit 84f14ff08925889964cd5e7ed0bfc9ee8fcefce2
  Author:     Jemma Issroff <jemmaissroff@gmail.com>
  AuthorDate: 2023-12-16 06:28:29 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 05:20:04 +0900

    [PRISM] Pre-concatenate Strings in InterpolatedStringNode

    This commit concatenates String VALUEs within
    InterpolatedStringNodes to allow us to preserve frozenness of
    concatenated strings such as `"a""b"`

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>

commit e59dd7094f281e3167fc8fe29ab0e92e7b66027a
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-13 01:30:36 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-13 03:28:36 +0900

    Pass more T_DATA to obj_free() under RUBY_FREE_AT_EXIT

    T_DATA without a pointer or free function may still have ivars set on
    them that need to be freed. The following leaked generic ivars for
    example:

        converter = Encoding::Converter.allocate
        converter.instance_variable_set(:@foo, 1)

        STACK OF 1 INSTANCE OF 'ROOT LEAK: <malloc in objspace_xmalloc0>':
        <snip>
        12  miniruby    0x10286ec50 ivar_set + 140  variable.c:1850
        11  miniruby    0x102876afc generic_ivar_set + 136  variable.c:1668

commit 0462b1b350b0f86ce4cfebc195fe0f24005d28f4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-13 00:40:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-13 03:04:23 +0900

    [PRISM] Fix splat in when

    Fixes ruby/prism#2147.

commit 8b8dcc7af174def5216044019c1d3e42edfdc7cf
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-12 09:05:21 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-13 02:31:36 +0900

    Handle mmap failures for redblack tree cache

    The redblack tree cache is totally optional, so if we can't allocate
    room for the cache, then just pretend as if the cache is full if mmap
    fails

commit 2d9db72d37e570dcfc5e8b0b74476360cae96056
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 07:05:42 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-13 01:30:25 +0900

    Write to constant path, call, and index in rescue

    When compiling a rescue reference, you can write to a constant
    path, a call, or an index. In these cases we need to compile the
    prefix expression first, then handle actually doing the write/call.

commit 16624ef463f214367720b7cf486e43e48a2df4e6
  Author:     ywenc <ywenc@github.com>
  AuthorDate: 2024-01-13 00:41:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-13 00:41:58 +0900

    YJIT: expandarray for non-arrays (#9495)

    * YJIT: expandarray for non-arrays

    Co-authored-by: John Hawthorn <john@hawthorn.email>

    * Skip the new test on RJIT

    * Increment counter for to_ary exit

    ---------

    Co-authored-by: John Hawthorn <john@hawthorn.email>
    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

commit 524770d3dc8f44a5caca5533f22297d1e0dd5d32
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-12 00:43:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-12 22:46:07 +0900

    Suppress warnings in parser_set_encode function

commit 8292b01c66ade80f20ea02f0d512d28ed074f290
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-12 22:44:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-12 22:44:56 +0900

    [DOC] Mark up the class name `fatal`

commit 517e0d87bd3e9c5b2e36764c3774c75dea19fbba
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-11 18:42:52 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 22:10:53 +0900

    Move node value functions closer to other similar functions

commit 631eb2a110fbf3446882747e7e5d8c0be8473904
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-11 18:40:11 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 22:10:53 +0900

    Rename node value functions

    They don't compile nodes then remove compile_ prefix.
    `compile_numeric_literal` always returns integer then
    use integer instead of numeric.

commit 5a471784ca45379672db46aef759087148ad4877
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-07 11:00:59 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 22:10:53 +0900

    Restore unknown case

    This existed before 1b8d01136c3ff6c60325c7609d61e19ac42acd9f.

commit 731fee04c29b31d780b1bfeb878a43355658daa7
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-07 10:49:18 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 22:10:53 +0900

    Use `BUILTIN_TYPE` because SPECIAL_CONST or not is already checked

commit b35e21b3889e95cf727f2da49abb881c3466bc75
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-12 07:38:02 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 21:17:41 +0900

    Remove reference counter from rb_parser_config

    It's allocated outside of parser then no need to track
    reference count in rb_parser_config.

commit 52d9e55903b2e72022ba90079cb23c6f2cd03af5
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-11 21:27:19 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 21:17:41 +0900

    Statically allocate parser config

commit c3b2436154015bab6b94f132b60bdb1fbba02426
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-12 12:56:08 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-12 21:11:00 +0900

    `set_yylval_literal` is not used

commit 5fa3259b130cc8fab2475ce2400b8d21f311dc7b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 19:09:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 20:02:50 +0900

    Ruby 3.3 is always failed at spec/mspec/lib/mspec/runner/actions/constants_leak_checker.rb

commit 0a27142cf14635abfe1befadb86c1db25de6c2ca
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 18:51:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 20:02:50 +0900

    Ignore windows_31j module with mswin

commit 3113bc8d445c4c24ed3827adfc50bb88c99b6364
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 18:50:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 20:02:50 +0900

    stat command is not provided on Windows

commit 3103ed4159240e99614c9789bc0f869574a1f9db
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 18:20:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 20:02:50 +0900

    Use timeout instead of sleep on Windows

commit 80feecd6a36ec640f2fab212a015281e920dc092
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 18:14:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 20:02:50 +0900

    Don't use cat command on native Windows

commit 396e94666ba1646cb0fd1459eeae3f2e7ddd2658
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-12 15:32:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:58:54 +0900

    Revert "Pass down "stack start" variables from closer to the top of the stack"

    This reverts commit 4ba8f0dc993953d3ddda6328e3ef17a2fc2cbde5.

commit 6af0f442c7d16ab526c0e6859aa97ff217b73f99
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-12 15:32:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:58:54 +0900

    Revert "Make stack bounds detection work with ASAN"

    This reverts commit 6185cfdf38e26026c6d38220eeca48689e54cdcf.

commit ac0ba3c07ee3f700b0b45176a7bdd322d8773e27
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-12 15:32:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:58:54 +0900

    Revert "Allow each_stack_location to accept context for the callback"

    This reverts commit 179228cd83a926efcd79ca5d0c6ed6af0c2389c0.

commit 33a03cb236057b1dc044fc76bf51b263d6cbda81
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-12 15:32:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:58:54 +0900

    Revert "Define special macros for asan/msan being enabled"

    This reverts commit bdafad879093ef16a9a649154c4b2e4ebf492656.

commit 688a6ff51053ddebaf4c34dbf74ac0e5f026157b
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2024-01-12 15:32:16 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:58:54 +0900

    Revert "Mark asan fake stacks during machine stack marking"

    This reverts commit d10bc3a2b8300cffc383e10c3730871e851be24c.

commit 18d85af9698522d6ce356a070a9bd01906a8aaed
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-01-12 15:58:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-12 15:58:39 +0900

    Update bundled gems list as of 2024-01-12

commit 51ba65493905fe066e6745c745c5ada069d629a2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 15:26:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 15:36:08 +0900

    Set prerelease flag if tag includes preview or rc

commit d10bc3a2b8300cffc383e10c3730871e851be24c
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 14:19:31 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:29:48 +0900

    Mark asan fake stacks during machine stack marking

    ASAN leaves a pointer to the fake frame on the stack; we can use the
    __asan_addr_is_in_fake_stack API to work out the extent of the fake
    stack and thus mark any VALUEs contained therein.

    [Bug #20001]

commit bdafad879093ef16a9a649154c4b2e4ebf492656
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 12:57:10 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:29:48 +0900

    Define special macros for asan/msan being enabled

    __has_feature is a clang-ism, and GCC has a different way to tell if
    sanitizers are enabled. For this reason, I don't want to spray
    __has_feature all over the codebase for other places where conditional
    compilation based on sanitizers is required.

    [Bug #20001]

commit 179228cd83a926efcd79ca5d0c6ed6af0c2389c0
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 12:47:15 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:29:48 +0900

    Allow each_stack_location to accept context for the callback

    This is preparing for a more specialised, asan-aware version of
    gc_mark_maybe which needs some additional context passed through.

    [Bug #20001]

commit 6185cfdf38e26026c6d38220eeca48689e54cdcf
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 11:34:43 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:29:48 +0900

    Make stack bounds detection work with ASAN

    Where a local variable is used as part of the stack bounds detection, it
    has to actually be on the stack. ASAN can put local variable on "fake
    stacks", however, with addresses in different memory mappings. This
    completely destroys the stack bounds calculation, and can lead to e.g.
    things not getting GC marked on the machine stack or stackoverflow
    checks that always fail.

    The __asan_addr_is_in_fake_stack helper can be used to get the _real_
    stack address of such variables, and thus perform the stack size
    calculation properly

    [Bug #20001]

commit 4ba8f0dc993953d3ddda6328e3ef17a2fc2cbde5
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-12 11:24:55 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-12 15:29:48 +0900

    Pass down "stack start" variables from closer to the top of the stack

    The implementation of `native_thread_init_stack` for the various
    threading models can use the address of a local variable as part of the
    calculation of the machine stack extents:

    * pthreads uses it as a lower-bound on the start of the stack, because
      glibc (and maybe other libcs) can store its own data on the stack
      before calling into user code on thread creation.
    * win32 uses it as an argument to VirtualQuery, which gets the extent of
      the memory mapping which contains the variable

    However, the local being used for this is actually allocated _inside_
    the `native_thread_init_stack` frame; that means the caller might
    allocate a VALUE on the stack that actually lies outside the bounds
    stored in machine.stack_{start,end}.

    A local variable from one level above the topmost frame that stores
    VALUEs on the stack must be drilled down into the call to
    `native_thread_init_stack` to be used in the calculation. This probably
    doesn't _really_ matter for the win32 case (they'll be in the same
    memory mapping so VirtualQuery should return the same thing), but
    definitely could matter for the pthreads case.

    [Bug #20001]

commit 6a45320c256f25e9fcdf9d969a45b85c885e28f2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-12 14:55:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-12 14:56:04 +0900

    Truncate only prefix. Don't remove v from like preview1

commit 18573b8d054f655e3e8b24902985bf4028f88810
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2024-01-12 04:57:03 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2024-01-12 09:53:20 +0900

    Avoid reading unused lvars in Primitive.cexpr

    Previously on builds with optimizations disabled, this could result in
    an out of bounds read. When we had all of:
    * built with -O0
    * Leaf builtin
    * Primitive.mandatory_only
    * "no args builtin", called by vm_call_single_noarg_inline_builti
    * The stack is escaped to the heap via binding or a proc

    This is because mk_builtin_loader generated reads for all locals
    regardless of whether they were used and in the case we generated a
    mandatory_only iseq that would include more variables than were actually
    available.

    On optimized builds, the invalid accesses would be optimized away, and
    this also was often unnoticed as the invalid access would just hit
    another part of the stack unless it had been escaped to the heap.

    The fix here is imperfect, as this could have false positives, but since
    Primitive.cexpr! is only available within the cruby codebase itself
    that's probably fine as a proper fix would be much more challenging (the
    only false positives we found were in rjit.rb).

    Fixes [Bug #20178]

    Co-authored-by: Adam Hess <HParker@github.com>

commit 371256775f56881fc6a4d41d47afa63e00199c0d
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-12 07:50:09 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-12 08:53:52 +0900

    Anonymous rest nodes should increase the local table size

    When we calculate the local table size, we need to account for anonymous
    "rest" parameters.  Since they don't have a name, they won't be in the
    "locals" table that Prism provides, but we need to reserve room for them
    anyway.

    Fixes: https://github.com/ruby/prism/issues/2154

commit eb8df2fa7aa7b008bd8dbce765694635a564e8f9
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-12 05:52:14 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-12 05:58:05 +0900

    Update Kernel#load documentation to remove phrase related to protection

    Code loaded via Kernel#load can modify the global namespace even
    if the wrap parameter is provided.

    Fixes [Bug #19990]

commit 76a207e5420b9ecdcc62c0d571f869c022d5d36e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 05:47:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-12 05:52:48 +0900

    [ruby/prism] Fix nested default value error

    https://github.com/ruby/prism/commit/ef26b283de

commit 44d0c5ae3f1e1586f9dac07dd19f65b80fb8e2b4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 03:51:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-12 04:59:37 +0900

    [PRISM] Raise syntax errors when found

commit 45dd8edf82d2648fed51b0e65f6fc1cf4473038d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-12 02:27:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-12 04:58:24 +0900

    [PRISM] Fix splat inside of aset

    Fixes ruby/prism#2146.

commit f2149dc094a92bd1aa29622f9585247d491f7a08
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-11 09:27:00 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2024-01-12 04:31:59 +0900

    [PRISM] Support repeated required parameter names.

    Fixes: https://github.com/ruby/prism/issues/2062

    This patch only fixes positional parameters, we still need to fix the
    other cases spelled out in test/prism/fixtures/repeat_parameters.txt

commit 72be7860170d2ccec7713a2b0ef43da133799d71
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 04:19:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-12 04:27:14 +0900

    [ruby/prism] Allow fsl comment to set to false

    https://github.com/ruby/prism/commit/b4db7bb703

commit 242dc537f93a0e11d91e729823cf8df2caec6abd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 04:14:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-12 04:14:25 +0900

    [ruby/prism] Exclude encodings that are dynamic

    https://github.com/ruby/prism/commit/6749146c0e

commit 6ff9f1aa51bf53024a7545844ff0f3f53111403f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-12 02:27:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-12 03:36:32 +0900

    [ruby/prism] Provide ability to format errors

    https://github.com/ruby/prism/commit/27985b0e7e

commit 057df4379f856a868f588cdc769f397f5739983d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-10 03:17:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-12 00:09:53 +0900

    Free environ when RUBY_FREE_AT_EXIT

    The environ is malloc'd, so it gets reported as a memory leak. This
    commit adds ruby_free_proctitle which frees it during shutdown when
    RUBY_FREE_AT_EXIT is set.

        STACK OF 1 INSTANCE OF 'ROOT LEAK: <calloc in ruby_init_setproctitle>':
        5   dyld                                  0x18b7090e0 start + 2360
        4   ruby                                  0x10000e3a8 main + 100  main.c:58
        3   ruby                                  0x1000b4dfc ruby_options + 180  eval.c:121
        2   ruby                                  0x1001c5f70 ruby_process_options + 200  ruby.c:3014
        1   ruby                                  0x10035c9fc ruby_init_setproctitle + 76  setproctitle.c:105
        0   libsystem_malloc.dylib                0x18b8c7b78 _malloc_zone_calloc_instrumented_or_legacy + 100

commit 4e0c2f05efc9415b52b50ee65401c5b511d269e7
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2023-12-01 01:19:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 22:44:03 +0900

    [ruby/pp] Add TruffleRuby in CI

    * Only 2 cyclic tests are failing, with the ... in a slightly different place in the output.

    https://github.com/ruby/pp/commit/6e5c7d741e

commit 1ed3b6037566cef3d56e882eb0fcf1b14553f540
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2023-12-01 01:10:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 22:44:01 +0900

    [ruby/pp] Fix pretty printing a Data subclass instance when the subclass is anonymous

    * It would be "#<data  a=42>" (double space) instead of "#<data a=42>" (like #inspect).

    https://github.com/ruby/pp/commit/bed72bfcb8

commit 62382a434561b6fe56d479b8800cf6ccf017463c
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2023-12-01 01:04:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 22:44:00 +0900

    [ruby/pp] Use .class.members for pretty printing Data

    * Data#members might not be defined, instead it might be defined
      on Data subclasses or a module included there. This is notably the
      case on TruffleRuby which defines it there for optimization purposes.
      In fact the mere presence of Data#members implies a megamorphic call
      inside, so it seems best to avoid relying on its existence.

    https://github.com/ruby/pp/commit/6a97d36fbb

commit 3b9cc22536f2a72ece034881aaf568767e8e1e86
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2023-12-01 01:03:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 22:44:00 +0900

    [ruby/pp] Use a proper feature check to check if Data is defined

    https://github.com/ruby/pp/commit/ed602b9f2b

commit 80f1c1e2937939d95374aee7215a68cef9c7175a
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2024-01-11 22:38:44 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-11 22:38:44 +0900

    Remove a unused variable in i_print_name_entry (#9468)

    A warning for this is shown when `ONIG_DEBUG_COMPILE` is enabled.

commit 3d3bc029c5b48ddfbb7c5f7b062cb364894c64af
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-11 18:46:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-11 18:46:51 +0900

    Reject encodings determined at runtime as source code encodings

    The encodings determined at runtime are affected by the runtime
    environment, such as the OS and locale, while the file contents are
    not.

commit 7cc8d58cc9596d1472f51a3767f6d35c736041ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-11 17:46:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-11 17:46:09 +0900

    Remove duplicate function `nd_st_key_val`

commit d6741572ef2f6ebc753749ee19a10728d0d1cdc6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-11 17:39:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 17:39:52 +0900

    [ruby/rdoc] Undo accidentally deleted lines

    https://github.com/ruby/rdoc/commit/4e14158255

commit b10aa7757e8ef9d7625a7d8cfe962f3b4e8245dd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 17:36:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 17:36:51 +0900

    Disable to add latest label when running with --no-dry-run option

commit 78cd5b36576a55429bd15f5cabacfd4e790c0076
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-11 17:04:13 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-01-11 17:04:13 +0900

    Prevent syntax warnings in test/ruby/test_regexp.rb

commit 60844ecf2e63a4c0ff1c248908497a7b6665a42a
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-11 17:03:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-01-11 17:03:22 +0900

    Prevent a warning: ambiguous first argument

commit 7558625be1d1f8160e7e138a773925b75a87f283
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-11 14:54:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 15:55:39 +0900

    [ruby/rdoc] Respect modeline to detect parser

    https://github.com/ruby/rdoc/commit/485468f06f

commit 505ac323e3654e57dfe338712a6a9b63fb1e5574
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 15:21:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 15:21:45 +0900

    Try to fixup ad3db6711c4aa48c82f4091342aab7394ee45736

      directory value may be not support glob files from subdirectories

commit 0ebc3f7969c8ad46c22b856c12e742806b1ddde9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 15:02:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 15:02:13 +0900

    Revert "Update files under .github other than workflows"

      This reverts commit ad3db6711c4aa48c82f4091342aab7394ee45736.

      Above commit break dependabot update since Nov, 2023.

commit f4a347b90f2f4c61641582cd60f3cf15a1e2e979
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 06:18:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Fix Bundler daily CI

    There is another place artifice usage was making the copy of vendored
    http in ruby-core be loaded instead of the one under test.

    Remove unnecessary usage of artifice.

    https://github.com/rubygems/rubygems/commit/d2488199b0

commit 0156b7416cf05880460ec6a3c2cc7b7c2ea863db
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-27 04:21:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Always avoid "Updating rubygems-update" message

    The fact that under the hood the upgrade is done through a
    rubygems-update gem is an implementation detail that does not really
    help users to know.

    Plus, it reads a bit weird.

    https://github.com/rubygems/rubygems/commit/0fa5c50258

commit 3980cebda5438b3f7803015f37c25d94c0573b5f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-27 04:55:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Make `gem update --system` respect ruby version constraints

    https://github.com/rubygems/rubygems/commit/36052abbe2

commit aa908aa0655b6c0a566675e1ef9104aae7a84925
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-27 04:23:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Remove old condition no longer necessary

    https://github.com/rubygems/rubygems/commit/701980b240

commit ef0705b3c2339055d9b5c669fb6192275c39020a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-01-06 03:47:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Fix development dependency not being added if introduced by two gemspecs

    https://github.com/rubygems/rubygems/commit/adc05bf1c3

commit b8f859f0bf21d67d962d12a99e1f2d7d2f20e3e5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:59:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    Complete missing specs for platforms after resolution

    If two platform specific variants have different dependencies, then
    resolution may fallback to the non platform specific variant. However,
    the platform specific variants that have the same dependencies as the
    non specific one can still be kept.

    Do a pass to complete those after resolution.

commit 580d4a4053067dde69be81133a55bd1bf8ef65c8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 03:29:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Show diff on source control errors

    https://github.com/rubygems/rubygems/commit/d728fa1b04

commit 7f0dbfc9c80777b0f189bdaf1b2f70f309ddab31
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:58:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Move resetting the spec set to where it becomes necessary

    https://github.com/rubygems/rubygems/commit/a8b547c6b1

commit 51d2a8e983ddc25e2333706f0fc6f1c01e12fa06
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:27:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Extract a couple of helper methods

    https://github.com/rubygems/rubygems/commit/880a4eae7f

commit ab1936faf9197e0466a581de19f4023fdfe10204
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:16:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Remove methods to clarify what they do

    https://github.com/rubygems/rubygems/commit/1d15d8a8ff

commit e90081446785273d7df8b37f0ba384c810738d0f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:16:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Make private helper private

    https://github.com/rubygems/rubygems/commit/de9dc90026

commit 76916217b6dcb5171a41aad07420f2d8b7d631ca
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-23 02:15:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Extract `SpecSet#reset!` helper

    https://github.com/rubygems/rubygems/commit/41f9b4d940

commit acdc6abca82ddba8312e2bfd7968aaaaf3337a49
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 18:37:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] Disable false positive correction

    https://github.com/rubygems/rubygems/commit/e75cca9496

commit 0e8b1973b429d0f2ed9200ec7c68ca4349d5c425
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:03:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Style/RedundantReturn

    https://github.com/rubygems/rubygems/commit/ade728914f

commit a1d5c6555efbec37a85a816c0617071ff4eccb97
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:03:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Layout/ExtraSpacing

    https://github.com/rubygems/rubygems/commit/39be5cd236

commit 983ca8e9c97b3065ce909f5595eeb1ed6bc0a85f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:03:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Layout/SpaceBeforeFirstArg

    https://github.com/rubygems/rubygems/commit/cfcc33d480

commit 888a8f4318b7182addc9bf7ff096fd3c3327daba
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:02:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Style/StringLiteralsInInterpolation

    https://github.com/rubygems/rubygems/commit/2333f5f9c5

commit ea31461ba0cd9eb2fb68fd5b13266e75c343a471
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:02:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Style/StringLiterals

    https://github.com/rubygems/rubygems/commit/f25013bcc0

commit 443e4178859ed4d2789c3e5c982647a8e10d7021
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:02:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Style/RedundantParentheses

    https://github.com/rubygems/rubygems/commit/7cc647c8f3

commit ff0119354ee4bd836749b171e95458affa10b064
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 17:01:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-11 13:51:52 +0900

    [rubygems/rubygems] bin/rubocop -A --only Performance/StringInclude

    https://github.com/rubygems/rubygems/commit/34df962cf4

commit 08e22c64b34e2809ba6cafc82615b9c1fa8185fe
  Author:     Kenta Murata <mrkn@mrkn.jp>
  AuthorDate: 2023-12-26 10:25:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 13:21:38 +0900

    [rubygems/rubygems] Use cache_home instead of data_home in default_spec_cache_dir

    https://github.com/rubygems/rubygems/commit/d2801fcfde

commit 94e1d3f3fadb6181301a5279a7c80d6c5ae25d51
  Author:     Cody Cutrer <cody@instructure.com>
  AuthorDate: 2024-01-10 03:15:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 13:19:13 +0900

    [rubygems/rubygems] include MatchMetadata in Bundler::LazySpecification

    I'm running into a case in my plugin where matches_current_metadata? is
    getting called on a lazy specification, and adding this fixes it

    https://github.com/rubygems/rubygems/commit/24f962cb42

commit 1bd98c820da46a05328d2d53b8f748f28e7ee8f7
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2024-01-10 19:52:53 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-01-11 12:38:16 +0900

    Remove setaffinity of pthread for getaddrinfo

    It looks like `sched_getcpu(3)` returns a strange number on some
    (virtual?) environments.

    I decided to remove the setaffinity mechanism because the performance
    does not appear to degrade on a quick benchmark even if removed.

    [Bug #20172]

commit a9712294622381b9545ed393d68616819b5af26f
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-09 00:29:06 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-11 12:26:30 +0900

    Fixed return values for some node types in nd_st_key function

commit 76a8c963c7ad975b7bbfc1c4979bf7a2de15af27
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-08-18 22:19:21 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-11 11:12:17 +0900

    Add a test for what happens with concurent calls to waitpid

    Ruby 3.1 and 3.2 have a bug in their _implementation_, for which I'm
    backporting a fix. However, the current development branch doesn't have
    the issue (because the MJIT -> RJIT change refactored how waitpid worked
    substantially). I do however want to commit the test which verifies
    that waitpid works properly on master.

    [Fixes #19387]

commit 27688b6a1df7b58b539165c7d17b359db5142bd7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-11 09:33:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 10:40:03 +0900

    [rubygems/rubygems] Update comment for minitest helper

    https://github.com/rubygems/rubygems/commit/77b0805474

commit 9f784915cdb0b50221b929413d9794ee8f591782
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 16:36:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 10:40:02 +0900

    [rubygems/rubygems] bin/rubocop -A test/rubygems/helper.rb

    https://github.com/rubygems/rubygems/commit/07ebc9f844

commit bd9548810c5469a03c69bba19b24a673cca15988
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 16:18:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 10:40:01 +0900

    [rubygems/rubygems] Removed redundant block

    https://github.com/rubygems/rubygems/commit/d059b9ec4d

commit d5e83a0601f415bc542af2aded1e5094d4b9c48c
  Author:     Brave Hager <bhager@justworks.com>
  AuthorDate: 2024-01-10 23:49:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 09:51:48 +0900

    [rubygems/rubygems] Update documentation to use squiggly heredoc

    https://github.com/rubygems/rubygems/commit/4691b959ad

commit a6ba45e9b0e224be350556299f3d890171117d9e
  Author:     S.H <gamelinks007@gmail.com>
  AuthorDate: 2024-01-11 09:21:55 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-11 09:21:55 +0900

    Remove unnecessary semicolons (#9469)

commit ef751252711ca7ecabb3e4ad9214fa0d1d63608a
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-11 06:07:34 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-11 09:02:38 +0900

    Make defined? for op asgn expressions to constants use "assignment"

    Previously, it used "expression", as that was the default.  However,
    op asgn expressions to constants use the NODE_OP_CDECL, so recognize
    that node type as assignement.

    Fixes [Bug #20111]

commit 25f5b83689fc6dd137d45b634a0cd6e8bd024728
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-11-27 18:26:17 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-11 08:44:57 +0900

    Fix crash when printing RGENGC_DEBUG=5 output from GC

    I was trying to debug an (unrelated) issue in the GC, and wanted to turn
    on the trace-level GC output by compiling it with -DRGENGC_DEBUG=5.
    Unfortunately, this actually causes a crash in newobj_init() because the
    code there tries to log the obj_info() of the newly created object.
    However, the object is not actually sufficiently set up for some of the
    things that obj_info() tries to do:

    * The instance variable table for a class is not yet initialized, and
      when using variable-length RVALUES, said ivar table is embedded in
      as-yet unitialized memory after the struct RValue. Attempting to read
      this, as obj_info() does, causes a crash.
    * T_DATA variables need to dereference their ->type field to print out
      the underlying C type name, which is not set up until newobj_fill() is
      called.

    To fix this, create a new method `obj_info_basic`, which dumps out only
    the parts of the object that are valid before the object is fully
    initialized.

    [Fixes #18795]

commit 5906f6a50ed4c6d3e23595ecf5feea615f0965d5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-11 03:47:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-11 05:36:19 +0900

    Add a GitHub workflow for prism btests

commit 8333845b0b95fa7195ed15688a5ef50ff66c7e1f
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-11 05:17:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 05:24:31 +0900

    [ruby/prism] Unary symbols that cannot be binary should drop @

    https://github.com/ruby/prism/commit/d139af033f

commit 51061b6631f639d1a3724eb54aaae5b7aed734a7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-11 00:58:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-11 03:32:19 +0900

    [PRISM] Don't increment argc for PM_ASSOC_SPLAT_NODE

    Fixes ruby/prism#2087.

commit 015b0e2e1d312e2be60551587389c8da5c585e6f
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2024-01-11 02:37:08 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2024-01-11 03:19:15 +0900

    YJIT: Fix unused warnings

    ```
    warning: unused import: `condition::Condition`
      --> src/asm/arm64/arg/mod.rs:13:9
       |
    13 | pub use condition::Condition;
       |         ^^^^^^^^^^^^^^^^^^^^
       |
       = note: `#[warn(unused_imports)]` on by default

    warning: unused import: `rb_yjit_fix_mul_fix as rb_fix_mul_fix`
       --> src/cruby.rs:188:9
        |
    188 | pub use rb_yjit_fix_mul_fix as rb_fix_mul_fix;
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    warning: unused import: `rb_insn_len as raw_insn_len`
       --> src/cruby.rs:142:9
        |
    142 | pub use rb_insn_len as raw_insn_len;
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |
        = note: `#[warn(unused_imports)]` on by default
    ```

    Make asm public so it stops warning about unused public stuff in there.

commit 82b57d7bfeefd717c10f7a5a3484aca6b3e708a3
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-09 01:32:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-11 01:20:26 +0900

    Fix memory leak when duplicating too complex object

    [Bug #20162]

    Creating a ST table then calling st_replace leaks memory because the
    st_replace overwrites the ST table without freeing any of the existing
    memory. This commit changes it to use st_copy instead.

    For example:

        RubyVM::Shape.exhaust_shapes

        o = Object.new
        o.instance_variable_set(:@a, 0)

        10.times do
          100_000.times { o.dup }

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        23264
        33600
        42672
        52160
        61600
        71728
        81056
        90528
        100560
        109840

    After:

        14752
        14816
        15584
        15584
        15664
        15664
        15664
        15664
        15664
        15664

commit f165fa09e7bc36f90d3862e537f071f0e1339428
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-10 04:53:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 00:24:26 +0900

    [ruby/prism] address feedback

    https://github.com/ruby/prism/commit/ed183ad30c

commit 881c5a1846c220662a4ad49208a28fe0287b3c58
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2024-01-10 03:12:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-11 00:24:26 +0900

    [ruby/prism] Add a "repeated flag" to parameter nodes

    It's possible to repeat parameters in method definitions like so:

    ```ruby
    def foo(_a, _a)
    end
    ```

    The compiler needs to know to adjust the local table size to account for
    these duplicate names.  We'll use the repeated parameter flag to account
    for the extra stack space required

    https://github.com/ruby/prism/commit/b443cb1f60

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>
    Co-Authored-By: Jemma Issroff <jemmaissroff@gmail.com>

commit 8940922d1889f885d4f26b4c815beb136a9a2095
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-08 04:26:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-10 23:46:19 +0900

    [DOC] Improve doc for GC.latest_compact_info

commit 31371b2e24b03ccb0a03b622faf8c65e6cf6a31a
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-12-28 14:08:54 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-10 19:02:23 +0900

    Fix CRLF -> LF conversion on read for rb_io_fdopen & rb_file_open

    When opening a file with `File.open`, and then setting the encoding with
    `IO#set_encoding`, it still correctly performs CRLF -> LF conversion on
    Windows when reading files with a CRLF line ending in them (in text
    mode).

    However, the file is opened instead with either the `rb_io_fdopen` or
    `rb_file_open` APIs from C, the CRLF conversion is _NOT_ set up
    correctly; it works if the encoding is not specified, but if
    `IO#set_encoding` is called, the conversion stops happening. This seems
    to be because the encflags never get ECONV_DEFAULT_NEWLINE_DECORATOR
    set in these codepaths.

    Concretely, this means that the conversion doesn't happen in the
    following circumstances:
      * When loading ruby files with require (that calls rb_io_fdopen)
      * When parsing ruuby files with RubyVM::AbstractSyntaxTree (that calls
        rb_file_open).
    This then causes the ErrorHighlight tests to fail on windows if git has
    checked them out with CRLF line endings - the error messages it's
    testing wind up with literal \r\n sequences in them because the iseq
    text from the parser contains un-newline-converted strings.

    This commit fixes the problem by copy-pasting the relevant snippet which
    sets this up in `rb_io_extract_modeenc` (for the File.open path) into
    the relevant codepaths for `rb_io_fdopen` and `rb_file_open`.

    [Bug #20101]

commit 1500946ce4ed7d89ed33059e3629e526b1dc207a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 16:15:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-10 17:28:16 +0900

    Added mutex_m to bundled gems

commit d16f992e1bfacb638b8a9b8b5a7ef8149ee1d50d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-09 16:33:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-10 17:28:16 +0900

    Extract mutex_m as bundled gems

commit e59a7304779c6a51a89ff39695743a470f086c4e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-08 21:53:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-10 14:06:33 +0900

    `st_index_t` is not `VALUE`

commit 48fd311721a3d6c56584bebafb48fa6c8e69eb5f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-10 13:49:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-10 13:49:00 +0900

    Constify

commit 3ecfea60757e45aa3977f9a1151b590d02c0da5b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-10 13:41:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-10 13:43:04 +0900

    Need newline after changes list

commit 8b65d15ff079ebcf7fa9f68a1163f76e87c47764
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2024-01-10 13:40:20 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-10 13:40:20 +0900

    Fix test case for `test_match_cache_with_peek_optimization` (#9466)

commit a1949df5474429641446c89ca9664c12a32868d2
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-10 12:13:19 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-10 12:58:19 +0900

    Remove unnecessary semicolon and add break

commit 597955aae8b35c8955e292f589ef43b72d23f852
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2024-01-10 11:22:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-10 11:22:23 +0900

    Fix to work match cache with peek next optimization (#9459)

commit 1817d644ee827f10516947c4d999a8120017025b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2016-03-08 16:26:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-10 09:18:18 +0900

    mkmf.rb: use kwargs

commit c06745fec97058e9e9a569d1a590b53c2b6919cc
  Author:     Akshay Birajdar <akshaybirajdar05@gmail.com>
  AuthorDate: 2024-01-10 01:15:35 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-10 04:13:20 +0900

    [DOC] Enhance documentation for `Array#zip`

commit 80da9b1547ff69e2cd226f2fa7c43a9adf77de85
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-10 04:02:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-10 04:02:26 +0900

    [ruby/prism] Clarify __END__ comment

    https://github.com/ruby/prism/commit/3e36d5eabc

commit 55b7121358e2bed9b90001405b651f57fafbeaad
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-10 00:52:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-10 02:24:18 +0900

    [PRISM] Frozen string literals should be fstrings

    Frozen string literals should not just be frozen, but deduplicated as an
    fstring so that two string literals with the same contents are the exact
    same object.

    Fixes ruby/prism#2095.

commit 7015cb2479309541c58e4b269d6cb55f097be35e
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2024-01-10 00:47:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-10 01:07:39 +0900

    [ruby/abbrev] Provide a 'Changelog' link on rubygems.org/gems/abbrev

    By providing a 'changelog_uri' in the metadata of the gemspec a
    'Changelog' link will be shown on https://rubygems.org/gems/abbrev
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/abbrev/commit/9643a03ee8

commit 88d7838445ec84b1cc630ce3bd97bb71cd0aefd4
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-10 00:01:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-10 00:15:52 +0900

    [ruby/prism] Fix assertion on spanning heredocs

    https://github.com/ruby/prism/commit/e190308845

commit 02d8bad6e12b8614f007c8c30eb50aff4bddcfb4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-09 05:14:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-09 23:41:02 +0900

    Fix memory leak in parser for invalid syntax

    The strterm is leaked when there is invalid syntax.

    For example:

        10.times do
          100_000.times do
            begin
              RubyVM::InstructionSequence.compile('private def foo = puts "Hello"')
            rescue SyntaxError
            end
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        20384
        26256
        32592
        36720
        42016
        47888
        53248
        57456
        62928
        65936

    After:

        16720
        17488
        17616
        17616
        17616
        17616
        17616
        17616
        17616
        16032

    Co-Authored-By: Kevin Newton <kddnewton@gmail.com>

commit 38bc107f0ba75f93717cf62ed1fe3d85f315d9d3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 18:47:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 18:47:15 +0900

    Convert a series of `else if` lines to a `switch`

commit 149373ce7f7324c56254f10d05534e1c17079b24
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-09 17:14:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-09 17:14:55 +0900

    racc is extracted at Ruby 3.3, not 3.4

commit 23345cc699e032bc95bad6f00e8a977f8be450f7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-09 17:12:11 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-09 17:12:11 +0900

    Add Visual Studio 2015 job on GitHub Actions (#9452)

    [[Feature #19982]](https://bugs.ruby-lang.org/issues/19982)

commit 7285b165a46dccd4b863c328e731ad234d567b56
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 15:14:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Make platform and version options optional

commit 1288e7e9629a5aac5346a467ef294c457e3364ef
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 14:52:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Remove timestamp files for revisions to test

commit 60cd5230f6d161b56b7d204c1af25f73337ea11b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 14:27:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Sort outputs in depth order

commit 72a78ecd3371ff08ad2c9aa10f5ae16ee8645c32
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 11:11:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Add `--all` option

    Unless this option is given, keep other gems that may be used by
    `test-bundled-gems`.

commit bf108636dff335903751d5a4e15d2293d7b9293f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 11:09:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Add `--only={all,curdir,srcdir}` option

commit 963131a2d90ac72eaad8c1c91fe8abfa186391e8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-01-16 19:20:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Pass platform and version explicitly

    For different version baseruby, use the target platform and version
    instead of the info of baseruby.

commit 8f61617a95d3a447c9698e52d5c2f2dc63d29a9f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-12-21 20:52:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 16:42:20 +0900

    outdate-bundled-gems.rb: Do not clean the same directory twice

commit db476cc71cb6c690bd5b32cebebf7ebcbff604ad
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-01 01:31:28 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-09 16:07:19 +0900

    Introduce NODE_SYM to manage symbol literal

    `:sym` was managed by `NODE_LIT` with `Symbol` object.
    This commit introduces `NODE_SYM` so that

    1. Symbol literal is detectable from AST Node
    2. Reduce dependency on ruby object

commit f82a6172a2a96815f9478410116d35c76b56efb5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-09 14:53:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-09 14:53:22 +0900

    Avoid the duplicated entries of GitHub releases

commit 4b01983bf81259e3d1837b4c8a27c440c0278403
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 13:05:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 13:05:34 +0900

    Simplify empty hash with DSTAR

commit a4406bc89a46e9b732c1ce649b28c801e21be5c1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-09 13:04:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-09 13:04:26 +0900

    Extract repeating NODE references as a local variable

commit 37ed86fd3c798e298fad9db6e7df1f3f45e1e03b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-09 00:09:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-09 09:50:34 +0900

    Fix memory leak in regexp grapheme clusters

    [Bug #20161]

    The cc->mbuf gets overwritten, so we need to free it to not leak memory.

    For example:

        str = "hello world".encode(Encoding::UTF_32LE)

        10.times do
          1_000.times do
            str.grapheme_clusters
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        15536
        15760
        15920
        16144
        16304
        16480
        16640
        16784
        17008
        17280

    After:

        15584
        15584
        15760
        15824
        15888
        15888
        15888
        15888
        16048
        16112

commit 0a30fc6211230f23a84d63344cba32e879ab4770
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-09 08:50:09 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2024-01-09 08:51:15 +0900

    Remove obsoleted lldb_yjit.py

    which clearly seems to be written for Ruby 3.1 YJIT that was not
    rewritten in Rust yet. Since it has been left there as is, I don't think
    anybody is actively using this script. We could add a new one if we need
    it again.

commit 5ecf2d2880a5035c36996b5bcbdf4ec3af9004fb
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-08 21:09:10 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-09 07:42:44 +0900

    Use `strcmp` to compare strings

commit 544c87d00980f4b1332c14fbc193d2c20733662a
  Author:     Avdi Grimm <avdi@users.noreply.github.com>
  AuthorDate: 2024-01-09 05:20:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 06:45:25 +0900

    [rubygems/rubygems] Refer to underscores as underscores

    https://github.com/rubygems/rubygems/commit/aa3ae5d245

commit 41dd15944f8843539a070a6aa1b01a71421ce4d0
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2024-01-09 00:27:40 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-01-09 05:43:28 +0900

    fix `rb_thread_wait_for_single_fd` on non MN case

    `rb_thread_wait_for_single_fd(fd)` waits until `fd` is ready.
    Without MN it shouldn't use `thread_io_wait_events()` for the
    retry checking (alwasy false if MN is not active).

commit 47ff4a165802236ae951c39fda1adf2887ad75b1
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2024-01-08 22:31:29 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2024-01-09 04:55:26 +0900

    [PRISM] Blocks should track the found local depth

    Rather than rely purely on local depth offset. This is because we can't
    assume a specific depth offset for all variable accesses happening
    within a block in the same way that we can for rescue/ensure/for or
    other nodes that push scopes.

    This is because block parameters are defined in the scope level, so we
    always need to start from the top most scope and walk backwards.

    Fixes ruby/prism@2053

commit c39c49cb24c6a5c457bae6a75bc55f6a9e509b39
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-09 00:01:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:18 +0900

    [ruby/prism] Add missing comment key

    https://github.com/ruby/prism/commit/723480a107

commit eef74d836775fda3f34cba7ee44ee500613a0ef3
  Author:     matthew healy <matthew-healy@users.noreply.github.com>
  AuthorDate: 2024-01-08 23:52:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:17 +0900

    [ruby/prism] Fix spacing in documentation comment

    https://github.com/ruby/prism/commit/8408961e76

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit d02455afc1a73d2e248890f07ae7888b52294f5a
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-07 21:54:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:17 +0900

    [ruby/prism] Add comments documenting RangeNode fields

    https://github.com/ruby/prism/commit/e6aef6499b

commit 1e7d1da3b0798d92cde87578d9b267f9fb068c0a
  Author:     matthew healy <matthew-healy@users.noreply.github.com>
  AuthorDate: 2024-01-08 23:51:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:06 +0900

    [ruby/prism] Clarify keys and values in AssocNode must be non-void

    https://github.com/ruby/prism/commit/0caca53a2c

    Co-authored-by: Kevin Newton <kddnewton@gmail.com>

commit b57c5e560e4302e6f9dd2b2e846575a178086333
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-07 19:07:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:06 +0900

    [ruby/prism] Add comments for AssocSplatNode fields

    https://github.com/ruby/prism/commit/a0fd874848

commit 04ae8fb3a953454b6d79f239e28fc779e76aaff4
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-07 18:56:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:06 +0900

    [ruby/prism] Add comments for AssocNode fields

    https://github.com/ruby/prism/commit/fb60072a1e

commit 7e09dd433b2230c6bf4158a5157c14246510b746
  Author:     Matthew Healy <matthew@liamhealy.xyz>
  AuthorDate: 2024-01-07 18:26:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-09 03:47:05 +0900

    [ruby/prism] Add comments for HashNode fields

    https://github.com/ruby/prism/commit/649e209519

commit a0eecfb5bae66470ccf40e27b9193fbf5c76618f
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-09 02:34:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-09 02:34:57 +0900

    YJIT: Fallback Integer#<< if a shift amount varies (#9426)

    * YJIT: Fallback Integer#<< if a shift amount varies

    * YJIT: Do not fallback lshift in the first chain

commit 85a7da742a81d87322878a7f66c44b16c7cb9b0b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-08 04:08:50 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-09 01:30:29 +0900

    [DOC] Escape File in documentation

commit d1d50a050583da978fcf87b41ddc807bf93ede9e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-08 23:21:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-08 23:34:59 +0900

    [ruby/prism] Handle parsing a line break in a receiver of a method

    https://github.com/ruby/prism/commit/4d5f43ecbc

commit b3d612804946e841e47d14e09b6839224a79c1a4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-05 05:35:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-08 23:14:04 +0900

    Fix memory leak in grapheme clusters

    [Bug #20150]

    String#grapheme_cluters and String#each_grapheme_cluster leaks memory
    because if the string is not UTF-8, then the created regex will not
    be freed.

    For example:

        str = "hello world".encode(Encoding::UTF_32LE)

        10.times do
          1_000.times do
            str.grapheme_clusters
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        26000
        42256
        59008
        75792
        92528
        109232
        125936
        142672
        159392
        176160

    After:

        9264
        9504
        9808
        10000
        10128
        10224
        10352
        10544
        10704
        10896

commit 8f4eda50921f9adc20df3138208e8ebd0e7d582e
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-08 21:42:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-08 21:42:39 +0900

    [ruby/irb] Make SourceFinder ignore binary sources
    (https://github.com/ruby/irb/pull/836)

    https://github.com/ruby/irb/commit/73b35bb7f4

commit 41e2d180a3466a8d18c44246144a912adadd9d1a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-08 14:03:54 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-08 18:48:24 +0900

    Do not convert NODE_STR to NODE_LIT when the string is hash key

    parse.y converted NODE_STR when the string is hash key like

    ```
    h1 = {"str1" => 1}
    m1("str2" => 2)
    m2({"str3" => 3})
    ```

    This commit stop the conversion.
    `static_literal_node_p` needs to know the node is for hash key or not
    for the optimization.

commit 7ffff3e043b081a8c72b8f8c537f17388fd127a9
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-08 12:20:03 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-08 14:02:48 +0900

    Change numeric node value functions argument to `NODE *`

    Change the argument to align with other node value functions
    like `rb_node_line_lineno_val`.

commit d9bad91c342d65332588672081597af5ab30fe97
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-08 12:26:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-08 12:26:12 +0900

    [DOC] Fix docs for GC.compact

    GC.compact returns GC.latest_compact_info and not GC.latest_gc_info.

commit 9527093759e127a899c9bcb8dd9f9b6d0d6a0161
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-08 10:24:38 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-08 11:57:30 +0900

    Fix numeric node print by `-y` option

    These nodes are not NOTE_LIT, so need to treat separately.

commit 11286ac479807d7e259cd8347cab2ab516e2565a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-06 07:14:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-08 03:48:59 +0900

    Fix memory leak in autoload_data

    If the autoload_data has autoload_const and the autoload_data is freed
    before the autoload_const, then the autoload_data will leak.

    This commit changes it so that when the autoload_data is freed, it will
    clear the whole linked list of autoload_const so that the autoload_data
    can be safely freed.

        1000.times do |i|
          str = "foo#{i}".freeze

          autoload(:"B#{i}", str)
          autoload(:"C#{i}", str)
        end

    Reports leaked memory with the macOS leaks tool:

        12  ruby                                  0x1006398a4 rb_f_autoload + 96  load.c:1524
        11  ruby                                  0x100639710 rb_mod_autoload + 112  load.c:1460
        10  ruby                                  0x10080a914 rb_autoload_str + 224  variable.c:2666
        9   ruby                                  0x1007c3308 rb_mutex_synchronize + 56  thread_sync.c:637
        8   ruby                                  0x1005acb24 rb_ensure + 312  eval.c:1009
        7   ruby                                  0x10080aac8 autoload_synchronized + 204  variable.c:2630
        6   ruby                                  0x10080f8bc autoload_feature_lookup_or_create + 76  variable.c:2578
        5   ruby                                  0x1005c29a4 rb_data_typed_object_zalloc + 232  gc.c:3186
        4   ruby                                  0x1005c2774 ruby_xcalloc + 32  gc.c:14440
        3   ruby                                  0x1005cddf4 ruby_xcalloc_body + 56  gc.c:12878
        2   ruby                                  0x1005cde7c objspace_xcalloc + 124  gc.c:12871
        1   ruby                                  0x1005c1990 calloc1 + 28  gc.c:1906
        0   libsystem_malloc.dylib                0x18b2ebb78 _malloc_zone_calloc_instrumented_or_legacy + 100

commit 8b86d6f0c12370e97171d83e38346ee1acd9a372
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-08 01:22:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-08 01:23:58 +0900

    Suppress unused-but-set-variable warning in ripper

    `set_yylval_node` in ripper does not use the argument at all.

commit 76c20b06aa16686d047af5cb21300602153e0e46
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-07 23:06:55 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-08 00:33:31 +0900

    Add `MakeMakefile["C"]`

commit 189c8077aabeb38b6177120e09790940f49ca29e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-08 00:05:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-08 00:05:20 +0900

    Label memory leak test

commit bca1493815ae7ab504ed4f9b049f62a27f30d779
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-07 21:49:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-07 21:49:47 +0900

    [DOC] Documentation of mkmf.rb

commit ad7aee35e43bd732cb165c73bf4167c232b66505
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-07 16:41:59 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-07 21:16:31 +0900

    Remove unneeded rb_parser_config_struct struct properties for Universal Parser

commit 7fcc6f04ac75336bcf9a8250da2948dcd8da2825
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-07 20:14:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-07 20:39:46 +0900

    [ruby/rdoc] Visibility should begin from `public` for each scope

    Even for singleton class definition such as `class << self` that
    shares the same container with the outer scope, its visibility is
    separated and set to `public` by default.

    https://github.com/ruby/rdoc/commit/baf26363b9

commit 2325b72cf3f14448603a97024c112d8dde159f5a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-07 19:44:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-07 20:39:45 +0900

    [ruby/rdoc] Singleton method visibility should be isolated

    Each singleton method definition of the form `def recv.method` has
    visibility separate from the outer scope and is set to `public` by
    default.

    https://github.com/ruby/rdoc/commit/810913a7ea

commit 83c98ead4e889710916a367c146884c987576e8b
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-02 16:17:47 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-07 16:18:16 +0900

    Do not remove hash duplicated keys in parse.y

    When hash keys are duplicated, e.g. `h = {k: 1, l: 2, k: 3}`,
    parser changes node structure for correct compilation.
    This generates tricky AST. This commit removes AST manipulation
    from parser to keep AST structure simple.

commit 9d3dcb86d1c95ceb75089595145bbfbc32a5c77c
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-02 14:23:13 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-07 14:32:10 +0900

    Check hash key duplication for `__LINE__` and `__FILE__`

commit e4a9a73931072458f2bc13b29aeb33efb2eb9ae9
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-06 21:22:51 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-07 09:24:34 +0900

    Skip some RBS test

commit 1b8d01136c3ff6c60325c7609d61e19ac42acd9f
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-01-05 12:03:11 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-07 09:24:34 +0900

    Introduce Numeric Node's

commit 76afbda5b566148b9e73939e0ff9b8464d59806c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-07 02:12:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-07 03:26:38 +0900

    [ruby/net-http] Tweak to Net::HTTP What's Here

    https://github.com/ruby/net-http/commit/3bf641ca63

commit 8cad6fc90a067cc60a4f02e5ba679268d97364c9
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-07 01:57:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-07 03:25:17 +0900

    Tweak to Integer What's Here

commit 4a44bf8c34bf1999258b1abce3ba6ca91e83a2ea
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-07 01:51:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-07 03:24:48 +0900

    Tweak to Float What's Here

commit 7b615bfdf3533256022331da5426f18c33b3ec65
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-07 01:47:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-07 03:24:48 +0900

    Tweak to Float What's Here

commit 54e8901f664f5aa649231dd14bf8f9b36cb18071
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-07 01:35:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-07 03:23:27 +0900

    Tweak for ENV doc

commit 4bdfc9070cf626db4553a6cd15dbae19604180cf
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-07 02:15:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-07 02:15:16 +0900

    [ruby/irb] Refactor exit command
    (https://github.com/ruby/irb/pull/835)

    * Remove unnecessary code from the exit command's implementation

    1. The parameters of `IRB.irb_exit` were never used. But there are some
       libraries seem to call it with arguments + it's declared on the top-level
       IRB constant. So I changed the params to anonymous splat instead of removing them.
    2. `Context#exit` was completely unnecessary as `IRB.irb_exit` doesn't use
       the `@irb` instance it passes. And since it's (or should be treated as)
       a private method, I simply removed it.
    3. The `exit` command doesn't use the status argument it receives at all.
       But to avoid raising errors on usages like `exit 1`, I changed the argument to
       anonymous splat instead removing it.

    * Make exit an actual command

    * Update readme

    https://github.com/ruby/irb/commit/452b543a65

commit d96fe5e4f8dd09bdbcb730b90382ab35e0be03d1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-07 01:43:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-07 01:43:57 +0900

    [DOC] Fix indentation in Numeric#step

commit e168dbdac542634f0e86ffb048cb78ff617720f7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-07 00:43:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-07 00:43:56 +0900

    [DOC] Simply use `--` / `++` instead of `:stopdoc:` / `:startdoc:`

commit 0831d960bf6eef9ec96d37529d555c0f43f21d0d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-06 23:34:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-06 23:34:54 +0900

    [DOC] Fix typo in call-seq for Float#round

commit 9b78ef75522b1f6aa20fc81ddf06e5fb40db152d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-06 20:04:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-06 21:19:51 +0900

    [DOC] Load options and parse files from srcdir

    RDoc options that do not change and can be written in `.rdoc_options`
    file are moved, so that they match when called without `make`.

    Get rid of parsing the files in `page_dir` twice (as relative paths
    and absolute paths).

commit 3dac27897e5b48c5c95fa2f58badec1fb6da94be
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-06 21:16:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-06 21:16:12 +0900

    [ruby/irb] Require Reline v0.4.2+
    (https://github.com/ruby/irb/pull/834)

    https://github.com/ruby/irb/commit/eff8d0d46a

commit f6847e94560a37c95748da79cdf8936b5f1dde10
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-06 19:08:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-06 19:17:49 +0900

    [ruby/rdoc] Ignore `locale` at `write_options`

    `@locale` is set from `@locale_name` and loaded from `@locale_dir`
    after `write_options`, and `RDoc::I18n::Locale` does not seem to
    expected to be loaded.

    https://github.com/ruby/rdoc/commit/fd610f7023

commit 913b26d0fd7ad5dafe3d613ccd5494dab6771962
  Author:     Rian McGuire <rian@rian.id.au>
  AuthorDate: 2024-01-06 14:02:36 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-06 15:36:35 +0900

    Add test case for GC.measure_total_time

commit 7db35e10c37f5662d5c41d1d73ffdc5948f6dd2a
  Author:     Rian McGuire <rian@rian.id.au>
  AuthorDate: 2024-01-06 12:10:23 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2024-01-06 15:36:35 +0900

    Fix GC.measure_total_time regression

    Commit 93ac7405b80cc61930d73da04441fa09af1851e1 introduced a regression
    where measurements would still be taken after setting
    GC.measure_total_time = false.

    Fixes [Bug #20157]

commit 4112585be557fd804ab849b3961ea71fe9784534
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-06 13:47:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-06 13:47:06 +0900

    Too much nestings make editors confused

    Get rid of nested double quotes inside nested interpolations.  Also,
    remove comments that are no longer needed by the documents.

commit 54a123654196d782d4ad7b9ad7750edd89c435e8
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-05 21:34:39 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-06 09:32:45 +0900

    Add ruby_debug_print functions to vm_debug.h

commit 0c990994c7c61cab57c3fbbcf2d1ccb213dc8cdd
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-05 21:31:45 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-06 09:32:45 +0900

    Add a shorthand for ruby_debug_print_node

commit da23f8fe1ac4ebf5d733b50241ddc1f0556ab40f
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-05 21:30:42 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-06 09:32:45 +0900

    Print node id and location by ruby_debug_print_node

commit 7f9c174102d0e2369befc7b88f2c073becaa7560
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-06 04:08:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-06 04:08:57 +0900

    YJIT: Let RubyVM::YJIT.enable respect --yjit-stats (#9415)

commit 4d03140009044096ac1903281682f357ab4acf98
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2024-01-06 01:51:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-06 01:51:37 +0900

    [ruby/net-http] Don't invoke response block more than once due to retry

    If a socket error occurs while performing a streaming download via
    the response block provided to transport_request, avoid calling
    the response block again as this would result in duplicate data
    received by the client.

    Fixes https://github.com/ruby/net-http/pull/86
    Fixes https://github.com/ruby/net-http/pull/87

    Fixes [Bug #11526]

    https://github.com/ruby/net-http/commit/114d01b092

    Co-authored-by: Jeremy Stanley <jeremy@instructure.com>

commit 37657c79b66994147e41f31139ceb9c0c840868f
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2023-10-25 05:26:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-06 01:07:55 +0900

    [ruby/uri] Make URI#to_s prepend relative path with / if there is a host or port

    Otherwise, the path could be considered part of the host or port.

    This is better than modifying the path to make it absolute when
    a host or port is set.  We could also raise for invalid paths
    when a host or port is set using check_path, but that results
    in weird errors, and won't catch issues (such as ftp allowing a
    relative path).

    Fixes [Bug #19916]

    https://github.com/ruby/uri/commit/ac32aa005b

commit 99933751c1c99488b7207449179dcb3a7988bf96
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-05 23:32:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 23:32:18 +0900

    [ruby/reline] Bump version to v0.4.2
    (https://github.com/ruby/reline/pull/633)

    https://github.com/ruby/reline/commit/5b59e48070

commit 900fb48e68eac3f320ac1414fa045030a05ba993
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-04 17:53:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-05 18:29:02 +0900

    Support Feature and Bug tickets for release note generator

commit 185abff6260c100cbb1022c8ee8bbbfe7f7a76ee
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-05 17:45:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-05 18:13:34 +0900

    Use released versions of net-imap and net-smtp

commit 75a8b48fba5392019bf7be82eab247a2eef13c98
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-05 17:24:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 17:25:03 +0900

    [ruby/net-http] Bump version to 0.4.1

    https://github.com/ruby/net-http/commit/21e226c0bc

commit 7b2b1e61ce877708635d9db81b488008116dabe9
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2024-01-05 15:58:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 15:58:22 +0900

    Update bundled gems list as of 2024-01-05

commit 6d67dfc9ea9d90e660f9478ca0f503fbf4e57128
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-05 09:48:41 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-05 12:14:13 +0900

    Add test cases for duplicated `when` clause warnings

    Add test cases for `__LINE__` and `__FILE__` because
    they were managed by NODE_LIT and NODE_STR but changed to
    be managed by dedicated NODE now.

commit 098d97e96d1519154c2a845db558b104abe3ab7e
  Author:     Martin Emde <martin.emde@gmail.com>
  AuthorDate: 2024-01-04 09:00:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 11:06:58 +0900

    [rubygems/rubygems] Quote Etag in `If-None-Match` header of compact index request

    https://github.com/rubygems/rubygems/commit/d26bcd7551

commit 6aacbd690ccde53f9b97c6673482cb11df3f2955
  Author:     Adam Hess <adamhess1991@gmail.com>
  AuthorDate: 2024-01-05 03:43:49 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2024-01-05 08:56:44 +0900

    Free pthread_attr after setting up the thread

    [bug #20149]

commit 5ff1524fde1e1014472ce78746b8f6979de8e510
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-05 07:34:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 07:34:59 +0900

    [ruby/erb] Version 4.0.4

    https://github.com/ruby/erb/commit/b68bfed6a8

commit d20c609465b67e0378dac108ec0d352e434c8b32
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2024-01-05 07:32:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 07:33:16 +0900

    [ruby/erb] Skip building a native extension for JRuby

    https://github.com/ruby/erb/commit/f0f68baf6b

commit 10b9679fa61f40c08ec28ec34251f7ec8648054d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2024-01-05 01:17:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-05 06:27:58 +0900

    [ruby/rdoc] Tweaks to Markup Reference

    https://github.com/ruby/rdoc/commit/05ac6dba66

commit d65d2fb6b5c56c495f2f98f8e6ac5994ad5d93dd
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2023-12-29 03:52:45 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-01-05 05:51:25 +0900

    Do not `poll` first

    Before this patch, the MN scheduler waits for the IO with the
    following steps:

    1. `poll(fd, timeout=0)` to check fd is ready or not.
    2. if fd is not ready, waits with MN thread scheduler
    3. call `func` to issue the blocking I/O call

    The advantage of advanced `poll()` is we can wait for the
    IO ready for any fds. However `poll()` becomes overhead
    for already ready fds.

    This patch changes the steps like:

    1. call `func` to issue the blocking I/O call
    2. if the `func` returns `EWOULDBLOCK` the fd is `O_NONBLOCK`
       and we need to wait for fd is ready so that waits with MN
       thread scheduler.

    In this case, we can wait only for `O_NONBLOCK` fds. Otherwise
    it waits with blocking operations such as `read()` system call.
    However we don't need to call `poll()` to check fd is ready
    in advance.

    With this patch we can observe performance improvement
    on microbenchmark which repeats blocking I/O (not
    `O_NONBLOCK` fd) with and without MN thread scheduler.

    ```ruby
    require 'benchmark'

    f = open('/dev/null', 'w')
    f.sync = true

    TN = 1
    N = 1_000_000 / TN

    Benchmark.bm{|x|
      x.report{
        TN.times.map{
          Thread.new{
            N.times{f.print '.'}
          }
        }.each(&:join)
      }
    }
    __END__
    TN = 1
                     user     system      total        real
    ruby32       0.393966   0.101122   0.495088 (  0.495235)
    ruby33       0.493963   0.089521   0.583484 (  0.584091)
    ruby33+MN    0.639333   0.200843   0.840176 (  0.840291) <- Slow
    this+MN      0.512231   0.099091   0.611322 (  0.611074) <- Good
    ```

commit 6c252912af4981f016a9abdb4c1689307a4f1d2f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-04 05:59:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-05 01:25:31 +0900

    Memory leak when duplicating identhash

    [Bug #20145]

    Before this commit, both copy_compare_by_id and hash_copy will create a
    copy of the ST table, so the ST table created in copy_compare_by_id will
    be leaked.

        h = { 1 => 2 }.compare_by_identity

        10.times do
          1_000_000.times do
            h.select { false }
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

        110736
        204352
        300272
        395520
        460704
        476736
        542000
        604704
        682624
        770528

    After:

        15504
        16048
        16144
        16256
        16320
        16320
        16752
        16752
        16752
        16752

commit 542011ff6895f77204349ddfae7dcfb476e116df
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-04 20:53:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 20:53:06 +0900

    [ruby/reline] Fix pasting tab-indented code crash
    (https://github.com/ruby/reline/pull/630)

    https://github.com/ruby/reline/commit/90155fd0d9

commit a4bdf26781c09be9f8b8860d0032e28dbd3bf0b1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-01-04 19:09:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-01-04 19:09:38 +0900

    Fix version detection error of net-smtp

      https://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20240104T083002Z.fail.html.gz
      https://rubyci.s3.amazonaws.com/openbsd-current/ruby-master/log/20240104T073006Z.fail.html.gz

commit c945a849cb2c5fcdfa546e501f35bf8f834c8d7e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-04 17:47:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-04 17:47:26 +0900

    Skip test depending on bundled gems

    Because bundled gems cannot be loaded at test-all, this test which
    depends on one of the bundled gems, `rake`, always does nothing except
    print an expected warning.

commit 577bc8254e04efa7968d8a3c1bc7fcf1e9eabb91
  Author:     hyuraku <32809703+hyuraku@users.noreply.github.com>
  AuthorDate: 2024-01-01 18:36:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 09:39:54 +0900

    [rubygems/rubygems] remove useless comments from unpack_command.rb

    https://github.com/rubygems/rubygems/commit/7576c21295

commit 46f7fac878540fd555b502a2c5a5b5e2a6c7413f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-03 23:53:55 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-04 05:41:08 +0900

    Free rb_native_thread of main thread

    The rb_native_thread gets reported as a memory leak by the macOS leaks
    tool:

        $ RUBY_FREE_AT_EXIT=1 leaks -q --atExit -- ./miniruby -e ""
        STACK OF 1 INSTANCE OF 'ROOT LEAK: <calloc in ruby_xcalloc_body>':
        6   dyld                                  0x1818a90e0 start + 2360
        5   miniruby                              0x104730128 main + 88  main.c:58
        4   miniruby                              0x1047d7710 ruby_init + 16  eval.c:102
        3   miniruby                              0x1047d757c ruby_setup + 112  eval.c:83
        2   miniruby                              0x104977278 Init_BareVM + 524  vm.c:4193
        1   miniruby                              0x1047f2478 ruby_xcalloc_body + 176  gc.c:12878
        0   libsystem_malloc.dylib                0x181a67b78 _malloc_zone_calloc_instrumented_or_legacy + 100
        ====
            1 (176 bytes) ROOT LEAK: <calloc in ruby_xcalloc_body 0x126604780> [176]

commit 7304d56236347eec1ce20cbdd0b44842d4cb7c2b
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-01-04 02:34:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 05:00:18 +0900

    [ruby/prism] Include field comments in Java source

    https://github.com/ruby/prism/commit/4a9389f304

commit c7ce2f537f96ab2cf2f5fc2982d6147866ff5340
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-04 01:15:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-04 03:31:43 +0900

    Fix memory leak in setting encodings

    There is a memory leak in Encoding.default_external= and
    Encoding.default_internal= because the duplicated name is not freed
    when overwriting.

        10.times do
          1_000_000.times do
            Encoding.default_internal = nil
          end

          puts `ps -o rss= -p #{$$}`
        end

    Before:

         25664
         41504
         57360
         73232
         89168
        105056
        120944
        136816
        152720
        168576

    After:

        9648
        9648
        9648
        9680
        9680
        9680
        9680
        9680
        9680
        9680

commit a25329e0dab2a3ada395b1e4e0254a15cd498de2
  Author:     TSUYUSATO Kitsune <make.just.on@gmail.com>
  AuthorDate: 2024-01-03 13:30:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 02:20:33 +0900

    [ruby/prism] Fix parsing pinned local variable pattern for numbered parameter

    Fix https://github.com/ruby/prism/pull/2094

    The part of `parse_variable_call` for variables was split into a new
    function `parse_variable` and used it.

    https://github.com/ruby/prism/commit/4c5fd1a746

commit 3a3fcf56d0ab6b6887024ce7eba0676bae0ce13d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-04 02:05:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 02:18:02 +0900

    [ruby/prism] Fix rational when parsing non decimal integer

    https://github.com/ruby/prism/commit/75d4331f7f

commit 0215965df4ef8b70a1cd3668ed64821e9f25538a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 07:10:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 01:46:08 +0900

    [ruby/prism] Better error recovery for content after unterminated heredoc

    https://github.com/ruby/prism/commit/c2d325a886

commit a1d0c621e90a5e1c44b8e18210a5d97f77df3472
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-04 01:44:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 01:44:38 +0900

    [ruby/prism] More spacing in config.yml

    https://github.com/ruby/prism/commit/825ff8b9ec

commit ca2a6b7d4d68b6c0fb76ec08cd21a407359f8adc
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-04 01:44:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 01:44:37 +0900

    [ruby/prism] Spacing in config.yml

    https://github.com/ruby/prism/commit/983561988e

commit 06a65ce64163f5d28e45485520f721cd335372b2
  Author:     Sanjay Karukamanna <work@sanjay.link>
  AuthorDate: 2024-01-03 14:28:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-04 01:44:37 +0900

    [ruby/prism] Document `IntegerNode` fields

    https://github.com/ruby/prism/commit/77280b2807

commit 66e0d92de571c357ebc50f11edffa3b65271e55c
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-03 22:47:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 22:47:51 +0900

    [ruby/irb] Avoid completing empty input
    (https://github.com/ruby/irb/pull/832)

    The candidate list for empty input is all methods + all variables +
    all constants + all keywords. It's a long list that is not useful.

    https://github.com/ruby/irb/commit/812dc2df7b

commit 73fb9c35efd64f0935bce52b18a38c2a500a972f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-03 11:10:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 11:12:30 +0900

    [ruby/io-console] `IO_CONSOLE_VERSION` is no longer a macro

    https://github.com/ruby/io-console/commit/14b35217dc

commit 9ff4e52d5d322a5d1d13d7d0e94da2aa8f530bc0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-03 10:54:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-03 10:54:52 +0900

    [DOC] Make "Appendix F. Ractor support" a numbered list

commit 5aba5f0454d8a7950963e7d11031d03483764c4f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-03 09:19:12 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-03 09:19:12 +0900

    [DOC] Add parentheses in call-seq for String#include?

commit 8916b81bf434fc50bb9ce912a3dd468d784ca737
  Author:     ima1zumi <mariimaizumi5@gmail.com>
  AuthorDate: 2024-01-01 23:36:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 07:17:05 +0900

    [ruby/io-console] Define IO::ConsoleMode::VERSION from console.c

    https://github.com/ruby/io-console/commit/6302a2082c

commit e46922e48f3d4bc9e199ab1a46f4373b092986b8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 05:26:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 06:16:35 +0900

    [ruby/prism] Introduce field comments

    In an effort to further improve our documentation, this commit
    introduces the concept of templating comments onto fields. I hope
    to get more documentation above the nuances of specific fields this
    way going forward.

    With this, we template the comments into C and Ruby. I haven't done
    JS or Java yet, but we can touch those in the future, especially
    once their documentation is published.

    https://github.com/ruby/prism/commit/af300d5fb3

commit adbfbd822f37d9dfc94d071af4d2d4390bfb29eb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 04:54:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 05:59:19 +0900

    [ruby/prism] Ignore visibility flag

    https://github.com/ruby/prism/commit/55b049ddac

commit 380c218bfa85dcb1418c72144f59550999ef396c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 04:10:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 04:10:43 +0900

    [ruby/prism] Do not add error for forwarding in CRuby 3.3.0

    https://github.com/ruby/prism/commit/a28e57c650

commit 0ee625ceae004f2ca53ebe234310ff2d44f7388c
  Author:     TSUYUSATO Kitsune <make.just.on@gmail.com>
  AuthorDate: 2023-12-27 12:05:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 04:08:15 +0900

    [ruby/prism] Fix to check multiple block arguments for forwarding arg

    Fix https://github.com/ruby/prism/pull/2111

    https://github.com/ruby/prism/commit/21ca243d0a

commit 165deec5fef5076bca99c038caf8c9da34abe0fd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 03:59:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 03:59:26 +0900

    [ruby/prism] Document the version option on prism parse

    https://github.com/ruby/prism/commit/eddd72a8ef

commit 29026404a60c670887d3e8f6cbfbf1e012b9e4f0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 03:58:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-03 03:58:55 +0900

    Fix up common.mk targets for prism

commit 23beceedb76a47b3f4497809eefb7338690df191
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 01:18:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-03 03:51:18 +0900

    [ruby/prism] IndexTargetNode should always have ATTRIBUTE_WRITE

    Because this is a user-facing change, we also need to deal with the
    fact that CRuby 3.3.0 was just released.

    In order to support workflows that want to parse exactly as CRuby
    parses in a specific version, this PR introduces a new option to
    the options struct that is "version". This allows you to specify
    that you want "3.3.0" parsing.

    I'm not sure if this is the correct solution. Another solution is
    to just fork and keep around the old branch for security patches.
    Or we could keep around a copy of the source files within this
    repository as another directory and only update when necessary.
    There are a lot of potential solutions here.

    Because this change is so small and the check for it is so minimal,
    I've decided to go with this enum. If this ends up entirely
    cluttering the codebase with version checks, we'll come up with
    another solution. But for now this works, so we're going to go in
    this direction for a bit until we determine it's no longer working.

    https://github.com/ruby/prism/commit/d8c7e6bd10

commit 04f64608e8bfb50f62633864e68f83b2a6099714
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 01:34:04 +0900
  Commit:     Jemma Issroff <jemmaissroff@gmail.com>
  CommitDate: 2024-01-03 02:13:43 +0900

    Sync to latest prism

commit b959263b58e26ef630c085f9f7ddc04373a998c7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-03 00:07:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-03 02:03:31 +0900

    Fix Exception#detailed_message for GC compaction

    Before this commit, the test fails with RGENGC_CHECK_MODE enabled:

        TestException#test_detailed_message_under_gc_compact_stress [test/ruby/test_exception.rb:1466]:
        <"\e[1mfoo (\e[1;4mRuntimeError\e[m\e[1m)\e[m\n" +
        "\e[1mbar\e[m\n" +
        "\e[1mbaz\e[m"> expected but was
        <"\e[1mfoo (\e[1;4mRuntimeError\e[m\e[1m)\e[m\n" +
        "\e[1m\x00\x00\x00\x00\x00\x00\x00\e[m">.

commit 28ec79404a9b37d245daf76250563cf36b295eb0
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-01-03 01:34:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-01-03 01:34:04 +0900

    Sync to latest prism

commit a046d4efd2b5de86d9cf8f54886539f3860f55cb
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2024-01-02 23:00:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-02 23:00:31 +0900

    [ruby/rdoc] [DOC] MarkupReference
    (https://github.com/ruby/rdoc/pull/1075)

    https://github.com/ruby/rdoc/commit/095b78123b

commit 7a050638b19cf6996c498e0c5909c293008cc58a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-29 22:34:35 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-02 14:19:42 +0900

    Introduce NODE_FILE

    `__FILE__` was managed by `NODE_STR` with `String` object.
    This commit introduces `NODE_FILE` and `struct rb_parser_string` so that

    1. `__FILE__` is detectable from AST Node
    2. Reduce dependency ruby object

commit 97986f406bcf1d1c59808b3b655e5180b5cc21cd
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-30 12:23:48 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-02 10:36:09 +0900

    LLDB: Print actual node structure of NODE_LINE

commit 00b2573e93df2a717fbfa9dc602d8270f1cfb397
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-02 09:40:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-02 10:15:43 +0900

    [DOC] Links to extension.rdoc from extension.ja.rdoc

    Use links than plain text references.

    TODO: Internationalize the RDoc hardcoded link text.

    Currently RDoc hardcodes reference name with external name in English,
    as "REF at <code>FILE</code>".  To this currently, square brackets
    with additional text is mandatory.

commit 84eeb83f367e30c99e862a786e6fa6d21d8019e8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-01 14:43:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-02 10:15:43 +0900

    [DOC] Stop using `:enddoc:` in rdoc files

    In rdoc files, all documents belong to the top level of each file, and
    `:enddoc:` turns off `#document_self` for the entire document in the
    current file.  This disables cross-references to labels in that file.
    Instead use `:stopdoc:` so that parsing can re-start by `:startdoc:`
    after the local variables.

commit 5993d0f5f2e792b354955ae70442e66f7b31fb78
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-01 10:24:25 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-02 09:50:32 +0900

    Add a test case for `__LINE__` assignment in condition warning

commit 6ec4d203f7aaf9737b78b9d90de7865004c900d8
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2024-01-01 10:17:08 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2024-01-02 09:50:32 +0900

    Warn "literal in condition" for `__LINE__`

    Print warning for a code like

    ```ruby
    if __LINE__
    end

    # => warning: literal in condition
    ```

commit 9368782d5c96f08d61933e994789812e5e73260d
  Author:     Shia <rise.shia@gmail.com>
  AuthorDate: 2023-12-31 13:51:10 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-01-02 08:16:29 +0900

    Use max_cpu when RUBY_MAX_CPU given

commit ad2c95dbdd1ac6d3abe12a3304135dc66e00b5a7
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2023-12-30 03:26:15 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-01-02 08:13:37 +0900

    [DOC] clarify situation for Ractor#send of T_DATA objects.

    For copying, use language like "some" T_DATA objects not supported. This
    is because objects like Time are supported, they don't refer to other
    objects so it's okay.

    For `send(obj, move: true)`, it's currently not supported to move any T_DATA objects.

commit 32c4b0125f9afe11909d1c10e4133e20180e809e
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2023-12-30 03:06:58 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2024-01-02 08:10:59 +0900

    Set Ractor moved object's shape to original object's shape

    Fixes [Bug #19409]

commit e12d4c654e3cb7a4473014610bc3bae41aaf811e
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2023-12-31 03:26:59 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2024-01-02 06:28:26 +0900

    Don't create T_MATCH object if /regexp/.match(string) doesn't match

    Fixes [Bug #20104]

commit 676748abcad62c021fc122d137f177d3c0f0f7a8
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-02 02:40:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-02 02:40:38 +0900

    [ruby/irb] Make show_source resolve top-level constant names
    (https://github.com/ruby/irb/pull/831)

    https://github.com/ruby/irb/commit/5843616c78

commit 6934a60ab1d68ff89e0088a951a4c205f3c60332
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-02 01:14:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-02 01:14:42 +0900

    [DOC] Fix alignment of values for Integer#div

commit c0481e5818c9f01116607d658a9b9acbd4ab0c00
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-02 01:12:54 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-02 01:12:54 +0900

    [DOC] Fix indentation for Integer#div

    The line was indented, which caused it to be treated as a code block.

commit c0e3c3b6feabac564523c28462e8e45c447b0f0f
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2024-01-01 22:57:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-01 22:57:15 +0900

    [ruby/irb] Fix display_document params in noautocomplete mode
    (https://github.com/ruby/irb/pull/826)

    * Fix display_document params in noautocomplete mode

    * Fix wrong preposing and target order in display_document

    The fixed wrong-ordered value is not used in RegexpCompletor, so this change does not affect the test.

    https://github.com/ruby/irb/commit/08208adb5e

commit c149cd3db4116f653614466eee918d6f39f0b622
  Author:     Sorah Fukumori <her@sorah.jp>
  AuthorDate: 2024-01-01 21:47:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-01 21:47:38 +0900

    Roll net-* bundled gems from git to fix CI (#9403)

    - https://github.com/ruby/net-ftp/pull/29
    - https://github.com/ruby/net-imap/pull/259
    - https://github.com/ruby/net-smtp/pull/75

commit 3e9a612d929b47a4cd9f80e3a7a840a3c7e4f084
  Author:     Takuya Aramaki <takaram71@gmail.com>
  AuthorDate: 2024-01-01 21:31:49 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2024-01-01 21:31:49 +0900

    [DOC] Fix wrong description about Process.waitpid2 (#9401)

commit d3933fc753187a055a4904af82f5f3794c88c416
  Author:     Sorah Fukumori <her@sorah.jp>
  AuthorDate: 2024-01-01 20:45:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-01 20:51:15 +0900

    [ruby/net-http] Renew test certificates

    The private key is replaced with a public known test key published at
    [RFC 9500].

    Also lifetime has been extended to 10 years from 4 years.

    [RFC 9500]: https://www.rfc-editor.org/rfc/rfc9500.html

    https://github.com/ruby/net-http/commit/4ab6c4a500

commit cd411778159618dd926614e0acd52ac5549a9408
  Author:     Sorah Fukumori <her@sorah.jp>
  AuthorDate: 2024-01-01 19:58:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-01 19:58:35 +0900

    [ruby/irb] test_recovery_sigint: Ensure precondition is met
    (https://github.com/ruby/irb/pull/829)

    * test_recovery_sigint: Ensure precondition is met

    test_recovery_sigint depends on its process has SIG_DEF sigaction for
    SIGINT. When its parent process set SIG_IGN which inherits to children,
    then this test fails. This patch ensures this precondition met
    regardless of inherited sigaction from its parent.

    * Add test for restoration of other SIGINT handlers

    Add another variant of test_recovery_sigint to ensure IRB to preserve
    existing SIGINT handler other than SIG_DEF.

    https://github.com/ruby/irb/commit/77ee59d026

commit 5c81fd68865bdfacbb3496bb077b9f8ce6e411fd
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-01-01 19:57:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-01 19:57:17 +0900

    [ruby/irb] Remove redundant env cleanup in rendering test
    (https://github.com/ruby/irb/pull/827)

    https://github.com/ruby/irb/commit/99b0017d75

commit 997124fc0b7697bb9383e8feb8e1d88017c4bcb8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-01-01 11:25:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2024-01-01 11:25:22 +0900

    [DOC] Remove extra colon in Hash#default_proc

commit a19544d15491be4816eb591f5e7ebd2f75ba6929
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-01 00:55:31 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-01 00:55:31 +0900

    [DOC] Fix markup

commit 0502df018cc1900f272977b4f30d5e322cae5e88
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-01 00:50:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-01 00:50:19 +0900

    [DOC] Fix missing `::` for dl

commit 32f2cb47b754ae73d06daef8ad19a8c90c88836a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-01-01 00:49:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-01-01 00:49:25 +0900

    [DOC] Use local links

commit 569a06aa2fbaec3febc5de975654cba8f85813f1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 23:57:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-01-01 00:19:50 +0900

    [ruby/rdoc] Allow empty name rdoc-ref as a local link

    https://github.com/ruby/rdoc/commit/914a6af137

commit b4adc1bbab5fc69186b3f3046c90c0e935fdc841
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 16:49:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-31 20:52:19 +0900

    [ruby/win32ole] [DOC] Fix indent

    https://github.com/ruby/win32ole/commit/76acc979bf

commit 375d1c993d0bc21edcc8cd4814342c15a7b9d810
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 14:33:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-31 18:33:39 +0900

    [ruby/win32ole] [DOC] Remove useless comment that is mixed into RDoc

    https://github.com/ruby/win32ole/commit/afceb6814f

commit 0d2ca334047f11a92215025b43a1f9dcdd9276fb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-31 12:13:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-31 12:13:24 +0900

    [DOC] Fix link to untrace_var from trace_var

commit 55a81863cd369576717c5660641376434a05484f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-31 10:12:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-31 10:58:22 +0900

    [ruby/win32ole] [DOC] Add .document files

    https://github.com/ruby/win32ole/commit/eba2934177

commit 8e32c0174210cb5c843ebf820d17a9ec63b767fb
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-30 12:14:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-30 12:14:38 +0900

    Change test_warmup_frees_pages to check each size pool

    This should help in debugging the intermittent test failures on CI:

        TestProcess#test_warmup_frees_pages [test/ruby/test_process.rb:2779]:
        <201> expected but was
        <202>.

commit 606c01727aa9e54db8cc1219de3fd7ba717efe54
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-30 03:13:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-30 03:13:17 +0900

    [DOC] Fix indentation for Numeric#step

    The documentation was indented one level too deep, which causes RDoc to
    generate it all as a code block.

commit 5fd1738148d18cbcaa05111a5e2607e833dcc520
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-30 00:57:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-30 01:10:30 +0900

    [ruby/securerandom] Update file list to package

    https://github.com/ruby/securerandom/commit/647e5f0af8

commit 2571d5376a38c333b8fe85f1f9b2f9c2422c0ad9
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2023-12-30 01:08:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-30 01:08:51 +0900

    Reduce `if` for decreasing counter on OP_REPEAT_INC (#9393)

    This commit also reduces the warning `'stkp' may be used
    uninitialized in this function`.

commit 0c923fed7d659e80352cc5aa69e28eea61bcc63e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-28 01:16:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-29 23:10:58 +0900

    [DOC] Fix syntax in Hash#eql?

commit 4d4da09ae490120fd07ef083a0fef0ea5d8b3f7e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-28 01:16:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-29 23:10:58 +0900

    [DOC] Remove useless word in Hash#eql?

commit 7595c5d4a5d5cf23bab7a28ce7e6c0f3a00419d1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-28 01:15:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-29 23:10:58 +0900

    [DOC] Add parantheses in call-seq for Hash#eql?

commit bb59696614083660241ef272f222628cbfa95844
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2023-12-29 19:30:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-29 19:30:24 +0900

    Fix [Bug #20098]: set counter value for {n,m} repetition correctly (#9391)

commit 1ade170a6cac402d362d90bbf12e566d6a4f9ba1
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-28 12:38:24 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-29 18:32:27 +0900

    Introduce NODE_LINE

    `__LINE__` was managed by `NODE_LIT` with `Integer` object.
    This commit introduces `NODE_LINE` so that

    1. `__LINE__` is detectable from AST Node
    2. Reduce dependency ruby object

commit 6f33e3c53dd97426b91b97b7239a1b9a3dd6a446
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2023-12-29 17:23:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-29 17:23:28 +0900

    [ruby/reline] Revert kill_ring.rb file permission
    (https://github.com/ruby/reline/pull/623)

    https://github.com/ruby/reline/commit/38e9cb2899

commit bc3b9356b2c885b1ea268330afcf20e1ab3a4704
  Author:     Alexander Momchilov <amomchilov@users.noreply.github.com>
  AuthorDate: 2023-12-29 13:05:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-29 13:05:28 +0900

    [ruby/reline] Replace `object_id` comparison with `equal?`
    (https://github.com/ruby/reline/pull/617)

    https://github.com/ruby/reline/commit/63deef4ae5

commit e86b4c29fc91fa510ee2cf3f5e3296a9a66affb5
  Author:     Blake Imsland <blake@zxcv.dev>
  AuthorDate: 2022-03-14 15:27:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-29 11:43:45 +0900

    [ruby/securerandom] Increase speed of UUID generation

    https://github.com/ruby/securerandom/commit/b587b8c7cb

commit 2b96737636e1c96fedda83895ef32e19a914e310
  Author:     Dylan Thacker-Smith <Dylan.Smith@shopify.com>
  AuthorDate: 2019-09-27 14:10:13 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2023-12-29 01:58:21 +0900

    Fix use of the rb_profile_frames start parameter

    Previously, it was decrementing the start argument until it reached
    zero without actually changing the control frame pointer.

    [Bug #14607]

commit e81a5453e3c76c4348da042d86debde7689254fe
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-27 16:47:11 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2023-12-28 23:53:15 +0900

    ci: Fixup for 301a7b1e

    * Remove debugging code
    * Fix path to github-pr-info.txt, which is used when labeled before
      build completes
    * Add a check to skip the build if the build is completed but the PR is
      not labeled with Playground

commit 0990270c38e9f49ae2d18db050c51539bddab82c
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2023-12-28 23:33:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-28 23:33:06 +0900

    [DOC] Add What's Here for Complex (#9366)

commit d8702ddbfbe8cc7fc601a9a4d19842ef9c2b76c1
  Author:     Hiroya Fujinami <make.just.on@gmail.com>
  AuthorDate: 2023-12-28 23:20:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-28 23:20:03 +0900

    Fix [Bug #20083]: correct a cache point size for atomic groups (#9367)

commit 87e8e961b7218a4afa90e3bff3727f121af3ccf1
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-28 17:04:31 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-28 18:47:05 +0900

    Check node type before cast

commit 7016ab873eaa68d1dfe1af50198c157e451c784b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-28 18:07:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-28 18:07:49 +0900

    Verify that events2table.c was generated successfully

commit 051a874325c177e040301878069c2b28f5d06ce6
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-12-28 15:07:45 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2023-12-28 16:03:58 +0900

    Fix memory overread in registry.rb

    The terminator is not actually getting filled in; we're simply passing
    (two) bytes of empty memory as the NUL terminator. This can lead to
    garbage characters getting written to registry values.

    Fix this by explicitly putting a WCHAR_NUL character into the string to
    be sent to the registry API, like we do in the MULTI_SZ case.

    [Bug #20096]

commit 4374236e959c1e585611acfc7a2e3d2142265ab0
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-28 11:52:50 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-28 13:17:36 +0900

    Add errno_ptr property for Universal Parser

commit 02973b78f499acc28c714a082c82a846314a911f
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-27 15:22:45 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2023-12-28 12:20:50 +0900

    [Bug #20085] Use consistent default options for `-mbranch-protection`

    We need to use the same options for both C compiler and assembler
    when `-mbranch-protection` is guessed by configure. Otherwise,
    `coroutine/arm64/Context.{h,S}` will use incompatible PAC strategies.

commit 9ec4eae0b184ade7c7937c5fcb2f0d50bac14174
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-28 01:13:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-28 09:31:56 +0900

    [DOC] Fix invalid syntax in Range#eql?

commit 1f1edeef3fe0a8ed0ae441bdf2418f4a8d9e352c
  Author:     Ivan Kuchin <tadump+git@gmail.com>
  AuthorDate: 2023-12-27 22:14:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-28 09:07:56 +0900

    [ruby/pathname] require fileutils in both methods using it

    rmtree is already requiring fileutils, but mkpath apparently relies on
    autoload of FileUtils. Switch to require for both methods

    https://github.com/ruby/pathname/commit/07ad1fb41a

commit 73fa3224975c42e1c4e2231212a64ac325054130
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-27 20:55:01 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-28 09:00:44 +0900

    Add ary_modify property for Universal Parser

commit 26172c97011dadfc76602997d8dec84499ea122f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-28 00:05:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-28 01:11:42 +0900

    [DOC] Add parentheses to Array#eql?

    Makes the call-seq and code more consistent in format.

commit 2a4a84664a1972c48c4365c29e73be83f8004139
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 12:37:21 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 19:11:54 +0900

    [Bug #20088] Fix ARCH_FLAG for cross compiling

commit c027dcfde2bf40c45dfb0fe1b79f97b8827d89f3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 18:04:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-27 19:09:24 +0900

    [ruby/etc] [DOC] Add minimal documents for constants

    https://github.com/ruby/etc/commit/97a4f798d4

commit bc002971b6ad483dbf69b8a275c44412bb6ab954
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 17:49:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 17:50:15 +0900

    [Bug #20094] Distinguish `begin` and parentheses

commit 15c280639e383871eb2688c4cfbbeff48a08bc72
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 16:16:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 17:50:15 +0900

    Initialize rb_node_block_t::nd_end at creation

commit d0546012f25b95ccd89f5ea578babb8c74639e6f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 15:55:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 17:50:15 +0900

    Use NODE_ERROR as placeholder of error instead of NODE_BEGIN

commit 81cf7491d7fc8263b52b63dde926843cd7a014bf
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-27 15:01:25 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-27 16:53:18 +0900

    Print NODE_SELF nd_state field

commit 862cfcaf75d060103e8ebaf203ff9fed3190a9fe
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 14:09:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-27 14:30:20 +0900

    [ruby/etc] [DOC] Improve Etc documents

    https://github.com/ruby/etc/commit/fae932ff61

commit 96c6b9384c801dcd0d951b001897c7ce62a133cf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 12:59:01 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 12:59:01 +0900

    [DOC] Remove lib/io.rb only for document of ruby/etc

commit 33345d2e9faade23d7f48bd03f0f71d448db84f3
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-27 10:57:35 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-27 12:25:17 +0900

    Include new node types into %printer

commit 3d24254b5583f0ee0a4dac6cdf7f05b5948fe4e0
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-12-27 11:00:53 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2023-12-27 12:11:59 +0900

    Make sync script work correctly with Windows-style newlines

    I'm almost certain nobody is actually running this script on Windows,
    but the tests for it do run during `nmake check`, and they fail at least
    on my git configuration.

    The $ anchor doesn't match \r\n with git's -E regex matching, so we need
    to add \r? to gobble the carriage-return up too if needed.

commit dc532b7c4edcb0884e4e0c8a28c7c55e456e369d
  Author:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  AuthorDate: 2023-12-26 20:21:02 +0900
  Commit:     KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
  CommitDate: 2023-12-27 10:54:25 +0900

    Fix WEBrick::TestFileHandler#test_short_filename test not working

    The test is currently skipped and can't possibly work on windows at the
    moment. It fails because $LOAD_PATH is not set up properly in the forked
    CGI process, so `require 'uri'` fails.

    This works properly in the test_cgi.rb tests, because it sets up a
    :RequestCallback to fix things up. Let's move the setup there into
    util.rb, so it can be shared with test_filehandler.rb as well.

commit 99f8bb133109ac404778dad80ca1e761160bb202
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-27 10:14:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-27 10:30:38 +0900

    Fetch tags with test-bundled-gems

      make test-bundled-gems failed when default branch didn't have tag ref at target repository.

      ```
      updating rbs ...
      From ssh://github.com/ruby/rbs
       - [deleted]           (none)                             -> origin/dependabot/bundler/steep/rbs-3.4.0
      remote: Enumerating objects: 68, done.
      remote: Counting objects: 100% (68/68), done.
      remote: Compressing objects: 100% (43/43), done.
      remote: Total 68 (delta 19), reused 61 (delta 18), pack-reused 0
      Unpacking objects: 100% (68/68), 204.84 KiB | 633.00 KiB/s, done.
       * [new branch]        aaa-3.4.x                          -> origin/aaa-3.4.x
       * [new branch]        dependabot/bundler/steep/rbs-3.4.1 -> origin/dependabot/bundler/steep/rbs-3.4.1
         01371463..fea0932b  master                             -> origin/master
      checking out v3.4.1 (v=3.4.1, r=) ...
      fatal: invalid reference: v3.4.1
      fatal: invalid reference: 3.4.1
      make: *** [uncommon.mk:1553: yes-test-bundled-gems-fetch] Error 1
      ```

commit 5703cc296a98834a389a6c5d60690c5e4d423f90
  Author:     U.Nakamura <usa@ruby-lang.org>
  AuthorDate: 2023-12-27 10:15:52 +0900
  Commit:     U.Nakamura <usa@ruby-lang.org>
  CommitDate: 2023-12-27 10:15:52 +0900

    Update supported Windows and Visual C++ versions

commit be92bf4ff43b4ead774fadf5461db61a369bff6a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-27 07:32:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-27 07:32:38 +0900

    [DOC] Fix == and === in control_expressions.rdoc

commit fac253677604e5acc6a49b632355616b068d5a15
  Author:     Sorah Fukumori <her@sorah.jp>
  AuthorDate: 2023-12-27 06:43:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-27 06:43:23 +0900

    Test_SyncDefaultGems: Fail when editor run (#9365)

    When something went wrong and git launches editor, and a editor chosen
    was terminal-based, a test run unnoticeably hangs.

    As we intend editors not to be ran with --no-edit, GIT_EDITOR should be
    defaulted to `false` so let Git command fails when it attempts to start a
    editor. This allows catching such unintentional behaviour in test suite.

    (Note: Prior to Git v2.32.0, git cherry-pick --no-edit doesn't work for
    conflict resolution so currently the test hangs when older Git is in use.
    https://github.com/git/git/commit/39edfd5cbc4d168db19ec1bc867d78ec7211ec39
    i.e. Ubuntu 20.04, Debian Bullseye doesn't satisfy this prerequisite.)

commit 17e1d8ca62e52c9d51924014976d2ca965b06014
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2023-12-27 01:00:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-27 01:27:31 +0900

    RDoc for Complex

commit c452fe17ac679b4171c7de4f4004d61790828ba8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-27 01:10:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-27 01:10:30 +0900

    [Bug #20087] [DOC] Uninitialized instance variable is not warned now

commit 550a49c913f67aba8b89bccd8e4b3296a5c3f599
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-27 00:48:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-27 00:48:48 +0900

    [DOC] Fix documentation for Numeric#eql?

    +==+ does not format properly, so we should use <tt>==</tt> instead.

commit 3d31e914961e3b5a113072498c7f18261fbaf133
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-26 15:05:20 +0900
  Commit:     U.Nakamura <usa@ruby-lang.org>
  CommitDate: 2023-12-26 22:10:30 +0900

    Disable to run appveyor anymore

      [Feature #19982]

commit e5a4f757bdf5dc3d8c329ddd268432f9ecc7bff6
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2023-12-26 20:36:56 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-26 20:36:56 +0900

    Fix Window private file mapping unlink EACCES issue. (#9358)

    * Don't return early.

    * Add missing `mapping` assignment.

    * Make debug logs conditional.

commit b1f67cf08eb0aaadfdc6893034b0653551141a10
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2023-12-26 15:49:15 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2023-12-26 17:11:16 +0900

    CI matrix for 3.3

commit 24a2534f7d97a8426c665f11a3f87c01da6a646a
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2023-12-26 15:58:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-26 15:58:09 +0900

    Update bundled gems list as of 2023-12-26

commit 45b0e778813285df635224da994306c9720c12d0
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2023-12-26 00:52:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-26 12:10:20 +0900

    Markdown table for #flock

commit 901359559bfcca82133dcad7eb93d986a0c0a201
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2023-12-26 02:13:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-26 12:07:44 +0900

    RDoc for complex.c

commit 50b783ccaca1622266578b1750dd2490f883c6cc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 13:07:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2023-12-26 11:10:25 +0900

    [ruby/syntax_suggest] Typofix by misspell

    https://github.com/ruby/syntax_suggest/commit/66e1cf0b3e

commit ca886cd253e5c38b0bd51e57ad791c00533c20a0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-26 03:56:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-26 03:56:15 +0900

    [DOC] Link to Array#eql? from Array#hash

commit 301a7b1e1d668c8537abea81e88553fefaa747b0
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2023-12-23 22:40:59 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2023-12-26 02:01:02 +0900

    ci: Post Playground link to PR

    This commit adds a new workflow `pr-playground.yml` that posts a
    Wasm-based PR playground link to the PR when it's labeled with
    `playground`.

commit 824ff48adcd47497b8e2993be5144de0e09a4f66
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2023-12-16 04:49:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2023-12-26 00:41:12 +0900

    Move internal ST functions to internal/st.h

    st_replace and st_init_existing_table_with_size are functions used
    internally in Ruby and should not be publicly visible.

commit f4d2fe5e0d22876a6df68b9b56fb00b25d7aa5d8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-25 22:12:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-25 22:47:37 +0900

    Skip AppVeyor and GitHub if only other CI files are changed

commit ab4264a21f3e1f6a567d49064bf08e890f13c887
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2023-12-25 22:15:25 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2023-12-25 22:15:25 +0900

    suppress a warning

commit 7e96d9f96ea639491190248753b661f91ed820aa
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2023-12-25 22:10:57 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2023-12-25 22:10:57 +0900

    suppress a warning

commit f730a5a31d7d072f752e9bf41e8b285305933328
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-25 20:18:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-25 21:50:12 +0900

    Check for C99 features which may not be supported

    Continue on error because it is known that this fails right now.
    Once fixed, we'll turn it off.

commit 1966a61a1e93560b9bf217662541c53055a84481
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 19:33:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    Merge RubyGems-3.6.0.dev and Bundler-2.6.0.dev from master branch

commit af4e839c4714fb7df57e76f0e33e69deca16bea1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 12:24:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/optparse] [DOC] Add missing section

    Fixes https://github.com/ruby/optparse/pull/51

    https://github.com/ruby/optparse/commit/667ab35f59

commit df941aa90dd2dd778224fdd60fc0f024a8f43f99
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2023-12-14 22:20:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/resolv] Fix typo

    https://github.com/ruby/resolv/commit/5dfdcfb7c7

commit 5384e5dfde49e403e5e08c6ea2e958ffa5889ae6
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2023-12-22 05:26:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/irb] Remove dead doc (https://github.com/ruby/irb/pull/819)

    https://github.com/ruby/irb/commit/2d5a1afdf5

commit 86fa418dea646e52929b9df9163902c4728442d1
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2023-12-16 21:58:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/ipaddr] Consider IPv4-mapped IPv6 addresses link local/loopback if IPV4 address is private

    Same as #57

    https://github.com/ruby/ipaddr/commit/d56acecb80

commit da77c79d80a615130bc67b42d3795db2a3fdd3fe
  Author:     Luke Randall <lrandall@godaddy.com>
  AuthorDate: 2023-12-07 02:31:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/ipaddr] Fix regressions in exception messages

    Changes introduced by 09edfd4 have broken some exception
    messages, and added the address as an unnecessary
    suffix in others.

    https://github.com/ruby/ipaddr/commit/74a043109c

commit eb53131367d6e1d3da16b0cd6bc44284ea3589ea
  Author:     Kasumi Hanazuki <kasumi@rollingapple.net>
  AuthorDate: 2023-11-27 13:15:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/ipaddr] ntop: Measure address size in bytes

    `IPAddr.ntop` takes the binary representation of an IP address, whose
    length should be 4 or 16 *bytes* (not characters/codepoints).

    The current implementation accepts strings in any encoding, but for
    some values in non-BINARY encoding, it fails proper length check and
    raises an `AddressFamilyError`. Since passing strings in a multibyte
    encoding has never worked correctly for years, this patch makes it an
    explicit error with an `InvalidAddressError`.

    Fixes: https://github.com/ruby/ipaddr/issues/56

    https://github.com/ruby/ipaddr/commit/a33fd14d4a

commit ea5776e7e4262c915f7f8b8884af420dd87d769c
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2023-12-06 06:44:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [flori/json] Use rb_sym2str instead of SYM2ID

    This avoids pinning an id to the symbol used if a dynamic symbol is
    passed in as a hash key.

    rb_sym2str is available in Ruby 2.2+ and json depends on >= 2.3.

    https://github.com/flori/json/commit/5cbafb8dbe

commit 65ec74a8dd6114d4496fde2661c4d3efe917b849
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-21 00:11:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/io-console] Provide a 'Changelog' link on rubygems.org/gems/io-console

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/io-console
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/io-console/commit/6bacdbf0e1

commit a01c1e821cd701998753fb072f57879ed5f990eb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-16 16:05:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/io-console] bump up to 0.7.2.dev.1

    https://github.com/ruby/io-console/commit/08e41a3e4d

commit e7f91fd74cfa5d07a8946e87edea8df38a94fd41
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-16 15:55:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/io-console] [DOC] Add missing documents

    https://github.com/ruby/io-console/commit/44dce34569

commit 4173c4bcfb6468ac2551a5d9db17fb6f188f5170
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-16 15:30:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/io-console] Extract CSI sequence

    https://github.com/ruby/io-console/commit/63dbeeecf4

commit 69312228838c6676a2be442c8758f37e36638470
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 13:38:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/securerandom] Typofix by misspell

    https://github.com/ruby/securerandom/commit/e8be08901a

commit 3d40f115649ab40593d35616b6133b741a854dcb
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 13:55:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/tempfile] [DOC] Missing documents

    https://github.com/ruby/tempfile/commit/6932d6bc6f

commit edadd5b796678e8f819030f9fa37dcae4be2b282
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 13:48:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/psych] Typofix by misspell

    https://github.com/ruby/psych/commit/fc9ca15999

commit bb1625858fa2cad85b12e50afc7978c760202a82
  Author:     Alexander Momchilov <amomchilov@users.noreply.github.com>
  AuthorDate: 2023-12-20 02:27:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/psych] Remove now-unreachable rescue block

    https://github.com/ruby/psych/commit/6905a2123c

commit 95e7af0c59267d6ab6695906eaba93c9d181ac69
  Author:     Alexander Momchilov <amomchilov@users.noreply.github.com>
  AuthorDate: 2023-12-20 02:26:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/psych] Remove unused array

    https://github.com/ruby/psych/commit/b9e7b4a4a4

commit b4cb7ead30cbd571ed981d7f07898012594df250
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2023-11-08 16:14:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/fiddle] Bump version

    https://github.com/ruby/fiddle/commit/fd4bb4ea8a

commit 60e46926bad72cbdbf3c42665d64f296becf127f
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2023-11-08 16:17:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/csv] Bump version

    https://github.com/ruby/csv/commit/0cba3e766d

commit cb6a556927120eb998f2995dc7fa21e6232d117e
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-20 23:25:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/date] Provide a 'Changelog' link on rubygems.org/gems/date

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/date
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/date/commit/2dea4c011d

commit 4d344dc1948109df55ea8826140c97ec57829b21
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 16:09:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/etc] [DOC] Move rdoc files to .documnet

    https://github.com/ruby/etc/commit/44425427ab

commit bf2532f039887fdd6fa409a34db34fd9b8bcab01
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-20 13:27:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/etc] [DOC] Add empty io.rb for `IO#pathconf` to satisfy the coverage

    https://github.com/ruby/etc/commit/0353d7c8ee

commit 12e78fbfcdd53adc504b6af093ee1a4b785da4b2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 16:12:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/etc] [DOC] Missing constant

    https://github.com/ruby/etc/commit/a39e982129

commit 1e1da75031f6d1caf7188c6063725e0c7fc1f013
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-20 23:44:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/timeout] Provide a 'Changelog' link on rubygems.org/gems/timeout

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/timeout
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/timeout/commit/47a6f0313b

commit bb6cf76362a3e7614b6ff8899876b2a1812f9ed1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 14:02:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/timeout] [DOC] Missing documents

    https://github.com/ruby/timeout/commit/301ad4cfdc

commit 24e0f6fcab1550d8c1eb5f30e825feeabcb5bee8
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-20 23:36:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/net-protocol] Provide a 'Changelog' link on rubygems.org/gems/net-protocol

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/net-protocol
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/net-protocol/commit/46e78a2a0a

commit da06c09725027202930931a57f81dadf980af81e
  Author:     Mark Young <mark.young@atg.auto>
  AuthorDate: 2023-12-21 00:00:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/base64] Provide a 'Changelog' link on rubygems.org/gems/base64

    By providing a 'changelog_uri' in the metadata of the gemspec
    a 'Changelog' link will be shown on https://rubygems.org/gems/base64
    which makes it quick and easy for someone to check on the changes
    introduced with a new version.

    Details of this functionality can be found on https://guides.rubygems.org/specification-reference/

    https://github.com/ruby/base64/commit/7cab043d67

commit df11b3daf809326ae48f2ae2b31cee274ee4a90c
  Author:     Martin Emde <martin.emde@gmail.com>
  AuthorDate: 2023-12-16 03:30:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [rubygems/rubygems] Let the guards have some space to breathe

    https://github.com/rubygems/rubygems/commit/73f1609715

commit 56804ddd2bfd37542916c1233cdea85153d69508
  Author:     Martin Emde <martin.emde@gmail.com>
  AuthorDate: 2023-12-15 05:42:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [rubygems/rubygems] Use a mutex around Checksum::Store @store access

    Not wrapping to_lock since access to it is single threaded and
    read-only at the time of writing the lockfile.

    https://github.com/rubygems/rubygems/commit/3b53aa1b12

commit 5b8e685877c4b1476b1d9f5394386b83b9099dd3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 13:43:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/rdoc] Typofix by misspell

    https://github.com/ruby/rdoc/commit/6231b03476

commit e32495309052e8e8197bcb36d123923548814d30
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-19 16:21:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/rdoc] Fix support for `rb_file_const` and `rb_curses_define_const`

    Constant definitions using these functions have been supported, but
    since RDoc::Parser::C#gen_const_table did not consider other than
    `rb_define_const` the documents for them have not been found, without
    `Document-const` directive.

    Fixes https://github.com/ruby/rdoc/issues/1067

    https://github.com/ruby/rdoc/commit/cdad51a60b

commit e55a57af1e9872c34ad799d3b42be4430cdf12fc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 12:45:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/optparse] [DOC] Add missing documents

    https://github.com/ruby/optparse/commit/324ff21f04

commit 7dd59346a06168470f2a0ca590c305d6da3df47a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-18 12:15:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    [ruby/optparse] [DOC] Fix tutorial link

    Fixes https://github.com/ruby/optparse/pull/51

    https://github.com/ruby/optparse/commit/1c895efc39

commit f54369830f83a65fb54916d762883fbe6eeb7d0b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 17:43:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    Revert "Rollback to released version numbers of stringio and strscan"

    This reverts commit 6a79e53823e328281b9e9eee53cd141af28f8548.

commit fa251d60aa9c6f271885a467a26249b29f291cd3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2023-12-25 17:34:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2023-12-25 21:12:49 +0900

    Revert "Revert all of commits after Prism 0.19.0 release"

    This reverts commit d242e8416e99eaee4465e2681210ae8b7ecd6d34.

commit 12b69bf515111ecf4b550fe1e2c5ec81a6fcf43a
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2023-12-25 18:40:50 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2023-12-25 20:33:22 +0900

    Lrama v0.6.0

commit e7d0ec361941a9d67616c3df1dd82d882ee9a9e5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-25 19:28:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-25 19:28:45 +0900

    [DOC] Fix format of NEWS.md

commit e1c0e8cac4af53b64e7827fabaa5ae7bb42d58fe
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2023-12-25 18:45:16 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2023-12-25 18:45:17 +0900

    [DOC] Add a NEWS entry about `it`

commit a164a34110940456a223959b0b17465ff796283c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2023-12-25 18:36:06 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2023-12-25 18:36:28 +0900

    Resurrect a deprecated code for fixing tests for now

    Revert "Remove deprecated code to fix RUBY_DEBUG build failures"

    This reverts commit 9614bea2cd59902a051a7387e354e23a52fe5396.

    And changed 3.4 to 3.5. To be fixed properly later.

commit 596db9c1f486d6609a4e97d82c8c71b54609fb6f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-12-25 15:38:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2023-12-25 18:28:21 +0900

    [Feature #19370] Blocks without anonymous parameters should not affect

commit 6e13cde457cbf9b678191e7a7b8684fc83bf392c
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2023-12-25 18:25:36 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2023-12-25 18:25:36 +0900

    Re-skip a failing spec

commit 9614bea2cd59902a051a7387e354e23a52fe5396
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2023-12-25 18:21:32 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2023-12-25 18:21:33 +0900

    Remove deprecated code to fix RUBY_DEBUG build failures

commit 44592c4e20a17946b27c50081aee96802db981e6
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2023-12-25 18:15:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2023-12-25 18:15:41 +0900

    Implement `it` (#9199)

    [[Feature #18980]](https://bugs.ruby-lang.org/issues/18980)

    Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>

commit 98eeadc93298b2f178d400d99f3921e3663369b6
  Author:     Yukihiro "Matz" Matsumoto <matz@ruby.or.jp>
  AuthorDate: 2023-12-25 18:13:40 +0900
  Commit:     Yukihiro "Matz" Matsumoto <matz@ruby.or.jp>
  CommitDate: 2023-12-25 18:13:40 +0900

    Development of 3.4.0 started.
