Ruby開発プロジェクトは9月9日、Ruby 3.2シリーズの2番目プレビュー版である「Ruby 3.2.0 Preview 2」をリリースしました(ruby-lang.org)。現在公式サイトよりソースコードをダウンロードすることができます。
Ruby 3.2は毎年12月に公開されるRubyのメジャーバージョンアップ版で、多数の新機能が追加される予定です。
まず、WASIベースのWebAssemblyがサポートされ、Webブラウザ、Serverless Edge環境、その他のWebAssembly/WASIエンベッダでCRubyバイナリを利用することができるようになります。
また、正規表現マッチングにタイムアウトを指定できるようになり、適切にRegexp.timeoutを設定することで、DoSのリスクを防止、または大幅に緩和することができるようになります。Regexp.timeoutはグローバルな設定で、一部の正規表現にだけ異なるタイムアウトを設定したい場合、Regexp.newのtimeoutキーワードを使用します。
Regexp.timeout = 1.0 long_time_re = Regexp.new("^a*b?a*$", timeout: nil) # タイムアウトなし long_time_re =~ "a" * 50000 + "x" # 割り込まれない
その他Find patternの実験的機能からの昇格や、libyaml、libffiのようなサードパーティ製ライブラリのソースコードの同梱の廃止、パフォーマンスの改善、標準ライブラリのアップデートなど多数の変更が行われています。
3.1からの変更点を含め詳細はこちらで確認可能です。
タイトル | Ruby | |
---|---|---|
公式サイト | http://www.ruby-lang.org/ja/ | |
ソフトアンテナ | https://softantenna.com/softwares/1964-ruby | |
説明 | オブジェクト指向スクリプト言語。 |