Ruby on Rails

Rails 8.1 リリースノートまとめ

  • POST
Rails 8.1 リリースノートについてまとめたものを備忘録として残しておく Rails 7 リリースノートまとめ Rails 7.1 リリースノートまとめ Rails 7.2 リリースノートまとめ Rails 8 リリースノートまとめ Rails 8.1 のリリースノートは以下の通り Rails 8.1 系での新機能および変更点 Railties rails credentials:fetch PATH コマンドが追加された フィクスチャで動的 ERB 式の代わりに静的 BCrypt パスワードダイジェストが生成されるようになった .gitignoreエントリが拡張され、すべてのキーファイルが無視されるようになった bin/setupに--reset オプションが追加された GitHub ActionsワークフローテンプレートのRuboCopジョブにRuboCopキャッシュ復元が追加された ActionMailerを使用しないアプリケーションで認証ジェネレータがメーラー関連ファイルの生成をスキップするようになった bin/ciが導入され、テスト、スタイルチェック、セキュリティ監査をローカルまたはクラウドで実行できるようになった 認証ジェネレータ実行時にセッションコントローラテストが生成されるようになった bin/bundler-auditとconfig/bundler-audit.ymlが追加され、アプリケーションgemの既知のセキュリティ問題を発見・管理できるようになった bin/bundlebinstubの生成が停止された SessionTestHelperモジュールが追加され、sign_in_as(user)とsign_outテストヘルパーが提供されるようになった 認証ジェネレータでパスワードリセットのレート制限が追加された rails new --minimalオプションが更新され、最近追加された機能が除外されるようになった アプリケーションレイアウトにapplication-nameメタデータが追加された ローカルでENVまたはcredentialsからsecret_key_baseが使用されるようになった 生成されたci.ymlファイルにRAILS_MASTER_KEYプレースホルダーが導入された 非標準環境でも Rails コンソールプロンプトがカラー化されるようになった 開発環境とテスト環境で YJIT が有効化されなくなった ポリシーが設定されている場合のみPermissionsPolicy::Middlewareが含まれるようになった Action Cable ActionCable::Channel#stream_for に複合チャネルを渡せるようになった 例: stream_for [ group, group.

Rails 8 リリースノートまとめ

  • POST
Rails 8 リリースノートについてまとめたものを備忘録として残しておく Rails 7 リリースノートまとめ Rails 7.1 リリースノートまとめ Rails 7.2 リリースノートまとめ Rails 8 系での新機能および変更点 Kamal(Docker コンテナのデプロイツール) Kamalという Docker コンテナを本番環境に簡単にデプロイするツールが同梱されるようになった ※Rails アプリケーションのデプロイで使用されていた Capistrano をコンテナように置き換えたツールのイメージ Thruster(HTTP/2 プロキシサーバ) Rails アプリケーションの Docker ファイルに、Thruster と呼ばれるプロキシサーバの設定が含まれ、Puma の前段に配置するようになった これにより、Nginx など別の Web サーバーを用意する必要がなくなる Thrusterの機能 HTTP/2のサポート Let’s Encrypt による自動化された TLS 証明書の管理 公開アセット(JavaScript、CSS、画像など)の HTTP キャッシュ X-Sendfile のサポートと圧縮 Solid Cable Solid Cable によって Redis を使用せずに WebSocket を使用したリアルタイム機能を使用することができる Solid Cache Solid Cache によってメモリを使用した Redis や Memcached よりも長期間にわたって大容量のアプリケーションのデータのキャッシュを行うことができる

Rails 7.2 リリースノートまとめ

  • POST
Rails 7.2 リリースノートについてまとめたものを備忘録として残しておく 他バージョンのリリースノートまとめ Rails 7 リリースノートまとめ Rails 7.1 リリースノートまとめ Rails 7.2 系での新機能および変更点 開発用のDockerコンテナ(devコンテナ) Docker コンテナをフル機能の開発環境として使用できる dev コンテナと呼ばれる新機能が追加されました。 デフォルトでは、以下のようなコンテナが含まれています。 データベース(SQLite, PostgreSQL, MySQL, MariaDBなど) Active Storage Redis システムテスト(Headless Chrome) 新規のアプリケーションで dev コンテナを使用するには、rails new でアプリケーションを生成する際に --devcontainer オプションを追加する rails new myapp --devcontainer YJIT のデフォルト化 YJIT は Ruby の JIT コンパイラで、有効にすることで Rails アプリケーションのパフォーマンスを大幅に向上させ、レイテンシを15〜25%改善することができる Rails 7.2 で Ruby 3.3以上を使用している場合は、YJIT がデフォルトで有効となる 無効にする場合は以下の設定が必要 Rails.application.config.yjit = false ブラウザのバージョンの Guard デフォルト化 アプリケーション生成時に以下の設定が Application Controller に追加されるようになった