Revision history for Data-Reservoir-Shared

0.05      2026-09-26
          - A writer killed mid add no longer loses, duplicates or misorders
            an item: the next lock holder finishes it.
          - DATA_RESERVOIR_SHARED_SPARSE=0 reserves segments up front, so a
            full filesystem fails the constructor, not a later write.
          - A failed create no longer leaves a full-size file behind.

0.04      2026-09-15
          - Recover a lock left ownerless by a corrupt file instead of hanging.
          - Fix a writer stall on ARM64 after readers release.

0.03      2026-08-12
          - Recover a file left behind by an interrupted create instead of
            leaving the path unopenable.
          - Documentation and test-harness corrections.
          - unlink() reports a removal that failed; one already gone is not an
            error.

0.02      2026-07-22
          - Add weighted (A-Res) sampling: new_weighted / add(item, weight).
          - Fix a use-after-free in add_many() when tied or overloaded
            arguments destroy the reservoir; it now croaks.

0.01      2026-07-10
          - Initial release: shared-memory reservoir sampler (Algorithm R)
            with one shared RNG across producers; file, anonymous or memfd;
            rwlock with dead-process recovery.
