JRuby 1.7.0 发布,默认使用 Ruby 1.9 模式

JRuby 1.7.0 发布,从该版本开始, JRuby 默认使用 Ruby 1.9 模式,兼容级别指向 Ruby 1.9.3. 我们知道还有一些 1.9 的特性尚未支持,例如 Ripper,但目前该版本已经足够稳定,可在产品环境中使用。接下来我们将每 2-3 周发布一个更新版本,直到完全支持 Ruby 1.9.

JRuby 1.7 是 JRuby 首个支持 JVM 新的 invokedynamic 指令的版本,你可在 Java 7 中启用 invokedynamic,但默认情况下该特性因为 JVM 的问题是禁用的。在 Java 8 中将默认启用,详情请看 http://wiki.jruby.org/PerformanceTuning

JRuby 1.7 的改进记录:

  • 1.9.3 is now our default runtime mode (–1.8 is needed for 1.8.7 support)
  • Ruby standard library updated to 1.9.3p286
  • Many 1.9.x compatibility fixes
  • Support for invokedynamic
  • Performance and concurrency improvements throughout
  • Java 5 support dropped (Java 6+ required)
  • All known 1.9 encoding issues resolved
  • Kernel#exec now does a true native exec on all platforms
  • Improvements and fixes to Java integration and embedding
  • Native features now better supported on Solaris, ARM Linux, and others
  • Update to Rubygems 1.8.24
  • Update to Rake 0.9.2.2