v2.0.1
What's Changed
Patch release: duck-tape opencode plugin hook hardening.
Fixed
- Path traversal in
opencode.plugin.js— strictsessionIdcharset validation (alphanumeric + hyphen, max 128 chars) before filename construction. Prevents../-style traversal attacks on state file paths. - Windows filename safety — stamp format changed from
HH:MMtoHHMM(colon stripped), matching skill's<YYYY-MM-DD-HHMM>session ID format. Colons invalid in Windows filenames. - Rotation off-by-one — cap now enforces 10 total state files (was allowing 11). Eviction precedence: auto, then recovered, then manual.
- Rotation comment aligned with actual behavior.
- Tests added —
sessionIdtraversal guard, extraction edge cases (<-prefixed user text skip, multipleDECISION_PATTERNvariants,lastTextassignment, null-info guards).
Changed
[Unreleased]entries folded into v2.0.0 (changelog hygiene).
Full Changelog: v2.0.0...v2.0.1