Revision history for Data-ReqRep-Shared

0.10  2026-10-16
    - Protect replacement channel files from older handles' unlink calls.
    - Reject malformed layouts consistently.

0.09      2026-09-25
          - Incompatible on-disk format: recreate existing files.
          - Survive processes that die, stop, exec or reuse PIDs mid-request.
          - Receiver-only replies; destroy cancels; cancel drops late replies.
          - New ready_fd/ready notification; signal handlers run during waits.
          - Anonymous channels use memfd; space reserved up front; stricter args.

0.08      2026-09-15
          - Incompatible on-disk format: recreate existing files.
          - Refuse attaching across PID namespaces or boots, or to a foreign
            world-writable file; new croaks after 10s on a held file lock.
          - reply returns false for a corrupt id instead of croaking.
          - Fix lost wakeups, and lost or misdelivered requests and replies.

0.07      2026-08-12
          - Fix a client receiving another client's reply when a cancel and
            re-acquire raced the reply.
          - A file left by an interrupted create is recovered, not refused.
          - Hardening against tied and overloaded arguments.
          - unlink() reports a failed removal; a missing file is no error.

0.06      2026-07-21
          - Bound a shared slot's response length before copying it.
          - Fetch get-magic on optional arguments before testing them.

0.05  2026-07-03
    - Security and robustness hardening; backing files now created mode
      0600 (pass a file-mode argument to new() for cross-user sharing).

0.04  2026-05-27
    - Fix a recovery ABA and a reply race that could clobber a live slot or
      deliver to the wrong owner.
    - Slot release no longer clobbers a freshly acquired slot.
    - resp_stride is 64-bit and validated; size() clamps.
    - create_int no longer leaks on calloc failure.


0.03  2026-04-26
    - Arena underflow guard; init under flock; strict fd validation.
    - Hardened DESTROY; client croaks carry the class prefix.
    - eventfd consume returns the count; eventfd setup is idempotent.


0.02  2026-04-12
    - Add SEE ALSO cross-links to family modules

0.01  2026-04-10
    - Initial release: Str (mutex, circular arena) and Int (lock-free MPMC)
      request queues.
    - Per-slot futex reply delivery, generation counters, PID-based stale
      recovery.
    - Dual eventfd; file-backed, anonymous or memfd.
