What's Changed
-
Improve YAML parsing cache to more efficiently handle
Time,DateandDateTime. -
Don't invalidate the compile cache when YJIT is toggled. YJIT is a runtime JIT and doesn't change the
serialized instruction sequences that are cached, but enabling it (via--yjit,RUBYOPT, or
RubyVM::YJIT.enable) adds a+YJITmarker toRUBY_DESCRIPTION(+YJIT <token>onYJIT_SUPPORT
builds), which is part of the cache key. This previously discarded the entire compile cache whenever YJIT
was enabled at runtime but not at precompile time (or vice versa). The marker is now stripped before hashing. -
Fix
CompileCache::Native.fetchand.precompilereading a non-Stringpath argument (e.g. aPathname)
withRSTRING_PTR. Regression from 1.24.0.
Full Changelog: v1.24.6...v1.25.0