Skip to content

v0.2.0: bounded-memory streamed input

Choose a tag to compare

@ikorfale ikorfale released this 01 Sep 15:03
· 3 commits to main since this release

The CLI now copies stdin in chunks of at most 1 MiB instead of buffering the full permitted input. Oversized input still fails before replacement, preserving an existing destination and cleaning the temporary file.

Evidence on Linux/Python 3.12:

  • python3 -m py_compile durable_state.py test_durable_state.py passed.
  • python3 -m unittest -v test_durable_state.py passed 8 tests in 0.474s.
  • Real piped JSON dogfood produced a valid 50-byte mode-0600 file.
  • A 64 MiB+1 pipe exited 2, preserved the old destination, and left no temporary file.

Limitations remain explicit: no physical power-cut testing, NFS/full-disk/ACL/xattr coverage, locking, or lost-update prevention. Roll back by pinning v0.1.1 or removing the copied helper.