週刊Railsウォッチ(20171215)Ruby 2.5.0-rc1リリース、Ruby 2.4.3セキュリティ修正、Ruby 3.0で変わるキーワード引数、HTML 5.2 RECリリースほか

こんにちは、hachi8833です。クリスマスが迫るとRuby周りが忙しくなりますね。 今週のウォッチ、いってみましょう。 臨時ニュース1: Ruby 2.5.0-rc1リリース プレスリリース: Ruby 2.5.0-rc1 リリース www.ruby-lang.orgより ついさっき出ました。実は先ほど以下のセキュリティ修正でrbenvを更新したときにrc1の文字が見えていたのでついでにインストールしちゃいました。 臨時ニュース2: Rubyセキュリティ修正リリース 今朝発表がありました。 修正内容 以下の2点です。必要な方はお早めにアップデートしましょう。 CVE-2017-17405: Net::FTP におけるコマンドインジェクションの脆弱性について CVE-2017-0903: Unsafe Object Deserialization Vulnerability in RubyGems プレスリリース(ダウンロードリンクあり) Ruby 2.4.3 Ruby 2.3.6 Ruby 2.2.9 私もローカル環境とオレオレRailsアプリをRuby 2.4.3にアップデートしました。 Rails: 今週の改修 commit差分から見繕いました。 System TestにFirefox headless driverを追加 PR: 82b974 # actionpack/lib/action_dispatch/system_testing/driver.rb#67 browser_options.args << “–headless” browser_options.args << “–disable-gpu” + @options.merge(options: browser_options) + elsif @browser == :headless_firefox + browser_options = Selenium::WebDriver::Firefox::Options.new + browser_options.args << “-headless” + @options.merge(options: browser_options) else @options end end def browser – @browser == :headless_chrome ? :chrome : @browser + if @browser == :headless_chrome + :chrome + elsif @browser == :headless_firefox + :firefox + else + @browser + end end つっつきボイス: 「Firefox Quantamが速くなったらしいのと関係あるのかな」 参考: Firefox Quantumが激重になる問題が発生中 非推奨メソッドがpublicに変わらないよう修正 PR: #31433 Preserve original method visibility when deprecating a method # activesupport/lib/active_support/deprecation/method_wrappers.rb#60 deprecator.deprecation_warning(method_name, options[method_name]) super(*args, &block) end + + case + when target_module.protected_method_defined?(method_name) + protected method_name + when target_module.private_method_defined?(method_name) + private method_name + end end end つっつきボイス: 「お、お、こんなバグあったとは」「非推奨メソッドが削除されるまでの間ということですね」 非推奨のBigDecimal#newを削除 PR: #31435 Suppress warning: BigDecimal.new is deprecated in activerecord # activerecord/lib/active_record/connection_adapters/postgresql/oid/decimal.rb#6 module OID # :nodoc: class Decimal < Type::Decimal # :nodoc: def infinity(options = {}) – BigDecimal.new(“Infinity”) * … Continue reading 週刊Railsウォッチ(20171215)Ruby 2.5.0-rc1リリース、Ruby 2.4.3セキュリティ修正、Ruby 3.0で変わるキーワード引数、HTML 5.2 RECリリースほか