File: ChangeLog

package info (click to toggle)
ruby3.4 3.4.9-1~exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 152,040 kB
  • sloc: ruby: 1,262,509; ansic: 831,188; yacc: 28,233; pascal: 7,359; sh: 3,910; python: 1,799; cpp: 1,158; makefile: 827; asm: 808; javascript: 414; lisp: 109; perl: 62; awk: 36; xml: 4; sed: 4
file content (266 lines) | stat: -rw-r--r-- 11,806 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
-*- 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.