ruby-trunk-changes 2021-12-25

今日は IO まわりの C API の仕様変更や did_you_mean の更新、irb, reline の修正などのほかリリース用のツールの修正などがありました。
そして今夜 3.1.0 がリリースされました。

https://www.ruby-lang.org/ja/news/2021/12/25/ruby-3-1-0-released/

[548c8f5f7a] Samuel Williams 2021-12-24 13:26:06 UTC

io.c の rb_io_maybe_wait() でイベントがなかった時の戻り値を Integer の 0 から Qfalse に修正しています。またついでに(?)拡張ライブラリ io/wait で rb_io_wait() の戻り値のチェックに RTEST() を使うようにリファクタリングしています。たぶん相互に直接関係はない変更ですよね? https://github.com/ruby/ruby/pull/5341

[0aca70e559] aycabta 2021-12-24 13:28:57 UTC

readline のシグナル処理のテストで子プロセスで Readline::VERSION を出力する位置を少し変更しています。

[8d940e3032] Soutaro Matsumoto 2021-12-24 13:54:45 UTC

gems/bundled_gems の rbs のバージョンを 2.0.0 に更新しています。 https://github.com/ruby/ruby/pull/5330

[f9712b029b] Yuki Nishijima 2021-12-24 12:04:49 UTC

標準添付ライブラリ did_you_mean を upstream から 1.6.1 をマージしています。

[4767cf0cb5] git 2021-12-24 14:21:17 UTC

NEWS の default gems のバージョン記載部分の did_you_mean のバージョンを追随させています。

[03c54a09ec] Yuki Nishijima 2021-12-24 14:21:41 UTC

4767cf0cb542e0ac9aea5b97ae1dc6af9d46e603 で did_you_mean を更新したので再度標準添付ライブラリ optparse のテストでチェックする DidYouMean 配下の定数名を変更しています。

[38b3adc4cb] Koichi Sasada 2021-12-24 15:01:21 UTC

NEWS にクラス変数の inline cache の実装の変更について追記しています。 [Feature #17763]

[969bdc6f07] git 2021-12-24 15:01:59 UTC

version.h の日付更新

[a88169bbe9] aycabta 2021-12-24 15:20:11 UTC

readline のシグナル処理のテストで表示されるプロンプトのチェックに空白も含めるようにしています。

[20dae14ba9] aycabta 2021-12-24 15:20:29 UTC

readline のシグナル処理のテストでシグナル送信前後の sleep する時間を少し伸ばしています。

[22cc2243f9] aycabta 2021-12-24 10:57:41 UTC

標準添付ライブラリ reline の Reline::LineEditor の check_multiline_prompt メソッドから未使用になってた prompt 引数を削除しています。

[b0db420b0e] aycabta 2021-12-24 11:06:48 UTC

標準添付ライブラリ reline でプロンプトの文字列に改行が含まれていたときにエスケープして表示するようにしています。

[c815c0be46] aycabta 2021-12-24 11:07:55 UTC

b0db420b0e70753986d42579439acdd7ff0d9e95 の続きで標準添付ライブラリ reline でプロンプトを設定するコールバックが返した文字列内の改行もエスケープするようにしています。

[214b6128ae] aycabta 2021-12-24 15:41:15 UTC

irb の gemspec ファイルで依存する reline のバージョンを 0.3.0 以上に更新しています。

[90239c4163] aycabta 2021-12-24 15:41:36 UTC

irb のバージョンを 1.4.0 に更新しています。

[628e845843] git 2021-12-24 15:47:38 UTC

NEWS の default gems のバージョン記載における irb のバージョンを追随させています。

[b81faf4b1f] Alan Wu 2021-12-24 16:59:57 UTC

NEWS の YJIT の性能についての記述の表現を少し修正しています。

[cab8b88a16] Alan Wu 2021-12-24 17:35:24 UTC

NEWS の YJIT の利用可能な環境について macOSLinux と書いてたところを Unix-like な x86-64 環境と変更しています。OpenBSD でも動くようになっているので。

[44bfe72892] Yusuke Nakamura 2021-12-21 08:14:30 UTC

拡張ライブラリ openssl に複数の Ractor を使った時の OpenSSL::BN のテストケースを追加しています。チェックに使ってる ractor ってメソッドはどこで定義されてるものだろう、と思ったら test-unit にそういうユーティリティが追加されてるみたいです。

[efce9ecf72] Kazuki Yamaguchi 2021-12-24 18:01:01 UTC

拡張ライブラリ openssl のバージョンを 3.0.0 に更新して ext/openssl/History.md に openssl の変更内容を追記しています。

[2b2115318b] git 2021-12-24 18:38:28 UTC

NEWS の default gems のバージョン記載しているところでも openssl のバージョンを追随させています。

[da6a5e3ed1] Hiroshi SHIBATA 2021-12-24 21:27:56 UTC

rubygems と bundler を再度 upstream からマージしてそれぞれ 3.3.3 と 2.3.3 に更新しています。

[d100c91445] git 2021-12-24 22:45:36 UTC

NEWS の default gems のバージョン記載部分も RubyGems と bundler のバージョンを追随させています。

[04f07713d1] Kazuhiro NISHIYAMA 2021-12-25 01:33:49 UTC

あちこちのコメントの typo を修正しています。

[40c20110d5] aycabta 2021-12-24 15:39:43 UTC

標準添付ライブラリ reline のバージョンを 0.3.0 に更新しています。

[63d75d38cb] git 2021-12-25 02:04:23 UTC

NEWS の default gems のバージョン掲載部分の reline のバージョンを追随させています。

[ddf0cdee4f] aycabta 2021-12-25 03:56:08 UTC

irbIRB::InputMethod::SHOW_DOC_DIALOG の Proc オブジェクトのブロック内で Alt-D を検出するための key code (っていうのかな)のバリエーションに [226, 136, 130] を追加しています。 macOS の iTerm2 では(というか macOS の他のアプリでもそうだと思うけど) alt-D で ∂ というギリシア文字が入力されるので、それを認識するようにしています。

[0f1fbc6421] aycabta 2021-12-25 03:57:51 UTC

irb のバージョンを 1.4.1 に更新しています。

[70aa7734e9] git 2021-12-25 04:13:21 UTC

NEWS の default gems のバージョン掲載部分の irb のバージョンを追随させています。

[0abf781ab4] Nobuyoshi Nakada 2021-12-25 04:14:54 UTC

NEWS の Time.new の in キーワード引数についての記事に非互換性についての記述を追記しています。

[dba24e6a1a] aycabta 2021-12-25 08:05:39 UTC

NEWS に irb の新機能ダイアログによる補完とドキュメント表示について追記しています。

[30374b4fb7] Nobuyoshi Nakada 2021-12-25 08:42:27 UTC

NEWS のクラス名を 2つ "/" で連結しているところに空白を加えています。クラス名として認識されなくてクロスリファレンスがきかなかったため。

[42eb9bf37a] Nobuyoshi Nakada 2021-12-25 08:44:23 UTC

NEWS の Queue についての変更点のセクションを正式名称にあわせて Thread::Queue と表記するようにしています。

[0867b638af] Nobuyoshi Nakada 2021-12-25 07:19:33 UTC

Time.new の mon (月) に文字列で Jan, Feb みたいに名前を指定することができる(知らなかった……)けどこれに文字列に変換できけど文字列じゃないオブジェクトを渡した時の変換結果を使いまわすようにして、また文字列が数字で始まってなかった時に処理せずに無視してしまっていたので例外を発生させるようにしています。

[566bdaef31] Nobuyoshi Nakada 2021-12-25 07:50:14 UTC

vm_debug.h でマクロ RUBY_DEVEL が未定義の時に 0 に定義しておくようにしています。

[975a6efd7e] Nobuyoshi Nakada 2021-12-25 08:09:19 UTC

USE_RUBY_DEBUG_LOG というマクロをチェックしている preprocessor の分岐で defined() で定義があるかどうかのチェックもするようにしています。未定義の時の警告を抑制するため。

[14e550052b] Nobuyoshi Nakada 2021-12-25 09:24:39 UTC

NEWS の Time.new のキーワード引数 in の説明のついでに月のところに不正な文字列があった時の 3.0 以前の挙動についても記述を追加しています。 0867b638aff9ec192ca420a44ffa5a77c892e8f2 で修正した挙動ですね。

[9368fa6c30] Nobuyoshi Nakada 2021-12-24 15:18:04 UTC

拡張ライブラリ io/console の gemspec ファイルで依存する ruby バージョンを 2.6.0 以降にひき上げています。

[8247b193c0] Nobuyoshi Nakada 2021-12-24 15:18:25 UTC

拡張ライブラリ io/console のバージョンを 0.5.10 に更新しています。

[1ad42f8a76] Nobuyoshi Nakada 2021-12-25 09:43:37 UTC

NEWS の default gems のバージョン記載でも io-console のバージョンを追随させています。

[05faa36028] "NARUSE, Yui" 2021-12-25 11:57:11 UTC

tool/format-release のコマンドライン引数にチェックアウトされた rubyディレクトリを指定するようにしています。従来はソースディレクトリで実行する前提になってたのを変更。

[1cc02078e5] "NARUSE, Yui" 2021-12-25 11:59:20 UTC

afa9d65d61857792508b1405835b07b78e24449c で tool/make-snapshot のオプション -extlibs が追加されてデフォルト値が no になっていて拡張ライブラリのための外部ライブラリのソースコードをバンドルする挙動が抑制されるようになっていたのを revert しています。 libffi のソースコードがバンドルされなくなっていたので。

[82c8acbcfd] "NARUSE, Yui" 2021-12-25 11:59:55 UTC

拡張ライブラリ zlib で外部ライブラリの zlib のソースコードをバンドルするための設定 ext/zlib/extlibs を削除しています。

[8325094177] "NARUSE, Yui" 2021-12-25 12:22:02 UTC

a042043487eb4c7d39307b8e784ede1856455c3e で tool/make-snapshot の make update 時の外部パッケージ展開を抑制するようになってたのを revert しています。

[da4d6dc1ec] "NARUSE, Yui" 2021-12-25 13:19:02 UTC

tool/format-release で www.ruby-lang.org のための releases.yml ファイルのための情報を生成するところで tags の prefix が間違っていたのを修正しています。