👻

[Misc #21657] 今年の Ruby のリリースバージョンが 3.5 なのか 4.0 なのかを確認するチケット

に公開

Misc #21657

  • 今年の Ruby のリリースバージョンを 3.5 にするのか 4.0 にするのかどっちなんだい、っていうチケット
  • 順当に行けばバージョンは Ruby 3.5 になるんですが Ruby 4.0 としてリリースする、という話も上がってたりするのでどうするの?みたいな内容
  • モチベーションとしてはライブラリやツールの作成者が今後のバージョンに向けて準備したい、というところみたいですね
  • あと起票者とは別なんですが 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 がいきなり出てきたのかは気になりますねえ
    • まあ、このあたりはすでに話されているとは思いますが
GitHubで編集を提案

Discussion