Changes for version 0.18 - 2026-09-01

  • Fix three crash windows that could corrupt a map when a writer was killed mid-operation: a removed entry's key, the entry count that resize() trusts, and a string's offset/length pair.
  • A cursor whose map was explicitly destroyed now croaks instead of reading freed memory.
  • List-returning keywords no longer force list context, so one used in scalar context stops adding values to the enclosing call.
  • reserve() rejects an out-of-range target instead of truncating it or reporting success.
  • Correct the crash-safety, iteration and upgrade notes; report NA instead of failing to build on a big-endian architecture.

Documentation

Practical recipes for shared-memory maps

Modules

Multiprocess shared-memory hash maps with LRU eviction and per-key TTL

Provides

in lib/Data/HashMap/Shared/I16.pm
in lib/Data/HashMap/Shared/I16S.pm
in lib/Data/HashMap/Shared/I32.pm
in lib/Data/HashMap/Shared/I32S.pm
in lib/Data/HashMap/Shared/II.pm
in lib/Data/HashMap/Shared/IS.pm
in lib/Data/HashMap/Shared/SI.pm
in lib/Data/HashMap/Shared/SI16.pm
in lib/Data/HashMap/Shared/SI32.pm
in lib/Data/HashMap/Shared/SS.pm