ふたつのリリース候補版を経て、RailsチームはRails 4.1.0をリリースした。ポイントリリースであることは、後方互換性がありアップグレードが容易であることを示している。
Rails 4.1にはSpring(JVMアプリケーションフレームワークとは無関係)があり、アプリケーションのプレロードによって開発がスピードアップする。"Springを使えば、アプリケーションは永続化されたプロセスになり、コマンドをまたがって再利用できます。従って最初の起動だけが重く、コードの変更も自動的に検知しリロードします"。簡単なセットアップを行うだけで、rakeとrailsのコマンドはプレロードの恩恵を受けることができる。
現在のモバイルの世界では、ウェブサイトは異なるスクリーンに対して応答を返す必要がある。Action Pack Variantsを使えば、ユーザのデバイスのカテゴリによって出力するテンプレートを変えることができる。異なるフォーマットを使ってレスポンスを返している方式に似ている。
respond_to do |format| format.html do |html| html.tablet # renders app/views/projects/show.html+tablet.erb html.phone { extra_setup; render ... } end end
Basecampはこの方法を使って、ひとつのRailsアプリケーションでディスクトップのブラウザ、モバイルのブラウザ、ネイティブアプリのブラウザに対応している。
また、Rails 4.1にはコンポーネントに新しい機能が加わった。Active RecordはEnumsをサポートする。データベースの単一の数値にマップすることが可能だ。Action Mailerはブラウザでメールのテンプレートをプレビューする機能が追加された。いちいち送信した確認する必要がなくなるのだ。
アプリケーションのセキュリティを改善するため、アプリケーションのキーとトークンはconfig/secrets.ymlに保存される必要がある。
バージョンアップを計画するなら、移行ガイドを読むといいだろう。新しい機能の詳しい説明が書いてある。マイナーリリースではあるものの、除去された機能もある。アップグレード前に確かめておくべきだ。新しい機能について詳細を知りたければ、Godfrey Chan氏のブログを読むといいだろう。