-*- coding: utf-8 -*-

commit 06a7b3c14453b35ff530b3a06c134193dc25207e
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-04-18 01:19:05 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-04-18 01:19:05 +0900

    Only test on known good platforms. (#13123)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit c4ae6cb5005cfa53be0af466a5619e7455c15744
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-04-17 22:21:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-04-17 22:21:51 +0900

    Prefer `th->ec` for stack base/size. (#13101)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 6556a7be2614d1c808ba7bd11e8b6158c99bc5f7
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-04-17 19:01:08 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-04-17 19:59:19 +0900

    Temporarily stop the trailing-space check in CI

    I will restore the check after the preview release

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13122

commit 25efd09c71fc53acf1c5ce7f994b1bb78396b9f9
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-04-17 17:10:16 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-04-17 19:59:19 +0900

    sample/trick2025/: adds the top-five entries of TRICK 2025

    See https://github.com/tric/trick2025 for TRICK 2025.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13122

commit 7e2ba5a91bcdc31e14502f797a6184e3f4d41747
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-17 07:19:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-17 08:08:37 +0900

    Don't use admin grant

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13121

commit 9b5ae69aac7246199c7cb8e32f7f0490fa519751
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-17 07:18:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-17 08:08:37 +0900

    Use uutils-coreutils

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13121

commit b4c29b7af648051430de5439740b6b08756d1d83
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-17 06:27:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-17 08:08:37 +0900

    Use coreutils instead of msys2 because msys2 is not provided windows-11-arm

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13121

commit 0a8a641d0a1917285cbfeca0dc47f7bd56c1f093
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-04-16 23:51:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-17 00:16:50 +0900

    [ruby/openssl] ssl: fix SSLSocket#syswrite with String-convertible objects

    Correctly pass the new object assigned by StringValue() to
    ossl_ssl_write_internal_safe().

    This is a follow-up to commit https://github.com/ruby/openssl/commit/0d8c17aa855d (Reduce
    OpenSSL::Buffering#do_write overhead, 2024-12-21).

    https://github.com/ruby/openssl/commit/3ff096196a

commit bbf873521a01c1c44297b9dd52cf4e309ae5b496
  Author:     NARUSE, Yui <naruse@airemix.jp>
  AuthorDate: 2025-04-16 16:54:33 +0900
  Commit:     NARUSE, Yui <naruse@airemix.jp>
  CommitDate: 2025-04-16 16:55:38 +0900

    Add description about edge cases of Enumerable#size

    [Bug #21152]

commit 8d21f666b8098545a366c46f1990edf2a9f4ffcb
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-04-16 16:50:37 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-04-16 16:50:37 +0900

    Introduce `enum rb_io_mode`. (#7894)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 51952929e1ddd01a17f9e47899ec4de35be002c6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-16 10:59:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-16 14:10:36 +0900

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

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

commit a4eb81a08334cbe2963e535f9cbfd0aea96c3144
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-16 10:39:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-16 11:40:11 +0900

    Revert advanced-security/filter-sarif update for v1.0.1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13119

commit 02152501a41cd645267ffb8c2ee7aeb843a0fec8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-16 10:23:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-16 11:40:11 +0900

    Bump up to msys2/setup-msys2 to v2.27.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13119

commit 49c29cff479546df7e267d97ceb1f08a4d537a8e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-16 10:22:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-16 11:40:11 +0900

    Bump up to the latest versions of actions

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13119

commit 2cf95e2e0428a5cc07734789bbf618c014ad5c2d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-16 08:29:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-04-16 08:29:23 +0900

    Run the proper version of `rake`

commit 28491e53cda02c9b7372c01b88bf55dad50a53bf
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-04-15 20:15:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-15 20:15:35 +0900

    [ruby/stringio] Support for `rb_io_mode_t`
    (https://github.com/ruby/stringio/pull/129)

    Companion PR to <https://github.com/ruby/ruby/pull/7894>.

    https://github.com/ruby/stringio/commit/2d3988e12f

commit 77a52787a6321ee8964c1a6ccc5547abc4a08caf
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-15 13:43:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:48:22 +0900

    [ruby/json] Cleanup Kernel#JSON

    https://github.com/ruby/json/commit/573ebdca89

commit 26a9ccbf83957877355ef5eb3993dc28e07e4278
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-15 13:43:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:48:22 +0900

    [ruby/json] Deprecate Kernel#j and Kernel#jj

    https://github.com/ruby/json/commit/27155b6500

commit 1afc5399004ac5f27133469873571e7ff0ab16ab
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-15 13:35:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:48:21 +0900

    [ruby/json] Get rid of JSONError.wrap

    https://github.com/ruby/json/commit/3e7e661ef5

commit 62b7ae955a1fba88a4f70e270b1e118cc6c0d778
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-15 13:34:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:48:20 +0900

    [ruby/json] Don't create custom NaN and Infinity objects.

    https://github.com/ruby/json/commit/ff8e18392d

commit b8b4c15695ac4053b9d6c203e3948ea545be726b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-13 04:06:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:47:22 +0900

    [rubygems/rubygems] Let `bundle lock --normalize-platforms` remove invalid platforms

    https://github.com/rubygems/rubygems/commit/c39d2f84fd

commit 1929e73a36958aee963d4e843716a3927d641d69
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-13 02:45:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:47:21 +0900

    [rubygems/rubygems] Raise an error if `bundle lock` target platform is incompatible

    https://github.com/rubygems/rubygems/commit/282e4a8593

commit 1b18810ed92191f53069f5ef285084d37cb26aed
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-13 02:43:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:47:21 +0900

    [rubygems/rubygems] Rename `resolution_packages` to `resolution_base`

    It handles resolution packages but also other stuff.

    https://github.com/rubygems/rubygems/commit/4baec92c20

commit c910e85b022bca1518dc720af968fbaf58fa453e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-13 01:04:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:47:19 +0900

    [rubygems/rubygems] Extract some logic to a method and expand comment

    https://github.com/rubygems/rubygems/commit/ed31e888fd

commit 0ad7cf17a00d7f183f4fb41a9c4b595ea8bb99cd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-13 03:00:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:47:19 +0900

    [rubygems/rubygems] Clarify comment

    https://github.com/rubygems/rubygems/commit/42534e746b

commit 806fbb1e477c4e70f3239a117a31ccef13f7aa2d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-13 01:02:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:47:18 +0900

    [rubygems/rubygems] Comparing platforms is only needed for dependency validation

    If we materialized to a different platform, then the dependencies may
    actually be different so the validation does not really make sense.

    https://github.com/rubygems/rubygems/commit/68fad98e6f

commit 3cb573ee55f3d3af03f3a232ba442bd949277f17
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-12 23:01:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:47:17 +0900

    [rubygems/rubygems] Only platforms are relevant here

    https://github.com/rubygems/rubygems/commit/4b6f07f634

commit 00389b664bc6f5faaaaef9ddb2fb706052a20de4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-12 22:53:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-15 16:47:16 +0900

    [rubygems/rubygems] Fix false positive warning about insecurely materialized gem

    In frozen mode, the previous logic would not set the platform locked
    originally in the materialized specification, and that would trigger the
    warning about insecure materialization incorrectly.

    https://github.com/rubygems/rubygems/commit/a18001e10c

commit 72dc16aa65a9d46f032d7a8d0292f5a5df6aade5
  Author:     Luke Gruber <luke.gru@gmail.com>
  AuthorDate: 2025-04-03 02:04:49 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-15 16:34:22 +0900

    Add a test for moving composite object parts

commit 698ef864a59004f468c77534d59e51e862ec2624
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2025-04-15 15:55:40 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2025-04-15 15:55:40 +0900

    `IO.select` accepts +Float::INFINITY+ as a timeout argument.

    matz accepted at the developper meeting 2024-07-11.

commit e1f544c1cf34787f139a973b934c9f535b201ea3
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2025-04-10 22:26:06 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-15 11:50:48 +0900

    Always look for the top-level RBasic in LLDB scripts

    `rp` and other commands were broken for me because they always showed
    the object as a T_NONE.

    The reason was that instead of returning the type `struct RBasic`,
    FindFirstType("struct RBasic") was returning
    `yjit::cruby::autogened::RBasic`.

    Explicitly asking for the top-level RBasic by prefixing it with `::` is
    enough to fix those commands.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13096

commit 6e184ebb5aa0461936a6db408a7fa48541a0e80d
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2025-04-10 22:24:52 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-15 11:50:48 +0900

    Fix LLDB heap_page command

    Move _append_command_output and _append_expression to LLDBInterface, and
    use it from HeapPageCommand after setting result.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13096

commit 0606046c1a3816eabb26b5de18942c02710eb28e
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-10 18:53:39 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-15 07:57:39 +0900

    Lazily create `objspace->id_to_obj_tbl`

    This inverse table is only useful if `ObjectSpace._id2ref` is used,
    which is extremely rare. The only notable exception is the `drb` gem
    and even then it has an option not to rely on `_id2ref`.

    So if we assume this table will never be looked up, we can just
    not maintain it, and if it turns out `_id2ref` is called, we
    can lock the VM and re-build it.

    ```
    compare-ruby: ruby 3.5.0dev (2025-04-10T09:44:40Z master 684cfa42d7) +YJIT +PRISM [arm64-darwin24]
    built-ruby: ruby 3.5.0dev (2025-04-10T10:13:43Z lazy-id-to-obj d3aa9626cc) +YJIT +PRISM [arm64-darwin24]
    warming up..

    |           |compare-ruby|built-ruby|
    |:----------|-----------:|---------:|
    |baseline   |     26.364M|   25.974M|
    |           |       1.01x|         -|
    |object_id  |     10.293M|   14.202M|
    |           |           -|     1.38x|
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13115

commit b68172caada45724a302f337334f29ebae5a0e1e
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-04-14 22:12:45 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-04-15 00:39:12 +0900

    Rename `f_optarg` to `f_opt_arg` for consistency in parser rules

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13114

commit 1c8154e5c9fc18878146330fb86f3216b4769aea
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-04-14 22:05:08 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-04-14 23:13:57 +0900

    Use call_op2 instead of call_op and tCOLON2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13113

commit c13ac4d615c28edc1580363c13b44eb7a73103f3
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-01 11:45:43 +0900
  Commit:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  CommitDate: 2025-04-14 18:28:09 +0900

    Assert the GVL is held when performing various `rb_` functions.

    [Feature #20877]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11975

commit 4e970c5d5aee94c729541236c69792ec314f3731
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2024-11-21 06:38:13 +0900
  Commit:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  CommitDate: 2025-04-14 18:28:09 +0900

    Expose `ruby_thread_has_gvl_p`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11975

commit 22667fcc38f6246f8d93f229097375f85e3efbab
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-04-14 16:46:11 +0900
  Commit:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  CommitDate: 2025-04-14 18:28:09 +0900

    Add `RUBY_VERSION_IS_3_5`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11975

commit ad8cb532d52692fe72dea68a0aeaf48e5fc1fc02
  Author:     Sutou Kouhei <kou@clear-code.com>
  AuthorDate: 2025-04-13 13:18:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-14 16:18:48 +0900

    [ruby/strscan] Bump version

    https://github.com/ruby/strscan/commit/7b1eb1e4ed

commit 0db87b894365101581d7a560f019acd5acd434f0
  Author:     Jean byroot Boussier <jean.boussier+github@shopify.com>
  AuthorDate: 2025-04-13 12:42:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-14 16:18:47 +0900

    [ruby/strscan] Allow parsing strings larger than 2GiB
    (https://github.com/ruby/strscan/pull/147)

    For a reason unknown, even though `pos` is stored as a `long`, the
    `#pos` and `#pos=` treat it as an `int`, which prevent seeking into
    strings larger than 2GiB.

    https://github.com/ruby/strscan/commit/b76368416e

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 38024772cafb3342a61d247c42d47d07afa97a8a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-11 03:32:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-14 16:17:50 +0900

    [rubygems/rubygems] Refine `bundle update --verbose` logs

    Don't mention "Found changes from the lockfile" because that's not
    really true in general.

    https://github.com/rubygems/rubygems/commit/0181c278e8

commit ce2640dde8c65d9e11c3bc2249c5cd5bb7d0dbce
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-11 04:03:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-14 16:17:50 +0900

    [rubygems/rubygems] Fix edge case making `bundle update` behave incorrectly

    If both a native and a generic version are locked, but the native
    version is incompatible with the running Ruby, Bundler will still keep
    the native version in the lockfile, since it could be potentially useful
    when using other rubies.

    However, when `bundle update` is run, this was not the case because the
    locked native gems were not using the right source when materializing.
    They were using the lockfile source instead of the Gemfile source, and
    that meant they could not be found when materializing, because the
    lockfile source always uses local mode so does not see them.

    The effect of this was normally that they were incorrectly removed from
    the lockfile and a strange "this spec has been possibly yanked" was
    printed in verbose mode. However, in certain situations (i.e., when the
    generic gem would bring extra dependencies), it could also make `bundle
    update` crash.

    The solution is, when adding this extra locked specs to the result after
    resolving, maybe sure they inherit the source from the resolved specs,
    so they can be found when materializing.

    `bundle install` did not have the issue because it passes locked specs
    to the resolver, and assigns the right source to them in
    `Definition#converge_locked_specs`.

    https://github.com/rubygems/rubygems/commit/91ce881fda

commit 66aa7139800e7ab5ef7d7a1b0dec73789936e672
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-10 23:42:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-14 16:17:49 +0900

    [rubygems/rubygems] Materialize specs just once in installer

    `Definition#specs` does the same thing but memoizes the result.

    https://github.com/rubygems/rubygems/commit/b62bf9fe41

commit c4a2f72b1bf0e43782ae38e0a456d8e18131c63a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-08 00:42:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-14 16:17:48 +0900

    [rubygems/rubygems] Fix `bundle lock --normalize-platforms` regression

    https://github.com/rubygems/rubygems/commit/458fa5dc4c

commit f65aad61f7c2b5ff15d10be9264d3b323b9e5145
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-14 10:24:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-14 11:20:34 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13112

commit 311167ee3a3c5fce6c4a3aa3a1aca18da0d55c88
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-13 21:59:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-14 07:03:59 +0900

    [ruby/etc] Suppress unused function warning

    https://github.com/ruby/etc/commit/410c8dd4ae

commit 6d00fa2270131b049a5502406868a1c7741812ad
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-13 21:48:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-14 07:03:59 +0900

    [ruby/etc] Check members only for defined structs

    https://github.com/ruby/etc/commit/15c2696794

commit e2559645421294d80315313d13385e8b948ab880
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-04-14 02:33:28 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-04-14 03:21:17 +0900

    Use user defined parameterizing rules `range_expr`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13111

commit 088fd968ed8af169964bed47cde2b25b58004396
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-04-14 02:13:58 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-04-14 03:01:01 +0900

    Add a new non-terminal symbol `ternary` to tidy up

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13110

commit e9966998200ba4786f5b6912047832c8889999bd
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-04-13 23:02:14 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-04-14 01:15:20 +0900

    Refactor assignment rules to remove unnecessary lhs parameter

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13109

commit 3700ae2e99a879a2b413c3132c95d933386c4e24
  Author:     Haruna Tsujita <82350582+haruna-tsujita@users.noreply.github.com>
  AuthorDate: 2025-04-13 20:46:40 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-04-13 20:46:40 +0900

    Fix typos `finised` -> `finished` (#13104)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 8c9cd65d8203cbae8f95a945669ee6215a0287e1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-13 16:53:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-04-13 16:53:18 +0900

    Fix unnecessary `false` in `CLEANLIBS`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13107

commit cfa74dda4547c7ef4d3510b729bad8cc6299e523
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2025-04-13 16:00:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-13 16:00:08 +0900

    Update bundled gems list as of 2025-04-13

commit 29b26fd3e7a881399b69665184be41ee6d47da6f
  Author:     Daniel Colson <danieljamescolson@gmail.com>
  AuthorDate: 2025-04-13 03:04:57 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-04-13 11:44:49 +0900

    Fix macro for disabled match cache

    The `MEMOIZE_LOOKAROUND_MATCH_CACHE_POINT` macro needs an argument
    otherwise we end up with:

    ```
    ../regexec.c:3955:2: error: called object type 'void' is not a function or function pointer
     3955 |         STACK_POS_END(stkp);
          |         ^~~~~~~~~~~~~~~~~~~
    ../regexec.c:1680:41: note: expanded from macro 'STACK_POS_END'
     1680 |     MEMOIZE_LOOKAROUND_MATCH_CACHE_POINT(k);\
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    ../regexec.c:3969:7: error: called object type 'void' is not a function or function pointer
     3969 |       STACK_POP_TIL_POS_NOT;
          |       ^~~~~~~~~~~~~~~~~~~~~
    ../regexec.c:1616:41: note: expanded from macro 'STACK_POP_TIL_POS_NOT'
     1616 |     MEMOIZE_LOOKAROUND_MATCH_CACHE_POINT(stk);\
          |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    ```

    The macro definition with the match cache enabled already has the
    correct argument. This one is for when the match cache is disabled (I
    had disabled it while trying to learn more about how it works.)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13105

commit 543dd77cc39d16a45693d35af670995f7e66ce36
  Author:     viralpraxis <iaroslav2k@gmail.com>
  AuthorDate: 2025-04-10 17:56:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-13 02:43:57 +0900

    [ruby/prism] Fix parsing rescued exception via indexed assignment

    Given this code

    ```ruby
    begin
      raise '42'
    rescue => A[]
    end
    ```

    Prism fails with this backtrace

    ```
    Error: test_unparser/corpus/literal/rescue.txt(Prism::ParserTest): NoMethodError: undefined method `arguments' for nil
    prism/lib/prism/translation/parser/compiler.rb:1055:in `visit_index_target_node'
    prism/lib/prism/node.rb:9636:in `accept'
    prism/lib/prism/compiler.rb:30:in `visit'
    prism/lib/prism/translation/parser/compiler.rb:218:in `visit_begin_node'
    ```

    Seems like

    ```diff
    -            visit_all(node.arguments.arguments),
    +            visit_all(node.arguments&.arguments || []),
    ```

    fixes the problem.

    https://github.com/ruby/prism/commit/76d01aeb6c

commit a35a101b4cd393aa4947eea872c71f0f7f0cd3f0
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-04-08 20:38:18 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-04-13 01:23:39 +0900

    Change the indent after lhs in generation rules from spaces to tabs

    Change the indent to match the characters used in other generation rules. This makes it easier to find lhs.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13082

commit 3628e9e30d3809da67eb38b9d19fa99f8a999eaa
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-04-11 03:53:49 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2025-04-12 02:28:26 +0900

    Remove unused field on Thread struct

    It looks like stat_insn_usage was introduced with YARV, but as far as I
    can tell the field has never been used.  I think we should remove the
    field since we don't use it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13100

commit 0a35c5b4d9add69251590e3902a5d861df49e142
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-11 12:20:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-11 13:24:03 +0900

    Restore Windows 2022 build with VS2019 toolset

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13103

commit 8a15f806532fd1912b930abdcec6efac33f438b8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-11 11:37:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-11 12:18:56 +0900

    Fixed wrong usage of matrix.vs. That label is os version, not vs version

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13102

commit 0e792793277f3bb67ec58369436a57c0cb757a4d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-11 11:11:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-11 11:11:38 +0900

    Note the detailed version of Visual Studio

commit a2b39e5ca686b677b63be2b1ab8baa5a1b8df08d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-11 11:01:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-11 11:01:05 +0900

    Added instruction for autocrlf issue of Git on Windows

commit 1bd029b1eaa76496f376d92059db5f0b355ad03b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-11 10:55:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-11 10:55:31 +0900

    Note the detailed version of Windows SDK

commit af69421c91abc49390e8741870fac63513efbc0b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-11 10:49:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-11 10:49:26 +0900

    Added instruction for MSYS2 without RubyInstaller-Devkit

commit f13e86a70edffe9af9b8bca15a0a9652cf143386
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-03-04 10:03:50 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2025-04-11 03:33:46 +0900

    Allow gdb's rp to work on classes offline

    It's useful to be able to get information about classes without a
    running process, ie. when debugging a coredump.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13099

commit e3dd766e991892f1e2c0191ab6648eb0872a641c
  Author:     HoneyryderChuck <cardoso_tiago@hotmail.com>
  AuthorDate: 2024-10-30 02:58:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-11 00:58:04 +0900

    [ruby/resolv] refactoring class-hash to be ractor-safe

    mutable constants can't be shared across ractors; this changes that design to define the required variables as constants on the Resource class, which makes them reachable using ractors; the ClassHash is kept in order not to break integrations relying on its existence, but under the hood it's doing the same thing

    https://github.com/ruby/resolv/commit/639c01dc7f

commit 54a85caed4b364df5a7dd25795957b20b8e50f8e
  Author:     HoneyryderChuck <cardoso_tiago@hotmail.com>
  AuthorDate: 2024-10-29 23:43:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-11 00:58:03 +0900

    [ruby/resolv] config read from file should return frozen data!

    https://github.com/ruby/resolv/commit/afb57f40a1

commit 756479324fcbf609b401cefafd2911268d4a7851
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-08 23:24:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-10 19:21:51 +0900

    Sync Bundler and adapt to new spec setup

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13083

commit 684cfa42d77f8b667333f5efa3bd52463985b9d4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-10 17:50:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-10 18:44:40 +0900

    Avoid to infinite require loop for irb.

    if irb and that dependency are broken, it caused infinite loop with force_activate("irb").

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13093

commit 8003a06854fed5e46d20ed310488294b96537da8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-10 17:39:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-04-10 17:39:56 +0900

    [DOC] Use slashes in mingw confiure examples

    To show that mingw `sh` expects forward slashes as path separators, not
    backslashes, configure in another directory than the source directory.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13092

commit 08ce6268ee1690f003af40b9357272d43e990d75
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2025-02-17 04:30:40 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-10 17:33:36 +0900

    Document order of execution const_added vs inherited

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12759

commit b47a04eb9151a9fa59979fbaf20deeb404822959
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-10 16:02:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-10 17:29:39 +0900

    Refactor bundled condition

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12847

commit 598b0e8b72930c372a22b3db5da17bd69871be20
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-04 18:46:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-10 17:29:39 +0900

    The current force_activate always fails without Gemfile

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12847

commit 3390b6a515c4195905ef3be715fb611cce7ccaf5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-04 18:44:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-10 17:29:39 +0900

    Added simple failing example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12847

commit c5c0bb5afcbbc054c9e8f4e4b9209253d42f7326
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2025-04-09 05:29:05 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-10 17:20:31 +0900

    Restore the original order of const_added and inherited callbacks

    Originally, if a class was defined with the class keyword, the cref had a
    const_added callback, and the superclass an inherited callback, const_added was
    called first, and inherited second.

    This was discussed in

        https://bugs.ruby-lang.org/issues/21143

    and an attempt at changing this order was made.

    While both constant assignment and inheritance have happened before these
    callbacks are invoked, it was deemed nice to have the same order as in

        C = Class.new

    This was mostly for alignment: In that last use case things happen at different
    times and therefore the order of execution is kind of obvious, whereas when the
    class keyword is involved, the order is opaque to the user and it is up to the
    interpreter.

    However, soon in

        https://bugs.ruby-lang.org/issues/21193

    Matz decided to play safe and keep the existing order.

    This reverts commits:

        de097fbe5f3df105bd2a26e72db06b0f5139bc1a
        de48e47ddf78aba02fd9623bc7ce685540a10743

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13085

commit 0d6263bd416338a339651fb97fe4d62701704c4b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-04-09 19:49:21 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-04-09 23:45:54 +0900

    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>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13089

commit ce0d5cc06952317e8b0810ad978d6424f7ed9f6d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-09 19:14:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-04-09 19:14:36 +0900

    Refine dirname test on Windows

    - Compare with the root of the target file
    - Fix root path of UNC path

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13090

commit 5cf7d948ad4b8b365092673d48e3be16fcf08a10
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-04-09 19:13:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-04-09 19:13:58 +0900

    [DOC] Fix contributing link

    It moved in https://github.com/ruby/ruby/pull/13012 but wasn't updated here

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13088

    Merged-By: nobu <nobu@ruby-lang.org>

commit 9f61541f7624298be0c379ff61b66fc8470423e2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-09 15:18:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-09 15:51:08 +0900

    Re-enabled to test at win32ole

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13087

commit 8ab517698a76238d0afc7669b0ea1d5c6c1c0391
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-09 10:31:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-09 10:31:33 +0900

    sed is not requirement now

commit 9e93759b999c4fca219b3682eaf7964fa65f3bf0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-09 10:20:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-09 10:20:22 +0900

    Restore assertion that is not related mswin platform

commit ab4a25e48e351962d0d183d474c8b6d394123be6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-04 19:22:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-09 08:11:10 +0900

    [rubygems/rubygems] Follow up to removal of rubyinstaller2 workaround

    https://github.com/rubygems/rubygems/commit/5b312fd040

commit ae45a7a952c232be66cd08b8c2df62c5fc741ab0
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-07 20:10:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-09 08:11:03 +0900

    [ruby/json] Cleanup jeaiii-ltoa to not need pragmas

    https://github.com/ruby/json/commit/97f2924d0a

commit b1362e26c7375a6fe3f30437b23e6e9fc28e35ab
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-07 19:44:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-09 08:11:03 +0900

    [ruby/json] Suppress -Wunknown-pragmas warnings

    https://github.com/ruby/json/commit/97f47d1cfd

commit d5f94941d87743d6563fa1a038665917dea70201
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2025-04-08 22:03:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-09 02:46:42 +0900

    [ruby/openssl] Fix the tests using SHA-1 Probabilistic Signature Scheme (PSS) parameters.

    Fedora OpenSSL 3.5 on rawhide stopped accepting SHA-1 PSS[1] parameters.
    This is different from the SHA-1 signatures which Fedora OpenSSL stopped
    accepting since Fedora 41.[2]

    This commit fixes the following test failures related to the SHA-1 PSS
    parameters with Fedora OpenSSL 3.5.
    Note these failures are the downstream Fedora OpenSSL RPM specific. The tests
    pass without this commit with the upstream OpenSSL 3.5.

    ```
    $ rpm -q openssl-libs openssl-devel
    openssl-libs-3.5.0-2.fc43.x86_64
    openssl-devel-3.5.0-2.fc43.x86_64

    $ bundle exec rake test
    ...
    E
    ===============================================================================================
    Error: test_sign_verify_options(OpenSSL::TestPKeyRSA): OpenSSL::PKey::PKeyError: EVP_PKEY_CTX_ctrl_str(ctx, "rsa_mgf1_md", "SHA1"): digest not allowed (digest=SHA1)
    /mnt/git/ruby/openssl/test/openssl/test_pkey_rsa.rb:113:in 'Hash#each'
    /mnt/git/ruby/openssl/test/openssl/test_pkey_rsa.rb:113:in 'OpenSSL::PKey::PKey#sign'
    /mnt/git/ruby/openssl/test/openssl/test_pkey_rsa.rb:113:in 'OpenSSL::TestPKeyRSA#test_sign_verify_options'
         110:       "rsa_pss_saltlen" => 20,
         111:       "rsa_mgf1_md" => "SHA1"
         112:     }
      => 113:     sig_pss = key.sign("SHA256", data, pssopts)
         114:     assert_equal 256, sig_pss.bytesize
         115:     assert_equal true, key.verify("SHA256", sig_pss, data, pssopts)
         116:     assert_equal true, key.verify_pss("SHA256", sig_pss, data,
    ===============================================================================================
    E
    ===============================================================================================
    Error: test_sign_verify_pss(OpenSSL::TestPKeyRSA): OpenSSL::PKey::RSAError: digest not allowed (digest=SHA1)
    /mnt/git/ruby/openssl/test/openssl/test_pkey_rsa.rb:191:in 'OpenSSL::PKey::RSA#sign_pss'
    /mnt/git/ruby/openssl/test/openssl/test_pkey_rsa.rb:191:in 'OpenSSL::TestPKeyRSA#test_sign_verify_pss'
         188:     data = "Sign me!"
         189:     invalid_data = "Sign me?"
         190:
      => 191:     signature = key.sign_pss("SHA256", data, salt_length: 20, mgf1_hash: "SHA1")
         192:     assert_equal 256, signature.bytesize
         193:     assert_equal true,
         194:       key.verify_pss("SHA256", signature, data, salt_length: 20, mgf1_hash: "SHA1")
    ===============================================================================================
    ...
    577 tests, 4186 assertions, 0 failures, 2 errors, 0 pendings, 3 omissions, 0 notifications
    ```

    [1] https://en.wikipedia.org/wiki/Probabilistic_signature_scheme
    [2] https://fedoraproject.org/wiki/Changes/OpenSSLDistrustSHA1SigVer

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

commit 5aa05f179c028981950cb5f40112ce058c5a40cd
  Author:     Eileen <eileencodes@users.noreply.github.com>
  AuthorDate: 2025-04-09 01:52:49 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-04-09 01:52:49 +0900

    Fix lldb debug scripts (#13048)

    In ruby/ruby#13008 `RVALUE` was removed without replacement. This means
    the lldb scripts that relied on `RVALUE` stopped working.

    I updated the ones that were using it just for the bytesize to use
    `slot_size` and then round to the nearest power of 40. We can't use
    `slot_size` directly because in debug mode it's `48` but `RVALUE` is
    `40` bytes.

    For the `as_type` method, I updated it to check the type. It's only used
    for `bignum` and `array` so that's a simple change.

    Lastly, for the `dump_page` method I replaced it with `struct free_slot`
    since that's looking at the freelist.

    `struct RVALUE` has been removed from all the scripts and I verified
    that `rp` is fixed. I'm not confident the `dump_page` method is fixed,
    the freelist looks off, but for now this gets us closer.

  Notes:
    Merged-By: eileencodes <eileencodes@gmail.com>

commit b68fe530f1880ed314099b61a70e3c0b1ee7cf6d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-08 15:45:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-08 15:46:45 +0900

    Windows 11 24H2 with VS 2019 16.11.45 couldn't handle long name test

    ```
      2) Error:
    TestDir#test_children_long_name:
    Test::Unit::ProxyError: No such file or directory @ apply2files - C:/Users/hsbt/AppData/Local/Temp/rubytest.zxydnz/d20250408-35424-2b0o6e/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/c
        V:/github.com/ruby/ruby/test/ruby/test_dir.rb:653:in 'File.unlink'
        V:/github.com/ruby/ruby/test/ruby/test_dir.rb:653:in 'block in TestDir#test_children_long_name'
        V:/github.com/ruby/ruby/lib/tmpdir.rb:105:in 'Dir.mktmpdir'
        V:/github.com/ruby/ruby/test/ruby/test_dir.rb:646:in 'TestDir#test_children_long_name'
    ```

commit 10d6ee65542a756072afb7182216efff80aa97d7
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-08 15:20:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-08 15:46:45 +0900

    Skip some assertions of TestFileExhaustive#test_dirname with Windows platform.

    These assertions didn't handle drive letter of Windows

    ```
      1) Failure:
    TestFileExhaustive#test_dirname [V:/github.com/ruby/ruby/test/ruby/test_file_exhaustive.rb:1282]:
    <"V:/"> expected but was
    <"C:/">.
    ```

commit d17ab5a430d0068a9016746402b296ab7f87abe1
  Author:     Kunshan Wang <wks1986@gmail.com>
  AuthorDate: 2025-04-07 16:21:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-08 12:12:50 +0900

    [ruby/mmtk] Do root scanning in scan_vm_specific_roots

    We rely on scan_vm_specific_roots to reach all stacks via the following
    path:

        VM -> ractors -> threads -> fibers -> stacks

    https://github.com/ruby/mmtk/commit/0a6a835aaa

commit b3b1d7b2952037727abfa66236d43e434003524a
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-03-27 10:23:04 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2025-04-08 08:56:44 +0900

    Remove spinlock in dtoa's Balloc, use xmalloc

    The spinlock here performs poorly when there are multiple Ractors. The
    improvement on single threaded performance doesn't seem that
    significant, so I think we should just use malloc.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12991

commit 4646ab89179aa3dac917a16aaa16533548ad33d9
  Author:     Kanstantsin Shautsou <kanstantsin.sha@gmail.com>
  AuthorDate: 2025-04-07 20:02:46 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-07 23:37:39 +0900

    Use correct warn method

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13079

commit e3abdfbc84fe1da62f309e260e574612a7b13473
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-04-06 04:34:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-04-07 22:41:11 +0900

    Skip test_heaps_grow_independently for MMTk

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13061

commit d4406f0627c78af31e61f9e07dda9151e109dbc4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-04-04 05:43:09 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-04-07 22:41:11 +0900

    Grow GC heaps independently

    [Bug #21214]

    If we allocate objects where one heap holds transient objects and another
    holds long lived objects, then the heap with transient objects will grow
    along the heap with long lived objects, causing higher memory usage.

    For example, we can see this issue in this script:

        def allocate_small_object = []
        def allocate_large_object = Array.new(10)

        arys = Array.new(1_000_000) do
          # Allocate 10 small transient objects
          10.times { allocate_small_object }
          # Allocate 1 large object that is persistent
          allocate_large_object
        end

        pp GC.stat
        pp GC.stat_heap

    Before this change:

        heap_live_slots: 2837243
        {0 =>
          {slot_size: 40,
           heap_eden_pages: 1123,
           heap_eden_slots: 1838807},
         2 =>
          {slot_size: 160,
           heap_eden_pages: 2449,
           heap_eden_slots: 1001149},
        }

    After this change:

        heap_live_slots: 1094474
        {0 =>
          {slot_size: 40,
           heap_eden_pages: 58,
           heap_eden_slots: 94973},
         2 =>
          {slot_size: 160,
           heap_eden_pages: 2449,
           heap_eden_slots: 1001149},
        }

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13061

commit 432e5fa7e4ad57e0d8dcfcec29f0426aac7aedb4
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-04 19:25:03 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-07 19:00:09 +0900

    prism_compile.c: Avoid zero length allocation

    The constant pool may be empty.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13068

commit d485638a08a4561cd2f9c28d29b6d08d43dc5621
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-07 13:56:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-07 15:10:58 +0900

    Allow win32ole test failure

    ```
    D:/a/ruby/ruby/src/gems/src/win32ole/test/win32ole/test_win32ole_event.rb:80:in 'TestWIN32OLE_EVENT_SWbemSink#default_handler': undefined method '+' for nil (NoMethodError)
    ```

    https://github.com/ruby/ruby/actions/runs/14299035797/job/40072083885?pr=13078

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13078

commit f70bf7840370c4739ba11ddfdc35297086257170
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-07 10:44:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-07 15:10:58 +0900

    Fixed wrong condition to avoid flaky ractor_test.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13078

commit be5dea972002b4d26a736f9b40fad7aa0fcf0fec
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-07 10:37:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-07 15:10:58 +0900

    Rename test command for test-unit

    https://github.com/test-unit/test-unit/commit/b7d3c32f6e334e1823e30c053c2268893cf073ef

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13078

commit a4b4dad4badee2cf46dbc3da20d211c520fb79cb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-07 10:36:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-07 15:10:58 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13078

commit 3a7b9ca93b91dcc086b9ac8b9957e59268f9493b
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-04-06 18:36:06 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-04-07 11:08:10 +0900

    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]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13076

commit e25889951f39aff6e3c16ecee10e678912454e69
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-06 12:24:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-04-06 12:24:23 +0900

    Ensure builtin binaries are aligned to ibf_header

    Since IBF result string size should be multiple of 4, this should not
    increase the binary size actually.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13075

commit b5ac483d9546f5e3bc8d72ef3efb8c90c9452069
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-04-06 09:38:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-04-06 09:38:58 +0900

    Fix the if condition to skip test_ractor.rb correctly (#13067)

    Follow-up for https://github.com/ruby/ruby/commit/a2b03ba7cb721d698bebee74c535dea4583a9c28

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 229784d160452dcdaa85ae4b5c5fae5c2728324b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-05 10:29:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-04-05 10:31:20 +0900

    [Bug #21150] macOS: unwinding coroutine workaround is only for arm64

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13072

commit 085cc6e43473f2a3c81311a07c1fc8efa46c118b
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-04 20:28:51 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-04 23:26:29 +0900

    Ractor: revert to moving object bytes, but size pool aware

    Using `rb_obj_clone` introduce other problems, such as `initialize_*`
    callbacks invocation in the context of the parent ractor.

    So we can revert back to copy the content of the object slots,
    but in a way that is aware of size pools.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13070

commit eb765913c108fa0e71ab7f9852457a914a7d98f0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-04 19:34:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-04-04 19:34:04 +0900

    Console Cntl event is sent to root process sharing the console

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13069

commit cec45aedb5ce7cf9f263421712ad5abcf6404380
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-04 15:21:11 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-04-04 16:24:49 +0900

    Cannot send signal to process group on Windows

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13069

commit d22e7660427e1e9929e8444135199b5c3e731246
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-04 10:59:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-04-04 16:24:48 +0900

    Cannot send `SIGTERM` to another process on Windows

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13069

commit 0251abca7f19c393d756e77ee059a4357a8f2f20
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-04 14:23:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-04 14:23:25 +0900

    Fixed mismatched indentation

commit 705a95323e7bd85fdade2970976fd7d87a1ccf2e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-04 14:21:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-04 14:21:05 +0900

    Removed unused variable

commit b4a94011ca018c2e7b105534e299033106793158
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-04 11:58:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-04 11:58:59 +0900

    Hardening auto-merge workflow

    https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#enabling-automerge-on-a-pull-request

commit 05e74543f6b0dca882e4324d3577b68fe1c231e1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-04 08:51:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-04 10:21:31 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13066

commit 710bf4a47246c973b597f6d948dc7279babe93f4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-03 23:06:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-04 08:54:47 +0900

    [rubygems/rubygems] Rubyinstaller2 fixed this

    https://github.com/rubygems/rubygems/commit/08b3c48f41

commit f8c0225971f93fdbb546bf4f921619357446135f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-02 02:35:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-04 08:54:47 +0900

    [rubygems/rubygems] Improve bug report instructions

    * Explicitly recommend copying full command output and not just the bug
      report template part.
    * Include quadruple quotes in the "What actually happened section" and
      tell users to copy full command output inside. Hopefully quadruple
      quotes will make the error report information (which includes triple
      quotes itself) render fine by default.
    * Avoid "actually" as per quality_spec.rb recommendation.

    https://github.com/rubygems/rubygems/commit/0a3bf2edb1

commit 6b5e187d0eb07994fee7b5f0336da388a793dcbb
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-04-04 02:20:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-04 02:58:30 +0900

    [ruby/openssl] pkcs7: fix test failure on RHEL 9

    The test case test_split_content fails on RHEL 9 and Fedora 41 because
    their OpenSSL packages do not accept SHA-1 signatures. This was only
    caught after commit https://github.com/ruby/openssl/commit/69fd7f886313 added the missing assertion.

    While the example PKCS#7 structures could be simply regenerated with
    SHA-256, this test case could be simplified because it is checking two
    different things.

    Replace test_split_content with separate test cases: one verifying
    signed-data authenticatedAttributes and another for decoding BER input.

    Fixes https://github.com/ruby/openssl/issues/875

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

commit 3911113bc4d441d01ad888fbaaee494c9386ebe0
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-04-03 22:02:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-04 02:58:29 +0900

    [ruby/openssl] pkcs7: update test case test_graceful_parsing_failure

    Using test_pkcs7.rb as an example invalid input is not reliable because
    we may happen to include a valid PKCS#7 PEM block in a heredoc.

    https://github.com/ruby/openssl/commit/76fead26d2

commit 137b51e4d3dff93e0101f776ac05af63aca9b778
  Author:     John Hawthorn <john.hawthorn@shopify.com>
  AuthorDate: 2025-04-03 04:03:44 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2025-04-04 02:39:47 +0900

    Remove rb_gc_start from cancel_single_ractor_mode

    In 307732ccee7f9f28f8422bab2f839da021d8cdec Ractors were changed to
    explicitly run GC when the first non-main one was activated in order to
    disable the transient heap. Theap no longer exists so I don't think we
    need to do this.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13047

commit 5eb3efcf2de300e4ad1d3ce5de8ea756063b9a28
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-04-04 00:31:13 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2025-04-04 02:39:47 +0900

    Fix timeline_value not being marked in test

    T_DATA with a NULL pointer are not marked. Let's wrap 1 instead to
    ensure that our mark function is actually run.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13047

commit 4aa74b605c9960192c30c711fa6e982727eb8d1b
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-03 23:07:34 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-03 23:57:57 +0900

    compile.c: avoid allocating 0 length call_data

    if `body->ci_size` is `0`, there's no point allocating 0B,
    it just wastes an entry in the allocator.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13059

commit fab133e629c507f4add4a7dde2e0ba12b7ec281c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-03 19:30:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-03 20:03:18 +0900

    Use EnvUtil.apply_timeout_scale

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13058

commit 3f152ce767dcc2bda2232d35d29eaecf97932627
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-03 19:07:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-03 20:03:18 +0900

    Extend open_timeout for test failure on s390x

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13058

commit 1dddc6c78b5f6dc6ae18ee04ebe44abfce3b0433
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-04-02 17:32:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-04-03 16:56:24 +0900

    Remove no longer used union

    IMEMO_NEW takes just one memo value, min/max argc are assigned
    directly and packed argc is not used.

commit 29dafa5fc21343803127dda7d608f1f1f7908e7b
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2025-04-03 01:27:47 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2025-04-03 11:31:05 +0900

    Fix assertion failure with anonymous splats

    When calling a method that accepts an anonymous splat and literal
    keywords without any arguments, an assertion failure was previously
    raised. Set rest_index to 0 when setting rest to the frozen hash,
    so the args_argc calculation is accurate.

    While here, add more tests for methods with anonymous splats with
    and without keywords and keyword splats to confirm behavior is
    correct.

    Also add a basic bootstrap test that would hit the previous assertion
    failure.

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13046

commit b8e2bec9142a3e0153b756379ecb11853e86f1af
  Author:     Herwin <herwinw@users.noreply.github.com>
  AuthorDate: 2025-04-02 18:50:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-03 10:14:58 +0900

    Grammar fix in doc/exceptions.md: there => they're

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13040

commit 1598a2cab817b3264c9e38b258e4a650738cb521
  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 10:12:34 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13049

commit d543fda4335ea1cafd56b3976f089cfbc3d20597
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-31 17:53:01 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-03 05:53:34 +0900

    [ruby/prism] Be explicit in tests which files `parser` can't parse

    It also updates to latest `parser`, which allows numbered
    parameters in pattern matching pin,
    passing `patterns.txt` and `case.txt`

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

commit 334c261cc9ee125c4c4bfc65dec2e571af8944a2
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-30 20:28:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-03 05:51:54 +0900

    [ruby/prism] Fix parser translator when splatting in pattern matching pin

    Because it ends up treating it as a local variable, and `a.x`
    is not a valid local variable name.

    I'm not big on pattern matching, but conceptually it makes sense to me
    to treat anything inside ^() to not be
    pattern matching syntax?

    https://github.com/ruby/prism/commit/80dbd85c45

commit fe9ebb245644a38392fd26b5ec18efd8e549b154
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-03 00:41:33 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-03 01:50:14 +0900

    vm_core.h: unify YJIT ifdefs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13044

commit 3a7b03242f4f8f31899ffcf5e4a253ae6f01e96a
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-04-01 22:09:04 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-04-03 01:10:56 +0900

    [DOC] Tweaks for Hash doc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13029

commit 2a55cc3fb87f43b44dfb820f325bed60f01db236
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-04-03 01:03:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-04-03 01:03:17 +0900

    [DOC] Tweaks to String::try_convert

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13030

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit ce1dfe81c2ef148aa6f0f2bb51ee373f68cefd04
  Author:     Kunshan Wang <wks1986@gmail.com>
  AuthorDate: 2025-04-01 13:07:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-04-02 23:47:52 +0900

    [DOC] Doc for Thread::ConditionVariable

    Documented the necessity of calling `wait` in a loop.  We modified the
    example to demonstrate the idiomatic use, and added a third thread `a2`
    to demonstrate another reason that necessitates the loop.

    Mentioned spurious wake-up in the doc.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13024

commit 580aa60051773e3512121088eb8ebaee8ce605ea
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-04-02 19:08:39 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-04-02 20:24:22 +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`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13041

commit 43ee4a50d91652c0909b97fe7195af8e87600971
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-02 15:21:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-02 16:24:47 +0900

    Fixup comment for Windows platform, not Solaris

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13037

commit e71192da69f733a987a5db5692f4a33b303ade0d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-02 14:53:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-02 16:24:47 +0900

    Removed Solaris conditions from optional and shared directories

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13037

commit 3d4ea45411cba9d14f061aa5a26a0e146f3d7304
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-02 14:52:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-02 16:24:47 +0900

    Removed Solaris conditions from library directory

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13037

commit 8cb61b00fd0c5e87163703fc93e5303ca413b79e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-02 14:38:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-02 16:24:47 +0900

    Removed Solaris conditions from core directory

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13037

commit 6bd5a51ab5a2b1d33fa586cb2969b25d8d68c121
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-04-02 13:38:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-02 16:24:47 +0900

    Removed Solaris conditions from test files

    We no longer execute those files with Solaris platforms.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13037

commit ca97302dd404070bf971767914b6e4855b4de8a9
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2025-04-02 16:01:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-02 16:01:44 +0900

    Update bundled gems list as of 2025-04-01

commit 938db05361585fb4a2da38bc62d1ea36ea451bf6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-31 17:35:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-02 10:52:26 +0900

    Removed the warning targets for Ruby 3.1 because 3.1 is already EOL

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13017

commit e4020133c88b358d4392d29058043cc5dbdb195b
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2025-04-01 23:57:55 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2025-04-02 05:45:08 +0900

    Remove incorrect assertion

    ractor_cache will always be NULL in this context

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13031

commit 6fbc32b5d0da31535cccc0eca1853273313a0b52
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-04-02 04:48:18 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-04-02 05:25:01 +0900

    GCC defines __linux__, not __LINUX__

    Fixes: 2c6512fe67a275ce4d251f3c5d304bc523597f42

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13032

commit 30e5e7c005f4a0a2cd4b883ab8c2be48aa3bf6ed
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2025-04-01 20:01:49 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2025-04-02 01:11:01 +0900

    Revert "Fix jump buffer leak in setjmp handler in WASI builds"

    This reverts the following commits as it's causing OOM in some cases in
    ruby/ruby.wasm test suite.
    * 372515f33c908b36b3f5fbd2edcb34c69b418500
    * 3a730be8b464454878a42132f6fecb98ab4c1b5b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13026

commit a671b25525279706d1fa2ee3b25ef45e3ec0eb89
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-04-01 18:20:13 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-04-01 18:20:13 +0900

    [Bug #21203] Skip TestGc#test_gc_parameter_init_slots since it is flaky (#13025)

    https://bugs.ruby-lang.org/issues/21203

    TestGc#test_gc_parameter_init_slots is a flaky test that fails intermittently. Until the issue with flakiness is resolved, I will skip it.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 67a7d4a0a83638ac0c33bfb21d3d87d996946a45
  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-01 15:58:24 +0900

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

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

commit cd1952484cc74e2171cd72eb46bb00b04c8daa60
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-04-01 03:20:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-01 13:31:48 +0900

    [rubygems/rubygems] Stay away from FileUtils.rm_rf in Bundler specs

    Instead, skip the spec when run by ruby-core. Maybe the root cause can
    be fixed at some point.

    https://github.com/rubygems/rubygems/commit/09594ae5b8

commit 79f3167e0b601656f651b247d6ca09e4cadfadcb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-27 06:26:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-01 09:57:40 +0900

    [rubygems/rubygems] Let compact index response parser consistently return a mutable dependencies array

    That restores support for compact index dummy implementations that only lists
    versions, without checksums or dependencies.

    This format is undocumented, so we may want to get rid of it in the
    future. However, some of our tests rely on it, and some implementations
    did use it (gems.mutant.dev at least). And the way the code was written
    suggest that support was intentional.

    So for now, we should restore it.

    https://github.com/rubygems/rubygems/commit/0427d8c983

commit 92422576c6ffa21f8c68f7b9774f0297b8acae71
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-27 23:58:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-01 09:56:56 +0900

    Remove compact index response parser from Bundler

    It's available in RubyGems since 3.2.3 and we no longer support that old
    version.

commit fce2c386a5e3a49bf8863c7550e257e349ca093b
  Author:     Giacomo Benedetti <giacomo.bndt@gmail.com>
  AuthorDate: 2025-03-14 20:01:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-04-01 09:55:19 +0900

    [rubygems/rubygems] Sorting files in metadata for reproducibility

    https://github.com/rubygems/rubygems/commit/792117980b

commit 6d70847e27ccd3a92d8a22907531b8e1a38ca546
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-31 22:28:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-04-01 05:37:44 +0900

    Make free, memsize functions of IO::Buffer static

    They are not used outside of io_buffer.c, so we can make them static.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13022

commit 0fad0ce35ca0160288a64a8cc49e6dae1b199821
  Author:     Alexander Momchilov <alexander.momchilov@shopify.com>
  AuthorDate: 2025-03-31 23:28:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-04-01 04:57:33 +0900

    [ruby/prism] Use `xmalloc()`/`xfree()`

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

commit 2d9036498e775dbc8a5a9ba42a6ab02f1c43f2ac
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-03-31 21:50:10 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-04-01 03:49:40 +0900

    [DOC] Tweaks for Hash doc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13020

commit 765918d28317be34ec0c688a7742847801804e36
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-04-01 03:48:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-04-01 03:48:23 +0900

    [DOC] Tweaks for docs about contributing (#13012)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit cdb1bf1e53a8cbb67d273f5b09c3bec775f2c3eb
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-04-01 03:47:20 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-04-01 03:47:20 +0900

    [DOC] Tweaks for Hash#update

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12985

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit a61e7118e6da9798862b559661075bafce44b541
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2025-03-31 21:50:23 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2025-04-01 01:10:51 +0900

    Provide compaction support for argf_type

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13021

commit 6012145299cfa4ab561360c78710c7f2941a7e9d
  Author:     Matt Valentine-House <matt@eightbitraptor.com>
  AuthorDate: 2025-03-31 19:38:16 +0900
  Commit:     Matt Valentine-House <matt@eightbitraptor.com>
  CommitDate: 2025-04-01 01:10:37 +0900

    Mark rb_io_buffer_type references declaratively

    allowing them to support compaction and be moved.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13018

commit 8a475d15d6aec3618d075b66541b4bae663beac9
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-31 19:48:56 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-31 23:56:29 +0900

    Implement `dcompact` for Time objects

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13019

commit 7db0e07134c9ff9e1da090053041b670f3206de4
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-31 18:29:06 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-31 19:01:55 +0900

    Don't preserve `object_id` when moving object to another Ractor

    That seemed like the logical thing to do to me, but ko1 disagree.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13008

commit 0350290262ea0fbc4e1807901797ee8a6970c2b9
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-27 22:26:59 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-31 19:01:55 +0900

    Ractor: Fix moving embedded objects

    [Bug #20271]
    [Bug #20267]
    [Bug #20255]

    `rb_obj_alloc(RBASIC_CLASS(obj))` will always allocate from the basic
    40B pool, so if `obj` is larger than `40B`, we'll create a corrupted
    object when we later copy the shape_id.

    Instead we can use the same logic than ractor copy, which is
    to use `rb_obj_clone`, and later ask the GC to free the original
    object.

    We then must turn it into a `T_OBJECT`, because otherwise
    just changing its class to `RactorMoved` leaves a lot of
    ways to keep using the object, e.g.:

    ```
    a = [1, 2, 3]
    Ractor.new{}.send(a, move: true)
    [].concat(a) # Should raise, but wasn't.
    ```

    If it turns out that `rb_obj_clone` isn't performant enough
    for some uses, we can always have carefully crafted specialized
    paths for the types that would benefit from it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13008

commit 532b9246d3819b2a309992a20ff031f91ac3e5db
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-31 17:34:46 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-31 18:14:34 +0900

    Initialize ractor thgroup in `thread_do_start_proc`

    Followup: https://github.com/ruby/ruby/pull/13013

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13016

commit 5e421ce8d949a4f92568db359be0d188b66e58ca
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-31 02:18:34 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-31 17:25:52 +0900

    ractor: don't inherit the default thread group

    [Bug #17506]

    `Thread.current.group` isn't shareable so it shouldn't be inherited
    by the main thread of a new Ractor.

    This cause an extra allocation when spawning a ractor, which could
    be elided with a bit of extra work, but not sure if it's worth
    the effort.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13013

commit 502fcfcc46fe1362b30d311e2fc03bfe37a78dc8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-31 16:13:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 16:13:46 +0900

    stringio-3.1.6 has been released

commit a2b03ba7cb721d698bebee74c535dea4583a9c28
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-31 14:36:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 15:08:58 +0900

    Skip test_ractor.rb with ModGC workflow because this test is flaky

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13015

commit 679e3e5b333a36a6621ba03c9c10d66708318ecb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-31 14:10:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 14:42:59 +0900

    Specified commits for removing csv-filter executable

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13014

commit 91973a595cb364301894e0821bbe83d6e614ab6a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-31 14:09:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 14:42:59 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13014

commit 397334ab673420db4e0fc7df38e64c6afca01a8f
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2025-03-31 13:07:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 14:06:27 +0900

    Bundle rbs-3.9.2

commit 83518d8d5e3106eb40617b1cbc98dc3b6fb625d2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-31 12:49:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 14:06:27 +0900

    Update rdoc-6.13.1

commit 0dae3edb347053fe7c456a95cf794cea4309fe53
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-31 12:47:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 14:06:27 +0900

    Also skip test_load(JSONSingletonTest)

commit 0a097e6e452014d63bdb6cc3d7b287e1a671d77f
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2025-03-24 17:37:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 14:06:27 +0900

    Fix `{}`

commit 3fb2006bf18228afbedd470e82bc0204c6e1d15e
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2025-03-24 10:16:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 14:06:26 +0900

    Skip RDoc tests

commit e47f6215545ce04d759f3b071a355a1bf7ff256b
  Author:     Soutaro Matsumoto <matsumoto@soutaro.com>
  AuthorDate: 2025-03-24 09:55:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 14:05:32 +0900

    Bundle rbs-3.9.1

commit 372515f33c908b36b3f5fbd2edcb34c69b418500
  Author:     刘皓 <whiteaxe@tuta.io>
  AuthorDate: 2025-03-27 14:45:20 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2025-03-31 11:59:33 +0900

    Don't set `saved_ec.tag` to `NULL` in `cont_init()`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12995

commit 3a730be8b464454878a42132f6fecb98ab4c1b5b
  Author:     刘皓 <whiteaxe@tuta.io>
  AuthorDate: 2025-03-27 13:37:14 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2025-03-31 11:59:33 +0900

    Fix jump buffer leak in setjmp handler in WASI builds

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12995

commit 72fc9c7b1580251eac7d8db116df7f6e436be8b3
  Author:     刘皓 <whiteaxe@tuta.io>
  AuthorDate: 2025-03-27 13:34:27 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2025-03-31 11:59:33 +0900

    Fix stack pointer corruption in setjmp handler in WASI builds

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12995

commit dea505dea014c45062fb2963d4eb770be1497a4a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-25 22:46:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 09:39:22 +0900

    [rubygems/rubygems] Allow ruby platform to be remove also when dependencies have changed

    Since we will now add it back if the final resolution is compatible, we
    can also get this kind of edge case (`bundle add`) working.

    https://github.com/rubygems/rubygems/commit/cdc5ebec77

commit b2bcd360441c334f16148908684e9b409eac4949
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-25 02:19:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 09:39:22 +0900

    [rubygems/rubygems] Remove edge cases for not removing invalid platforms

    Instead, remove them anytime we find dependencies don't match the
    lockfile for a platform, and then add them back after resolution if
    they ended up being valid.

    https://github.com/rubygems/rubygems/commit/220bd77887

commit f72d5effb79a9957a0abd62c4f743e67cbf8e5ed
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-27 23:34:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 09:39:22 +0900

    [rubygems/rubygems] `SpecSet#add_extra_platforms!` doesn't need to return anything

    https://github.com/rubygems/rubygems/commit/9fd92ade54

commit 91df1795c5bc9659ff7cec6c8f5a1b3eade1145b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-25 01:19:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 09:39:22 +0900

    [rubygems/rubygems] Split finding and removing invalid platforms

    I don't like traversing the array and modifying it at the same time
    while it seems to work.

    https://github.com/rubygems/rubygems/commit/6551c74c27

commit f8720b01d9500d890a5b2a499c5126b83951c3cb
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-28 16:53:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 09:39:22 +0900

    [ruby/json] Remove caller location assertions

    Fix: https://github.com/ruby/json/pull/781

    Tests are ran a bit differently in ruby/ruby
    and this assertion breaks.

    https://github.com/ruby/json/commit/0d4fc669ed

commit a7ab156d947960e4202a4fe96ea9c6a1d39c9260
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-31 09:05:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 09:39:22 +0900

    Revert "Relax assertion pattern for ruby repo"

    This reverts commit 09b94688731a73a4ee63969a22ba7d537223e02a.

commit a203603be0ac6d95fa4740c0c763d9cad46c844c
  Author:     Lorenzo Zabot <lorenzozabot@gmail.com>
  AuthorDate: 2025-03-29 18:45:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-31 09:16:18 +0900

    Correct typo in Ractor comment

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13011

commit d7e46543b5fc34487dbc2c784412af015dbe67f4
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-30 19:48:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-31 02:24:05 +0900

    [ruby/prism] Fix parser translator when pinning hash with string keys

    `StringNode` and `SymbolNode` don't have the same shape
    (`content` vs `value`) and that wasn't handled.

    I believe the logic for the common case can be reused.
    I simply left the special handling for implicit nodes in pattern matching
    and fall through otherwise.

    NOTE: patterns.txt is not actually tested at the moment,
    because it contains syntax that `parser` mistakenly rejects.
    But I checked manually that this doesn't introduce other failures.
    https://github.com/whitequark/parser/pull/1060

    https://github.com/ruby/prism/commit/55adfaa895

commit 052794bfe1970e90f4f4f9e37fc362dd27903a8d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-23 02:17:27 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-31 02:22:41 +0900

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

    [Bug #21197]

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12999

commit 6b5aa432913c8aaef96513618d0edc73cdb6141c
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-03-19 10:33:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-30 22:46:28 +0900

    [ruby/openssl] Skip PKCS7 with indefinite length test in AWS-LC

    AWS-LC had been decoding the indefinite BER to an unusable output. We
    should skip the test until indefinite BER decoding in AWS-LC is
    properly fixed.

    Changes:
    1. AWS-LC will be looking to fix the parsing for indefinite BER
    constructed strings in AWS-LC soon, so I've marked the test as `pend`
    for now and removed the AWS-LC specific logic at the end.
    2. I've added an assertion to verify that `OpenSSL::PKCS7.verify`
    behaves correctly before doing content comparisons. I noticed this was
    failing initially in AWS-LC, but that will be fixed soon as well. This
    shouldn't effect OpenSSL/LibreSSL builds and should improve the test.

    https://github.com/ruby/openssl/commit/69fd7f8863

commit 9e87323ad00f393fbaa8b9e170248fe11bd652aa
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-03-27 06:00:20 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-30 06:05:21 +0900

    [DOC] Tweaks for Hash#values_at

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12989

commit dbc1ceca3264246ab2e7b47e06e5e62f0409051e
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-03-27 05:45:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-30 06:04:56 +0900

    [DOC] Tweaks for Hash#values

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12988

commit 4e3bc65e88f050563a49982ac0a5e57940def161
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-03-27 05:15:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-30 06:04:33 +0900

    [DOC] Tweaks for Hash#has_value?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12986

commit a4a60195502add094fb52a587411bbd0c19facce
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-03-29 20:46:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-29 20:46:43 +0900

    [Bug #21202] Fix wrong token concat while tokenizing nested unterminated heredoc (#13000)

  Notes:
    Merged-By: tompng <tomoyapenguin@gmail.com>

commit 549c7fe29d95394ccdc4387d24a4c4a48e30dad7
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-03-29 09:24:42 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-29 17:51:19 +0900

    Adjust indentation for user defined parameterized rule

    This PR just fixing indentation.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13010

commit 332f5d0b73cffb07c3e0002d31cc2c5d1b3fac1c
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2025-03-28 00:46:30 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-29 01:36:24 +0900

    Remove RUBY_FL_PROMOTED{0,1} from debugger scripts

    These flags were removed in d426343418aab6148706860bd1678ac309dc12c0 and
    print_flags is broken because of it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13006

commit 3aee7b982b283d2355c249b863d4f3570c929e26
  Author:     Richard Böhme <richard.boehme1999@gmail.com>
  AuthorDate: 2025-01-18 04:41:13 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2025-03-28 23:08:28 +0900

    Mark first argument to all C-API tracepoint functions as nonnull

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12553

commit 04ebedf7f0144e8d5b8b2cd9cd243a2581bf974c
  Author:     Richard Böhme <richard.boehme1999@gmail.com>
  AuthorDate: 2025-01-12 05:45:32 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2025-03-28 23:08:28 +0900

    Make rb_tracearg_(parameters|eval_script|instruction_sequence) public C-API

    This allows C-Extension developers to call those methods to retrieve
    information about a TracePoint's parameters, eval script and
    instruction sequence.

    Implements [Feature #20757]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12553

commit fc26004660a287b977e5481a09f6329ffa688357
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-03-28 13:34:32 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-03-28 14:19:33 +0900

    Remove test_retry_workers

    The test fails randomly for unknown reason.

    https://github.com/ruby/ruby/actions/runs/14121674932/job/39562945096?pr=12993
    ```
        1) Error:
      TestParallel::TestParallel#test_retry_workers:
      Test::Unit::ProxyError: execution expired (start: 2025-03-28 04:04:10 +0000, end: 2025-03-28 04:05:50 +0000)
          /home/runner/work/ruby/ruby/src/tool/test/testunit/test_parallel.rb:16:in 'TestParallel.timeout'
          /home/runner/work/ruby/ruby/src/tool/test/testunit/test_parallel.rb:225:in 'TestParallel::TestParallel#test_retry_workers'
    ```

    Maybe the workers do not respond "quit" request.

    We no longer use the retry mechanism, so just remove the test.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12993

commit 28c7ae66268c1f81441f8ed5fc0800337f0e3bcf
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-03-27 14:05:00 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-03-28 14:19:33 +0900

    Try avoiding "invalid byte sequence in UTF-8"

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12993

commit 12f8dda9e0c942584ba8672522f47d5b66179111
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-03-27 13:17:55 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-03-28 14:19:33 +0900

    Report the actual time waited for timeout errors in TestParallel

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12993

commit c3ca9313040c270cbc1c238ed67ec4b0c902c928
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-03-28 14:07:18 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-03-28 14:07:40 +0900

    TestRegexp#test_match_cache_positive_look_ahead_complex: Extend the timeout limit

commit 8582d93194d5878a5b1aefcaa8ece91910f1df82
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-03-28 12:58:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-28 12:58:14 +0900

    [ruby/etc] Skip TestEtc#test_ractor_parallel on ModGC workflow
    (https://github.com/ruby/etc/pull/55)

    https://bugs.ruby-lang.org/issues/21204

    TestEtc#test_ractor_parallel is only failing intermittently on ModGC workflow after 87fb0c4. So, we'll skip this test on ModGC workflow.

    https://github.com/ruby/etc/commit/fb037c5162

commit 1e715bd27a25b8803f8efbbfef7eb5912202b927
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-28 12:09:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    Skip failing rbs tests for deprecated JSON methods

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit 2ba37d24e8f8c7858a3db9df5fa9d1a1cb39181a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-28 12:02:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ...3.5' spec/ruby/security/cve_2020_10663_spec.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit 09b94688731a73a4ee63969a22ba7d537223e02a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-28 11:57:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    Relax assertion pattern for ruby repo

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit 3bbb52f5c5fb086492c9799ea7b48675cfde50f1
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-27 23:07:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    [ruby/json] Add missing assert_deprecated_warning

    https://github.com/ruby/json/commit/1b16a82980

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit ec171b4075407d02698a445e169f57fd68a9dcfc
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-27 20:25:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    [ruby/json] Move `create_addtions` logic in Ruby.

    By leveraging the `on_load` callback we can move all this logic
    out of the parser. Which mean we no longer have to duplicate
    that logic in both parser and that we'll later be able to extract
    it entirely from the gem.

    https://github.com/ruby/json/commit/f411ddf1ce

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit e8c46f4ca5e6ba2638fbfc81fdb9d141cd88e99a
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-26 23:19:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    [ruby/json] JSON.load invoke the proc callback directly from the parser.

    And substitute the return value like `Marshal.load` doesm
    which I can only assume was the intent.

    This also open the door to re-implement all the `create_addition`
    logic in `json/common.rb`.

    https://github.com/ruby/json/commit/73d2137fd3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit 80a59a62441c0938d0a29fcd5dd95f8024db6ddf
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-27 19:01:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    [ruby/json] Remove more dead code

    https://github.com/ruby/json/commit/eda239ad34

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit 756b75f2421008a46ee68390c683ca2c1a0ddc31
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-27 18:34:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    [ruby/json] Remove `Class#json_creatable?` monkey patch.

    https://github.com/ruby/json/commit/1ca7efed1f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit 96ecac1e245aaac4484f69a731d2af4328760a8e
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-27 18:36:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    [ruby/json] Get rid of JSON::NOT_SET

    https://github.com/ruby/json/commit/760d922265

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit bba30bee6275601e14cde260e3a3c9545cebe6b7
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-27 18:16:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    [ruby/json] Remove outdated JSON.iconv

    https://github.com/ruby/json/commit/3de8702354

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit 26e55562ce449d407c95891c8d3258e15cc9b129
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-27 18:16:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    [ruby/json] Cleanup JSON.pretty_generate

    https://github.com/ruby/json/commit/01c47a0555

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit 2b9a9300ac4cb00824d59e59f6671a77cc003a1f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-27 17:54:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 12:44:53 +0900

    [ruby/json] Deprecate `JSON.fast_generate`

    https://github.com/ruby/json/commit/6508455d82

  Notes:
    Merged: https://github.com/ruby/ruby/pull/13004

commit 589713bcb5cf4b52278a2cd6074d37c897dc79fc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-28 10:12:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 11:15:29 +0900

    Ignore to build C extension for test files of bundled gems

commit e652af18816ffe0b85109b8de0827349bf03f16d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-28 01:29:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-28 07:24:52 +0900

    Update LEGAL to mention ext/json/vendor

    One file is under MIT, which is already the case of many files
    in Ruby, so it's fine.

    The other is under the Boost Software License, which is very
    similar to BSD and is fine to include in Ruby as far as I'm
    aware.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12998

commit 43683e1e9d8f7f6ed3fb4a48598190a0993f8f66
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2025-01-19 01:54:28 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2025-03-28 05:59:03 +0900

    Avoid allocation for anonymous positional splat with no arguments

    Anonymous positional splats cannot be directly accessed, they can
    only be passed as splats to other methods.  So if an anonymous
    positional splat would be empty, you can use a shared frozen
    empty array to save an allocation.

    ```ruby
    def a(*) end
    a()
    ```

    This is similar to how anonymous empty keyword splats are optimized,
    except those use `nil` instead of a shared empty frozen hash.

    This updates the allocation tests to check that the array allocations
    are avoided where possible.

    It also makes a small change to test_iseq.rb to ensure an unfrozen
    hash is passed as the value of an anonymous splat parameter.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12596

commit 72cb68972c878ca9a221bfffc6b6757807f8b2cf
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2025-03-28 05:38:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-28 05:39:38 +0900

    [ruby/etc] Attempt to re-enable TestEtc#test_ractor_parallel

    * If this fails, please revert this commit in ruby/etc
      to keep the repos sync'ed.

    https://github.com/ruby/etc/commit/87fb0c4a83

commit 0581947af536ec0fc3da295003455404e45b8f4d
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2025-03-28 05:38:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-28 05:39:38 +0900

    [ruby/etc] Speedup TestEtc#test_ractor_parallel

    https://github.com/ruby/etc/commit/18c12c084c

commit 2f1ac3fea377db64e8a7983ef25975418514d99a
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2025-03-28 05:20:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-28 05:21:21 +0900

    [ruby/etc] Increase timeout for test_ractor_parallel

    * It seems much slower on macOS (locally on Linux it's always < 1 second).

    https://github.com/ruby/etc/commit/9e46857011

commit d49483a747c7336f25019a6e4a4f81907309b361
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-28 03:14:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-28 05:14:36 +0900

    [ruby/prism] Move snapshots

    This is messing up the CRuby sync, so moving them out of the test
    directory will make this easier.

    https://github.com/ruby/prism/commit/7ba13bfb68

commit 67d1dd2ebd622c27d2ae0681c544d9f5d2f5349b
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2025-01-18 18:40:05 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2025-03-28 03:17:40 +0900

    Avoid array allocation for *nil, by not calling nil.to_a

    The following method call:

    ```ruby
    a(*nil)
    ```

    A method call such as `a(*nil)` previously allocated an array, because
    it calls `nil.to_a`, but I have determined this array allocation is
    unnecessary.  The instructions in this case are:

    ```
    0000 putself                                                          (   1)[Li]
    0001 putnil
    0002 splatarray                             false
    0004 opt_send_without_block                 <calldata!mid:a, argc:1, ARGS_SPLAT|FCALL>
    0006 leave
    ```

    The method call uses `ARGS_SPLAT` without `ARGS_SPLAT_MUT`, so the
    returned array doesn't need to be mutable.  I believe all cases where
    `splatarray false` are used allow the returned object to be frozen,
    since the `false` means to not duplicate the array.  The optimization
    in this case is to have `splatarray false` push a shared empty frozen
    array, instead of calling `nil.to_a` to return a newly allocated array.

    There is a slightly backwards incompatibility with this optimization,
    in that `nil.to_a` is not called.  However, I believe the new behavior
    of `*nil` not calling `nil.to_a` is more consistent with how `**nil`
    does not call `nil.to_hash`.  Also, so much Ruby code would break if
    `nil.to_a` returned something different from the empty hash, that it's
    difficult to imagine anyone actually doing that in real code, though
    we have a few tests/specs for that.

    I think it would be bad for consistency if `*nil` called `nil.to_a`
    in some cases and not others, so this changes other cases to not
    call `nil.to_a`:

    For `[*nil]`, this uses `splatarray true`, which now allocates a
    new array for a `nil` argument without calling `nil.to_a`.

    For `[1, *nil]`, this uses `concattoarray`, which now returns
    the first array if the second array is `nil`.

    This updates the allocation tests to check that the array allocations
    are avoided where possible.

    Implements [Feature #21047]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12597

commit 6ecfe643b5d8d64682c6f6bce5b27db5c007331d
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2025-03-24 20:17:58 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-28 01:54:56 +0900

    Freeze $/ and make it ractor safe

    [Feature #21109]

    By always freezing when setting the global rb_rs variable, we can ensure
    it is not modified and can be accessed from a ractor.

    We're also making sure it's an instance of String and does not have any
    instance variables.

    Of course, if $/ is changed at runtime, it may cause surprising behavior
    but doing so is deprecated already anyway.

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12975

commit 49d49d5985fa22d6f283e1f0e5299d18dd94e77d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-27 23:47:13 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-27 23:56:49 +0900

    [ruby/psych] Format Date in ISO-8601 explicitly

    Fix https://github.com/ruby/psych/pull/644

    https://github.com/ruby/psych/commit/b1ade765ba

commit 5adb2591dacc9b9c40db373616b6bc0b5c5dadb7
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-03-27 21:22:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-27 21:22:38 +0900

    Skip TestThreadInstrumentation#test_sleeping_inside_ractor on ModGC workflow (#12996)

    TestThreadInstrumentation#test_sleeping_inside_ractor is a flaky and failing intermittently. Additionally, Launchable reported this test as a top flaky test. (Link: https://app.launchableinc.com/organizations/ruby/workspaces/ruby/insights/unhealthy-tests)

    It failed only failed intermittently on ModGC workflow, so I'm gonna skip this test on ModGC workflow.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit c577416b27337e94df2db38c0a7925994188ac07
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2025-03-27 07:25:15 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-03-27 19:09:24 +0900

    Do not run ruby/spec on CI on Ruby 3.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12984

commit bac22c985ecc7e4309b5b5e5ae1074c81319e889
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2025-03-27 02:56:40 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-03-27 19:09:24 +0900

    Update to ruby/spec@5e579e2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12984

commit 53a930f1570c81d2f7829f932e8d7ad67e8462b8
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2025-03-27 02:56:35 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-03-27 19:09:24 +0900

    Update to ruby/mspec@484310d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12984

commit df08cc629e36dace0cc0be8cb7b67ff6e505a711
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-27 15:13:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 16:57:10 +0900

    [rubygems/rubygems] Bump up connection_pool-2.5.0 with rake vendor:install

    https://github.com/rubygems/rubygems/commit/33c3caa63f

commit 62a026a425560f534d6e99bd2f3adf90ff6f101b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-27 15:05:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 16:57:10 +0900

    [rubygems/rubygems] Fix Style/RedundantParentheses by bin/rubocop -a

    https://github.com/rubygems/rubygems/commit/4bbf02493e

commit c9e07da51d9780cb4bb4c670938675b2fad65e34
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-27 15:04:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 16:57:10 +0900

    [rubygems/rubygems] Resolved Lint/ShadowingOuterLocalVariable warning

    https://github.com/rubygems/rubygems/commit/01a14a7073

commit d4a97ea313657b99716990b66649a367acac1321
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-27 16:54:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 16:56:59 +0900

    Update the all of gemfile deps

commit 752a1d785475d1950b33c7d77b289a6a3a753f02
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2025-03-26 12:27:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 13:57:26 +0900

    [rubygems/rubygems] Implement pub_grub strategy interface

    My application spends more than 30% of time during `bundle update`
    comparing versions due to versions being sorted inside
    next_package_to_try. This has been addressed in pub_grub by defining a
    strategy interface (a `#next_package_and_version` method) which allows
    consumers to have finer control over the heuristic to select the next
    package to try.

    This commit implements the new strategy interface to remove extraneous
    version sorting (previously in next_package_to_try) since only the final
    count of versions is used.

    Combined with a previous change to pub_grub (already applied to
    Bundler), this commit results in `bundle update` taking only half the
    time it did on 2.6.5.

    https://github.com/rubygems/rubygems/commit/62f69e27f0

commit af594f5166538d6d7f5c21d26ed824f03730c61a
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2025-03-26 07:19:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 13:57:25 +0900

    [rubygems/rubygems] Have "gem exec" sort executable names in error message.

    This decouples `gem exec` behavior (and tests) from the sort order of
    the gemspec.

    https://github.com/rubygems/rubygems/commit/911cd29159

commit 9f17a0c7cb4cef10e462fec6a80691b55144853a
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-27 00:37:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 13:54:12 +0900

    Get rid of SAFE_STATE_PROTOTYPE

    It was only used by JRuby and TruffleRuby to call `SAFE_STATE_PROTOTYPE.dup`
    instead of `State.new` which isn't an worthy optimization.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12994

commit 4dde7101c722df3e1659ab0f4bee546afba9f3a5
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-25 18:59:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 13:54:12 +0900

    Refactor jeaiii-ltoa.h

    Some relatively minor change to make the library more in line
    with the gem. Some renaming, etc.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12994

commit 1b8e6568e41d1244b5e8a9f1f03348ec1a424863
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-03-27 11:56:33 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-03-27 12:28:28 +0900

    Pend a test for ractor in etc

    ... because it is flaky

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12992

commit c6f89e263e0a54114c4482fb9756b2ca081791d8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-27 11:01:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 11:37:27 +0900

    Skip failing rbs tests for removing deprecated methods

commit 6d82ea7db8f66ee148639f380013308f31d50e8e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-27 10:22:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 11:37:27 +0900

    Update ext/json/generator/depend

commit ee85745c616aa0dcd0bcf207708778a14c02816c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-27 10:12:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 11:37:27 +0900

    Removed trailing spaces

commit d1f3c8125854bb0976b08dbcbda3524d8ea3e3fe
  Author:     eno <eno@open-lab.org>
  AuthorDate: 2025-03-17 03:51:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 11:37:27 +0900

    Faster integer formatting

    This commit provides an alternative implementation for a
    long → decimal conversion.

    The main difference is that it uses an algorithm pulled from
    https://github.com/jeaiii/itoa.
    The source there is C++, it was converted by hand to C for
    inclusion with this gem.
    jeaiii's algorithm is covered by the MIT License, see source code.

    On addition this version now also generates the string directly into
    the fbuffer, foregoing the need to run a separate memory copy.

    As a result, I see a speedup of 32% on Apple Silicon M1 for an
    integer set of benchmarks.

commit dc6ffbbe9ec09c9786b67fb5a9427e5a963980a2
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-26 23:44:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 11:37:27 +0900

    [ruby/json] Remove unused `FAST_STATE_PROTOTYPE` and `PRETTY_STATE_PROTOTYPE`

    https://github.com/ruby/json/commit/18e5c3c67c

commit b71ec1196e6e50e47a96964f79b967914858e5e6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-26 23:23:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 11:37:27 +0900

    [ruby/json] Remove `unparse` and `restore` aliases.

    These were deprecated 16 years ago.

    https://github.com/ruby/json/commit/a88d825a91

commit f4529ecbe7adf6cc24bf8f8aa92becbc005e897a
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-26 19:47:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-27 11:37:27 +0900

    [ruby/json] Deprecate all `*_default_options`

    Globally changing the behavior of the library is a bad idea, as
    many different libraries may rely on `json` and may not expect it
    and likely never tested that a different default config works for them.

    If you need to change the behavior of JSON, it's best to do it only
    locally, and not globally.

    In addition the new `JSON::Coder` interface is much more suited for
    that.

    Another reason for the deprecation is that it's impossible to
    make `JSON.load` and `JSON.dump` Ractor-safe with such API.

    https://github.com/ruby/json/commit/172762c6e4

commit 46ee73f4f6a6fceba4ed6dfe6622c78462a2b1ac
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-03-25 06:44:51 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2025-03-27 08:05:02 +0900

    Add additional Ractor.make_shareable tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12977

commit d80f3a287c5c8d0404b6cb837db360cab320cde1
  Author:     lukeg <luke.gru@gmail.com>
  AuthorDate: 2023-01-25 21:45:19 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2025-03-27 08:05:02 +0900

    Ractor.make_shareable(proc_obj) makes inner structure shareable

    Proc objects are now traversed like other objects when making them
    shareable.

    Fixes [Bug #19372]
    Fixes [Bug #19374]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12977

commit 2183899fd184ab1cfee80d57c0dd6f4dcd370375
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-25 22:37:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-26 22:35:51 +0900

    Re-use objspace variable instead of calling rb_gc_get_objspace()

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12979

commit 88f0c04174fe9aed88cfa6f8163c8a54e86b2117
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-26 18:24:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-26 19:37:22 +0900

    Use release version of turbo_tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12983

commit 310c00a1371ccbf584b7aaa4c1768a68c3813f58
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-03-26 06:34:41 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2025-03-26 11:14:26 +0900

    Reset thread interrupt lock on fork

    If a thread was holding this lock before fork, it will not exist in the
    child process. We should re-initialize these locks as we do with the VM
    locks when forking.

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12981

commit be6954f5d466f4b274505e4f14bcad291d0b0989
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-03-26 04:06:39 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2025-03-26 11:14:26 +0900

    Fail test if child process exists non-zero

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12981

commit 8f952a117870d2a3284a33988aa23e7af3a3a2d3
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-03-26 04:05:01 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2025-03-26 11:14:26 +0900

    Clear VM_CHECK lock info on fork

    We are resetting the actual lock so we should reset this information at
    the same time. Previously this caused an assertion to fail in debug
    mode.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12981

commit c576e83a241ef54b8da51e481676b286d905c120
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-03-26 07:16:31 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-26 07:16:31 +0900

    Prefer FL_TEST_RAW() in GC on known on-heap objects

    Was reading some assembly and noticed the dead branches generated for
    FL_TEST(). Just a quick basic pass to change the obvious places; there
    may be other opportunities.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12980

    Merged-By: XrXr

commit bfc5b8305d6a78b8cd011e89538dd7961d88dcff
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2025-03-26 06:20:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-26 06:27:16 +0900

    [ruby/etc] Etc.sysconfdir does not work in a Ractor

    * Because it uses RbConfig::CONFIG.
    * See https://github.com/ruby/ruby/actions/runs/14069312270/job/39399502142#step:12:947

    https://github.com/ruby/etc/commit/12dbe03b6a

commit 6bb35a1de4f6c769171a57dc5d832b5f2217d0c6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-24 00:45:45 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-26 05:19:32 +0900

    Make ruby_autocompact_compare_func static

    It's not used outside of default.c.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12964

commit e4c7eb1152968fd9054d074cd5656c6bb896bab4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-24 00:45:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-26 05:19:32 +0900

    Make ruby_enable_autocompact static

    It's not used outside of defaut.c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12964

commit b9e9a1034a9530c8e3db83239224fb70e464e509
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2025-02-20 01:46:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-26 05:17:01 +0900

    [ruby/etc] Most Etc methods are not Ractor-safe currently

    * See https://bugs.ruby-lang.org/issues/21115

    https://github.com/ruby/etc/commit/ae62b7619c

commit 0b186ed4133c0825047d97341788f77c1dc4df11
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-03-26 04:26:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-26 04:26:51 +0900

    [DOC] Doc for Hash#transform_keys! (#12942)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit eb3f73ae9c777f233af950c4779a0fb553a2c565
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-24 23:55:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-25 21:49:31 +0900

    [DOC] Use install-modular-gc in gc/README.md

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12976

commit 1427629a5ff6e74518d25447ad19ce45c8338032
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-20 04:39:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-25 10:36:33 +0900

    [rubygems/rubygems] Remove specs with bad sources when converging dependencies

    https://github.com/rubygems/rubygems/commit/a0f7851451

commit fd43aca13b004b978103a836a7caad2a6fa6bba0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-20 23:37:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-25 10:36:33 +0900

    [rubygems/rubygems] Tweak to check specs size just once

    https://github.com/rubygems/rubygems/commit/4497555023

commit 2eb5690ab6f8ca273e1bcb3dc064ff9a946cb0d0
  Author:     Randy Stauner <randy.stauner@shopify.com>
  AuthorDate: 2025-03-13 06:14:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-25 10:36:32 +0900

    [rubygems/rubygems] Add test for fixing mismatched versions in lockfile

    This test confirms that a bug that existed in 2.6.3
    was fixed by https://github.com/rubygems/rubygems/commit/b8e55087f026

    https://github.com/rubygems/rubygems/commit/9e4ca5c5b2

commit 319fcca656447ad969ff61868eea4356358c53db
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-24 02:48:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-24 21:49:30 +0900

    Move rb_gc_impl_ractor_cache_free to shutdown section

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12965

commit a572ec1ba0830ce812e8359aec20835bcbb209be
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-24 02:47:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-24 21:49:30 +0900

    Move rb_gc_impl_objspace_free to shutdown section

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12965

commit 56b89d31c722f31164174ea5eb3aa5ec12754d73
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-03-24 20:45:24 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-24 20:45:24 +0900

    Launchable: Fix CI scripts by adding backslashes (#12974)

    The following command doesn't work correctly since a backslash doesn't exist after `exec`. This PR fixes it.

    ```
    if [ -n "${LAUNCHABLE_ORGANIZATION}" ]; then
      exec
      > >(tee launchable_stdout.log) \
      2> >(tee launchable_stderr.log)
    fi
    ```

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 42daa6c2a2b49b4e45f40736e25c7d182860f24a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-24 15:49:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-24 15:49:41 +0900

    [Bug #21141] [DOC] Fix indentation

commit 51bc992822f9108ad64de32d300e1cefd0e2da59
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-24 15:43:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-24 15:43:40 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12972

commit c5f30e9567af587f91676cb49eacf3fe70146811
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-24 15:24:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 15:24:47 +0900

    Update ext/json/generator/depend

commit 6b15857e2563cec0b38e6bce7646c1a9abaf4ba3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-24 15:20:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 15:20:59 +0900

    Removed trailing space

commit f3f4524d19476447df390ce9960778eac973b79b
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-20 19:05:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 14:49:44 +0900

    Reorganize `fpconv` vendoring

    Make it a single file and declare the dependency.

commit c98e6a9b8959f4a564eb71024d0f91e1f2f84352
  Author:     eno <eno@open-lab.org>
  AuthorDate: 2025-03-20 18:05:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 14:35:05 +0900

    [ruby/json] Extends license description

    https://github.com/ruby/json/commit/cce3d1f6c1

commit 528c08cc5fe8f8c990442885c0a30c95d8798e55
  Author:     eno <eno@open-lab.org>
  AuthorDate: 2025-03-20 06:48:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 14:35:04 +0900

    [ruby/json] Adjust fpconv to add ".0" to integers

    Adds a test case

    fix

    https://github.com/ruby/json/commit/fa5bdf87cb

commit a59333c58bbe0df0baaada6d3cc4a64b0aaf911e
  Author:     eno <eno@open-lab.org>
  AuthorDate: 2025-03-17 04:28:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 14:35:04 +0900

    [ruby/json] Faster float formatting

    This commit provides an alternative implementation for a float → decimal conversion.

    It integrates a C implementation of Fabian Loitsch's Grisu-algorithm [[pdf]](http://florian.loitsch.com/publications/dtoa-pldi2010.pdf), extracted from https://github.com/night-shift/fpconv. The relevant files are added in this PR, they are, as is all of https://github.com/night-shift/fpconv, available under a MIT License.

    As a result, I see a speedup of 900% on Apple Silicon M1 for a float set of benchmarks.

    floats don't have a single correct  string representation: a float like `1000.0` can be represented as "1000", "1e3", "1000.0" (and more).

    The Grisu algorithm converts floating point numbers to an optimal decimal string representation without loss of precision. As a result, a float that is exactly an integer (like `Float(10)`) will be converted by that algorithm into `"10"`. While technically correct – the JSON format treats floats and integers identically –, this differs from the current behaviour of the `"json"` gem. To address this, the integration checks for that case, and explicitely adds a ".0" suffix in those cases.

    This is sufficient to meet all existing tests; there is, however, a chance that the current implementation and this implementation occasionally encode floats differently.

    ```
    == Encoding floats (4179311 bytes)
    ruby 3.4.1 (2024-12-25 revision https://github.com/ruby/json/commit/48d4efcb85) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
            json (local)     4.000 i/100ms
    Calculating -------------------------------------
            json (local)     46.046 (± 2.2%) i/s   (21.72 ms/i) -    232.000 in   5.039611s

    Normalize to 2090234 byte
    == Encoding floats (4179242 bytes)
    ruby 3.4.1 (2024-12-25 revision https://github.com/ruby/json/commit/48d4efcb85) +YJIT +PRISM [arm64-darwin24]
    Warming up --------------------------------------
           json (2.10.2)     1.000 i/100ms
    Calculating -------------------------------------
           json (2.10.2)      4.614 (± 0.0%) i/s  (216.74 ms/i) -     24.000 in   5.201871s
    ```

    These benchmarks are run via a script ([link](https://gist.github.com/radiospiel/04019402726a28b31616df3d0c17bd1c)) which is based on the gem's `benchmark/encoder.rb` file. There are probably better ways to run benchmarks :) My version allows to combine multiple test cases into a single one.

    The `dumps` benchmark, which covers the JSON files in `benchmark/data/*.json` – with the exception of `canada.json` – , reported a minor speedup within statistical uncertainty.

    https://github.com/ruby/json/commit/7d77415108

commit ef7c7f9e77777477b8f6cdd72f92f9650afafdb4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-24 10:46:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    Revert "Fix broken CI. (#12963)"

    This reverts commit eb91c664dc0b4d69db09ae913f2d7a5ef3490d74.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 55930987e10b84a39562cdbd483f9d85074d26fe
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-13 03:19:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Raise an error in frozen mode if CHECKSUMS entries are missing

    https://github.com/rubygems/rubygems/commit/054a0cd76c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 60d00da083a8006fbd6e903d7c844ac632b59ec7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-17 23:27:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Fix redundant `path` configurations

    The deployment setting already does this implicitly.

    https://github.com/rubygems/rubygems/commit/402b11fa39

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 131559f6715cc2c0f7d681a6fd71a979e91500dd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-15 02:34:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Rename block variable

    It's a dependency, not a specification.

    https://github.com/rubygems/rubygems/commit/9d78f5aa14

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 9c1be12f99af34924c90f6848903480246f07365
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-13 03:02:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Add `Specification#lock_name` and use that when dealing with checksums

    https://github.com/rubygems/rubygems/commit/8e2c5748d9

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 5bff692346bda9f282acbe4236dc7ddabc0b90be
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-17 21:04:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Refactor replacing locked specification path sources

    Instead of doing an explicit pass, let sources be replaced while checking
    if specifications are up to date.

    https://github.com/rubygems/rubygems/commit/676271e804

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 28943c2820b8f620b98a951c0ae1f821b0880a8e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-17 21:03:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Refactor replacement of locked path sources

    Instead of doing an explicit pass to preserve the source from the
    Gemfile when it's a `Source::Gemspec`, add a special case to our generic
    source replacement method.

    https://github.com/rubygems/rubygems/commit/20c8c42380

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 164952cef3929035ff0d83b2432942b15118493d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-17 20:51:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Remove unnecessary replacement of locked dependencies sources

    The `converge_dependencies` method already replaces the source of the
    dependency with an equivalent source from the Gemfile if possible.

    https://github.com/rubygems/rubygems/commit/a449e7ba19

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 20f57c5dc1a4b4169e749d86e4f1fa1022951c9a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-15 04:20:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Refactor Path vs Gemspec source comparison

    https://github.com/rubygems/rubygems/commit/58e9bd9962

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 765da72839ba6b228656148389f84e4c89e1b629
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-14 03:09:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Refactor replacing sources

    https://github.com/rubygems/rubygems/commit/4c05ac8306

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 192e57db31911af68e0033c59b0c58139ef237d6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-14 03:00:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Remove `spec.source` duplication

    https://github.com/rubygems/rubygems/commit/24523a839e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 000f01977204ba677a4208a6682d12d2f1375e5d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-14 02:57:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Simplify passing "gemspec" option to path sources

    https://github.com/rubygems/rubygems/commit/9c6b57c01d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit c55cc01b1e2feb707c90ad8e9d62a2c5572d79ed
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-14 02:16:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Remove unused default value

    https://github.com/rubygems/rubygems/commit/e9f4d1e5c2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 58663e8e2c1d787ef308029b2138e9b66c616714
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-11 01:09:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Change behavior when gemfile and gemspec dep deps conflict

    https://github.com/rubygems/rubygems/commit/7026b5f2e5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 504b4bd9f5b3dda38f3b747e549b281719996078
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-11 01:08:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Use `name` argument consistently

    https://github.com/rubygems/rubygems/commit/4e66fe4208

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 3b78b888423f85e206f70909adaed9ecb5dfe900
  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:25:07 +0900

    [rubygems/rubygems] Support git 2.49

    One error message that we parse is now slightly different.

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 6982b80a8bf236271de246adab1d9fca07cbb39c
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2025-03-14 06:08:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Default to a SOURCE_DATE_EPOCH of 315619200, to simplify reproducible builds.

    https://github.com/rubygems/rubygems/commit/1d5a627398

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 4fe882e2c925c067693fbd432228d92548481ec4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-18 04:10:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Let `gem exec` raise an error in ambiguous cases

    When `gem exec foo` is run, and "foo" is a gem that has multiple
    executables, none of them named "foo", raise an error explaining the
    situation and telling user to be more specific.

    Currently the first command in the executables array is run, but this
    may come as surprising sometimes, so better raise an error.

    https://github.com/rubygems/rubygems/commit/acda5d8f6e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit ee7cfb1d1ec25f38c14e5d3cec72ed87937ef1c4
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2025-03-18 06:22:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Update vendored pub_grub

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit afda30774c8165428ca886945889c8747c66e599
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-13 03:26:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Reword log message about current platform being missing

    It reads better this way I think.

    https://github.com/rubygems/rubygems/commit/ce9743290d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 4e1df25b158f35d0aef09ce6e6fd278392cc8230
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-13 02:38:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Improve grammar of some error messages

    https://github.com/rubygems/rubygems/commit/558a4765c7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit bb1b5877a7b2dba79c81275f32b7cc5485323540
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-13 02:16:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Consistently use "lockfile" over "lock file"

    https://github.com/rubygems/rubygems/commit/e891be9197

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 33201adf686044163951de3068ca915fd6cea6cd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-13 02:15:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-24 13:25:07 +0900

    [rubygems/rubygems] Fix frozen error message incorrectly mentioning the Gemfile

    It meant to mention the lockfile here.

    https://github.com/rubygems/rubygems/commit/2f0233a0fb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12968

commit 4b1fea81f93af5a0c8df6a1de6026fe480b5f534
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-24 02:47:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-24 07:16:45 +0900

    [ruby/prism] Update Ruby deps

    https://github.com/ruby/prism/commit/594e2a69ed

commit 12b2b577b7737ed4e81ca89b851fb429194c95fc
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-03-24 00:09:08 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-24 00:09:08 +0900

    [DOC] Doc for Hash#transform_values!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12944

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 383af53a56f7e4a490b891701f96f91ef31e0bef
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-03-17 06:07:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-24 00:07:31 +0900

    [DOC] Doc for Hash#transform_values

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12943

commit 7e0dac4cb18be87600068c346cd5339d1d880f01
  Author:     Mohamed Hafez <mohamed.m.m.hafez@gmail.com>
  AuthorDate: 2025-03-23 19:45:23 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-23 19:45:23 +0900

    Add test for Ractor safety (#11762)

  Notes:
    Merged-By: eregon <eregontp@gmail.com>

commit 5f77f9bea61fb4cc8447a76e191fdfb28f076862
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-03-23 09:42:04 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-23 09:42:04 +0900

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

    [Bug #21195]

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit eb91c664dc0b4d69db09ae913f2d7a5ef3490d74
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-03-23 08:49:18 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-23 08:49:18 +0900

    Fix broken CI. (#12963)

    * Increase timeout to fix flaky tests?

    * Fix bundler test - wording changed.

    expect "fatal: Remote branch deadbeef not found in upstream origin" to
    include "Revision deadbeef does not exist in the repository"

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit c49051eaa82e68b1a8792ad79f8cf2cf73f5ee90
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-20 23:52:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-23 02:08:42 +0900

    [ruby/prism] Enforce a minimum `parser` version for the parser translator

    There hasn't been much that would actually affect parsers usage of it.
    But, when adding new node types, these usually appear in the `Parser::Meta::NODE_TYPES`.

    `itblock` was added, gets emitted by prism, and then `rubocop-ast` blindly delegates to `on_itblock`.
    These methods are dynamically created through `NODE_TYPES`, which means that it will error if it
    doesn't contain `itblock`.

    This is unfortunate because in `rubocop-ast` these methods are eagerly defined but
    the prism translator is lazily loaded on demand.
    The simplest solution is to add them on the `parser` side (even if they are not emitted directly), and require that a version that contains those be used.

    In summary when adding a new node type:
    * Add it to `Parser::Meta::PRISM_TRANSLATION_PARSER_NODE_TYPES` (gets included in `NODE_TYPES`)
    * Bump the minimum `parser` version used by `prism` to a version that contains the above change
    * Actually emit that node type in `prism`

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

commit 13e6f715ef766eb04ba6862d1d716eb03fea6396
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2025-03-22 18:50:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-23 02:06:46 +0900

    [ruby/prism] Include nodeId in Java Node only if necessary

    * See https://github.com/ruby/prism/issues/3502

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

commit 595040ba271175e18c8461a926c34903742788de
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-03-22 01:19:42 +0900
  Commit:     Aaron Patterson <tenderlove@ruby-lang.org>
  CommitDate: 2025-03-22 04:25:02 +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 93ac342afc5e42c0361c8fccf378ca14b2e8b0dd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-21 23:12:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-21 23:18:57 +0900

    [ruby/prism] Add node_id to Java serialization

    https://github.com/ruby/prism/commit/93e768bd18

commit 9b5165b1d7b197befa01327f5aef2ecebed2914e
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-21 17:00:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-21 20:18:33 +0900

    [ruby/prism] Don't use `RUBY_VERSION.to_f`

    There will be a bunch of other problems should 3.10 ever exists, but I guess why not fix this one now.

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

commit d868922ea8e68dc2292e351c8266ef3c3058bf1e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-21 15:17:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-21 15:17:15 +0900

    Fix regexp when non-ruby thread received the signal

    A space is added only when the source path is found.

commit edabdd95a84a31c61bab651584d58fe7f695552a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-21 11:05:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-21 11:05:57 +0900

    Run cleanup code in `ensure`

commit 99503ab9751c09a2f5467dee4ceb0e30af4e95bd
  Author:     Joshua Young <djry1999@gmail.com>
  AuthorDate: 2025-03-20 17:44:10 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-21 10:36:13 +0900

    Escape `Binding` reference in pattern matching docs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12955

commit 80ab42462e94025f69db38c9359c65d108ebb51b
  Author:     flavio-b <flaviobombonatti@gmail.com>
  AuthorDate: 2025-03-21 10:24:02 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-21 10:30:40 +0900

    [DOC] beginless and endless ranges inspect returns "nil..nil" always

    Small correction to the Range docs. All beginless (nil..) and endless (..nil) ranges, as well as fully open ranges (nil..nil), display "nil..nil" when inspected, regardless of their original syntax.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12959

commit 65bc0ec62dee1e3210f5ce4e824f818beb718bcd
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2025-03-21 05:19:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-21 06:24:19 +0900

    [ruby/prism] Fix fork check in ractor_test.rb

    https://github.com/ruby/prism/commit/0073266cad

commit e47078fb306bc6ec07b01df8d0c811c43ff6e0ae
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-21 01:38:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-21 06:23:36 +0900

    [ruby/prism] Update ractor_test.rb per review

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12958

commit ab8b199be82c3191723067867c4f078dee94df89
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-21 06:00:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-21 06:20:23 +0900

    [ruby/prism] Add `Prism::Translation::ParserCurrent`

    It's not my favorite api but for users that currently use the same thing
    from `parser`, moving over is more difficult
    than it needs to be.

    If you plan to support both old and new ruby versions, you definitly need to
    branch somewhere on the ruby version
    to either choose prism or parser.
    But with prism you then need to enumerate all the versions again and choose the correct one.

    Also, don't recommend to use `Prism::Translation::Parser` in docs. It's version-less
    but actually always just uses Ruby 3.4 which is probably
    not what the user intended.

    Note: parser also warns when the patch version doesn't match what it expects. But I don't think prism has such a concept,
    and anyways it would require releases anytime ruby releases, which I don't think is very desirable

    https://github.com/ruby/prism/commit/77177f9e92

commit bfe6068417ca41a6b88a1ba5fcde04f9a76718a7
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-03-19 07:02:44 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2025-03-21 05:09:40 +0900

    Use atomic for method reference count [Bug #20934]

    This changes reference_count on rb_method_definition_struct into an
    atomic.

    Ractors can create additional references as part of `bind_call` or
    (presumably) similar. Because this can be done inside Ractors, we should
    use a lock or atomics so that we don't race and avoid incrementing.

    Co-authored-by: wanabe <s.wanabe@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12951

commit 62cc3464d902ee7a399ec8c38606fdc0ee98f05e
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-03-21 01:48:34 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2025-03-21 03:49:13 +0900

    Remove leading `nop` from block when we don't need it

    Blocks insert a leading `nop` instruction in order to execute a "block
    call" tracepoint. Block compilation unconditionally inserts a leading
    `nop` plus a label after the instruction:

      https://github.com/ruby/ruby/blob/641f15b1c6bd8921407a1f045573d3b0605f00d3/prism_compile.c#L6867-L6869

    This `nop` instruction is used entirely for firing the block entry
    tracepoint.  The label exists so that the block can contain a loop but
    the block entry tracepoint is executed only once.

    For example, the following code is an infinite loop, but should only
    execute the b_call tracepoint once:

    ```ruby
    -> { redo }.call
    ```

    Previous to this commit, we would eliminate the `nop` instruction, but
    only if there were no other jump instructions inside the block.  This
    means that the following code would still contain a leading `nop` even
    though the label following the `nop` is unused:

    ```ruby
    -> { nil if bar }
    ```

    ```
    == disasm: #<ISeq:block in <main>@test.rb:1 (1,2)-(1,17)> (catch: FALSE)
    0000 nop                                                              (   1)[Bc]
    0001 putself                                [Li]
    0002 opt_send_without_block                 <calldata!mid:bar, argc:0, FCALL|VCALL|ARGS_SIMPLE>
    0004 branchunless                           8
    0006 putnil
    0007 leave                                  [Br]
    0008 putnil
    0009 leave                                  [Br]
    ```

    This commit checks to see if the label inserted after the `nop` is
    actually a jump target.  If it's not a jump target, then we should be
    safe to eliminate the leading `nop`:

    ```
    > build-master/miniruby --dump=insns test.rb
    == disasm: #<ISeq:<main>@test.rb:1 (1,0)-(1,17)>
    0000 putspecialobject                       1                         (   1)[Li]
    0002 send                                   <calldata!mid:lambda, argc:0, FCALL>, block in <main>
    0005 leave

    == disasm: #<ISeq:block in <main>@test.rb:1 (1,2)-(1,17)>
    0000 putself                                                          (   1)[LiBc]
    0001 opt_send_without_block                 <calldata!mid:bar, argc:0, FCALL|VCALL|ARGS_SIMPLE>
    0003 branchunless                           7
    0005 putnil
    0006 leave                                  [Br]
    0007 putnil
    0008 leave                                  [Br]
    ```

    We have a test for b_call tracepoints that use `redo` here:

      https://github.com/ruby/ruby/blob/aebf96f371c8d874398e0041b798892e545fa206/test/ruby/test_settracefunc.rb#L1728-L1736

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12957

commit f07af59a2f10beeb99878c967cefed2912310030
  Author:     Sam Bostock <sam.bostock@shopify.com>
  AuthorDate: 2025-03-12 00:11:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-21 02:28:59 +0900

    [ruby/prism] Dynamically register events to dispatch

    Instead of requiring the consumer to provide a list of all events which
    they wish to handle, we can give them to option of dynamically detecting
    them, by scanning the listener's public methods.

    This approach is similar to that used by Minitest (scanning for `test_`
    methods) and Rails generators (running all public methods in the order
    they are defined).

    While this is slower than specifying a hard coded list, the penalty is
    only during registration. There is no change the the behaviour of
    dispatching the events.

    https://github.com/ruby/prism/commit/781ebed743

commit de097fbe5f3df105bd2a26e72db06b0f5139bc1a
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-21 01:25:15 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-21 02:18:11 +0900

    Trigger `inherited` and `const_set` callbacks after const has been defined

    [Misc #21143]
    [Bug #21193]

    The previous change caused a backward compatibility issue with code
    that called `Object.const_source_location` from the `inherited` callback.

    To fix this, the order is now:

    - Define the constant
    - Invoke `inherited`
    - Invoke `const_set`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12956

commit a51364f54b644ba2d98779f0af8c7203822d9a31
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-20 20:59:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-20 20:59:42 +0900

    Close reader pipes

commit 820c541671d9485144d81138bb029f2da8379edd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-13 15:17:26 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-20 17:32:26 +0900

    [Bug #21026] no singleton method on pseudo variable literal

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12925

commit 641f15b1c6bd8921407a1f045573d3b0605f00d3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-20 05:50:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-20 06:11:57 +0900

    [ruby/prism] Mark Prism as ractor-safe

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

commit 050ffab82b1a855d6b6edf5fbc6dc8c9311b6556
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-20 03:54:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-20 06:03:18 +0900

    [ruby/prism] Polyfill Kernel#warn category parameter

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

commit b5e9a2da4c668fe73f9fcca2b237def56c507464
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-20 00:41:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-20 06:03:17 +0900

    [ruby/prism] Remove `category` keyword from `warn` call

    `category` is only supported from Ruby 3.0 onwards and prism can still run with Ruyb 2.7

    https://github.com/ruby/prism/commit/335a193851

commit e5e160475bbd94ab90525132f7987cf29e9afc11
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-20 00:40:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-20 06:03:17 +0900

    [ruby/prism] Warn when the parser translator receives an incompatible builder class

    In https://github.com/ruby/prism/pull/3494 I added a bit of code
    so that using the new builder doesn't break stuff.
    This code can be dropped when it is enforced that builder
    is _always_ the correct subclass (and makes future issues like that unlikely).

    https://github.com/ruby/prism/commit/193d4b806d

commit 265dcd1733ede8f3e4cb13322392d6c42b75700f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-19 16:57:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-19 17:00:01 +0900

    [ruby/optparse] bump up to 0.7.0.dev.2

    https://github.com/ruby/optparse/commit/8c2c7a4903

commit 6c7f721f1eaaba75c624b5a84d2c7ace30a96b2f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-19 15:08:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-19 15:08:20 +0900

    Source path may or may not exist

commit 3eb802fb562cbb29ec1ede64f6df70719fc8f144
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-03-19 14:57:15 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-03-19 14:57:15 +0900

    Loosen SEGV message testing

    Since `rb_bug` does not always take Ruby frame info during SEGV, the
    source file path may not be output.

    ```
      1) Failure:
    TestRubyOptions#test_crash_report_script [/tmp/ruby/src/trunk_gcc11/test/ruby/test_rubyoptions.rb:907]:
    Expected /
            bug\.rb:(?:1:)?\s\[BUG\]\sSegmentation\sfault.*\n
          /x
    to match
      "[BUG] Segmentation fault at 0x000003e900328766\n"+
    ```
    http://ci.rvm.jp/results/trunk_gcc11@ruby-sp2-noble-docker/5663880

commit 6e9568d202389dc5f820b024315cf8db0a5aae65
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-19 02:58:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-19 04:06:34 +0900

    [ruby/prism] Bump to v1.4.0

    https://github.com/ruby/prism/commit/71d31db496

commit adaaa7878ebee62888bf3547d14c1db4938da88a
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-19 02:40:49 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 03:44:28 +0900

    Handle void expressions in defined?

    [Bug #21029]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12949

commit b003d4019421e004460a8c947db2695d71ad0b8c
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-19 02:02:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    Fix up merge conflicts for prism sync

commit 33aaa069a4e7b405e6d7ec5fcbf04a487e36e345
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-18 23:51:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Update truffleruby version

    https://github.com/ruby/prism/commit/2afe89f8ce

commit 90d38ddb47f557b07b57c88139725267c7c313f8
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-02-26 01:06:16 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Fix merge mishap

    Caused by https://github.com/ruby/prism/pull/3478 and https://github.com/ruby/prism/pull/3443

    I also made the builder reference more explicit to clearly distinquish
    between `::Parser` and `Prism::Translation::Parser`

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

commit dc48c1aca347f43ef9cb122342c80d699c5860fa
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-14 02:59:45 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Add a multiple statements flag to parentheses

    This can get triggered even if the list of statements only contains
    a single statement. This is necessary to properly support compiling

    ```ruby
    defined? (;a)
    defined? (a;)
    ```

    as "expression". Previously these were parsed as statements lists
    with single statements in them.

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

commit e3c846463092da8a7533740f9960fd626c749305
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-21 00:01:19 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Only unnest parser mlhs nodes when no rest argument is provided

    ```
    (a,), = []

    PARSER====================
    s(:masgn,
      s(:mlhs,
        s(:mlhs,
          s(:lvasgn, :a))),
      s(:array))
    PRISM====================
    s(:masgn,
      s(:mlhs,
        s(:lvasgn, :a)),
      s(:array))
    ```

    https://github.com/ruby/prism/commit/8aa1f4690e

commit 94e12ffa39e46f5b1f80485e9b2e06a59cd69dac
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-19 23:54:07 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Fix parser translator multiline interpolated symbols

    In https://github.com/ruby/prism/commit/26370079291a420c6b2b7be5cdbd5c609da62f21 I added tests but didn't modify them correctly

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

commit a8adf5e006da03b8ccaa2bf900f4f077ca9888cf
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-16 07:24:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Further refine string handling in the parser translator

    Mostly around newlines and line continuation.
    * percent arrays need special backslash handling in the ast
    * Fix offset issue for heredocs with many line continuations (used wrong variable as index access)
    * More refined rules on when to simplify string tokens
    * Handle line continuations in squiggly heredocs
    * Correctly dedent squiggly heredocs with interpolation
    * Consider `':foo:` and `%s[foo]` to not be interpolation

    https://github.com/ruby/prism/commit/4edfe9d981

commit fc14d3ac7d4fa14f568d2428b846f391ebdf0d62
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-17 16:53:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Allow to test a custom fixtures path during testing

    Of course, these won't really be fixtures, but it allows to test against whole codebases
    without copying them, doing symlinks or something like that.

    For example, I can tell that over the whole RuboCop codebase, there are only 8 files that produce mismatched ast.
    Telling what the problem is is a different problem. The ast for real files can and will be huge so I haven't checked yet
    (maybe parser bug) but it's nice for discoverability regardless

    https://github.com/ruby/prism/commit/2184d82ba6

commit 0b4604d5a0f999d7fdd33a9230587a775301a667
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-13 22:54:15 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Use Set.new over to_set

    https://github.com/ruby/prism/commit/422d5c4c64

commit ad478de3f0bbf3cf5a1e5e5f5cf01689717db4df
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-11 17:05:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Optimize array inclusion checks in the parser translator

    I see `Array.include?` as 2.4% runtime. Probably because of `LPAREN_CONVERSION_TOKEN_TYPES` but
    the others will be faster as well.

    Also remove some inline array checks. They are specifically optimized in Ruby since 3.4, but for now prism is for >= 2.7

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

commit d5503444fd6e680a85e9d0cf639dc9a27704ccc1
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-19 21:38:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Fix parser translator crash for certain octal escapes

    `Integer#chr` performs some validation that we don't want/need. Octal escapes can go above 255, where it will then raise trying to convert.

    `append_as_bytes` actually allows to pass a number, so we can just skip that call.
    Although, on older rubies of course we still need to handle this in the polyfill.
    I don't really like using `pack` but don't know of another way to do so.

    For the utf-8 escapes, this is not an issue. Invalid utf-8 in these is simply a syntax error.

    https://github.com/ruby/prism/commit/161c606b1f

commit 1944247a0e44521948076ac43e76df84b32a9204
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-17 04:16:30 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Handle control and meta escapes in parser translation

    https://github.com/ruby/prism/commit/09c59a3aa5

commit fd7a10cf4a73f27a0113a6bc2a65c4c274ee11ec
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-16 07:24:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Further refine string handling in the parser translator

    Mostly around newlines and line continuation.
    * percent arrays need special backslash handling in the ast
    * Fix offset issue for heredocs with many line continuations (used wrong variable as index access)
    * More refined rules on when to simplify string tokens
    * Handle line continuations in squiggly heredocs
    * Correctly dedent squiggly heredocs with interpolation
    * Consider `':foo:` and `%s[foo]` to not be interpolation

    https://github.com/ruby/prism/commit/4edfe9d981

commit 5d138f2b436dc84b1efed86ac3328e67638887cb
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-15 04:20:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Better handle regexp in the parser translator

    Turns out, it was already almost correct. If you disregard \c and \M style escapes, only a single character is allowed to be escaped in a regex so most tests passed already.

    There was also a mistake where the wrong value was constructed for the ast, this is now fixed.
    One test fails because of this, but I'm fairly sure it is because of a parser bug. For `/\“/`, the backslash is supposed to be removed because it is a multibyte character. But tbh,
    I don't entirely understand all the rules.

    Fixes more than half of the remaining ast differences for rubocop tests

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

commit 177adf6fa543663334bfb8918b356b4771e5ff1a
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-14 05:17:29 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Fix parser translator tokens for %-arrays with whitespace escapes

    Also fixes a token incompatibility for the word separator. parser only considers whitespace until the first newline

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

commit ac728389e219480dd678a01e6f91f96098d3b6d6
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-20 23:49:06 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Fix parser translator edge-case when multiline string ends with \n

    When the line contains no real newline but contains unescaped ones, then there will be one less entry

    https://github.com/ruby/prism/commit/4ef093b600

commit 0fcb7fc21d1923a61ffe4d127e6e72cc55560972
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-09 05:17:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Better handle all kinds of multiline strings in the parser translator

    This is a followup to #3373, where the implementation
    was extracted

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

commit acf404e20e3d7bc18cbb8abd2b16c62f9c1f996f
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-12-22 06:00:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Fix an incompatibility with the parser translator

    The offset cache contains an entry for each byte so it can't be accessed via the string length.

    Adds tests for all variants except for this:
    ```
    "fo
    o" "ba
    ’"
    ```

    For some reason, this still has the wrong offset.

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

commit f49a0114e36cbff434a442561b9637760665897b
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-21 02:38:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Fix parser translator rescue location with semicolon body

    There are a few other locations that should be included in that check.
    I think the end location must always be present but I left it in to be safe (maybe implicit begin somehow?)

    https://github.com/ruby/prism/commit/545d07ddc3

commit 12541d2cc0c550197d3b5b848315886149930519
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-16 11:30:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Track then keyword on rescue nodes

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

commit a679597547b23259159dd914959ca36409878199
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-19 21:38:17 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Fix parser translator crash for certain octal escapes

    `Integer#chr` performs some validation that we don't want/need. Octal escapes can go above 255, where it will then raise trying to convert.

    `append_as_bytes` actually allows to pass a number, so we can just skip that call.
    Although, on older rubies of course we still need to handle this in the polyfill.
    I don't really like using `pack` but don't know of another way to do so.

    For the utf-8 escapes, this is not an issue. Invalid utf-8 in these is simply a syntax error.

    https://github.com/ruby/prism/commit/161c606b1f

commit bc506295a30a5806b3346ed09cd679f3b8ee6f64
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-16 07:24:05 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Further refine string handling in the parser translator

    Mostly around newlines and line continuation.
    * percent arrays need special backslash handling in the ast
    * Fix offset issue for heredocs with many line continuations (used wrong variable as index access)
    * More refined rules on when to simplify string tokens
    * Handle line continuations in squiggly heredocs
    * Correctly dedent squiggly heredocs with interpolation
    * Consider `':foo:` and `%s[foo]` to not be interpolation

    https://github.com/ruby/prism/commit/4edfe9d981

commit 9e5e3f1bede46ed499a809975c663ba32c34ffff
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-21 18:20:08 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Add a custom builder class for the parser translator

    I want to add new node types to the parser translator, for example `itblock`. The bulk of the work is already done by prism itself. In the `parser`
    builder, this would be a 5-line change at most but we don't control that here.

    Instead, we can add our own builder and either overwrite the few methods we need,
    or just inline the complete builder. I'm not sure yet which would be better.

    `rubocop-ast` uses its own builder for `parser`. For this to correctly work, it must explicitly choose to extend the
    prism builder and use it, same as it currently chooses to use a different parser when prism is used.

    I'd like to enforce that the builder for prism extends its custom one since it will lead to
    some pretty weird issues otherwise. But first, I'd like to change `rubocop-ast` to make use of this.

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

commit fcd6e536933514d222e28274a39ce92e96a575cd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-19 00:52:13 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    Remove incorrectly committed snapshots

commit 705bd6fadbd5a784d2c0fd52138007404de6a5c2
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-13 04:08:28 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-03-19 02:36:53 +0900

    [ruby/prism] Fix parser translator when unescaping invalid utf8

    1. The string starts out as binary
    2. `ち` is appended, forcing it back into utf-8
    3. Some invalid byte sequences are tried to append

    > incompatible character encodings: UTF-8 and BINARY (ASCII-8BIT)

    This makes use of my wish to use `append_as_bytes`. Unfortunatly that method is rather new
    so it needs a fallback

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

commit 9c71b5901c700bb2b18b0083130e65e97e386089
  Author:     YO4 <ysno@ac.auone-net.jp>
  AuthorDate: 2025-01-22 18:30:08 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-19 01:28:59 +0900

    fix rb_w32_strerror when errno < 0

    change SystemCallError.new(-1) message on Windows

    (Bug #21083)
    https://bugs.ruby-lang.org/issues/21083

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12622

commit c717dbdc8198ddaedb6f7562cb74038fa2b30c6f
  Author:     YO4 <ysno@ac.auone-net.jp>
  AuthorDate: 2025-01-25 01:13:41 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-19 01:28:59 +0900

    avoid platform dependent message

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12622

commit f220866c39d12da8fffd9b41db8bf4b8dc80b74e
  Author:     YO4 <ysno@ac.auone-net.jp>
  AuthorDate: 2025-01-24 21:48:12 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-19 01:28:59 +0900

    Explicitly place a regular expression

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12622

commit 0f6c647b1a1e313e3cb4fe79d4b63ffa2b7a6a6e
  Author:     YO4 <ysno@ac.auone-net.jp>
  AuthorDate: 2025-01-23 22:40:02 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-19 01:28:59 +0900

    avoid platform dependent message

    (Bug #21083)
    https://bugs.ruby-lang.org/issues/21083

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12622

commit 3d6fc2916907a351c274449280a82b020208f084
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-19 00:35:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-19 01:00:03 +0900

    [ruby/prism] Make xstrings concat syntax error

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

commit f69ad0e810e1fdc18dc12f77bbecfa49999ef3bf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-29 16:55:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-18 23:47:20 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12947

commit 6670926a91734ddb92d01ce4578b1bb48d26b7de
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2025-02-24 12:09:26 +0900
  Commit:     Mari Imaizumi <mariimaizumi5@gmail.com>
  CommitDate: 2025-03-18 21:18:12 +0900

    Do not break within certain combinations with Indic_Conjunct_Break (InCB)=Linker.

    https://www.unicode.org/reports/tr29/tr29-43.html#GB9c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12798

commit e63c516046b6dbf2f684454b68013b4eea12e94a
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2025-02-24 12:01:14 +0900
  Commit:     Mari Imaizumi <mariimaizumi5@gmail.com>
  CommitDate: 2025-03-18 21:18:12 +0900

    [Feature #19908] Update Unicode headers to 15.1.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12798

commit 4f82a6f3e8d332926f9e3b615201d1b21a482f2f
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2025-02-24 11:43:23 +0900
  Commit:     Mari Imaizumi <mariimaizumi5@gmail.com>
  CommitDate: 2025-03-18 21:18:12 +0900

    Support for Indic_Conjunct_Break in Unicode 15.1

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12798

commit 75844889eb0169fab62da3063c9bcc950be0ae88
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2025-03-09 15:22:16 +0900
  Commit:     Mari Imaizumi <mariimaizumi5@gmail.com>
  CommitDate: 2025-03-18 21:04:02 +0900

    Fix case folding in single byte encoding

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12889

commit c7f31c88aeed45607d2abc6b641ad2ccfd77e240
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-18 17:55:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-18 17:55:46 +0900

    [Feature #20702] Tests for Array#fetch_values

commit 76aaf8ddf4b13411f925085046cee2422bb9902e
  Author:     Susan van den Broek <susan.van.den.broek@axini.com>
  AuthorDate: 2025-03-18 00:36:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-18 16:28:50 +0900

    [ruby/date] Add license files (COPYING, BSDL) to gem files

    https://github.com/ruby/date/commit/a3d85e0be5

commit 9b49ba5a68486e42afd83db49a48edf2bfc00105
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2025-03-13 05:01:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-18 09:42:38 +0900

    [rubygems/rubygems] Speed up Version#<=> ~20-50% when lengths differ

    Previously, the comparison code would loop through segments up to the
    longest of the two versions being compared. However, this is inefficient
    because once one version has more segments than the other we can do a
    lot less work.

    This commit optimizes the differing segment length case by specializing
    the logic once the iteration has passed the shorter of the two segment
    lengths. At this point we only need to continue looking at the longer
    version's segment, and we know that any String encountered means the
    version is less than (pre), and any non-zero Integer means the version
    is greater than.

    Benchmark:

    ```
    {
      first: [Gem::Version.new("1.2.3"), Gem::Version.new("2.2.3")],
      second: [Gem::Version.new("1.2.3"), Gem::Version.new("1.3.3")],
      third: [Gem::Version.new("1.2.3"), Gem::Version.new("1.2.4")],
      length: [Gem::Version.new("1.2.3"), Gem::Version.new("1.2.3.4")],
      left_s_second: [Gem::Version.new("1.a.3"), Gem::Version.new("1.2.3")],
      left_s_third: [Gem::Version.new("1.2.a"), Gem::Version.new("1.2.3")],
      right_s_second: [Gem::Version.new("1.2.3"), Gem::Version.new("1.a.3")],
      right_s_third: [Gem::Version.new("1.2.3"), Gem::Version.new("1.2.a")],
      left_s_length: [Gem::Version.new("8.0.1.pre"), Gem::Version.new("8.0.1")],
      right_s_length: [Gem::Version.new("8.0.1"), Gem::Version.new("8.0.1.pre")],
      both_s: [Gem::Version.new("8.0.2.pre1"), Gem::Version.new("8.0.2.pre2")],
    }.each do |name, v|
      puts "== #{name} =="

      raise name unless v[0].fast_comp(v[1]) == (v[0] <=> v[1])

      Benchmark.ips do |x|
        x.report("fast") { v[0].fast_comp(v[1]) }
        x.report("original") { v[0] <=> v[1] }
        x.compare!(order: :baseline)
      end
    end

    == first ==
    ruby 3.4.2 (2025-02-15 revision https://github.com/rubygems/rubygems/commit/d2930f8e7a) +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    fast   208.555k i/100ms
                original   199.789k i/100ms
    Calculating -------------------------------------
                    fast      2.075M (± 6.0%) i/s  (481.93 ns/i) -     10.428M in   5.055818s
                original      2.045M (± 3.9%) i/s  (488.94 ns/i) -     10.389M in   5.090034s

    Comparison:
                    fast:  2075002.8 i/s
                original:  2045227.4 i/s - same-ish: difference falls within error

    == second ==
    ruby 3.4.2 (2025-02-15 revision https://github.com/rubygems/rubygems/commit/d2930f8e7a) +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    fast   192.395k i/100ms
                original   183.000k i/100ms
    Calculating -------------------------------------
                    fast      1.892M (± 3.8%) i/s  (528.62 ns/i) -      9.620M in   5.094104s
                original      1.824M (± 3.5%) i/s  (548.11 ns/i) -      9.150M in   5.023163s

    Comparison:
                    fast:  1891722.2 i/s
                original:  1824435.3 i/s - same-ish: difference falls within error

    == third ==
    ruby 3.4.2 (2025-02-15 revision https://github.com/rubygems/rubygems/commit/d2930f8e7a) +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    fast   172.788k i/100ms
                original   162.934k i/100ms
    Calculating -------------------------------------
                    fast      1.719M (± 9.0%) i/s  (581.72 ns/i) -      8.467M in   5.025861s
                original      1.638M (± 3.6%) i/s  (610.36 ns/i) -      8.310M in   5.080344s

    Comparison:
                    fast:  1719042.9 i/s
                original:  1638389.6 i/s - same-ish: difference falls within error

    == length ==
    ruby 3.4.2 (2025-02-15 revision https://github.com/rubygems/rubygems/commit/d2930f8e7a) +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    fast   191.741k i/100ms
                original   155.952k i/100ms
    Calculating -------------------------------------
                    fast      1.920M (± 3.9%) i/s  (520.74 ns/i) -      9.587M in   5.002328s
                original      1.576M (± 6.2%) i/s  (634.42 ns/i) -      7.954M in   5.072507s

    Comparison:
                    fast:  1920362.1 i/s
                original:  1576240.9 i/s - 1.22x  slower

    == left_s_second ==
    ruby 3.4.2 (2025-02-15 revision https://github.com/rubygems/rubygems/commit/d2930f8e7a) +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    fast   176.441k i/100ms
                original   164.879k i/100ms
    Calculating -------------------------------------
                    fast      1.609M (± 7.3%) i/s  (621.51 ns/i) -      8.116M in   5.083414s
                original      1.620M (± 8.3%) i/s  (617.43 ns/i) -      8.079M in   5.028525s

    Comparison:
                    fast:  1608994.8 i/s
                original:  1619606.5 i/s - same-ish: difference falls within error

    == left_s_third ==
    ruby 3.4.2 (2025-02-15 revision https://github.com/rubygems/rubygems/commit/d2930f8e7a) +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    fast   160.562k i/100ms
                original   152.799k i/100ms
    Calculating -------------------------------------
                    fast      1.591M (± 3.6%) i/s  (628.40 ns/i) -      8.028M in   5.052029s
                original      1.528M (± 3.6%) i/s  (654.31 ns/i) -      7.640M in   5.007526s

    Comparison:
                    fast:  1591334.1 i/s
                original:  1528320.6 i/s - same-ish: difference falls within error

    == right_s_second ==
    ruby 3.4.2 (2025-02-15 revision https://github.com/rubygems/rubygems/commit/d2930f8e7a) +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    fast   135.938k i/100ms
                original   132.907k i/100ms
    Calculating -------------------------------------
                    fast      1.367M (± 1.2%) i/s  (731.77 ns/i) -      6.933M in   5.074030s
                original      1.320M (± 2.4%) i/s  (757.35 ns/i) -      6.645M in   5.036155s

    Comparison:
                    fast:  1366548.7 i/s
                original:  1320386.4 i/s - same-ish: difference falls within error

    == right_s_third ==
    ruby 3.4.2 (2025-02-15 revision https://github.com/rubygems/rubygems/commit/d2930f8e7a) +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    fast   129.971k i/100ms
                original   123.802k i/100ms
    Calculating -------------------------------------
                    fast      1.273M (± 4.1%) i/s  (785.25 ns/i) -      6.369M in   5.011805s
                original      1.215M (± 1.8%) i/s  (823.04 ns/i) -      6.190M in   5.096330s

    Comparison:
                    fast:  1273487.0 i/s
                original:  1215002.9 i/s - same-ish: difference falls within error

    == left_s_length ==
    ruby 3.4.2 (2025-02-15 revision https://github.com/rubygems/rubygems/commit/d2930f8e7a) +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    fast   211.093k i/100ms
                original   155.784k i/100ms
    Calculating -------------------------------------
                    fast      2.120M (± 1.9%) i/s  (471.63 ns/i) -     10.766M in   5.079336s
                original      1.565M (± 6.7%) i/s  (638.87 ns/i) -      7.789M in   5.007522s

    Comparison:
                    fast:  2120296.1 i/s
                original:  1565258.0 i/s - 1.35x  slower

    == right_s_length ==
    ruby 3.4.2 (2025-02-15 revision https://github.com/rubygems/rubygems/commit/d2930f8e7a) +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    fast   213.977k i/100ms
                original   142.990k i/100ms
    Calculating -------------------------------------
                    fast      2.154M (± 1.3%) i/s  (464.15 ns/i) -     10.913M in   5.066124s
                original      1.446M (± 1.8%) i/s  (691.75 ns/i) -      7.292M in   5.046172s

    Comparison:
                    fast:  2154455.3 i/s
                original:  1445607.9 i/s - 1.49x  slower

    == both_s ==
    ruby 3.4.2 (2025-02-15 revision https://github.com/rubygems/rubygems/commit/d2930f8e7a) +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                    fast   154.903k i/100ms
                original   131.011k i/100ms
    Calculating -------------------------------------
                    fast      1.515M (± 4.0%) i/s  (659.97 ns/i) -      7.590M in   5.019890s
                original      1.280M (± 5.3%) i/s  (781.28 ns/i) -      6.420M in   5.035387s

    Comparison:
                    fast:  1515223.3 i/s
                original:  1279957.8 i/s - 1.18x  slower
    ```

    https://github.com/rubygems/rubygems/commit/7195e77152

commit 2dc501497e4e49c20be87dfbd86337f9e0795ec7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-18 05:12:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-18 05:12:34 +0900

    [DOC] Fix indentation for documentation of Hash#compact

commit 52f6563422edd9b233dbe5f522058be230c63651
  Author:     Hiroaki Osawa <ikusawasi@gmail.com>
  AuthorDate: 2025-03-18 02:19:43 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-18 02:19:43 +0900

    Allow arguments to be passed through Binding#irb (#12796)

    * Allow arguments to be passed through Binding#irb

    Modified Binding#irb to forward any arguments to the underlying irb
    method call.

    * Update prelude.rb

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

    * Update prelude.rb

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

    ---------

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

  Notes:
    Merged-By: tompng <tomoyapenguin@gmail.com>

commit 1acfb29015dbc38fd345d8786aa78aad59f7dcd1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-17 21:37:00 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-17 23:55:11 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12946

commit c85dffeee2f1899e0db3bde6a4fb49bc90c90ec2
  Author:     Eileen M. Uchitelle <eileencodes@users.noreply.github.com>
  AuthorDate: 2025-03-17 23:42:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-17 23:42:48 +0900

    Avoid pinning `storage_head` in `iseq_mark_and_move` (#12880)

    * Avoid pinning `storage_head` in `iseq_mark_and_move`

    This refactor changes the behavior of `iseq_mark_and_move` to avoid
    pinning the `storage_head`. Previously pinning was required because they
    could be gc'd during `iseq_set_sequence` it would be possible to end
    up with a half build array of instructions. However, in order to
    implement a moving immix algorithm we can't pin these objects so this
    rafactoring changes the code to mark and move. To accomplish this, it was
    required to add `iseq_size`, `iseq_encoded`, and the `mark_bits` union
    to the `iseq_compile_data` struct. In addition `iseq_compile_data` sets
    a bool for whether there is a single or list of mark bits. While this
    change is needed for moving immix, it should be better for Ruby's GC
    as well.

    * Don't allocate mark_offset_bits for one word

    If only one word is needed, we don't need to allocate mark_offset_bits
    and can instead directly write to it.

    ---------

    Co-authored-by: Peter Zhu <peter@peterzhu.ca>

  Notes:
    Merged-By: eileencodes <eileencodes@gmail.com>

commit 8d6f153fba8ce48a8e31cb22a9c9222bbb1832f6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-13 13:37:01 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-17 23:42:16 +0900

    Manage skipping instance variable IDs in one place

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12923

commit 4c072c811905610a84107fdae103982d144b3d71
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-13 12:51:04 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-17 23:42:16 +0900

    Fix `assert_warning` for `Proc`

    `Proc` does not have `encoding` method.

    Also, make `assert_raise_with_message` accept a `Proc` as the expected
    pattern, as well.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12923

commit 8f19f0aad5f87d481b5ae4337afdb844bcce1885
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-17 19:13:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-17 19:18:49 +0900

    [ruby/optparse] Fix completion of key-value pairs array

    Enum array may be the list of pairs of key and value.  Check if only
    key is completable, not pair.

    Fix https://github.com/ruby/optparse/pull/93
    Fix https://github.com/ruby/optparse/pull/94

    https://github.com/ruby/optparse/commit/a8d0ba8dac

commit b5cdbadeeddd2b8e834b9d5565c13fcc43f3e684
  Author:     Jérôme Parent-Lévesque <jerome.parent-levesque@potloc.com>
  AuthorDate: 2025-03-16 04:05:50 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-17 16:26:23 +0900

    [Bug #21185] Fix Range#overlap? with infinite range
    Infinite ranges, i.e. unbounded ranges, should overlap with any other range
    which wasn't the case in the following example: (0..3).overlap?(nil..nil)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12937

commit 3e04f7b69fb56eac88b56f491b6a298fcc28b7f9
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-03-17 05:00:08 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-17 05:00:08 +0900

    Only mark `cc->cme_` on valid imemo_callcache

    We observed T_NONE on `cc->cme_` on a --repeat-count=50 run a compaction
    test on CI:
    http://ci.rvm.jp/results/trunk-repeat50@ruby-sp2-noble-docker/5654900

    During reference updating for imemo_callcache in
    rb_imemo_mark_and_move(), if `cc->klass` is not live, but `cc->_cme` is
    live and moved, we go to the vm_cc_invalidate() path which
    leaves `cc->_cme` not updated and stale. In the next marking run after
    compaction, CME would've become a T_NONE.

    So to quote the comment above "... cc is invalidated by
    `vm_cc_invalidate()` and cc->cme is not be accessed."

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12936

    Merged-By: XrXr

commit 70a9e5f6eb42cb1badba13d118f3c0d4106a3fe1
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-03-15 06:54:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-17 00:35:32 +0900

    [DOC] Doc for Hash#transform_keys

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12935

commit 47d75b65bfde4d2803a415dea4fbbf2cffc66fe6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-14 16:21:59 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-16 17:33:58 +0900

    Make wrapper of `main` for wasm more generic

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12933

commit 453f88f7f1c339a5256bc3a2c733610cc3ee965c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-14 16:24:31 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-16 17:33:58 +0900

    Make ASAN default option string built-in libruby

    The content depends on ruby internal, not responsibility of the
    caller.  Revive `RUBY_GLOBAL_SETUP` macro to define the hook function.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12933

commit f23146f09f3c5d0d9b72d044efa0a544566b4a49
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-16 12:27:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-16 12:27:56 +0900

    Fix enums in comparisons

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12941

commit 06919949a60b42a8f30e8bd0cb075e17b05eebcd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-15 16:15:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-16 12:09:18 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12940

commit 35920f7a440139563e9e46686378bba062bd08c1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-15 15:52:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-15 16:02:19 +0900

    Refine `TestSocket_TCPSocket#test_initialize_failure`

    * Use `assert_raise_kind_of` instead of `rescue` and `flunk`.
    * Use `assert_include` for the pattern that may contain regexp meta
      characters.

commit 29c0ca58c22b25dbd323d1ba5cdcf6dbdfd505e5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-15 00:36:04 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-15 15:50:46 +0900

    Test for the crash

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12934

commit b148dfef5aa208cafa28626fd84c9762bfdfe0ac
  Author:     Luke Jahnke <luke.jahnke@gmail.com>
  AuthorDate: 2025-03-14 22:38:33 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-15 15:50:46 +0900

    Fix crash in TCPSocket.open

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12934

commit efb2d4363709b36a205791787f6812259027c6e1
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-03-14 23:41:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-14 23:41:27 +0900

    [DOC] Tweaks for Hash#to_h (#12918)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit de48e47ddf78aba02fd9623bc7ce685540a10743
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-13 21:29:37 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-14 17:51:57 +0900

    Invoke `inherited` callbacks before `const_added`

    [Misc #21143]

    Conceptually this makes sense and is more consistent with using
    the `Name = Class.new(Superclass)` alternative method.

    However the new class is still named before `inherited` is called.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12927

commit dd7deef338d843c8d866ddc279854068b39bfeb9
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-03-14 14:32:22 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-14 17:10:33 +0900

    Organize block_param_def by defining opt_block_param for non-terminal symbols

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12932

commit f5f195180883fe80f02bc2579ba9aa84118e834b
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-03-14 00:16:34 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-14 12:32:03 +0900

    Refactor parse.y to replace tIDENTIFIER and tCONSTANT with ident_or_const inline rules

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12929

commit a4328a424bbbe3fdeefa861d5946e6258bc87260
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-03-13 04:46:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-14 10:12:08 +0900

    [DOC] Tweaks for Hash#to_hash

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12920

commit 057ee25d1b5f0882615063c41d21083bd7c78415
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-03-13 04:37:38 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-14 10:11:47 +0900

    [DOC] Tweaks for Hash#to_proc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12919

commit ae7890df33577b9f4eecab5626644d619ba442dd
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-03-14 06:37:29 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2025-03-14 07:21:37 +0900

    Use the EC parameter in instructions.

    The forwarding instructions should use the `ec` parameter passed to
    vm_exec_core instead of trying to look up the EC via `GET_EC()`.  It's
    cheaper to get the local than to try looking up a global

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12931

commit 84f51eb02ac3b456e7b25d83e781202152abf21d
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-03-13 23:23:14 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-14 00:20:35 +0900

    Use user defined parameterizing rules `args_tail_basic`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12928

commit f2483c79fe651c3dc5f100348a22f6a34d1d34bd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-13 22:54:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-13 23:24:48 +0900

    [ruby/prism] Use Set.new over to_set

    https://github.com/ruby/prism/commit/422d5c4c64

commit 31cf2684b0bc12cad19356672fcc86c6279b1f22
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-12 22:55:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-13 23:12:24 +0900

    Output object_id in object metadata for MMTk

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12915

commit bdb25959fb047af0358f33d7327b7752dca14aa4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-12 22:25:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-13 23:12:24 +0900

    Move object_id to flags for ObjectSpace dumps

    Moving object_id dumping from ObjectSpace to the GC flags allows ObjectSpace
    to not assume the FL_SEEN_OBJ_ID flag and instead move it to the responsibility
    of the GC.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12915

commit 3d4c7c38020fa4de420e927e0b579aeff62b54ba
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-11 18:30:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-13 22:52:45 +0900

    [ruby/prism] Use `reverse_each` in the parser translator

    Avoids an array allocation which matters more and more
    the larger the file is.

    I have it at 14% of runtime.

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

commit 67e6ccb23fd910b70b0d690adcb56395778c9f2a
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-11 17:05:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-13 22:52:45 +0900

    [ruby/prism] Optimize array inclusion checks in the parser translator

    I see `Array.include?` as 2.4% runtime. Probably because of `LPAREN_CONVERSION_TOKEN_TYPES` but
    the others will be faster as well.

    Also remove some inline array checks. They are specifically optimized in Ruby since 3.4, but for now prism is for >= 2.7

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

commit ee1f39ef882e7ce175794e6286c0dcafba0bfa35
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-03-13 20:45:23 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-03-13 22:08:01 +0900

    Add a document to autoload

    Users are responsible for avoiding circular autoload.

    [Misc #21154]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12926

commit 4b844f7d9e2f41cd6c0e9f1d30dcbf1a0f24b449
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-03-13 20:32:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-13 21:06:58 +0900

    [ruby/prism] Ensure backwards compatibility with the custom parser builder

    Temoprary backwards-compat code so that current users
    don't break.

    Eventually the Translation::Parser initializer should asser that the correct class is passed in.

    https://github.com/ruby/prism/commit/66b0162b35

commit 7c88cbb4a6c486348c44be24941f17ef8be6b329
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-10 02:01:59 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-03-13 18:43:48 +0900

    [Feature #20971] Deprecate `rb_path_check`

    https://bugs.ruby-lang.org/issues/20971

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12542

commit faa8ccb6850b9e16953f04d7cc49c11a3ded9008
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2025-03-13 16:01:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-13 16:01:36 +0900

    Update bundled gems list as of 2025-03-12

commit 482b5307f2efa1c6b2af5c3e8641b4ba59841127
  Author:     Yutaro Ohno <yutaro.ono.418@gmail.com>
  AuthorDate: 2025-03-12 15:48:56 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-13 13:43:36 +0900

    [DOC] Correct output in calling_methods.rdoc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12912

commit f9aadc62ed40d9b68e2ca64b1c0ee56f0c2b3322
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-13 10:45:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-13 13:08:15 +0900

    Use ghcr.io/ruby/fedora:latest instead of docker.io for avoiding rate limit

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12922

commit 069ecfe869f48c2bc3162de4ef00ac11d4a3e586
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-12 22:06:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-13 10:33:38 +0900

    [ruby/json] Release 2.10.2

    https://github.com/ruby/json/commit/350c1fd154

commit e6a2cf9fd79330bd6838cb504648a874f30f5629
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-12 02:49:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-13 10:33:25 +0900

    [ruby/json] Fix potential out of bound read in `json_string_unescape`.

    https://github.com/ruby/json/commit/cf242d89a0

commit 8cc85dc00feef7fc7846ad15df2778f58716c169
  Author:     Hartley McGuire <skipkayhil@gmail.com>
  AuthorDate: 2025-03-12 06:46:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-13 10:24:21 +0900

    [rubygems/rubygems] Remove array allocation from Candidate#<=>

    In a large application I profiled allocations while running `bundle
    update` and found that this method was ~60% of allocations while
    resolving (and Candidate#<=> is almost half of the total runtime).

    This commit removes the array allocation in Candidate#<=> (and similar
    methods since the implementations are so simple). The array is always
    the same two elements so they can just be compared directly.

    https://github.com/rubygems/rubygems/commit/6a7c411ba7

commit af76b7f4d9f791b8d20f567e0fa8a45488fa00b8
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-13 04:56:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-13 04:56:22 +0900

    [ruby/prism] Revert "Mark extension as Ractor-safe"

    https://github.com/ruby/prism/commit/56eaf53732

commit 242e99eb0f32e1705413d084126be4ae6525a804
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-13 02:16:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-13 04:15:03 +0900

    [ruby/prism] Mark extension as Ractor-safe

    https://github.com/ruby/prism/commit/10e5431b38

commit 08b3a45bc97c835b4677bf76dbce68fd51d81897
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-03-11 11:37:44 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-03-13 04:00:26 +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>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12898

commit 9b9661883b1e2cc85b1341d804b106885432d2bd
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-03-12 02:14:13 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-03-13 04:00:26 +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>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12898

commit a8d63ecdb82c33744c0d1fcfa362b0c7247e83c9
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-13 00:24:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-13 02:27:03 +0900

    Fix flaky test_AREF_fstring_key

    The code between the two ObjectSpace.count_objects could trigger a GC,
    which could free string objects causing this test to fail.

    We can see this failure on CI http://ci.rvm.jp/results/trunk-random2@ruby-sp2-noble-docker/5651016

        TestHashOnly#test_AREF_fstring_key [test/ruby/test_hash.rb:1991]:
        <197483> expected but was
        <129689>.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12916

commit 9ec8dc9c6504e62c6a3ff6b111cee53f67d5508c
  Author:     Sarun Rattanasiri <midnight_w@gmx.tw>
  AuthorDate: 2025-03-08 23:43:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-13 01:03:47 +0900

    [ruby/openssl] mark `initialize_copy` as :nodoc:

    https://github.com/ruby/openssl/commit/17f87d2cf0

commit b8af9325c0f3440c5bec05605ec450ce6b0dacc5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-22 11:18:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-12 18:42:39 +0900

    [DOC] Discourage use of `USERDEF`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12914

commit 9459bedd84d479bb1d7d3d40bada1cecb4701c37
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2023-08-20 13:04:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-12 18:42:38 +0900

    [Bug #19841] Refine error on marshaling recursive USERDEF

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12914

commit 2782cc75a99751228bc55d6d0f04d3a1742087fa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-12 14:55:04 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-12 18:20:40 +0900

    Win32: Remove intermediate files for rubyspec-capiext

commit 3239af9b5d5fb7c03a9c39c5469d79b199fe3bc8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-12 10:43:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-12 18:20:39 +0900

    Win32: Make object files in the same place as the DLLs

commit 1a222816fbe65e49f5f395dfd4a307763c00f012
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-12 17:00:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-12 18:02:09 +0900

    Restore to use rm_rf for failing example

    https://github.com/ruby/ruby/actions/runs/13804651931/job/38616664529?pr=12911

commit 1d07deb422819ce0be58c5d6dd24d632d30ef817
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-12 04:50:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-12 18:02:09 +0900

    [ruby/json] Raise a ParserError on all incomplete unicode escape sequence.

    This was the behavior until `2.10.0` unadvertently changed it.

    `"\u1"` would raise, but `"\u1zzz"` wouldn't.

    https://github.com/ruby/json/commit/7d0637b9e6

commit de9ce8c0e09c209d70394f32e0c51e5047b0607e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-12 12:01:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-12 18:02:09 +0900

    Use erb executable again

    Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>

commit 63dbb2f8a231421e92480b8209c8f6323bbfbd23
  Author:     Jacob Atzen <jatzen@gmail.com>
  AuthorDate: 2025-03-10 18:54:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-12 18:02:09 +0900

    [rubygems/rubygems] Update docs for with/without consistency

    The with and without flags accepts both comma and space separated values.

    https://github.com/rubygems/rubygems/commit/b6149f61e3

commit 510edbccf92deff0ccc6b4a1e0686b180a432aff
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-05-29 20:19:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-12 18:02:09 +0900

    [rubygems/rubygems] Fix `ENAMETOOLONG` error when creating compact index cache

    If a custom rubygems source URI is long enough, Bundler may end up
    raising an `ENAMETOOLONG` error and crash.

    This commit fixes the problem by trimming the cache slug size to fit
    usual OS requirements.

    https://github.com/rubygems/rubygems/commit/df40ff1e14

    Co-authored-by: mbclu <mbclu@users.noreply.github.com>
    Co-authored-by: martinemde <martinemde@users.noreply.github.com>

commit 13020ac0696819f1e996c9a1998f782f624e5903
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-11 02:53:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-12 18:02:09 +0900

    [rubygems/rubygems] Path helper to build paths in compact index cache

    https://github.com/rubygems/rubygems/commit/d28f9b8515

commit 51958bae66df026823fff159dd7513daf74f5727
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-08 05:35:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-12 18:02:09 +0900

    [rubygems/rubygems] Prefer `FileUtils.rm_r` to `FileUtils.rm_rf` for specs

    Because it does not swallow errors if it fails to remove the given
    folders, making issues easier to debug.

    https://github.com/rubygems/rubygems/commit/0db12d7afc

commit f656d34f103d9cc53259239d164ffa86d4117f9c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-08 04:47:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-12 18:02:09 +0900

    [rubygems/rubygems] Refactor specs to not try to remove folders that don't exist

    This has the following benefits:

    * Avoid duplicated work in some specs that first build a repo, and then
      overwrite it with a completely different set of gems.
    * Reduce RSpec nesting and improve readability.
    * The change also made surfaces several specs that were incorrect since
      they were unintentionally not testing the right thing.

    https://github.com/rubygems/rubygems/commit/ed430883e0

commit c68088038fb4555b821a5e60ab529843074014d1
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-03-12 11:34:03 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-12 11:34:03 +0900

    Launchable: Disable request retries when a timeout exception occurs (#12877)

    When a Launchable server is unstable, a ReadTimeoutException occurs in the Launchable CLI. In such case, the Launchable CLI retries requests, which slows down CI execution. In this PR, I configured the environment variable SKIP_TIMEOUT_RETRY to disable retry attempts on requests(Link: https://github.com/launchableinc/cli/pull/992).

    ```
    WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)")': /intake/organizations/ruby/workspaces/ruby/commits/collect/options
      WARNING:urllib3.connectionpool:Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)")': /intake/organizations/ruby/workspaces/ruby/commits/collect/options
      WARNING:urllib3.connectionpool:Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)")': /intake/organizations/ruby/workspaces/ruby/commits/collect/options
      HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Max retries exceeded with url: /intake/organizations/ruby/workspaces/ruby/commits/collect/options (Caused by ReadTimeoutError("HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=15)"))
      Exception in thread "main" javax.net.ssl.SSLException: Connection reset
            at sun.security.ssl.Alert.createSSLException(Alert.java:127)
            at sun.security.ssl.TransportContext.fatal(TransportContext.java:331)
            at sun.security.ssl.TransportContext.fatal(TransportContext.java:274)
            at sun.security.ssl.TransportContext.fatal(TransportContext.java:269)
            at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1572)
            at sun.security.ssl.SSLSocketImpl.access$400(SSLSocketImpl.java:73)
            at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:982)
            at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
            at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
            at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:280)
            at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)
            at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)
            at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)
            at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)
            at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157)
            at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)
            at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
            at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)
            at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
            at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
            at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
            at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
            at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
            at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
            at com.launchableinc.ingest.commits.CommitGraphCollector.transfer(CommitGraphCollector.java:131)
            at com.launchableinc.ingest.commits.CommitIngester.run(CommitIngester.java:145)
            at com.launchableinc.ingest.commits.CommitIngester.main(CommitIngester.java:72)
            Suppressed: java.net.SocketException: Broken pipe (Write failed)
                    at java.net.SocketOutputStream.socketWrite0(Native Method)
                    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
                    at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
                    at sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81)
                    at sun.security.ssl.TransportContext.fatal(TransportContext.java:362)
                    ... 25 more
      Caused by: java.net.SocketException: Connection reset
            at java.net.SocketInputStream.read(SocketInputStream.java:210)
            at java.net.SocketInputStream.read(SocketInputStream.java:141)
            at sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:464)
            at sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
            at sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1350)
            at sun.security.ssl.SSLSocketImpl.access$300(SSLSocketImpl.java:73)
            at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:966)
            ... 20 more
      Couldn't get commit history from `/github/workspace/src`. Do you run command root of git-controlled directory? If not, please set a directory use by --source option.
      HTTPSConnectionPool(host='api.mercury.launchableinc.com', port=443): Read timed out. (read timeout=60)
      Command '['java', '-jar', '/root/.local/pipx/venvs/launchable/lib/python3.10/site-packages/launchable/jar/exe_deploy.jar', 'ingest:commit', '-endpoint',
    ```

    https://github.com/ruby/ruby/actions/runs/13572112090/job/37939529243

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 1ba93fdfd21f403889aa7930f7ef2ad4414aa00a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-12 09:59:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-12 11:05:39 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12910

commit 1cdec3240b3c998c0cbf73556786aa3fa0b02ae7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-12 04:05:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-12 10:55:03 +0900

    Fix memory leak in rb_reg_search_set_match

    https://github.com/ruby/ruby/pull/12801 changed regexp matches to reuse
    the backref, which causes memory to leak if the original registers of the
    match is not freed.

    For example, the following script leaks memory:

        10.times do
          1_000_000.times do
            "aaaaaaaaaaa".gsub(/a/, "")
          end

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

    Before:

        774256
        1535152
        2297360
        3059280
        3821296
        4583552
        5160304
        5091456
        5114256
        4980192

    After:

        12480
        11440
        11696
        11632
        11632
        11760
        11824
        11824
        11824
        11888

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12905

commit 1b2cc9c2b80da4618499ab3dd3dd70a499546c75
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-03-12 10:54:49 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-12 10:54:49 +0900

    [DOC] Tweaks for Hash#slice

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12907

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 86eff8565b21ca7e8deff572feedbcd7d2421d55
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-03-12 07:26:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-12 10:54:06 +0900

    [DOC] Tweaks for Hash#to_a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12908

commit 5208d2f440ec3175dc48ba5672413bb3b5cb4fd7
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-03-12 07:07:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-12 10:52:38 +0900

    [DOC] Tweaks for Hash#shift

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12906

commit 97231e4d7ece859ab7c7d81033e74d402176910e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-12 07:52:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-12 08:31:16 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12909

commit b52f78952039a6b50ceaee4626ef9f0fb59eab6b
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-03-12 04:19:38 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-12 04:19:38 +0900

    [DOC] Tweaks for Hash#select! (#12904)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit a5f29213dcd3bd3da896c34505d487569c9ad339
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-03-12 04:18:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-12 04:18:47 +0900

    [DOC] Tweaks for Hash#select (#12903)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 51e2ff1ef777f82b0898f30b636a29b92e63a2e1
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-03-12 04:18:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-12 04:18:06 +0900

    [DOC] Tweaks for Hash#reject!

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12902

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 3278e3b6f3b4252ab05988b000886e3b6f089404
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-11 11:57:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-12 00:46:05 +0900

    [Bug #21177] Win32: Allow longer path name

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12901

commit e51411ff1fa38b296020529b51241b96d2c15b54
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-11 04:47:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-12 00:44:07 +0900

    Fix flaky test_latest_gc_info_need_major_by

    The test could flake because a major GC could be triggered due to allocation
    for caches or other things, which would cause the test to fail.

commit 497f409ba402ee2207f71f6998fe996433370107
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-03-12 00:43:50 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-12 00:43:50 +0900

    [DOC] Tweaks for Hash#reject (#12876)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit e99026784a5af7b188eb8a98b708ed4b75922a6d
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-03-12 00:43:20 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-12 00:43:20 +0900

    [DOC] Tweaks for Hash#update

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12826

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 47c3ae6962900434b6ffd486decd639b76f3d54d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-11 04:43:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-11 09:00:47 +0900

    Bump tolerance for weak reference test from 1 to 2

    The test fails sometimes with:

        TestGc#test_latest_gc_info_weak_references_count [test/ruby/test_gc.rb:421]:
        Expected 2 to be <= 1.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12894

commit ba5fb74583303d9e80f3700d0b5433cbc7e7c88e
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-11 05:18:59 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-11 06:57:44 +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'
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12896

commit 6b4453e332d67b5fb8f6932244fff9c7b385abdc
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2025-02-26 13:02:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-11 01:57:46 +0900

    [ruby/prism] Support `itblock` for `Prism::Translation::Parser`

    ## Summary

    `itblock` node is added to support the `it` block parameter syntax introduced in Ruby 3.4.

    ```console
    $ ruby -Ilib -rprism -rprism/translation/parser34 -e 'buffer = Parser::Source::Buffer.new("path"); buffer.source = "proc { it }"; \
                                                          p Prism::Translation::Parser34.new.tokenize(buffer)[0]'
    s(:itblock,
      s(:send, nil, :proc), :it,
      s(:lvar, :it))
    ```

    This node design is similar to the `numblock` node, which was introduced for the numbered parameter syntax in Ruby 2.7.

    ```
    $ ruby -Ilib -rprism -rprism/translation/parser34 -e 'buffer = Parser::Source::Buffer.new("path"); buffer.source = "proc { _1 }"; \
                                                          p Prism::Translation::Parser34.new.tokenize(buffer)[0]'
    s(:numblock,
      s(:send, nil, :proc), 1,
      s(:lvar, :_1))
    ```

    The difference is that while numbered parameters can have multiple parameters, the `it` block parameter syntax allows only a single parameter.

    In Ruby 3.3, the conventional node prior to the `it` block parameter syntax is returned.

    ```console
    $ ruby -Ilib -rprism -rprism/translation/parser33 -e 'buffer = Parser::Source::Buffer.new("path"); buffer.source = "proc { it }"; \
                                                          p Prism::Translation::Parser33.new.tokenize(buffer)[0]'
    s(:block,
      s(:send, nil, :proc),
      s(:args),
      s(:send, nil, :it))
    ```

    ## Development Note

    The Parser gem does not yet support the `it` block parameter syntax. This is the first case where Prism's node design precedes that of the Parser gem.
    When implementing https://github.com/whitequark/parser/issues/962, this node design will need to be taken into consideration.

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

commit 13fa6cc6a328176334924a654c0e2d742b704ca9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-04-26 19:32:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-10 20:01:03 +0900

    [ruby/optparse] [DOC] Extract description from README

    https://github.com/ruby/optparse/commit/83e8c23d68

commit 3cd3f766799eb1e591356acde3ab863e3bb3566a
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2025-01-09 11:00:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-10 19:21:29 +0900

    [ruby/optparse] Fix LESS environment variable setup in OptionParser#help_exit

    If the original value of LESS ends with an option starting with "--",
    simply appending "Fe" would result in an invalid option string.

    https://github.com/ruby/optparse/commit/30571f91d3

commit f4c16c57aad9138f236f4fa966893b21d5a64cbf
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2025-02-02 16:17:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-10 19:19:58 +0900

    [ruby/optparse] Make the result of `tty?` obtainable with flexible stdout

    In mock testing for stdout, `StringIO.new` is sometimes used to redirect the output.
    In such cases, the assignment is done with `$stdout = StringIO.new`, not the constant `STDOUT`.
    e.g., https://github.com/rubocop/rubocop/blob/v1.71.1/lib/rubocop/rspec/shared_contexts.rb#L154-L164

    After assigning `StringIO.new`, `$stdout.tty?` returns `false`,
    allowing the standard output destination to be switched during test execution.

    ```ruby
    STDOUT.tty?       # => true
    StringIO.new.tty? # => false
    ```

    However, since `STDOUT.tty?` returns `true`, a failure occurred in environments
    where the environment variables `RUBY_PAGER` or `PAGER` are set.
    e.g., https://github.com/rubocop/rubocop/pull/13784

    To address this, `STDOUT` has been updated to `$stdout` so that the result of `tty?` can be flexibly overridden.

    A potential concern is that `$stdout`, unlike `STDOUT`,
    does not always represent the standard output at the time the Ruby process started.
    However, no concrete examples of issues related to this have been identified.

    `STDOUT.tty?` is the logic of optparse introduced in https://github.com/ruby/optparse/pull/70.

    This PR replaces `STDOUT` with `$stdout` throughout, based on the assumption
    that `$stdout` is sufficient for use with optparse.

    https://github.com/ruby/optparse/commit/262cf6f9ac

commit 45e8dc1e85eced97c7e3b29c947757736a6fcf79
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-10 16:53:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-10 18:55:29 +0900

    [ruby/optparse] [DOC] Mention about post-check

    https://github.com/ruby/optparse/commit/e1957d7392

commit 9e265b583b5cc35b8120978c855e1a6a78abbe5b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-10 13:12:34 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-10 18:55:29 +0900

    [ruby/optparse] Add post-check of value

    Fix https://github.com/ruby/optparse/pull/80

    https://github.com/ruby/optparse/commit/050a87d029

commit b51450f3bd77f6dc862fcb8b177922a588f0e381
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-10 17:02:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-10 17:03:55 +0900

    [ruby/optparse] Update argument check with safe navigation operator

    https://github.com/ruby/optparse/commit/71e2b31824

commit 9de9cb53c091fa14397380fd0cc776330457ace6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-10 14:05:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-10 16:56:44 +0900

    [ruby/optparse] [DOC] Update documents to use single quotes instead of backqoutes

    https://github.com/ruby/optparse/commit/5e71a70cb5

commit 1a985d36a753e2e867c2a2c37548f514748d8c8e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-07 03:45:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-10 12:43:36 +0900

    [rubygems/rubygems] Adapt specs to extraction of irb from ruby-core

    This gets our daily Bundler CI back to green.

    https://github.com/rubygems/rubygems/commit/1bb70f75d2

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12890

commit 0ca5240d58e292d0b94a0476dbeee07f61bc08c9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-07 03:45:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-10 12:43:36 +0900

    [rubygems/rubygems] `bundle console` deprecation was canceled

    https://github.com/rubygems/rubygems/commit/1c237a4c3f

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12890

commit 9d5a3c0314f8065ab8da54e82cfaebe5f538883a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-07 03:44:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-10 12:43:36 +0900

    [rubygems/rubygems] Reduce duplicate of some spec gemfiles

    https://github.com/rubygems/rubygems/commit/bd42c840c6

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12890

commit e21e5bc814484ea1f37c702404f434d72bd257c1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-03-05 23:56:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-10 12:43:36 +0900

    [rubygems/rubygems] Fix `gem rdoc` not working with newer versions of rdoc

    https://github.com/rubygems/rubygems/commit/369f9b9311

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12890

commit 4323674fe4d697db48856292deb459f9ca923272
  Author:     Tara Bass <tara.bass@gusto.com>
  AuthorDate: 2025-02-28 04:44:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-10 12:43:36 +0900

    [rubygems/rubygems] Don't treat a git-sourced gem install as complete if only the '.git' directory is present. This recovers cases where a git-sourced install can be left in a partially installed state.

    https://github.com/rubygems/rubygems/commit/d132b7008d

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12890

commit 71e340881f1aca4911a35ddafd519fb0e29e6544
  Author:     Sean Collins <sean@cllns.com>
  AuthorDate: 2025-03-04 12:52:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-10 12:43:36 +0900

    [rubygems/rubygems] Switch inject to use shorthand hash syntax

    https://github.com/rubygems/rubygems/commit/ba5a62fd04

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12890

commit 8acf0d7bcc2a55299bed00caee9679446f04e0d0
  Author:     Sean Collins <sean@cllns.com>
  AuthorDate: 2025-03-04 07:12:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-10 12:43:36 +0900

    [rubygems/rubygems] Use shorthand hash syntax for bundle add

    https://github.com/rubygems/rubygems/commit/9691097036

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12890

commit afbc6649cd98226a1f221d87fc289dad2458a490
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-10 11:38:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-10 12:43:36 +0900

    Revert "Omit irb related examples temporary"

    This reverts commit 750e6195040ec3f9d0b172ac1a49a49d9b7d8ba0.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12890

commit ce4abf2a2b22b39d3653045e0b5351a27669ecbf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-10 11:38:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-10 12:43:36 +0900

    Revert "Move irb detection to top-level before(:each) block"

    This reverts commit 261f8023842b6f90007df68dfc3d88a01a9337a2.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12890

commit cdf36d6bfd6409b8c626557aca7abf74b7e4e76c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-09 22:39:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-09 23:32:17 +0900

    [ruby/optparse] Allow non-string enum list #79

    Command line arguments are strings, convert enum list elements to
    strings to match.

    https://github.com/ruby/optparse/commit/c5ec052efc

commit 213c27825af45f25d27150a4d11164df04ee9080
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-09 22:54:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-09 23:32:17 +0900

    [ruby/optparse] Add test for enum arguments

    https://github.com/ruby/optparse/commit/0a0e977b7c

commit 0c73328affeeaf04684e15dbc8def018f30fa553
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-09 22:38:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-09 23:09:16 +0900

    [ruby/optparse] Use `\A` instead of `^` as the beginning of string

    https://github.com/ruby/optparse/commit/a3f1029815

commit 49199445f5be18cb2f97c5d0eaaa952329d0e09f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-09 21:56:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-09 23:03:55 +0900

    [ruby/optparse] [DOC] Manage rdoc options only in .rdoc_options file

    Make `rdoc .` and `rake rdoc` consistent.

    https://github.com/ruby/optparse/commit/61b4ea0704

commit 5965978efbfea95aefb6900dc9a594b682dae43b
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-03-09 02:06:54 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-09 11:26:56 +0900

    Merge the `new_yield` method into the `rb_node_yield_new` method

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12888

commit caa7eaecc5b0d2d97c56abe336270541a06702ed
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-03-09 01:39:36 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-09 02:56:26 +0900

    Refactor parser rules to remove inline_operation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12886

commit 24945defa57ca2a12e5d2773552e9b156ad6ecf0
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-03-08 21:12:28 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-08 22:20:11 +0900

    Remove redundant semantic action in bvar rule

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12883

commit a14d9b8d5777b05e288b412bcdef609f05389fd7
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-08 05:38:30 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-08 18:56:02 +0900

    string.c: Improve `fstring_hash` to reduce collisions

    `rb_str_hash` doesn't include the encoding for ASCII only strings
    because ASCII only strings are equal regardless of their encoding.

    But in the case if the `fstring_table`, two identical ASCII strings
    with different encodings aren't equal.

    Given it's common to have both `:foo` (or `def foo`) and `"foo"`
    in the same source code, this causes a lot of collisions in the
    `fstring_table`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12881

commit eae0fe37c08b568c0a7cbf904caba4faca517746
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-03 23:52:50 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-08 18:26:40 +0900

    Implement CLASS NODE locations

    The following Location information has been added This is the information required for parse.y to be a universal parser:

    ```
    ❯ ruby --parser=prism --dump=parsetree -e "class A < B; end"
    @ ProgramNode (location: (1,0)-(1,16))
    +-- locals: []
    +-- statements:
        @ StatementsNode (location: (1,0)-(1,16))
        +-- body: (length: 1)
            +-- @ ClassNode (location: (1,0)-(1,16))
                +-- locals: []
                +-- class_keyword_loc: (1,0)-(1,5) = "class"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- constant_path:
                |   @ ConstantReadNode (location: (1,6)-(1,7))
                |   +-- name: :A
                +-- inheritance_operator_loc: (1,8)-(1,9) = "<"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- superclass:
                |   @ ConstantReadNode (location: (1,10)-(1,11))
                |   +-- name: :B
                +-- body: nil
                +-- end_keyword_loc: (1,13)-(1,16) = "end"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- name: :A
    ```

commit 98790faae3cbbe67a5335df30f6e9000f3a83ad9
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-03-08 07:42:03 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-03-08 10:23:32 +0900

    YJIT: Add Counter::invalidate_everything

    When YJIT is forced to discard all the code, that's bad for
    performance, so there should be an easy way to know about it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12882

commit 3c92fe13f83c458991349a9b77963c90027fe53b
  Author:     kyontan <kyontan@monora.me>
  AuthorDate: 2025-03-08 06:18:25 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-08 06:18:25 +0900

    [DOC] Fix minor miscalculation of stack size

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12872

    Merged-By: XrXr

commit 17f6a689629ec3507a79fc156833f329dc641bed
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-03-07 23:38:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-07 23:38:51 +0900

    [DOC] Tweaks for Hash#rehash

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12875

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 8774530ce10bbee5b483b4e7283cc263b246125d
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-03-07 08:08:24 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-07 23:36:51 +0900

    [DOC] Tweaks for Hash#rassoc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12874

commit 42b75a9c6414eb93fdee777d87a7ad7562edf009
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-03-07 23:34:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-07 23:34:36 +0900

    [DOC] Tweaks for Hash#merge (#12825)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit f118e0ce734d7951597eddccff3695d6573589c4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-07 17:52:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-07 17:52:18 +0900

    [Bug #21174] [Bug #21175] Update rubyspec

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12879

commit cbe3156f82ee8b68e734be58badb9b6a3adc8aa6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-07 17:23:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-07 17:23:33 +0900

    [Bug #21174] [Bug #21175] Fix `Range#max` on beginless integer range

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12879

commit 8841f885bde7bbe571d2043830799059870dc70c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-04 10:22:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-03-07 12:14:48 +0900

    [Bug #21163] Fix hexadecimal float conversion

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12878

commit 6bad47ac6d62b54fe30e3f161c2a9d8f5fa4800c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-03-06 04:22:01 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-07 01:58:54 +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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12859

commit bb91c303bad5fcdd59b73ca1a1923f71c7efdbfd
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-03-07 00:52:49 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-07 00:52:49 +0900

    YJIT: Rename get_temp_regs2() back to get_temp_regs() (#12866)

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit e20f1f76f4d7479faa112b612ba6f712a46c49fc
  Author:     Rahim Packir Saibo <i.am@rah.im>
  AuthorDate: 2025-03-06 03:03:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-06 18:29:27 +0900

    [ruby/json] Fix JSON::GeneratorError#detailed_message with Ruby < 3.2

    https://github.com/ruby/json/commit/2e015ff839

commit f7af75d3d9239dadd66382e421f63790ad46aeb7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-03-05 13:34:52 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-03-06 16:58:13 +0900

    Show test task names longer

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12871

commit ca4325f6c9710ae5dcda9f735b264ba92bffb68f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-06 16:09:57 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-06 16:42:01 +0900

    Harden `TestObjSpace#test_memsize_of_root_shared_string`

    This test occasionally fail because it runs into a String instance
    that had its `==` method removed.

    I couldn't identify where this String comes from, but in general
    when using `each_object` it's best to not assume returned objectd
    are functional.

    By just inverting the operands of `==` we ensure it's always
    `String#==` that is called.

    ```
      1) Error:
    TestObjSpace#test_memsize_of_root_shared_string:
    NoMethodError: undefined method '==' for #<String:0x00007f9b50e8c978>
        /tmp/ruby/src/trunk-random1/test/objspace/test_objspace.rb:35:in 'block in TestObjSpace#test_memsize_of_root_shared_string'
        /tmp/ruby/src/trunk-random1/test/objspace/test_objspace.rb:35:in 'ObjectSpace.each_object'
        /tmp/ruby/src/trunk-random1/test/objspace/test_objspace.rb:35:in 'TestObjSpace#test_memsize_of_root_shared_string'
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12870

commit c939d0c85d1da76477a268058689f2f65e02d4be
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-03-06 12:39:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-06 12:39:39 +0900

    Launchable: Send stdout and stderr (#12785)

    Currently, the Launchable team is developing a new feature to attach any logs. Attached log can be anything, such as system logs or stdout. Users can find these logs using any text search. Please note that this feature is a work in progress, so we can't use it yet.

    I'm going to attach stdout and stderr as attached logs because they will be useful for finding interpreter bugs. When running tests, we sometimes see interpreter itself crash, and the stack is output to stderr. When debugging the cause of the issue, this feature is useful.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 309076ff91601f718f8e1285060c486c6bf37c67
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-03-06 12:18:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-06 12:18:54 +0900

    Fix flaky failure in TestSetTraceFunc#test_tracepoint_disable (#12854)

    TestSetTraceFunc#test_tracepoint_disable is a flaky and failing intermittently. Here is an example of failure logs.

    ```
       1) Failure:
      TestSetTraceFunc#test_tracepoint_disable [/home/runner/work/ruby/ruby/src/test/ruby/test_settracefunc.rb:857]:
      <[:foo, :disable, :foo, :disable]> expected but was
      <[:call, :call, :foo, :disable, :foo, :disable]>.
    ```
    https://github.com/ruby/ruby/actions/runs/13619175633/job/38066208546?pr=12585#step:12:875

    I printed values of TracePoint objects as follows, and checked the values when failing intermittently.

    https://github.com/ruby/ruby/blob/7f9a6fc582fb5cfd88ab73a61782f39894a37ba6/test/ruby/test_settracefunc.rb#L848

    Here is the log when the TestSetTraceFunc#test_tracepoint_disable failed intermittently.

    `2025-03-05T09:08:37.4075411Z e: call, f: /home/runner/work/ruby/ruby/src/lib/tempfile.rb, l: 386, i: call, d: Tempfile::FinalizerManager` is an unexpected events. Thus, I modified test code so that we can filter out unexpected trace events.

    ```
    2025-03-05T09:08:37.4075411Z e: call, f: /home/runner/work/ruby/ruby/src/lib/tempfile.rb, l: 386, i: call, d: Tempfile::FinalizerManager
    2025-03-05T09:08:37.4085009Z e: call, f: /home/runner/work/ruby/ruby/src/test/ruby/test_settracefunc.rb, l: 808, i: foo, d: TestSetTraceFunc
    2025-03-05T09:08:37.4086042Z e: call, f: <internal:trace_point>, l: 295, i: disable, d: TracePoint
    2025-03-05T09:08:37.4115693Z e: call, f: /home/runner/work/ruby/ruby/src/test/ruby/test_settracefunc.rb, l: 808, i: foo, d: TestSetTraceFunc
    2025-03-05T09:08:37.4116734Z e: call, f: <internal:trace_point>, l: 295, i: disable, d: TracePoint
    ```

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit e8f8565dc2afc586ed9eae1b75623f7aca9b7df7
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-03-06 09:23:20 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-06 09:23:31 +0900

    Remove obsoleted insn_may_depend_on_sp_or_pc()

    which was for MJIT

commit 0d03183748e29a7133df3e9bde99f5d9258ce6f1
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-03-06 08:46:07 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-03-06 08:46:51 +0900

    auto-request-review should run only for master

    Backport PRs are reviewed only by the branch maintainers.

commit 443e2ec27db89c896bd62994f6e04d8d6d48cddb
  Author:     John Hawthorn <john@hawthorn.email>
  AuthorDate: 2025-03-05 05:54:33 +0900
  Commit:     John Hawthorn <john@hawthorn.email>
  CommitDate: 2025-03-06 07:05:24 +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>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12852

commit c224ca4feaff20cab03d76439bcbfb35d4e2f6b1
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-06 01:29:32 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-06 02:57:21 +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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12857

commit 53579e5718b82dd655cd7bb129c86b83ecdb625d
  Author:     a5-stable <sh07e1916@gmail.com>
  AuthorDate: 2025-03-05 22:46:57 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-03-06 00:19:31 +0900

    yjit.rb: Fix parameter name in documentation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12856

commit 36ee0c1acb45760d63fc7dcb9a4d2b6002a58a4f
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-03-03 00:14:25 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-05 18:21:21 +0900

    Add tests for alias locations with special variables $`, $', and $+

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12837

commit 1ce10f3fbb037bc8383d0cf7fe72d9f261669246
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2025-03-05 05:08:34 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2025-03-05 05:45:54 +0900

    do not reset `EnvUtil.timeout_scale`

    Even if `setup` is omitted, but `teardown` is called and
    `EnvUtil.timeout_scale` was reset with `nil`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12851

commit 46f3d82f40535235f9fcda2d804fc564314f4e87
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2025-03-05 05:16:13 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2025-03-05 05:45:54 +0900

    Revert "try to show timeout sec"

    This reverts commit ce66eea167847d4300150791bde4932b907b0cc0.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12851

commit 15ee45080133c19d167760d577d72540a9db0ec9
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-03-04 21:40:13 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-03-04 23:23:38 +0900

    Move in-place interning spec to Ruby's tests

    Fix: https://github.com/ruby/spec/issues/1249

    JRuby and TruffleRuby can't implement this behavior.
    While quite a lot of code out there relies on it, if it's
    not implemented it will simply result in sligthly less efficient
    code, so not the end of the world.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12850

commit 5de02d64878246eb04ab3654c7fcb8b119a89c46
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-28 01:52:21 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-03-04 23:22:19 +0900

    [DOC] Tweaks for Hash#size

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12824

commit ce66eea167847d4300150791bde4932b907b0cc0
  Author:     Koichi Sasada <ko1@atdot.net>
  AuthorDate: 2025-03-04 19:09:38 +0900
  Commit:     Koichi Sasada <ko1@atdot.net>
  CommitDate: 2025-03-04 19:39:16 +0900

    try to show timeout sec

    http://ci.rvm.jp/results/trunk-gc-asserts@ruby-sp2-noble-docker/5632508
    ```
      1) Error:
    TestEval#test_outer_local_variable_under_gc_compact_stress:
    Test::Unit::ProxyError: execution of Test::Unit::CoreAssertions#assert_separately expired timeout (10 sec)
    pid 1339179 killed by SIGABRT (signal 6) (core dumped)
    ```

    seems that timeout scale doesn't work even though `RUBY_TEST_TIMEOUT_SCALE`
    is specified.

    This patch tries to print the timeout with scale information.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12849

commit d7a96a285c5be8a4009f3e0a3fab2246fad060f3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-04 17:45:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-04 18:58:10 +0900

    Sync skip rules from ubuntu.yml

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12846

commit bb6674f96c094dd2e7d1e2f179d05ff5d4bbe073
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-03-04 17:43:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-04 18:58:10 +0900

    Try to build WSL on GitHub Actions

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12846

commit 5085ec3ed90beb54125d5eb9329e202ae1542b5c
  Author:     annichai-stripe <annichai@stripe.com>
  AuthorDate: 2025-03-04 05:45:39 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-03-04 05:45:39 +0900

    Allow YJIT `mem-size` and `call-threshold` to be set at runtime via `YJIT.enable()` (#12505)

    * first commit

    * yjit.rb change

    * revert formatting

    * rename mem-size to exec-mem-size for correctness

    * wip, move setting into rb_yjit_enable directly

    * remove unused helper functions

    * add in call threshold

    * input validation with extensive eprintln

    * delete test script

    * exec-mem-size -> mem-size

    * handle input validation with asserts

    * add test cases related to input validation

    * modify test cases

    * move validation out of rs, into rb

    * add comments

    * remove trailing spaces

    * remove logging

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

    * remove helper fn

    * Update test/ruby/test_yjit.rb

    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

    * trailing white space

    ---------

    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
    Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
    Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>

  Notes:
    Merged-By: maximecb <maximecb@ruby-lang.org>

commit 9ccba88160c1b702a97b80817b97109cc2b9f33c
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2025-03-03 22:28:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-04 00:27:56 +0900

    [ruby/openssl] test_pkey_dh.rb: Merge 2 test_new_break tests to one test.

    Merge 2 test_new_break tests to one test because it's easy to maintain the test.

    https://github.com/ruby/openssl/commit/446ff3e11f

commit 12e2dfdc56cf835a37e03682d33e5318ac0fabef
  Author:     Josef Šimánek <josef.simanek@gmail.com>
  AuthorDate: 2025-03-02 01:04:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-03 15:52:35 +0900

    [rubygems/rubygems] Update parallel_tests.

    - new version restores previously removed method

    https://github.com/rubygems/rubygems/commit/5348e88d07

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12840

commit fdf1076ef9dd438f27fddd51e771d18c9ae7d045
  Author:     Michael Chui <saraid216@gmail.com>
  AuthorDate: 2025-02-28 09:20:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-03 15:52:35 +0900

    [rubygems/rubygems] docs(bundle-exec): recommend non-deprecated methods

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12840

commit a98c3d229e77bc25f73aa02cff2d6aed57f80017
  Author:     Mateo <sheshi.mateo01@gmail.com>
  AuthorDate: 2025-02-28 03:40:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-03 15:52:35 +0900

    [rubygems/rubygems] docs(bundle-config): hint default group when using only option

    https://github.com/rubygems/rubygems/commit/c258e45b44

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12840

commit 29e3ee056819049580f8d599624bc70265ac251f
  Author:     Josef Šimánek <josef.simanek@gmail.com>
  AuthorDate: 2025-03-01 10:39:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-03 15:52:35 +0900

    [rubygems/rubygems] Bring man pages up to date

    https://github.com/rubygems/rubygems/commit/591d2c0503

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12840

commit e4c5531b4c6f2d0053478fe69160d403af14e404
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-27 18:18:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-03 15:52:35 +0900

    [rubygems/rubygems] Update vendored uri to 1.0.3

    https://github.com/rubygems/rubygems/commit/176dc7421c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12840

commit f52a2e4b12d0776ff78d464adfdecf57712da9cf
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-27 18:18:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-03-03 15:52:35 +0900

    Restore lockfile for vendor_gems.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12840

commit a47e686cb6195dbd1266229d6e8d6bb17207c311
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-02 15:46:49 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-03 11:17:14 +0900

    Implement POSTEXE NODE locations

    The following Location information has been added This is the information required for parse.y to be a universal parser:

    ```
    ❯ ruby --parser=prism --dump=parsetree -e "END {  }"
    @ ProgramNode (location: (1,0)-(1,8))
    +-- locals: []
    +-- statements:
        @ StatementsNode (location: (1,0)-(1,8))
        +-- body: (length: 1)
            +-- @ PostExecutionNode (location: (1,0)-(1,8))
                +-- statements: nil
                +-- keyword_loc: (1,0)-(1,3) = "END"
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- opening_loc: (1,4)-(1,5) = "{"
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- closing_loc: (1,7)-(1,8) = "}"
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ```

commit 617e8608b2cff8be1d063c2f47ab425cda839d58
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-03-03 00:53:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-03-03 03:14:36 +0900

    [ruby/prism] Rename fgets parameter to fix NetBSD

    Fixes [Bug #21165]

    https://github.com/ruby/prism/commit/3f0acf7560

commit c93f30ab67a37276d6cc50ec33186fd55f62c0a3
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-03-02 02:24:45 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-02 23:10:45 +0900

    Use user defined parameterizing rules  `mlhs`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12836

commit 6c8cdc9c6b642eb4c613a6819f0c1d241dd0e30a
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-03-02 02:06:42 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-03-02 23:10:17 +0900

    Change superclass rhs to use none

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12835

commit db4ea95219f045b8e855afae0b6d28027ec8d3eb
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-02-28 18:32:36 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-28 18:32:36 +0900

    [Bug #20682] Add sleep 0.1 to stabilize flaky failures on macOS (#12829)

    [Bug #20682] Add `sleep 0.1` to stabilize flaky failures on macOS

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 1ead1eb6dbe4ed1fe3128fb9ac3f3dacb86230e5
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-02-28 17:01:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-28 17:01:19 +0900

    Increase timeouts in Compilations actions to reduce intermittent failures (#12827)

    Compilations actions are flaky and intermittently failing now. This run (https://github.com/ruby/ruby/actions/runs/13572112090) is an example of the issue. The job fails due to exceeding the timeout, resulting in termination. To prevent these intermittent failures, I'm going to increase the timeout.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 56f46e544876e7a96b1196ed8a89de578e0307fc
  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 15:51:11 +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'
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12830

commit a6da77c9e95aab3be9f4553e94eea605bd95d2eb
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-28 12:23:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-28 13:33:43 +0900

    [ruby/openssl] ssl: fix tests using TLS 1.1 or older

    Commit https://github.com/ruby/openssl/commit/aa7f03e18f26 broke test_minmax_version and test_fallback_scsv
    on systems using OpenSSL 1.1.1 with a system-wide configuration file
    that specifies MinProtocol=TLSv1.2.

    http://rubyci.s3.amazonaws.com/debian11/ruby-master/log/20250228T003003Z.fail.html.gz
    http://rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20250228T003003Z.fail.html.gz

    These test cases were already broken before the commit, but they were
    being skipped because check_supported_protocol_versions failed to detect
    TLS 1.1 support. To avoid affected by the configuration file, explicitly
    reset SSLContext#min_version when TLS 1.1 or older is required.

    The test cases are also broken with OpenSSL 3.0 or later, but this is
    not currently visible because it still fails to detect TLS 1.1 support.
    This is caused by the default SSLContext#security_level value, as
    OpenSSL 3.0 changed TLS 1.1 to be disabled at level 1.

    https://github.com/ruby/openssl/commit/6d0ea81b5e

commit 42c0722f83d7ed60360bbaf17f2d45e7cfe7d121
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-28 12:55:46 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-28 12:55:46 +0900

    [DOC] Fix the comment for RUBY_CONST_ID and rb_intern

    RUBY_CONST_ID has never been deprecated; `rb_intern` is handy but it
    is using non-standard GCC extensions and does not cache the ID with
    other compilers.

commit 3294d3d4571bd50a86e701a46ffd70505afdad87
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-28 08:53:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-28 12:34:57 +0900

    [rubygems/rubygems] Skip default gems executable example with Windows platform

    https://github.com/rubygems/rubygems/commit/b4a8bda811

commit 0cac191c6e938e04bc2781d6766c98445a05a170
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-27 20:49:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-28 12:34:57 +0900

    [rubygems/rubygems] Update version for broken executables with default gems

    https://github.com/rubygems/rubygems/commit/d2f90a81d9

commit 19bdcc8f0c1f08b60aa41044ba5b78b55a5c650e
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2025-02-22 10:57:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-28 12:34:57 +0900

    [rubygems/rubygems] Retry gracefully on blank partial response in compact index

    https://github.com/rubygems/rubygems/commit/fafb9ae090

commit 223f37c00271001cc522cf00822bae6bbe7340ea
  Author:     Maciek Rząsa <maciejrzasa@gmail.com>
  AuthorDate: 2025-02-21 19:39:47 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-02-28 12:34:38 +0900

    Improve tests for small UTF regex with case fold.

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12787

commit a50fbc56a30a0665102781019029e9cf9ddb3576
  Author:     Maciej Rzasa <maciejrzasa@gmail.com>
  AuthorDate: 2025-02-21 08:42:05 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-02-28 12:34:38 +0900

    Use mbuf instead of bitset for character class for small UTF.  Fixes #16145

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12787

commit 025832c3859c4369ed12ace13e35523bd04116fe
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-28 05:53:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-28 09:28:24 +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 d4b8da66ca9533782d2fed9762783c3e560f2998
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-27 22:56:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-28 02:18:02 +0900

    [ruby/openssl] ssl: refactor check_supported_protocol_versions

    As reported in <https://github.com/ruby/ruby/pull/12823>,
    check_supported_protocol_versions is unstable and occasionally fails
    with Errno::ECONNABORTED during SSLSocket#connect on Windows.

    When the server-side SSLContext specifies an unsupported SSL/TLS
    protocol version, start_server accepts a TCP connection but closes it
    without reading ClientHello, as SSLSocket#accept immediately raises an
    exception. With Winsock, this can cause the client-side
    SSLSocket#connect to raise Errno::ECONNABORTED.

    While the simplest fix is to add rescue Errno::ECONNABORTED, this method
    can be simplified. Instead, let's set up a server that accepts all
    protocol versions and test client connections with different settings.

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

commit c0f3dcf7958b07e7d2cf008770594bd9c656fb51
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-26 23:25:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-28 02:04:32 +0900

    [ruby/openssl] digest: correct assert_equal usage in test_sha3

    assert_equal accepts an expected value as the first argument.

    https://github.com/ruby/openssl/commit/8faa1d89de

commit f5a74bd645a6b074695fb046b44d50967c468a83
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-26 23:00:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-28 02:04:32 +0900

    [ruby/openssl] digest: always run SHA-3 and truncated SHA-2 tests

    The "pend" are no longer necessary, as they work with all OpenSSL
    variants we currently support. They were added in OpenSSL 1.1.1 and
    LibreSSL 3.8.0. They are also supported by the current AWS-LC release.

    This makes the SHA-3 tests run with AWS-LC correctly. AWS-LC does not
    report SHA-3 in OpenSSL::Digest.digests.

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

commit 9994a95790fe2c8c69625543b9078c105213cd2c
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-25 20:38:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-28 02:04:16 +0900

    [ruby/openssl] ssl: manually craft invalid SAN extensions in tests

    Starting with LibreSSL 3.5, OpenSSL::X509::ExtensionFactory refuses to
    create SAN extensions that are not valid according to RFC 6125. While
    this behavior makes sense, we need such invalid extensions to test our
    own validation routine. Let's construct SAN extensions manually instead.

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

commit 244363b23e5e14cedbeb99a4fb24b1576ff44ffe
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2025-02-25 00:23:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-28 02:01:57 +0900

    [ruby/openssl] Use ENV["TEST_RUBY_OPENSSL_FIPS_ENABLED"] instead of OpenSSL::OPENSSL_FIPS.

    As OpenSSL::OPENSSL_FIPS always returns true on OpenSSL >= 3.0.0, we cannot use
    this constant as a flag to check whether the OpenSSL is FIPS or not.
    See <https://github.com/ruby/openssl/blob/d725783c5c180337f3d00efcba5b8744e0aea813/ext/openssl/ossl.c#L994-L1004>.

    Skip the test_fips_mode_get_with_fips_mode_set test in AWS-LC case.

    Because we don't test `OpenSSL.fips_mode=` on AWS-LC for now. We cannot change
    the value of the `OpenSSL.fips_mode` on AWS-LC.
    The `OpenSSL.fips_mode` in AWS-LC behaves as follows.

    On AWS-LC non-FIPS:
    ```
    $ bundle exec ruby -I ./lib -ropenssl.so -e 'p OpenSSL.fips_mode'
    false

    $ bundle exec ruby -I ./lib -ropenssl.so -e 'OpenSSL.fips_mode = true; p OpenSSL.fips_mode'
    -e:1:in 'OpenSSL.fips_mode=': Turning on FIPS mode failed (OpenSSL::OpenSSLError)
            from -e:1:in '<main>'

    $ bundle exec ruby -I ./lib -ropenssl.so -e 'OpenSSL.fips_mode = false; p OpenSSL.fips_mode'
    false
    ```

    On AWS-LC FIPS:
    ```
    $ bundle exec ruby -I ./lib -ropenssl.so -e 'p OpenSSL.fips_mode'
    true

    $ bundle exec ruby -I ./lib -ropenssl.so -e 'OpenSSL.fips_mode = false; p OpenSSL.fips_mode'
    -e:1:in 'OpenSSL.fips_mode=': Turning off FIPS mode failed (OpenSSL::OpenSSLError)
            from -e:1:in '<main>'

    $ bundle exec ruby -I ./lib -ropenssl.so -e 'OpenSSL.fips_mode = true; p OpenSSL.fips_mode'
    true
    ```

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

commit 4f19f23036a873ff718ac3b2253101d85890b919
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-27 19:53:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-27 19:53:24 +0900

    Use erb for simple executable example

commit 921ca9d8a83aff50d04cec8d788bf43631702dd5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-27 19:50:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-27 19:50:14 +0900

    Use syntax_suggest instead of erb executable.

    erb is only working with Ruby 3.5dev.

commit 2dff416ff2a5465518c080fcb0fe60e29e149f25
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-02-27 16:55:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-27 16:55:54 +0900

    Increase timeout in TestParallel testing to reduce flaky failures (#12822)

    Currently, the following tests are flaky and failing intermittently, so I'm going to increase the timeout to improve stability.

    ```
        1) Failure:
      TestParallel::TestParallel#test_hungup [/Users/runner/work/ruby/ruby/src/tool/lib/zombie_hunter.rb:6]:
      Expected [[42009, #<Process::Status: pid 42009 SIGKILL (signal 9)>]] to be empty.

        2) Error:
      TestParallel::TestParallel#test_hungup:
      Test::Unit::ProxyError: execution expired
          /Users/runner/work/ruby/ruby/src/lib/timeout.rb:40:in 'Timeout::Error.handle_timeout'
          /Users/runner/work/ruby/ruby/src/lib/timeout.rb:194:in 'Timeout.timeout'
          /Users/runner/work/ruby/ruby/src/tool/test/testunit/test_parallel.rb:210:in 'TestParallel::TestParallel#test_hungup'

    ```
    https://github.com/ruby/ruby/actions/runs/13560087551/job/37901506230#step:14:105

    ```
        1) Error:
      TestParallel::TestParallel#test_retry_workers:
      Test::Unit::ProxyError: execution expired
          /Users/runner/work/ruby/ruby/src/lib/timeout.rb:40:in 'Timeout::Error.handle_timeout'
          /Users/runner/work/ruby/ruby/src/lib/timeout.rb:194:in 'Timeout.timeout'
          /Users/runner/work/ruby/ruby/src/tool/test/testunit/test_parallel.rb:217:in 'TestParallel::TestParallel#test_retry_workers'
    ```
    https://github.com/ruby/ruby/actions/runs/13559151505/job/37899041580#step:14:106

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 261f8023842b6f90007df68dfc3d88a01a9337a2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-27 15:49:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-27 15:49:31 +0900

    Move irb detection to top-level before(:each) block

commit 3e8bf097ce20acd12b8625d0b9c2353cd69313cb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-27 14:26:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-27 15:48:26 +0900

    Use erb executable instead of irb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12821

commit 48b6c60969e544d0b50e92bab10711d34fed9c27
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-02-27 15:12:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-27 15:12:02 +0900

    [Misc #20661] Stop retrying tests in `make test-all` command by default (#11271)

    [Misc #20661] Stop retrying tests in make test-all command by default

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 9cf5d20e5f355e2d355e3f5426080a9d8467392e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-26 16:35:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-27 13:32:32 +0900

    [ruby/cgi] Bump up v0.4.2

    https://github.com/ruby/cgi/commit/ab84b7fe66

commit cdc55c24520af97fc5d4e31d4db5826cb07e0883
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-26 15:25:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-27 13:32:32 +0900

    [ruby/cgi] Bump up 0.4.2.beta2

    https://github.com/ruby/cgi/commit/8e6fb1041b

commit 61060d349d26f6ae6388b75899ba0a438906efdb
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2025-02-26 06:51:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-27 13:32:32 +0900

    [rubygems/rubygems] Remove MD5 digesting of compact index responses

    It has been over a year since the release, so let's stop MD5ing everything

    https://github.com/rubygems/rubygems/commit/29ef4ca30b

commit 3e78a2f58e60c2cb7a6fdd2aacdea03b31ca21eb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-09-09 20:00:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-27 13:32:32 +0900

    [rubygems/rubygems] Improve error message when on read-only filesystems

    If we fail to write the lockfile, give a better error.

    https://github.com/rubygems/rubygems/commit/81a08d6eda

commit 0d62037fc0626855c36359e4a8a02936b592f9d9
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-26 01:12:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-27 13:32:32 +0900

    [ruby/json] Ensure parser error snippets are valid UTF-8

    Fix: https://github.com/ruby/json/issues/755

    Error messages now include a snippet of the document
    that doesn't parse to help locate the issue, however
    the way it was done wasn't UTF-8 aware, and it could
    result in exception messages with truncated characters.

    It would be nice to go a bit farther and actually support
    codepoints, but it's a lot of complexity to do it in C,
    perhaps if we move that logic to Ruby given it's not a
    performance sensitive codepath.

    https://github.com/ruby/json/commit/e144793b72

commit 75f07afd1897a81a18d3e40b57e8a5731d455827
  Author:     yuuji.yaginuma <yuuji.yaginuma@gmail.com>
  AuthorDate: 2025-02-02 16:11:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-27 13:32:27 +0900

    [ruby/uri] Use a fully qualified name in warning messages

    Currently, some warning messages don't contain a `URI` like the following.

    ```ruby
    warning: URI::ABS_URI is obsolete. Use RFC2396_PARSER.regexp[:ABS_URI] explicitly.
    ```

    But, without `URI` prefix, the suggested value doesn't work.
    So I think we should use a fully qualified name to avoid confusion.

    https://github.com/ruby/uri/commit/428eb10e44

commit 31bd669f67e19f675f8de8b6cf9df74ea2c60103
  Author:     Yuji Yaginuma <yuuji.yaginuma@gmail.com>
  AuthorDate: 2025-01-23 17:44:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-27 13:30:23 +0900

    [ruby/uri] Fix the mention to removed `URI.escape/URI::Escape`

    This was removed by #9.

    https://github.com/ruby/uri/commit/fec924238f

commit d31c15d81f368614f81e8c32295d0529b66e7334
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-27 13:07:43 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-27 13:07:43 +0900

    [DOC] Reference to the idiom from Array#sort

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12820

commit 9394d2084c0d474093fb1fa0754c86f156d152cf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-27 13:00:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-27 13:00:34 +0900

    [DOC] Fix indentation

    Not to make preceding paragraphs a code block.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12820

commit 931ac960b6d11937364b6c4e847fdd575ee67980
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-27 11:07:36 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-27 11:07:36 +0900

    [Bug #21159] module names should not be modifiable

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12819

commit 1b6fddf4db9405d44db8b30493a943d766ddc1cb
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-27 01:22:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-27 05:52:45 +0900

    [DOC] Tweaks for Hash#keep_if

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12816

commit 04e46bd75cae6b327ddf5498258389344bf9bfef
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-27 01:27:13 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-27 05:52:13 +0900

    [DOC] Tweaks for Hash#key

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12817

commit 8dce189078d609340d9a558a1e770a2002a32fa0
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-27 01:31:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-27 05:51:58 +0900

    [DOC] Tweaks for Hash#keys

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12818

commit 3bbb029d449868e5f371cc5c2311366fa33218cb
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-02-26 23:28:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-26 23:28:52 +0900

    [DOC] Tweaks for Hash#invert

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12808

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 43a729b1be1c03499e1fa8475364708f4a1ca39e
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-25 23:57:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-26 23:28:05 +0900

    [DOC] Tweaks for Hash#replace

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12806

commit a870419f3a1f9a12d7458d4a7427d0766ea86911
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-26 00:05:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-26 23:27:55 +0900

    [DOC] Tweaks for Hash#inspect

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12807

commit 237ab21f25b0a062ce6a272e0586d00778a6f20b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-21 15:53:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-26 16:34:04 +0900

    [ruby/cgi] Escape/unescape unclosed tags as well

    https://github.com/ruby/cgi/commit/cd1eb08076

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

commit fc60a04de958d4ba94fbdf82af94017b963dea7e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-21 16:01:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-26 16:34:03 +0900

    [ruby/cgi] Use String#concat instead of String#+ for reducing cpu usage

    https://github.com/ruby/cgi/commit/9907b76dad

    Co-authored-by: "Yusuke Endoh" <mame@ruby-lang.org>

commit eac8b1197f65162233465e1c32e2cef9d6f0d161
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-26 16:12:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-26 16:12:53 +0900

    [ruby/uri] Bump up v1.0.3

    https://github.com/ruby/uri/commit/3213f4a0f8

commit b407b6b5b2dc8071c3b1b623e4399899e851f791
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-21 18:16:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-26 16:08:45 +0900

    [ruby/uri] Fix merger of URI with authority component

    https://hackerone.com/reports/2957667

    https://github.com/ruby/uri/commit/2789182478

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

commit 57dcb4bb9bc44368db3a2ef908f1babc79ea5224
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-21 16:29:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-26 16:08:44 +0900

    [ruby/uri] Truncate userinfo with URI#join, URI#merge and URI#+

    https://github.com/ruby/uri/commit/3675494839

commit ae0853b5f5f4bf78c2bd9e34cad6e5c94bba6224
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-26 15:20:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-26 15:20:36 +0900

    [ruby/cgi] Bump up 0.4.2.beta1

    https://github.com/ruby/cgi/commit/3f5b4ed9e9

commit 0c9f149b4d87cefa1080c1c2f316ad3a8bdd809d
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-02-26 12:50:54 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-26 12:50:54 +0900

    Launchable: Fix `launchable record session` command failures (#12810)

    Currently, the `launchable record session` command is failing some workflows such as YJIT on macOS. This occurs because of word splitting, as explained in https://www.shellcheck.net/wiki/SC2086. This PR addresses the issue.

    ```
    + launchable record session --build refs_pull_12785_merge_5ac818aaf7402e232de6b3e1b078765da3dc6279 --observation --flavor os=macos-14 --flavor test_task=check --flavor test_opts=--enable-yjit --flavor workflow=YJIT macOS Arm64 --test-suite yjit-test-all
    Usage: launchable record session [OPTIONS]
    Try 'launchable record session --help' for help.

    Error: Got unexpected extra arguments (macOS Arm64)
    Error: Process completed with exit code 2.
    ```

    https://github.com/ruby/ruby/actions/runs/13535324545/job/37825826044#step:10:354

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 14192921f5eda76efa85a97ed3f1bfbf48e9a534
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-26 11:13:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-26 11:13:41 +0900

    Check LoadError first

    The message from dlerror is not our concern.

commit 2194e65a98444c1c8fc71c9835000378df18e59c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-26 09:09:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-26 09:09:56 +0900

    Added assertion strings with Xcode 16.3 beta

commit 6efd15a12823883fc94824041f8b3a00927a8364
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2025-02-26 01:07:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-26 07:18:02 +0900

    [ruby/prism] Restore a comment for `Prism::Translation::Parser#initialize`

    This restores the missing method comments in https://github.com/ruby/prism/pull/3479.

    https://github.com/ruby/prism/commit/78b8f67dee

commit 044570fd76d58048ea3deb0693d00a89a746d1b6
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-02-26 01:06:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-26 02:11:39 +0900

    [ruby/prism] Fix merge mishap

    Caused by https://github.com/ruby/prism/pull/3478 and https://github.com/ruby/prism/pull/3443

    I also made the builder reference more explicit to clearly distinquish
    between `::Parser` and `Prism::Translation::Parser`

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

commit 790b3858e8cf076e320a5dd4c5b777a168ceb46e
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-21 18:20:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-26 00:44:56 +0900

    [ruby/prism] Add a custom builder class for the parser translator

    I want to add new node types to the parser translator, for example `itblock`. The bulk of the work is already done by prism itself. In the `parser`
    builder, this would be a 5-line change at most but we don't control that here.

    Instead, we can add our own builder and either overwrite the few methods we need,
    or just inline the complete builder. I'm not sure yet which would be better.

    `rubocop-ast` uses its own builder for `parser`. For this to correctly work, it must explicitly choose to extend the
    prism builder and use it, same as it currently chooses to use a different parser when prism is used.

    I'd like to enforce that the builder for prism extends its custom one since it will lead to
    some pretty weird issues otherwise. But first, I'd like to change `rubocop-ast` to make use of this.

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

commit 2c3d2415d1e5be7e2ca5fa2981068b8584f17c6a
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2025-02-19 02:36:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-26 00:41:29 +0900

    [ruby/prism] Support custom parser in `Prism::Translation::Parser`

    Follow-up to https://github.com/Shopify/ruby-lsp/pull/1849.

    This is an extension of `Prism::Translation::Parser` to implement https://github.com/Shopify/ruby-lsp/pull/1849.
    It is based on the comments in https://github.com/Shopify/ruby-lsp/pull/1849#pullrequestreview-1966020868,
    but also adds a default argument for delegation to `Parser::Base` super class.

    Using this API, https://github.com/rubocop/rubocop-ast/pull/359 has been implemented in RuboCop AST.
    As detailed in https://github.com/rubocop/rubocop-ast/pull/359, this change is expected to improve performance by 1.3x
    for some source code.
    Achieving a 1.3x speedup with such this simple modification is a significant improvement for Ruby LSP and its users.

    https://github.com/ruby/prism/commit/925725291c

commit e0c0e061543431dade1103d54d8c390c9d09afac
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-25 15:05:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-25 15:36:46 +0900

    Skip fiddle assertions if fiddle is not available

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12804

commit 158e4cc4ec4a7554c1805749e160385b9921fd6e
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-21 19:41:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-25 15:36:46 +0900

    [rubygems/rubygems] Improve log message about adding a new platform

    This message is printed when running `bundle lock --add-platform`. This
    command affects the lockfile, not the gemfile, and I think it's better
    to use "You are adding" rather than "You added", because the addition is
    happening during the current invocation (as opposed to other log
    messages that talk about a change made to the Gemfile prior to running
    the command).

    https://github.com/rubygems/rubygems/commit/aba1e55f5b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12804

commit 528471927307552efac5ff7e999df47dcb0bced2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-21 19:39:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-25 15:36:46 +0900

    [rubygems/rubygems] Refactor handling platform removals

    And make it consistent with platform additions.

    https://github.com/rubygems/rubygems/commit/64342ae404

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12804

commit 8b952e6489e1cb9955f62e32736e8dc7ff86fa91
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-21 19:38:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-25 15:36:46 +0900

    [rubygems/rubygems] Improve log message when resolving due to local platform not in lockfile

    Current it says "you added a new platform to your gemfile", but that's
    not actually the case here.

    https://github.com/rubygems/rubygems/commit/1e39527a38

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12804

commit 71f0c37473224580d7c67091588f1a32e64c9a53
  Author:     Edouard CHIN <chin.edouard@gmail.com>
  AuthorDate: 2025-02-21 05:15:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-25 15:36:46 +0900

    [rubygems/rubygems] Modify `bundle doctor` to not report issue when files aren't writable:

    - ### Problem

      Running `bundle doctor` warn about files that aren't writable.
      This makes the output of `bundle doctor` very verbose for something
      I believe isn't really an issue.

      ### Context

      Rubygems keeps the files original permission at the time the gem
      is packaged.
      Many gem maintainers have decided that the permissions of the files
      in their bundled would be 0444, this includes amongst others:
      minitest, selenium, brakeman...

      Any git gems that had a 0444 permissions at some point in its git
      history would also be reported (as bundle doctor look in the
      `cache/bundler/git/<gem>/object` path).

      While it completely make sense to report when files aren't readable,
      maybe it's worth questioning the usefulness of reporting files
      that can't be written and what problem this causes to the user
      (if any).

      ### Solution

      Removed the check for unwritable file.

      ### Side note

      I also tweaked the "No issues ..." message logic as it was doing
      the opposite (reporting an issue when there is none and vice versa).
      This wasn't caught in tests because as a stub on `Bundler.ui.info`
      was missing.

    https://github.com/rubygems/rubygems/commit/9a426b9495

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12804

commit b7c87ccd79ce14df3b95f413a527be95ac16ff10
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-21 13:52:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-25 15:36:46 +0900

    [rubygems/rubygems] Added fiddle dependency for TestGemExtCargoBuilder

    https://github.com/rubygems/rubygems/commit/a7c6696ffd

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12804

commit ea8b0017b25e283c603ab84055b7c7db3a26f560
  Author:     Andrii Konchyn <andry.konchin@gmail.com>
  AuthorDate: 2025-02-25 06:03:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-25 15:36:46 +0900

    [ruby/strscan] Enable tests passing on TruffleRuby
    (https://github.com/ruby/strscan/pull/144)

    Changes:
    - enabled tests passing on TruffleRuby
    - removed `truffleruby` and keep only `truffleruby-head` in CI

    https://github.com/ruby/strscan/commit/4aadfc8408

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12804

commit 018943ba0557cb78d429caf4a6d536faa94a95ca
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2025-02-23 16:52:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-25 15:36:46 +0900

    [ruby/strscan] Fix a bug that inconsistency of IndexError vs nil for
    unknown capture group
    (https://github.com/ruby/strscan/pull/143)

    Fix https://github.com/ruby/strscan/pull/139

    Reported by Benoit Daloze. Thanks!!!

    https://github.com/ruby/strscan/commit/bc8a0d2623

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12804

commit 36ab247e4d2fa7fa82142d9f70b340b28da05274
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2025-02-23 10:21:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-25 15:36:46 +0900

    [ruby/strscan] Fix a bug that scanning methods that don't use Regexp
    don't clear named capture groups
    (https://github.com/ruby/strscan/pull/142)

    Fix https://github.com/ruby/strscan/pull/135

    https://github.com/ruby/strscan/commit/b957443e20

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12804

commit 021ccbf7e8e34a1ae7af2d8411ed6dc4e5e8f980
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-02-25 12:37:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-25 12:38:04 +0900

    [ruby/pp] Ensure the thread local state is always set up.
    (https://github.com/ruby/pp/pull/38)

    https://github.com/ruby/pp/commit/5b5d483ac2

commit d32fa5283f1197f2dfbd1f22d06515035095ecee
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-02-25 12:37:21 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-25 12:37:21 +0900

    Prefer `0.000001` over `0.000001f` for timeout calculations. (#12803)

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit 3198b46a36feddabe5bbdcae253e5895e31f182a
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-02-24 18:56:31 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-02-25 10:29:15 +0900

    s/TERMINTOR/TERMINATOR/

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12800

commit 8749a131cee87434b717cad6a0960443ae66d773
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-23 01:38:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-25 09:27:41 +0900

    [DOC] Tweaks for Hash#include?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12797

commit 0615df2a844280b5d0a988e10b2c8d0af7e27b89
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-22 07:04:47 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-25 09:27:31 +0900

    [DOC] Tweaks for Hash#hash

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12793

commit 19f7961e46b2c5817b8eb27510c890d623ac14b3
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-02-25 09:26:50 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-25 09:26:50 +0900

    [DOC] Tweaks for Hash#flatten

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12792

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit aa7b5e2df4e2acbc571998161ff4542b97b9d735
  Author:     Kunshan Wang <wks1986@gmail.com>
  AuthorDate: 2025-02-21 17:52:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-25 08:30:00 +0900

    [ruby/mmtk] Trigger forced GC in GC.start

    We now use `MMTK::handle_user_collection_request(true, ...)` to force
    triggering a GC instead of enabling GC temporarily.

    https://github.com/ruby/mmtk/commit/02ef47f818

commit 97e6ad49a4604e7e4ca04da2aaafc63cbd5d29d8
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-24 22:42:09 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-02-25 02:32:46 +0900

    Reuse the backref if it isn't marked as busy.

    [Misc #20652]

commit 87f9c3c65e38fa3e5c6ef097e2cf63ff448f48d6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-24 19:39:00 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-02-25 02:32:46 +0900

    String#gsub! Elide MatchData allocation when we know it can't escape

    In gsub is used with a string replacement or a map that doesn't
    have a default proc, we know for sure no code can cause the MatchData
    to escape the `gsub` call.

    In such case, we still have to allocate a new MatchData because we
    don't know what is the lifetime of the backref, but for any subsequent
    match we can re-use the MatchData we allocated ourselves, reducing
    allocations significantly.

    This partially fixes [Misc #20652], except when a block is used,
    and partially reduce the performance impact of
    abc0304cb28cb9dcc3476993bc487884c139fd11 / [Bug #17507]

    ```
    compare-ruby: ruby 3.5.0dev (2025-02-24T09:44:57Z master 5cf146399f) +PRISM [arm64-darwin24]
    built-ruby: ruby 3.5.0dev (2025-02-24T10:58:27Z gsub-elude-match da966636e9) +PRISM [arm64-darwin24]
    warming up....

    |                 |compare-ruby|built-ruby|
    |:----------------|-----------:|---------:|
    |escape           |      3.577k|    3.697k|
    |                 |           -|     1.03x|
    |escape_bin       |      5.869k|    6.743k|
    |                 |           -|     1.15x|
    |escape_utf8      |      3.448k|    3.738k|
    |                 |           -|     1.08x|
    |escape_utf8_bin  |      6.361k|    7.267k|
    |                 |           -|     1.14x|
    ```

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

commit 21ac0a3a640a2a86e8716675f82221f178e29088
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-24 23:20:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-24 23:20:12 +0900

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

    It was defined in `arg` only; moved that pattern to `op_asgn` rule to
    share it with `command_asgn`.

commit c27f433d7c0ddb13501f7e19a0158da3aec1577c
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2025-02-24 18:10:56 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-02-24 18:47:58 +0900

    Fix RUBY_PAGER in manpage

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12799

commit 5cf146399f5961513c2ee1697368e4c5a1c492ce
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2025-02-22 16:19:37 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-02-24 18:44:57 +0900

    Merge NODE_LINE and NODE_ENCODING cases in cond0 function

    NODE_LINE and NODE_ENCODING cases are used SWITCH_BY_COND_TYPE macro that is same to NODE_INTEGER and other cases.
    NODE_LINE and NODE_ENCODING cases can be marge to NODE_INTEGER and other node cases.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12794

commit dfc25204235079e23eadf9e0ba860c1ebcb14325
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2025-02-23 10:37:36 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2025-02-23 10:37:36 +0900

    [doc] update Time document.

commit fd882fb6819fb8b48b09e24ff71748d1bae35e43
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 11:12:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:40 +0900

    [ruby/openssl] test_ssl_session.rb: test adjustments to work with AWS-LC

    The SSL SESSION files we were originally testing against use DHE and
    SSLv3. AWS-LC happens to have no support for either and we have newer
    possible alternatives available, so I've updated the respective
    files to use ECDHE-RSA-AES256-SHA with TLS 1.1 and 1.2. I've verified
    that these work as expected with all libcryptos we support.

    There are also a few SSL session discrepencies in AWS-LC when
    compared to OpenSSL.

    1. AWS-LC has no support for internal session caching on the
       client-end.
    2. AWS-LC supports internal session caching on the server, but
       SSL_get1_session does not return a resumable session with TLS 1.3
       in AWS-LC. Users have to use the SSL_CTX_sess_set_new_cb
       (ctx.session_new_cb in Ruby) to retrieve the resumable session
       ticket.
    3. AWS-LC has no current support for external session caching in TLS
       1.3.

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

commit 7a15ba48b58c57bbfbe77b41d172f37f542dc59d
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 11:09:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:40 +0900

    [ruby/openssl] ssl: account for slight behavioral differences in AWS-LC

    There are a few SSL discrepencies in AWS-LC when compared to OpenSSL.

    1. AWS-LC has slightly different error messages (in all-caps).
    2. AWS-LC has no support for DHE ciphersuites.
    3. There are no concepts of SSL security levels within AWS-LC.
    4. Similar to LibreSSL, there is no support for OPENSSL_CONF.

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

commit 4ec0e9e25d32f54f0778b3b78acbc1e002bde825
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 11:00:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:40 +0900

    [ruby/openssl] pkey/ec: AWS-LC disallows serialization of explicit curves

    https://github.com/ruby/openssl/commit/65c5a772ea

commit 23465d8446fa32c7a76f0e11c4bf8f1e56e98e9e
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 10:59:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:39 +0900

    [ruby/openssl] pkey/dh: tweak break tests for AWS-LC

    We reecently tweaked some break tests in test_pkey_dh.rb due to
    different behavior with OpenSSL in FIPS mode.
    AWS-LC does not inherit the same specific behavior, so tests
    have been adjusted accordingly.

    https://github.com/ruby/openssl/commit/3117897dbc

commit 841d9f259dbe70fa35b4634b5c90d2c33e51c3f9
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 10:52:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:39 +0900

    [ruby/openssl] pkey: EVP_DigestVerify doesn't return -1 in AWS-LC

    EVP_DigestVerify in OpenSSL returns 0 to indicate a signature
    verification failure and can return -1  to indicate other
    failures, such as invalid ASN1 contents. ruby/openssl also
    reflects that by returning false with 0 and raising an error
    with -1.
    EVP_DigestVerify in AWS-LC simply returns 0 for any failure.

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

commit f63a123606286eadd812313a4ea42af8ea8c686f
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 10:45:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:38 +0900

    [ruby/openssl] pkey: AWS-LC disallows parsing of invalid keys and params

    OpenSSL allows invalid EC keys or DH params to be parsed. The consuming
    application can then run parameter/key checks to check the validity of
    the parameters. We happen to run tests to verify that this behaves as
    expected.
    AWS-LC on the other hand, directly raises an error and disallows the
    invalid state to be parsed, rather than making it parsable and checking
    the validity later. Relevant tests have been adjusted accordingly to
    reflect this.

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

commit 6263d0d16bbe18fa210d2d67816dbd14272e109e
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 10:38:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:38 +0900

    [ruby/openssl] test_pkcs7.rb: skip AWS-LC's unsupported features

    1. AWS-LC has no support for SMIME with PKCS7. That may change in the
       near future, so I've marked that with "pend" for now.
    2. AWS-LC doesn't support printing of PKCS7 contents with
       PKCS7_print_ctx.
    3. OpenSSL traditionally used indefinite-length encoding with
       ASN1_TFLG_NDEF in its implementation for PKCS7 EncryptedContent.
       AWS-LC uses explicit OCTET STRING headers to encode instead,
       which leads to a slight difference in serialized ASN1 contents
       from the two libraries.

    https://github.com/ruby/openssl/commit/78c585a9c2

commit b995eee81183c793c36ad87715e23d2e96bd8f5f
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 10:37:17 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:38 +0900

    [ruby/openssl] asn1: adjusting an ASN1 test to use CONTEXT_SPECIFIC

    AWS-LC's ASN1 parsing capabilities led to us examine some of our
    ASN1 tests. One test in test_asn1.rb happens to use a tag number
    of 8224. There are concerns with larger UNIVERSAL tags being
    ambiguous with negative ASN1 Integers, so I've adjusted the test
    to use CONTEXT_SPECIFIC instead with the same tag number (8224).

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

commit c4a39d6ebccdc5cf6a04fc7238e40a8a45749b86
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 10:31:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:37 +0900

    [ruby/openssl] test_config.rb: skip AWS-LC's unsupported features

    AWS-LC has a few minor functionalities removed from NCONF_get_string.

    1. Expanding of $foo to a previously-parsed value was removed.
    2. OpenSSL falls back to using "default" with an unknown "section".
       AWS-LC does not support this behavior.
    3. AWS-LC does not support parsing environment variables with "ENV"
       like LibreSSL.

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

commit ee5af8860f15485745a8e37c19f28704e94be7bd
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 10:13:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:37 +0900

    [ruby/openssl] test_bn.rb: AWS-LC does not support BN::CONSTTIME

    AWS-LC does not support BN_FLG_CONSTTIME due to its historically
    inconsistent constant-time guarantees.

    https://github.com/ruby/openssl/commit/9875a01b5f

commit f14995e2123e57e5412f1ac573445c2ba550ee2a
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 10:02:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:37 +0900

    [ruby/openssl] test_pkcs12.rb: don't use KEY_EX/SIG with AWS-LC

    AWS-LC does not support the KEY_SIG or KEY_EX flags that were only ever
    supported by old MSIE.

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

commit 6f3bd3769b0e962fc029fcaf8fbf10f06600693d
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-02-12 09:45:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-23 00:11:36 +0900

    [ruby/openssl] test_fips.rb: account for AWS-LC's FIPS mode

    AWS-LC's FIPS mode is decided at compile time. FIPS in AWS-LC can't be
    toggled on and off like OpenSSL, so tests that attempt to do so are
    incompatible.

    https://github.com/ruby/openssl/commit/027de6732d

commit d6f44535c6482e895483c0c28c9a35bcf5e4fd88
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-22 19:14:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-22 19:14:33 +0900

    [DOC] Fix a typo

commit b17f984e4e903d3ece3013c1488279d1947dfc39
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2025-02-22 10:29:37 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2025-02-22 10:29:37 +0900

    [doc] Time class document updated.

commit 4963d393ca1b05dafaf97b7adc15075808ab464e
  Author:     Tanaka Akira <akr@fsij.org>
  AuthorDate: 2025-02-22 10:09:32 +0900
  Commit:     Tanaka Akira <akr@fsij.org>
  CommitDate: 2025-02-22 10:09:32 +0900

    Add description for Socket::Ifaddr#flags.

commit 412997300569c1853c09813e4924b6df3d7e8669
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-21 23:25:59 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-22 01:53:51 +0900

    [DOC] Tweaks for Hash#fetch_values

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12791

commit 7ef9110b1eaefbcbf72f25ad941c2c3b7ed3db01
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-21 19:40:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-21 21:06:19 +0900

    [ruby/stringio] Fix SEGV at unget to a null device StringIO

    https://github.com/ruby/stringio/commit/eb4ee49218

commit fa6b9f75efa8411829aa987b81b9c5ca0e081462
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-21 19:39:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-21 21:06:19 +0900

    [ruby/stringio] Suppress a warning for the chilled string

    https://github.com/ruby/stringio/commit/4a35291ed3

commit a1bdc364439744b72f5b7a0414ed9395a5f689dc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-21 19:06:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-21 19:06:27 +0900

    Use an exclusive range for `ruby_version_is`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12790

commit 1bc57b5e0e3cd15e8702c8856a276e98b6e46ba8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-21 17:53:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-21 17:53:16 +0900

    [Bug #21150] macOS: Temporary workaround at unwinding coroutine

    On arm64 macOS, libunwind (both of system library and homebrew
    llvm-18) seems not to handle our coroutine switching code.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12789

commit d97884a58be32e829fd03a80cd521f4733d65c79
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-21 15:19:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-21 15:20:13 +0900

    [ruby/cgi] Use license files same as ruby/ruby

    https://github.com/ruby/cgi/commit/defbdf9a30

commit f8750dd87f91482283838090a801a313aa1f215c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-21 11:36:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-21 11:36:19 +0900

    Bump up development version of stringio

commit ee2c7bcae5d8c96f41305e1a24739493121ef49b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2022-09-09 18:18:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-21 11:31:49 +0900

    [rubygems/rubygems] Allow noop `bundle install` to work on read-only or protected folders

    As long as there's nothing new to install and gems are already there.

    If not, give a meaningful error about what happened.

    This was how things already worked until
    https://github.com/rubygems/rubygems/commit/345ec45f5a87, so this commit partially
    reverts that change.

    https://github.com/rubygems/rubygems/commit/794b0ecb39

commit ca46a159911e100ced3d4c96a4ee8291b8e0954e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-20 15:54:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-21 11:31:47 +0900

    [rubygems/rubygems] bin/rubocop -a --only Style/RedundantParentheses

    https://github.com/rubygems/rubygems/commit/24d4281d86

commit 425cfcff8579bfef64264ba2f644b717c5248b80
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-20 15:54:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-21 11:31:47 +0900

    [rubygems/rubygems] bin/rubocop -a --only Style/MultipleComparison

    https://github.com/rubygems/rubygems/commit/677e17aa2e

commit cdbadafd25a5fc9af00d9495236396beaf329619
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-19 03:01:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-21 11:31:44 +0900

    [rubygems/rubygems] Fix resolver issue due to ill-defined version ranges being created

    https://github.com/rubygems/rubygems/commit/f2f2ac9680

commit bf6c106d5467b51efb88fe6252093a59dbeeddee
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-20 18:25:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-21 11:31:36 +0900

    [ruby/strscan] `scan_integer(base: 16)` ignore x suffix if not
    followed by hexadecimal
    (https://github.com/ruby/strscan/pull/141)

    Fix: https://github.com/ruby/strscan/issues/140

    `0x<EOF>`, `0xZZZ` should be parsed as `0` instead of not matching at
    all.

    https://github.com/ruby/strscan/commit/c4e4795ed2

commit 7d7984642ce11c48c5f0bc1627f50ff097b9e7f5
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2025-02-21 09:37:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-21 09:37:40 +0900

    [ruby/stringio] Allow seek when underlying string is frozen
    (https://github.com/ruby/stringio/pull/121)

    Fixes https://github.com/ruby/stringio/pull/119. Adds a test for this expectation.

    https://github.com/ruby/stringio/commit/3f90fe44c6

commit 0f1cb9234574d3d39c85b5b98a306306e20f068b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-21 03:58:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-21 04:35:38 +0900

    [ruby/mmtk] Fix compatibility for Rust 1.85

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

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

    chmod -x tool/ruby_vm/models/bare_instructions.rb

    We run only tool/insns2vm.rb as the executable. It seems confusing to
    have an executable flag on this file.

commit 34098b669c0cbc024cd08e686891f1dfe0a10aaf
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-20 15:34:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-20 15:34:32 +0900

    [Bug #21144] Win32: Convert the time zone name to the current locale

    The Windows time zone IDs provided by Microsoft as of 24H1 are ASCII
    only all, but the API itself is not impossible to set non-ASCII key
    name.  Prefer the current locale encoding for now until we move to
    UTF-8 including environment variables and command line arguments.

commit 556be73cbbf3845c448ca4f546411be18d523f33
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-19 16:39:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-20 12:58:45 +0900

    [rubygems/rubygems] gem server command is extracted from rubygems core feature now

    https://github.com/rubygems/rubygems/commit/b29f8d6a37

commit 63600d79dc265893b17c2e3a549898d16fa6e64d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-15 00:33:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-20 12:58:44 +0900

    [rubygems/rubygems] Fix lockfile platforms inconveniently added on JRuby

    When working with our repository on JRuby locally, I get the following
    changes when running `bin/rake setup` in all of our lockfiles

    ```diff
    diff --git a/tool/bundler/dev_gems.rb.lock b/tool/bundler/dev_gems.rb.lock
    index https://github.com/rubygems/rubygems/commit/362bf25690d..https://github.com/rubygems/rubygems/commit/74550b2a408 100644
    --- a/tool/bundler/dev_gems.rb.lock
    +++ b/tool/bundler/dev_gems.rb.lock
    @@ -66,6 +66,7 @@ PLATFORMS
       java
       ruby
       universal-java
    +  universal-java-22
       x64-mingw-ucrt
       x86-linux
       x86_64-darwin
    ```

    This is inconvenient, so I applied the same strategy we already use on
    non JRuby implementations to not add the current platform to the
    lockfile if a less specific platform is already there.

    https://github.com/rubygems/rubygems/commit/812b9cd1e8

commit 7605d680625896d728a4e493ae0ff2963967dccd
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-02-20 09:32:22 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-02-20 10:20:06 +0900

    Revert "refactor: make get_local_variable_ptr accept "rb_env_t *""

    This reverts commit 6d75599a1aade9f8081d0691a9da1e62a5428e95.

    Updating env was actually needed in local_variable_set.
    Alan Wu pointed this out to me.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12783

commit a27758ad4e6a24110f11f16cf62464981dc041a2
  Author:     Aaron Patterson <119901895+tenderworks@users.noreply.github.com>
  AuthorDate: 2025-02-20 09:18:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-20 09:18:08 +0900

    [ruby/stringio] Make sure shared buffer is copied on mutation
    (https://github.com/ruby/stringio/pull/117)

    We need to ensure shared buffers are made independent on mutation.
    Otherwise we could end up mutating unrelated string buffers.

    ---------

    https://github.com/ruby/stringio/commit/5101cfb030

    Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
    Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
    Co-authored-by: Aaron Patterson <aaron.patterson@gmail.com>
    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>

commit c515da3d74779bd725f5bc60d6514d325515df0e
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-19 03:15:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-20 02:08:16 +0900

    [ruby/openssl] ssl: remove cert_store from start_server test helper

    OpenSSL::SSL::SSLContext#cert_store= uses SSL_CTX_set_cert_store(). The
    store is used for verifying peer certificates and for building
    certificate chains to be sent to the peer if there is no chain
    explicitly provided by SSLContext#extra_chain_cert=.

    Do not specify it in the common test helper start_server, as most
    callers do not require either function. Instead, update individual test
    cases that use client certificates to explicitly specify it in ctx_proc.
    A more direct test case is added to verify the latter function.

    https://github.com/ruby/openssl/commit/9daecee615

commit 49e229b3fca15f85889f66a4cc56c55d3bd44b43
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-19 23:56:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-19 23:56:17 +0900

    Fix value of RB_GC_OBJECT_METADATA_ENTRY_COUNT

    There are 7 entries in RB_GC_OBJECT_METADATA_ENTRY_COUNT.

commit ff6b1a03abc034eee88327958a6ce8911fbdfe0d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-19 04:02:49 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-19 23:47:28 +0900

    Skip TestObjSpace#test_dump_flag_age for MMTk

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12777

commit 5e45f2a0bce9a94b1b5f9eda615344e74a39e597
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-19 03:45:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-19 23:47:28 +0900

    Add age to rb_gc_object_metadata

    This will allow ObjectSpace.dump to output the age of the object.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12777

commit 5acfe30880294cd4129c811f1d6d814ef1d62e70
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-19 03:21:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-19 23:47:28 +0900

    Implement rb_gc_object_metadata for MMTk

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12777

commit 7b6e07ea93cfc42bfb8bdf875555d2c8c7d5e507
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-19 02:58:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-19 23:47:28 +0900

    Add rb_gc_object_metadata API

    This function replaces the internal rb_obj_gc_flags API. rb_gc_object_metadata
    returns an array of name and value pairs, with the last element having
    0 for the name.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12777

commit 273e35cdcc04c6c68066a963157896472a2d1eb3
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-19 06:10:28 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-19 23:46:52 +0900

    [DOC] Tweaks for Hash#fetch

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12780

commit a46997a8f70c3f4640c07c719de82b8d612354cf
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-19 05:50:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-19 23:46:04 +0900

    [DOC] Tweaks for Hash#except

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12779

commit 188b3375b0668c71fa46eba8e0fc7628867c148e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-02-19 23:45:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-19 23:45:27 +0900

    [DOC] Tweaks for Hash#eql?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12778

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 3f07bc76ff6a11232d9f18e5eaa31835c195e8f0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-17 21:46:47 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-02-19 18:27:32 +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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12765

commit bd84c75a013042f4feefa4616ab119394b3bbf24
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2025-02-18 19:30:17 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2025-02-19 13:54:51 +0900

    [wasm] Update WASI SDK to 25

    to include WASI Preview 2 related changes added in the SDK.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12772

commit eac35edfd1101e8f7c34dbdd7b595fdac8f0ad4c
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2025-02-19 01:06:36 +0900
  Commit:     Yuta Saito <kateinoigakukun@gmail.com>
  CommitDate: 2025-02-19 11:46:12 +0900

    [wasm] Stop using mprotect(PROT_NONE) on WASI

    we had been using a stub weak definition of `mprotect` in wasm/missing.c
    so far, but wasi-sdk 23 added mprotect emulation to wasi-libc[^1], so the
    emulation is now linked instead. However, the emulation doesn't support
    PROT_NONE and fails with ENOSYS, so we need to avoid calling mprotect
    completely on WASI.

    [^1]: https://github.com/WebAssembly/wasi-libc/commit/7528b13170462c82e367d91ae0ecead84e470ceb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12776

commit 4f7dfbe58ee2915b0724251c6464c9b4e0c34245
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-19 03:34:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-19 11:04:09 +0900

    [rubygems/rubygems] Remove no longer necessary JRuby specific test ENV

    It does not seem noisy anymore.

    https://github.com/rubygems/rubygems/commit/060c5e960a

commit 5d8fe7a595567803b822c1455f6dfba2f8ffa8d5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-18 21:13:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-19 11:04:09 +0900

    [rubygems/rubygems] Make sure empty gems are not reinstalled every time

    Unfortunately this requires reverting a previous enhancement of
    reinstalling gems if they incorrectly ship with an empty installation
    dir.

    However, there's no way to distinguish this kind of bad state from a gem
    that's empty for real, for example, sorbet-static-and-runtime.

    This reverts commit https://github.com/rubygems/rubygems/commit/9720a9b980d2, and adds a
    spec to make sure empty gems are not reinstalled every time.

    https://github.com/rubygems/rubygems/commit/7c102394af

commit da976629963104ae6315cbe4f182c749503a58ee
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-18 21:50:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-19 11:04:09 +0900

    [rubygems/rubygems] Don't add gemspec to specification list of our test gems

    Real gems hardly ever do this, so don't do it ourselves for testing
    either.

    https://github.com/rubygems/rubygems/commit/2c8960cfb4

commit 68f0150ff0402746e0fee21a287aabf7d7900523
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-02-15 07:58:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-19 11:04:09 +0900

    [ruby/json] Pass through all options if present.

    https://github.com/ruby/json/commit/bea96e0a69

commit f423f6e10c0c226dfed98e7cb7a5d489191dfa35
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2025-02-18 10:23:14 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2025-02-19 10:18:16 +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]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12771

commit 6e510d78c02d78d335f09f5175c73c4794fe0378
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-02-19 08:48:33 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-19 08:48:33 +0900

    Launchable: Remove unused file names (#12782)

    I found file names that were not used anymore. I'm gonna delete them in this PR.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 0597cbcb1d895028e954db9711681e987c56729d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-19 06:26:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-19 07:09:28 +0900

    Fix crash for special constants in too complex generic ivars

    We should skip reference updating for entries in too complex generic ivars
    that are special constants. This fixes the following crash:

        MAX_SHAPES = 0x80000

        MAX_SHAPES.times do |i|
          o = []
          o.instance_variable_set(:"@foo#{i}", 1)
        end

        o = []

        o.instance_variable_set(:"@a", 123)

        GC.compact

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12781

commit 27ba268b75bbe461460b31426e377b42d4935f70
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-02-19 05:29:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-19 05:29:27 +0900

    [DOC] Tweaks for Hash#empty?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12775

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit fd134cf6d2af656f94a6bb1a2a251f66b5ad1bf8
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-19 00:10:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-19 05:02:05 +0900

    [DOC] Tweaks for Hash#each_value

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12774

commit eafcdc153560fd391dabd60705cb88e3f72d7b47
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-18 23:51:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-19 00:04:58 +0900

    [DOC] Tweaks for Hash#each_key

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12773

commit e9ba334fd1655c09ad30030773f43e3b710a4a91
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2025-02-18 21:09:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-18 21:09:06 +0900

    Tweak: Add prefix to non-static function names (#12764)

    to avoid conflicts with other functions.
    This was pointed out in https://github.com/ruby/ruby/pull/11653#discussion_r1837356617 , but it was not fixed at that time.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit cfca348436e0a9da2bb2d4402a4003601501ef0e
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-02-18 17:49:29 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-02-18 17:49:29 +0900

    Add the behavior change of Binding#local_variable* to NEWS.md

commit 3a0d00ddfbcf564765a27570df113f6dfdbfe484
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-02-14 10:50:34 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-02-18 16:23:24 +0900

    Add a test for Binding#local_variable* with numbered parameters and `it`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12746

commit 993fd96ce6bb763e08207bb3d53824d5d46d07a4
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-01-20 17:41:08 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-02-18 16:23:24 +0900

    reject numbered parameters from Binding#local_variables

    Also, Binding#local_variable_get and #local_variable_set rejects an
    access to numbered parameters.

    [Bug #20965] [Bug #21049]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12746

commit 6d75599a1aade9f8081d0691a9da1e62a5428e95
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-01-20 17:35:12 +0900
  Commit:     Yusuke Endoh <mame@ruby-lang.org>
  CommitDate: 2025-02-18 16:23:24 +0900

    refactor: make get_local_variable_ptr accept "rb_env_t *"

    ... instead of "rb_env_t **" because no one uses the updated env.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12746

commit 39960cd748e969dd2bc711a7913fe4c0b00e7fd4
  Author:     Martin Emde <me@martinemde.com>
  AuthorDate: 2025-02-18 02:57:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-18 12:12:55 +0900

    [rubygems/rubygems] Reduce confusion about domains used for testing

    Sometimes security reports believe they have found a vulnerability
    because they find a domain we don't own being used in the rubygems
    repository. Though there is nothing vulnerable about using 'fake'
    domains in tests when they are never hit, it nonetheless reduces
    confusion for everyone if we constrain our test domains to domains
    we actually own and control.

    https://github.com/rubygems/rubygems/commit/e77ebbe2fc

commit 507de2226bcc75b1d0d8c1736cdbe62e46a97916
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-14 03:08:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-18 12:12:54 +0900

    [rubygems/rubygems] Fix Bundler incorrectly downgrading direct dependencies

    There's no reason to call `converge_specs` when adding additional
    lower bound requirements to prevent downgrades, and it actually causes
    the extra requirements to be missed sometimes.

    Loop over the originally locked specs directly, adding the additional
    precaution of not adding the requirement if the Gemfile dependency has
    changed and it no longer matches the locked spec.

    https://github.com/rubygems/rubygems/commit/5154506912

commit 203a570f68b43ce591c5ef1784112725fa0692cd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-14 03:07:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-18 12:12:53 +0900

    [rubygems/rubygems] Add additional assertions to spec

    To make it consistent with the spec above it.

    https://github.com/rubygems/rubygems/commit/9a00bf8db9

commit c5cdabc14a28087eda121ee9735ce457bdcd8ab3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-14 03:06:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-18 12:12:52 +0900

    [rubygems/rubygems] Don't try to skip requirements to prevent downgrades

    These don't really hurt, so I'm not sure why I introduced it.

    https://github.com/rubygems/rubygems/commit/85b6b405ac

commit c77354157f7a0af8de5f16dc1b4f352f4bc1402f
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-12 23:45:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-18 12:12:51 +0900

    [rubygems/rubygems] Fix locked gems being upgraded when locked dependencies are incorrect

    Resolver had internal logic to prioritize locked versions when sorting
    versions, however part of it was not being actually hit because of how
    unlocking worked in the resolver: a package was allow to be unlocked
    when that was explicit requested or when the list of unlocks was empty.
    That did not make a lot of sense and other cases were working because
    the explicit list of unlocks was getting "artificially filled".

    Now we consider a package unlocked when explicitly requested (`bundle
    update <package>`), or when everything is being unlocked (`bundle
    install` with no lockfile or `bundle update`).

    This makes things simpler and gets the edge case added as a test case
    working as expected.

    https://github.com/rubygems/rubygems/commit/b8e55087f0

commit 249881690a70c907a7e4aaa8c4f9476858c21ce3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-12 23:44:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-18 12:12:50 +0900

    [rubygems/rubygems] Add intermediate assertion to spec to help debugging

    https://github.com/rubygems/rubygems/commit/ffabab65f2

commit 592eb02d6cfda4174eb9dcc191b7e44ba42a5fe4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-11 01:17:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-18 12:12:49 +0900

    [rubygems/rubygems] Refactor finding dependency changes

    https://github.com/rubygems/rubygems/commit/d8c4754d8f

commit 63657565eb1e1c8df2e8e1bdc1a256f5fcfc0209
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-10 23:57:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-18 12:12:48 +0900

    [rubygems/rubygems] Extract a `TheBundle#locked_specs` test helper

    https://github.com/rubygems/rubygems/commit/8cbe6573b4

commit 533e894cb524d7d319ae6977fbf2f582a3c3af70
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-10 22:19:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-18 12:12:48 +0900

    [rubygems/rubygems] Improve processing and categorizing unlock information

    https://github.com/rubygems/rubygems/commit/516430c3ec

commit 36f69d5b69711ec3cc27e885a3be2da3e555484c
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-18 03:18:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-18 09:09:33 +0900

    [DOC] Tweaks for Hash#dig

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12768

commit 266088a85a60f23187b74ad0cea7e125a6b783f6
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-18 04:18:08 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-18 09:08:14 +0900

    [DOC] Tweaks for Hash#each_pair

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12769

commit 047a05ea43cc9a621b239fbf16480954398772b6
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-18 02:27:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-18 09:06:22 +0900

    [DOC] Tweaks for Hash#delete_if

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12766

commit 2db365dc83b3bc5e5bc15d93b5cd44b048188361
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-02-18 02:57:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-18 03:12:03 +0900

    [ruby/prism] Fix escape unicode curly inline whitespace

    Fixes [Bug #21145]

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

commit 8324e3148a7737e1adbe8667d6918a141573693f
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-02-18 01:10:48 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-18 01:10:48 +0900

    [DOC] Tweaks for Hash#compact! (#12756)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 657bd31cc74578dfa6002193cf9b98b2b7861a65
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-16 18:54:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-17 18:27:24 +0900

    Trivial optimization

    - Not call `strlen` at the end of the zone name.
    - Use the initialized UTC string.

commit de490a132c358c184939a7e733106ae9b4446787
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-17 16:52:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-17 18:08:37 +0900

    Enabled test_gmp_version

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12763

commit 13c64a8a20592992c2f62b84a4b3c42e2da5de0c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-17 16:27:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-17 18:08:37 +0900

    Pass XINCFLAGS for gmp build with Windows platform

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12763

commit fa5663ea247b83ad497373dc5215abb7bdeb47dd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-17 14:15:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-17 18:08:37 +0900

    Revert "Temporary removed gmp because vcpkg package is broken."

    This reverts commit b56b70a373753fd5c6d1b6df911342c8d0138695.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12763

commit 929e8131f12efad067ded25dca93d2e267df86f2
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2025-02-17 16:00:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-17 16:00:27 +0900

    Update bundled gems list as of 2025-02-16

commit 7032e2d6bc8ff3a046ff17e7a676a1ab8e4070f2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-17 13:19:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-17 13:19:08 +0900

    Check programs for CC in the same path

    When the path of `CC` contains the target program name, e.g., clang,
    the replaced program names were unexpected.  Replace basename part
    only.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12762

commit c1c7934b63d7682216fed9dd7c9ddff5b72fea89
  Author:     Collin Funk <collin.funk1@gmail.com>
  AuthorDate: 2025-02-12 14:07:40 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-02-17 13:05:18 +0900

    [Bug #21128] Include fcntl.h before checking for O_CLOEXEC

    On glibc O_CLOEXEC is defined in fcntl.h and not unistd.h so this change
    prevents the macro from being redefined.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12735

commit c8f4df4ae93cec8825c919bfebaa5f1f744ba09c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-10 23:41:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-17 11:04:39 +0900

    [rubygems/rubygems] Make Bundler never instantiate development dependencies

    Bundler does not really have a concept of "development dependencies",
    like RubyGems has. Bundler has the more generic concept of "groups".

    Under the hood, the `gemspec` DSL will put gemspec development
    dependencies under a `:development` Gemfile group, but there's no reason
    to instantiate these as development dependencies, they are regular
    runtime dependencies, except that they belong in a group named
    :development.

    By never instantiating development dependencies at all, we avoid having
    to introduce hacks to "undo" the type Bundler does not know about, and I
    also think the error messages read better.

    https://github.com/rubygems/rubygems/commit/9a06fa5bda

commit eee9bd1aa44052af1a283051c7f767248ea9d54b
  Author:     NAITOH Jun <naitoh@gmail.com>
  AuthorDate: 2025-02-16 10:48:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-17 11:04:32 +0900

    [ruby/strscan] Fix a bug that scan_until behaves differently with
    Regexp and String patterns
    (https://github.com/ruby/strscan/pull/138)

    Fix https://github.com/ruby/strscan/pull/131

    https://github.com/ruby/strscan/commit/e1cec2e726

commit 6b3a97d74b3b6febb7e70ae5359831c712ae57fa
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-02-17 06:06:56 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2025-02-17 06:37:36 +0900

    Remove undefined function from bindgen

    `rb_get_iseq_body_total_calls` was removed in cd8d20cd1fbcf9bf9d438b306beb65b2417fcc04, but it's still in the YJIT bindgen file.  This commit just removes it from bindgen

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12760

commit 2b69949407a4872e317dbc50dd1d3a6b1c72752a
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-17 02:35:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-17 03:01:17 +0900

    [DOC] Tweaks for Hash#delete

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12758

commit 0a10c9bed6f20e63a7cc19e9e4778f9a996aaf1a
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-17 02:13:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-17 02:59:14 +0900

    [DOC] Tweaks for Hash#compare_by_identity

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12757

commit a94f00f7c1e3f4037f50b5aaa001b3717ffca325
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-16 01:32:58 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-17 02:57:23 +0900

    [DOC] Add Related notes to a few methods

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12754

commit e3ad6524906231d6bd72b5f568651ab142c68764
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-02-16 01:46:46 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-17 02:56:48 +0900

    [DOC] Tweaks for Hash#compact

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12755

commit 23c4ac9559a05d7be4534d8e552d8dc95e272867
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2025-02-08 12:44:14 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-02-15 15:37:09 +0900

    Remove rb_enc_associate for Parser

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12715

commit 2556a975c7bcf9eead469a655e5d42aef06116c9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-15 07:21:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-15 07:21:35 +0900

    Fixed syntax error for OpenSSL version detection

commit ba148e71e590d057d930681ae9c93450b9cfef96
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-02-15 06:16:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-15 06:16:53 +0900

    [DOC] Tweaks for Hash#[]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12694

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 9be6e4207be5cce986ebb322f57c49000a097f7e
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-02-15 05:55:10 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-15 05:55:10 +0900

    [DOC] Tweaks for Hash#[]= (#12695)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 8cafa5b8ce5e35881bf5077d2bfafc03274189f2
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-02-14 02:56:21 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2025-02-15 04:39:35 +0900

    Only count VM instructions in YJIT stats builds

    The instruction counter is slowing multi-Ractor applications.  I had
    changed it to use a thread local, but using a thread local is slowing
    single threaded applications.  This commit only enables the instruction
    counter in YJIT stats builds until we can figure out a way to gather the
    information with lower overhead.

    Co-authored-by: Randy Stauner <randy.stauner@shopify.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12670

commit c1ce3d719dab2761fbca37f9336a33b47af187ed
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-15 03:40:00 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-15 03:40:10 +0900

    Streamline YJIT checks on jit_compile()

commit deb010ae248879b1c577366f5349b6094536bf4e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-02-15 02:32:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-15 02:32:58 +0900

    [ruby/prism] Fix up locals test with it parameters

    https://github.com/ruby/prism/commit/599a96dbfc

commit ee181d1bb74ef82d6507c411a6aff10d1bf37aa3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-02-15 00:10:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-15 01:49:52 +0900

    [ruby/prism] Fix up it indirect writes

    Fixes [Bug #21137]

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

commit 0cab608d3a7791c229eea2ebe276494f063c8176
  Author:     Masataka Pocke Kuwabara <kuwabara@pocke.me>
  AuthorDate: 2025-02-14 16:31:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-14 16:31:58 +0900

    [Bug #21127] Thread deadlock does not display backtraces (#12721)

    Previously, Ruby displayed backtraces for each thread on deadlock. However, it has not been shown since Ruby 3.0.
    It should display the backtrace for debugging.

    Co-authored-by: Jeremy Evans <code@jeremyevans.net>

  Notes:
    Merged-By: pocke <p.ck.t22@gmail.com>

commit b4ed6db096b5876b547646307aa41e008fdca8ea
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-14 16:16:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:16:55 +0900

    Removed trailing spaces

commit a55a2fc6e8215b08b6a6ed72f0ed2cd83cd8f6e1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-01 04:14:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:27 +0900

    [rubygems/rubygems] Reset existing specs when using `Bundler::SpecSet#[]=`

    We have a flaky failure where to equal Bundler specs sneak into the same
    SpecSet. This seems like a vector where that could happen so trying this
    in case it fixes the flaky.

    https://github.com/rubygems/rubygems/commit/a33aeb3c4d

commit a64c697b22f5ebb01d0a87fc5b24ae7a78398247
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-01 03:25:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:27 +0900

    [rubygems/rubygems] Refactor SpecSet to not need reset

    https://github.com/rubygems/rubygems/commit/55af558124

commit 061d8133ce7f23894abdd62e06797a3a1e9988f9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-01 03:13:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:27 +0900

    [rubygems/rubygems] Simplify hacks to integrate with RubyGems

    https://github.com/rubygems/rubygems/commit/33d91de732

commit c94cec27f7bd7000e9944c2037bf4a4c255c0861
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-30 17:27:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:27 +0900

    [rubygems/rubygems] Simplify SpecSet#sorted

    https://github.com/rubygems/rubygems/commit/a3f365bbaa

commit e59c90118e893fae3f37ca629291f37e26de48f4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-11 22:03:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:27 +0900

    [rubygems/rubygems] Raise error when lockfile is missing deps in frozen mode

    And avoid installing any gems.

    https://github.com/rubygems/rubygems/commit/c12700c7e4

commit e11401f799aa9343362a37157de6fbfc1836674d
  Author:     johnnyshields <27655+johnnyshields@users.noreply.github.com>
  AuthorDate: 2025-01-28 23:01:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:27 +0900

    [rubygems/rubygems] Deprecate legacy windows platforms (mswin, mingw) in the Bundler DSL, in favor of using `platform :windows`

    This commit is only deprecation and does not change/remove any actual functionality.

    https://github.com/rubygems/rubygems/commit/0ca6dc3984

commit 91a17fbbadff3b811cd25a056b4f592810bc4ad2
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-11 04:19:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:27 +0900

    [rubygems/rubygems] Use preferred `:windows` value for Windows exclusively

    https://github.com/rubygems/rubygems/commit/aee52d2874

    Co-authored-by: johnnyshields <27655+johnnyshields@users.noreply.github.com>

commit ccbebe9979b53352a0a11f0f5dd00ec3abab3b5a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-11 17:48:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:27 +0900

    [rubygems/rubygems] Let `:bundler` filter raise if not given major versions

    Otherwise it doesn't work as expected and it may skip specs.

    https://github.com/rubygems/rubygems/commit/d6af077174

commit a3c05f27c30c04c6ebf69a63b31c0fa5e1520ecd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-11 17:50:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:27 +0900

    [rubygems/rubygems] Remove spec filters

    These should always run.

    https://github.com/rubygems/rubygems/commit/0818eb104f

commit 181cab566c428b0dae55033c0b15cfd072e9a5a5
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-11 17:49:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:26 +0900

    [rubygems/rubygems] Fix legacy windows platform values no longer working

    https://github.com/rubygems/rubygems/commit/de8b3016db

commit 51004c36417df4cb2708e8c2802d2deeada8a3c2
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-13 16:42:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:26 +0900

    [ruby/strscan] Fix a bug that scan_integer doesn't update matched
    data
    (https://github.com/ruby/strscan/pull/133)

    Fix https://github.com/ruby/strscan/pull/130

    Reported by Andrii Konchyn. Thanks!!!

    https://github.com/ruby/strscan/commit/4e5f17f87a

commit c1f024f99d4f24dde4ca3c1f35825eba19c413f6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-30 17:34:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-14 16:13:26 +0900

    [ruby/psych] Avoid calls to `require` in hotspots

    Followup: https://github.com/ruby/psych/pull/686

    This single call shows up as 4% of some controller actions
    in the lobsters benchmark.

    Profile: https://share.firefox.dev/3EqKnhS

    https://github.com/ruby/psych/commit/b77bfee092

commit 599fdb9641afe4a68dc527a2b0be84caa61b3955
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2025-02-14 15:59:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-14 15:59:41 +0900

    Update bundled gems list as of 2025-02-13

commit 41251fdd309d4ff8f699268e33c32a114257211e
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-02-14 06:28:10 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-02-14 07:27:28 +0900

    YJIT: Fix linker warnings on macOS for Cargo (development) builds

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12743

commit e0cb069c0684bb8baf505a9d7a281d0ff8e1bf82
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-14 04:02:31 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-14 06:11:37 +0900

    Remove dead rb_st_nth_key

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12742

commit 31162bf4261b2e740f6e26f2c2f22c36d3556cf0
  Author:     HASUMI Hitoshi <hasumikin@gmail.com>
  AuthorDate: 2025-02-01 14:49:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-14 05:12:43 +0900

    [ruby/prism] Handle zero-sized allocation in pm_constant_id_list_init_capacity

    According to the calloc(3) man page, when nmemb or size is 0, `calloc()` can either return NULL or a unique pointer that can be passed to `free()`.
    While gcc and clang typically return a unique pointer, mruby's `mrb_calloc()` returns NULL in this case.

    Since `pm_constant_pool_init()` is commonly called with capacity=0 during normal operation of Prism, explicitly handle this case by setting `list->ids` to NULL when capacity is 0.
    This approach is portable across different calloc implementations and avoids potential issues with mruby's allocation behavior.

    This maintains compatibility with `free()` and `realloc()`, as passing NULL pointers to these functions is explicitly allowed by their specifications.

    https://github.com/ruby/prism/commit/1c32252df7

commit 127325a4bad409ee5da91084fac768934a8fd9e3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-02-14 04:17:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-14 05:04:02 +0900

    [ruby/prism] No writing to numbered parameters

    Fixes [Bug #21117]

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

commit b21e1aed2ed5b22b50efc658289a403eeed581df
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-02-14 03:58:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-14 04:12:10 +0900

    [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 2b92172894e755362a7a0b74ef3b6a5543a89017
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-29 17:51:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-14 02:49:48 +0900

    [ruby/prism] Split assertion per expressions

    Expressions joined with `&&` are better asserted separately, so that
    it is clear from the failure message which expression is false.

    Also, `unsigned long` may not be enough for `ptrdiff_t`, e.g., Windows.
    Saying that `ptrdiff_t` can be larger than `SIZE_MAX` means that
    `PTRDIFF_MAX` is larger than `SIZE_MAX` and `ptrdiff_t` is sufficient
    to represent `SIZE_MAX`, otherwise if `PTRDIFF_MAX` is smaller than
    `SIZE_MAX`, `diff` will always be smaller than `SIZE_MAX` as well.
    `diff` could be equal to `SIZE_MAX` only if `PTRDIFF_MAX` is equal to
    `SIZE_MAX` and these assertions would pass, but I don't think there is
    any platform where that is the case.

    https://github.com/ruby/prism/commit/1fc6dfcada

commit 9826047f01230780c0e64072fa03a7a4aecba63c
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-13 19:08:38 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-02-13 19:38:02 +0900

    Array#sort_by! return early if sorting is useless

    `Array#sort!` does that check, but `#sort_by!` always tries to
    sort, which is wasteful.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12741

commit 4a67ef09ccd703047552b740431cfe15e32451f4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-13 15:59:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-13 18:01:03 +0900

    [Feature #21116] Extract RJIT as a third-party gem

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12740

commit d35cc0cc772b48c5aaba354e7084278da68f44e4
  Author:     Yuta Saito <kateinoigakukun@gmail.com>
  AuthorDate: 2025-02-12 20:43:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 15:35:31 +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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12738

commit 45397f828449498696899b416b7dfcd91ca82455
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-13 14:13:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 14:13:53 +0900

    Extend timeout with resolv.rb and Windows platform. It's expired with 10sec sometimes.

commit cf00b31b5d9882325d2124cb257fb6a3476e0d78
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-13 13:12:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-13 13:12:24 +0900

    Remove a stale function for MJIT

commit 908fe85dfcfaf3ab69e3f77b17edc7952246f4f9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-13 13:06:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-13 13:06:59 +0900

    Remove stale comment for MJIT

commit 38cf09fc7039c386b9c02886f3286273c2791ed2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-13 12:48:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-13 12:48:30 +0900

    Header files for MJIT is not generated already

    The glob patterns are replaced by rote, but these files have been
    removed before it.

commit ee03df26bad92abb5397a82be3bc385a9ef69b5a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-12 00:25:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 09:37:51 +0900

    [rubygems/rubygems] `--prefer-local` should resolve to latest version if no gems are available locally

    Filtering out remote specs should only apply where there are locally
    installed specs. Otherwise they should always be considered.

    https://github.com/rubygems/rubygems/commit/118f8389a1

commit 151b436c9d52e879e38f40cfcbcc3e516b9b439d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-11 00:40:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 09:37:51 +0900

    [rubygems/rubygems] Fix incorrect error message in frozen mode

    When Bundler refuses to install in frozen mode, sometimes it would
    incorrectly claim that some dependencies have been added to the Gemfile
    when that's not really the case. Fix that by making sure
    `locked_dependencies` always has all locked dependencies, even when
    unlocking,

    Additionally, the suggestion to run `bundle install` is also confusing
    when unlocking, since `bundle update` is what has been run. So skip that
    part as well when unlocking.

    https://github.com/rubygems/rubygems/commit/64d84ad7d8

commit d9267b4a71f82e78e6b98eab19b1f0ba5c08a0b4
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-10 23:25:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 09:37:51 +0900

    [rubygems/rubygems] Fix `type` and `gemfile` not getting reported as invalid options

    https://github.com/rubygems/rubygems/commit/5b6077a1e8

commit 0423fde31772795054a6abff86635b0d4bac902b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-10 23:23:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 09:37:51 +0900

    [rubygems/rubygems] Fix spec wording

    This feature is not really deprecated, it's removed.

    https://github.com/rubygems/rubygems/commit/e7f5f061f5

commit e7720ef8d7176adecd4cfe1a42008a89ff157e97
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-04 01:37:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 09:37:50 +0900

    [rubygems/rubygems] Materializing specs for vendor/cache should not be strict

    Platforms specific gems not compatible with the current Ruby should not
    make `bundle cache` fail and should not get removed from the cache since
    they still may be useful in other rubies.

    https://github.com/rubygems/rubygems/commit/717b43f565

commit 5adbad731b3354e2cdf1befa0ec719f3609678dc
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-04 02:32:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 09:37:50 +0900

    [rubygems/rubygems] Move logic to materialize gems for cache to a new method

    And make the current `materialize_strictly` private.

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

commit 06e3943c38b83d6784d9d9be6d5f389a862a3f7d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-04 02:17:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 09:37:50 +0900

    [rubygems/rubygems] Remove unnecessary source change

    We materializing for installation, we already do this, and we
    materializing for cache, it does not seem necessary.

    https://github.com/rubygems/rubygems/commit/1a983c6cbc

commit bb764e42baa8c99a15d7440cf2e4e1c980219b5d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-04 01:44:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 09:37:50 +0900

    [rubygems/rubygems] Extract some common materialization logic to a method

    https://github.com/rubygems/rubygems/commit/32982fcd33

commit 7ac29372ca84ff8b0df8c6fc137fe99b4f1fc4e3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-04 01:38:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 09:37:50 +0900

    [rubygems/rubygems] Make LazySpecification#__materialize__ private

    And rename it to something better.

    https://github.com/rubygems/rubygems/commit/321174d1ad

commit dc8cde479c257a064f4b8bc017c6c1a49b7d15ea
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-12 18:33:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 09:37:50 +0900

    [rubygems/rubygems] Stub-out additional examples and removed needless Error definition

    https://github.com/rubygems/rubygems/commit/d24d0b5c43

commit e9e4770a18f0b2375e7783e01a9f03c126ce948e
  Author:     Takashi Kokubun <takashikkbn@gmail.com>
  AuthorDate: 2025-02-13 09:17:07 +0900
  Commit:     Takashi Kokubun <takashikkbn@gmail.com>
  CommitDate: 2025-02-13 09:17:08 +0900

    Fix .vscode/settings.json for the latest extension

commit abd1b700d2cec70187bca84eed2180ade2a93b87
  Author:     Serg Tyatin <700@2rba.com>
  AuthorDate: 2025-02-13 08:53:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-13 08:53:02 +0900

    [DOC] Fix description comment typo

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12736

    Merged-By: nobu <nobu@ruby-lang.org>

commit 0e34a883bc75f6d3924e8369c355281927179da9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-12 19:39:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-13 07:51:28 +0900

    Fixed infinite loop with GitHub Actions

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12737

commit 207c6750eff8c18832177a4953ed3a6206a3c6da
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-13 04:09:17 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-13 04:09:17 +0900

    Fix rjit_c.rb

commit 16f41eca53ec43763c63a830e50ca72324dc9c79
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-13 03:22:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-13 04:03:07 +0900

    Remove dead iv_index_tbl field in RObject

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12739

commit f32d5071b7b01f258eb45cf533496d82d5c0f6a1
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-11 01:30:34 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-02-12 18:23:50 +0900

    Elide string allocation when using `String#gsub` in MAP mode

    If the provided Hash doesn't have a default proc, we know for
    sure that we'll never call into user provided code, hence the
    string we allocate to access the Hash can't possibly escape.

    So we don't actually have to allocate it, we can use a fake_str,
    AKA a stack allocated string.

    ```
    compare-ruby: ruby 3.5.0dev (2025-02-10T13:47:44Z master 3fb455adab) +PRISM [arm64-darwin23]
    built-ruby: ruby 3.5.0dev (2025-02-10T17:09:52Z opt-gsub-alloc ea5c28958f) +PRISM [arm64-darwin23]
    warming up....

    |                 |compare-ruby|built-ruby|
    |:----------------|-----------:|---------:|
    |escape           |      3.374k|    3.722k|
    |                 |           -|     1.10x|
    |escape_bin       |      5.469k|    6.587k|
    |                 |           -|     1.20x|
    |escape_utf8      |      3.465k|    3.734k|
    |                 |           -|     1.08x|
    |escape_utf8_bin  |      5.752k|    7.283k|
    |                 |           -|     1.27x|
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12730

commit abcafb080ce9fe94cb13cca0e813a0a44d23cdc6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-11 05:22:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-12 13:15:01 +0900

    [ruby/json] Release 2.10.1

    https://github.com/ruby/json/commit/aa5b7d6acb

commit 293ad8a4e974e3dffc1419b37c15748f02b1481e
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-11 05:09:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-12 13:15:01 +0900

    Fix a compatibility issue with `MultiJson.dump(obj, pretty: true)`

    Fix: https://github.com/ruby/json/issues/748

    `MultiJson` pass `State#to_h` as options, and the `as_json`
    property defaults to `false` but `false` wasn't accepted by
    the constructor.

commit 502bd6ba37b1820f5f5a0fe6bc9820797fddc0d6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-10 20:02:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-12 13:12:12 +0900

    [ruby/json] Release 2.10.0

    https://github.com/ruby/json/commit/8b56d47254

commit 4ac75f6f6453bbf3c89f5b9ae02a03085b506ed5
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-09 19:42:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-12 01:42:26 +0900

    [ruby/openssl] x509name: do not check for negative return from X509_NAME_entry_count()

    The function never returns a negative number.

    https://github.com/ruby/openssl/commit/895ce6fdfc

commit 47cdf98fa43a481991c229532e74c44943efcf39
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-07 02:14:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-12 01:42:26 +0900

    [ruby/openssl] x509: do not check for negative return from X509_*_get_ext_count()

    These functions wrap X509v3_get_ext_count(). The implementation can
    never return a negative number, and this behavior is documented in the
    man page.

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

commit 8888ad6902b0bb12bab0a1d16389e30f4916f413
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-07 02:14:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-12 01:42:25 +0900

    [ruby/openssl] ossl.c: avoid using sk_*() functions with NULL

    Always use explicit NULL checks before interacting with STACK_OF(*).
    Even though most OpenSSL functions named sk_*() do not crash if we pass
    NULL as the receiver object, depending on this behavior would be a bad
    idea.

    Checks for a negative number return from sk_*_num() are removed. This
    can only happen when the stack is NULL.

    ossl_*_sk2ary() must no longer be called with NULL.

    https://github.com/ruby/openssl/commit/84cffd4f77

commit dedd05e9c81c210b201f5569ce83d9748f8bb2ab
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-09 19:37:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-12 01:42:25 +0900

    [ruby/openssl] pkcs7: add a test case for the data content type

    While it is not useful alone, it is still a valid content type. Some
    methods on OpenSSL::PKCS7 are only meant to work with the signed-data
    or enveloped-data content type. Add some assertions for their behavior
    with unsupported content types. The next patches will update the
    relevant code.

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

commit 06faf28558c2f1925f37dd78ff61ba1bef6e894e
  Author:     Samuel Chiang <sachiang@amazon.com>
  AuthorDate: 2025-01-24 11:16:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-12 00:35:03 +0900

    [ruby/openssl] Add build support for AWS-LC

    CI Changes
    1. I've split the original patch up to make it easier to digest, but
    that forces my hand to turn off testing in the AWS-LC CI for the time
    being. However, do let me know if you would prefer to review the test
    adjustments in the same PR and I can remove the temporary CI workaround.
    2. AWS-LC has a few no-op functions and we use -Wdeprecated-declarations
    to alert the consuming application of these. I've leveraged the
    skip-warnings CI option so that the build doesn't fail.

    Build Adjustments
    1. AWS-LC FIPS mode is decided at compile time. This is different from
    OpenSSL's togglable FIPS switch, so I've adjusted the build to account
    for this.
    2. AWS-LC does not support for the two KEY_SIG or KEY_EX flags that were
    only ever supported by old MSIE.
    3. AWS-LC has no current support for post handshake authentication in
    TLS 1.3.
    4. EC_GROUP structures for named curves in AWS-LC are constant, static,
    and immutable by default. This means that the EC_GROUP_set_* functions
    are essentially no-ops due to the immutability of the structure. We've
    introduced a new API for consumers that depend on the OpenSSL's default
    mutability of the EC_GROUP structure called
    EC_GROUP_new_by_curve_name_mutable. Since Ruby has a bit of
    functionality that's dependent on the mutability of these structures,
    I've made the corresponding adjustments to allow things to work as
    expected.

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

commit e603a420e9fb085c37f16f0a32628ecf6232f507
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-11 04:29:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-11 06:30:04 +0900

    [DOC] Fix call-seq consistency in Array

    The documentation guide (https://docs.ruby-lang.org/en/master/contributing/documentation_guide_md.html#label-Calling+Sequence+-28for+methods+written+in+C-29)
    says that the call-seq for instance methods should only include the method
    name, no prepending `array.`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12728

commit eada3cdf898efcc316e4f0bc0cb3d1a183bb06a1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-11 04:27:59 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-11 06:30:04 +0900

    [DOC] Fix call-seq consistency in Hash

    The documentation guide (https://docs.ruby-lang.org/en/master/contributing/documentation_guide_md.html#label-Calling+Sequence+-28for+methods+written+in+C-29)
    says that the call-seq for instance methods should only include the method
    name, no prepending `hash.`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12728

commit d680a13ad061eeb562b1df7c11d094e6984789ce
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-02-11 05:01:17 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2025-02-11 05:50:23 +0900

    Always return jit_entry even if NULL

    We can just always return the jit_entry since it will be initialized to
    NULL.  There is no reason to specifically return NULL if yjit / rjit are
    disabled

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12729

commit b74077c19ef882b3d2022d05e6f736feda3f8894
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-11 03:40:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-11 05:37:10 +0900

    [ruby/mmtk] Set Immix as the default plan

    https://github.com/ruby/mmtk/commit/e52b973611

commit 50469809b8d78dbd783d957749a0d269f43b470d
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-11 04:06:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-11 04:33:04 +0900

    [ruby/mmtk] Use RUBY_TEST_TIMEOUT_SCALE for tests

    RUBY_TEST_TIMEOUT_SCALE is set for debug builds because they are slower
    to run. We should respect this environment variable in MMTk tests too.

    https://github.com/ruby/mmtk/commit/0a66c518bf

commit b4bf3ed13036a01c2082bd279e6faecd5d51a740
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-02-11 04:32:25 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-11 04:32:25 +0900

    [DOC] Adds section "Hash Inclusion" (#12634)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 7fd589c7fc26b0494990134d6bef699c92a9336c
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-02-11 04:31:41 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-11 04:31:41 +0900

    [DOC] Tweaks for Hash#assoc (#12726)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 57b9b921937931dc9ce3317214f147c3f23378c7
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-02-11 04:31:04 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-11 04:31:04 +0900

    [DOC] Tweaks for Hash#clear (#12727)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 35afc0d6e1bbbfc2d80d0cf997a2579c378f5632
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-02-11 04:23:42 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-11 04:23:42 +0900

    [DOC] Tweaks for Hash#any?

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12724

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit c7e35e5534018add3b783e871ca93e27b693842d
  Author:     Daisuke Aritomo <osyoyu@osyoyu.com>
  AuthorDate: 2025-02-09 18:13:33 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-11 04:21:10 +0900

    gc.c: Remove no-op code

    In this context, `vm_locked` is a argument variable, and is not used
    later in the function.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12718

commit 3fb455adabc26a978f3bf42aa0bf42f10f64ae31
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-08 01:10:18 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-10 22:47:44 +0900

    Move global symbol reference updating to rb_sym_global_symbols_update_references

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12711

commit 8d0416ae0b6e725c855a3afb1225fe892d42dd4e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-08 00:30:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-10 22:47:44 +0900

    Make ruby_global_symbols movable

    The `ids` array and `dsymbol_fstr_hash` were pinned because they were
    kept alive by rb_vm_register_global_object. This prevented the GC from
    moving them even though there were reference updating code.

    This commit changes it to be marked movable by marking it as a root object.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12711

commit 397bb7e42ce72ac7a8c8516cbe17b3310d0a9ad0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-10 18:04:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-10 18:04:25 +0900

    Do not overwrite `GEM_PATH` if already set

    The bundler's test sets the `GEM_PATH` and `GEM_HOME` environment
    variables by itself.  Overwriting them results in tons of errors.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12722

commit cd27c580faf5b5e3ec4b4dff038bcd045ea9c282
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-02-10 16:55:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-10 16:55:02 +0900

    Launchable: Add a workflow name as a flavor (#12720)

    Adding a workflow name would be easier to understand the connection between a test session and GitHub workflow.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 135479a58d191af553e0c7b797a8388b3cc77ffa
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-30 23:43:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-10 09:27:18 +0900

    [rubygems/rubygems] Allocate strings from Requirement match only once

    https://github.com/rubygems/rubygems/commit/c65b8644e6

    Co-authored-by:  Samuel Giddins <segiddins@segiddins.me>

commit 5232c86ffc5636bc34a62a52ceb38589c6aba2ed
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-10 04:58:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-10 07:11:30 +0900

    Use the default MMTk plan

    The default MMTk plan is no longer MarkSweep, so we shouldn't force it
    to be MarkSweep.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12719

commit 5fcbf3e8ad8117c07dc4d07b3b9eabc29b8016e0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-10 04:57:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-10 07:11:30 +0900

    Remove MMTk configuration for debug builds

    We are no longer running debug builds of MMTk here, so we don't need this
    configuration anymore.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12719

commit 7d10c22a86ab37a347db92297cd95e5a606ed84b
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-06 23:45:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-09 19:26:07 +0900

    [ruby/openssl] Revert "Skip a new test when old OpenSSL"

    This reverts commit https://github.com/ruby/openssl/commit/8c96a69b0d47.

    This is no longer necessary since we do not support OpenSSL 1.1.0
    anymore.

    https://github.com/ruby/openssl/commit/4987688cb4

commit 581dbcec79b16ab55cf3548631cb34fe6db006ee
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-06 23:48:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-09 19:26:07 +0900

    [ruby/openssl] ssl: prefer SSLContext#max_version= in tests

    Avoid using the deprecated OpenSSL::SSL::SSLContext#ssl_version= outside
    the tests specifically written for it.

    https://github.com/ruby/openssl/commit/93a564dec2

commit 64a98decf2d58754d9faefa30d9e86d79c63f805
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-06 23:51:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-09 19:26:07 +0900

    [ruby/openssl] ssl: fix misuse of assert_handshake_error in tests

    assert_handshake_error is useful for checking handshake failures
    triggered by the peer, as the underlying socket may be closed
    prematurely, leading to different exceptions depending on the platform
    and timing.

    However, when the local end aborts a handshake, the only possible
    exception is OpenSSL::SSL::SSLError. Use stricter assertions in such
    cases.

    https://github.com/ruby/openssl/commit/637ba65818

commit 5791c93f8e16fedfcad861d83e9a54da05fd6154
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-06 23:56:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-09 19:26:06 +0900

    [ruby/openssl] ssl: refactor test case test_verify_mode_server_cert

    Minimize the amount of code inside the assert_raise block to avoid
    accidentally catching a wrong exception.

    https://github.com/ruby/openssl/commit/5089b2d311

commit a8b36314ec22d0f8bcbad855ba8dc675654301bf
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-02-06 23:55:49 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-09 19:26:06 +0900

    [ruby/openssl] ssl: fix test case test_npn_advertised_protocol_too_long

    The list of NPN protocols is validated in SSLContext#setup.

    The assert_handshake_error is misleading. The client is unable to start
    a handshake at all because the server is not running.

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

commit 1f4fc2e608b009599dab3413ea9c04746ae65d90
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-12-21 03:06:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-09 19:26:06 +0900

    [ruby/openssl] ssl: remove start_server_version from tests

    Use start_server instead of start_server_version.

    start_server_version is a wrapper around start_server that forces the
    server to a specific protocol version using the now-deprecated method
    SSLSocket#ssl_version=, but it does more than that. The slightly
    different method signature and default values are confusing. Let's
    use start_server directly.

    https://github.com/ruby/openssl/commit/22ed31d77e

commit 237c71fc29dc2b877dcd27225e75825ddec851e8
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-12-21 02:45:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-09 19:26:05 +0900

    [ruby/openssl] ssl: remove start_immediately kwarg from test helper start_server

    The keyword argument is no longer used by any test cases.

    https://github.com/ruby/openssl/commit/2f31605d47

commit b4865b14cd6cfb49ed7ec121765144811ad02180
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2025-02-08 15:59:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-08 15:59:12 +0900

    Update bundled gems list as of 2025-02-07

commit e12f5259e496eb201429c5da414619527c1bc609
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-02-08 04:22:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-02-08 05:44:54 +0900

    Add timeout to compilers workflow

    The default timeout on GitHub Actions is 360 minutes, the job usually takes
    around 20 to 30 minutes to complete. This commit sets the timeout to be
    40 minutes so jobs that hang will timeout faster.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12712

commit 5454188f6bcb333f8aa7a80986736694e1bfc26c
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2025-02-07 22:13:00 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-02-08 05:13:14 +0900

    Retry on IO::EAGAINWaitReadable when a closed socket is still not available for reading

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12710

commit 7178593558080ca529abb61ef27038236ab2687d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-07 18:40:07 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-07 18:40:07 +0900

    Simplified to find gemspecs for bundled gems (#12709)

    * Simplified to find gemspecs for bundled gems

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

  Notes:
    Merged-By: hsbt <hsbt@ruby-lang.org>

commit 8dbbc79e8b19f0bf000f88d0e45b26185c5fcd4b
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2025-02-07 16:00:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-07 16:00:32 +0900

    Update bundled gems list as of 2025-02-06

commit e776efdc70e3b90ae0d40c255626ce3a534906f1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-07 11:02:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-07 11:47:48 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12708

commit 2ed1962cbedc832154630bed695cec4781b0ec89
  Author:     卜部昌平 <shyouhei@ruby-lang.org>
  AuthorDate: 2025-02-05 18:06:43 +0900
  Commit:     卜部昌平 <shyouhei@ruby-lang.org>
  CommitDate: 2025-02-07 08:49:26 +0900

    [CI] add CI matrix for clang-21

    see also https://github.com/llvm/llvm-project/pull/124870

commit 9baa0f8c8c216da3933362a6103e415b64889737
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-06 23:12:03 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-06 23:12:03 +0900

    Enable bundled gems in ruby-runner

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12706

commit adbf9c5b368e969b2e4e7806a82a2b8f017bd48d
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2025-02-01 00:17:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-06 23:10:34 +0900

    [ruby/openssl] test_ssl.rb: Test respecting system default min.

    https://github.com/ruby/openssl/commit/7de5ff583a

commit ec8e3e376ce9487e93860dd277944a04e15ee461
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-06 16:44:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 16:44:23 +0900

    Only modified LOAD_PATH for RJIT with fiddle provided by bundled gems

commit b4bfbcaddcc4d5ec82631df3fc53b3a3ac65edb7
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2025-02-05 20:35:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 16:02:03 +0900

    Optimize Symbol generation in strict mode

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit f865148e1926f838cac8b4449abfc5d402d0d015
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2025-02-05 20:40:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 16:02:03 +0900

    Fix JSON::Coder to call as_json proc for NaN and Infinity

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit dd1fe03b8a8da5e2cbe7b35dddb07541e7f58678
  Author:     yuuji.yaginuma <yuuji.yaginuma@gmail.com>
  AuthorDate: 2025-02-02 17:49:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 15:58:01 +0900

    [rubygems/rubygems] Add `irb` to a Gemfile for a newly created gem

    I think we need this to silence the following warning when running
    `bin/console` with Ruby 3.4

    ```
    ./bin/console:10: warning: irb was loaded from the standard library, but will no longer be part of the default gems starting from Ruby 3.5.0.
    You can add irb to your Gemfile or gemspec to silence this warning.
    ```

    https://github.com/rubygems/rubygems/commit/c46230c856

commit ac093f4350ae8f41ef18ac64829ea9dbc272063d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-01 00:20:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 15:58:00 +0900

    [rubygems/rubygems] Auto-heal empty installation directory

    https://github.com/rubygems/rubygems/commit/9720a9b980

commit 78ef59acf7f443b7f87039d5927005a2f8f0bb36
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-02-01 00:20:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 15:57:59 +0900

    [rubygems/rubygems] Refine messages about gem installations being missing

    The previous wording was too specific, there may be situations when the
    gem has actually never installed (so never deleted either).

    https://github.com/rubygems/rubygems/commit/e4a0d71fbe

commit 385dc5dc168504b38f59036d17aa4e012b72f1e8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-31 17:19:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 15:57:57 +0900

    [rubygems/rubygems] Don't potentially load remote metadata when expanding dependencies

    For installed specifications, we can ignore any constraints they may
    have, since we know they match the current version of Ruby or otherwise
    would not be installed.

    For remote specifications, we already resolve optimistically without
    metadata and retry force-fetching it if necessary.

    If in the future we support resolving against a Ruby version different
    that the one being run, we'll probably need to change this but now it's
    unnecessary and saves some memory.

    ### Before

    Total allocated: 262.99 MB (3177437 objects)
    Total retained:  115.91 MB (1297821 objects)

    ### After

    Total allocated: 259.89 MB (3134199 objects)
    Total retained:  115.05 MB (1283779 objects)

    https://github.com/rubygems/rubygems/commit/201c1863fc

commit a1716e236566fd34e4f17b9b484cc077f48e7e69
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-31 15:19:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 15:57:57 +0900

    [rubygems/rubygems] Move expanding dependencies with metadata to specification classes

    https://github.com/rubygems/rubygems/commit/7f921aa46e

commit 24f5e3010f632d400e56042e4b14b121a09e6c74
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-31 14:50:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 15:57:56 +0900

    [rubygems/rubygems] Metadata dependencies can be `Gem::Dependency` instances

    They use less memory that way.

    When resolving from scratch a Gemfile including only `"gem "rails", "~>
    8.0.1"`, I get the following results:

    ### Before

    Total allocated: 265.06 MB (3186053 objects)
    Total retained:  116.98 MB (1302280 objects)

    ### After

    Total allocated: 262.99 MB (3177437 objects)
    Total retained:  115.91 MB (1297821 objects)

    https://github.com/rubygems/rubygems/commit/a4ef9c5f56

commit 7fed6c887d68e1347defcd1364b0ceb5ba18a2b9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-30 23:34:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 15:57:55 +0900

    [rubygems/rubygems] Remove unnecessary remapping of dependencies

    Sometimes we'll resolve using bare `Gem::Dependency` instances rather
    than `Bundler::Dependency` instances, which is fine, simpler, and saves
    some memory.

    When resolving from scratch a Gemfile including only `"gem "rails", "~>
    8.0.1"`, I get the following results:

    ### Before

    Total allocated: 277.48 MB (3384318 objects)
    Total retained:  117.53 MB (1338657 objects)

    ### After

    Total allocated: 265.06 MB (3186053 objects)
    Total retained:  116.98 MB (1302280 objects)

    https://github.com/rubygems/rubygems/commit/c6dc2966c5

commit 4c0cf2deed50e4dc9345b119ebd1f6e7f8a9eab8
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-30 23:08:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 15:57:55 +0900

    [rubygems/rubygems] Make `Bundler::Dependency` more memory efficient

    When resolving from scratch a Gemfile including only `"gem "rails", "~>
    8.0.1"`, I get the following results:

    ### Before

    Total allocated: 288.21 MB (3498515 objects)
    Total retained:  119.10 MB (1357976 objects)

    ### After

    Total allocated: 277.44 MB (3383182 objects)
    Total retained:  117.55 MB (1338622 objects)

    https://github.com/rubygems/rubygems/commit/2d3d6e5015

commit 8e7883011a6402413d7d6448235359195b45d781
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-30 19:31:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 15:57:54 +0900

    [rubygems/rubygems] Lazily parse dependencies in EndpointSpecification

    Since not every dependency gets referenced.

    When resolving from scratch a Gemfile including only `"gem "rails", "~>
    8.0.1"`, I get the following results:

    ### Before

    Total allocated: 295.01 MB (3624335 objects)
    Total retained:  119.31 MB (1364474 objects)

    ### After
    Total allocated: 288.21 MB (3498515 objects)
    Total retained:  119.10 MB (1357976 objects)

    https://github.com/rubygems/rubygems/commit/61eee39d81

    Co-authored-by: Samuel Giddins <segiddins@segiddins.me>

commit c83370671be81809e027476293151bd2c67e8beb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-30 04:17:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 13:07:55 +0900

    Improve bundled gems warning messages

    Currently evenn if the require actually fails, they suggest that the
    file was actually loaded, which is confusing. I reworded them to reduce
    this confusion.

commit 03a0c4e079e4ab94cd8d4ee403f1b67e6f566f49
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-30 03:59:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 13:07:55 +0900

    Rename "gem" to "name"

    The name "gem" could be confused with RubyGems activation method.

commit 433f4e30b3af853ef5b33948e3b4be4826d3f104
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-30 03:53:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 13:07:55 +0900

    Simplify bundled gems warnings implementation

    Most of the stuff is not actually necessary.

commit 68bb6ceeafeae3c06f09f8d120d3194eaa2d131d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-30 03:23:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 13:07:55 +0900

    Remove unnecessary SINCE_FAST_PATH constant

    If anything, I think this may be causing some false positives.

commit 15b77a09a7a72ac308ab478e491f3b90964a069f
  Author:     Daisuke Aritomo <osyoyu@osyoyu.com>
  AuthorDate: 2025-02-06 08:59:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-06 09:49:23 +0900

    [DOC] ractor.md: Remove link to Complex class

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12705

commit 6ca8bc8562cbe309d0a0ae82573bc14cd2b2ae47
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-02-06 08:57:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-06 08:57:46 +0900

    Launchable: Fix broken links by passing GITHUB_SERVER_URL (#12704)

    @peterzhu2118 mentioned that "View workflow run" button is broken in Launchable. It's because invalid URL is sent from compilers/actions.yaml. Launchable CLI builds URL based on the environment variables. In those variables, GITHUB_SERVER_URL is not set in this case.

    Hence, I set GITHUB_SERVER_URL in compilers/actions.yaml in this PR.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 141f2924eeb3816941926a425638380ca1b747f6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-05 16:34:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 17:15:30 +0900

    The test of net-smtp-0.5.1 is working with Windows platform now

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12701

commit ae026ff65b85cd4ebea891825e9cedddc85c3175
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-05 15:19:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 15:19:24 +0900

    Update bundled_gems

commit c204cf7cb123b4c0aa50b3049c82caed3e6f2826
  Author:     Edouard CHIN <chin.edouard@gmail.com>
  AuthorDate: 2025-01-30 03:41:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 12:48:44 +0900

    [rubygems/rubygems] Deprecate `CurrentRuby#maglev?` and other related maglev methods:

    - Follow up to https://github.com/rubygems/rubygems/pull/8430#discussion_r1927239555.

      The maglev platform was not supported by Bundler, so calling
      `gem "foo", platforms: ["maglev"]` would raise an error.

      The helpers added in the `CurrentRuby` class were used at a time
      when maglev was supported (as explained in https://github.com/rubygems/rubygems/commit/45ec86e2e528).
      Support of maglev was most likely dropped at some point and the helpers
      in the `CurrentRuby` class were not deprecated/removed.

      We decided to deprecate them now.

    https://github.com/rubygems/rubygems/commit/66388babf8

commit 50e48a20c053f8b05c48547b5f5dc1059879867c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-05 11:05:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 11:05:42 +0900

    Generate the latest version number from OpenSSL LTS releases

commit 425a93fb1bb9a3059fab5527d4ab318c4b723807
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-05 10:36:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 10:36:24 +0900

    Removed unused parameters for building docker image

commit 4b5bcba2e28b367f851bd21fbcd828f5e21a2f43
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-04 17:32:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Integrate read_s and read_s_expand with get_item_property for Win32::Registry

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit 333bc26d82370e2f5d324c1a24e7885fde4b9657
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-04 17:22:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Added get_item_property and use it for Win32::Registry and Get-ItemProperty

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit a487698cc789624924ef5e309ffbffcc36f754ca
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-04 17:10:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Use powershell for retrieving value from registry if fiddle is not available

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit 078e723b24b6329280b83791c46f31dc284008d3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-04 17:09:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Don't use nested registry open for rewriting powershell version

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit 02a9c05e3ecc5b4a382ca9c7ca3e4adb79844bc2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-04 17:03:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Handle failing case to load win32/registry

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit 62b87921090b09416a7846c865f23e2a19a448aa
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-04 16:48:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Skip irb on test-bundled-gems with Windows

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit 9052d0d534828f5b8bd5d94b3863f8afbd617053
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-04 10:59:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Try to inject fiddle path as bundled gems for RJIT

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit b50360e08be5b35ec42b0b97e1d25bc89432023b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 16:08:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Update fiddle entries under the doc directory

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit 470784cbd94a70da5d3e3167dfe4f17e3b025287
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 15:19:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Expand stub-out scope of Fiddle.dlopen

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit ec2bd6f74e7abc7b9952282f744adfff5708bd41
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 11:13:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Skip to existence check fiddle from TestExtLibs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit 16d446e8a5c70d69fec80a5dc109b5b2926e69c0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 10:09:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Removed fiddle from sync target

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit 908529b7e0cf39bb1204588bd7f86c6bd40b8a00
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-24 16:23:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-05 07:36:59 +0900

    Migrate fiddle as bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12616

commit 91a10c07579f282a94e4b5830feaeca87f9a7dd3
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-05 05:54:53 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-02-05 06:25:17 +0900

    Fix a typo in WeakKeyMap argument error

    [Bug #21112]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12696

commit 10d06b9a7231e54e5f6fe34437b9c583ecefca88
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-04 13:41:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-04 13:55:16 +0900

    [ruby/resolv] Load win32/resolv with rake test

    https://github.com/ruby/resolv/commit/3ecfce3626

commit 7317f96727725ca37ddb06011918deb841de371c
  Author:     Andrii Konchyn <andry.konchin@gmail.com>
  AuthorDate: 2025-02-03 22:24:16 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-03 22:24:16 +0900

    Move out from quarantine a Marshal.dump spec for Float (#12692)

    * Move out from quarantine a Marshal.dump spec for Float

    Co-authored-by: Benoit Daloze <eregontp@gmail.com>

  Notes:
    Merged-By: eregon <eregontp@gmail.com>

commit 1683dadb19876f0a64589bdbbcf6fff8143f78ff
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2025-02-03 20:26:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-03 20:26:47 +0900

    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

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit f84d75eeccc38d298692c564d30f4e018d03f35d
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-23 01:49:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-03 18:47:48 +0900

    [ruby/openssl] pkey/ec: remove deprecated PKey::EC::Point#mul(ary, ary [, bn]) form

    The method has two forms, each corresponding to EC_POINT_mul() and
    EC_POINTs_mul(). The latter form does not work with any OpenSSL or
    LibreSSL versions that are still supported by upstream.

    The latter form has an extremely confusing behavior, too, and using it
    would print a deprecation warning since commit https://github.com/ruby/openssl/commit/812de4253d25 in 2020,
    which went to 3.0.0. Let's remove it.

    https://github.com/ruby/openssl/commit/7343d3c559

commit 5a14f536958d20e98c58606bd44bd2c0bed6da4b
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-30 23:39:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-03 18:46:03 +0900

    [ruby/openssl] ssl: separate SSLContext#min_version= and #max_version=

    Make these methods simple wrappers around
    SSL_CTX_set_{min,max}_proto_version().

    When we introduced these methods in commit https://github.com/ruby/openssl/commit/18603949d316 [1], which went
    to v2.1.0, we added a private method to SSLContext that set both the
    minimum and maximum protocol versions at the same time. This was to
    allow emulating the behavior using SSL options on older OpenSSL versions
    that lack SSL_CTX_set_{min,max}_proto_version(). Since we no longer
    support OpenSSL 1.0.2, the related code has already been removed.

    In OpenSSL 1.1.1 or later, setting the minimum or maximum version to 0
    is not equivalent to leaving it unset. Similar to SSL options, which we
    avoid overwriting as of commit https://github.com/ruby/openssl/commit/00bec0d905d5 and commit https://github.com/ruby/openssl/commit/77c3db2d6587 [2],
    a system-wide configuration file may define a default protocol version
    bounds. Setting the minimum version should not unset the maximum
    version, and vice versa.

    [1] https://github.com/ruby/openssl/pull/142
    [2] https://github.com/ruby/openssl/pull/767

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

commit 8cbff4fe45abbca816867f388c12df19a211e7b9
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-02-03 16:07:19 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-02-03 16:07:19 +0900

    Add sleep to PTY tests to stabilize flaky failures (#12691)

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 890020e3922ccb4c2241dc7c2024f8f5bc5e7e91
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-02-03 14:22:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-03 14:43:29 +0900

    Removed manpages for bundled gems

commit e8cf44148572683e7002cbd294dbcc1ad30bf462
  Author:     Nikita Shilnikov <fg@flashgordon.ru>
  AuthorDate: 2025-01-21 20:30:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-02-03 10:58:50 +0900

    [ruby/weakref] Add missing block parameter

    A block is part of the Delegator's contract. Ruby 3.4 issues a warning if a block is passed but unused. This commit fixes the warning by adding a block to the argument list.

    https://github.com/ruby/weakref/commit/9495ec9191

commit 15e6f13ff7c80c42490c3004977d72d95b35bb21
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2025-02-03 08:40:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-03 10:22:16 +0900

    [ruby/fiddle] Fix Fiddle.last_error on FFI backend and improve test
    to work for all
    (https://github.com/ruby/fiddle/pull/173)

    https://github.com/ruby/fiddle/commit/ef2382a7ef

commit b5b509766309f693f3bf0ea1e5214a1d727662ce
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-01 05:58:54 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-03 10:22:15 +0900

    [ruby/fiddle] Define Fiddle.last_error family and Fiddle.dlopen
    statically
    (https://github.com/ruby/fiddle/pull/172)

    `RUBY_ENGINE` and `Fiddle::WINDOWS` should not change in a process, no
    need to be checked inside the methods.

    Also, `win32_last_error` and `win32_last_socket_error` are equal to
    `last_error` on JRuby.

    https://github.com/ruby/fiddle/commit/50ac00ed53

commit c0688c21fef67cfa4daf21f9a6a46290841c7421
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-29 20:27:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-03 10:05:34 +0900

    [rubygems/rubygems] Raise a simpler error when RubyGems fails to activate a dependency

    If you force uninstall a dependency but leave other gems depending on
    it, those gems will fail to be activated.

    In that case, RubyGems prints a rather complicated error:

    ```
    $ rails --version
    /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1413:in 'block in Gem::Specification#activate_dependencies': Could not find 'activesupport' (= 8.0.1) among 478 total gem(s) (Gem::MissingSpecError)
    Checked in 'GEM_PATH=/Users/deivid/.local/share/gem/ruby/3.4.0:/Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/gems/3.4.0' at: /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/gems/3.4.0/specifications/railties-8.0.1.gemspec, execute `gem env` for more information
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1399:in 'Array#each'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1399:in 'Gem::Specification#activate_dependencies'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1381:in 'Gem::Specification#activate'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems.rb:283:in 'block in Gem.activate_bin_path'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems.rb:282:in 'Thread::Mutex#synchronize'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems.rb:282:in 'Gem.activate_bin_path'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/bin/rails:25:in '<main>'
    /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/dependency.rb:303:in 'Gem::Dependency#to_specs': Could not find 'activesupport' (= 8.0.1) - did find: [activesupport-7.1.3,activesupport-7.0.8.7] (Gem::MissingSpecVersionError)
    Checked in 'GEM_PATH=/Users/deivid/.local/share/gem/ruby/3.4.0:/Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/gems/3.4.0' , execute `gem env` for more information
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1411:in 'block in Gem::Specification#activate_dependencies'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1399:in 'Array#each'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1399:in 'Gem::Specification#activate_dependencies'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1381:in 'Gem::Specification#activate'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems.rb:283:in 'block in Gem.activate_bin_path'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems.rb:282:in 'Thread::Mutex#synchronize'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems.rb:282:in 'Gem.activate_bin_path'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/bin/rails:25:in '<main>'
    ```

    With this commit, the error becomes a bit simpler to parse:

    ```
    $ rails --version
    /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1421:in 'block in Gem::Specification#activate_dependencies': Could not find 'activesupport' (= 8.0.1) among 478 total gem(s) (Gem::MissingSpecError)
    Checked in 'GEM_PATH=/Users/deivid/.local/share/gem/ruby/3.4.0:/Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/gems/3.4.0' at: /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/gems/3.4.0/specifications/railties-8.0.1.gemspec, execute `gem env` for more information
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1407:in 'Array#each'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1407:in 'Gem::Specification#activate_dependencies'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems/specification.rb:1389:in 'Gem::Specification#activate'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems.rb:283:in 'block in Gem.activate_bin_path'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems.rb:282:in 'Thread::Mutex#synchronize'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems.rb:282:in 'Gem.activate_bin_path'
            from /Users/deivid/.asdf/installs/ruby/3.4.1/bin/rails:25:in '<main>'
    ```

    And also, we reduce exception based control flow in our code.

    https://github.com/rubygems/rubygems/commit/7e48c49f2d

commit d645b62b6ddd1f272d16b1dcc2165f5f0b05e7b7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-29 21:49:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-03 10:05:33 +0900

    [rubygems/rubygems] Remove already fixed TODO

    It was fixed by https://github.com/rubygems/rubygems/commit/3b0d44fbf5a3.

    https://github.com/rubygems/rubygems/commit/4cf3429599

commit 98c56de8237cd760200a1e5f11025a5aee7ed15f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-02-01 04:09:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-03 10:05:26 +0900

    [ruby/json] Refactor further to expose the simpler escape search possible

    https://github.com/ruby/json/commit/e03515ac8b

commit 98e1c2845a8361b69820c41b05eddbe5dbf8cf58
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-31 20:38:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-02-03 10:05:25 +0900

    [ruby/json] Refactor convert_UTF8_to_JSON to split searching and escaping code

    The goal is to be able to dispatch to more optimized search implementations
    without having to duplicate the escaping code.

    Somehow, this is a few % faster already:

    ```
    == Encoding activitypub.json (52595 bytes)
    ruby 3.4.1 (2024-12-25 revision https://github.com/ruby/json/commit/48d4efcb85) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                   after     2.257k i/100ms
    Calculating -------------------------------------
                   after     22.930k (± 1.3%) i/s   (43.61 μs/i) -    115.107k in   5.020814s

    Comparison:
                  before:    21604.0 i/s
                   after:    22930.1 i/s - 1.06x  faster

    == Encoding citm_catalog.json (500298 bytes)
    ruby 3.4.1 (2024-12-25 revision https://github.com/ruby/json/commit/48d4efcb85) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                   after   137.000 i/100ms
    Calculating -------------------------------------
                   after      1.397k (± 1.1%) i/s  (715.57 μs/i) -      6.987k in   5.000408s

    Comparison:
                  before:     1344.4 i/s
                   after:     1397.5 i/s - 1.04x  faster

    == Encoding twitter.json (466906 bytes)
    ruby 3.4.1 (2024-12-25 revision https://github.com/ruby/json/commit/48d4efcb85) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                   after   249.000 i/100ms
    Calculating -------------------------------------
                   after      2.464k (± 1.8%) i/s  (405.81 μs/i) -     12.450k in   5.054131s

    Comparison:
                  before:     2326.5 i/s
                   after:     2464.2 i/s - 1.06x  faster
    ```

    https://github.com/ruby/json/commit/8fb5ae807f

commit 581d85058cf638f2f8ad87391dccc5c7708d597b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-03 00:27:43 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-03 00:27:43 +0900

    Add out of range tests of random number generator

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12690

commit 571f3394f2b8ac312e0e6213c639a44cf7e29fe4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-02 20:59:59 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-02 20:59:59 +0900

    [Bug #21106] Fix tests for custom random object

    When a positive integer limit is given, `rand` method of a RNG object
    is expected to return a value between 0 and the limit (exclusive).

    Fix shuffle_spec.rb like as the similar code in sample_spec.rb, and
    add tests for greater values.

    TODO:
    - Return a value that is equal to or greater than the limit given to
      the RNG object.
    - Extract common code about RNG objects to a shared file.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12690

commit 8dd0d63550c4da2ba7939f371f73825caa2e932e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-02 19:34:52 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-02 19:34:52 +0900

    [Bug #21106] Remove the useless last iteration

    When only one element remains, this simply swaps the first identical
    element and has no actual effect.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12690

commit ace39a3ed40cc32ff8d48893173413a7e05b8316
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2025-02-02 15:53:12 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-02-02 16:58:15 +0900

    Remove rb_exc_raise for Parser

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12688

commit db02a6b3ab4cabbdf492c26dcb1929b4ef0370a1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-01 22:03:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-01 22:03:47 +0900

    [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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12686

commit 71f402c5d50919b0329d04704da8aa8982ab0585
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-01 16:57:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-01 16:57:18 +0900

    [DOC] Remove the index file for bundler man pages

    Those man pages are not placed here already.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12685

commit bff168f182b872ac77bbdd55665c94a7cefad9ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-01 16:22:24 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-01 16:22:24 +0900

    Install non-mdoc files as-is

    See if the content contains `.Nm` macro, instead of the names.

    This reverts "Don't convert bundler man pages from mdoc to man",
    commit e0b40ef5d8173aff304c81f93516e1246e3c042c.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12684

commit 5318a48e4ef09a87c2c126431bea55a14a6d11dc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-02-01 15:36:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-02-01 15:36:23 +0900

    Compress manpages automatically

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12684

commit 022ab413741500fecee93a586d8a15760a00747a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-24 21:58:53 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-31 21:30:07 +0900

    [DOC] Improve Errno and SystemCallError.new

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12683

commit 0da2b12741b2645f5c34f7e98e3b3b0f8f3cde5e
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-01-31 20:28:35 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-01-31 21:00:26 +0900

    Prefer `platform_is_not :windows`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12682

commit f719b889a149b1caad3550a70547e9e64f371f2f
  Author:     Vincent Ollivier <v@vinc.cc>
  AuthorDate: 2025-01-29 23:45:22 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-31 15:41:56 +0900

    [DOC] Fix grep_v description

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12663

commit 451d848a7627fc974eeecdf9792761610c23df7d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-20 05:50:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-31 14:34:55 +0900

    Stop generating binstubs for Bundler itself

commit 56e2ef24680424fd9392ad82a9cc852d9549b942
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-28 04:08:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-31 14:34:29 +0900

    [rubygems/rubygems] Fix `bundle console` unnecessarily trying to load IRB twice

    https://github.com/rubygems/rubygems/commit/f9bf58573f

commit 3cff46c521668a67572ee1ed7ae23de2fd39fddd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-28 04:08:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-31 14:34:28 +0900

    [rubygems/rubygems] Remove unnecessary error handling

    These gems always define their main namespace and I don't think that
    will ever change.

    https://github.com/rubygems/rubygems/commit/6663cbed53

commit e0f39d4cd32f1b346b8a6bac2431a4273def4c6a
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-28 20:22:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-31 14:34:27 +0900

    [rubygems/rubygems] Test with JRuby 9.4.10.0

    https://github.com/rubygems/rubygems/commit/770b19d859

commit 2ed30c9944aded2ab75943667610a83b1480b3cc
  Author:     Edouard CHIN <chin.edouard@gmail.com>
  AuthorDate: 2025-01-23 23:58:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-31 14:34:26 +0900

    [rubygems/rubygems] Consolidate the platform into a single list:

    - Similar change than https://github.com/rubygems/rubygems/commit/29a1be0008e6,
      keep a single source of truth where we store the platform.

      The only change worth highlighing is the platform "maglev".
      It was not part of the supported platform of dependencies,
      so calling `gem 'foo', plaftorm: 'maglev'` would not work.
      However, it was supposed to according to https://github.com/rubygems/rubygems/commit/45ec86e2e528.
      That's why it was possible to do `Bundler.current_ruby.maglev?` or
      `Bundler.current_ruby.maglev_30?`.

      I didn't change the current behaviour and maglev is not supported,
      though I kept the `*maglev` methods as I believe CurrentRuby is
      public API.

    https://github.com/rubygems/rubygems/commit/29e219ebcf

commit dc7c66510523631e0ca316e9df73f0889666d937
  Author:     Edouard CHIN <chin.edouard@gmail.com>
  AuthorDate: 2025-01-23 23:45:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-31 14:34:25 +0900

    [rubygems/rubygems] Consolidated the Ruby version list:

    - We keep 2 list of supported ruby versions and each time a new ruby
      version is released we need to maintain both list. Forgetting
      to update one would prevent users from adding gem for a specific
      plaftorm (i.e. https://github.com/rubygems/rubygems/commit/7cd19d824d17 and https://github.com/rubygems/rubygems/commit/5462322f8f0c).

      Extracted the list from the Dependency class and moved it to the
      CurrentRuby class (which I believe was originally added for that
      reason).

    https://github.com/rubygems/rubygems/commit/a91edd6c1f

commit 57fec1e85f457c93d19e386e663ec0d927f9fae7
  Author:     Edouard CHIN <chin.edouard@gmail.com>
  AuthorDate: 2025-01-23 22:57:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-31 14:34:24 +0900

    [rubygems/rubygems] Add ruby_34 and ruby_35 as valid platform:

    - Fix https://github.com/rubygems/rubygems/pull/8427
    - Similar to https://github.com/rubygems/rubygems/commit/7cd19d824d17.
      Tweaked a bit the test supposed to prevent this error by checking
      whether the dep respond to these methods.

    https://github.com/rubygems/rubygems/commit/62012eaeb6

commit 366462bd46e00c380796b8e040870a7a365da73b
  Author:     Edouard CHIN <chin.edouard@gmail.com>
  AuthorDate: 2025-01-22 21:59:47 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-31 11:52:57 +0900

    - Add a mention to git 2.32 in the building ruby documentation:

      I had issues building Ruby as I was using git 2.30.
      The error was:

      > file2lastrev.rb: git rev-parse failed error: could not expand
      > include path '~/.gitcinclude'

      The default system git config includes paths making use of `$HOME`,
      but that env variable gets removed when building: https://github.com/ruby/ruby/blob/7070b1b1968f31f999636b42a1af872458cd5a81/tool/lib/vcs.rb#L546-L547

      It works with git `>= 2.32` thanks to the `GIT_CONFIG_SYSTEM`
      feature which gets set to a Null IO in order to override
      the system gitconfig. https://github.com/ruby/ruby/blob/7070b1b1968f31f999636b42a1af872458cd5a81/tool/lib/vcs.rb#L549

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12611

commit 7604588f6fea57c0b1274884334946dbe4d757a9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-29 16:55:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-31 10:43:36 +0900

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

commit 95bf3590871978f9063936444cd2a44a13975d39
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-31 08:00:53 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2025-01-31 08:00:53 +0900

    YJIT: Turn on dead code lint for the stats module

commit 7e733ca55168e3b1f10b685f6e9a52cf1deb5aff
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-31 08:00:53 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2025-01-31 08:00:53 +0900

    YJIT: Explicitly specify C ABI to fix a nightly Rust warning

commit afd7d5be5ec560c58dd3f18006d9a786125d5800
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2025-01-31 01:39:24 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-01-31 04:43:46 +0900

    Skip a new spec for Marshal#dump and Float that fails on i686

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12679

commit d7a5ad2a21f7d2c45e3fea674ff077bb0e2cadae
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2025-01-31 00:39:10 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-01-31 04:43:46 +0900

    Update to ruby/spec@affef93

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12679

commit ea2dd5b80e26036af83e7b37d722f4a106188555
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2025-01-31 00:39:00 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-01-31 04:43:46 +0900

    Update to ruby/mspec@0aabb3e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12679

commit d729c1575e794bb9dafd1f7fcb0740735537504a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-29 00:15:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-31 01:48:14 +0900

    Output object_id in ObjectSpace.dump

    Outputs the object ID in the dump for objects that have it seen.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12657

commit f0dc9dcdc7a3b15b3192b1503a3c3d9eec3ada06
  Author:     Fabio Sangiovanni <sjh+github@sanjioh.org>
  AuthorDate: 2025-01-29 22:57:58 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-31 00:20:47 +0900

    rb_alias: improve "undefined method" error message by invoking
    `rb_print_undef` with `target_klass` as argument.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12665

commit 50327913303d3b821720476406190cbfb6382492
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-30 04:00:23 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-31 00:10:48 +0900

    Fix conversion of RubyVM::FrozenCore to T_ICLASS

    We shouldn't directly set the flags of an object because there could be
    other flags set that would be erased. Instead, we can unset T_MASK and
    set T_ICLASS isntead.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12667

commit a084fef9afc7713aa4f4111f7e826c7ca1a607c7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-30 03:56:56 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-31 00:10:48 +0900

    [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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12667

commit 4cfc904d9706512732d06c17238be9eaff7e4ca9
  Author:     Kerrick Long <me@kerricklong.com>
  AuthorDate: 2025-01-26 14:25:06 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-30 18:45:29 +0900

    [DOC] Fix article-noun agreement

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12635

commit 4bde1493a792ee88110717e6cf20619ee0bc99c2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-30 16:59:18 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-30 18:19:53 +0900

    Make node line macros inline functions

    To suppress -Waddress warning and for the debugging purpose.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12676

commit aca0b92c2fa8b45647bf0e0e709213f46b5cb93f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-30 16:59:03 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-30 18:19:53 +0900

    `prev_mn_schedulable` might be clobbered by `longjmp`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12676

commit 167985dc871aca74d1b50f3766da1b775f7962e9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-30 17:35:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-30 18:13:19 +0900

    Handle environment where GEM_HOME is not available

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12675

commit dc3d2a3c2ff20c40b715dd18e1ab52a4b8a7619d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-30 12:27:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-30 16:56:02 +0900

    [ruby/json] Avoid plain char for ctype macros

    On some platforms ctype functions are defined as macros accesing tables.
    A plain char may be `signed` or `unsigned` per implementations and the
    extension result implementation dependent.

    gcc warns such case:

    ```
    parser.c: In function 'rstring_cache_fetch':
    parser.c:138:33: warning: array subscript has type 'char' [-Wchar-subscripts]
      138 |     if (RB_UNLIKELY(!isalpha(str[0]))) {
          |                              ~~~^~~
    parser.c: In function 'rsymbol_cache_fetch':
    parser.c:190:33: warning: array subscript has type 'char' [-Wchar-subscripts]
      190 |     if (RB_UNLIKELY(!isalpha(str[0]))) {
          |                              ~~~^~~
    ```

    https://github.com/ruby/json/commit/4431b362f6

commit 7f70ef64aff9b22b080690cdf9a725a2acb70f17
  Author:     Edouard CHIN <chin.edouard@gmail.com>
  AuthorDate: 2025-01-30 07:27:19 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-30 16:56:02 +0900

    [ruby/json] Few doc tweaks:

    - Also modified the gemspec files' blob as the ragel's `parser.rl`
      file was removed in https://github.com/ruby/json/commit/c8d5236a921e

    https://github.com/ruby/json/commit/b2b106e314

commit 2880ec0948bea9d5fffa2395498b91197a62e1fb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-30 15:37:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-30 16:30:52 +0900

    Use https://github.com/ruby/net-imap/pull/389 for flaky tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12674

commit 2b6fc9ea7212543a1be26768403f59c7a759b5ea
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-30 14:23:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-30 14:52:01 +0900

    [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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12673

commit 8f77e694f999d4ccc344a5f4f4538a928705989f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-30 14:11:24 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-30 14:18:31 +0900

    [ruby/resolv] `w32error_raise` never returns

    https://github.com/ruby/resolv/commit/d00e86f7e4

commit 895aa44b81013513e1e504a683ee6eaa6f03bb46
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-30 12:52:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-30 12:52:51 +0900

    bin_path_spec.rb relied to available Ruby environment with after `make install`

    But we stub-out GEM_HOME variable for test-bundled-gems and others on ruby/ruby. It means
    the installation path mismatched with GEM_HOME variable always. We can't test this example
    collectly.

    ```
    1)
    Gem.bin_path finds executables of default gems, which are the only files shipped for default gems FAILED
    Expected File.exist? "/Users/hsbt/Documents/github.com/ruby/ruby/.bundle/gems/bundler-2.7.0.dev/exe/bundle"
    to be truthy but was false
    ```

commit 19ba093c94ffff06b3c89003900c9b9f5e1b18ea
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-30 11:27:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-30 12:07:54 +0900

    Try to use parallel execution of mingw tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12672

commit af508a6d105badae998c46ffb62a5e8e2b75883c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-30 10:27:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-30 11:24:34 +0900

    Skip irb examples, I will handle related workarounds later

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12671

commit 3dda488782365b1dea3756c5aa1d7673d997df2f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-30 09:40:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-30 09:40:12 +0900

    Removed executables of bundled gems

commit 5a7089fc03fb77da6f0f6c005a9a0ef655660cff
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-30 04:59:26 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-01-30 09:09:39 +0900

    YJIT: A64: Remove assert that trips when OOM at page boundary

    With a well-timed OOM around a page switch in the backend, it can return
    RetryOnNextPage twice and crash due to the assert. (More places can
    signal OOM now since VirtualMem tracks Rust malloc heap size for
    --yjit-mem-size.)

    Return error in these cases instead of crashing.

    Fixes: https://github.com/Shopify/ruby/issues/566

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12668

commit de45755de803577f0a5593623c162384affa36f1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-30 00:38:11 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-30 03:22:04 +0900

    Use an identity hash instead of array for stress_to_class

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12664

commit 5e644e80e9155414188e337b0af48f8d661e593a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-30 00:07:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-30 03:22:04 +0900

    Fix GC.add_stress_to_class and GC.remove_stress_to_class

    These methods were accidentally removed in [Feature #20470]. This commit
    adds them back.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12664

commit 1b731c1f439c73f98d49b476b859a6ec22c81da0
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-29 23:08:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-30 02:14:41 +0900

    [ruby/openssl] pkey: avoid calling i2d_PUBKEY family on an incomplete key

    Call ossl_pkey_check_public_key() to ensure that
    EVP_PKEY_missing_parameters() passes. This check should be cheap.

    DSA#{to_der,to_pem,export,to_s} and PKey#{public_to_der,public_to_pem}
    cause a segfault if the receiver is an empty DSA instance with no
    parameters set.

    Fixes <https://github.com/ruby/openssl/issues/845>.

    https://github.com/ruby/openssl/commit/5aeed935e5

commit 81c83fd79f8abed2bd000fea6e75c3ad9ab0e662
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-30 00:07:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-30 02:14:40 +0900

    [ruby/openssl] test/openssl/test_ossl.rb: use clock_gettime for measuring time

    The benchmark library is planned to become a bundled gem in Ruby 3.5.
    While we can add it in our Gemfile, it is only used in
    test_memcmp_timing and the usage can be easily replaced with a few
    Process.clock_gettime calls.

    https://github.com/ruby/openssl/commit/9a746ed1a4

commit d3bb42776c4232c51729c77da91c127e79468b27
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-01-30 00:16:47 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-30 00:16:47 +0900

    [DOC] Tweaks for rb_hash_s_try_convert

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12632

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit 63b6323e049ccab4ea5ecc716a2be61b8e6b4c3b
  Author:     Misaki Shioi <31817032+shioimm@users.noreply.github.com>
  AuthorDate: 2025-01-29 22:19:04 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-29 22:19:04 +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.

  Notes:
    Merged-By: shioimm <shioi.mm@gmail.com>

commit 2d3d7a74e91ac521bbcedcc350f6b6877b61faa3
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-29 21:53:00 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-29 21:53:00 +0900

    [DOC] Fix wrong call-seq format (#12662)

  Notes:
    Merged-By: tompng <tomoyapenguin@gmail.com>

commit e01b4ca1c8eb24528b950bf77c9d0415bf1a1719
  Author:     Yusuke Endoh <mame@ruby-lang.org>
  AuthorDate: 2025-01-29 17:33:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-29 17:51:42 +0900

    [ruby/error_highlight] Ensure first_line and last_line are set

    Fixes https://github.com/ruby/error_highlight/pull/58

    https://github.com/ruby/error_highlight/commit/9ddc1f31a9

commit be44d5677d67b7f365eedfd81fda495a75e60f16
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-29 16:57:16 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-29 16:57:16 +0900

    Suppress unused-value warnings

commit cb586b2717bb0b23576cdb42f030e626cb6b8579
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-01-29 14:49:17 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-29 14:49:17 +0900

    Launchable: Use Zero Input Subsetting (#12650)

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit ff64806ae51c2813f0c6334c0c52082b027c255c
  Author:     Anastasia Belova <abelova@astralinux.ru>
  AuthorDate: 2025-01-28 21:08:54 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-29 10:35:28 +0900

    Fix possible dereference of NULL

    In some places in compile.c (for example in compile_builtin_arg)
    ERROR_ARGS macro is used while node = NULL. This macro uses nd_line
    which dereferences node. Add check for NULL to prevent such errors.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12656

commit a34b95fef973baa718b8c56324d45e5080ac0030
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-29 07:40:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-29 09:04:28 +0900

    Use https://github.com/ruby/net-smtp/pull/90

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12659

commit 4a06ef98bfd480a3d724b16c2d7da071e373a69c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-25 02:50:40 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-28 23:06:43 +0900

    Remove results workflow from modgc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12630

commit d3abee739f4feb91bb9aaae33877d70c8c576db0
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-01-28 21:20:08 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-28 21:20:08 +0900

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

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit baf22a057887ec9e3a03203f607029f2517ae758
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2025-01-27 23:41:46 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-28 18:22:35 +0900

    Remove rb_usascii_encoding for Parser

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12643

commit 50e34fd7683ff77fae8c822096c8bf5f3ca12402
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-21 17:33:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:42:20 +0900

    Allow JSON::Fragment to be used even in strict mode

commit 89e316ad06f28f473030da04f33711328dc143c5
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2024-12-16 20:25:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:41:47 +0900

    Introduce JSON::Coder

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

commit 53cf2170f9fb1b2686ba3927609833a821c64b46
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-21 18:16:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:39:17 +0900

    [ruby/json] Update gemspec URIs

    https://github.com/ruby/json/commit/edd61b4a8b

commit 77af41ea6525d94ac3bc97ddbdbceb8665d397ca
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-21 16:52:04 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:39:17 +0900

    [ruby/json] Add some JSON::Fragment documentation

    https://github.com/ruby/json/commit/dbcf614e50

commit 53f0ebf938539e7ee847d1f900ac793d9cd9825a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-02 21:30:27 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:37:55 +0900

    Ignore vendor folder for documentation just once

commit b48febf27f6ca40f712ead68a0cba890cf6f9c1b
  Author:     Akshay Birajdar <akshaybirajdar05@gmail.com>
  AuthorDate: 2025-01-27 14:48:30 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:58 +0900

    [rubygems/rubygems] Remove respond_to? check for Thread#name=

    Since bundler now requires 3.3.1, we no longer need to do respond_to?
    check before setting thread name.

    https://github.com/rubygems/rubygems/commit/bfc37fc7db

commit 9b2ebfc7294a61eec32962be0547dec8321b8330
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-25 01:46:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:57 +0900

    [rubygems/rubygems] Fix bug report template incorrectly showing up

    If a gem has an internal error, that should not make `bundle console`
    print the bug report template.

    https://github.com/rubygems/rubygems/commit/7432a9a084

commit 83b4de8520e6ef10dfb0207c923f8ad343282d6d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-25 00:58:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:57 +0900

    [rubygems/rubygems] Remove unnecessary check

    At this point, `dep.autorequire` is always nil.

    https://github.com/rubygems/rubygems/commit/0fb2b0a70a

commit 0e985e13fef8ba6c819433fd5418279e93a34a67
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-25 00:49:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:56 +0900

    [rubygems/rubygems] Remove unnecessary initialization

    This local variable is initialized later on in this file.

    https://github.com/rubygems/rubygems/commit/5c15dbd210

commit 6460777cdedc55e9f40930f3ade3193943fbfab9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-25 00:40:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:55 +0900

    [rubygems/rubygems] Retry namespaced require using `retry`

    It's simpler.

    https://github.com/rubygems/rubygems/commit/76f1e3bf05

commit 7ae6aa0efccc486da6c7c32f7d06bff6e4770870
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-25 00:22:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:55 +0900

    [rubygems/rubygems] Handle all `Bundle.require` exceptions at the same level

    https://github.com/rubygems/rubygems/commit/a5519f4f79

commit d157aa7a9774c3725f3043fda408582ba2b09531
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-25 00:10:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:54 +0900

    [rubygems/rubygems] Remove dead code

    LoadError is not a RuntimeError.

    https://github.com/rubygems/rubygems/commit/4c67549722

commit f6e7f5337b882611c44628467a97358156cff62c
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-25 00:08:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:53 +0900

    [rubygems/rubygems] Remove unnecessary `@autorequire` initialization

    It's initialized again later on.

    https://github.com/rubygems/rubygems/commit/c3ddc81659

commit d8394461fd11df51cb743b4bb4d156d6cf6b0131
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-22 01:21:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:53 +0900

    [rubygems/rubygems] Support installing arm native gems on Windows

    https://github.com/rubygems/rubygems/commit/96496e3f53

    Co-authored-by: Johnny Shields <johnny.shields@gmail.com>

commit 47888801043e2c7ca8be03a5a5bbfae6cd1748b7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-22 01:36:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:52 +0900

    [rubygems/rubygems] Reuse platform constants

    We need to move platform monkeypatching to happen earlier because
    otherwise `Bundler::GemHelpers` will use the constants before they have
    actually been defined.

    https://github.com/rubygems/rubygems/commit/086c3438dc

commit 4035003fd03d91b7b2856d97d58ad23f930e42cd
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-23 20:23:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:51 +0900

    [rubygems/rubygems] Remove duplicated `bundle install`

    https://github.com/rubygems/rubygems/commit/1774ac5db1

commit 0603c1c68f12b919db98e4a3194ba0f70f3487e7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-23 20:22:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:51 +0900

    [rubygems/rubygems] Define `Bundler::SpecSet#to_s`

    For better debuggability.

    https://github.com/rubygems/rubygems/commit/21d252fa7a

commit 10af7a6a459ee27dab91b47c047125e5b056edc7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-23 20:20:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:50 +0900

    [rubygems/rubygems] Use RubyGems helpers for finding a non local tag for specs

    https://github.com/rubygems/rubygems/commit/a1d4ec1a3f

commit 09b04fefb728bf0514e0e911aac894e05abaa605
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-23 19:58:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:49 +0900

    [rubygems/rubygems] Remove unnecessary platform helpers

    I think they add unnecessary indirection and inconsistency to the specs.

    https://github.com/rubygems/rubygems/commit/609924d985

commit 8ad78347960af2def6ada8d6bc5245193ef652c1
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-23 19:38:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:49 +0900

    [rubygems/rubygems] Remove unnecessary test code

    It's always going to be either the first or the second platform in the
    list so no need to keep an explicit list of all platforms.

    https://github.com/rubygems/rubygems/commit/5d3cdb3855

commit 9c94b8feaf7090ce1de59091bbe2e5e7d2726790
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-23 17:34:55 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:48 +0900

    [rubygems/rubygems] Improve simulating Windows during Bundler specs

    https://github.com/rubygems/rubygems/commit/b48168bf1f

commit 22359cda1ce097c39804dfd7888c33eb12b42e71
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-21 18:28:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:47 +0900

    [rubygems/rubygems] Refactor specs to use platform strings directly

    https://github.com/rubygems/rubygems/commit/d24c0c20e3

commit c28ce7604f25d6f0b1cd03ff50d1e7bd1e21775b
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-22 19:44:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:47 +0900

    [rubygems/rubygems] Remove unnecessary mapping

    I don't think any supported platform has these names, so the mapping
    should be unnecessary.

    https://github.com/rubygems/rubygems/commit/6b1bdfc8a8

commit 77b1b3be30957724e2b82ac64c68ba232bdbc2bf
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-23 21:55:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:45 +0900

    [rubygems/rubygems] Fix typo

    https://github.com/rubygems/rubygems/commit/639b970c64

commit 4de44cb07f81d53b171e46366ab5b35fe60d4f5d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-20 18:26:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:31:43 +0900

    [rubygems/rubygems] RDoc is no longer a default gem in Ruby 3.5

    https://github.com/rubygems/rubygems/commit/0e889ae7fb

commit 4c73c3115ebcd164b6d58931f4ffef09a2f93176
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-28 14:44:02 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:20:59 +0900

    Increased job number on Cygwin build

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12649

commit daeac9994e2eda2b5480293a745ee157f6af3104
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-28 11:22:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:20:59 +0900

    Use the latest commit of ruby/syslog

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12649

commit bfd5df0d294b6c3046765acbf2d0ccb2cb23f1b0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-28 10:31:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 15:20:59 +0900

    Try to extract bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12649

commit 92b87c4998d13acddb2567eee4e84e2f4fe54a60
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-28 09:03:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-28 10:53:15 +0900

    Use the latest versions of irb and reline

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12648

commit 46b544c54955348ef1ea9692b837b061f59f91cd
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-01-28 09:36:06 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-28 09:36:06 +0900

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

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit cb9aeb283bc07de1c2f73aae3616f9e50a65326a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-28 01:57:42 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-28 03:26:26 +0900

    Fix gc_update_references_weak_table_i for ASAN

    If the object is a T_MOVED, then it is poisoned in ASAN, so we need to
    unpoison it before checking the type.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12644

commit feec48ae2b3241540fc61047252a5e83e5185e07
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-25 00:17:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-28 00:28:36 +0900

    Fix rb_gc_vm_weak_table_foreach compatibility for MMTK

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12629

commit 98b36f6f3661430a29ee1fe40d28b9abeeb903f5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-25 00:16:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-28 00:28:36 +0900

    Use rb_gc_vm_weak_table_foreach for reference updating

    We can use rb_gc_vm_weak_table_foreach for reference updating of weak tables
    in the default GC.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12629

commit 9e5ff79c5be426c3e6fef80449620075cbca7671
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-24 00:28:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-28 00:28:36 +0900

    Optionally traverse non-weak references in rb_gc_vm_weak_table_foreach

    For moving garbage collectors, we may want to combine liveliness checking
    with reference updating for performance. This commit allows for non-weak
    references to be passed into the callback function when weak_only is false.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12629

commit c3c7300b8924142173d6d16a9357468ba07d1da2
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-27 17:19:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-27 17:19:32 +0900

    readline is also removed from sync target

commit 6096a72c1d7177bd4e1a7209be7d789319d6d3c5
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-27 17:15:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-27 17:15:49 +0900

    Removed irb and reline from sync targets

commit 801885c7f9497271a9498367c0d47611daef385f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-27 14:50:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-27 14:50:57 +0900

    Move bundled_gems_spec-run task to exam because we repeatedly test bundled gems for debugging

commit b346b4974442eb85fc40e9be234714d1ce3c5a0e
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-01-25 03:13:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-27 06:54:57 +0900

    [DOC] Tweaks for rb_hash_s_create

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12631

commit d4a1a2780c39bc648496ac92fc6e6ce2eb38ab47
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-13 07:33:00 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-26 17:52:22 +0900

    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`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12562

commit dd863714bf377b044645ea12b4db48920d49694e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-23 01:01:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-25 01:07:20 +0900

    Remove dead vm_cc_valid_p

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12614

commit 22e5d83cd1149b8f2a91ed489993ba952d35a9d8
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-01-23 23:56:15 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-25 00:44:24 +0900

    [DOC] Tweaks for Hash.new

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12620

commit f6e259da87433c2b2f89e395ce535f78521c7625
  Author:     Xavier Noria <fxn@hashref.com>
  AuthorDate: 2025-01-24 18:17:37 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-24 19:25:26 +0900

    Improve docs of -I ruby option

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12627

commit 96a5da67864a15eea7b79e552c7684ddd182f76c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-24 17:05:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-24 17:06:45 +0900

    Fix "Relax expectations of errors from `getgrnam`"

    Use `assert_raise_kind_of` instead of `assert_raise`, that rejects sub
    classes of the given exceptions.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12626

commit c51668d24962602b781a7348451de807f74b05be
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-24 15:51:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-24 15:51:28 +0900

    Add `Test::Unit::CoreAssertions#assert_raise_kind_of`

    Similar to `Test::Unit::assert_raise`, but allows sub classes too.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12625

commit ae94fca7887f2dbab9dc6fa6ae90fcaffde3d6b5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-24 15:53:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-24 15:53:08 +0900

    Add test for `Test::Unit::CoreAssertions#assert_raise_with_message`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12625

commit 47723bb59162f25b3dc9dbff22645f027fb2159a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-24 14:25:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-24 15:46:46 +0900

    Added tracer for irb test

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12624

commit ca871b960962ac01ba4c26b5542b92317c75eeec
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-24 12:57:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-24 15:46:46 +0900

    Use workaround version of irb and reline

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12624

commit 5422c0f7f84417a46f931ce57fdbb566d5037dd9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-24 11:09:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-24 15:46:46 +0900

    Update irb and reline, readline entries

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12624

commit be1d0fcdb0d69c47fe5ba17a848458ae649b6afa
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-13 16:56:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-24 15:46:46 +0900

    Added force_activate feature again

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12624

commit 68095ffc1668c32d201f12e258891d028641e43c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 17:29:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-24 15:46:46 +0900

    irb and reline are now bundled gems, we don't need to skip workaround for them

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12624

commit 750e6195040ec3f9d0b172ac1a49a49d9b7d8ba0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 17:20:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-24 15:46:46 +0900

    Omit irb related examples temporary

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12624

commit 6bdccb35fcbe0d5cefc63086a4fe25b0f1ede3ae
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 16:40:19 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-24 15:46:46 +0900

    Restructured irb related example at spec/ruby

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12624

commit 0fdc9b9fd168f9d25d78c79a9e970be7d0967363
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 16:13:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-24 15:46:46 +0900

    Migrate irb and reline to the bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12624

commit 881924f2593e89e5ef78a73a4e14948a66ca0e08
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-23 22:55:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-24 10:45:08 +0900

    [ruby/uri] [DOC] Make documentation 100%

    https://github.com/ruby/uri/commit/fe7aa3dac2

commit 76a67e46608affe7e77700450e01a65cf33d15dc
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-01-24 08:37:52 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-24 08:37:52 +0900

    Launchable: Enable PTS observation mode (#12617)

    Launchable offers the Predictive Test Selection feature for speeding up CI execution. Predictive Test Selection leverages machine learning to identify the right tests to run for a specific code change. By analyzing data from past test runs and considering the changes being tested, Launchable determines which tests are most relevant.

    To evaluate the list of tests that Launchable selects, I enable PTS observation mode. Please note that there is no impacts on CI execution.

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 7ed08c4fd31c53d4c4e3713c390daff8064d2a52
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-23 04:51:44 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-24 00:24:35 +0900

    Fix memory leak in rb_gc_vm_weak_table_foreach

    When deleting from the generic ivar table, we need to free the gen_ivtbl
    otherwise we will have a memory leak.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12615

commit abde86afe819350174b60a8bc8f9e72807ac81b1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 16:07:20 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-23 16:09:48 +0900

    Update win32ole entries under the doc directory

commit 7494646101d828755e4c61f227f0c7a7e67ef693
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 12:00:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-23 16:09:29 +0900

    Use pure ruby library instead of C ext library for dependency warning example

commit d11ca207e9dd469b933be922544e78e5cc357187
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 10:46:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-23 16:08:56 +0900

    Use openssl instead of fiddle and erb for native extension test

commit a7dfd0c69f3d16b04141fa82632405c59e2b702e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-23 14:17:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-23 14:17:40 +0900

    Yield from `create_makefile` in bundled gems too

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12618

commit 7d25007bbbd5768b82e55b115b3ac4cc8f983d87
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 11:48:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-23 11:48:29 +0900

    Ignore to add Documentation label when we pushed doc and src both

commit 5244fd32431aeca9c46ab03bdf0d252d833353bb
  Author:     Olle Jonsson <olle.jonsson@gmail.com>
  AuthorDate: 2025-01-23 00:29:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-23 09:28:03 +0900

    Repair documentation markup in object.c

    Issue was visible in https://docs.ruby-lang.org/en/3.4/Kernel.html#module-Kernel-label-IO

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12613

commit 5b1caffcbaa90fb5ecb1c44f3b4381307645bdbc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-22 17:03:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-23 09:27:35 +0900

    Added actions/labeler

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12609

commit a1ba394626bec152010022d9aacbe1cd8425827e
  Author:     Olle Jonsson <olle.jonsson@gmail.com>
  AuthorDate: 2025-01-22 21:02:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-23 09:24:44 +0900

    [ruby/weakref] weakref.gemspec: Drop gemspec config on executables

    This gem does not expose any executables.

    https://github.com/ruby/weakref/commit/819471ce35

commit 9bec592cc46f89ce962d24f914682d40a1cea1e8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-23 08:39:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-23 08:39:50 +0900

    Skip test_params(OpenSSLDHTest) at rbs tests with test-bundled-gems

commit 6f6654e5045f1a86ba9522bfb71395eb58ac51aa
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-01-23 05:12:53 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-23 05:12:53 +0900

    [DOC] Hash defaults doc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12560

    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit c2908613368b2ae404d094a15df61d830fc46dc9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-23 04:18:58 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-23 04:58:27 +0900

    [ruby/prism] Fix rescue modifier precedence

    Fixes [Bug #21048]

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

commit 241ada7b1ca4fd71dc47a83d912ee25162a555d9
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-23 03:59:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-23 04:09:42 +0900

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

    Fixes [Bug #21085]

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

commit 495b1cad042b30c40b62b5ecea5a728ea3c2f4ac
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-22 03:22:22 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2025-01-23 01:45:52 +0900

    [ruby/openssl] ts: use TS_VERIFY_CTX_set0_{store,certs}() on OpenSSL 3.4

    In OpenSSL 3.4, TS_VERIFY_CTX_set_certs() and TS_VERIFY_CTX_set_store()
    are deprecated in favor of the new functions with "set0" in the names.

    The new functions have a slightly different behavior. They will free the
    previous value automatically. Increment the reference counter of
    X509_STORE before setting it to TS_VERIFY_CTX, and do not try to
    manually unset it.

    We avoided doing this to work around a bug that was present in older
    versions of OpenSSL, which has now been fixed in OpenSSL 1.0.2 by commit
    https://github.com/openssl/openssl/commit/bff9ce4db38b.

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

commit 87316d58faa2d57e9f1c1df2f76584a129a60bcc
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-06-14 14:45:56 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2025-01-23 01:45:52 +0900

    [ruby/openssl] pkey: change PKey::{RSA,DSA,DH}#params to use nil for missing parameters

    The returned Hash from these methods contain 0 in place of a missing
    parameter in the key, for example:

            pkey = OpenSSL::PKey.read(OpenSSL::PKey::RSA.new(2048).public_to_pem)
            pp pkey.params
            #=>
            # {"n"=>#<OpenSSL::BN https://github.com/ruby/openssl/commit/286934673421[...snip]>,
            #  "e"=>#<OpenSSL::BN 65537>,
            #  "d"=>#<OpenSSL::BN 0>,
            #  "p"=>#<OpenSSL::BN 0>,
            #  "q"=>#<OpenSSL::BN 0>,
            #  "dmp1"=>#<OpenSSL::BN 0>,
            #  "dmq1"=>#<OpenSSL::BN 0>,
            #  "iqmp"=>#<OpenSSL::BN 0>}

    Let's use nil instead, which is more appropriate for indicating a
    missing value.

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

commit ec4592280fe1efcf65982c2a5c0d39b311d56575
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-05-21 16:53:15 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2025-01-23 01:45:51 +0900

    [ruby/openssl] pkey: implement PKey::{RSA,DSA,DH}#params in Ruby

    Move the definitions to lib/openssl/pkey.rb. They need not to be in the
    extension and can be implemented using existing methods.

    This reduces direct usage of the now-deprecated OpenSSL APIs around the
    low-level structs such as DH, DSA, or RSA.

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

commit 47fe59cd8299a04dfa7af41131d0563c0e6f5b98
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-06-14 14:50:21 +0900
  Commit:     Kazuki Yamaguchi <k@rhe.jp>
  CommitDate: 2025-01-23 01:45:51 +0900

    [ruby/openssl] pkey: add tests for PKey::{RSA,DSA,DH}#params

    Add missing test cases to verify the current behavior. The next patch
    will rewrite those methods.

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

commit 72480389d149063f2c990227e9b490889f0fc407
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-12-22 00:35:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-23 01:45:19 +0900

    [ruby/openssl] ssl: fix SSLSocket#sysread leaking locktmp String on timeout

    Commit https://github.com/ruby/openssl/commit/3bbf5178a90e made blocking methods on SSLSocket follow the
    IO#timeout= value. The commit changed io_wait_readable() to potentially
    raise an exception without unlocking the String.

    The String is currently locked for the entire duration of a #sysread
    method call. This does not seem to be necessary, as SSL_read() does not
    require that the same buffer is specified when retrying. Locking the
    String during each SSL_read() call should be sufficient.

    https://github.com/ruby/openssl/commit/8f791d73f5

commit 4df16051be7acb9ed9631b8714cea826e4b535e8
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-23 01:06:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-23 01:07:04 +0900

    [ruby/mmtk] Remove unused lazy_static dependency

    https://github.com/ruby/mmtk/commit/f47a1e2d17

commit 8c4134a31e712a191187647ff94ac6cce51b9f66
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-23 00:58:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-23 00:58:56 +0900

    [ruby/irb] Use EnvUtil.rubybin instead of "ruby" in copy command
    test
    (https://github.com/ruby/irb/pull/1071)

    `ruby` is not always available.

    https://github.com/ruby/irb/commit/f6c5106364

commit 6821b0574980191e34149853af1962e81fc570ae
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-22 14:58:59 +0900
  Commit:     tomoya ishida <tomoyapenguin@gmail.com>
  CommitDate: 2025-01-22 23:08:34 +0900

    [ruby/irb] Bump version to 1.15.1
    (https://github.com/ruby/irb/pull/1070)

    https://github.com/ruby/irb/commit/df37b074e3

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12612

commit c066453118f5ecfb86282e02398a4da344e1cd79
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-22 10:39:55 +0900
  Commit:     tomoya ishida <tomoyapenguin@gmail.com>
  CommitDate: 2025-01-22 23:08:34 +0900

    [ruby/irb] Fix pager preview with escape sequence and newlines
    (https://github.com/ruby/irb/pull/1069)

    https://github.com/ruby/irb/commit/a139562a07

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12612

commit 9ce642c282921ed3f75d5ac0fd6d468f384b3ae4
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2025-01-22 01:12:28 +0900
  Commit:     tomoya ishida <tomoyapenguin@gmail.com>
  CommitDate: 2025-01-22 23:08:34 +0900

    [ruby/irb] Update documentation about the new copy command
    (https://github.com/ruby/irb/pull/1067)

    https://github.com/ruby/irb/commit/6194111611

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12612

commit 7813edbe19a2cd131aec5490a8ad314ded61e70e
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-21 22:58:05 +0900
  Commit:     tomoya ishida <tomoyapenguin@gmail.com>
  CommitDate: 2025-01-22 23:08:34 +0900

    [ruby/irb] Show a quick preview of inspect result before pager
    launch
    (https://github.com/ruby/irb/pull/1040)

    * Quickly show inspect preview even if pretty_print takes too much time

    * Show a message "Inspecting..." while generating pretty_print content

    * Update inspecting message

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

    * Update rendering test for preparing inspect message

    * Don't show preview if pretty_print does not take time

    ---------

    https://github.com/ruby/irb/commit/03c36586e6

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12612

commit c6e8ee4514c8f24c211a5fb0b6291ac81ee83115
  Author:     Prajjwal Singh <sin@prajjwal.com>
  AuthorDate: 2025-01-21 06:39:34 +0900
  Commit:     tomoya ishida <tomoyapenguin@gmail.com>
  CommitDate: 2025-01-22 23:08:34 +0900

    [ruby/irb] Add copy command (https://github.com/ruby/irb/pull/1044)

    Closes https://github.com/ruby/irb/pull/753

    https://github.com/ruby/irb/commit/a24ac53d48

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12612

commit 89240eb2fbdbd9a46788b4976cd4bdf4cc58ada2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-22 06:36:03 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-22 22:54:52 +0900

    Add generic ivar reference updating step

    Previously, generic ivars worked differently than the other global tables
    during compaction. The other global tables had their references updated
    through iteration during rb_gc_update_vm_references. Generic ivars updated
    the keys when the object moved and updated the values while reference
    updating the object. This is inefficient as this required one lookup for
    every moved object and one lookup for every object with generic ivars.

    Instead, this commit changes it to iterate over the generic ivar table to
    update both the keys and values.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12607

commit 7070b1b1968f31f999636b42a1af872458cd5a81
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-22 18:19:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-22 18:19:54 +0900

    Relax expectations of errors from `getgrnam`

    The list of errors cited in 58bc97628c14933b73f13e0856d1a56e70e8b0e4
    is not exhaustive and other errors may be raised by `getgrnam`.
    Additionally, these errors are system dependent and may not be listed
    on all platforms.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12610

commit 9f78c727eab888288875c423effa18c0c808dbfc
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2025-01-22 15:59:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-22 15:59:48 +0900

    Update bundled gems list as of 2025-01-21

commit 99792d063458e5559f6cc8f26c186edccc995344
  Author:     Kouhei Yanagita <yanagi@shakenbu.org>
  AuthorDate: 2025-01-22 13:56:58 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-22 15:07:19 +0900

    [DOC] Fix code markup in String#match

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12608

commit 72fdba156d2963609141867b815e202d558582bf
  Author:     Theo Buehler <tb@openbsd.org>
  AuthorDate: 2023-10-20 05:37:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-22 03:17:06 +0900

    [ruby/openssl] Use X509_ALGOR_get0() accessor for X509_ALGOR

    While the struct is currently still public in OpenSSL, there has been
    an accessor since OpenSSL 0.9.8h. It would be nice if this accessor
    could be used so that the struct can be made opaque at some point in
    the future.

    https://github.com/ruby/openssl/commit/812aeab2f5

commit 43c48e3030c513c17bfcf4c37bbe533097fa1a22
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-21 02:08:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-22 03:14:14 +0900

    [ruby/openssl] Require OpenSSL 1.1.1 or later

    Drop support for OpenSSL 1.1.0. OpenSSL 1.1.0 was a non-LTS release and
    it has reached upstream EOL in 2019-12 along with OpenSSL 1.0.2.
    Distributions that shipped with OpenSSL 1.1.0 include:

     - Debian 9 (EOL 2022-06)
     - Ubuntu 18.04 LTS (EOL 2023-04)

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

commit e7bd1d1a9a59e7af71b7f994dbea3697b70225f0
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-21 02:47:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-22 03:14:12 +0900

    [ruby/openssl] pkey/dh: do not skip test_params_ok? on LibreSSL

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

commit be6644831146dcdbb1daeb124bcdda65e93c5201
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-22 02:01:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-22 02:02:18 +0900

    [ruby/mmtk] Bump mmtk-core

    Fixes a bug where there is an infinite loop when MMTK_HEAP_MIN is small.

    https://github.com/ruby/mmtk/commit/12c7ede20b

commit 6d806031edb14ffe19d80973ea5668decebccac5
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-22 01:56:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-22 02:02:17 +0900

    [ruby/mmtk] Add tests for MMTK_HEAP_MIN

    https://github.com/ruby/mmtk/commit/a725b95f51

commit abed4ea81029d7169ef07b85622dfbd98438dae0
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2025-01-22 01:24:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-22 01:24:12 +0900

    [ruby/irb] Bump version to v1.15.0
    (https://github.com/ruby/irb/pull/1066)

    https://github.com/ruby/irb/commit/d3531d8fc0

commit a47ed9f4aa069077f9ed254d38670a9da6577ed0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-21 23:12:38 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-21 23:12:38 +0900

    Fix lrama for snapshot

    - Old versions should compile parse.y by `bison` or the bundled
      version `lrama`, not the `lrama` in the running repository.

    - Check variables for ruby executable more strictly.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12605

commit 2b1db0faecf03d3fa1b7a1b102cc4c51aa962d5f
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-11 23:24:34 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-21 20:25:38 +0900

    Remove unnecessary assignments to local variables in `f_arg_asgn`

    Local variables are not reassigned and are not needed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12054

commit 3260b0b6471ae0d7c31c1047550d8cc8afbfe63c
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-11 23:22:36 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-21 20:25:38 +0900

    Remove unnecessary assignments to local variables in `strings`

    Local variables are not reassigned and are not needed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12054

commit 5d6f76cf6eea68749a761cf40c731f78fb17c2d9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-21 19:45:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-21 19:45:57 +0900

    ext/json/parser/prereq.mk is removed from sync target

commit b1d5d1666ea6486b3631080d394505451845cfee
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2024-12-11 06:48:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-21 17:03:42 +0900

    [ruby/resolv] Check for Windows in JRuby-compatible way

    https://github.com/ruby/resolv/commit/de95f557b0

commit d3bd8df2b8fac48e7fa614c41519ab9449b55d89
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-21 16:44:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-21 16:58:34 +0900

    [ruby/resolv] Use port number 0 for ephemeral port if save

    On platforms where ephemeral port randomization is implemented, the
    same randomization is not needed in the ruby library layer.

    Fixes https://github.com/ruby/resolv/pull/63.

    https://github.com/ruby/resolv/commit/45e1b563c0

commit e5f81e511f566edaf2ca871aa72dbb0260c242bf
  Author:     wanabe <s.wanabe@gmail.com>
  AuthorDate: 2025-01-19 10:17:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-21 12:32:15 +0900

    [ruby/error_highlight] Use `$stderr` instead of STDERR for Ractor

    https://github.com/ruby/error_highlight/commit/a221a4b0eb

commit f33a76bfa93898d32841e972f006fd96bd17a1f9
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-20 17:30:30 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2025-01-21 10:16:05 +0900

    Lrama v0.7.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12595

commit 769cccba56e3a1b7336d0cfadcfb9e0689e8f01f
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-19 20:09:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-21 03:03:13 +0900

    [ruby/prism] Fix parser translator scope issues for implicit hash values

    `builder.pair_label` is no good since it makes use of variables that the parser gem encountered.
    Since the prism translator doesn't keep proper track of that information, the following code interprets
    the implicit value as a local variable, even though it is not in scope:

    ```rb
    def foo
      bar = 123
    end

    { bar: }
    ```

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

commit c6c1e7a92a86154c4bec5d6ccac29adc37ce810d
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-16 00:26:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-21 02:12:57 +0900

    [ruby/openssl] extconf.rb: remove dir_config("kerberos")

    The dir_config was introduced by Ruby trunk r4181. Since support for
    Kerberos cipher suites has been removed in OpenSSL 1.1.0, it is no
    longer necessary.

    Although ruby/openssl did not directly depend on the MIT Kerberos
    library, it was an optional transitive dependency. Unless it was
    disabled by a compile-time option, the OpenSSL headers would try to
    include <krb5.h>.

    https://github.com/ruby/openssl/commit/78d028c332

commit 441862dc9f11d83e9e35c3b965fe84e42e178a35
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-14 21:49:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-21 02:12:57 +0900

    [ruby/openssl] Require OpenSSL 1.1.0 or later

    Drop support for OpenSSL 1.0.2. It has reached upstream EOL in 2019-12.

    Most distributions that shipped with OpenSSL 1.0.2 have also reached
    EOL, or provide a newer version in the package repository:

     - RHEL 7 (EOL 2024-06)
     - Ubuntu 16.04 LTS (EOL 2021-04)
     - Amazon Linux 2 (EOL 2026-06, but OpenSSL 1.1.1 can be installed via
       the openssl11{,-devel} package)

    https://github.com/ruby/openssl/commit/38ec6fd50e

commit 010e8bff88b50a1c43515e3aa16030ec7a2b90c3
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-19 23:08:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-21 02:12:55 +0900

    [ruby/openssl] pkcs7: remove unnecessary const cast

    PKCS7_encrypt() and PKCS7_SIGNER_INFO_set() take const EVP_CIPHER and
    EVP_MD at least since OpenSSL 0.9.7.

    https://github.com/ruby/openssl/commit/9db621a5c0

commit 04cc762941cb4b6dfcc5f1904b03cde683eafc7f
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-09 16:01:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-21 02:12:55 +0900

    [ruby/openssl] engine: remove constants for ENGINE_METHOD_BN_MOD_EXP{,_CRT}

    These macros do not exist in OpenSSL 0.9.7 or later, which was released
    in 2002.

    https://github.com/ruby/openssl/commit/938a1e6aab

commit 5a448a87fca72ffc277e857d0440b8638ef22ad2
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-14 05:59:19 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-21 00:31:36 +0900

    Remove dead function rb_func_proc_new

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12566

commit 5c95898e930051ecc48d5cd2dd3434c02dd661ad
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2025-01-20 23:08:04 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-20 23:52:56 +0900

    Remove rb_obj_as_string for Parser

    Ruby Parser not used rb_obj_as_string.
    And obj_as_string property can be removed from Universal Parser.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12603

commit 6d3951e788c8fae8b70cbd81ab0352cef372b4f3
  Author:     Jun Aruga <jaruga@redhat.com>
  AuthorDate: 2025-01-20 22:56:37 +0900
  Commit:     Jun Aruga <junaruga@users.noreply.github.com>
  CommitDate: 2025-01-20 23:48:08 +0900

    .travis.yml: Drop arm64 case.

    We started running a Linux arm64 case in GitHub Actions.[1] So, it's time to
    drop the Linux arm64 case in Travis CI.

    [1] https://github.com/ruby/ruby/commit/a9d37ac3e5385c7aaec64e32de3d254903f4b5c0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12604

commit 86b262179d94e864243419ac0425cd3f85f970de
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-20 21:31:39 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-20 22:20:55 +0900

    [ruby/json] Reject invalid number: `-` `-.1` `-e0`

    https://github.com/ruby/json/commit/b9bfeecfa9

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12602

commit 525d7a68e4e08aca39ef8ec6af1e78d489cf0bd5
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-20 20:44:37 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-20 22:20:55 +0900

    [ruby/json] Raise parse error on invalid comments

    https://github.com/ruby/json/commit/2f57f40467

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12602

commit c026e44bb557dc42516785beba00452fa462738e
  Author:     tompng <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-20 20:42:20 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-20 22:20:55 +0900

    [ruby/json] Fix parsing incomplete unicode escape "\uaaa"

    https://github.com/ruby/json/commit/86c0d4eb7e

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12602

commit 2b4b7bdb10dc8671bbc9e757f05bb74355891062
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-20 19:39:25 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-20 22:20:55 +0900

    [ruby/json] Fix JSON::Fragment#to_json signature

    https://github.com/ruby/json/commit/f8817fe56c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12602

commit e8676cada82ed9947502b416eaa948258a62d7b9
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2025-01-20 19:12:09 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-20 22:20:55 +0900

    [ruby/json] Introduce JSON::Fragment

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

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12602

commit ba44e92573f5fdd23d29cfb49d8afe78287d5f79
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-20 16:42:22 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-20 21:37:20 +0900

    ext/json no longer uses ragel

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12599

commit 8c30970c58fff823b827b5643585ce96a6340853
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-20 18:03:28 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-20 18:31:56 +0900

    Revert "Skip RBS::SchemaTest"

    This reverts commit 4404688a0e9e606aea870d79f5e8be6ac1524335.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12600

commit 33708f2dc4f8327aa70fe10a53423b13da85e69e
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-20 16:34:40 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-20 18:31:56 +0900

    [ruby/json] Fix a regression in the parser with leading /

    Ref: https://github.com/ruby/ruby/pull/12598

    This could lead to an infinite loop.

    https://github.com/ruby/json/commit/f8cfa2696a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12600

commit 4404688a0e9e606aea870d79f5e8be6ac1524335
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-20 15:38:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 16:09:00 +0900

    Skip RBS::SchemaTest

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12598

commit e3ba5207b5784dfee5405f10ad70d53b5f43f9e8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-20 13:00:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 16:09:00 +0900

    Removed parser.rl from ext/json/parser/depend

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12598

commit df8f93848e46bf19b7b548fd30e033728a5f728f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-17 02:31:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 16:09:00 +0900

    [ruby/json] json_string_unescape: use memchr to search for backslashes

    https://github.com/ruby/json/commit/5e6cfcf724

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12598

commit ba8f22c040bcc1efdce30ba4110e9fc261345bd5
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-17 01:42:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 16:09:00 +0900

    [ruby/json] Cleanup json_decode_float

    Move all the decimal_class option parsing in the constructor.

    https://github.com/ruby/json/commit/e9adefdc38

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12598

commit 6c6f9672e24e2baefd3b1017b960575c3f2af91d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-16 23:29:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 16:09:00 +0900

    [ruby/json] parser.c: Pass the JSON_ParserConfig pointer

    Doesn't make a measurable performance difference but is a
    bit clearer.

    https://github.com/ruby/json/commit/314d117c61

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12598

commit f664e863d852bc331c33eb96fb03ac85cbb8171d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-16 23:22:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 16:09:00 +0900

    [ruby/json] Use RSTRING_END

    https://github.com/ruby/json/commit/dd9c46c805

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12598

commit e4b54b0a3638ed89c6c0a9ca3f10b990b2bb008d
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-16 22:53:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 16:09:00 +0900

    [ruby/json] Replace fbuffer by stack buffers or RB_ALLOCV in parser.c

    We only use that buffer for parsing integer and floats, these
    are unlikely to be very big, and if so we can just use RB_ALLOCV as it will
    almost always end in a small `alloca`.

    This allow to no longer need `rb_protect` around the parser.

    https://github.com/ruby/json/commit/994859916a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12598

commit 99e9eb5380a7a58880bef459c740e91369b8dab2
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-16 22:36:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 16:09:00 +0900

    [ruby/json] Implement write barriers for ParserConfig objects

    https://github.com/ruby/json/commit/591056a526

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12598

commit ef585744c0db927efa8fbb072912458c2200bb5e
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-15 20:54:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 16:09:00 +0900

    Finalize Kevin's handrolled parser.

    And get rid of the Ragel parser.

    This is 7% faster on activitypub, 15% after on twitter and 11% faster
    on citm_catalog.

    There might be some more optimization opportunities, I did a quick
    optimization pass to fix a regression in string parsing, but other
    than that I haven't dug much in performance.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12598

commit 1c8fc25b889b6f6b61d26669d4f7559a8b9884d6
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-16 16:03:58 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 13:50:29 +0900

    [rubygems/rubygems] Fix broken link in `bundle issue` output

    https://github.com/rubygems/rubygems/commit/0909f07f30

commit ee7b74799ca2de454fb708a70a0b2e30b46e8f57
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-16 00:50:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 13:50:27 +0900

    [rubygems/rubygems] Fix `--prefer-local` not respecting default gems

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

commit 891ecc63ac5c232081eea9597bbf366239707b77
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-16 00:15:18 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 13:50:26 +0900

    [rubygems/rubygems] Consistently assert command failure

    https://github.com/rubygems/rubygems/commit/faaa594a4a

commit 976cee57b126cd0876bf3a1f1a1d58266e488643
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-03 04:29:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 13:50:25 +0900

    [rubygems/rubygems] Don't fallback to evaluating YAML gemspecs as Ruby code

    https://github.com/rubygems/rubygems/commit/ca0a7ff8cd

commit b00315e95a7154d5b8c84c61c65fa21a3424aa06
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-20 12:25:47 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 12:25:47 +0900

    win32ole is bundled gems now

commit af81011cb63564e1e146d5ce2b12c3dd8939f01c
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-17 11:53:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 10:15:08 +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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12589

commit d2ef8861b4c3f9e9c0b4265a6842436f46bed833
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-17 04:04:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 10:15:08 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12589

commit a41e9d8f9abac7373e3429a07584bdef2dcc3f90
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-16 18:02:16 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 10:15:08 +0900

    Use configu.guess with wasi compatible version

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12589

commit 10d129120584f1bcbbdd44bc2f07b25b41786a2c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-16 16:08:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 10:15:08 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12589

commit 9a4d82fb098c8451effd765436e7e3e8ca4bf096
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-16 16:05:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-20 10:15:08 +0900

    Ubuntu 20.04 will be EOL at Apr 2025

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12589

commit f27ed98effff9891d28edc7119d45811bcedd510
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-19 20:22:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-19 21:44:20 +0900

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

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

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

commit 65a7c691884a3f50787d5cd94575a7881a2af3f1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-17 22:00:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-18 09:19:17 +0900

    CI: Skip setup-ruby on Ubuntu arm64

    Use system default 3.2.3, until setup-ruby supports Ubuntu arm64
    runners.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12594

commit a9d37ac3e5385c7aaec64e32de3d254903f4b5c0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-17 20:21:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-18 09:19:17 +0900

    CI: Add Ubuntu arm64

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12594

commit 5fceba661469ee34de462e36c053dce20de02f82
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-18 00:44:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-18 00:44:24 +0900

    [ruby/mmtk] Add mmtk_heap_max to GC.config

    https://github.com/ruby/mmtk/commit/6a78ffaf16

commit 1574b9045144a3d7eec633e2c9daf3577896d0f7
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2025-01-18 00:15:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-18 00:15:39 +0900

    [ruby/psych] Bump version for release

    https://github.com/ruby/psych/commit/2af9f6ac02

commit f7059af50a31a4d27a04ace0beadb60616f3f971
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-17 22:48:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-17 22:48:10 +0900

    Use no-inline version `rb_current_ec` on Arm64

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12593

commit ac45edc64da65e66f03c98f67824da44f847fb22
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2025-01-16 20:41:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-17 08:29:54 +0900

    Bump bundled RDoc version to 6.11.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12590

commit 179899c6165a3a525a184781c9aafcd816d4f767
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-17 06:40:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-17 06:40:31 +0900

    [ruby/mmtk] Add mmtk_heap_min to GC.config

    https://github.com/ruby/mmtk/commit/5bbac70c69

commit d05f6a9b8f1b262db234110935ac5f9cba2e7516
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-17 01:19:57 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-17 01:20:06 +0900

    [ruby/mmtk] Add NoGC back to MMTK_PLAN test

    https://github.com/ruby/mmtk/commit/89f8b8be04

commit d1a30359b1aa2a9b2c2426b333ee9cf167f8f263
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-17 01:19:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-17 01:20:05 +0900

    [ruby/mmtk] Bump mmtk-core

    https://github.com/ruby/mmtk/commit/52b857ea04

commit 2538f4d521249463d4564f7bc05606eb2f7caff0
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-16 04:01:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-17 01:20:04 +0900

    [ruby/mmtk] Add mmtk_heap_mode to GC.config

    https://github.com/ruby/mmtk/commit/810f897603

commit d78aef5e3fed43893a58aa7c524ff4d4fe6674a4
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-16 23:28:34 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-17 00:31:47 +0900

    Add not null checks to rb_gc_vm_weak_table_foreach

    If the tables are null (which happens when a GC is ran at boot), it will
    segfault when trying to iterate.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12591

commit 5df20ab0b49b55c9cf858879f3e6e30cc3dcd803
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-16 20:11:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-16 22:22:43 +0900

    Un-constify `mark_current_machine_context` on wasm

    As `SET_STACK_END` updates `ec->machine.stack_end`, it cannot be
    const.

commit fe03cc22e6b7e213ff349ce1237fffbf1a9bfbe0
  Author:     kaiba <kaibadash@gmail.com>
  AuthorDate: 2025-01-16 22:02:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-16 22:02:45 +0900

    [ruby/reline] Fix typo: marco -> macro
    (https://github.com/ruby/reline/pull/806)

    https://github.com/ruby/reline/commit/2111172302

commit 253329343cf7c82af8b456ab741ae4d863187bf4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-16 13:45:07 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-16 19:41:13 +0900

    [rubygems/rubygems] Introduce Spec::Path.sinatra_dependency_paths for sinatra mock server

    https://github.com/rubygems/rubygems/commit/0a168156d5

commit e7de621b5a49a83b6ebf824fd284d24783f95988
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-14 15:41:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-16 19:41:12 +0900

    [rubygems/rubygems] Revert RubyGems plugins getting loaded on `Bundler.require`

    These changes were included when adding bundler plugin hooks for
    `Bundler.require`, but they seem completely unrelated to that feature,
    and have caused several issues.

    https://github.com/rubygems/rubygems/commit/8d56551dcf

commit 10e7e92badce82f25118b6c0673ea7b3ce97e54d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-16 04:59:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-16 19:41:11 +0900

    [rubygems/rubygems] Extract logic to manipulate RUBYLIB in specs to a helper

    https://github.com/rubygems/rubygems/commit/0057382bb1

commit 3638f67069e8186258445a66317660ecf64dc932
  Author:     Michael Rykov <mrykov@gmail.com>
  AuthorDate: 2025-01-15 19:12:45 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-16 19:41:11 +0900

    [rubygems/rubygems] fix `@licenses` array unmarshalling

    https://github.com/rubygems/rubygems/commit/12f3e78c95

commit 142001cd64fcb7ec6896f04b0c837857590e26ce
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2025-01-15 22:26:02 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-16 19:19:46 +0900

    Fix callcc on Windows on ARM64

    Otherwise using callcc fails with a segfault for instance in this test case:
      TestEnsureAndCallcc#test_bug20655_extension_using_rb_ensure

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12580

commit 0d6506170e8e990e90001cb30f0fa67176ed1710
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-16 15:35:50 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-16 15:35:50 +0900

    downloader.rb: Use keyword arguments

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12588

commit f2c9eac887cd192f30fcd8caf165e42787b5d5ae
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-16 13:27:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-16 15:20:28 +0900

    [DOC] Follow up link to heading changes

    The section "Special global variables" has changed:
    e021754db013ca9cd6dbd68b416425b32ee81490: Special Global Variables
    2b4b513ef046c25c0a8d3d7b10a0566314b27099: Regexp Global Variables
    e50b7bf784b53ac126986dd7f9fd22ccc9b59c60: Regexp@Global+Variables

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12587

commit e65986c9bc5485d2f784bac6aadd20ee9e6420e7
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-16 13:12:58 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-16 14:21:37 +0900

    [DOC] Add reference from global variables to equivalent MatchData

    c.f. #21040

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12587

commit 32cb4b204dd23db339ad567fa2cb41bb075a1f6c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-16 14:03:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-16 14:03:45 +0900

    [DOC] Link to MarkupReference directly

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12586

commit f78447c9e8de23c652322a0d5b1696a08e098825
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-16 10:06:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-16 12:35:21 +0900

    Define dummy lib_dir of win32ole

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12583

commit 8d319edf38a7e04b59ffaa74b1ac7bc4c1551abe
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-16 09:39:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-16 12:35:21 +0900

    Skip win32ole tests without Windows platform

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12583

commit 4e563d9c5134acc38eb1ebc73aadcbefb05cd992
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-16 09:14:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-16 12:35:21 +0900

    Disabled to existence test for win32ole

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12583

commit 721891688b33bf03949a1828f476850348cc6341
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-16 09:13:28 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-16 12:35:21 +0900

    Migrate win32ole as bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12583

commit d492cfdaadf9e936217e80e0899809313ff4b3d5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-16 12:29:57 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-16 12:29:57 +0900

    Align defined? implementations between parsers (#12584)

    Fixes [Bug #21043]

  Notes:
    Merged-By: kddnewton <kddnewton@gmail.com>

commit 931a870606f4e286a1c7bacf022940994f3c431b
  Author:     Benjamin Quorning <benjamin@quorning.net>
  AuthorDate: 2025-01-16 05:48:14 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-16 10:47:46 +0900

    [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 91918bb01f15fc059d47b76d9753123cb9442ecb
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-16 04:30:41 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-16 09:01:11 +0900

    [ruby/json] Refactor JSONFixturesTest

    https://github.com/ruby/json/commit/c69963fbe5

commit a50d612a0cc50bfaa11913fdb1d5d48311ceb692
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2025-01-16 07:06:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-16 07:12:25 +0900

    [ruby/psych] Update to SnakeYAML-Engine 2.9

    Fixes ruby/psych#689

    https://github.com/ruby/psych/commit/ac887cdc76

commit 67744879a186a91bb8669c0980f78d7cd2d52f37
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-16 05:17:57 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-16 05:57:52 +0900

    Use existing vm variable for frozen strings in rb_gc_vm_weak_table_foreach

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12582

commit cd0abd696f9e5f5abff43f6c2aaa2ea5a68eb147
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-01-16 02:21:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-16 05:11:51 +0900

    [ruby/psych] remove vim settings

    https://github.com/ruby/psych/commit/2f46abf4e1

commit ab1565ebe3691d85c0cc38c895ad0b35b35abd40
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-16 03:07:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-16 03:08:03 +0900

    [ruby/mmtk] Add mmtk_plan to GC.config

    https://github.com/ruby/mmtk/commit/67da9ea5b8

commit e5ad894959c275fa8a7da7371a7dc411e67ed0a4
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-16 02:57:42 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-16 02:57:46 +0900

    [ruby/irb] Colorize backref token bold green like global variables
    (https://github.com/ruby/irb/pull/1065)

    https://github.com/ruby/irb/commit/0b60a5be1d

commit e02c7491e90cb9c8743da19ecad792465c11ca09
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-16 00:23:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-16 02:55:32 +0900

    [ruby/mmtk] Fix mmtk.h

    https://github.com/ruby/mmtk/commit/dbb4036be9

commit 65fa58d3aef07b09d8a2b6724ac2ea4b2d61610a
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-15 18:45:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-16 02:40:16 +0900

    [ruby/prism] Mark some parser translator tests as being known failures

    Without a change from `parser`, this is impossible to correctly handle.

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

commit cb6476a34e62840c25db8b3c891687c22bb26bbc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-16 00:12:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-16 00:13:36 +0900

    [ruby/mmtk] Bump mmtk-core

    https://github.com/mmtk/mmtk-core/pull/1261 fixes an issue where the following
    script causes a Rust panic:

        GC.disable
        10_000.times { Object.new }
        puts GC.stat

    https://github.com/ruby/mmtk/commit/6191ee994a

commit 6286d3858c8b609e30298b33caefda81da339748
  Author:     Lars Kanis <lars@greiz-reinsdorf.de>
  AuthorDate: 2025-01-15 22:59:22 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-15 23:37:20 +0900

    Fix ENV tests on Windows on ARM64

    Due to the x64 emulation of Windows 11 on ARM the environment variable PROCESSOR_ARCHITECTURE is set by the process startup code.
    It must therefore be excluded from tests.
    Otherwise tests fail like so:

    ```
    [30585/32394] TestProcess#test_execopts_unsetenv_others = 0.10 s
     16) Failure:
    TestProcess#test_execopts_unsetenv_others [C:/Users/Lars/ruby/test/ruby/test_process.rb:446]:
    <""> expected but was
    <"PROCESSOR_ARCHITECTURE=ARM64\n">.

    [30616/32394] TestProcess#test_execopts_env = 0.16 s
     17) Failure:
    TestProcess#test_execopts_env [C:/Users/Lars/ruby/test/ruby/test_process.rb:326]:
    <"PATH\n"> expected but was
    <"PATH\n" + "PROCESSOR_ARCHITECTURE\n">.
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12581

commit d399e0c2b64ac0080fae7df67e62b4fb85d53ff4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-15 22:11:47 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-15 22:11:47 +0900

    Move probes.h to all-incs

    It is platform dependent, should not generate by default.

commit 22feb020662405c9833902d8c72803c8f5311dbd
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-15 22:10:40 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-15 22:10:40 +0900

    Do not expand empty DESTDIR

commit 2599ac38cd24669cb7afa8b08e735bd25eb1b30a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-15 20:49:18 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-15 20:49:18 +0900

    Expand `$destdir` to enable rdoc plugins for rubygems

    `Gem::InstallerUninstallerUtils#regenerate_plugins_for` assumes that
    `plugins_dir` is an absolute path as same as the target plugin files.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12579

commit fe2bc7783040a0e35477676a0cf61103ff3635a3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-15 17:12:17 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-15 17:13:16 +0900

    Update documents with the latest bundled gems

commit 21254c36e1e5208efa4847cd8a2653bf440f58dc
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-15 16:54:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-15 17:13:16 +0900

    Removed sync target of rdoc

commit 39cfba0b5e4dd37d9b92916b36f0e4609e0b3fb9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-15 16:09:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-15 16:52:56 +0900

    Disable to generate rubygems plugin

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12577

commit 667e938f1ddfc063f693bf3a06935016f1faf12f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-15 15:30:14 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-15 16:52:56 +0900

    rdoc-srcdir can refer srcdir by itself

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12577

commit 2bfa49f28866f3d4dfecd04984ad180aff82bb7d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-15 12:36:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-15 16:52:56 +0900

    Skip related tests with Gem::RDoc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12577

commit c6923278d81f6bac9a654d554ab1d581fd7ef372
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-15 12:23:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-15 16:52:56 +0900

    Fixed missing kpeg issue with test-bundled-gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12577

commit 86575e243eda81a77ce2ede6a39e534eed9a5c3d
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-15 12:09:31 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-15 16:52:56 +0900

    Use rdoc provided by bundled gems for generating ruby documentation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12577

commit 86d871d29cda15810d9d60dc1b94a07e9530e0cb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-15 11:52:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-15 16:52:56 +0900

    Migrate rdoc as bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12577

commit e0be1b902549f80fcdc95e801d4d533b0fdec43b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-15 15:19:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-15 15:19:05 +0900

    Link `bin` as well as `lib` so that `Gem.bin_path` works

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12578

commit 272a8c3c3f334876c2246dcf9ce4d4c71fe52a78
  Author:     wanabe <s.wanabe@gmail.com>
  AuthorDate: 2025-01-15 12:30:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 13:07:43 +0900

    [ruby/erb] Make `@scanner_map` of `ERB::Compiler::Scanner` ractor-shareable

    - Freeze on assignment
    - Recreate Hash on registration

    https://github.com/ruby/erb/commit/12d69fc2b3

commit 96b5cde28bba189b6cfddce5d507eb751dda03b3
  Author:     wanabe <s.wanabe@gmail.com>
  AuthorDate: 2025-01-15 12:29:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 13:07:43 +0900

    [ruby/erb] Make `ERB::NOT_GIVEN` ractor-shareable

    https://github.com/ruby/erb/commit/348777b5bf

commit 04ec07794657cd2444ecb001a522b9df2db1b90a
  Author:     Samuel Williams <samuel.williams@oriontransfer.co.nz>
  AuthorDate: 2025-01-15 10:59:46 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-15 10:59:46 +0900

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

    [Bug #21038]

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

  Notes:
    Merged-By: ioquatix <samuel@codeotaku.com>

commit cb419e3912f0514b8151469b0a4a4b83cbbcce78
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-15 07:48:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-15 08:41:50 +0900

    [PRISM] Handle forwarding inside eval

    Fixes [Bug #21031]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12575

commit f1e32914eb40737de0f639146aebaf6e3ce2bf21
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-15 05:59:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 05:59:39 +0900

    [ruby/mmtk] Add mmtk_worker_count to GC.config

    https://github.com/ruby/mmtk/commit/836a9059cb

commit 56242ba495246e95dd5178f2ec101c1005c10afc
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-15 04:20:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 05:33:11 +0900

    Better handle regexp in the parser translator

    Turns out, it was already almost correct. If you disregard \c and \M style escapes, only a single character is allowed to be escaped in a regex so most tests passed already.

    There was also a mistake where the wrong value was constructed for the ast, this is now fixed.
    One test fails because of this, but I'm fairly sure it is because of a parser bug. For `/\“/`, the backslash is supposed to be removed because it is a multibyte character. But tbh,
    I don't entirely understand all the rules.

    Fixes more than half of the remaining ast differences for rubocop tests

commit 51d3d6ac8c2e3b6b6dacd80a9ddf11adc46fde08
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-15 03:10:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 05:31:38 +0900

    [ruby/prism] Support forwarding flags on scopes

    When parent scopes around an eval are forwarding parameters (like
    *, **, &, or ...) we need to know that information when we are in
    the parser. As such, we need to support passing that information
    into the scopes option. In order to do this, unfortunately we need
    a bunch of changes.

    The scopes option was previously an array of array of strings.
    These corresponded to the names of the locals in the parent scopes.
    We still support this, but now additionally support passing in a
    Prism::Scope instance at each index in the array. This Prism::Scope
    class holds both the names of the locals as well as an array of
    forwarding parameter names (symbols corresponding to the forwarding
    parameters). There is convenience function on the Prism module that
    creates a Prism::Scope object using Prism.scope.

    In JavaScript, we now additionally support an object much the same
    as the Ruby side. In Java, we now have a ParsingOptions.Scope class
    that holds that information. In the dump APIs, these objects in all
    3 languages will add an additional byte for the forwarding flags in
    the middle of the scopes serialization.

    All of this is in service of properly parsing the following code:

    ```ruby
    def foo(*) = eval("bar(*)")
    ```

    https://github.com/ruby/prism/commit/21abb6b7c4

commit f5fa1ee5f6e0e29e15063e8b62eb0ce7042bb29b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-15 02:16:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 02:17:44 +0900

    [ruby/mmtk] Exit with error message if MMTK_PLAN is invalid

    https://github.com/ruby/mmtk/commit/79ce2008a3

commit 1adcd960e2c0ef7e5debafa4245cd14420616d7b
  Author:     Alan Wu <alanwu@ruby-lang.org>
  AuthorDate: 2025-01-15 02:08:35 +0900
  Commit:     Alan Wu <alanwu@ruby-lang.org>
  CommitDate: 2025-01-15 02:09:22 +0900

    Add tests for Proc#parameters on `it` blocks

    [Bug #20955]

commit 2bcbc80fa26795145584af2a1cb322ac7b46f13e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-15 02:05:23 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 02:07:21 +0900

    [ruby/mmtk] Exit with error message if MMTK_HEAP_MODE is invalid

    https://github.com/ruby/mmtk/commit/c8b1f4c156

commit f627e05d14bf3482b4e864cd4ab237b0a92df0d7
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-15 01:41:26 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 02:07:21 +0900

    [ruby/mmtk] Add tests for when MMTK_HEAP_MIN >= MMTK_HEAP_MAX

    https://github.com/ruby/mmtk/commit/65b34b5e86

commit e2f0769ca2993a08a849dbd8ede099a3cc327aef
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-15 01:35:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 02:07:20 +0900

    [ruby/mmtk] Also test invalid values for MMTK_HEAP_MIN and MMTK_HEAP_MAX

    https://github.com/ruby/mmtk/commit/90f1aa8d76

commit b076e9b7acae1de931eac54a1757a1b1924d68cf
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-15 00:41:11 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-15 01:46:11 +0900

    Remove incorrectly committed snapshots

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12574

commit cf4d848cad87f4ee537b79cdf0ae32684b88f165
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-14 05:30:30 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 01:18:52 +0900

    [ruby/mmtk] Add framework for tests

    https://github.com/ruby/mmtk/commit/6d94549fc7

commit 12fa76b3e57ea6deb89c7b28fc79eef78df9739e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-15 01:01:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 01:01:46 +0900

    [ruby/prism] Fix parse.y translation for locals test

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

commit 23fc0fc22d0f066938387f3397fb8ee9358744e5
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-14 05:22:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 00:36:28 +0900

    [ruby/prism] Be a bit stricter when comparing parser translator tokens

    When there were more actual tokens than expected tokens, the test would still pass.

    Now it's possible to receive an assertion like this:
    ```
    expected: []
    actual: [:tNL, [nil, #<Parser::Source::Range comment_single.txt 8...9>]]
    <[]> expected but was
    <[:tNL, [nil, #<Parser::Source::Range comment_single.txt 8...9>]]>
    ```

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

commit d0c493df7d1bb4b32ede82422b0d08f72de025b9
  Author:     Justin Collins <justin@presidentbeef.com>
  AuthorDate: 2025-01-14 15:17:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 00:33:02 +0900

    [ruby/prism] Fix block parameters and it for RubyParser

    https://github.com/ruby/prism/commit/7a93a307ac

commit da93c9ae29d2575aa2eb3a3a0868b3ca7e489576
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-13 10:06:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 00:32:41 +0900

    [ruby/prism] Refactor serializer

    https://github.com/ruby/prism/commit/8ab2532f09

commit 713f31872a42b75924d346ce5df3e567db074cc5
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-12 11:10:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-15 00:32:39 +0900

    [ruby/prism] Freeze AST option

    To make it so that you can pass `freeze: true` to Prism parse
    methods and get back a deeply-frozen AST that is Ractor-
    shareable.

    https://github.com/ruby/prism/commit/8e6a93b2d2

commit 1758137eada3823b4f4df67e330264fa7455c46b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-14 15:33:52 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-15 00:21:57 +0900

    Simplify gc/mmtk/extconf.rb

    - Split static recipes to depend file.
    - Modify makefile configurations in the block to `create_makefile`.
    - Expand rust sources in extconf.rb instead of GNU make extension.

    TODO: pass `CARGO_TARGET_DIR` without shell syntax.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12572

commit c961d093b1501f9ce476f1e51d7774af28120407
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-14 19:11:33 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-14 21:56:14 +0900

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

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12573

commit 1b515d1c379367f077c57fde39e2cc4fc0269f35
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-14 20:42:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 21:38:17 +0900

    [ruby/openssl] ssl: update test_verify_hostname_on_connect for LibreSSL

    This reverts the change made to this test case in commit https://github.com/ruby/openssl/commit/a0e98d48c91f
    (Enhance TLS 1.3 support on LibreSSL 3.2/3.3, 2020-12-03).

    Part of the test case was skipped on LibreSSL because LibreSSL 3.2.2
    introduced a stricter check during creation of the extension. The check
    was then relaxed in LibreSSL 3.4.0.

    https://github.com/ruby/openssl/commit/187b176ecd

commit 318519caaa196a3257bc7a8552d33dfe9dd667a2
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-08 23:15:21 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 21:38:17 +0900

    [ruby/openssl] engine: remove mention of LibreSSL from OpenSSL::Engine

    These paths are only reachable when it is compiled against OpenSSL.
    LibreSSL 3.9 does not support ENGINE and defines OPENSSL_NO_ENGINE.

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

commit 731d3ec3012f125131d5c992394af17c5ff9e9e3
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-06-09 20:56:43 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 21:38:16 +0900

    [ruby/openssl] ossl.c: use OPENSSL_init_ssl() and OpenSSL_version() with LibreSSL

    LibreSSL 2.7.0 added support for OPENSSL_init_ssl() and
    OpenSSL_version().

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

commit 0fb64bda9bf16c36de3c4ca5f9d3aa8da5d39ee2
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-08 01:55:56 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 21:38:16 +0900

    [ruby/openssl] Require LibreSSL 3.9 or later

    Drop support for LibreSSL 3.1-3.8. LibreSSL 3.8 has reached its EOL in
    2024-10.

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

commit 4f79485889bc9c782474c9dd32d5b916376fd0ec
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-07 19:34:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 20:54:47 +0900

    [ruby/openssl] Refactor buffer usage to only use `append_as_bytes`

    https://github.com/ruby/openssl/commit/28f2901c48

commit 2f5d31d38ad6918410da1c41936e043f47725d4f
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-12-21 19:27:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 20:54:47 +0900

    [ruby/openssl] Reduce OpenSSL::Buffering#do_write overhead

    [Bug #20972]

    The `rb_str_new_freeze` was added in https://github.com/ruby/openssl/issues/452
    to better handle concurrent use of a Socket, but SSL sockets can't be used
    concurrently AFAIK, so we might as well just error cleanly.

    By using `rb_str_locktmp` we can ensure attempts at concurrent write
    will raise an error, be we avoid causing a copy of the bytes.

    We also use the newer `String#append_as_bytes` method when available
    to save on some more copies.

    https://github.com/ruby/openssl/commit/0d8c17aa85

    Co-Authored-By: luke.gru@gmail.com

commit ccb4ba45ed0439764fc44a40469e396187d83a71
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-12 19:30:06 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-14 17:20:02 +0900

    Use LRAMA instead of YACC

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12556

commit eafba0d5d3c10678fae23ae35e2923c3cb70de66
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-12 19:29:04 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-14 17:20:02 +0900

    Use LRAMA instead of BISON

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12556

commit 2f0741dd3ce7511e1d0a363d0a8b91d740f31df5
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-14 16:39:15 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-14 17:08:02 +0900

    [ruby/json] Fix a method redefinition warning in C parser

    Ref: https://github.com/ruby/json/pull/728
    Ref: https://github.com/ruby/ruby/pull/12569

    https://github.com/ruby/json/commit/30a4a86954

commit 599fbeaffa8e029e11223c24af47a55500f23fc3
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-13 22:04:15 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-14 17:08:02 +0900

    [ruby/json] Refactor JSON::Ext::Parser to split configuration and parsing state

    Ref: https://github.com/ruby/json/pull/718

    The existing `Parser` interface is pretty bad, as it forces to
    instantiate a new instance for each document.

    Instead it's preferable to only take the config and do all the
    initialization needed, and then keep the parsing state on the
    stack on in ephemeral memory.

    This refactor makes the `JSON::Coder` pull request much easier to
    implement in a performant way.

    https://github.com/ruby/json/commit/c8d5236a92

    Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>

commit c8d11edcf556088d10f0a245139741dcab1c7d56
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-14 15:50:40 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 15:50:50 +0900

    Sync lockfile from rubygems/rubygems

commit 4daa5ebb77282b0c004ae07b0fa37a74dacdedf8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-14 15:34:17 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-14 15:34:17 +0900

    [DOC] About `create_makefile`

    Describe two features that were missing from the documentation:

    - yields configuration part if a block is given.
    - "depend" file will be included.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12571

commit 13c868ae3e1702b08daeeef01178ed5a5edbe497
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-14 14:09:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 14:52:48 +0900

    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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12570

commit 382277f9bf4fd7b46cfe6e2e84697797c5cbf436
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-14 13:32:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 13:36:25 +0900

    [ruby/yaml] We should load rubygems for optional pstore gem

    https://github.com/ruby/yaml/commit/d32dc11205

commit 61d3f9a1a53738a8a54bbf9de9e6d1f0a410f453
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-11 05:24:11 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    Remove explicit test dependency on uri

    Since we now vendor uri, it does not buy us anything to include it in
    the gemfile explicitly.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit a3882dc565b777d8d1462879a1fd290108088ba3
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-10 20:29:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    Remove test dependency on logger

    I think logger is only used to figure out which methods need to be made
    noops in order to silence webrick during tests.

    However, it seems possible to do the same using webrick's builtin logger
    and the current method does not seem even correct since it's not
    guaranteed that the logger gem and webrick's logger will use the same
    methods.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit 78cec339584195b63ed499591c4d344bc85c41f0
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-10 20:58:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    Remove base64 as an explicit test dependency

    Tests don't use it directly, so no need to specify it in our Gemfile.

    I think it may have only been added because sinatra was not declaring
    its dependency at the time.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit 434fa4f3fdd47dc7bf13699a8b81014cf6ee2ceb
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-20 22:51:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    Add basic tapioca check to CI

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit f301383cdd4d8310a450931492e5cc0d532862e3
  Author:     Étienne Barrié <etienne.barrie@gmail.com>
  AuthorDate: 2025-01-13 19:28:06 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    Remove Generator::State#_generate

    Co-authored-by: Jean Boussier <jean.boussier@gmail.com>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit 1fae0d7256df76d091847247ec655b0b6b9c4ad9
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-03 01:48:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    Use ronn-ng again for documentation generation

    We switched to nronn because ronn-ng felt abandoned, but it seems
    it has activity again, so switch back.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit f1f81e86159221dbfce29e8e64ca8963391256fa
  Author:     Dmitrii <wrsama+github@gmail.com>
  AuthorDate: 2025-01-10 14:30:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    [ruby/fiddle] add regex for bool parsing & test struct w/ bool
    parsing
    (https://github.com/ruby/fiddle/pull/169)

    GitHub: fix https://github.com/ruby/fiddle/pull/168

    Struct parsing invokes "parse_ctype" on the whole member signature,
    which fails if member type is "bool" due to plain string matching for
    it. This change updates "bool" type matching to a regexp, so TYPE_BOOL
    is correctly parsed for a whole signature like "bool toggle" as well as
    just "bool".

    ---------

    https://github.com/ruby/fiddle/commit/71607446d4

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit 0b1b8bc3ec08de6944e6784de1ea5e03e90d8dba
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-10 05:34:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    [rubygems/rubygems] Don't remove platform specific variants from the lockfile unless necessary

    Even if they don't match the current Ruby version, they could still work
    in other rubies. So it's better to keep them.

    https://github.com/rubygems/rubygems/commit/9a3e583b0c

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit 5c83d09ec874db44f6a69d8f81952f31a811013d
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-10 21:11:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    [rubygems/rubygems] Tiny parameter rename

    Just for consistency, since all the other methods in this class that
    receive an array of dependencies use `deps`.

    https://github.com/rubygems/rubygems/commit/eca1341950

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit ae75c8877a0f9e635026ac39d52b012a0b019020
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-10 04:35:39 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    [rubygems/rubygems] Extract `SpecSet#version_for`

    https://github.com/rubygems/rubygems/commit/a76fd6d3bf

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit a0e2ed21011ae82cfbd1c17bffe8947375fe6c35
  Author:     Joshua.LeBlanc <jleblanc@omics.com>
  AuthorDate: 2025-01-11 02:59:59 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    [rubygems/rubygems] re-add removed pre-evaluated gemspec test

    https://github.com/rubygems/rubygems/commit/b73ee4059b

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit aee0277e14d9161023b45ad1cfd74dc556c8c7c4
  Author:     Josh LeBlanc <jleblanc@hey.com>
  AuthorDate: 2025-01-11 02:52:24 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    [rubygems/rubygems] Serialize gemspec when caching git source

    https://github.com/rubygems/rubygems/commit/8727d44024

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit c89bcbd58eb48e39ab7e7c47a2226e876c885b07
  Author:     Vasily Fedoseyev <vasilyfedoseyev@gmail.com>
  AuthorDate: 2024-12-28 04:22:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    [rubygems/rubygems] Do not fail on start when cannot find writable user directory on ruby 3.4

    https://github.com/rubygems/rubygems/commit/027cdc750a

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit 7389ca87b3cc9800af5560aa9e7d05ad584ed0d5
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2024-11-28 08:13:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    [rubygems/rubygems] Print message when blocking on a file lock.

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit df534ef0fcdbe804ec08aaeef2b63be3e1bbd709
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-10 22:02:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-14 12:24:37 +0900

    [rubygems/rubygems] Remove no longer used spec filter

    I think we have consistent behavior regardless of the version of git
    being used, and I'd like to keep it like that so I think we can remove
    this filter.

    https://github.com/rubygems/rubygems/commit/6a708128e9

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12568

commit d74e9ef71215b4e58d735b9377bcb02a1634c73a
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-14 11:26:25 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-14 11:26:25 +0900

    CI: Make parents of PATH directories world-unwritable

commit 8891890bffb9aecae7444619479ae26d59302cf0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-13 21:12:42 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-14 11:26:29 +0900

    Mark `rb_path_check` as internal only

commit 5f3d1eeb55ec69591e76633346d8a4812d3cc36b
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-14 05:10:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 05:11:06 +0900

    [ruby/mmtk] Remove accidentally committed files

    https://github.com/ruby/mmtk/commit/154a038293

commit ed4b1f9c1acac821e27d440d2bbb6837b59a7470
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-14 05:06:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 05:08:20 +0900

    [ruby/mmtk] Exit with error message if MMTK_HEAP_MAX is invalid

    https://github.com/ruby/mmtk/commit/4a24d55d91

commit f821a127eab4a4583f4b6336ec7ff0a1dc6d6569
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-14 05:03:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 05:08:20 +0900

    [ruby/mmtk] Exit with error message if MMTK_HEAP_MIN is invalid

    https://github.com/ruby/mmtk/commit/1d2f7b9cfc

commit 3b9b41d046ad032be73c253b0ebc17eb7de8b788
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-14 04:08:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 05:08:19 +0900

    [ruby/mmtk] Exit with error message if MMTK_THREADS is invalid

    https://github.com/ruby/mmtk/commit/5c5c454f65

commit 7c0b92a1c64d39d4861fb7b46db7efdff3bbcf65
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-14 00:41:29 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 03:02:28 +0900

    [ruby/prism] Fix parser translator tokens for `%x(#{})`

    It falsely considered it to be a single backtick command

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

commit 6637aa4682ef64134e05af949a9beee260dab937
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-11 02:24:39 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-01-14 02:58:59 +0900

    Proc#parameters: Show anonymous optionals as `[:opt]`

    Have this for lead parameters as well as parameters after rest ("post").

    [Bug #20974]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12547

commit 85a25116ccfe509d8a3de9cd5bfc467f2d77159e
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-11 05:40:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 01:44:36 +0900

    [ruby/mmtk] Enable immix_non_moving feature

    https://github.com/ruby/mmtk/commit/63ab563e04

commit 0a26a3de8955e90ef63c238b1469981648e804de
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-14 00:31:41 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 00:43:24 +0900

    [ruby/prism] Fix parser translator heredoc dedention with leading interpolation

    ```rb
    <<~F
      foo
    #{}
      bar
    F
    ```

    has zero common whitespace.

    https://github.com/ruby/prism/commit/1f3c222a06

commit eab1f02149cdebf5caab2fd61cc1cd448b5d5497
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-11 03:46:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-14 00:25:50 +0900

    [ruby/mmtk] Unskip TestEnv#test_select_bang_in_ractor

    https://github.com/ruby/mmtk/commit/b2b83ecadb

commit f7fd42ce7444ad89080f31bea748972f1a666c61
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-13 13:05:45 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-13 19:10:26 +0900

    Move the declaration of `rb_path_check`

    Although this function is unrelated to hash, it was defined in hash.c
    to check PATH environment variable originally.  Then the definition
    was moeved to file.c but the declaration was left in the hash.c block.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12564

commit 384e6945ac64dba1c41d6ca714a6d7750d92ddb2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-13 11:56:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-13 12:12:28 +0900

    [ruby/date] Enclose dangling else in braces and fix -Wmisleading-indentation

    ```
    date_strptime.c:253:324: warning: misleading indentation;
          statement is not part of the previous 'if' [-Wmisleading-indentation]
      253 |   ...((VALUE)RUBY_Qtrue)); return 0; } while (0); si += l; } while (0);
          |                                                   ^
    date_strptime.c:252:7: note: previous statement is here
      252 |       else
          |       ^
    ```

    https://github.com/ruby/date/commit/41aed5b746

commit 691c895289d757664ab5265a866ba51cf6747601
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-13 11:41:44 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-13 11:41:44 +0900

    Dependency: ext/-test-/memory_status/depend

commit 2e38b3effbe2f747da4c6059ff74d59a212c3864
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-11-07 13:49:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-13 09:57:01 +0900

    Update probes.h by incs

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12563

commit 4180036f48160ecabf09ba7a51abda9becc93d2d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-12-19 22:45:10 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-13 09:56:22 +0900

    sync_default_gems.rb: check message_filter arguments

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12563

commit 060ae17c806f0ba955b1c5d825b890b6de6c47e3
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2022-12-19 22:42:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-13 09:56:21 +0900

    CPPFLAGS is needed for dtrace not only INCFLAGS

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12563

commit 84f0d2dd4135d59ff0c65370435255d2a97e574e
  Author:     yui-knk <spiketeika@gmail.com>
  AuthorDate: 2025-01-12 09:54:04 +0900
  Commit:     yui-knk <spiketeika@gmail.com>
  CommitDate: 2025-01-13 09:23:31 +0900

    Stop passing `-t` and `-v` on ripper build

    Both of them are debug option.
    Let's use `YFLAGS` for parse.y build if needed.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12555

commit 566f9463c2be0010815c6521b32c5067a6fff699
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-12 21:49:44 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-13 03:54:16 +0900

    [ruby/prism] Fix parser translator tSPACE tokens for percent arrays

    Tests worked around this but the incompatibility is not hard to fix.
    This fixes 17 token incompatibilies in tests here that were previously passing

    https://github.com/ruby/prism/commit/101962526d

commit 14b9098459b88f94e316ccc9274693e74565739e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-12-21 06:52:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-13 03:41:42 +0900

    [ruby/prism] Frozen strings in the AST

    https://github.com/ruby/prism/commit/8d9d429155

commit 48749afe61fedcfd59cbd2fcc134c55f5ccef7f8
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-12 23:27:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-13 03:34:36 +0900

    [ruby/prism] Fix parser translator ranges for mulltiline strings with multiline bytes

    A rather silly issue with a rather simple fix.
    The ranges already use the offset cache, this effectivly double-encoded them.

    https://github.com/ruby/prism/commit/66b65634c0

commit d0deec3ef3a439374e77aad6fd90bc8f9c5bcc90
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-12 23:11:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-13 03:34:06 +0900

    [ruby/prism] Fix parser translator tokens for comment-only file

    In https://github.com/ruby/prism/pull/3393 I made a mistake.
    When there is no previous token, it wraps around to -1. Oops

    Additionally, if a comment has no newline then the offset should be kept as is

    https://github.com/ruby/prism/commit/3c266f1de4

commit f56f3eaae55cc6f8d9e79862ee73a9ffb53d6077
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-13 02:07:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-13 02:07:05 +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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12559

commit d9e1a7cdf8a6e8327cd09a891fd45d6af357f926
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-12 23:01:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-12 23:01:07 +0900

    [Bug #21018] Fix for s390x

commit 450d9dc8bf086747c4dde03441a44873163a2b9c
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2025-01-12 21:59:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-12 21:59:35 +0900

    [ruby/irb] Group private methods together in `IRB::Context`
    (https://github.com/ruby/irb/pull/1064)

    This makes them easier to find and matches the convention of the codebase.

    https://github.com/ruby/irb/commit/ce8fa6857c

commit 9f8defe8d2f406b0170a275b5d369957075ea059
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2025-01-12 21:47:25 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-12 21:47:31 +0900

    [ruby/irb] Drop ColorPrinter's workaround for BasicObject
    (https://github.com/ruby/irb/pull/1051)

    `pp` 0.6.0+ includes https://github.com/ruby/pp/pull/26 to handle BasicObject,
    so we can drop the workaround.

    https://github.com/ruby/irb/commit/08908d43c7

commit e2f1f7c56716db469bae28309c53b74f58023579
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-11 21:44:46 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-12 19:48:01 +0900

    [Doc] Encourage use of encoding constants

    Lots of documentation examples still use encoding APIs with encoding names
    rather than encoding constants. I think it would be preferable to direct
    users toward constants as it can help with auto-completion, static analysis
    and such.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12552

commit d9d08484d283b8f9c7788cbd8cbf4b34e9e35d29
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-12 13:53:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-12 13:53:15 +0900

    [DOC] Fix the description of `rb_path_check`

    c.f. #20971

commit 723f31cf6ba307df0058426b515a2b578340b37b
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-12 06:25:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-12 09:49:54 +0900

    [ruby/prism] Fix binary encoding for the parser translator

    Skipping detecting the encoding is almost always right, just for binary it should actually happen.

    A symbol containing escapes that are invalid
    in utf-8 would fail to parse since symbols must be valid in the script encoding.
    Additionally, the parser gem would raise an exception somewhere during string handling

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

commit 70022224b2627694cbbb30e819a6b1554e9c0a5b
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-12 02:48:48 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Better comment token handling for the parser translator

    There appear to be a bunch of rules, changing behaviour for
    inline comments, multiple comments after another, etc.

    This seems to line up with reality pretty closely, token differences for RuboCop tests go from 1129 to 619 which seems pretty impressive

    https://github.com/ruby/prism/commit/2e1b92670c

commit 117d6e145a0270ab8fc9134403519ef13b9ebb24
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-12 05:38:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [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 9c962ea7926e06a57a738bd1e0232ccf09e32771
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-11 00:18:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Fix parser translator tokens for backslashes in single-quoted strings and word arrays

    These are not line continuations. They either should be taken literally,
    or allow the word array to contain the following whitespace (newlines in this case)

    Before:
    ```
      0...1: tSTRING_BEG     => "'"
     1...12: tSTRING_CONTENT => "foobar\\\n"
    12...16: tSTRING_CONTENT => "baz\n"
    16...17: tSTRING_END     => "'"
    17...18: tNL             => nil
    ```

    After:
    ```
      0...1: tSTRING_BEG     => "'"
      1...6: tSTRING_CONTENT => "foo\\\n"
     6...12: tSTRING_CONTENT => "bar\\\n"
    12...16: tSTRING_CONTENT => "baz\n"
    16...17: tSTRING_END     => "'"
    17...18: tNL             => nil
    ```

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

commit 110461c509a3f93060cf66c82ed44baa00e182a1
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-12 05:48:57 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Implement more string token escaping in the parser translator

    This leaves `\c` and `\M` escaping but I don't understand how these should even work yet. Maybe later.

    https://github.com/ruby/prism/commit/13db3e8cb9

commit 81079ebfd8ba9f672664239d73e8d875e9eeedc8
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-06 23:20:41 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Import code samples for Ruby 3.3 from the parser gem

    Slightly tweaking the import script becaues of backtrace format changes in Ruby 3.4

    Most tests pass in all parsers, with only a handful of failures overall

    https://github.com/ruby/prism/commit/9b5b785aa4

commit ca81142eff98cccb03ff523322aefe4e7346fd0e
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-08 00:40:04 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [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 283037f7e3aa54e281c098c43cea830a52b1ec2d
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-09 05:17:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Better handle all kinds of multiline strings in the parser translator

    This is a followup to #3373, where the implementation
    was extracted

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

commit 80fe9a1c777e4636419e84f160c7079c152696e1
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-07 23:56:39 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Better handle multiline interpolated strings in the parser translator

    Much of this logic should be shared between interpolated symbols and regexps.
    It's also incorrect when the node contains a literal `\\n` (same as for plain string nodes at the moment)

    https://github.com/ruby/prism/commit/561914f99b

commit 9f38ee11cb4554ec4e08fb22a9c804c746cce029
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-07 04:19:21 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Fix parser translator ast for empty regex

    In that specific case, no string node is emitted

    https://github.com/ruby/prism/commit/1166db13dd

commit a234fd516f82702f9efd67e3f67de129702a6801
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-07 04:18:03 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Fix parser translator ast for regex with line continuation

    Turns out, the vast majority of work was already done with handling the same for heredocs

    I'm confident this should also apply to actual string nodes (there's even a todo for it) but
    no tests change if I apply it there too, so I can't say for sure if the logic would be correct.
    The individual test files are a bit too large, maybe something else would break that currently passes.

    Leaving it for later to look more closely into that.

    https://github.com/ruby/prism/commit/6bba1c54e1

commit d1a70014f9a1ee411c41338d0929443bab004cda
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-05 21:54:38 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Fix parser translator ast when using anonymous forwarding in blocks/lambda

    Blocks and lambdas inherit anonymous arguments from the method they are a part of.
    They themselves don't allow to introduce new anonymous arguments.
    While you can write this:
    ```rb
    def foo(*)
      bar { |**| }
    end
    ```
    referecing the new parameter inside of the block will always be a syntax error.

    https://github.com/ruby/prism/commit/2cbd27e134

commit 7cbaa3b9298b4ab5027d75a7317ca43a9e745c16
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-12-22 06:00:56 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Fix an incompatibility with the parser translator

    The offset cache contains an entry for each byte so it can't be accessed via the string length.

    Adds tests for all variants except for this:
    ```
    "fo
    o" "ba
    ’"
    ```

    For some reason, this still has the wrong offset.

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

commit d597118b3f1f03f56ed723aac2b3ec37b75fdb26
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-12-21 06:57:40 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Fallthrough fallback for unknown compilers

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

commit fa1427a63e26d24b0aca37d66af705a57d2aa2e2
  Author:     Alexander Momchilov <alexandermomchilov@gmail.com>
  AuthorDate: 2024-12-19 03:37:52 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Enable implicit fall-through errors

    https://github.com/ruby/prism/commit/03797b84d3

commit b0e64fcde83cb539ded429944bdabda52472fe42
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-12-22 04:06:46 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Bump to v1.3.0

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

commit b79152fd22f1acb4c984ca205e2de4f5f6291e90
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-12-22 05:15:32 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-12 09:09:05 +0900

    [ruby/prism] Support 3.5 for version option

    https://github.com/ruby/prism/commit/6b6aa05bfb

commit 76b620b341b54eb80028f03cc828333defacc87e
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2025-01-11 23:03:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-11 23:03:59 +0900

    [ruby/irb] `IRB.conf[:SAVE_HISTORY]` should handle boolean values
    (https://github.com/ruby/irb/pull/1062)

    Although not documented, `IRB.conf[:SAVE_HISTORY]` used to accept boolean,
    which now causes `NoMethodError` when used.

    This commit changes the behavior to accept boolean values and
    adds tests for the behavior.

    https://github.com/ruby/irb/commit/8b1a07b2a8

commit 80d28785c4385f5688db90b448c99dc1dc042a6a
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2025-01-11 21:59:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-11 21:59:21 +0900

    [ruby/irb] Print more actionable message when the exception may be
    an IRB issue
    (https://github.com/ruby/irb/pull/1061)

    https://github.com/ruby/irb/commit/4d74d39261

commit 1b3037081ef9fc121b83e213d997a069acd5904b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-11 12:21:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-11 12:21:57 +0900

    [Bug #21024] <cstdbool> header is deprecated in C++17

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12551

commit 4d8eaa9e458d62499dc60a2af901ab8c09a75aef
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-11 07:26:11 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-01-11 08:03:31 +0900

    YJIT: Rename send_iseq_forwarding->send_forwarding

    It's in gen_send_general(), so nothing specifically to do with iseqs.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12550

commit cde065c32c8db34eaf2c6b8646a2d4a34e20a3ec
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-11 07:36:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-11 07:36:51 +0900

    Clarify documentation for encoding of `String.new` without arguments

    [Bug #21025]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12548

    Merged-By: XrXr

commit 50c2c4bddee5a2c5edc0d9fc0f635befdfc4bacc
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-01-10 03:21:00 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2025-01-11 06:39:21 +0900

    Make rb_vm_insns_count a thread local variable

    `rb_vm_insns_count` is a global variable used for reporting YJIT
    statistics. It is a counter that tallies the number of interpreter
    instructions that have been executed, this way we can approximate how
    much time we're spending in YJIT compared to the interpreter.

    Unfortunately keeping this statistic means that every instruction
    executed in the interpreter loop must increment the counter. Normally
    this isn't a problem, but in multi-threaded situations (when Ractors are
    used), incrementing this counter can become quite costly due to page
    caching issues.

    Additionally, since there is no locking when incrementing this global,
    the count can't really make sense in a multi-threaded environment.

    This commit changes `rb_vm_insns_count` to a thread local. That way each
    Ractor has it's own copy of the counter and incrementing the counter
    becomes quite cheap. Of course this means that in multi-threaded
    situations, the value doesn't really make sense (but it didn't make
    sense before because of the lack of locking).

    The counter is used for YJIT statistics, and since YJIT is basically
    disabled when Ractors are in use, I don't think we care about
    inaccuracies (for the time being). We can revisit this counter when we
    give YJIT multi-threading support, but for the time being this commit
    restores multi-threaded performance.

    To test this, I used the benchmark in [Bug #20489].

    Here is the performance on Ruby 3.2:

    ```
    $ time RUBY_MAX_CPU=12 ./miniruby -v ../test.rb 8 8
    ruby 3.2.0 (2022-12-25 revision a528908271) [x86_64-linux]
    [0...1, 1...2, 2...3, 3...4, 4...5, 5...6, 6...7, 7...8]
    ../test.rb:43: warning: Ractor is experimental, and the behavior may change in future versions of Ruby! Also there are many implementation issues.

    ________________________________________________________
    Executed in    2.53 secs    fish           external
       usr time   19.86 secs  370.00 micros   19.86 secs
       sys time    0.02 secs  320.00 micros    0.02 secs
    ```

    We can see the regression in performance on the master branch:

    ```
    $ time RUBY_MAX_CPU=12 ./miniruby -v ../test.rb 8 8
    ruby 3.5.0dev (2025-01-10T16:22:26Z master 4a2702dafb) +PRISM [x86_64-linux]
    [0...1, 1...2, 2...3, 3...4, 4...5, 5...6, 6...7, 7...8]
    ../test.rb:43: warning: Ractor is experimental, and the behavior may change in future versions of Ruby! Also there are many implementation issues.

    ________________________________________________________
    Executed in   24.87 secs    fish           external
       usr time  195.55 secs    0.00 micros  195.55 secs
       sys time    0.00 secs  716.00 micros    0.00 secs
    ```

    Here are the stats after this commit:

    ```
    $ time RUBY_MAX_CPU=12 ./miniruby -v ../test.rb 8 8
    ruby 3.5.0dev (2025-01-10T20:37:06Z tl 3ef0432779) +PRISM [x86_64-linux]
    [0...1, 1...2, 2...3, 3...4, 4...5, 5...6, 6...7, 7...8]
    ../test.rb:43: warning: Ractor is experimental, and the behavior may change in future versions of Ruby! Also there are many implementation issues.

    ________________________________________________________
    Executed in    2.46 secs    fish           external
       usr time   19.34 secs  381.00 micros   19.34 secs
       sys time    0.01 secs  321.00 micros    0.01 secs
    ```

    [Bug #20489]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12549

commit 039446f601663ff7c25bbc2d46dc7de02ba640c2
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2025-01-11 06:29:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-11 06:29:34 +0900

    [ruby/irb] Gracefully handle incorrect command aliases
    (https://github.com/ruby/irb/pull/1059)

    * Gracefully handle incorrect command aliases

    Even if the aliased target is a helper method or does not exist, IRB
    should not crash.

    This commit warns users in such cases and treat the input as normal expression.

    * Streamline command parsing and introduce warnings for incorrect command aliases

    https://github.com/ruby/irb/commit/9fc14eb74b

commit 4a2702dafb0852d7a7575fd4c7717402f02ccc25
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-11 01:22:26 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-11 01:22:26 +0900

    Remove stale declaration for modular GC

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12546

commit eb8f29c46c3e9c9041dc0bfe133c06329f28a2e7
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2025-01-10 23:04:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-11 01:01:49 +0900

    [rubygems/rubygems] Fix test failure when running tests with ENV["EDITOR"] set

    Can be reproduced, for example, with

    ```
    bin/rspec spec/bundler/cli_spec.rb spec/other/cli_man_pages_spec.rb --order defined
    ```

    https://github.com/rubygems/rubygems/commit/f57d199225

commit 8adc96b5ca17c504d7a4afe7c6034c1d4d1984ba
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2024-11-15 19:49:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-11 00:59:25 +0900

    [ruby/date] Skip tests failing on TruffleRuby

    https://github.com/ruby/date/commit/d019ac8186

commit cfee3d9f4bc62c7a312be1a31c61f5126fec157f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-10 04:32:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-11 00:17:16 +0900

    Revert "[MMTk/CI] Skip Ractor btests with MMTk"

    This reverts commit 58b4e249ed8d33fc78528bc77516d541c04d65f2.

    The bug that it encountered was fixed in f76d40789d2c7185df26e925636827c06eda7157.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12543

commit f1049aa55d2cd41b5ddeb3ffafe157d41a0335bc
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-10 04:34:07 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-11 00:17:16 +0900

    Don't check for presence of `ENV['GITHUB_WORKFLOW']`

    We already check whether `ENV['GITHUB_WORKFLOW']` is equal to `Compilations`,
    so we don't need to check that it's not nil.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12543

commit c7e5dbe1d831ed5e894b6c158d06e80968291249
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-10 15:09:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-10 16:57:06 +0900

    Bump up logger-1.6.5 for TruffleRuby

commit 1babff98b0272d71a21b8cb47b2be62984741bb8
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2025-01-10 16:00:09 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-10 16:00:09 +0900

    Update bundled gems list as of 2025-01-10

commit be6a81c8bfccb5c05f93550a64bc25ced510566a
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-10 15:02:53 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-10 15:02:55 +0900

    Removed benchmark, logger, ostruct and pstore from sync targets

commit e8015ce1a36a7c8b88dd66850d3df7b8881f2f1c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-10 14:32:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-10 14:38:39 +0900

    [ruby/syntax_suggest] Resolve to lint failure of standardrb

    https://github.com/ruby/syntax_suggest/commit/ce7b87184e

commit a450e9304db8e540977958ddb5c60a65363a4ea9
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-10 12:59:29 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-10 13:27:16 +0900

    Extract Benchmark.measure on assert_cpu_usage_low

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12544

commit 503073581915761bb8b99a8e41d0a5f3958dc00c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-09 16:15:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-10 10:19:39 +0900

    Use fixed commits for assert_in_out_err of pstore and logger

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12537

commit fcecef7752d9d6c760c8ca7f6a7ce12c82988360
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-09 14:25:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-10 10:19:39 +0900

    Added logger dependency for Bundler's example

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12537

commit 31855506232194ef15d0b8ed12370e4890f220b8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-09 13:27:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-10 10:19:39 +0900

    Make Pstore tests as optional

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12537

commit 1089282acc3d3a284b092dcaa06fc241bceb4b02
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-09 13:27:43 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-10 10:19:39 +0900

    Make benchmark exapmles as optional

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12537

commit 3a1414a70b33110b9bbd7e47c09dece0300eebe8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-09 12:41:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-10 10:19:39 +0900

    Rewrite Benchmark to Tempfile on bootstraptest/test_ractor.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12537

commit cda268d8e99170f73c9c0c7dd2dbe9494ba89abb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-09 11:08:10 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-10 10:19:39 +0900

    Make logger as bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12537

commit b0d3771bce9dfcffb7467ea34971198cf4b4079e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-09 11:06:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-10 10:19:39 +0900

    Make benchmark as bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12537

commit 0c3dca6266a94c951a5347d40fbd0993e2902cc6
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-09 10:55:23 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-10 10:19:39 +0900

    Make pstore as bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12537

commit f76d40789d2c7185df26e925636827c06eda7157
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-10 04:06:31 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-10 04:08:49 +0900

    [ruby/mmtk] Enable UNIQUE_OBJECT_ENQUEUING in MMTk

    UNIQUE_OBJECT_ENQUEUING guarantees that object marking is atomic so that
    an object cannot be marked more than once.

    https://github.com/ruby/mmtk/commit/2f97fd8207

commit 4ce82f1c338d3ea9cdf21cdb12771de22ecd0d19
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-10 04:02:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-10 04:08:49 +0900

    [ruby/mmtk] Bump mmtk-core to
    https://github.com/ruby/mmtk/commit/68bf1b638263

    https://github.com/ruby/mmtk/commit/ba1ec69bf6

commit d96cc52ef1857297ffd608cf6a1eef1022286ebd
  Author:     Ellen Marie Dash <me@duckie.co>
  AuthorDate: 2025-01-01 07:04:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-10 03:13:57 +0900

    [rubygems/rubygems] Add credentials file path to "gem env".

    There are 3 possible locations:

    - $HOME/.gem/credentials
    - $XDG_DATA_HOME/gem/credentials
    - $HOME/.local/share/gem/credentials

    https://github.com/rubygems/rubygems/commit/c51756b96e

commit 2da91080d3120057a1efd51a08f350dcba26faab
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-10 02:26:07 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-10 02:34:02 +0900

    [ruby/mmtk] Fix libmmtk_ruby.a building in extconf.rb

    Since libmmtk_ruby.a was a PHONY target, it caused the shared object to
    not be rebuilt even though libmmtk_ruby.a was updated.

    https://github.com/ruby/mmtk/commit/076f0a97a6

commit 5fab31b15e32622c4b71d1d347a41937e9f9c212
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2025-01-09 03:47:11 +0900
  Commit:     Jeremy Evans <code@jeremyevans.net>
  CommitDate: 2025-01-10 00:41:04 +0900

    Enable riscv64 coroutine on OpenBSD/riscv64

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12534

commit 5045c666db6dc0824376ddd270b7e0b901acdf6c
  Author:     Petrik de Heus <petrik@deheus.net>
  AuthorDate: 2025-01-10 00:21:28 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-10 00:21:28 +0900

    [DOC] Use Hash inspect without hash-rocket in Hash documentation (#12540)

    Co-authored-by: tomoya ishida <tomoyapenguin@gmail.com>

  Notes:
    Merged-By: tompng <tomoyapenguin@gmail.com>

commit d8a21592b462aba0a66324f7444a2f6e61116d3a
  Author:     liushuyu <liushuyu011@gmail.com>
  AuthorDate: 2025-01-09 04:06:05 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-10 00:07:20 +0900

    coroutine/ppc64le: fix conditional registers got clobbered unexpectedly

    Now we also save the special cr registers during the fiber switching

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12535

commit 073c4e1cc712064e626914fa4a5a8061f903a637
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-09 20:21:41 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-09 20:21:41 +0900

    [Feature #6012] Extend `source_location` for end position and columns

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12539

commit dfe6b7c02efa3bc2f5426eb64107ac0ac45a66a4
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-08 21:35:48 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-09 19:26:20 +0900

    [Bug #21018] Show invalid command line option more properly

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12538

commit d44a41d81423c2362af3dfc6d9f9f7c2f21038c1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-09 09:44:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-09 19:24:27 +0900

    Add `rb_node_get_type` for debuggers

commit 6069e8fea50f06ceb2ed88112c2818e255d357bf
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-09 14:30:36 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-09 18:24:56 +0900

    Refactor for loop handling to simplify do keyword location assignment

commit 7790aa89f930e85e9d1d679f836338c44be0814f
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-09 10:31:57 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-09 18:24:56 +0900

    Use Named Reference

commit c721301132507c58dbef4f9bab0188a79f691e3c
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-11 01:00:05 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-09 18:24:56 +0900

    Implement FOR NODE locations

    The following Location information has been added This is the information required for parse.y to be a universal parser:

    ```
    ❯ ruby --parser=prism --dump=parsetree -e "for a in b do end"
    @ ProgramNode (location: (1,0)-(1,17))
    +-- locals: [:a]
    +-- statements:
        @ StatementsNode (location: (1,0)-(1,17))
        +-- body: (length: 1)
            +-- @ ForNode (location: (1,0)-(1,17))
                +-- index:
                |   @ LocalVariableTargetNode (location: (1,4)-(1,5))
                |   +-- name: :a
                |   +-- depth: 0
                +-- collection:
                |   @ CallNode (location: (1,9)-(1,10))
                |   +-- CallNodeFlags: variable_call, ignore_visibility
                |   +-- receiver: nil
                |   +-- call_operator_loc: nil
                |   +-- name: :b
                |   +-- message_loc: (1,9)-(1,10) = "b"
                |   +-- opening_loc: nil
                |   +-- arguments: nil
                |   +-- closing_loc: nil
                |   +-- block: nil
                +-- statements: nil
                +-- for_keyword_loc: (1,0)-(1,3) = "for"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- in_keyword_loc: (1,6)-(1,8) = "in"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- do_keyword_loc: (1,11)-(1,13) = "do"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- end_keyword_loc: (1,14)-(1,17) = "end"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ```

commit 841555245d770df88a0c8079fc97a51ffa7ef8e9
  Author:     Shannon Skipper <shannonskipper@gmail.com>
  AuthorDate: 2025-01-09 13:53:49 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-09 13:53:49 +0900

    [DOC] Show `NONE` within `Measure` namespace (#12274)

    Keep `NONE` within `Measure`

  Notes:
    Merged-By: nobu <nobu@ruby-lang.org>

commit dd80d9b089e35729d585bae2f8866c845c48f3b7
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-09 09:07:07 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-01-09 09:47:39 +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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12536

commit 96f23306f0a9859c2e2b2f5d22cfab6eb74a0e5e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-09 05:39:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-09 05:42:35 +0900

    [ruby/prism] Revert "Reject pattern match with unexpected double splat inside array"

    https://github.com/ruby/prism/commit/51e7c84124

commit c4534c9fe88259de9509e4b75fb6afc31a1f00a7
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-08 12:49:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-09 05:36:06 +0900

    [ruby/prism] Handle escapes in named capture names

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

commit 36b6625ba9ccaa0ab88dd56b3f41c70e161f3df0
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-03 21:05:21 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-09 02:33:48 +0900

    Refactor `parse_isalnum` and `parse_isxdigit` to use macro

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11780

commit 500a87756f9873a320aa3a11ab2d1ac4e1b4afee
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-08 23:58:59 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-09 02:23:51 +0900

    [ruby/prism] Reject pattern match with unexpected double splat inside array

    `a => [-2**b]` should be SyntaxError

    Fixes: https://github.com/ruby/prism/issues/3381

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

commit e0d600ec190c64aff76cfcbd6009cffb927da166
  Author:     Jeremy Evans <code@jeremyevans.net>
  AuthorDate: 2025-01-09 01:49:51 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-09 01:49:51 +0900

    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>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12528

    Merged-By: jeremyevans <code@jeremyevans.net>

commit e728170043ab9afb0f064af2bcfcf6ca06f9573d
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-09 01:17:51 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-09 01:17:57 +0900

    [ruby/rdoc] Finalize RDoc::Options before calling
    RDoc::RDoc#parse_files
    (https://github.com/ruby/rdoc/pull/1274)

    Commit https://github.com/ruby/rdoc/commit/6cf6e1647b97, which went to v6.5.0, changed `RDoc::Options#parse`
    to not call `#finish` in it. While the commit adjusted other call sites,
    it missed `lib/rdoc/rubygems_hook.rb`.

    `RDoc::Options#finish` prepares the include paths for `:include:`
    directives. This has to be done before starting to parse sources.

    I think this should fix https://github.com/ruby/net-http/issues/193 +
    https://github.com/ruby/net-http/pull/194.

    https://github.com/ruby/rdoc/commit/d62da8ca09

commit 62a1528020de16c2f60ec1aea563f7b764946c59
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-08 01:00:16 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-08 23:11:59 +0900

    Pass allocation size to rb_imemo_new

    This would allow imemo to take advantage of VWA and allocate sizes larger
    than RVALUE (40 bytes).

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12524

commit 051af9529b03c11aff8f6a09522c69983e3a9d72
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-08 17:26:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-08 17:26:08 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12532

commit ad5fa24e84be97212ef2d8763086020a44546dc1
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 16:27:49 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 17:12:19 +0900

    Skip examples related with OpenStruct in ruby/spec

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12531

commit a4528f60e5219417d15da70771f871ed089896f0
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 16:12:25 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 17:12:19 +0900

    Omit Psych_Unit_Tests if ostruct is not available

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12531

commit 599a0601f60b0a3812b9ad1b95a8870cf2921d82
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 15:56:33 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 17:12:19 +0900

    Switch to use ostruct to open3 with suggestion test

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12531

commit 9f5ca6332b787842c7ff9878067db8be0f50f7bd
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 15:45:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 17:12:19 +0900

    Refactor to omit JSON::GenericObject tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12531

commit 6bff923d2fc09217c52bb0ce909f6b7a9022b107
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 15:02:51 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 17:12:19 +0900

    Rewrite OpenStruct to dummy response class

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12531

commit 4da545ddf3883754bd29cd3a797930fe138acb37
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 14:11:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 17:12:19 +0900

    Use erb instead of ostruct for test_frozen_loaded_features

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12531

commit 574bfd284562959ff4d676231d180a7514f0abeb
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 13:28:56 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 17:12:19 +0900

    Update documents for ostruct

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12531

commit adb4029bc167bf9bd8ac074190e0b3944fa1ff50
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 13:21:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 17:12:19 +0900

    Removed logger from stub data

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12531

commit 32fb364de8515313b38dcd7d12db56e1183700fe
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 13:15:50 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 17:12:19 +0900

    Replace target list with stub constants at example of bundled_gems.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12531

commit 5f4be3ad7ea6d914f9d50d1da74eb801a02873a8
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 09:58:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 17:12:19 +0900

    Make ostruct as bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12531

commit d722bdcf6e6d195faf4ed03bbd8b2c07686a925b
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-28 10:17:15 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 17:12:19 +0900

    Convert ostruct to openstruct

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12531

commit 3e6f5ead9e0a0cbbf4d8930d7eb31db057d053c2
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-20 01:09:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-08 14:11:15 +0900

    Reapply "Suppress WIN32OLE deprecation warnings for the time being"

    Revert the part of commit 10917c5cc026f839a3dcd072b6e274eed211d0f7,
    "Update to ruby/spec@18032a7", that discarded the previous commit.

commit b81db531b24a6824bf5b89d8460baed5d5418835
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-08 12:03:12 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-08 13:26:14 +0900

    [Bug #21011] `nd_value` is NULL in massign

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12530

commit 1a06bee027d5c5b65ed0aaee76ee0040554d4efd
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-06 11:42:23 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-08 12:30:16 +0900

    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>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12514

commit 27c9ccb30e6f4af8f85bb837db00de5f5b6bbaae
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 11:09:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 11:55:39 +0900

    Also stub-out with directry using with test script or -e option

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12529

commit 4a02a72ca57daf4984a3b2245dbc418fe35e6295
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 11:02:00 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 11:55:39 +0900

    Dont't use stub constants like LIBDIR in bundled_gems.rb

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12529

commit aaf36f4f8eb585ef598aa9f2d973adf92a868de3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-08 10:48:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-08 11:55:39 +0900

    Use heredoc to script runner for another ruby process

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12529

commit 18f756e4af23104284fd03cee7ca6a374ea9bbb1
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-12 11:20:52 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-08 10:48:07 +0900

    Remove unnecessary semantic actions

    If you don’t specify an action for a rule, Lrama supplies a default: `$$ = $1`.

commit 76759003f5d275f8f5dbf42259ff55584fa6b387
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-08 01:14:01 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-08 10:46:23 +0900

    Introduce macro for creating child iseqs with callbacks

    Use macro like `NEW_ISEQ` and `NEW_CHILD_ISEQ`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11804

commit 63723c8d5908569918fb27e070ae5bc9de33c8bd
  Author:     Aaron Patterson <tenderlove@ruby-lang.org>
  AuthorDate: 2025-01-08 09:14:18 +0900
  Commit:     Aaron Patterson <aaron.patterson@gmail.com>
  CommitDate: 2025-01-08 10:08:43 +0900

    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]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12527

commit 4a78d74039df3fc6870800596667a7b42522b032
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-08 07:17:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-08 07:17:31 +0900

    [ruby/mmtk] Remove unused Ruby SHA reference in Cargo.toml

    https://github.com/ruby/mmtk/commit/02b9439ea6

commit ad96c5a72908042489357b73dc936c4bc38d919b
  Author:     eileencodes <eileencodes@gmail.com>
  AuthorDate: 2025-01-08 04:18:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-08 04:35:01 +0900

    [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

commit d0f9f3e2c6eb074aa94f1460cce5a24c2415495f
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-07 06:13:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-08 01:01:08 +0900

    Remove IMEMO_DEBUG

    The code path hasn't compiled for almost a year, since 330830dd1a44b6e497250a14d93efae6fa363f82,
    so probably nobody uses it.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12519

commit b9d29912dd03d0858187cc4770c76152add0f3f8
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2025-01-08 00:57:40 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-08 00:57:45 +0900

    [ruby/reline] Update to Unicode 16.0.0
    (https://github.com/ruby/reline/pull/803)

    https://github.com/ruby/reline/commit/24e6128676

commit 2b713f08a321f0557f61e78165d729098af69672
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-08 00:37:28 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-08 00:37:41 +0900

    [ruby/mmtk] Bump mmtk-core version

    https://github.com/ruby/mmtk/commit/0de72c03ba

commit 60f235ab1ff436d520648fc7944fbe0d1b579b79
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-07 23:00:38 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-07 23:25:38 +0900

    [ruby/prism] Move a parser translator test to a known failure

    That issue is exactly about what this test file contains:
    A single-quoted heredocs with backslashes

    https://github.com/ruby/prism/commit/4820a44c7b

commit 271cdb3c1c9f76ef94f2d51bac5db80f6318c01f
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2025-01-07 19:40:26 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-01-07 20:30:52 +0900

    Quarantine failing new specs that require investigation

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12517

commit 10917c5cc026f839a3dcd072b6e274eed211d0f7
  Author:     Andrew Konchin <andry.konchin@gmail.com>
  AuthorDate: 2025-01-07 03:28:22 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-01-07 20:30:52 +0900

    Update to ruby/spec@18032a7

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12517

commit 36d5e2d8f72afcdbbed64ce21bc94134124d691e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-07 13:29:35 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-07 13:29:35 +0900

    [DOC] Fix `exclude:` as regexps

commit f756950d82dfd5049448a69f4fe4ddad5a7f7ff6
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2025-01-04 03:41:08 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-07 13:21:46 +0900

    Improve lookup tables for string escaping.

    Introduce a simplified table for the most common case, which is
    `script_safe: false, ascii_only: false`.

    On the `script_safe` table, now only `0xE2` does a multi-byte check.

    Merge back `convert_ASCII_to_JSON`, as it no longer help much with
    the simplified escape table.

    ```
    == Encoding mixed utf8 (5003001 bytes)
    ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                   after    38.000 i/100ms
    Calculating -------------------------------------
                   after    398.220 (± 3.0%) i/s    (2.51 ms/i) -      2.014k in   5.061659s

    Comparison:
                  before:      381.8 i/s
                   after:      398.2 i/s - same-ish: difference falls within error

    == Encoding mostly utf8 (5001001 bytes)
    ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                   after    39.000 i/100ms
    Calculating -------------------------------------
                   after    393.337 (± 2.5%) i/s    (2.54 ms/i) -      1.989k in   5.059397s

    Comparison:
                  before:      304.3 i/s
                   after:      393.3 i/s - 1.29x  faster

    == Encoding twitter.json (466906 bytes)
    ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +YJIT +PRISM [arm64-darwin23]
    Warming up --------------------------------------
                   after   244.000 i/100ms
    Calculating -------------------------------------
                   after      2.436k (± 0.9%) i/s  (410.43 μs/i) -     12.200k in   5.007702s

    Comparison:
                  before:     2125.9 i/s
                   after:     2436.5 i/s - 1.15x  faster
    ```

commit b176d4f52e4af67654814dab3e9c5f4bf9170e54
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-07 11:38:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-07 11:38:51 +0900

    [Bug #21008] Normalize before sum to float

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12522

commit e9593eb96715628edb0e5b2b5accdffd1d85187d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-07 09:56:54 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-07 09:56:54 +0900

    [DOC] Fix an error example

    `%q{c}` after another string literal is parsed as RHS of modulo, `q`
    method call with a block.

commit be4567e194c7eb8571d0b43336e91c27b5eeb451
  Author:     mterada1228 <49284339+mterada1228@users.noreply.github.com>
  AuthorDate: 2025-01-07 09:53:45 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-07 09:53:50 +0900

    [ruby/rdoc] Add missing `RDoc::RubygemsHook` API for `gem server`
    (https://github.com/ruby/rdoc/pull/1270)

    This PR fixes https://github.com/ruby/rdoc/pull/1269.

    ## Expected Behavior

    `gem server` command is successful.

    ```console
    $ gem server
    Server started at http://[::]:8808
    Server started at http://0.0.0.0:8808
    ```

    http://127.0.0.1:8808/ works.

    ## Actual Behavior

    `gem server` command doesn't work because `Gem::RDoc.load_rdoc` raises
    `NoMethodError`.

    ```console
    $ gem server
    ERROR:  While executing gem ... (NoMethodError)
        undefined method 'load_rdoc' for class RDoc::RubygemsHook

        Gem::RDoc.load_rdoc
                 ^^^^^^^^^^
            /Users/mterada/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rubygems-server-0.3.0/lib/rubygems/server.rb:437:in 'Gem::Server#initialize'
            /Users/mterada/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rubygems-server-0.3.0/lib/rubygems/server.rb:426:in 'Class#new'
            /Users/mterada/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rubygems-server-0.3.0/lib/rubygems/server.rb:426:in 'Gem::Server.run'
            /Users/mterada/.rbenv/versions/3.4.1/lib/ruby/gems/3.4.0/gems/rubygems-server-0.3.0/lib/rubygems/commands/server_command.rb:83:in 'Gem::Commands::ServerCommand#execute'
            /Users/mterada/.rbenv/versions/3.4.1/lib/ruby/3.4.0/rubygems/command.rb:326:in 'Gem::Command#invoke_with_build_args'
            /Users/mterada/.rbenv/versions/3.4.1/lib/ruby/3.4.0/rubygems/command_manager.rb:253:in 'Gem::CommandManager#invoke_command'
            /Users/mterada/.rbenv/versions/3.4.1/lib/ruby/3.4.0/rubygems/command_manager.rb:194:in 'Gem::CommandManager#process_args'
            /Users/mterada/.rbenv/versions/3.4.1/lib/ruby/3.4.0/rubygems/command_manager.rb:152:in 'Gem::CommandManager#run'
            /Users/mterada/.rbenv/versions/3.4.1/lib/ruby/3.4.0/rubygems/gem_runner.rb:57:in 'Gem::GemRunner#run'
            /Users/mterada/.rbenv/versions/3.4.1/bin/gem:12:in '<main>'
    ```

    ## Versions

    ```console
    $ rdoc -v
    6.10.0
    ```

    ---------

    https://github.com/ruby/rdoc/commit/b6a82244a2

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>

commit 9bbcbc3f368cbfdbfa914b276cd523cb0fc527ec
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-06 15:49:13 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-07 08:00:22 +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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12515

commit 89c505dc479a081aa4cc69add29855b182d52b7d
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-12-13 16:43:14 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-07 07:56:48 +0900

    Move string escape sequence documention further down

    If someone looks at documention for strings,
    I don't think escape sequences is what they look
    for in majority of the cases.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12318

commit b0d291ec83dd8140f7319f94bff6566681678c59
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2024-12-13 16:42:05 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-07 07:56:48 +0900

    Fix link to strings in literals.rdoc

    Since https://github.com/ruby/ruby/commit/5e1001f754b34e1f0cc67563512c6036b6eb75ab, the string link is broken

    Instead of changing the anchor reference, I changed the header directly,
    to keep in line with other titles

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12318

commit b3de2c334ea6d9382626be421ce63d1f0a696f4e
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-05 10:14:03 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-07 07:18:49 +0900

    Use `ISEQ_BODY(iseq)` instead of `iseq->body`

    trivial change that unifies the format for access.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11803

commit de8deb5f9c7aef899bbad6652e86ab1031a25965
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-29 11:45:54 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-07 07:17:55 +0900

    Remove unused token definitions for `tRPAREN` in Ripper and parser files

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12488

commit 8fb17f86d7ef2a84f82c83a9509e311a07aa93fc
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-07 05:06:02 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-07 05:06:02 +0900

    [Bug #21006] Fix defined_expr compilation of method call with parenth… (#12518)

    [Bug #21006] Fix defined_expr compilation of method call with parenthesized receiver

commit 5698f4f2e1b8221a68989f881c03a41175736a8a
  Author:     Mari Imaizumi <mariimaizumi5@gmail.com>
  AuthorDate: 2025-01-07 04:21:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-07 04:21:09 +0900

    [ruby/reline] Enter newline if cursor position is middle of input
    (https://github.com/ruby/reline/pull/802)

    * Enter newline if cursor position is middle of input

    * Add ed_force_submit to allow input confirmation on non-final lines

    https://github.com/ruby/reline/commit/8ef534e904

commit 31905d9e23ec6d1fa2a52f1ef2533f2056e7c9fb
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-06 10:42:09 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-07 03:18:22 +0900

    Allow escaping from ensures through next

    Fixes [Bug #21001]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12513

commit a61c16ba4214da3eda45bdd2b168e7d7e8af30c5
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2025-01-07 00:13:16 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-07 02:07:57 +0900

    [ruby/openssl] pkey: simplify X25519/Ed25519 test cases

    When these test cases were written, we did not know the exact OpenSSL
    and LibreSSL version number in which they would be implemented. Now that
    we know it, we can use that information to ensure the tests are run
    whenever they should be.

     - OpenSSL 1.1.0 added X25519 support
     - OpenSSL 1.1.1 added Ed25519 support and
       EVP_PKEY_new_raw_private_key()
     - LibreSSL 3.7.0 added X25519 and Ed25519 support in EVP_PKEY and
       EVP_PKEY_new_raw_private_key()
     - LibreSSL 3.8.1 allowed ASN1_item_sign() to use Ed25519

    https://github.com/ruby/openssl/commit/6cb6663c91

commit 3da850104ea75d6ea6ac6babae3596972129f953
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-08-17 15:04:00 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-07 02:07:57 +0900

    [ruby/openssl] pkey: fix test case for new_raw_*key

    Method names must start with "test_" to run.

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

commit ff708f86fadd891869a96320f1de499dee1b1046
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-07-04 17:28:10 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-07 02:07:56 +0900

    [ruby/openssl] pkey/ec: use heredoc for invalid key example in test cases

    test/openssl/fixtures/pkey/p256_too_large.pem and p384_invalid.pem are
    invalid keys where the encoded public key doesn't match the private key.
    They are only useful for test cases for OpenSSL::PKey::EC#check_key and
    will not be reused elsewhere. Let's directly include the PEM encoding
    as a heredoc for clarity.

    p384_invalid.pem is dropped because it is redundant.

    https://github.com/ruby/openssl/commit/2f807ff30f

commit f0095413a520140d2ba54728d3e558d75dfda09d
  Author:     Kazuki Yamaguchi <k@rhe.jp>
  AuthorDate: 2024-07-04 17:05:05 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-07 02:07:56 +0900

    [ruby/openssl] x509cert: simplify test cases for Certificate.load_file

    Remove files from test/openssl/fixtures/pkey/ which are not pkeys.
    The test cases for OpenSSL::X509::Certificate.load_file can simply use
    issue_cert and Tempfile.

    https://github.com/ruby/openssl/commit/11216b8bec

commit 5412501e3611b2a344bf2d71f385bc4f8f0e02ca
  Author:     samuel40791765 <sachiang@amazon.com>
  AuthorDate: 2024-12-21 09:29:33 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-06 23:04:58 +0900

    [ruby/openssl] pkey: Use openssl generated pkcs8 key instead

    https://github.com/ruby/openssl/commit/6a6fac9958

commit 975461bf885b8fb791cf048ad39c79924d28e4e9
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2025-01-04 13:42:22 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-06 20:17:47 +0900

    Remove SYM2ID for Parser

    Ruby Parser not used SYM2ID.
    And sym2id property can be removed from Universal Parser.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12507

commit e0591b666f763a5adc3bad0772c214e11128d81b
  Author:     Naoto Ono <onoto1998@gmail.com>
  AuthorDate: 2025-01-06 19:49:58 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-06 19:49:58 +0900

    Launchable: Exit 0 not to stop CI pipeline (#12449)

  Notes:
    Merged-By: ono-max <onoto1998@gmail.com>

commit 54bd5e036e4ca94cd557ba09bb3e4de4e1e7f75f
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-06 18:02:34 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-06 18:39:24 +0900

    Try to update the latest version of vcpkg

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12064

commit 49d8384e14c444d306ab3d37943a604258fa7f47
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-11-12 18:59:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-06 18:39:24 +0900

    Update vcpkg baseline with latest version

    ```
        libffi:x64-windows@3.4.6
        libyaml:x64-windows@0.2.5#5
        openssl:x64-windows@3.4.0
      * vcpkg-cmake:x64-windows@2024-04-23
      * vcpkg-cmake-config:x64-windows@2024-05-23
      * vcpkg-cmake-get-vars:x64-windows@2024-09-22
        zlib:x64-windows@1.3.1
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12064

commit 668701cb0b42f27c5f54309a358c6fcbb24b5d85
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2025-01-06 18:11:38 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-06 18:11:38 +0900

    Added copyright for vendored turbo_tests.

    [Bug #21002]

commit 70decc857cdaa9c5766ae39394f174bd717a2696
  Author:     License Update <license.update@rubygems.org>
  AuthorDate: 2025-01-05 09:32:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-06 16:19:23 +0900

    [rubygems/rubygems] Update SPDX license list as of 2024-12-30

    https://github.com/rubygems/rubygems/commit/42aaaff15c

commit 7ec233c85b684a254dbbbbd5baab56241a7db14c
  Author:     Raul Gutierrez Segales <rgs@pop-os.myfiosgateway.com>
  AuthorDate: 2025-01-04 06:33:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2025-01-06 15:41:49 +0900

    Fix typo for private constant in Socket

    Signed-off-by: Raul Gutierrez Segales <rgs@itevenworks.net>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12506

commit c8e3d745fabc2060a6e5c7342c881bb31f58f5f5
  Author:     Junichi Ito <jit@sonicgarden.jp>
  AuthorDate: 2024-12-22 12:54:35 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-06 10:50:53 +0900

    Use a single quote instead of a backtick for error messages
    Fix https://bugs.ruby-lang.org/issues/20977

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12424

commit 8a9f1e600fc151f4b01d51c43a2613fd0a71a79c
  Author:     Mark Young <mark.w.young@keyloop.com>
  AuthorDate: 2025-01-01 01:38:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-06 10:20:56 +0900

    [ruby/logger] Provide a 'Changelog' link on rubygems.org/gems/logger

    By providing a 'changelog_uri' in the metadata of the gemspec a
    'Changelog' link will be shown on https://rubygems.org/gems/logger
    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/#metadata

    https://github.com/ruby/logger/commit/c6c64b02a0

commit 80b01cc567f4c347b2ec78298b2fe639ac326ac4
  Author:     Mark Young <mark.w.young@keyloop.com>
  AuthorDate: 2025-01-01 01:48:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-06 10:19:55 +0900

    [ruby/net-http] Provide a 'Changelog' link on rubygems.org/gems/net-http

    By providing a 'changelog_uri' in the metadata of the gemspec a
    'Changelog' link will be shown on https://rubygems.org/gems/net-http
    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/#metadata

    https://github.com/ruby/net-http/commit/eeb728fefe

commit ce09b43aa056f8902cd99b7aee253aae725da996
  Author:     Mark Young <mark.w.young@keyloop.com>
  AuthorDate: 2025-01-01 01:53:12 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-06 10:19:45 +0900

    [ruby/ostruct] Provide a 'Changelog' link on rubygems.org/gems/ostruct

    By providing a 'changelog_uri' in the metadata of the gemspec a
    'Changelog' link will be shown on https://rubygems.org/gems/ostruct
    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/#metadata

    https://github.com/ruby/ostruct/commit/47d84001eb

commit 3b659457b8095d4f6694250b6f93b028fd63010c
  Author:     Mark Young <mark.w.young@keyloop.com>
  AuthorDate: 2025-01-01 02:03:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-06 10:19:30 +0900

    [ruby/securerandom] Provide a 'Changelog' link on rubygems.org/gems/securerandom

    By providing a 'changelog_uri' in the metadata of the gemspec a
    'Changelog' link will be shown on https://rubygems.org/gems/securerandom
    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/#metadata

    https://github.com/ruby/securerandom/commit/3e0249deaf

commit 2a1cff40f5e7875f69a7d0ed59eab92cc86c65ff
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-06 03:29:55 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2025-01-06 09:56:21 +0900

    Do not warn unused block when using forwarding

    Fixes [Bug #21003]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12512

commit c037f5a28c54b86139ef17db061fdbf7dc82fd32
  Author:     Earlopain <14981592+Earlopain@users.noreply.github.com>
  AuthorDate: 2025-01-04 03:14:15 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-06 03:12:44 +0900

    [ruby/prism] Fix parser translator ast for heredoc with written newlines

    Heredocs that contain "\\n" don't start a new string node.

    https://github.com/ruby/prism/commit/61d9d3a15e

commit 179e2cfa918c8bd418ca68b99b174f00f1ec205e
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2025-01-06 02:29:02 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-06 03:05:35 +0900

    [ruby/prism] Fix global variable read off end

    https://github.com/ruby/prism/commit/3f2c34b53d

commit 22e9fa81ca27243922ec9a32fdd96065becb35f9
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2024-12-30 19:10:51 +0900
  Commit:     Jean Boussier <jean.boussier@gmail.com>
  CommitDate: 2025-01-06 01:04:54 +0900

    gc/default/default.c: don't call `malloc_usable_size` when hint is present

    Depending on the allocator, `malloc_usable_size` may be very cheap or quite
    expensive. On `macOS` for instance, it's about as expensive as `malloc`.

    In many case we call `objspace_malloc_size` with as size we initially
    requested as `hint`. The real usable size may be a few bytes bigger,
    but since we only use that data to feed GC heuristics, I don't think
    it's very important to be perfectly accurate.

    It would make sense to call `malloc_usable_size` after growing a String
    or Array to use the extra capacity, but here we don't do that, so
    the call isn't worth its cost.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12490

commit 37361d87a6903c16d3e0662ae6a7e285f3ede68b
  Author:     Burdette Lamar <BurdetteLamar@Yahoo.com>
  AuthorDate: 2025-01-05 23:40:49 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-05 23:40:49 +0900

    [DOC] Tweaks for Hash.new (#12503)

  Notes:
    Merged-By: peterzhu2118 <peter@peterzhu.ca>

commit e45fca1372c40386d0b665432e7d4c68fcb3a522
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2025-01-05 21:41:50 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-05 21:41:53 +0900

    [ruby/rdoc] [DOC] Remove unnecessary rdoc-ref missing example
    (https://github.com/ruby/rdoc/pull/1271)

    We don't actually need to link to the missing item to show the non-linked
    result.

    https://github.com/ruby/rdoc/commit/a7b7e8fc55

commit 9552bd590c455b6501aa8233a3a1e435a315989f
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2025-01-05 18:42:27 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-05 18:42:27 +0900

    Sync IRB to 3e6c12b (#12486)

    Sync IRB to 3e6c12b174c0a961d8065eae22f6c4afc7b2c3e8

  Notes:
    Merged-By: tompng <tomoyapenguin@gmail.com>

commit a70206c439b1f559ba5207b3027a8d6e3ec477ab
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-05 15:57:22 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-05 15:57:25 +0900

    [ruby/reline] Refactor utf-8 strings and invalid strings in test
    code
    (https://github.com/ruby/reline/pull/800)

    * Remove invalid encoding string "\M-[char]" from test code, remove unused code/arg/options

    * Omit unicode unnoralized input test in non-utf8 testcase

    * Remove helper method and constant no longer used in testcode

    * Change key binding test to use realistic bytes instead of invalid byte sequence

    * Remove invalid byte sequence input from rendering test

    yamatanooroti handles invalid byte sequence input "\M-[char]" and converts it to "\e[char]"
    We don't need to use these invalid byte sequence and rely on the hack implemented in yamatanooroti

    https://github.com/ruby/reline/commit/f09e7b154c

commit 9a15672614c772d80ecd43d41653399b0ed98d89
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-05 13:57:19 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-05 13:57:23 +0900

    [ruby/reline] Fix bracketed paste and scrolling bug
    (https://github.com/ruby/reline/pull/801)

    * Fix set_pasting_state bug with bracketed paste

    * Fix rendered cursor_y caching in case of rendering the screen without scroll_into_view

    https://github.com/ruby/reline/commit/c5d5c444df

commit dfc9e978fba886d9a9175534551b1fc7b4d22abd
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-05 07:02:24 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-05 09:06:12 +0900

    [Bug #21004] Fix memory leak with "it" in parse.y

    Parsing `-> do it end` in parse.y leaks memory. We can see this in the
    Valgrind output:

        56 bytes in 1 blocks are definitely lost in loss record 1 of 6
            at 0x484E0DC: calloc (vg_replace_malloc.c:1675)
            by 0x188970: calloc1 (default.c:1472)
            by 0x188970: rb_gc_impl_calloc (default.c:8208)
            by 0x188970: ruby_xcalloc_body (gc.c:4598)
            by 0x18B8BC: ruby_xcalloc (gc.c:4592)
            by 0x21DCCA70: new_locations_lambda_body (ripper.y:12844)
            by 0x21DCCA70: ripper_yyparse (ripper.y:5194)
            by 0x21DDA521: rb_ruby_ripper_parse0 (ripper.y:15798)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12508

commit 78d7dde21c80e97c5c3102410c961478e8979cd6
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-05 07:02:14 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-05 09:06:12 +0900

    Remove unused loc in rb_locations_lambda_body_t

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12508

commit 9d7ba7848f970012848094e07ed3c34e4fc2d57c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-05 07:17:37 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-05 07:53:33 +0900

    Suppress warnings for flip-flop in test_ast.rb

    There are warnings emitted from test_flip2_locations and test_flip3_locations.
    This commit changes ast_parse to suppress all warnings.

        warning: integer literal in flip-flop
        warning: string literal in flip-flop

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12509

commit c71addc5227f2f7a04db2b2fb4c14d464639f3f6
  Author:     Alan Wu <XrXr@users.noreply.github.com>
  AuthorDate: 2025-01-05 01:41:00 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-01-05 02:53:20 +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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12499

commit 37356b713ceb0d159f946269c8479854ceb2acee
  Author:     Nick Dower <nicholasdower@gmail.com>
  AuthorDate: 2025-01-03 01:24:55 +0900
  Commit:     Alan Wu <XrXr@users.noreply.github.com>
  CommitDate: 2025-01-05 02:53:20 +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>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12499

commit c936699431477a565b9e4036bc3b1fc186ac9918
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-03 00:52:14 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 20:27:40 +0900

    Implement FLIP3 NODE locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11986

commit 24653430cde5f7abb895d1a009ebf4d8cfc39519
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-03 00:47:19 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 20:27:40 +0900

    Implement FLIP2 NODE locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11986

commit 61c4907458f00841f28feb2daeb508af8c494d51
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-03 00:31:29 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 20:27:40 +0900

    Implement DOT3 NODE locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11986

commit 88da6856a3f5cc6a84a8d1909f56952c605ef0dc
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-03 00:26:25 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 20:27:40 +0900

    Implement DOT2 NODE locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11986

commit a1f010b8e41f5406a728cc8a75816a0a20bf2174
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-12 11:05:01 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 18:59:30 +0900

    Use user defined parameterizing rules `compstmt(stmts)`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11652

commit bb66b42a7fe8bb3beb1b806330bf268867fa1e49
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-04 17:56:45 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 18:58:44 +0900

    Use user defined parameterizing rules `op_asgn(rhs)`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12494

commit 2efa78099cabbf40e0c974a047605ca0bfc09fc6
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-02 01:23:26 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 18:58:44 +0900

    Use user defined parameterizing rules `def_endless_method(bodystmt)`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12494

commit 4fa68953fbf1e2cec9b8650a5a25b4b6bfe0e331
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-02 01:11:23 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 18:58:44 +0900

    Use user defined parameterizing rules `asgn(lhs, rhs)`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12494

commit 1e330dd5ecddd709d9d3c2fa24a42506c52c06b3
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-04 17:22:58 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 18:07:27 +0900

    Use `p_primitive_value`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11889

commit f00c5102c046c8376b0c680423686ac2fcb99592
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-12 16:47:05 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 18:07:27 +0900

    Use `command_call_value`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11889

commit 0eb63c410ea0324412c0376e5cf2166e81e32970
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-12 16:46:05 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 18:07:27 +0900

    Use user defined parameterizing rules  `value_expr`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11889

commit 7124c34f516c82ee483ca9a8bf3346926c7a2a80
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-12-13 20:44:39 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 18:04:42 +0900

    Remove unused `FIXNUM_OR` macro from compile.c

    This PR remove unused FIXNUM_OR macro from compile.c

    before:
    ```
    ❯ git grep 'FIXNUM_OR'
    compile.c:#define FIXNUM_OR(n, i) ((n)|INT2FIX(i))
    ```

    after:
    ```
    ❯ git grep 'FIXNUM_OR'

    ```

commit 9ebfda07f7d51497b85961f99a00562800696de9
  Author:     git[bot] <svn-admin@ruby-lang.org>
  AuthorDate: 2025-01-04 15:58:36 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-04 15:58:36 +0900

    Update bundled gems list as of 2025-01-04

commit f2454aa2c28e15c88750c731262d23ad9e6c849d
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-03 22:59:23 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 13:55:44 +0900

    Use user defined parameterizing rules `f_kw(value)`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11674

commit 5fcc3ab534cb001a577a5c64381d3a31813344c9
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-05 14:13:29 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 13:53:13 +0900

    Implement REGX NODE locations

    The following Location information has been added This is the information required for parse.y to be a universal parser:

    ```
    ❯ ruby --parser=prism --dump=parsetree -e '/foo/'
    @ ProgramNode (location: (1,0)-(1,5))
    +-- locals: []
    +-- statements:
        @ StatementsNode (location: (1,0)-(1,5))
        +-- body: (length: 1)
            +-- @ RegularExpressionNode (location: (1,0)-(1,5))
                +-- RegularExpressionFlags: forced_us_ascii_encoding
                +-- opening_loc: (1,0)-(1,1) = "/"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- content_loc: (1,1)-(1,4) = "foo"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- closing_loc: (1,4)-(1,5) = "/"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- unescaped: "foo"
    ```

commit fa2517451ec265d5b273e864bc750a1b9ba2957f
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-02 17:21:51 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 13:52:35 +0900

    Implement LAMBDA NODE locations

    The following Location information has been added This is the information required for parse.y to be a universal parser:

    ```
    ❯ ruby --parser=prism --dump=parsetree -e "-> (a, b) do foo end"
    @ ProgramNode (location: (1,0)-(1,20))
    +-- locals: []
    +-- statements:
        @ StatementsNode (location: (1,0)-(1,20))
        +-- body: (length: 1)
            +-- @ LambdaNode (location: (1,0)-(1,20))
                +-- locals: [:a, :b]
                +-- operator_loc: (1,0)-(1,2) = "->"
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- opening_loc: (1,10)-(1,12) = "do"
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- closing_loc: (1,17)-(1,20) = "end"
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    : (snip)
    ```

commit 607b1b3d7628b1f94f086ce1dfe67789179cf906
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-06 12:14:01 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 07:34:49 +0900

    Implement YIELD NODE locations

    The following Location information has been added This is the information required for parse.y to be a universal parser:

    ```
    ❯ ruby --parser=prism --dump=parsetree -e 'def foo; yield end'
    @ ProgramNode (location: (1,0)-(1,18))
    +-- locals: []
    +-- statements:
        @ StatementsNode (location: (1,0)-(1,18))
        +-- body: (length: 1)
            +-- @ DefNode (location: (1,0)-(1,18))
                +-- name: :foo
                +-- name_loc: (1,4)-(1,7) = "foo"
                +-- receiver: nil
                +-- parameters: nil
                +-- body:
                |   @ StatementsNode (location: (1,9)-(1,14))
                |   +-- body: (length: 1)
                |       +-- @ YieldNode (location: (1,9)-(1,14))
                |           +-- keyword_loc: (1,9)-(1,14) = "yield"
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                |           +-- lparen_loc: nil
                            ^^^^^^^^^^^^^^^^^^^
                |           +-- arguments: nil
                |           +-- rparen_loc: nil
                            ^^^^^^^^^^^^^^^^^^^
                +-- locals: []
                +-- def_keyword_loc: (1,0)-(1,3) = "def"
                +-- operator_loc: nil
                +-- lparen_loc: nil
                +-- rparen_loc: nil
                +-- equal_loc: nil
                +-- end_keyword_loc: (1,15)-(1,18) = "end"
    ```

commit 4c192011422dc04902ddf930ff22be223325a35d
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-11-04 23:32:00 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-04 07:34:25 +0900

    Implement EVSTR NODE locations

    The following Location information has been added This is the information required for parse.y to be a universal parser:

    ```
    ❯ ruby --parser=prism --dump=parsetree -e '"#{foo}"'
    @ ProgramNode (location: (1,0)-(1,8))
    +-- locals: []
    +-- statements:
        @ StatementsNode (location: (1,0)-(1,8))
        +-- body: (length: 1)
            +-- @ InterpolatedStringNode (location: (1,0)-(1,8))
                +-- InterpolatedStringNodeFlags: nil
                +-- opening_loc: (1,0)-(1,1) = "\""
                +-- parts: (length: 1)
                |   +-- @ EmbeddedStatementsNode (location: (1,1)-(1,7))
                |       +-- opening_loc: (1,1)-(1,3) = "\#{"
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                |       +-- statements:
                |       |   @ StatementsNode (location: (1,3)-(1,6))
                |       |   +-- body: (length: 1)
                |       |       +-- @ CallNode (location: (1,3)-(1,6))
                |       |           +-- CallNodeFlags: variable_call, ignore_visibility
                |       |           +-- receiver: nil
                |       |           +-- call_operator_loc: nil
                |       |           +-- name: :foo
                |       |           +-- message_loc: (1,3)-(1,6) = "foo"
                |       |           +-- opening_loc: nil
                |       |           +-- arguments: nil
                |       |           +-- closing_loc: nil
                |       |           +-- block: nil
                |       +-- closing_loc: (1,6)-(1,7) = "}"
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- closing_loc: (1,7)-(1,8) = "\""
    ```

commit 34ee062d74ebfcbd04a0f2be2cdfda9cd8d20716
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2025-01-04 00:37:22 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-04 07:02:50 +0900

    Remove dead function rb_struct_const_heap_ptr

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12502

commit 6b2b537e35e5dc1c9457568969ccd78b7a5f28cf
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-01-04 04:22:29 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-04 04:56:43 +0900

    [DOC] Tweaks for Hash::[]

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12504

commit f3491042597ebdc3b93dc658f09ee6d260bc8592
  Author:     BurdetteLamar <burdettelamar@yahoo.com>
  AuthorDate: 2025-01-03 04:31:05 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-04 01:42:53 +0900

    [DOC] Tweaks for Array doc

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12498

commit fa0478d35509c28c2ab3d3af9bb40a523920992e
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-03 23:27:39 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-03 23:27:44 +0900

    [ruby/reline] Refactor handling key in LineEditor
    (https://github.com/ruby/reline/pull/799)

    Simplify the complicated flow of waiting_proc, wrap_method_call and run_for_operation

    https://github.com/ruby/reline/commit/72c0ec0425

commit c22b0598b0dd197a49212e06cfc91e4a3f2e058c
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-27 23:55:48 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-03 23:03:04 +0900

    Implement SUPER NODE locations

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11712

commit 5cc4240dda72582456dc271ec580178d070197a9
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-10-03 23:02:03 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-03 22:13:20 +0900

    Refactor parse.y to replace `tIDENTIFIER` and `tCONSTANT` with `ident_or_const` inline rules

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11782

commit 27e61e2df749c82ea3e9d9e6d1004ed718fefeee
  Author:     Martin Dürst <duerst@it.aoyama.ac.jp>
  AuthorDate: 2025-01-03 21:14:32 +0900
  Commit:     Martin Dürst <duerst@it.aoyama.ac.jp>
  CommitDate: 2025-01-03 21:28:47 +0900

    Speed up initial test creation in test_case_comprehensive.rb:

    - Change generate_case_mapping_tests to
      generate_single_byte_case_mapping_tests
      (all encodings using this method happen to be single-byte)
    - Change precalculation of codepoints by converting from
      specific encoding, not from Unicode. This reduces creation time.
    (See https://github.com/ruby/ruby/pull/7425 for a related proposal
    and some additional comments.)

commit d4009d939c15a033a5afa91280efca4efa174929
  Author:     Yudai Takada <t.yudai92@gmail.com>
  AuthorDate: 2024-11-02 18:30:55 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-03 21:26:21 +0900

    Remove spaces

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11717

commit 4b02a7b794b6c565eae0ed3c8dfedc1b8daf4e49
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-30 13:48:31 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-03 21:26:21 +0900

    Change `rb_ast_compile` to a function that simply creates a parser and sets options

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11717

commit b33c1e4bb2943779b9e7a8034cb6763ef9c25e67
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-28 18:22:02 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-03 21:26:21 +0900

    Extract `rb_ast_compile`

    From duplicate code in `rb_ast_parse_str`, `rb_ast_parse_file` and `rb_ast_parse_array`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11717

commit fd2f66e3c0f7c04eb00eb41c495a0c92e094a967
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-24 22:25:31 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-03 21:21:52 +0900

    Use Named Reference for RHS of `def_name`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11677

commit aa892378a11cd763985051272f5708d86041ccd6
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-24 22:09:42 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-03 21:20:15 +0900

    Use callee side tag specification of parameterizing rules

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11676

commit 1e2ed31cc2249d76f8ac4bc39134d0fd6ea7dc93
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2024-09-20 17:25:17 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-03 21:19:41 +0900

    Change the reference to the RHS in the Parameterizing rules action to a Named Reference

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11651

commit 0643f081877ea19f8dd6610dd67b2606ecf4c880
  Author:     ydah <t.yudai92@gmail.com>
  AuthorDate: 2025-01-03 19:51:58 +0900
  Commit:     Yudai Takada <t.yudai92@gmail.com>
  CommitDate: 2025-01-03 20:34:19 +0900

    Implement IF NODE locations

    The following Location information has been added This is the information required for parse.y to be a universal parser:

    ```
    ❯ ruby --parser=prism --dump=parsetree -y -e "if a; elsif b; else end"
    @ ProgramNode (location: (1,0)-(1,23))
    +-- locals: []
    +-- statements:
        @ StatementsNode (location: (1,0)-(1,23))
        +-- body: (length: 1)
            +-- @ IfNode (location: (1,0)-(1,23))
                +-- if_keyword_loc: (1,0)-(1,2) = "if"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- predicate:
                |   @ CallNode (location: (1,3)-(1,4))
                |   +-- CallNodeFlags: variable_call, ignore_visibility
                |   +-- receiver: nil
                |   +-- call_operator_loc: nil
                |   +-- name: :a
                |   +-- message_loc: (1,3)-(1,4) = "a"
                |   +-- opening_loc: nil
                |   +-- arguments: nil
                |   +-- closing_loc: nil
                |   +-- block: nil
                +-- then_keyword_loc: nil
                ^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- statements: nil
                +-- subsequent:
                |   @ IfNode (location: (1,6)-(1,23))
                |   +-- if_keyword_loc: (1,6)-(1,11) = "elsif"
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                |   +-- predicate:
                |   |   @ CallNode (location: (1,12)-(1,13))
                |   |   +-- CallNodeFlags: variable_call, ignore_visibility
                |   |   +-- receiver: nil
                |   |   +-- call_operator_loc: nil
                |   |   +-- name: :b
                |   |   +-- message_loc: (1,12)-(1,13) = "b"
                |   |   +-- opening_loc: nil
                |   |   +-- arguments: nil
                |   |   +-- closing_loc: nil
                |   |   +-- block: nil
                |   +-- then_keyword_loc: nil
                    ^^^^^^^^^^^^^^^^^^^^^^^^^
                |   +-- statements: nil
                |   +-- subsequent:
                |   |   @ ElseNode (location: (1,15)-(1,23))
                |   |   +-- else_keyword_loc: (1,15)-(1,19) = "else"
                |   |   +-- statements: nil
                |   |   +-- end_keyword_loc: (1,20)-(1,23) = "end"
                |   +-- end_keyword_loc: (1,20)-(1,23) = "end"
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                +-- end_keyword_loc: (1,20)-(1,23) = "end"
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ```

commit 23018c2fb48ac7ada1ead79e3c896605c1b8bae6
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-03 20:13:52 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-03 20:13:57 +0900

    [ruby/rdoc] Fix prism_ruby superclass resolve order
    (https://github.com/ruby/rdoc/pull/1267)

    RDoc::Parser::PrismRuby wrongly resolves superclass of `class Cipher < Cipher; end` that exist in openssl.
    Superclass resolve should be done before adding class.

    https://github.com/ruby/rdoc/commit/57a4615a92

commit fb73be1f2a76cc7faaaab19ac7a818fd095bd725
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-03 11:29:29 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-03 13:43:33 +0900

    Win32: Define COROUTINE_DECL to suppress a warning

    In cont.c:

    ```
    warning C4141: 'noreturn': used more than once
    ```

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12501

commit 6bbb470dc77a671c67411a5d3a2564bd0a665a9c
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-03 10:25:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-03 10:25:15 +0900

    [Bug #20504] Move dynamic regexp concatenation to iseq compiler

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12483

commit 77fe82286b24110292324007dafc436d01efd134
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-01 17:47:27 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-03 10:10:54 +0900

    Try all assertions in `TestM17N#test_regexp_usascii`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12483

commit c8eaad1804a1887b7d97bab2174e95eed0ad5472
  Author:     mark-young-atg <113439900+mark-young-atg@users.noreply.github.com>
  AuthorDate: 2025-01-03 08:21:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-03 08:21:31 +0900

    [ruby/stringio] Provide a 'Changelog' link on
    rubygems.org/gems/stringio
    (https://github.com/ruby/stringio/pull/111)

    By providing a 'changelog_uri' in the metadata of the gemspec a
    'Changelog' link will be shown on https://rubygems.org/gems/stringio
    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/#metadata

    ---------

    https://github.com/ruby/stringio/commit/8c084bfcdb

    Co-authored-by: Sutou Kouhei <kou@cozmixng.org>

commit 3b519975d15d50d5a1c63d4f4d7d406b84564428
  Author:     sodacris <wjxa20152015@gmail.com>
  AuthorDate: 2024-12-04 21:41:53 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-03 06:02:47 +0900

    [rubygems/rubygems] remove unnecessary code

    https://github.com/rubygems/rubygems/commit/5c6ca7a58c

commit 7bf1612c87edadf880ef0f80f364d9ac1198f350
  Author:     sodacris <wjxa20152015@gmail.com>
  AuthorDate: 2024-12-04 19:25:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-03 06:02:46 +0900

    [rubygems/rubygems] unskip `print_args` and `fake_man` tests on Windows

    https://github.com/rubygems/rubygems/commit/c8eeb0af9d

commit a7383fc7f478942d7d465152c1202da7125573dc
  Author:     sodacris <wjxa20152015@gmail.com>
  AuthorDate: 2024-12-04 21:41:35 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-03 06:02:46 +0900

    [rubygems/rubygems] Replace shell specific stuff with create_file scripts

    https://github.com/rubygems/rubygems/commit/eea07ad691

commit 2f0674478bebce3828cf3128b4a27b4e67e00114
  Author:     Masataka Pocke Kuwabara <kuwabara@pocke.me>
  AuthorDate: 2025-01-01 01:02:48 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-03 01:40:14 +0900

    [ruby/prism] Fix cross-compile issue with newlib on Ubuntu 24.04

    https://github.com/ruby/prism/commit/61ebe51233

commit d67d1530a88fcc19c355ff79fccb165b623a48f1
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-25 07:59:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-03 01:03:04 +0900

    Create rb_darray_realloc_mul_add

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12459

commit bd70534e97362ac8927bf01c7aafca1e051fc76a
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-25 07:52:32 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-03 01:03:04 +0900

    Change rb_darray_realloc_mul_add_without_gc to check for overflow

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12459

commit e596516182572457ce3a51adc246ece62a5c7823
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-25 07:51:14 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-03 01:03:04 +0900

    Create rb_darray_calloc_mul_add

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12459

commit 2e3b2d5eb25aff54bc97b93743b3e517096ca221
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-25 07:50:51 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-03 01:03:04 +0900

    Change rb_darray_calloc_mul_add_without_gc to check for overflow

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12459

commit 99ff0224a564b59df3ba8fbd7911dd41a7fdde34
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-25 07:46:43 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-03 01:03:04 +0900

    Move rbimpl_size_add_overflow from gc.c to memory.h

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12459

commit b8c4af24f920a973cfa1f7b671825e8a5421368c
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-25 05:30:48 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-03 01:03:04 +0900

    Use rb_darray_insert_without_gc for heap_pages darray

    rb_darray_insert could trigger a GC, which would cause problems if it
    freed pages while a new page was being inserted.

    For example, the following script fails:

        GC.stress = true
        GC.auto_compact = :empty

        10.times do
          GC.verify_compaction_references(expand_heap: true, toward: :empty)
        end

    It errors out with:

        'GC.verify_compaction_references': malloc: possible integer overflow (8*18446744073709551603) (ArgumentError)

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12459

commit f9cd9a1b5574e99c3b87cc203bba7f2c552dae53
  Author:     Peter Zhu <peter@peterzhu.ca>
  AuthorDate: 2024-12-25 05:13:27 +0900
  Commit:     Peter Zhu <peter@peterzhu.ca>
  CommitDate: 2025-01-03 01:03:04 +0900

    Revert "Remove with_gc functions in darray"

    This reverts commit 24a740796050b72aa2d35339ba2a317d4eda7b75.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12459

commit f1096c6ad4be6f93dc4f434a269389731f671ddb
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2025-01-02 23:32:28 +0900
  Commit:     GitHub <noreply@github.com>
  CommitDate: 2025-01-02 23:32:28 +0900

    Remove and stop syncing IRB documentation (#12416)

    Follow-up to #12325

    Since we're not generating IRB documentation, we don't need to sync
    its `doc/` folder and keep the previous content.

  Notes:
    Merged-By: tompng <tomoyapenguin@gmail.com>

commit ba82399558dc35647280980648fd4b560b6a7fe7
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2025-01-01 15:59:41 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-02 17:11:45 +0900

    Remove rb_ary_push for parser

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12493

commit 3eebc8104147571dcbf325f98b28c707cada566e
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-10-28 22:22:34 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-02 17:11:32 +0900

    Rename to backref_with

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11865

commit 1686c6b787acfb002174fadfcde35d1768b07129
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-10-10 22:33:58 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-02 17:11:32 +0900

    Introduce backref_with_rhs parameterizing rules

  Notes:
    Merged: https://github.com/ruby/ruby/pull/11865

commit 03b37fb342249fe91a81dfbf422c54c66b6c5484
  Author:     S-H-GAMELINKS <gamelinks007@gmail.com>
  AuthorDate: 2024-05-15 16:37:30 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-02 17:10:31 +0900

    Introduce inline_operation rule

  Notes:
    Merged: https://github.com/ruby/ruby/pull/10773

commit 8034e9c3d001ca3dff124ab42972684eac8af2ae
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-02 15:50:20 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-02 15:50:20 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12497

commit 6cf11ad76eae08ba9d2bdc70c093bc67aca93864
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-02 02:06:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-02 14:37:43 +0900

    [ruby/rdoc] Stop autolinking the word "RDoc"
    (https://github.com/ruby/rdoc/pull/1266)

    https://github.com/ruby/rdoc/commit/73af94e3e3

commit e433e6515efbb31a77ab8013a7e9b2c57212264d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-02 12:36:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-02 12:36:06 +0900

    [DOC] Exclude 'Class' and 'Module' from RDoc's autolinking

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12496

commit b4ec22fe6c493a212c059cecab90de5b5f349102
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-02 12:06:06 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-02 12:23:49 +0900

    [DOC] Exclude 'Method' from RDoc's autolinking

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12496

commit d441d351073d6a6c49f7c12ea99e17480aa4ee5e
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-02 11:58:15 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-02 11:58:15 +0900

    [DOC] Exclude 'Process' from RDoc's autolinking

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12496

commit e4fff86faf03d4804c6f34e2f1c71c0fe0c67d4d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-02 11:26:51 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2025-01-02 11:26:51 +0900

    [DOC] .document under lib/rdoc is split now

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12495

commit afeb17270b24681519e2981ba4a112c92830377b
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2025-01-01 01:20:42 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-02 11:05:33 +0900

    Link to Ruby module

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12491

commit 2dd4801e9c09cf6da00281cd04c74e001796779a
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-31 21:24:09 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-02 11:05:33 +0900

    Update 'Set's references in docs

    - When linking to 'Set', we should use `rdoc-ref:Set` explicitly.
    - "Set"'s normal usages don't need to be escaped anymore.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12491

commit 8e34346afeb3dcce69b128d7db2025d2318b52f4
  Author:     Stan Lo <stan.lo@shopify.com>
  AuthorDate: 2024-12-31 21:23:38 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2025-01-02 11:05:33 +0900

    Exclude 'Ruby' and 'Set' from RDoc's autolinking

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12491

commit e2081861aee51233c75ecc892ab4bbe2bfe1e2ce
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2025-01-02 09:30:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-02 09:30:14 +0900

    [ruby/rdoc] [DOC] Ignore racc-generated files
    (https://github.com/ruby/rdoc/pull/1265)

    * [DOC] Ignore racc-generated files

    Not only `.ry` sources, generated `.rb` files seem duplicate and
    unnecessary.

    * [DOC] Select files by .document files for syncing

    https://github.com/ruby/rdoc/commit/fb7041ec98

commit 3e8f0e558973aa8608e6d8da4dce33fe5dde28e1
  Author:     tomoya ishida <tomoyapenguin@gmail.com>
  AuthorDate: 2025-01-01 23:41:54 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2025-01-01 23:41:58 +0900

    [ruby/reline] Support inserting C-c C-z C-\ with quoted_insert
    (https://github.com/ruby/reline/pull/798)

    https://github.com/ruby/reline/commit/e6eb5d2d3c

commit 341503d1a3a95253ddacdd3bd1c4a7dcdbbe49f2
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-12-31 23:34:32 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-01-01 00:19:18 +0900

    Fix leak in Socket#connect spec

    * Found by https://github.com/ruby/ruby/actions/runs/12560692556/job/35018412527?pr=12492

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12492

commit e43d9cbfcbc105889ccd9e1e8b2b3a7d4c4023d9
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-12-31 23:27:56 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-01-01 00:19:18 +0900

    Update to latest setup-ruby manually since dependabot is broken

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12492

commit 180bee317711b97685d0fbf59f31243b16467021
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-12-31 23:15:34 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-01-01 00:19:18 +0900

    Run spec_guards when changing its workflow definition

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12492

commit da1c06e747f3fa64713d0dc3e579099f1e118bcc
  Author:     Benoit Daloze <eregontp@gmail.com>
  AuthorDate: 2024-12-31 23:10:20 +0900
  Commit:     Benoit Daloze <eregontp@gmail.com>
  CommitDate: 2025-01-01 00:19:18 +0900

    Add 3.4 to the spec_guards workflow

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12492

commit c0e2623966ea72b2b7781a13dab47ad50c362c98
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-31 21:17:04 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-31 21:17:07 +0900

    [ruby/rdoc] Add autolink_excluded_words option to ignore
    cross-references
    (https://github.com/ruby/rdoc/pull/1259)

    This config will be handy when the project name is the same as a class or
    module name, which is often the case for most of the projects.

    https://github.com/ruby/rdoc/commit/ce77f51f63

commit 63b141ef21497b8694e9401c934fc41c3823e3ad
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-31 21:16:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-31 21:16:50 +0900

    [ruby/rdoc] Documentation for #1240
    (https://github.com/ruby/rdoc/pull/1263)

    https://github.com/ruby/rdoc/commit/5dfccda4c0

commit 89c9a9fd03df264cb11314dd4264d79eff7be3d9
  Author:     Charles Oliver Nutter <headius@headius.com>
  AuthorDate: 2024-12-10 14:40:27 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-31 19:00:41 +0900

    [ruby/net-http] Don't double-interrupt the test HTTP server

    The shutdown process here attempted to terminate the test server
    by interrupting it with Thread#kill, and then proceeded to close
    the server and join the thread. The kill does indeed interrupt
    the accept call, but the close call could also interrupt the
    thread as part of notifying blocked threads waiting on that
    socket call.

    In JRuby, where all of this can happen at the same time, it leads
    to the following scenario:

    * The server thread enters TCPServer#accept and blocks.
    * The main thread calls Thread#kill to interrupt the accept call.
    * The server thread wakes up and starts to propagate the kill.
      There is a slight delay between this wakeup and removing the
      server thread from the TCPServer's blocked threads list.
    * The main thread calls TCPServer#close, which sees that the server
      thread is still in the blocked list, so it initiates a second
      interrupt to raise IOError "closed in another thread" on the
      server thread.
    * As the kill is bubbling out, another check for interrupts occurs,
      causing it to see the new raise interrupt and propagate that
      instead of the active kill.
    * Because the server is now closed and the rescue here is empty,
      the server loop will endlessly attempt and fail to call accept.

    I was unable to determine how CRuby avoids this race. There may be
    code that prevents an active kill interrupt from triggering
    further interrupts.

    In order to get these tests running on JRuby, I've made the
    following changes:

    * Only kill the thread; one interrupt is sufficient to break it
      out of the accept call.
    * Ensure outside the server loop that the server gets closed. This
      happens within the server thread, so triggers no new interrupts.
    * Minor cleanup for the pattern of using @ssl_server or @server.

    This change avoids the race in JRuby (and possibly other parallel-
    threaded implementations) and does not impact the behavior of the
    tests.

    https://github.com/ruby/net-http/commit/54025b3870

commit 3cd809deb5cc3a534151078166148b9ff5e1c8ef
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-31 14:53:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-31 14:53:07 +0900

    Win32: Fix rm.bat

    - `if exist` and `del` ignore directories matching the wildcard,
      remove both separately.

    - `rd /s` ignores wildcards, while `del` removes ordinary files by the
      wildcard, iterate over matching directories by `for /D`.

commit 5fec9308320e8b377681ef19b0cd46d53f94e8ac
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-30 17:04:09 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-30 17:04:09 +0900

    [Bug #20992] Test for local variable name encodings

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12489

commit 3650f2460f9f58ed188ad289cfb46a1d005d2538
  Author:     sanfrecce-osaka <yakiyaki_ikayaki@yahoo.co.jp>
  AuthorDate: 2024-12-29 20:00:08 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-29 20:00:11 +0900

    [ruby/irb] Fix broken `history` command with -g
    (https://github.com/ruby/irb/pull/1057)

    Local variable `grep` was always nil because the regular expression parsing options contained an unnecessary `\n`. `test_history_grep` did not detect this because it only asserted what was included in the output.

    https://github.com/ruby/irb/commit/a282bbc0cf

commit a33c944ba8a0580322ee77b3066755f8e2c1c9b1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-29 10:32:33 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-29 10:32:33 +0900

    [Bug #20988] [prism] Fix escaped octal character literals

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12487

commit 689bb193cc7a1b49cb241d14b84208dfff83c8ea
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-29 04:17:03 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-29 04:17:06 +0900

    [ruby/irb] Use the documentation site as the source of truth
    (https://github.com/ruby/irb/pull/1055)

    * Use the documentation site as the source of truth

    1. Remove detailed content from README.md and point links to the documentation site.
    2. Remove the content of EXTEND_IRB.md and point links to the documentation site.

    * Use GitHub pages as Rubygems' documentation target

    https://github.com/ruby/irb/commit/d2b73cb91e

commit 609a555ee00e7501d52bc4155cd2f8ee980cee2f
  Author:     Stan Lo <stan001212@gmail.com>
  AuthorDate: 2024-12-29 00:55:20 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-29 00:55:27 +0900

    [ruby/irb] Add `ri` an alias to the `show_doc` command
    (https://github.com/ruby/irb/pull/1054)

    https://github.com/ruby/irb/commit/52e77dd113

commit e4ec2128ae9c5c2a43cd599759f19db21fc0238f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-28 18:40:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-28 18:40:37 +0900

    [Bug #20990] Reject escaped multibyte char with control/meta prefix

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12485

commit 0ccc7657f3f51d973eac5f846d1594062838a2c9
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-28 11:35:00 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-28 11:35:00 +0900

    Ripper: Fix duplicate regexp errors

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12482

commit fb18bb183c24ca82b8f114ed090d62bd69b5df84
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-28 11:25:57 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-28 11:25:57 +0900

    [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.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12482

commit 175770bb6c55cb777a5f9318334a64e767a0f9d3
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-27 16:43:32 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-28 11:18:54 +0900

    BigDecimal('0.') with bigdecimal-3.1.9 returns 0.0

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12480

commit b82ad36d7cda10627ae9dc0d4d6439ff1035ed26
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-27 16:21:52 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-28 11:18:54 +0900

    Update bundled_gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12480

commit 081767656d96e78bc2bf0eb88d36927127097d60
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-28 09:00:53 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-28 09:00:53 +0900

    Abandon connection test if off line

commit 8fa1db79bd35d93140b7c1f2d7d58a946840d46f
  Author:     Luiz Eduardo Kowalski <luizeduardokowalski@gmail.com>
  AuthorDate: 2024-12-24 22:39:11 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-28 03:54:54 +0900

    [rubygems/rubygems] Expand and comment the regex

    https://github.com/rubygems/rubygems/commit/0dd0e93bde

commit 6e46b9b8b3657822306a365d6538e20fcf764d9b
  Author:     Luiz Eduardo Kowalski <luizeduardokowalski@gmail.com>
  AuthorDate: 2024-12-23 23:50:46 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-28 03:54:53 +0900

    [rubygems/rubygems] Add support for mise.toml file

    https://github.com/rubygems/rubygems/commit/809a2a17a7

commit adbbc9109ee71848204b5168a7c1bf604849e5fa
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-27 16:27:30 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-27 16:27:30 +0900

    Win32: Update clean commands for bundled gems

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12481

commit e109400748a62f142d0b1ca6957dab69ca411de1
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-27 16:26:14 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-27 16:26:14 +0900

    Win32: Fix sub make commands

    `cmd.exe` built-in `cd` does not recognize slashes as path separators,
    replace to backslashes.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12481

commit 3a2d1feb1e24569090061bfcab88e3a1ecc24750
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-27 16:25:49 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-27 16:25:49 +0900

    Win32: Rewrite rm.bat

    `rd` cannot remove ordinary files, use `del` or `rd` for each entry.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12481

commit 6be0ae35e8b5bfa46845e12cdd728b131398866b
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-27 14:25:07 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-27 14:25:07 +0900

    Win32: Remove win32 directory if empty

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12481

commit 731a53253fa94a1a646e8e7f69cf4cf217f0ee3d
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-27 12:33:28 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-27 12:33:28 +0900

    Win32: clean extra object file

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12481

commit a37a2f5fef5ee2a9dd5c5fcb8b30318e72f693a5
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-27 11:23:23 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-27 11:23:23 +0900

    Clear failure_log by assignment like as appending by assignment

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12479

commit 7962f32b7056320c1ec44b7a8618d9788c3648b6
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-27 10:29:34 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-27 10:29:34 +0900

    Fix `hello` when transforming program names

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12478

commit 4cf4cad4abca43c9396ec8f736f0021b3c678f4d
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-12-27 10:26:47 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-27 10:26:54 +0900

    [ruby/prism] Turn off unescape tests for Ruby >= 3.4.0

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

commit f226bc20f6df09eb2b988562b4ac9fdc6958c8b0
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-27 09:01:08 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-27 09:01:08 +0900

    [Bug #20986] [Prism] Allow escaped multibyte character

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12477

commit 4d8c9c131021316b854c4c8b877110d5584069d3
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-12-27 06:44:37 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-27 07:35:28 +0900

    [ruby/prism] Handle escaped characters after controls

    Fixes [Bug #20986]

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

commit c859e15875a8448592d6ab6d503681d454020c29
  Author:     Kevin Newton <kddnewton@gmail.com>
  AuthorDate: 2024-12-27 06:24:26 +0900
  Commit:     Kevin Newton <kddnewton@gmail.com>
  CommitDate: 2024-12-27 07:34:58 +0900

    Handle defined? with call chains with blocks

    Ensures we can handle expressions like `defined?(a {}.b)`.

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12475

commit 11c9e4f1ceb90d73e1eac6acbf3434a6f7216044
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-24 01:46:32 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-27 03:09:15 +0900

    [rubygems/rubygems] Fix `bundle outdated <GEM>` failing if gems not installed

    https://github.com/rubygems/rubygems/commit/694d5f444e

commit d78ff6a767ca813ac5fa178dd7611f20a993c191
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-26 23:48:05 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-27 00:21:41 +0900

    [Bug #20984] Fix test with locale encoding

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12474

commit f459d8dfb7720a61d3f49af71fcd6bcf28bbca3f
  Author:     Koichi ITO <koic.ito@gmail.com>
  AuthorDate: 2024-12-25 18:53:55 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-26 23:15:00 +0900

    [ruby/prism] Support Ruby 3.5 for `Prism::Translation::Parser`

    Follow up https://github.com/ruby/prism/pull/3336.

    Development for Ruby 3.5 has begun on the master branch:
    https://github.com/ruby/ruby/commit/2f064b3b4b71f9495bbc4229e7efdbfad494862f

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

commit 9a5ad1b558172d894e6dba81e5f68c3628087b28
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-26 18:21:05 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-26 18:21:05 +0900

    Fix -Wsign-compare warning on mingw

commit c6dbb10b7408cab17f170f0b23d1bbf0db03ad55
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-26 15:01:48 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-26 15:01:48 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12472

commit 19c39e4cfaa467e69b9848c9c5496d7f50d39c7f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-26 13:42:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-26 13:42:56 +0900

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

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12471

commit 037bffec071d53bb7a147e11cb34635ea2e7abb8
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-26 13:02:29 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-26 13:02:29 +0900

    Refine ENV tests

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12470

commit 16665c362313ef2bfc20909296e76bc4d83c3065
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-26 12:31:56 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-26 12:31:56 +0900

    "test" environment variable is unset in `setup`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12470

commit 5fab10999d4366576eda7954d2c1a7b96edd556e
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-26 09:58:36 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-26 10:27:24 +0900

    Bump up fiddle 1.1.7.dev and stringio 3.1.3.dev

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12469

commit feba2b66ff076afac8a7533e45b43364ab2531d7
  Author:     Yudai Takada <t.yudai92@gmail.com>
  AuthorDate: 2024-12-23 02:25:37 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-26 10:27:24 +0900

    [ruby/reline] Fix typos in comment
    (https://github.com/ruby/reline/pull/796)

    * s/Calcualte/Calculate/

    * s/unneccesary/unnecessary/

    https://github.com/ruby/reline/commit/db86bcd2bf

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12469

commit 778e73b2b3969f600eecc3bc6ebced1700781fbb
  Author:     Ryan Bigg <me@ryanbigg.com>
  AuthorDate: 2024-12-03 08:37:46 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-26 10:27:24 +0900

    [ruby/date] Simplify description of this library

    https://github.com/ruby/date/commit/904d4b9607

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12469

commit 0c0b739d97f5cdd39e91cce1b8868279669bcc66
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-26 09:53:22 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-26 10:27:24 +0900

    Bump up RubyGems 3.7.0.dev and Bundler 2.7.0.dev

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12469

commit 70e90d5276a33b196e7bacfec3f6fc6249761aa2
  Author:     Ryan Davis <ryand-github@zenspider.com>
  AuthorDate: 2024-12-25 06:21:12 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-26 10:27:24 +0900

    [ruby/erb] Fix up some doco on erb
    (https://github.com/ruby/erb/pull/56)

    * ERB#result: Dropped mention of deprecated safe_level since it is no longer documented.

    * Fixed grammar for chicken fried steak :P

    https://github.com/ruby/erb/commit/4efd3437ac

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12469

commit b7690c58b94f77e81bc1b099ca93e47160304a46
  Author:     Yudai Takada <t.yudai92@gmail.com>
  AuthorDate: 2024-12-22 17:51:09 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-26 10:27:24 +0900

    [ruby/strscan] [DOC] Fix typo in documentation
    (https://github.com/ruby/strscan/pull/129)

    s/begining/beginning/

    https://github.com/ruby/strscan/commit/734b823463

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12469

commit 6406ac4d70d3288fe7bfcc75312077ace5d6ae58
  Author:     David Rodríguez <deivid.rodriguez@riseup.net>
  AuthorDate: 2024-12-24 04:27:44 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-26 10:27:24 +0900

    [rubygems/rubygems] Try fix flaky failures on Windows

    It seems same race condition, maybe some Ruby bug. Just hoping this
    tweak may skip it.

    https://github.com/rubygems/rubygems/commit/29eb642026

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12469

commit ece332a44df077d26c735dbdbf050dd471c4ffdd
  Author:     Sorah Fukumori <her@sorah.jp>
  AuthorDate: 2024-12-26 03:50:06 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-26 04:46:34 +0900

    [ruby/reline] test_tty_ambiguous_width: Use Reline.test_rubybin

    Same as https://github.com/ruby/reline/pull/510, 'ruby' command is not
    always available so don't rely on that specific name.

    https://github.com/ruby/reline/commit/f60199fed7

commit 67d8a97d07ecc0d626951cf702cd6aab814ee489
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-26 01:53:18 +0900
  Commit:     git[bot] <svn-admin@ruby-lang.org>
  CommitDate: 2024-12-26 01:53:24 +0900

    [ruby/rdoc] Separate patterns by `--exclude` option from defaults
    (https://github.com/ruby/rdoc/pull/1251)

    https://github.com/ruby/rdoc/commit/a7fdc730f3

commit 7df5d65eac86940619f87da7e70bc0911097ae2f
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-25 22:21:37 +0900
  Commit:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  CommitDate: 2024-12-25 22:21:37 +0900

    [Bug #20981] Bring back `rb_undefine_finalizer`

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12468

commit 69bb296fa61cc488769227187c95f4cf15ce463c
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-25 19:15:03 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-25 20:10:18 +0900

    Support Ruby 3.5 for bundler platforms

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12452

commit 945fdf609166187321bee53d641957e918efb155
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-25 18:44:05 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-25 20:10:18 +0900

    Relax regexp for Ruby 3.5

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12452

commit a0460af920be74cefaa47264a44a8983fefb7e47
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-24 16:05:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-25 20:10:18 +0900

    Check ArgumentError and Warnings with Ruby 3.3 and 3.4

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12452

commit 9967eccc54017110845d3805143ab2e87a0e2393
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-24 15:27:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-25 20:10:18 +0900

    Removed Process::Status#& and Process::Status#>>

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12452

commit 8f11d6cbe2e86d5e6f80911024630aa0d3685332
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-13 10:47:22 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-25 19:12:31 +0900

    Show docs of constants under Ruby

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12451

commit b923a59b8e189fb1a044d13840696d0fb33621bc
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-12 20:21:41 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-25 19:12:31 +0900

    fake.rb: Override constants in Ruby module

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12451

commit e5e4db1748d09635c6b20c3b880e5b55d84f7dea
  Author:     Nobuyoshi Nakada <nobu@ruby-lang.org>
  AuthorDate: 2024-12-12 19:47:34 +0900
  Commit:     Nobuyoshi Nakada <nobu.nakada@gmail.com>
  CommitDate: 2024-12-25 19:12:31 +0900

    [Feature #20884] Define toplevel "Ruby" module with constants

  Notes:
    Merged: https://github.com/ruby/ruby/pull/12451

commit 7f738bb5d7030979469be1e28b8ddd8ef0687733
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2024-12-25 18:18:26 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2024-12-25 18:18:26 +0900

    Restore Ruby 3.4 NEWS.md again

commit 2f064b3b4b71f9495bbc4229e7efdbfad494862f
  Author:     Yukihiro "Matz" Matsumoto <matz@ruby.or.jp>
  AuthorDate: 2024-12-25 18:15:17 +0900
  Commit:     Yukihiro "Matz" Matsumoto <matz@ruby.or.jp>
  CommitDate: 2024-12-25 18:15:17 +0900

    Development of 3.5.0 started.
