JRuby 1.1.6 já está disponível para download (JRuby 1.1.6 release notes).
Uma das principais características é o suporte para parser do Ruby 1.9 comitado no final de Novembro. Como dito nas notas de versão, JRuby vem com a maioria das bibliotecas do Ruby 1.9, com suporte completo planejado para o primeiro trimestre de 2009. O suporte ao Ruby 1.9 pode ser abilitado com parâmetro --1.9
na linha de comando. JRuby pode definir a versão, por exemplo, com uma instância de org.jruby.RubyInstanceConfig, que pode ser passado para o método JavaEmbedUtils.initialize(List loadPaths, RubyInstanceConfig config)
.
As notas de versão também destacam melhorias na classe org.jruby.javasupport.JavaEmbedUtils
, que muito útil par todos que usam o JRuby embutidos em código Java normal. Interagir com o JRuby pode exigir o uso de APIs internas do JRuby que estão sujeitas a mudanças entre os releases. Solução para isso estão disponíveis. Ex.: com BSF, ou a JSR 223 hosting API introduzida no Java 6. Usar a BSF requer a biblioteca BSF, de forma que a JSR 223 irá "amarrar" seu código no Java 6. A classe JavaEmbedUtils permite inicializar uma instância do JRuby, chamar métodos, converter tipos Ruby em tipos Java, etc, sem dependência do BSF ou JSR 223.
As notas de versão também listam:
- Uma lista crescente de bugs de dead IO corrigidos
- Um Array.sort muito mais rápido
- Executar gems em arquivos jar sem ter que descompactá-los.
- Armazenar repositórios gem em jars e carregá-los via classpath.[..]
- Dois memory leaks médios que ocorriam durante processos RC foram removidos
- 74 correções de bug desde a versão 1.1.5
Alguns exemplos dos bugs corrigidos são
- JIRA-3189 "java.lang.Iterable should have an each method"
- JIRA-3230 fixes Hpricot which was broken in the 1.1.5 release
- JIRA-3233 fixes a problem with instantiating Java objects with Rails 2.2.2
- JIRA-3126 "Allow Rubygems to be loaded and used from within jar files"
Finalmente, Ruby 1.1.6RC1 foi a versão do JRuby usado no último Ruby shootout.