- The C layer is now vendored from mizu (ALTREP view layer) and libmizu (shared-memory region layer) via
tools/vendor.sh; the string region layout is now Arrow large_utf8-shaped. - Region layouts now open with a 64-byte header.
share()now supports S4 objects built on vectors or lists (previously the S4 object bit was silently dropped).share()of attribute-heavy objects and nested lists is faster: the write pass no longer re-serializes each element just to measure its size.- Fixed type confusion on unserialize when a shared string's content resembled a shared memory identifier (e.g. a stored
shared_name()value). - Fixed a forked child process (e.g.
parallel::mclapply) unlinking the parent's live region when garbage-collecting an inherited shared object. - Corrupted regions now raise a clean R error on
map_shared()or access instead of reading out of bounds or crashing R.
- Region name counters now start at a per-process random value, so a process reusing a crashed process's PID no longer collides with its orphaned regions (#50).
- New
prune_shared()removes shared memory regions orphaned by a process that was killed before it could clean up (#25). - When
share()fails to create a shared memory region it now reports the requested size and, where applicable, an actionable hint (e.g. raising a container's/dev/shmlimit) instead of a generic message (#29).
- Wire-format change (breaking): The serialization format and the shared memory region naming scheme have both changed.
shared_name()andmap_shared()now round-trip for sub-lists and extracted elements, not just whole shared objects. Sub-object identifiers carry a bracketed index path (e.g./mori_abc_1[2,3]).shared_name()now returnsNULLfor non-shared inputs (previously the empty string"");shared_name(x) %||% ""retains the previous behaviour.share()on Linux fails with a clean R error when/dev/shmis too small (typical in containers, where the limit can be raised at start) instead of SIGBUS-ing mid-serialize (#14).map_shared()on Linux no longer prefaults the whole region, restoring lazy first-touch access to match macOS.
- Initial CRAN release.