Ruby 2.4.0がリリースされました!

こんにちは、hachi8833です。 おとといの週刊Railsウォッチのあと、Ruby 2.4.0が公開されました。新バージョンリリースをクリスマスに行うというRubyの習慣は今回も守られましたね。 Ruby 2.4.0 Released 新機能 Ruby 2.4のいくつかの新機能は既に週刊Railsウォッチでお伝えしているので、未紹介の機能からいくつかリストアップします。 #12274 インスタンス変数へのアクセスを高速化 #6647 スレッドでの例外をログ出力 #8214 デッドロックチェックに全スレッドのバックトレースダンプの追加 もう少し詳しい更新情報についてはruby/Newsをご覧ください。いずれ翻訳されるようです(追伸: その後翻訳されました)。 2.3から2.4の比較を見ると、コミットが多すぎて最初の250件しか表示されていませんね。 2.4のインストール rbenvをお使いの方は、以下を参考に2.4をインストールしてください。 [Rails 5] rbenvでRubyをインストールして新規Rails開発環境を準備する 今回は以下のコマンドでインストールしました。 cd ~/.rbenv/plugins/ruby-build/ git pull # ruby-buildを更新 rbenv install 2.4.0 # 2.4.0をインストール(バージョン確認は省略) rbenv global 2.4.0 # デフォルトに設定(お好みで) Rails 5.0.1 + Ruby 2.4で動かしてみる Ruby 2.4にアップグレードすると、これまたリリース間もないRails 5.0.1で rails newしたときにActive Support周りで若干deprecationの警告が表示されます。 警告が出ている箇所のコードを見てみましょう。 ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb # No need to map these on Ruby 2.4+ TYPE_NAMES[“Fixnum”] = “integer” unless Fixnum == Integer TYPE_NAMES[“Bignum”] = “integer” unless Bignum == Integer ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/core_ext/numeric/conversions.rb # Ruby 2.4+ unifies Fixnum & Bignum into Integer. if Integer == Fixnum Integer.prepend ActiveSupport::NumericWithFormat else Fixnum.prepend ActiveSupport::NumericWithFormat Bignum.prepend ActiveSupport::NumericWithFormat end Float.prepend ActiveSupport::NumericWithFormat BigDecimal.prepend ActiveSupport::NumericWithFormat Rails5.0.1側でも2.4の受け入れ準備ができていることがわかります。 関連記事 Ruby 2.0.0リリース! – prependを使ってみよう Ruby 2.0.0リリース! – Enumerable#lazyを使ってみよう Ruby 2.1.0リリース!注目の新機能を見てみましょう 週刊Railsウォッチ(20161224)Float#roundの動作変更を取り消し、Rails 5.0.1/Ruby 2.4.0-rc1リリースほか [Rails 5] rbenvでRubyをインストールして新規Rails開発環境を準備する