Skip to content

Commit 4fa7c47

Browse files
authored
Ruby 4.0.0 preview2 Released (#3674)
1 parent 85d4616 commit 4fa7c47

File tree

5 files changed

+274
-0
lines changed

5 files changed

+274
-0
lines changed

_data/branches.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@
88
# date: date of first stable release (YYYY-MM-DD)
99
# eol_date: date of EOL (YYYY-MM-DD)
1010

11+
- name: 4.0
12+
status: preview
13+
date:
14+
eol_date:
15+
1116
- name: 3.5
1217
status: preview
1318
date:

_data/downloads.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# optional
55
preview:
66

7+
- 4.0.0-preview2
78
- 3.5.0-preview1
89

910
stable:

_data/releases.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,37 @@
1919
# In order to get the release listed on the downloads page,
2020
# you also need to add an entry to `_data/downloads.yml'.
2121

22+
# 4.0 series
23+
24+
- version: 4.0.0-preview2
25+
date: 2025-11-17
26+
post: /en/news/2025/11/17/ruby-4-0-0-preview2-released/
27+
tag: v4_0_0_preview2
28+
stats:
29+
files_changed: 3607
30+
insertions: 197451
31+
deletions: 285607
32+
url:
33+
gz: https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.0-preview2.tar.gz
34+
zip: https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.0-preview2.zip
35+
xz: https://cache.ruby-lang.org/pub/ruby/4.0/ruby-4.0.0-preview2.tar.xz
36+
size:
37+
gz: 23444451
38+
zip: 28933540
39+
xz: 17554228
40+
sha1:
41+
gz: 132e450bbee3f61ed0b463ed1e2bd3a3a324339c
42+
zip: 48a235cfbfd4252dce81da870c792e32309e62b9
43+
xz: f8e8b98ea85ac82610ab601a21dc9a90c5c56a97
44+
sha256:
45+
gz: 0a3330dae710302e11f7f0323e83219ab3c6517984691a312c662f329c5120e1
46+
zip: f5c68ee44dfcb76b61c07c437fa945814dfc516570b1c921506ac886960160ca
47+
xz: 0b92b15466d77a9d7e59e4a75f050d42cd50fe96c951d2b3b9f8029394cd9a43
48+
sha512:
49+
gz: b5e681cc84be59148485b9a2212dcf54d61cfee27431ceddb49bedc8baa913ec8b36da43242cb4f1791b25e4bfc1dcf72b5527288a0656f2933da898d0e0b40f
50+
zip: 508c685e46a641c74e2968daf650559503ce2bcaac3403654713adb2345c3ede2bace929294a1367afecac5edd6b2c42fa833f5313456f78c79151d310c860cf
51+
xz: 7afaa8d8e832ef0ded28f1caf874da69f16105e1b3aad5947c6911364159b4c6ebd3d7ea5d7d86708e9f2f06a047921b8302ca6e75ec429a3da846845f896976
52+
2253
# 3.5 series
2354

2455
- version: 3.5.0-preview1
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
---
2+
layout: news_post
3+
title: "Ruby 4.0.0 preview2 Released"
4+
author: "naruse"
5+
translator:
6+
date: 2025-11-17 00:00:00 +0000
7+
lang: en
8+
---
9+
10+
{% assign release = site.data.releases | where: "version", "4.0.0-preview2" | first %}
11+
We are pleased to announce the release of Ruby {{ release.version }}. Ruby 4.0 updates its Unicode version to 15.1.0, and so on.
12+
13+
## Language changes
14+
15+
* `*nil` no longer calls `nil.to_a`, similar to how `**nil` does
16+
not call `nil.to_hash`. [[Feature #21047]]
17+
18+
## Core classes updates
19+
20+
Note: We're only listing notable updates of Core class.
21+
22+
* Binding
23+
24+
* `Binding#local_variables` does no longer include numbered parameters.
25+
Also, `Binding#local_variable_get` and `Binding#local_variable_set` reject to handle numbered parameters.
26+
[[Bug #21049]]
27+
28+
* IO
29+
30+
* `IO.select` accepts +Float::INFINITY+ as a timeout argument.
31+
[[Feature #20610]]
32+
33+
* String
34+
35+
* Update Unicode to Version 15.1.0 and Emoji Version 15.1. [[Feature #19908]]
36+
(also applies to Regexp)
37+
38+
39+
## Standard Library updates
40+
41+
Note: We're only listing notable updates of Standard librarires.
42+
43+
* ostruct 0.6.1
44+
* pstore 0.2.0
45+
* benchmark 0.4.0
46+
* logger 1.7.0
47+
* rdoc 6.13.1
48+
* win32ole 1.9.2
49+
* irb 1.15.2
50+
* reline 0.6.1
51+
* readline 0.0.4
52+
* fiddle 1.1.6
53+
54+
## Compatibility issues
55+
56+
Note: Excluding feature bug fixes.
57+
58+
59+
60+
## Standard library compatibility issues
61+
62+
63+
## C API updates
64+
65+
66+
## JIT
67+
68+
* YJIT
69+
* YJIT stats
70+
* `ratio_in_yjit` no longer works in the default build.
71+
Use `--enable-yjit=stats` on `configure` to enable it on `--yjit-stats`.
72+
* Add `invalidate_everything` to default stats, which is
73+
incremented when every code is invalidated by TracePoint.
74+
* Add `mem_size:` and `call_threshold:` options to `RubyVM::YJIT.enable`.
75+
* ZJIT
76+
* Add an experimental method-based JIT compiler.
77+
Use `--enable-zjit` on `configure` to enable the `--zjit` support.
78+
* As of Ruby 4.0.0-preview2, ZJIT is not yet ready for speeding up most benchmarks.
79+
Please refrain from evaluating ZJIT just yet. Stay tuned for the Ruby 4.0 release.
80+
* RJIT
81+
* `--rjit` is removed. We will move the implementation of the third-party JIT API
82+
to the [ruby/rjit](https://github.com/ruby/rjit) repository.
83+
84+
## Miscellaneous changes
85+
86+
87+
88+
See [NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md)
89+
or [commit logs](https://github.com/ruby/ruby/compare/v3_4_0...{{ release.tag }})
90+
for more details.
91+
92+
With those changes, [{{ release.stats.files_changed }} files changed, {{ release.stats.insertions }} insertions(+), {{ release.stats.deletions }} deletions(-)](https://github.com/ruby/ruby/compare/v3_4_0...{{ release.tag }}#file_bucket)
93+
since Ruby 3.4.0!
94+
95+
## Download
96+
97+
* <{{ release.url.gz }}>
98+
99+
SIZE: {{ release.size.gz }}
100+
SHA1: {{ release.sha1.gz }}
101+
SHA256: {{ release.sha256.gz }}
102+
SHA512: {{ release.sha512.gz }}
103+
104+
* <{{ release.url.xz }}>
105+
106+
SIZE: {{ release.size.xz }}
107+
SHA1: {{ release.sha1.xz }}
108+
SHA256: {{ release.sha256.xz }}
109+
SHA512: {{ release.sha512.xz }}
110+
111+
* <{{ release.url.zip }}>
112+
113+
SIZE: {{ release.size.zip }}
114+
SHA1: {{ release.sha1.zip }}
115+
SHA256: {{ release.sha256.zip }}
116+
SHA512: {{ release.sha512.zip }}
117+
118+
## What is Ruby
119+
120+
Ruby was first developed by Matz (Yukihiro Matsumoto) in 1993,
121+
and is now developed as Open Source. It runs on multiple platforms
122+
and is used all over the world especially for web development.
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
---
2+
layout: news_post
3+
title: "Ruby 4.0.0 preview2 リリース"
4+
author: "naruse"
5+
translator:
6+
date: 2025-11-17 00:00:00 +0000
7+
lang: ja
8+
---
9+
10+
{% assign release = site.data.releases | where: "version", "4.0.0-preview2" | first %}
11+
Ruby {{ release.version }} が公開されました。Ruby 4.0では、Unicodeバージョンの15.1.0へのアップデートなど様々な改善が行われています。
12+
13+
14+
15+
## 言語機能の変更
16+
17+
18+
19+
* `*nil` no longer calls `nil.to_a`, similar to how `**nil` does
20+
not call `nil.to_hash`. [[Feature #21047]]
21+
22+
## コアクラスのアップデート
23+
24+
注: 複数のアップデートの中から注目すべきアップデートのみを掲載しています。
25+
26+
* Binding
27+
28+
* `Binding#local_variables` does no longer include numbered parameters.
29+
Also, `Binding#local_variable_get` and `Binding#local_variable_set` reject to handle numbered parameters.
30+
[[Bug #21049]]
31+
32+
* IO
33+
34+
* `IO.select` accepts +Float::INFINITY+ as a timeout argument.
35+
[[Feature #20610]]
36+
37+
* String
38+
39+
* Update Unicode to Version 15.1.0 and Emoji Version 15.1. [[Feature #19908]]
40+
(also applies to Regexp)
41+
42+
43+
## 標準ライブラリのアップデート
44+
45+
注: 複数のアップデートの中から注目すべき標準ライブラリのアップデートのみを掲載しています。
46+
47+
48+
49+
## 互換性に関する変更
50+
51+
注: 不具合修正を除きます。
52+
53+
54+
55+
## 標準ライブラリの互換性の変更
56+
57+
58+
59+
## C API のアップデート
60+
61+
62+
## JIT
63+
64+
* YJIT
65+
* YJIT stats
66+
* デフォルトビルドでは `ratio_in_yjit` が機能しなくなりました。
67+
`--yjit-stats` で有効にするためには、`configure``--enable-yjit=stats` を使用してください。
68+
* トレースポイントによってすべてのコードが無効化されたときに増加する `invalidate_everything` をYJIT statsにデフォルトで追加します。
69+
* `RubyVM::YJIT.enable``mem_size:``call_threshold:` オプションを追加します。
70+
* ZJIT
71+
* 実験的なメソッドベースのJITコンパイラを追加しました。
72+
`--enable-zjit``configure` で使用して `--zjit` のサポートを有効にしてください。
73+
* Ruby 4.0.0-preview2の時点で、ZJITはまだほとんどのベンチマークを高速化する準備が整っていません。
74+
ZJITの性能評価はRuby 4.0のリリースまでお控えください。
75+
* RJIT
76+
* `--rjit` は削除されました。サードパーティのJIT APIの実装を
77+
[ruby/rjit](https://github.com/ruby/rjit) リポジトリに移行します。
78+
79+
## その他の変更点
80+
81+
82+
83+
より詳細な情報は [NEWS](https://github.com/ruby/ruby/blob/{{ release.tag }}/NEWS.md)
84+
[commit logs](https://github.com/ruby/ruby/compare/v3_4_0...{{ release.tag }}) を参照してください。
85+
86+
87+
これらの変更により、Ruby 3.4.0から [{{ release.stats.files_changed }} ファイルが変更され、 {{ release.stats.insertions }} 行が追加され、 {{ release.stats.deletions }} 行が削除されました!deletions(-)](https://github.com/ruby/ruby/compare/v3_4_0...{{ release.tag }}#file_bucket)
88+
89+
90+
## Download
91+
92+
* <{{ release.url.gz }}>
93+
94+
SIZE: {{ release.size.gz }}
95+
SHA1: {{ release.sha1.gz }}
96+
SHA256: {{ release.sha256.gz }}
97+
SHA512: {{ release.sha512.gz }}
98+
99+
* <{{ release.url.xz }}>
100+
101+
SIZE: {{ release.size.xz }}
102+
SHA1: {{ release.sha1.xz }}
103+
SHA256: {{ release.sha256.xz }}
104+
SHA512: {{ release.sha512.xz }}
105+
106+
* <{{ release.url.zip }}>
107+
108+
SIZE: {{ release.size.zip }}
109+
SHA1: {{ release.sha1.zip }}
110+
SHA256: {{ release.sha256.zip }}
111+
SHA512: {{ release.sha512.zip }}
112+
113+
## What is Ruby
114+
115+
Rubyはまつもとゆきひろ (Matz) によって1993年に開発が始められ、今もオープンソースソフトウェアとして開発が続けられています。Rubyは様々なプラットフォームで動き、世界中で、特にWebアプリケーション開発のために使われています。

0 commit comments

Comments
 (0)