Um ano depois do Ruby 1.9.0 ser disponibilizado, ele não teve muita utilidade ainda. Alguns dos motivos são as incompatibilidades com as populares bibliotecas ou frameworks e mudanças de comportamento em algumas áreas. David A. Black recentemente postou no blog algumas das pequenas mudanças no 1.9.x que os desenvolvedores precisam estar cientes e que poderiam quebrar o software de forma sutil. (InfoQ relatou muitas outras mudanças do Ruby 1.9).
Agora o Ruby 1.9.1, o primeiro release estável, está prestes a ser disponibilizado. Ruby 1.9.1 RC1 saiu há algumas semanas, e o RC2 em breve estará disponível. Atualmente, a versão final do Ruby 1.9.1 é esperada no final de janeiro.
A versão estável 1.9.1 é uma razão para ter um olhar mais atendo na execução do 1.9.x, mesmo que apenas para melhorar a velocidade. Algumas funcionalidades, como o Fibers foram utilizadas para aumentar a escalabilidade (ex. NeverBlock para acessar banco de dados ou I/O) ou para soluções (ex. bibliotecas HTTP NeverBlock).
Ruby 1.9.x também é a versão utilizada para projetos adicionando novas funcionalidades ou uso de cenários para o Ruby. Orecentemente anunciado Rhodes framework (Rhodes está disponível agora na versão 0.2) para aplicações mobile que utilizarem versões 1.9.x do Ruby em algumas das plataformas mobile suportadas.
Outro exemplo é o MacRuby, que também deverá em breve ter outro release. MacRuby é baseado no Ruby 1.9.x, e o foco está na integração firme com o Objective-C, para o ponto onde os objetos como as Strings são atualmente objetos string do Objective-C, esta integração firme permite o script das API Objective-C com pouca ou nenhuma sobrecarga, bem como na utilização do Garbage Collector do Objective-C (o Objective-C GC (Autozone) foi recentemente open sourced).
Enquanto o JRuby é destinado a suportar o 1.9.x, com parsing total e suporte a bibliotecas parcial já está em vigor no 1.1.6, outras implementações (exceto para MacRuby), ainda estão com atrasos no suporte do 1.9.x.
O que mantém você no Ruby 1.8.x? Quais as funcionalidades do Ruby 1.9.1 (desempenho, Fibers, mudanças threading, mudanças de codificação, etc) são as razões para a mudança?