Skip to content

v1.25.0

Latest

Choose a tag to compare

@byroot byroot released this 08 Aug 06:58

What's Changed

  • Improve YAML parsing cache to more efficiently handle Time, Date and DateTime.

  • 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 +YJIT marker to RUBY_DESCRIPTION ( +YJIT <token> on YJIT_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.fetch and .precompile reading a non-String path argument (e.g. a Pathname)
    with RSTRING_PTR. Regression from 1.24.0.

Full Changelog: v1.24.6...v1.25.0