v0.9.12
Highlights
- Converged the plugin store and the MCP OAuth credential store on the repo's shared atomic-write semantics: unique temp file names, fsync before rename, Windows pre-unlink of held targets, and temp-file cleanup on failure.
writeInstalled(plugin store) previously used a fixed.tmpname with no fsync and could leave orphaned temp files behind on failure; it now routes through the sharedatomicWrite.- The MCP OAuth store keeps its synchronous API and 0600 file permissions (tokens stay unreadable to other local users) while gaining the same Windows replace behavior as every other atomic write in the repo.
Docs
- Rewrote the README in maintainer voice.
Verification
- Local suite: 4,940 tests passed, with 41 skipped and 2 todo.
- Typecheck, lint, package lint, Sherif checks, and the full build passed.
- Dual-platform CI (Windows + Ubuntu) green on PR #15; the replace-in-place paths were exercised natively on Windows.
- The npm package
@liumir/lmcode@0.9.12was verified from the public registry (latestdist-tag).
Full Changelog: v0.9.11...v0.9.12