JRuby 9.3.2.0 Released — JRuby.org (original) (raw)
The JRuby community is pleased to announce the release of JRuby 9.3.2.0
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
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.
Security
- Date-parsing methods have been modified to accept an input-size
limit
option. This addresses CVE-2021-41817. It was originally reported against Ruby’s C-baseddate
extension, which JRuby does not use, but JRuby’s own implementation ofdate
is also affected by the same issue.
The fix is detailed in #6952. A workaround is provided, via patching the pure-Rubydate
code in your own JRuby install. Rebuilding JRuby is not necessary. - In order to match Ruby behavior and permit interrupting these date-parsing regular expression matches, this release also enables interruptible regular expressions globally. This feature can be disabled using the “regexp.interruptible” JRuby option as described in the above PR.
Performance
Native Integration
- The jffi library on MacOS has been updated to sign the native library, allowing it to load properly on Apple Silicon. This improves compatibility on Apple’s AArch64 systems (M1 and friends). (jnr/jffi#116, jnr/jnr-ffi#257)
Github Issues resolved for 9.3.2.0
- #5729 - Check to see if we can do single nanosecond level math
- #6813 - File.directory? returns false on macOS M1 for a directory
- #6843 - move syslog constants to jnr-constants
- #6889 - Also print causes of bubbled-out exceptions
- #6895 - JRuby 9.3 Hash eats key String subclass instance variables
- #6896 - JRuby 9.3 singleton_class bug
- #6899 - Do not deduplicate strings with ivars
- #6900 - Skip prepend wrappers in each_object(Module)
- #6924 - java.lang.Iterable object has Enumerable ancestor but map cannot be called (jruby-9.3.x)
- #6942 - New strftime
- #6943 - Honor the requested address even given hostname
- #6945 - Socket fixes for GHA CI
- #6952 - Limit Date.parse input length and make interruptible
- #6954 - Fix 6924
- #6956 - Improve Performance of Time#strftime