Changes for version 0.07 - 2026-08-11

  • Fix a reader-lock leak and an unbalanced unlock_rd that underflowed a reader slot; either could block every writer indefinitely.
  • Refuse a non-empty file too small to hold a header, including one this process created.
  • Recover a file left behind by an interrupted create.
  • Create leaves the backing file sparse.
  • Str set()/fill(): clamp the value length to the element size.
  • Str get(): size the scratch buffer as size_t.
  • slice(): validate count against capacity before allocating.
  • unlink() reports a removal that failed; one already gone is not an error.
  • Makefile.PL: Shared.c depends on xs/*.xs and buf_*.h; declare the repository and bugtracker in META.
  • Hardening: re-entrancy with tied and overloaded arguments, and DESTROY on an invocant that is not one of ours.
  • Documentation and test-harness corrections.

Modules

Type-specialized shared-memory buffers for multiprocess access

Provides

in lib/Data/Buffer/Shared/F32.pm
in lib/Data/Buffer/Shared/F64.pm
in lib/Data/Buffer/Shared/I16.pm
in lib/Data/Buffer/Shared/I32.pm
in lib/Data/Buffer/Shared/I64.pm
in lib/Data/Buffer/Shared/I8.pm
in lib/Data/Buffer/Shared/Str.pm
in lib/Data/Buffer/Shared/U16.pm
in lib/Data/Buffer/Shared/U32.pm
in lib/Data/Buffer/Shared/U64.pm
in lib/Data/Buffer/Shared/U8.pm