👻
[Misc #21657] 今年の Ruby のリリースバージョンが 3.5 なのか 4.0 なのかを確認するチケット
Misc #21657
- 今年の Ruby のリリースバージョンを 3.5 にするのか 4.0 にするのかどっちなんだい、っていうチケット
- 順当に行けばバージョンは Ruby 3.5 になるんですが Ruby 4.0 としてリリースする、という話も上がってたりするのでどうするの?みたいな内容
- モチベーションとしてはライブラリやツールの作成者が今後のバージョンに向けて準備したい、というところみたいですね
- 具体的になにか課題があるというよrかは確認しておきたい、ぐらいなモチベーションぽい感じかな
- https://bugs.ruby-lang.org/issues/21657#note-2
- あと起票者とは別なんですが gemspec でバージョン指定する場合に影響があるので早く知りたい、みたいなコメントはある
# Assuming a Ruby 3.5.0 release.
spec.required_ruby_version = ">= 3.4", "<= 3.5"
# Assuming a Ruby 4.0.0 release.
spec.required_ruby_version = ">= 3.4", "<= 4.0"
- ここから『そもそもバージョンの上限を設けるべきではない』や『本当に 4.0 のメジャーアップデートである必要があるのか
』みたいな話に発展しているみたい - 具体的な課題として上げられているのは
"~> 3.x"を指定している場合に『 Ruby 3.5 では対象に含まれる』が『 Ruby 4.0 では対象に含まれない』の『こういう書き方をしている gem は壊れる』という課題があるみたいですね - 実際のところ Ruby 3.4 -> 4.0 ってどれぐらい影響が大きいんですかね?
- 個人的には
Set関連の互換性問題が目立っている印象はあるが
- 個人的には
- で、最終的にどうなったのかというと matz が Ruby 4.0 にする、ということになったので次のバージョンは Ruby 4.0 になりました
- このチケット内では matz が Ruby 4.0 にした背景や意思決定理由は特に言及はされていない
- と、いうことで今年は(大きな問題がなければ) Ruby 4.0 がリリースされる
- 個人的には matz が決めたなら、っていう感情しかないんですがメジャーアップデートするような理由が思いつかないのでなんで 4.0 がいきなり出てきたのかは気になりますねえ
- まあ、このあたりはすでに話されているとは思いますが
Discussion