NEWS for Ruby 4.0.0

本文档列出了自 3.4.0 版本以来用户可见的功能更改,不包括错误修复。

请注意,每个条目都保持得尽可能简洁,详情请参阅链接。

语言更改

核心类更新

注意:此处仅列出重要的类更新。

标准库更新

我们仅列出值得注意的功能更改的标准库更改。

其他更改列在以下部分。如果以前捆绑的 Ruby 3.4.0 版本有 GitHub 发布,我们也列出了从该版本开始的发布历史。

以下捆绑的 gem 已从默认 gem 提升。

添加了以下默认 gem。

更新了以下默认 gem。

以下捆绑 gem 已更新。

RubyGems 和 Bundler

Ruby 4.0 捆绑的 RubyGems 和 Bundler 版本为 4。有关详细信息,请参阅以下链接。

支持的平台

兼容性问题

之前: ruby -e '[1].fetch_values(42)' <internal:array>:211:in 'Array#fetch': index 42 outside of array bounds: -1...1 (IndexError) from <internal:array>:211:in 'block in Array#fetch_values' from <internal:array>:211:in 'Array#map!' from <internal:array>:211:in 'Array#fetch_values' from -e:1:in '<main>'

之后: $ ruby -e '[1].fetch_values(42)' -e:1:in 'Array#fetch_values': index 42 outside of array bounds: -1...1 (IndexError) from -e:1:in '<main>'

标准库兼容性问题

C API 更新

实现改进

Ractor

在提高 Ractor 的稳定性、性能和可用性方面付出了大量努力。这些改进使 Ractor 的实现更接近于离开实验状态。

JIT