Repository navigation
v0.0.19
Polish cycle on top of v0.0.18. Tightens engines.node to actually enforce the per-major-line floors v0.0.18 intended (#72), plus a documentation refresh that brings the README and handoff doc in sync with the v0.0.17 and v0.0.18 hardenings.
Fixed
engines.node(#72): tightened from>=18.20.2 || >=20.12.2 || >=22.0.0to^18.20.2 || ^20.12.2 || >=22.0.0. The previous expression reduced to effectively>=18.20.2because npm semver>=is unbounded above, silently accepting Node 19.x and 21.x (both EOL) on hosts that may lack the CVE-2024-27980 (.cmdargv-injection) patch v0.0.18 was trying to require. The new caret-bounded expression enforces 18.x ≥ 18.20.2, 20.x ≥ 20.12.2, and 22.0.0+ explicitly. Behavioral change: Node 19.x and 21.x users now hit a clear engines mismatch onnpm installinstead of silently passing through to an unpatched runtime. Both lines are EOL upstream, so the practical impact is small.
Changed
README.md(#71): refresh through v0.0.18. Status section bumped v0.0.16 → v0.0.18. Replaced the shell-metacharacter deny-list bullet with a description of the v0.0.18lib/safe-spawn.mjscross-spawn helper. Added a defense-in-depth bullet covering the v0.0.17--no-ask-user+--secret-env-varsflags and the v0.0.18--deny-tool=shell(<cmd>:*)denials forcurl/wget/nc/ncat/ssh. Test count169→173. Drop theSHELL_METACHAR_REreference from the unit-test list; mentiontests/safe-spawn.test.mjsas the first CI test exercising the production Windows.cmd-launcher spawn path. Requirements bumped to Copilot CLI 1.0.11+ and Node.js 18.20.2+/20.12.2+/22.0.0+. Security paragraph now references the v0.0.18 cross-spawn helper plus--deny-toolexfiltration denials.docs/plans/2026-04-20-v08-handoff.md(#67, #68, #69): post-v0.0.18 update folding the cross-spawn refactor notes; post-merge stale-reference cleanup (replaced the### Security deny-listsection with### Spawn safety (cross-spawn helper, v0.0.18); replaced the### EFFORT_TO_MODEL / fallback-chain tuningbacklog entry with### MODEL_ALIASES refresh); 2026-04-30 upstream audit (CLI 1.0.40-0) confirming both upstream-blocked items remain blocked. Net new flag surface since 1.0.39:--reasoning-effort(alias for--effort) and--no-bash-env— neither actionable..gitignore(#70): add.claude/alongside the existing.omc/entry. Per-user Claude Code agent-tool state shouldn't be staged by accidentalgit add ..
Test suite
173 / 172 pass / 1 skipped. Unchanged count (no source behavior changes apart from engines.node; test fixtures unaffected). CI green on Ubuntu and Windows runners (both on Node 22, satisfying the third clause of the new engines.node).
See merged PRs #67, #68, #69, #70, #71, #72, #73 for the full review history.