Diesen Montag, 1. August, wurde ein neuer Release Candidate 1 von Rails in der Version 3.2.8 veröffentlicht. In dieser Version wurden nur wenig Änderungen vorgenommen. Eine Auflistung der vorgenommenen Änderungen zeigt, dass es sich hauptsächlich um das Hinzufügen und Entfernen von “Deprecation Warnings” handelt. Diese Warnings verweisen auf gewisse Methoden und Attribute, welche in späteren Releases nicht mehr unterstützt werden. Um den Entwickler nicht gleich ins kalte Wasser zu schmeissen, werden in Rails bei Verwendung von bald nichtmehr vorhandener Methoden / Attribute, Warnungen ausgegeben. Diese Hinweise beinhalten meist die Version, ab wann der verwendete Befehl nicht mehr unterstützt wird und eine Alternative dazu.
Das Rails Entwicklerteam hat ab dieser Version beschlossen, die Deprecation Policy zu ändert. Ab jetzt werden nurnoch in Sogenannten Major und Minor Releases API Deprecations hinzugefügt.
Um den neuen Deprecation-Zyklus besser zu verstehen, wandte ich mich an Santiago Pastorino, einen der Rails Core Entwickler.
Bei dem Release von Rails 4.0.0 werden neue API Deprecations bekanntgegeben und die Warnings dem Code hinzugefügt. Wird das Release 4.1.0 veröffentlicht, werden die in 4.0.0. als deprecated gekennzeichneten Methoden und Funktionen aus dem Rails-Code entfernt und neue, bald nicht mehr unterstützte API-Befehle, bekanntgegeben. Neue Deprecations werden aber nicht in Patch-Releases bekanntgegeben und hinzugefügt – so wie Rails 3.2.8 eines ist. Somit wurden alle Deprecation-Warnings, welche in den Versionen 3.2.x eingeführt wurden, wieder entfernt und werden erst in dem Release 4.0.0 hinzugefügt.