PATH:
opt
/
alt
/
ruby34
/
share
/
doc
/
alt-ruby34-doc
-*- coding: utf-8 -*- base-url = https://github.com/ruby/ruby commit 76cca827ab52ab1d346a728f068d5b8da3e2952b Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2026-03-11 18:51:47 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-03-11 18:51:47 +0900 Bump v3.4.9 commit 3e9494c70bb7b23a5982e8b21087938e8a753b91 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2026-03-07 14:13:14 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-03-07 14:50:06 +0900 Bump zlib version to 3.2.3. commit 0097b87b1e2c6aa60489527e421e8bf2e2791d69 Author: Mike Dalessio <mike@37signals.com> AuthorDate: 2026-02-11 02:10:21 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-03-07 14:41:17 +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 153fa85994f3f06c93e2b10726c98b6f3b824225 Author: John Hawthorn <john@hawthorn.email> AuthorDate: 2026-02-10 11:39:51 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-03-07 14:17:15 +0900 objspace_dump: Skip invalid CME when dumping CCs When a CC is invalidated only the klass field is set to 0. After it's invalidated it isn't safe to access the CME, as it may have been freed. I made a similar change in Ruby 4.0 in 640a2f1dc77c0ecf226dbd71cf7a1eb876a1f037, but assumed it was due to the changes we'd made to callcaches making klass a weak-reference. Co-authored-by: Christian Bruckmayer <christian.bruckmayer@shopify.com> commit 43771bb0efcd139acd9112a770e8b8d719118dce Author: Jean Boussier <jean.boussier@gmail.com> AuthorDate: 2026-02-04 21:12:42 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-03-07 13:41:44 +0900 [3.4] 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 a93ff4880da5c4e56f7ec2066a9c3f7748892231 Author: Jörmungandrk <github@zerodaysec.org> AuthorDate: 2026-01-09 12:22:01 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-03-07 13:40:05 +0900 Fix integer overflow checks in enumerator commit 46f51cb3a26e5bfc92251e7971697a9c31bcab44 Author: ZHIJIE XIE <40601688+dummyx@users.noreply.github.com> AuthorDate: 2026-03-03 02:40:57 +0900 Commit: Luke Gruber <luke.gru@gmail.com> CommitDate: 2026-03-06 10:57:24 +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 981097a7390db47e06d78b760ed198bff8eb184b Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2026-01-25 18:21:53 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-01-25 18:21:53 +0900 merge revision(s) 8a586af33b59cae93a1bee13c39e87dd087a4a6b: [Backport #21838] [PATCH] Don't force major GC when there are allocatable slots [Bug #21838] When we have allocatable slots, we can grow the heap instead of forcing a major GC. This prevents major GC to be ran very often in certain situations. See the ticket for more details. On ruby-bench, we can see that this patch doesn't cause any significant regressions: -------------- ----------- ---------- --------- ----------- ---------- --------- -------------- ------------- bench master (ms) stddev (%) RSS (MiB) branch (ms) stddev (%) RSS (MiB) branch 1st itr master/branch activerecord 148.2 0.3 59.2 150.0 0.8 69.7 1.015 0.988 chunky-png 435.2 0.3 72.9 438.8 0.1 66.7 0.993 0.992 erubi-rails 733.8 1.2 118.7 704.8 0.2 98.3 1.077 1.041 hexapdf 1400.4 1.1 247.0 1405.0 0.9 223.7 0.986 0.997 liquid-c 32.5 3.3 32.8 32.5 2.1 30.7 1.042 0.999 liquid-compile 31.0 1.7 35.1 33.4 3.9 32.8 0.938 0.928 liquid-render 84.7 0.4 30.8 86.3 0.4 30.8 0.981 0.982 lobsters 594.7 0.6 310.5 596.6 0.4 306.0 1.057 0.997 mail 75.6 2.8 53.3 76.9 0.7 53.2 0.968 0.982 psych-load 1122.8 1.2 29.2 1145.1 0.4 31.7 0.964 0.981 railsbench 1244.7 0.3 115.5 1254.8 1.1 115.2 0.939 0.992 rubocop 103.7 0.5 94.1 104.3 0.5 92.4 0.985 0.994 ruby-lsp 88.3 0.6 78.5 88.5 1.2 77.9 0.992 0.997 sequel 26.9 0.9 33.6 28.3 1.4 32.1 0.954 0.952 shipit 1119.3 1.5 171.4 1075.7 2.1 162.5 1.873 1.040 -------------- ----------- ---------- --------- ----------- ---------- --------- -------------- ------------- commit 02eb4eec87cbbb14c24b63678aa0cca625777414 Author: Randy Stauner <randy@r4s6.net> AuthorDate: 2026-01-13 10:35:12 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-01-25 18:18:10 +0900 Add pushtoarray insn to fix segfault with forwarding + splat Example insns diff for `def x = [3]; def a(...) = b(*x, 2, 3, ...)` == disasm: #<ISeq:a@-e:1 (1,13)-(1,42)> local table (size: 1, argc: 0 [opts: 0, rest: -1, post: 0, block: -1, kw: -1@-1, kwrest: -1]) [ 1] "..."@0 0000 putself ( 1)[Ca] 0000 putself 0000 opt_send_without_block <calldata!mid:x, argc:0, FCALL|VCALL|ARGS_SIMPLE> 0000 splatarray true 0000 putobject 2 0000 putobject 3 +0000 pushtoarray 2 0000 getlocal_WC_0 "..."@0 0000 sendforward <calldata!mid:b, argc:1, ARGS_SPLAT|ARGS_SPLAT_MUT|FCALL|FORWARDING>, nil 0000 leave [Re] This matches the insns produced by parse.y commit 86e65fa1677180f5108157206edb01cfd25f24b6 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2026-01-25 17:48:12 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-01-25 17:48:12 +0900 merge revision(s) 4e0bb58a0a374b40b7691e7b7aa88e759a0fc9f2: [Backport #21811] [PATCH] fix underflow commit d5ca99a71ccb170db08e4b610d661ce3a18626f2 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2026-01-25 17:47:37 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-01-25 17:47:37 +0900 merge revision(s) d7a6ff8224519005d2deeb3f4e98689a8a0835ad: [Backport #21819] [PATCH] [Bug #21819] Data objects without members should also be frozen commit 8fa17ea3b2c857369c808a4384ff7ff8174d69f8 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2026-01-25 17:41:02 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-01-25 17:41:02 +0900 merge revision(s) 19e539c9ee1701b34189fa0c1feb942adeb0e326: [Backport #21814] [PATCH] [Bug #21814] Fix negative bignum modulo If modulo is zero, do not apply bias even if the divisor is zero. `BIGNUM_POSITIVE_P` is true even on bignum zero. commit 55920677854fe757c36368785f6dfdbce0b49ab7 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2026-01-25 17:12:40 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-01-25 17:20:48 +0900 merge revision(s) 86320a53002a3adaf35ad7434c70e86747a8b345: [Backport #21326] [Backport #21807] [PATCH] Fix compilation for forwarding params in Prism [Bug #21326] commit 28db1b5c3d3a9a5c60762622cb0c3c36c021e8e4 Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2026-01-25 16:41:13 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-01-25 16:41:13 +0900 merge revision(s) 61bab1889048f758396acf671c9797d6bc52504b: [Backport #21757] [PATCH] Rename to `struct rbimpl_size_overflow_tag` This struct is used for addition not only for multiplication, so remove the word `mul`, and make the member names more descriptive. commit c409e343fb14438c2e5304f10ad4c6919e30ac2e Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2026-01-25 16:40:50 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-01-25 16:40:50 +0900 merge revision(s) 99ff0224a564b59df3ba8fbd7911dd41a7fdde34: [Backport #21757] [PATCH] Move rbimpl_size_add_overflow from gc.c to memory.h commit 45100545b056792fb5701a93abd1f78259a6224e Author: nagachika <nagachika@ruby-lang.org> AuthorDate: 2026-01-25 16:37:10 +0900 Commit: nagachika <nagachika@ruby-lang.org> CommitDate: 2026-01-25 16:37:10 +0900 merge revision(s) f430fbbfacea5690d790dd9060ca4118431fc2fb, c353b625297162024b5a80480664e599dd49a294: [Backport #21787] [PATCH] IO::Buffer: Fill the test for `IO::Buffer#clear` [PATCH] [Bug #21787] IO::Buffer: Check addition overflows https://hackerone.com/reports/3437743 commit 2bbc06e21d040ecbf4e32d3c4805685baf957d51 Author: Hiroshi SHIBATA <hsbt@ruby-lang.org> AuthorDate: 2026-01-19 11:25:11 +0900 Commit: Hiroshi SHIBATA <hsbt@ruby-lang.org> CommitDate: 2026-01-21 16:52:39 +0900 merge revision(s) d209e6f1c0a93ad3ce1cc64dd165a6b67672614d: [Backport #21715] [PATCH] 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]. commit c04363c0a09d1e9cd03ff2e5cf6dd83e87a8a90c Author: Takashi Kokubun <takashikkbn@gmail.com> AuthorDate: 2026-01-06 07:08:15 +0900 Commit: Takashi Kokubun <takashikkbn@gmail.com> CommitDate: 2026-01-06 07:08:17 +0900 Remove k0kubun from CODEOWNERS nagachika will take over the maintenance of ruby_3_4 going forward.
[-] dtrace_probes.rdoc
[edit]
[-] forwardable.rd.ja
[edit]
[-] _regexp.rdoc
[edit]
[+]
irb
[+]
pty
[-] bsearch.rdoc
[edit]
[-] ChangeLog
[edit]
[-] case_mapping.rdoc
[edit]
[-] ractor.md
[edit]
[-] implicit_conversion.rdoc
[edit]
[-] extension.ja.rdoc
[edit]
[-] fiber.md
[edit]
[-] dig_methods.rdoc
[edit]
[-] yarvarch.en
[edit]
[-] _timezones.rdoc
[edit]
[-] strftime_formatting.rdoc
[edit]
[-] command_injection.rdoc
[edit]
[-] syntax.rdoc
[edit]
[-] character_selectors.rdoc
[edit]
[-] README.md
[edit]
[-] marshal.rdoc
[edit]
[-] exceptions.md
[edit]
[-] contributing.md
[edit]
[+]
images
[-] packed_data.rdoc
[edit]
[-] extension.rdoc
[edit]
[-] windows.md
[edit]
[-] maintainers.md
[edit]
[-] index.md
[edit]
[-] signals.rdoc
[edit]
[+]
..
[+]
syntax
[-] security.rdoc
[edit]
[-] bug_triaging.rdoc
[edit]
[-] globals.rdoc
[edit]
[-] encodings.rdoc
[edit]
[-] distribution.md
[edit]
[-] standard_library.md
[edit]
[-] memory_view.md
[edit]
[-] yarvarch.ja
[edit]
[-] format_specifications.rdoc
[edit]
[-] ruby-exercise.stp
[edit]