[ANN] JRuby Released

The JRuby community is pleased to announce the release of JRuby

  - Homepage: https://www.jruby.org/
  - Download: Downloads — JRuby.org

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.

  - 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-based date extension, which JRuby does not use, but JRuby’s own
implementation of date is also affected by the same issue.

   The fix is detailed in #6952. A workaround is provided, via patching the
pure-Ruby date code in your own JRuby install. Rebuilding JRuby is not
necessary. This PR is the only functional difference from JRuby

  - 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.


   - The performance of Time#strftime has been greatly improved (3.5x-5.8x
faster). (#6942, #6956)

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

    #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



blog: http://blog.enebo.com twitter: tom_enebo
mail: tom.enebo@gmail.com