• ActionWebService restera disponible en Gem mais ne fera plus partie intégrante du core de Rails. La core team a décidé de pousser à l'utilisation de REST plutôt que de SOAP et veut mettre en avant Active Resource
  • Ré-apparition du breakpointer en console qui permettra de poser facilement des points d'arrêt n'importe où dans l'application pour ensuite examiner son état directement depuis la console, d'effectuer des tests, d'inspecter des variables, d'en modifier puis de continuer l'exécution. Une solution bien plus pratique et puissante que des logger.debug un peu partout dans le code pour comprendre pourquoi notre application se comporte bizarrement !
  • Les fichiers Javascript et CSS pourront être cachés de manière automatique. Une option :cache => true a fait son apparition et permet de concaténer les différents js et css et de les gzipper. On obtient donc des performances HTTP accrues puisque que le nombre de connexions nécessaires est diminué et que les fichiers sont compressés
  • Apparition des "asset hosts" qui seront déclaré dans votre environnement et permettront de définir plusieurs serveurs qui serviront de miroir pour vos fichiers statiques tels que les images. Si des "asset hosts" sont définis, Rails fera automatiquement du load-balancing pour améliorer les temps de réponse de votre application. En effet, la majorité des navigateurs ne peuvent lancer que deux connexions par hôtes, si les contenus sont répartis sur plusieurs noms de domaines, alors le navigateur peut lancer plus de connexions concurrentes. Rails sera capable d'utiliser les différents domaines de façon transparente pour le développeur et l'utilisateur.
  • Apparition du SQL Query Caching qui permet d'alléger les traitement en cachant les requêtes SQL redondantes. A la première demande la requête SQL est envoyée à la base de données puis mise en cache. Si elle est appelée à nouveau, le cache sera utilisé pour améliorer les performances. Rails sera capable de détecter les changements de données et donc de mettre à jour le cache si nécessaire.
  • Les migrations ont été rendue plus sexy, on a maintenant : t.integer :nombre ou t.string :prenom
  • L'authentification HTTP a été intégrée pour permettre la mise en place rapide de contrôles sur des choses simples tels que les flux rss.
  • Les fichiers de configuration ont été scindés en plusieurs petits fichiers spécifiques aux différentes sections de configuration

En résumé, un gros travail sur les performances a été fait et nous devrions prendre encore plus de plaisir a développer en Rails.

Pour les plus curieux qui veulent tout savoir sur les changements dans Rails 2.0, la liste la plus exhaustive reste le ChangeLog disponible sur le Trunk du SVN.