Mimo, że najwięcej wysiłku jest pożytkowane na pracę nad trzecim wydaniem railsów, po półrocznej przerwie pojawiła się kolejna odsłona gałęzi 2.3. Oprócz elementów ułatwiających migrację do Rails 3, zawiera sporo poprawek i usprawnień. Jedna z nich okazała się “popsujką”, więc szybko wypuszczono kolejną wersję. Zanosi się jednak na to, że wkrótce doczekamy się jeszcze jednej.

2.3.6

Część starych funkcjonalności generuje teraz ostrzeżenia. Wyelminowanie ich powinno ułatwić przyszłą migrację do Rails 3. Został zupgradowany Rack, i18n, TZInfo, TMail, Json jest teraz generowany przy pomocy YAJL (o ile ten jest zainstalowany w systemie). Z drobnych zmian między innymi: dodane zostały dwie asercje assert_blank i asert_present i helper label powinien korzystać teraz z i18n. Pozbyto się również paskudnego ostrzeżenia, który pojawiał się jeśli miało się najnowsze ruby gems:

Warning: Gem::Dependency#version_requirements is deprecated and
will be removed on or after August 2010.  Use #requirement

Na oficjalnym blogu można znaleźć dokładniejszą lista zmian.

Jedna z najciekawszych z nich spowodowała problemy. Chodzi o plugin RailsXss, który dodaje funkcjonalność z Rails 3, polegającą na domyślnym “eskejpowaniu” widoków.

2.3.7

Nathan Weizenbaum, pracując nad dostosowaniem HAML‘a do najnowszej wersji odkrył kilka bugów, które mogą być niebezpieczne dla użytkowników pluginu RailsXss. Reakcja była szybka i została wydana nowa wersja 2.3.7

2.3.8?

Pośpiech był chyba zbyt duży, ponieważ wersja 2.3.7 powoduje problemy z Xss w aplikacjach, które nie korzystają z powyższego pluginu. Pojawiła się już pierwsza wersja “pre 2.3.8” i właściwe 2.3.8 powinno zostać wydane wkrótce.

Update: Wersja 2.3.8 rzeczywiście się pojawiła, a na blogu ruby on rails, można przeczytać przepraszająco-wyjaśniający post.

Podsumowanie

W takim wypadku najlepiej poczekać kilka dni z upgradem, aż sytuacja się wyjaśni i bugi zostaną wyłapane. Z jednej strony jest to spora wtopa, bo całkiem pokaźna paczka usprawnień nie została należycie przetestowana, zwłaszcza w zakresie bezpieczeństwa. Dodatkowo poprawiona wersja okazała się również zbugowana. Jednak z drugiej strony cieszy tak szybka reakcja.

Hej, to w końcu jest open source. Jeśli uważasz, że Ty nie dopuściłbyś do takiej sytuacji, nic nie stoi na przeszkodzie byś zaczął się udzielać.