Skip to content

Commit e822209

Browse files
mamehsbtXrXrjeremyevansEarlopain
authored
Update NEWS.md for Ruby 4.0.0 (ruby#15369)
I extracted the relevant descriptions from the draft NEWS.md that hsbt-san had Gemini generate by analyzing `git log`. Co-authored-by: Hiroshi SHIBATA <[email protected]> Co-authored-by: Alan Wu <[email protected]> Co-authored-by: Jeremy Evans <[email protected]> Co-Authored-By: Earlopain <[email protected]>
1 parent d3a9a17 commit e822209

File tree

1 file changed

+74
-3
lines changed

1 file changed

+74
-3
lines changed

NEWS.md

Lines changed: 74 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,12 @@ Note: We're only listing outstanding class updates.
6464
Also, `Binding#local_variable_get` and `Binding#local_variable_set` reject
6565
to handle numbered parameters. [[Bug #21049]]
6666
67+
* File
68+
69+
* `File::Stat#birthtime` is now available on Linux via the statx
70+
system call when supported by the kernel and filesystem.
71+
[[Feature #21205]]
72+
6773
* IO
6874
6975
* `IO.select` accepts `Float::INFINITY` as a timeout argument.
@@ -76,10 +82,20 @@ Note: We're only listing outstanding class updates.
7682
7783
* `Math.log1p` and `Math.expm1` are added. [[Feature #21527]]
7884
79-
* Socket
85+
* Method
8086
81-
* `Socket.tcp` & `TCPSocket.new` accepts `open_timeout` as a keyword argument to specify
82-
the timeout for the initial connection. [[Feature #21347]]
87+
* `Method#source_location`, `Proc#source_location`, and
88+
`UnboundMethod#source_location` now return extended location
89+
information with 5 elements: `[path, start_line, start_column,
90+
end_line, end_column]`. The previous 2-element format `[path,
91+
line]` can still be obtained by calling `.take(2)` on the result.
92+
[[Feature #6012]]
93+
94+
* Proc
95+
96+
* `Proc#parameters` now shows anonymous optional parameters as `[:opt]`
97+
instead of `[:opt, nil]`, making the output consistent with when the
98+
anonymous parameter is required. [[Bug #20974]]
8399
84100
* Ractor
85101
@@ -127,11 +143,41 @@ Note: We're only listing outstanding class updates.
127143
to make shareable Proc or lambda.
128144
[[Feature #21550]], [[Feature #21557]]
129145
146+
* Range
147+
148+
* `Range#to_set` and `Enumerator#to_set` now perform size checks to prevent
149+
issues with endless ranges. [[Bug #21654]]
150+
151+
* `Range#overlap?` now correctly handles infinite (unbounded) ranges.
152+
[[Bug #21185]]
153+
154+
* `Range#max` behavior on beginless integer ranges has been fixed.
155+
[[Bug #21174]] [[Bug #21175]]
156+
157+
* Ruby
158+
159+
* A new toplevel module `Ruby` has been defined, which contains
160+
Ruby-related constants. This module was reserved in Ruby 3.4
161+
and is now officially defined. [[Feature #20884]]
162+
130163
* `Set`
131164
132165
* `Set` is now a core class, instead of an autoloaded stdlib class.
133166
[[Feature #21216]]
134167
168+
* `Set#inspect` now returns a string suitable for `eval`, using the
169+
`Set[]` syntax (e.g., `Set[1, 2, 3]` instead of
170+
`#<Set: {1, 2, 3}>`). This makes it consistent with other core
171+
collection classes like Array and Hash. [[Feature #21389]]
172+
173+
* Passing arguments to `Set#to_set` and `Enumerable#to_set` is now deprecated.
174+
[[Feature #21390]]
175+
176+
* Socket
177+
178+
* `Socket.tcp` & `TCPSocket.new` accepts an `open_timeout` keyword argument to specify
179+
the timeout for the initial connection. [[Feature #21347]]
180+
135181
* String
136182
137183
* Update Unicode to Version 17.0.0 and Emoji Version 17.0.
@@ -240,6 +286,11 @@ The following bundled gems are updated.
240286
241287
## Supported platforms
242288
289+
* Windows
290+
291+
* Dropped support for MSVC versions older than 14.0 (_MSC_VER 1900).
292+
This means Visual Studio 2015 or later is now required.
293+
243294
## Compatibility issues
244295
245296
* The following methods were removed from Ractor due to the addition of `Ractor::Port`:
@@ -253,6 +304,14 @@ The following bundled gems are updated.
253304
254305
* `ObjectSpace._id2ref` is deprecated. [[Feature #15408]]
255306
307+
* `Process::Status#&` and `Process::Status#>>` have been removed.
308+
They were deprecated in Ruby 3.3. [[Bug #19868]]
309+
310+
* `rb_path_check` has been removed. This function was used for
311+
`$SAFE` path checking which was removed in Ruby 2.7,
312+
and was already deprecated,.
313+
[[Feature #20971]]
314+
256315
## Stdlib compatibility issues
257316
258317
* CGI library is removed from the default gems. Now we only provide `cgi/escape` for
@@ -320,17 +379,26 @@ A lot of work has gone into making Ractors more stable, performant, and usable.
320379
* `--rjit` is removed. We will move the implementation of the third-party JIT API
321380
to the [ruby/rjit](https://github.com/ruby/rjit) repository.
322381
382+
[Feature #6012]: https://bugs.ruby-lang.org/issues/6012
323383
[Feature #15408]: https://bugs.ruby-lang.org/issues/15408
324384
[Feature #17473]: https://bugs.ruby-lang.org/issues/17473
325385
[Feature #18455]: https://bugs.ruby-lang.org/issues/18455
326386
[Feature #19630]: https://bugs.ruby-lang.org/issues/19630
387+
[Bug #19868]: https://bugs.ruby-lang.org/issues/19868
327388
[Feature #19908]: https://bugs.ruby-lang.org/issues/19908
328389
[Feature #20610]: https://bugs.ruby-lang.org/issues/20610
329390
[Feature #20724]: https://bugs.ruby-lang.org/issues/20724
391+
[Feature #20884]: https://bugs.ruby-lang.org/issues/20884
330392
[Feature #20925]: https://bugs.ruby-lang.org/issues/20925
393+
[Feature #20971]: https://bugs.ruby-lang.org/issues/20971
394+
[Bug #20974]: https://bugs.ruby-lang.org/issues/20974
331395
[Feature #21047]: https://bugs.ruby-lang.org/issues/21047
332396
[Bug #21049]: https://bugs.ruby-lang.org/issues/21049
333397
[Feature #21166]: https://bugs.ruby-lang.org/issues/21166
398+
[Bug #21174]: https://bugs.ruby-lang.org/issues/21174
399+
[Bug #21175]: https://bugs.ruby-lang.org/issues/21175
400+
[Bug #21185]: https://bugs.ruby-lang.org/issues/21185
401+
[Feature #21205]: https://bugs.ruby-lang.org/issues/21205
334402
[Feature #21216]: https://bugs.ruby-lang.org/issues/21216
335403
[Feature #21219]: https://bugs.ruby-lang.org/issues/21219
336404
[Feature #21258]: https://bugs.ruby-lang.org/issues/21258
@@ -339,6 +407,9 @@ A lot of work has gone into making Ractors more stable, performant, and usable.
339407
[Feature #21287]: https://bugs.ruby-lang.org/issues/21287
340408
[Feature #21347]: https://bugs.ruby-lang.org/issues/21347
341409
[Feature #21360]: https://bugs.ruby-lang.org/issues/21360
410+
[Feature #21389]: https://bugs.ruby-lang.org/issues/21389
411+
[Feature #21390]: https://bugs.ruby-lang.org/issues/21390
342412
[Feature #21527]: https://bugs.ruby-lang.org/issues/21527
343413
[Feature #21550]: https://bugs.ruby-lang.org/issues/21550
344414
[Feature #21557]: https://bugs.ruby-lang.org/issues/21557
415+
[Bug #21654]: https://bugs.ruby-lang.org/issues/21654

0 commit comments

Comments
 (0)