Thanks to our contributors this cycle for helping to improve compatibility: @ahorek, @byteit101, @k77ch7
define_singleton_method
now always uses public visibility. This simplifies its implementation and eliminates warnings when aliasing it, as in the ostruct gem. (ruby/ostruct#40, #7031, #7055)
- The
import
method for importing Java classes remains deprecated for removal in 9.4, but now provides a better warning with a source location. (#6976) - Ruby subclasses of Java classes and Ruby classes converted into Java classes can now include instance variables that are accessible from Java as normal fields. This improves integration with Java frameworks that use reflection to access object state. (#7012)
- Generated make files now properly set the platform architecture when running on Linux/aarch64 and Apple's M1 family of CPUs. This allows sassc and other non-extension C-based gems to build and install properly. (sass/sassc-ruby#231, #7132, #7133)
- ostruct is updated to 0.5.1, which fixes warnings in verbose mode loading the json library. ([#6831], [#6963])
- logger is updated to 1.5.1, which fixes a log rotation locking issue on Windows. (ruby/logger#67, ruby/logger#68, #7038)
- Socket IPv6 constants are now always defined regardless of platform support, matching CRuby and JRuby 9.2. (#7069, #7071)