Après deux release candidates, l'équipe Rails a publié Rails 4.1.0. Ce changement de version mineure indique que les modifications restent rétro-compatibles et que la mise à jour devrait s'effectuer sans complications.
Rails 4.1 inclut Spring (aucun rapport avec le framework d'application JVM) qui accélère le développement en pré-chargeant votre application : "Avec Spring, votre application est un processus persistant qui peut être réutilisé à chaque commande. De cette façon, seule la première est lente. Tout changement de code est détecté automatiquement, et uniquement les parties concernées sont chargées de nouveau". Après quelques réglages assez simples, vos commandes rake et rails tireront avantage de Spring.
Dans le monde orienté mobiles d'aujourd'hui, un site web se doit de pouvoir répondre à différents formats d'écrans. ActionPack::Variants permet d'utiliser différents templates en fonction du type de support utilisé pour consulter une page. Cette distinction se fait de la même manière que pour les formats de fichiers :
respond_to do |format| format.html do |html| html.tablet # affiche app/views/projects/show.html+tablet.erb html.phone { extra_setup; render ... } end end
Basecamp utilise cette technique pour servir une version pour navigateur de bureau, une version pour navigateur mobile et une application mobile native, le tout avec une seule application Rails.
Rails 4.1 ajoute également de nouvelles fonctionnalités à certains de ses composants : ActiveRecord supporte maintenant les Enums qui sont stockés sous forme d'entiers en base de données, ActionMailer propose maintenant la prévisualisation des templates d'emails directement dans le navigateur sans avoir besoin de les envoyer pour obtenir un aperçu.
Pour améliorer la sécurité de vos applications, les clés et tokens dont votre application a besoin peuvent être stockés dans un fichier central nommé config/secrets.yml.
Si vous prévoyez une mise à jour, consultez le guide de migration qui fournit des instructions détaillées sur toutes les nouvelles fonctionnalités. Bien que ce soit une version mineure, elle donne lieu à certaines suppressions, prenez-en connaissance avant de mettre à jour. Vous pourrez en apprendre plus sur les nouveautés de cette version en lisant l'article de Godfrey Chan à ce sujet.