Changes for version 1.62

  • Fix remaining Perl-side lock leaks when user supplied serializer/deserializer code throws while get_and_set() or other locked paths are active.
  • Validate get_and_set() callback options before merging them into the internal locked set() call.
  • Fix expire() in write-back mode to write back the original Perl value, not the serialized/compressed bytes.
  • Track all live empty_on_exit caches independently instead of keeping only one weak reference per class.
  • Preserve silent write/delete callback failure behavior while keeping locks exception-safe for serializer/deserializer failures.
  • Add regression coverage for expire() with serialized values, multiple empty_on_exit caches, and locked exception paths.

Modules

Uses an mmap'ed file to act as a shared memory interprocess cache