A versão 3.1 do Ruby on Rails ainda está longe de ser lançada, de acordo com DHH (David Heinemeier Hansson), o criador do framework, mas essa declaração não tem evitado discussões acaloradas sobre o que está por vir na nova versão. O desenvolvimento do RoR 3.1 já foi iniciado, com algumas diretrizes importantes para o projeto anunciadas recentemente.
As reações às mudanças têm variado entre extremos. Muitos desenvolvedores reagiram positivamente, por exemplo, quando DHH anunciou no Twitter que o jQuery seria a nova biblioteca padrão de JavaScript do Rails e que o suporte a Prototype e RJS passaria a ser feito através de plugins. Entretanto, quando Hansson anunciou que o Rails passaria a suportar por padrão CoffeeScript e SCSS, as reações foram em boa parte negativas. Mas ficou claro que as duas alterações têm o objetivo de aumentar a produtividade dos desenvolvedores RoR.
Além disso, foi anunciado no blog oficial do Ruby on Rails que a próxima versão virá com suporte a chunked encoding, uma técnica também conhecida como HTTP streaming que visa aumentar a responsividade das aplicações. A mudança melhora o desempenho percebido pelos usuários, já que permite que recursos como CSS e JavaScript sejam carregados em paralelo com a página web, e não mais em série como é usual.
E para diminuir o consumo de memória, o ActiveRecord passará a utilizar um mapa de identidades, evitando que duas cópias do mesmo objeto sejam instanciadas. Este mapa vai existir apenas no escopo de uma requisição, evitando assim muitos dos problemas provenientes da programação concorrente, mas trazendo benefícios com caching.
O arquivo rails.js, que implementa a camada de JavaScript não intrusivo do Rails, sofreu uma grande reescrita: a abordagem utilizada na implementação da biblioteca foi alterada, não utilizando mais apenas closures. A nova versão do arquivo faz melhor uso de técnicas de orientação a objetos e agora expõe uma variável $.rails, que permite que um programador altere o comportamento de um método sem precisar copiar o arquivo para fazer as alterações; ou que os métodos definidos ali, sejam chamados por outras partes do sistema.
A equipe de desenvolvimento do RoR e o Rails Core Team, estão trabalhando intensamente na nova versão, mas ainda não foi definida uma data para o lançamento. É possível acompanhar o andamento do projeto em detalhes consultando os milestones.