JRuby 1.1.6 现在可以下载了( JRuby 1.1.6 的发布说明)。
其中一个主要的特性是 11 月后期提交的对 Ruby 1.9 解析器的支持。正如发布说明中提到的,JRuby 目前支持了 Ruby 1.9 中的大部分库,而在2009 年第一季度会提供全面的支持 。对Ruby 1.9 的支持可以通过–1.9 命令行开关来打开。JRuby 嵌入器可以设置版本,比如说,使用一个 org.jruby.RubyInstanceConfig 实例,它能够被传入 JavaEmbedUtils.initialize(List loadPaths, RubyInstanceConfig config) 方法。
发布说明中还提到了对于org.jruby.javasupport.JavaEmbedUtils 类的改进,这个类对那些将 JRuby 嵌入到普通 Java 代码中的开发者来说非常有用。与 JRuby 交互会需要使用 JRuby 的内部 API,而这些 API 在不同的版本中很有可能发生变化。但现在可以通过 BSF 或者 Java 6 中引入的 JSR 223 hosting API 来解决这个问题。使用 BSF 需要有 BSF 库,而 JSR 223 会把代码限定在 Java 6 上。但JavaEmbedUtils类可以让开发者初始化 JRuby 实例,调用方法,将 Ruby 类型转变成 Java 类型等等,而无需依赖 BSF 或者 JSR 223。
发布说明还包括:
- 一份修复故障 IO 引用 bug 的列表
- 更加快速的 Array.sort
- 无需解压即可在 jar 中运行的 gem
- 将 gem 库存在 jar 中,并通过 classpath 来加载
- 修复两个 RC 过程中可测的内存泄漏
- 自从 1.1.5 以来的 74 个 bug 修复
修复的 bug 示例有:
- 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”
评论