-*- coding: utf-8 -*-

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

commit 0cba8cf414dfd8ab30edc3081645405c165a81d5
  Author:     Randy Stauner <randy@r4s6.net>
  AuthorDate: 2025-12-20 03:19:21 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2026-03-04 15:45:16 +0900

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

    Fixes [Bug #21266].

    Backport of 9168cad4d63a5d281d443bde4edea6be213b0b25 to 3.3

commit 669f9ad7f48c5ee4b8a12796e5652571c7ac2b3e
  Author:     Jörmungandrk <github@zerodaysec.org>
  AuthorDate: 2026-01-09 12:22:01 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2026-03-04 15:44:14 +0900

    Fix integer overflow checks in enumerator

commit 6cd7b1a1e9e45dd4c43c5cefc421b4c0709cdbd7
  Author:     ZHIJIE XIE <40601688+dummyx@users.noreply.github.com>
  AuthorDate: 2026-03-03 02:40:57 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2026-03-04 15:43:44 +0900

    string.c: guard tmp in rb_str_format_m (GH-16280)

    [Bug #21931]

    Keep tmp alive while RARRAY_CONST_PTR(tmp) is used by rb_str_format.

    [alan: sunk the guard below usage]
    Reviewed-by: Alan Wu <XrXr@users.noreply.github.com>

commit b952b6f099af08a14b57afc0a069597646f3161a
  Author:     Mike Dalessio <mike@37signals.com>
  AuthorDate: 2026-02-11 02:19:35 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2026-02-12 15:05:36 +0900

    Fix UnboundMethod#== for methods from included/extended modules [Backport #21873]

    Method#unbind clones the method entry, preserving its defined_class.
    For methods mixed in via include/extend, defined_class is an ICLASS,
    causing UnboundMethod#== to return false when comparing against the
    same method obtained via Module#instance_method.

    Resolve ICLASS defined_class in method_eq.

    [Bug #21873]

commit 91f0a5a11006d7d6ba72c4d9128ae909c3adaaf8
  Author:     Jean Boussier <jean.boussier@gmail.com>
  AuthorDate: 2026-02-04 21:12:42 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2026-02-05 15:48:56 +0900

    [3.3] Fix deadlock on th->interrupt_lock after fork

    [Bug #21860]

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

commit d8c21d0780e0fc061a396e66d25b7b87de3108a4
  Author:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  AuthorDate: 2026-01-16 14:26:48 +0900
  Commit:     Hiroshi SHIBATA <hsbt@ruby-lang.org>
  CommitDate: 2026-01-16 14:26:48 +0900

    merge revision(s) d209e6f1c0a93ad3ce1cc64dd165a6b67672614d: [Backport #21715]

            search_nonascii(): Replace UB pointer cast with memcpy

            Casting a pointer to create an unaligned one is undefined behavior in C
            standards. Use memcpy to express the unaligned load instead to play by
            the rules.

            Practically, this yields the same binary output in many situations
            while fixing the crash in [Bug #21715].
