Skip to content

v0.2.1 - Hardened Security & Edge-Case Defenses

Choose a tag to compare

@UberMetroid UberMetroid released this 05 Oct 14:56
· 12 commits to main since this release

Hardened Security & Robustness in v0.2.1

  • Special Device Node Defense:
    • Full support for /dev/null as an empty file operand (--- /dev/null / +++ /dev/null), enabling standard creation/deletion patch workflows.
    • Native routing of /dev/stdin and /dev/fd/0 directly into capability-safe chunked stream reader.
  • Symlink Cycle Defense:
    • Implemented ancestor path segment pruning (path_has_segment) and recursion depth bounding (max depth 32) in directory trees (-r).
    • Circular symlinks (e.g. ln -s . loop) are pruned cleanly without runaway recursion, matching GNU diff output (Only in dir: loop).
  • Memory & OOM Guard:
    • Added a 100MB file size ceiling guard to prevent out-of-memory exhaustion on pathological huge files.
  • Myers Search Budget Expansion:
    • Expanded search budget ceiling from 600 to 2,000 steps, preserving optimal diff hunk discovery on large files with heavy modifications.
  • Automated CI/CD:
    • Added GitHub Actions workflow (.github/workflows/ci.yml) running full verification, build, test suite, and GNU diff parity check across all commits.