Amanhã, dia 30/08, se não houver maiores problemas deve ser lançada a versão do Rails 3.1 final.
Então resolvi preparar um post com as novidades dessa versão, não vou muito afundo detalhar cada um dos itens, só vou ressaltar algumas mudanças e melhorias e claro, links para quem quiser se aprofundar em cada um dos itens.
A primeira novidade anunciada foi a adição do JQuery como plugin javascript padrão, ao inves do prototype que vinha se arrastando em cada versão, e era removido por uns 90% dos programadores rails. Na verdade o padrão anterior foi removido, não vem mais nenhum framework javascript padrão no rails, o que vem é o driver ujs do JQuery, o que permite uma remoção muito mais simples ou troca por outro framework disponível.
O maior chororó da comunidade (
) foi quando foi anunciado que CoffeeScript e Scss seriam incorporados por padrão no Rails, formando o Asset Pipeline. Apartir da versão 3.1 o rails tera um novo diretório dentro da pasta app chamado assets, e dentro desse diretorio será incluido outros como images, javascripts e stylesheets a pasta public não mais terá por padrão esses diretórios, e é claro que o desenvolvedor pode alterar. Com a adição do Sprockets, todos os arquivos scss dentro da pasta stylesheets e arquivos .coffee dentro da pasta javascript serão compilados em um único arquivo chamado application, para css é application.css e para javascript é application.js. E outras bibliotecas podem ser adicionadas na pasta vendor/assets, por exemplo algum plugin do JQuery, vendor/assets/javascripts, e esses scripts de terceiros precisam ser aidicionados no arquivo de manifesto localizado em app/assets/javascripts/application.js.
Também foi adicionado suporte a chunked encoding para forçar arquivos JavaScript e CSS a serem carregados em parelelo enquanto a pagina é carregada.
O suporte a mapas de identidade no ActiveRecord evita que várias cópias do mesmo objeto sejam instanciadas.
Outra funcionalidade bacana é o ActiveRecord::Base#has_secure_password , que adiciona ao seu model um mecanismo simples de password, usando a engine do BCrypt para criptografar as senhas:
Existem muitas outras coisa, vale a pena dar uma conferida e estudar um pouco mais sobre essa nova versão do Rails. alguns links para estudos:
http://getsprockets.org/
https://gist.github.com/958283
http://railscasts.com/episodes/265-rails-3-1-overview
http://weblog.rubyonrails.org/releases
https://github.com/rails/rails/tree/3-1-stable