Skip to content

Releases: jruby/jruby

JRuby 9.4.7.0 Released

29 Apr 19:38
Compare
Choose a tag to compare

The JRuby community is pleased to announce the release of JRuby 9.4.7.0.

JRuby 9.4.x targets Ruby 3.1 compatibility.

Thank you to our contributors this release, you help keep JRuby moving forward! @kares, @ryannevell, @jsvd

Ruby Compatibility

Standard Library

  • jruby-openssl is updated to 0.14.5
  • rdoc is updated to 6.4.1.1
  • Warnings due to method aliasing in the ostruct library have been mitigated. #8200, #8206

JVM Integration

  • Ruby classes that are "reified" into a Java class and later redefined can be "re-reified" to a new Java class with an incrementing version number. #8141, #8185
  • Java objects from other classloaders can pollute the Java:: namespace. This behavior can be disabled now, and will be disabled by default in JRuby 10. #8156, #8208

53 Github Issues resolved for 9.4.7.0

JRuby 9.4.6.0 Released

20 Feb 20:12
Compare
Choose a tag to compare

The JRuby community is pleased to announce the release of JRuby 9.4.6.0.

JRuby 9.4.x targets Ruby 3.1 compatibility.

Thank you to our contributors this release, you help keep JRuby moving forward! @evaniainbrooks, @ahorek, @kares, @most00, @ntkme, @sk757a

Ruby Compatibility

  • Support for the new Prism parser for Ruby code has been merged in. A blog post will follow soon. [#8103]
  • IO#fcntl had inverted logic for setting O_NONBLOCK (setting it cleared the value, etc). [#8081], [#8090]
  • Many fixes to language and core class compatibility, see issue list.
  • Warnings should match verbosity levels of CRuby, with many unwanted warnings now properly omitted without verbose enabled. #7183, #8071

Standard Library

  • json is updated to 2.7.1. #7752, #7954
  • io-console is updated to 0.7.2. This version fixes IRB on Apple M-series by using stty for console manipulation. #8012
  • nkf is now supported by gem version 0.2.0. [#8077]
  • strscan is updated to 3.1.0. [#8074], [#8086]
  • reline is updated to 0.4.2 [#8102]
  • jruby-openssl is updated to 0.14.3 [#8107]

JVM Integration

  • Ruby Symbols can be use as arguments to JVM methods that receive Java String. #8015, #8057
  • Starting with Java 17, package-private methods will no longer be bound automatically even if they can be made visible. #8061, [#8093]

Native Integration

  • The subsystem used for native calls has been updated to support RHEL/CentOS 7 and the Java 9+ Cleaner API. [#8104]

Performance

  • Performance of keyword argument handling has been improved. #8021
  • Pattern matching is now supported in JRuby's JIT compiler. #8026, #8027

77 Github Issues resolved for 9.4.6.0

Read more

JRuby 9.3.14.0 Released

20 Feb 16:06
Compare
Choose a tag to compare

The JRuby community is pleased to announce the release of JRuby 9.3.14.0

JRuby 9.3.x is compatible with Ruby 2.6.x and stays in sync with C Ruby. As always there is a mix of miscellaneous fixes so be sure to read the issue list below.

Ruby Compatibility

  • IO#fcntl had inverted logic for setting O_NONBLOCK (setting it cleared the value, etc). #8081, #8090

Standard Library

  • strscan is updated to the 3.1.0 version #8086

Native Integration

  • The subsystem used for native calls has been updated to support RHEL/CentOS 7 and the Java 9+ Cleaner API. #8104
    Note: Due to a mistake in the release process 9.3.12.0 released yesterday only changed in version number. It was essentially 9.3.11.0 with a new version.

5 Github Issues resolved for 9.3.14.0

JRuby 9.4.5.0 Released

02 Nov 16:08
Compare
Choose a tag to compare

The JRuby community is pleased to announce the release of JRuby 9.4.5.0.

JRuby 9.4.x targets Ruby 3.1 compatibility.

Thank you to our contributors this release, you help keep JRuby moving forward! @ahorek, @jcharaoui, @kares

Ruby Compatibility

20 Github Issues resolved for 9.4.5.0

JRuby 9.3.13.0 Released

02 Nov 14:30
Compare
Choose a tag to compare

The JRuby community is pleased to announce the release of JRuby 9.3.13.0

JRuby 9.3.x is compatible with Ruby 2.6.x and stays in sync with C Ruby. As always there is a mix of miscellaneous fixes so be sure to read the issue list below.

Note: Due to a mistake in the release process 9.3.12.0 released yesterday only changed in version number. It was essentially 9.3.11.0 with a new version.

JRuby 9.3.13.0 has been released with just a handful of bug fixes this time.

We are ramping down maintenance of 9.3 in preparation for EOL at the end of this year. Let us know what we can do to get you on JRuby 9.4 today!

3 Github Issues resolved for 9.3.13.0

JRuby 9.4.4.0 Released

18 Oct 19:02
Compare
Choose a tag to compare

The JRuby community is pleased to announce the release of JRuby 9.4.4.0.

JRuby 9.4.x targets Ruby 3.1 compatibility.

Thank you to our contributors this release, you help keep JRuby moving forward! @ahorek, @chadlwilson, @k77ch7, @kares, @mrnoname1000, @ntkme, @skmp

Ruby Compatibility

Standard Library

  • Default gem updates:
    • jruby-openssl 0.14.2. #7886
    • psych is updated to 5.1.1.1, which uses SnakeYAML and exposes Psych::Parser.code_point_limit= for globally setting the code point limit.
    • bigdecimal is now a default gem (3.1.4) for the pure-Ruby portions; the extension remains part of JRuby itself. [#7925]
    • stringio is updated to 3.0.8. #7881

Platform Support

  • This release includes native support for Windows on the AArch64 (ARM64) platform. #7843, [#7936], [#7937], [#7941], [#7945], [#7960]
  • The jruby shell script gains support for ksh93, meaning that essentially all Bourne-compatible shells can run it. #7870

JVM Integration

  • Virtual thread use in Fiber can now be disabled using the jruby.fiber.vthread=false property (or JRuby flag -Xfiber.vthread=false). [#7907] [#7966]
  • Multiple small bugs in JVM bytecode generation and invokedynamic logic were discovered and fixed. [#7913]

Build and Distribution

  • The JRuby/Maven stack of plugins used to integrate Ruby and Maven artifacts have been updated to the latest versions, now using JRuby 9.4.3.0 for builds and avoiding the use of deprecated rubygems.org APIs. #7872

Performance

  • Conditional assignment of instance variables now requires only a single lookup, and optimizes to a simple read after assignment. #7891, #7896

78 Github Issues and PRs resolved for 9.4.4.0

Read more

JRuby 9.3.11.0 Released

11 Sep 18:49
Compare
Choose a tag to compare

The JRuby community is pleased to announce the release of JRuby 9.3.11.0

JRuby 9.3.x is compatible with Ruby 2.6.x and stays in sync with C Ruby. As always there is a mix of miscellaneous fixes so be sure to read the issue list below.

Thank you to our contributors this release, you help keep JRuby moving forward! @ahorek, @chadlwilson, @justinstoller, @k77ch7, @kares, @snoglobe

Ruby Compatibility

Standard Library

  • strscan is still built-in (not a gem) but has been updated to the 3.0.6 version. #7634, #7884, #7889
    • Along with this change, our Regexp engine joni is updated to 2.2.1 for Range optimizations.
  • Default gem updates:
    • jruby-openssl0.14.2 #7877

JVM Integration

  • Virtual thread use in Fiber can now be disabled using the jruby.fiber.vthread=false property (or JRuby flag -Xfiber.vthread=false). #7907

Build and Distribution

  • The JRuby/Maven stack of plugins used to integrate Ruby and Maven artifacts have been updated to the latest versions, now using JRuby 9.4.3.0 for builds and avoiding the use of deprecated rubygems.org APIs. #7880

33 Github Issues resolved for 9.3.11.0

JRuby 9.4.3.0

07 Jun 21:56
Compare
Choose a tag to compare

The JRuby community is pleased to announce the release of JRuby 9.4.3.0.

JRuby 9.4.x targets Ruby 3.1 compatibility.

Thank you to our contributors this release, you help keep JRuby moving forward! @byteit101, @donv, @k77ch7, @rcrews

Ruby Compatibility

Standard Library

  • Default gem updates:
    • rubygems 3.3.26 [#7831]
    • bundler 2.3.26 [#7831]
    • cgi 0.3.6 [#7831]
    • date 3.3.3 (stub gem on JRuby) [#7831]
    • ffi 1.15.5 [#7831]
    • jruby-openssl 0.14.1
    • net-http 0.3.0 [#7831]
    • net-protocol 0.1.2 [#7831]
    • reline 0.3.5 [#7831]
    • ffi-binary-libfixposix 0.5.1.1 to support Apple M1 (used by subspawn for improved subprocess management)
    • time 0.2.2 [#7831]
    • timeout 0.3.2 [#7831]
    • uri 0.12.1 [#7831]
  • Bundled gem updates: [#7831]
    • net-imap 0.2.3
  • Many fixes for BigDecimal behavior by @k77ch7. [#7747], [#7758], [#7766], [#7767], [#7768], [#7778], [#7779], [#7780], [#7781], [#7813], [#7827]
  • Rippper now passes all tests related to the syntax_tree gem. [#7776]

Performance

JVM Integration

  • InvokeDynamic support is now being tested across five major test suites on Java 17 and passes all tests that non-indy execution passes. [#7797]

79 Github Issues resolved for 9.4.3.0

Read more

JRuby 9.4.2.0

08 Mar 19:40
Compare
Choose a tag to compare

The JRuby community is pleased to announce the release of JRuby 9.4.2.0.

JRuby 9.4.x targets Ruby 3.1 compatibility.

Thank you to our contributors this release, you help keep JRuby moving forward! @k77ch7, @andsel

Ruby Compatibility

  • __callee__ now properly returns the name under which a method was called, which will be the new name in the case of aliased methods. #2305, #7702
  • More use cases for keyword arguments have been fixed to behave correctly and avoid extraneous warnings. #7637, #7645, #7657, #7658, #7670, #7672, #7686
  • Array#pack now supports more cases, passing nearly all specs. #7663
  • Compatibility with CRuby's command-line arguments has been improved. #7678, #7680, #7681, #7681, #7683, #7684

Standard Library

  • irb is updated to 1.4.2. #7690, #7691
  • open-uri is updated to 0.3.0. #7701
  • io-wait is updated to 0.3.0. #7701
  • stringio is updated to 3.0.5. #7701
  • strscan is updated to 3.0.6. #7701
  • open3 is switched to using the gem at 0.1.2. #7701

Platform Support

  • Exception backtraces now default to color output when the controlling terminal is a TTY. Disable using -Xbacktrace.color=false or equivalent in .jrubyrc. #7693

Performance

  • String#split has been optimized to skip regular expression use for simple split expressions. Simple ASCII strings also split faster. #7629

54 Github Issues resolved for 9.4.2.0

JRuby 9.4.1.0

07 Feb 16:47
Compare
Choose a tag to compare

The JRuby community is pleased to announce the release of JRuby 9.4.0.0.

Thank you to our contributors this release, you help keep JRuby moving forward! [@ahorek], [@cboos], [@evaniainbrooks], [@jcharaoui], [@k77ch7], [@knovok], [@Panxuefeng-loongson], [@ydah]

Thanks also to the community of JRuby users for trying out JRuby 9.4.0.0 and filing issues! We're proud to include so many fixes in this update release and we couldn't have done it without your bug reports.

Ruby Compatibility

Standard Library

  • The Psych YAML library is updated to 5.1.0. This version switches the JRuby extension to SnakeYAML Engine, avoiding CVEs against the original SnakeYAML and updating YAML compatibility to specification version 1.2. [#6365], [#7570], [#7626]

Platform Support

  • Final changes to support the LoongArch64 architecture have been merged in. [#7518]

Performance

  • Overall JIT bytecode size has been improved, allowing more methods to compile to JVM bytecode. The maximum IR size eligible for JIT has been increased from 1000 instructions to 3000 instructions. [#7589]

84 Issues resolved for 9.4.1.0

Read more