JRuby 9.1.8.0 Released
Monday, March 06 2017
The JRuby community is pleased to announce the release of JRuby 9.1.8.0
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9000 is the newest major version of JRuby, representing years of effort and large-scale reboots of several JRuby subsystems. It is expected to be compatible with Ruby 2.x and stay in sync with C Ruby. JRuby 9.1.8.0 is our latest releaseā¦
Major features of JRuby 9000:
- Ruby 2.x compatibility
- A new optimizing runtime based on a traditional compiler design
- New POSIX-friendly IO and Process
- Fully ported encoding/transcoding logic from MRI
If you do find issues then report them on using our issue tracker at https://github.com/jruby/jruby/issues. We also encourage users to join our IRC channel (#jruby on Freenode) and mailing lists. You may also follow @jruby on Twitter for updates.
- Fixed intermittent DynamicScope size errors
- Concurrency fixes to jitting of blocks (mostly seen as previous bullet).
- Several issues fixed when running with -Xcompile.invokedynamic
- 81 issues fixed for 9.1.8.0
Github Issues resolved for 9.1.8.0
- #4521 - Use actual impl module to test bindability. Fixes #4477.
- #4516 - DynamicScope sizeError
- #4513 - cgi/escape does not define CGI.escapeHTML and other methods
- #4512 - release and upgrade BC (jruby-openssl)
- #4511 - Fix some issues with Fiddle
- #4509 - Fix #4463 Marshal load bigdecimal NaN fails
- #4508 - $. never seems to change once JIT'd
- #4507 - Actually cache the idTest on the module.
- #4504 - Improve some of the debug logging in ConstantLookupSite.
- #4503 - Allow reads after calling BasicSocket#close_write.
- #4501 - JRuby native no longer loads on windows
- #4500 - IO#close_write seems to close the read side too for unix sockets
- #4499 - Make failed indy call sites still use specific-arity dispatch
- #4498 - Separate varargs and specific-arity names in JIT. Fixes #4482
- #4497 - The return value of `ARGF.file#lineno` differs from that of MRI
- #4496 - Use ipaddr to compare the sender's address
- #4494 - Use arity hashCode instead of proc#hash in CallableSelector
- #4492 - YAML: Can't load files with characters in the supplementary plane
- #4486 - Set up EWOULDBLOCKWaitReadable/Writable if not present. Fix #4473
- #4485 - Allow refinements in one eval to be seen in the next.
- #4484 - Rational() and IO.try_convert do not work for BasicObjects
- #4483 - Complex() Kernel method does not consult an object's to_c method
- #4482 - Doing require_relative too often leads to TypeError
- #4481 - String#unpack: Unpacked string should not have an encoding
- #4478 - Block doesn't retain it's binding through instance_eval
- #4477 - prepending to the singleton class of a module breaks instance_method
- #4475 - Activating refinements in binding.eval doesn't stick outside of the evaluated string.
- #4473 - IO::EWOULDBLOCKWaitReadable Exception class not defined
- #4472 - jrubyc broken for simple (self-executing) scripts in 9.1.7.0
- #4471 - Make sure to iterate over all keys when cancelling keys in a SelectorPool
- #4467 - Exception backtrace is nil when it should be present
- #4466 - Fix #3799 again.
- #4465 - Java Null Pointer exception while bundling
- #4463 - Marshal load bigdecimal NaN fails.
- #4461 - `ObjectSpace.each_object.to_a` raises `ArrayIndexOutOfBoundsException`
- #4457 - system and spawn raise 'wrong exec redirect action' when redirecting given `out: tempfile` or `err: tempfile`
- #4455 - Sequel fails with -Xcompile.invokedynamic=true
- #4454 - Licensing is confusing
- #4448 - [ji] support 'native' method arguments (e.g. org.jruby.RubyObject)
- #4447 - Fix GzipReader "position" update for #each and #each_line.
- #4445 - string encoding is incorrect when compiling to .class files via jrubyc
- #4443 - LocalJumpError when creating enumerator inside GzipReader.open block
- #4442 - Unable to re-deploy rails app (java.lang.RuntimeException: BUG: could not initialize constructor handle)
- #4439 - Memory leaks due to overwritten local variables being wrongly kept alive on the stack
- #4438 - fix Base64#decode64 behavior
- #4437 - String#scrub ignores the block if the string encoding is not ASCII-compatible
- #4435 - [ji] deterministic Java bean-style method aliases
- #4428 - [#4353] Ignore consecutive DOUBLE_STAR in glob_helper.
- #4423 - Kill the LocalJumpError logic for break in lambda. Fixes #4369.
- #4413 - JRuby's impl of FFI differs in behavior from MRI; segfaults/crashes
- #4399 - RubyHash's compare_by_identify Java method naming is confusing
- #4393 - microsecond accuracy is not supported in class Time
- #4392 - compile back to hard scope when closure compile/build requested
- #4391 - Metaspace fills with java.lang.invoke.LambdaForms$ over time
- #4353 - Dir.glob returns doubles, if used with recursive directory matchers "**"
- #4312 - Fix JRuby embed crash after application reloading
- #4304 - Singleton on non-persistent Java type Java::JavaLang::NullPointerException
- #4219 - Calling super with two "_" params ignores the value of the second
- #4028 - Base64.decode64 incorrect result when missing paddings
- #3663 - Never-ending getaddress() call when using compressed IPv6 nameservers in /etc/resolv.conf
- #3545 - java.lang.NullPointerException when using for loops
- #3528 - ActiveRecord::StatementInvalid: ArgumentError: wrong number of arguments (1 for 2) for invokedynamic
- #3350 - JRuby 9.0.1.0 has slower $global_var usage
- #3185 - PTY.spawn doesn't pass arguments
- #3020 - Attempt to get output from PTY.spawn periodically hangs
- #2355 - State file use in UUID gem causes severe performance degradation
- #2161 - Hash inspection not working as in MRI for sprintf %p
- #1842 - Dir#glob and escaped commas
- #1784 - OpenSSL::PKey.read throws a null pointer exception
- #1653 - '/' works as a valid path but children don't (under windows)
- #1643 - Cannot call a Java method whose parameter is RubyArray when it is overloaded
- #1437 - test/mri/ruby/test_regexp.rb has regexp that fail to parse
- #1381 - io/console and/or FFI do not load right with alternative -0 separator
- #1368 - Need to error for unsupported keywords
- #1321 - TracePoint thread_begin and thread_end events are broken
- #1269 - RegexpError with look-behind
- #1258 - Improve Bignum string parsing
- #1149 - chmod inside of File block fails to create file
- #1067 - [2.1] StringScanner named captures
- #1037 - TypeError raised when trying to propagate java Throwables using Thread.raise
- #413 - $LOADED_FEATURES.clear does not appear to clear internal set
The JRuby community is pleased to announce the release of JRuby 9.1.8.0
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9000 is the newest major version of JRuby, representing years of effort and large-scale reboots of several JRuby subsystems. It is expected to be compatible with Ruby 2.x and stay in sync with C Ruby. JRuby 9.1.8.0 is our latest releaseā¦
Major features of JRuby 9000:
- Ruby 2.x compatibility
- A new optimizing runtime based on a traditional compiler design
- New POSIX-friendly IO and Process
- Fully ported encoding/transcoding logic from MRI
If you do find issues then report them on using our issue tracker at https://github.com/jruby/jruby/issues. We also encourage users to join our IRC channel (#jruby on Freenode) and mailing lists. You may also follow @jruby on Twitter for updates.
- Fixed intermittent DynamicScope size errors
- Concurrency fixes to jitting of blocks (mostly seen as previous bullet).
- Several issues fixed when running with -Xcompile.invokedynamic
- 81 issues fixed for 9.1.8.0
Github Issues resolved for 9.1.8.0
- #4521 - Use actual impl module to test bindability. Fixes #4477.
- #4516 - DynamicScope sizeError
- #4513 - cgi/escape does not define CGI.escapeHTML and other methods
- #4512 - release and upgrade BC (jruby-openssl)
- #4511 - Fix some issues with Fiddle
- #4509 - Fix #4463 Marshal load bigdecimal NaN fails
- #4508 - $. never seems to change once JIT'd
- #4507 - Actually cache the idTest on the module.
- #4504 - Improve some of the debug logging in ConstantLookupSite.
- #4503 - Allow reads after calling BasicSocket#close_write.
- #4501 - JRuby native no longer loads on windows
- #4500 - IO#close_write seems to close the read side too for unix sockets
- #4499 - Make failed indy call sites still use specific-arity dispatch
- #4498 - Separate varargs and specific-arity names in JIT. Fixes #4482
- #4497 - The return value of `ARGF.file#lineno` differs from that of MRI
- #4496 - Use ipaddr to compare the sender's address
- #4494 - Use arity hashCode instead of proc#hash in CallableSelector
- #4492 - YAML: Can't load files with characters in the supplementary plane
- #4486 - Set up EWOULDBLOCKWaitReadable/Writable if not present. Fix #4473
- #4485 - Allow refinements in one eval to be seen in the next.
- #4484 - Rational() and IO.try_convert do not work for BasicObjects
- #4483 - Complex() Kernel method does not consult an object's to_c method
- #4482 - Doing require_relative too often leads to TypeError
- #4481 - String#unpack: Unpacked string should not have an encoding
- #4478 - Block doesn't retain it's binding through instance_eval
- #4477 - prepending to the singleton class of a module breaks instance_method
- #4475 - Activating refinements in binding.eval doesn't stick outside of the evaluated string.
- #4473 - IO::EWOULDBLOCKWaitReadable Exception class not defined
- #4472 - jrubyc broken for simple (self-executing) scripts in 9.1.7.0
- #4471 - Make sure to iterate over all keys when cancelling keys in a SelectorPool
- #4467 - Exception backtrace is nil when it should be present
- #4466 - Fix #3799 again.
- #4465 - Java Null Pointer exception while bundling
- #4463 - Marshal load bigdecimal NaN fails.
- #4461 - `ObjectSpace.each_object.to_a` raises `ArrayIndexOutOfBoundsException`
- #4457 - system and spawn raise 'wrong exec redirect action' when redirecting given `out: tempfile` or `err: tempfile`
- #4455 - Sequel fails with -Xcompile.invokedynamic=true
- #4454 - Licensing is confusing
- #4448 - [ji] support 'native' method arguments (e.g. org.jruby.RubyObject)
- #4447 - Fix GzipReader "position" update for #each and #each_line.
- #4445 - string encoding is incorrect when compiling to .class files via jrubyc
- #4443 - LocalJumpError when creating enumerator inside GzipReader.open block
- #4442 - Unable to re-deploy rails app (java.lang.RuntimeException: BUG: could not initialize constructor handle)
- #4439 - Memory leaks due to overwritten local variables being wrongly kept alive on the stack
- #4438 - fix Base64#decode64 behavior
- #4437 - String#scrub ignores the block if the string encoding is not ASCII-compatible
- #4435 - [ji] deterministic Java bean-style method aliases
- #4428 - [#4353] Ignore consecutive DOUBLE_STAR in glob_helper.
- #4423 - Kill the LocalJumpError logic for break in lambda. Fixes #4369.
- #4413 - JRuby's impl of FFI differs in behavior from MRI; segfaults/crashes
- #4399 - RubyHash's compare_by_identify Java method naming is confusing
- #4393 - microsecond accuracy is not supported in class Time
- #4392 - compile back to hard scope when closure compile/build requested
- #4391 - Metaspace fills with java.lang.invoke.LambdaForms$ over time
- #4353 - Dir.glob returns doubles, if used with recursive directory matchers "**"
- #4312 - Fix JRuby embed crash after application reloading
- #4304 - Singleton on non-persistent Java type Java::JavaLang::NullPointerException
- #4219 - Calling super with two "_" params ignores the value of the second
- #4028 - Base64.decode64 incorrect result when missing paddings
- #3663 - Never-ending getaddress() call when using compressed IPv6 nameservers in /etc/resolv.conf
- #3545 - java.lang.NullPointerException when using for loops
- #3528 - ActiveRecord::StatementInvalid: ArgumentError: wrong number of arguments (1 for 2) for invokedynamic
- #3350 - JRuby 9.0.1.0 has slower $global_var usage
- #3185 - PTY.spawn doesn't pass arguments
- #3020 - Attempt to get output from PTY.spawn periodically hangs
- #2355 - State file use in UUID gem causes severe performance degradation
- #2161 - Hash inspection not working as in MRI for sprintf %p
- #1842 - Dir#glob and escaped commas
- #1784 - OpenSSL::PKey.read throws a null pointer exception
- #1653 - '/' works as a valid path but children don't (under windows)
- #1643 - Cannot call a Java method whose parameter is RubyArray when it is overloaded
- #1437 - test/mri/ruby/test_regexp.rb has regexp that fail to parse
- #1381 - io/console and/or FFI do not load right with alternative -0 separator
- #1368 - Need to error for unsupported keywords
- #1321 - TracePoint thread_begin and thread_end events are broken
- #1269 - RegexpError with look-behind
- #1258 - Improve Bignum string parsing
- #1149 - chmod inside of File block fails to create file
- #1067 - [2.1] StringScanner named captures
- #1037 - TypeError raised when trying to propagate java Throwables using Thread.raise
- #413 - $LOADED_FEATURES.clear does not appear to clear internal set