Ruby 3.0.0が予定通りリリースされました🎉🎉🎄🤶🏼🎅。
第一報は、以下のwww.ruby-lang.orgのRSSフィードで知りました(2020/12/25 15:09)。リリース情報は日本語・英語共かなり詳しく書かれています。
- 公式リリース情報(日本語版): Ruby 3.0.0 リリース
- 公式リリース情報(英語版)Ruby 3.0.0 Released
直後に、Rubyのリリースマネージャー@nalshさんのツイートに気づきました。ツイートの方がわずかに早かったんですね。
Ruby 3.0.0 is releasedhttps://t.co/9demPKZL1s
It achieves Ruby 3x3 and introduces
* RBS
* TypeProf
* Ractor (experimental)
* Fiber Scheduler
* REPL (irb) speed up (copy&paste becomes much faster)
and more! pic.twitter.com/I1PNLwTl1X— 成瀬 (@nalsh) December 25, 2020
ruby-buildを見てみると↓、1時間前に3.0.0が乗っていたので、私も早速rbenvで3.0.0をインストールしました。
10分ほどでインストール完了しました。
なお、GitHubリポジトリ上の3.0.0の更新情報(英語)は以下となります。
以下、Ruby 3.0.0関連の記事やスライドなどをご紹介します。お気づきの点がありましたら@hachi8833までどうぞ🙇。
追記(2020/12/25):つい先ほど、クックパッド開発者ブログに「プロと読み解く Ruby 3.0 NEWS」が公開されました。
毎年恒例のやつです
[プロと読み解く Ruby 3.0 NEWS - クックパッド開発者ブログ](https://t.co/d1Qn3be5Qq)— _ko1 (@_ko1) December 25, 2020
⚓ Ruby 3.0 release event
既に週刊Railsウォッチでお伝えしたように、明日12/26(土)にリリースイベントがオンライン開催されます↓。枠はまだ空きがあります。
Ruby 3.0 release event - connpass: Ruby 3.0 がきっと 12/25 にリリースされるので、Ruby 3.0 を記念するイベントを zoom でオンラインで開催します。 Matz と Ruby コミッタがパネリストとして登壇します。また、参加者の皆様からのご質問も歓迎します。… https://t.co/L6OMnIeE4z [ruby]
— overleo (@overleo) November 21, 2020
追記(2021/01/04): リリースイベントでは、上記「プロと読み解く Ruby 3.0 NEWS」をRubyコミッターが直々に解説するなどとても濃厚な内容でした。お疲れさまでした!イベントの中で以下の記事も紹介されていました。
参考: Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ
⚓ 銀座Rails#26『これからのRubyと今のRubyについて』
@osyoさんの以下のスライドも合わせて読むとRuby 3.0の大枠を追いやすいと思います。
参考:【オンライン開催】銀座Rails#26@リンクアンドモチベーション - connpass
⚓ @jnchitoさんによるRuby 3.0の主な新機能と変更点
@jnchitoさんによるRuby 3.0.0の詳しい記事です。1つ目の記事は週刊Railsウォッチでもご紹介しましたが、追加記事が出たので改めてリストアップしました🙇。
Ruby 3.0の型チェック、個人的にはVS Codeがオートコンプリートしてくれるのが一番嬉しかったかも。Ruby本体の型定義は付属するようだから、あとは周辺のgemがどんどん対応すれば、Rubyの開発体験がかなり良くなる気がしました〜。
Rubyで型チェック!動かして理解するRBS入門 https://t.co/IRtm735qMW pic.twitter.com/GoSD9zXRq5— Junichi Ito (伊藤淳一) (@jnchito) December 15, 2020
上の記事は、週刊Railsウォッチでもご紹介したRuby TypeProf Playgroundを使いながら読むとはかどりそうです↓。
上の記事はかなり長文で読むのが大変だと思うので、概要をぱーっと確認できるように、見出しだけをまとめたアウトライン版を作りました。時間がない方は先にこちらをどうぞ💁🏻♂️
【アウトライン版】サンプルコードでわかる!Ruby 3.0の主な新機能と変更点 - give IT a try https://t.co/TgOOeBCIs1
— Junichi Ito (伊藤淳一) (@jnchito) December 20, 2020
私もzenn.dev版の記事にサポート投げました!
なお上記記事は以下のアドベントカレンダーからも参照できます。
- アドベントカレンダー: Ruby 3.0 Advent Calendar 2020 - Qiita
⚓ インタビュー記事『試行錯誤と改善を続けたRubyリリースマネジメントの歴史。その歩みを歴代の担当者たちが振り返る』
Findy Engineer Labサイトで先ごろ公開された、Rubyの歴代リリースマネージャー4名へのインタビュー記事です。とても読み応えがあります!
「issue trackerは便利」「CIはすごい」などが語られるインタビュー。それらがそこまで当たり前でなかった 10 年ほど前の話が中心です
— Yusuke Endoh (@mametter) December 25, 2020
⚓ 銀座Rails#23『Ruby 3.0 JIT on Rail』
@k0kubunさんによるRuby 3.0 JITとRailsに関するスライドです。
参考:【オンライン開催】銀座Rails#23 @リンクアンドモチベーション - connpass
⚓ 『MemoryView: Ruby 3.0 から導入される数値配列のライブラリ間共有のための仕組み』
@mrknさんが先ごろ公開した「MemoryView」の記事です。
Ruby 3.0 の新機能の話を書きました / 1件のコメント https://t.co/ub6V8qWR4y “MemoryView: Ruby 3.0 から導入される数値配列のライブラリ間共有のための仕組み - Speee DEVELOPER BLOG” https://t.co/vZGm7QBKPN #ruby #ruby3 #memory_view
— みょうが 🇺🇦 (@mrkn) December 24, 2020
以下でRuby 3.0にマージされたようです。MemoryViewは当初別の名前だったんですね。
⚓ Next-rubyもRuby 3.0の新構文をキャッチアップ
Use Ruby 3.0 syntax today! Don't wait for tomorrow 😁 https://t.co/QEKZxJw6gb
— Vladimir Dementyev (@palkan_tula) December 24, 2020
Ruby 3.0.0そのものではありませんが、以下の翻訳記事でご紹介したRuby NextトランスパイラもRuby 3.0のいくつかの新しい構文(findパターン、end
レスメソッド、引数forwarding...
の拡張)に対応したそうです。
リリースノート: Release 0.11.0 🎄 · ruby-next/ruby-next
⚓ おまけ: 3.0.0がリリースされるまで
12/25の朝7:00の時点ではまだリリースされていないようでした。
上述のRubyリリースマネージャーインタビュー記事で@nalshさんが現在のリリースマネージャーであることを確認できたので、@nalshさんのTwitterと、ruby_3_0ブランチのコミットを見張りました。
rbenvで使うruby-buildのリポジトリも監視しました。
12/25、8:45にv3.0.0p0のコミットがruby_3_0ブランチに入りました(気づいたのは11:30頃でした)。
12/25、12:48にruby_3_0ブランチ画面を更新すると、コミットが5つ増えていました。GitHubのリリースページ↓にv3_0_0が掲載されましたが、これはリリースと思っていいんだろうか...?@nalshさんのツイートが動くまで待ってみよう。
そうこうしているうちにRSSフィードでリリース第一報を知りました。
- お知らせ: TechRachoではRubyやRailsの最新情報などの記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチ)