Skip to content

3.2.2 — Cross-version CI fixes

Latest

Choose a tag to compare

@trans trans released this 15 Jun 18:32
d2409ef

Patch release with cross-version fixes surfaced by full-matrix CI — Ruby 3.1, 3.2, 3.3, 3.4, head, jruby, and truffleruby are all green.

Bug Fixes

  • Range.intersection on Ruby 3.1/3.2. It used Range#overlap?, which only exists in Ruby 3.3+; replaced with an explicit, version-independent overlap test that works for any comparable element type.
  • Restore Range#overlap? for Ruby < 3.3. Dropped in 3.2.0 (Ruby 3.3 added a native one), which left 3.1/3.2 users without it. Now defined only when missing, so it never replaces the built-in on 3.3+.
  • Binding#caller / #caller_locations arity. Widened to accept the optional length argument (matching Kernel), fixing an ArgumentError when warn(uplevel:) dispatched to them under JRuby's pure-Ruby warn.

Internal

  • Declare ostruct as a test dependency — it's no longer a default gem as of Ruby 3.5. Facets' OpenStruct extensions still work but now need the ostruct gem on 3.5+, and may be divested from Facets in a future release.

Full Changelog: 3.2.1...3.2.2