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.intersectionon Ruby 3.1/3.2. It usedRange#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_locationsarity. Widened to accept the optionallengthargument (matchingKernel), fixing anArgumentErrorwhenwarn(uplevel:)dispatched to them under JRuby's pure-Rubywarn.
Internal
- Declare
ostructas a test dependency — it's no longer a default gem as of Ruby 3.5. Facets' OpenStruct extensions still work but now need theostructgem on 3.5+, and may be divested from Facets in a future release.
Full Changelog: 3.2.1...3.2.2