JRuby 1.1.5 is now available (JRuby download page).
The main changes, from the release notes:
- Per-class method caching (improves __send__, respond_to?, and defined?)
- Constant cache dramatically improves constant lookup
- Reduced memory usage for compiled execution
- Several Java Integration regressions fixed
The Constant cache was described in bug "JRUBY-3052 Cache Constants at their call site (const_node)", the Github commit of Constant caching shows what was involved in the change.
Ruby-ffi, which is now available for Ruby MRI as well as Rubinius, has been shipped with JRuby since 1.1.4. In 1.1.5 to include ruby-ffi includes callback support, which allows to pass Ruby blocks to functions that expect a callback function.
JRuby 1.1.5 also fixes the DOS vulnerability in REXML (InfoQ's coverage of the vulnerability).
Finally, JRuby 1.1.5 ships with RubyGems 1.3.1.
Community comments
1.1.5 works fine, 1.1.4 was broken
by Hermann Schmidt,
Re: 1.1.5 works fine, 1.1.4 was broken
by Charles Nutter,
Re: 1.1.5 works fine, 1.1.4 was broken
by Richard L. Burton III,
Re: 1.1.5 works fine, 1.1.4 was broken
by Hermann Schmidt,
1.1.5 works fine, 1.1.4 was broken
by Hermann Schmidt,
Your message is awaiting moderation. Thank you for participating in the discussion.
It's great to see that my stuff is running fine again. In 1.1.4 there seemed to be a fundamental problem in the Java interface, which I couldn't quite figure out. And its speed has increased considerably!
Timeouts on blocking IO are still a problem apparently. Timeout settings on http.open_timeout or http.read_timeout for example are ineffective.
Re: 1.1.5 works fine, 1.1.4 was broken
by Charles Nutter,
Your message is awaiting moderation. Thank you for participating in the discussion.
Hermann: The 1.1.4 Java regressions were unfortunate, but I think I fixed all of them plus a few long-standing issues. Glad to hear performance is better for you as well.
I think there's going to be a comprehensive set of changes for blocking IO to make it mimic MRI's "blocking simulated with non-blocking" and allow it to be interrupted across the board. I don't know if that will be in 1.1.6, but if you pop on JRuby mailing lists and IRC and lobby for it, we might be able to prioritize it.
Re: 1.1.5 works fine, 1.1.4 was broken
by Richard L. Burton III,
Your message is awaiting moderation. Thank you for participating in the discussion.
Charles is everywhere!
Where's Charles? :)
Re: 1.1.5 works fine, 1.1.4 was broken
by Hermann Schmidt,
Your message is awaiting moderation. Thank you for participating in the discussion.
Charles,
thanks for the invitation. I am currently on a JRuby user level (very happy user) and cannot contribute much to the internals of the project.
I think you guys will get it right. The work you've done so far is outstanding. JRuby is the most exciting tool I've met in 20 years of programming. No kidding.