chore(release): v0.9.24 — --version flag + iii hard-pin enforcement#719
Conversation
…ement Two bugs surfaced in the first hour after v0.9.23 hit npm: 1. `agentmemory --version` silently launched the server instead of printing the version. `-v` was reserved by --verbose and no --version literal was handled — fell through to default `start`. Now --version (and -V capital, POSIX) prints VERSION + exits 0 before any side effects. 2. iii-engine version pin was warn-only. When the engine on PATH didn't match agentmemory's pinned v0.11.2, the worker still booted against the mismatched engine and crashed at runtime with state::list not found (v0.13.0) or sandbox traps (v0.11.6). warnIfEngineVersionMismatch renamed to enforceEngineVersionPin and now p.log.errors + process.exit(1). AGENTMEMORY_III_VERSION override unchanged.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (11)
📝 WalkthroughWalkthroughThis PR releases version 0.9.24 with two hotfixes: CLI ChangesRelease 0.9.24 and CLI improvements
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
Hotfix on v0.9.23. Two bugs surfaced an hour after release:
Bug 1:
agentmemory --versionlaunches serversrc/cli.ts:50-54reserves-vfor--verbose. No--versionliteral was checked. Fell through to defaultstartcommand — user ranagentmemory --versionand got the full engine boot output.Fix: explicit
args.includes("--version") || args.includes("-V")check at the top ofcli.ts(before any env load, dir mkdir, or engine boot). PrintsVERSION+process.exit(0).-Vcapital reserved per POSIX since-vis taken.Bug 2: iii-engine pin was warn-only
warnIfEngineVersionMismatch(the function name signals it) logged a warning but let the worker boot against a mismatched engine. Runtime crash:state::list not foundon iii v0.13.0+ (function removed/renamed), sandbox-everything trap on v0.11.6+ (per theIIPINNED_VERSIONcomment at line 64-74).Fix: renamed to
enforceEngineVersionPin. On mismatch:p.log.error(...)+process.exit(1). Override envAGENTMEMORY_III_VERSIONunchanged — it redefinesIIPINNED_VERSIONupstream at line 75, so the comparison passes when a user knowingly opts into a different engine.Validated
node dist/cli.mjs --version→0.9.24+ exit 0node dist/cli.mjs -V→0.9.24+ exit 0npm run buildcleannpx vitest run— 1291 pass (integration always-failing local, pre-existing)Version bumps (9 files)
package.json,packages/mcp/package.json,plugin/.claude-plugin/plugin.json,plugin/plugin.json,plugin/.codex-plugin/plugin.json,src/version.ts,src/types.ts(ExportData union),src/functions/export-import.ts(supportedVersions Set),test/export-import.test.ts(assertion). CHANGELOG entry added.Next after merge
git tag -a v0.9.24 <merge-sha>+git push origin v0.9.24gh release create v0.9.24 --notes-file <changelog>npm publish(CI publish still blocked on Trusted Publisher setup — separate issue)Summary by CodeRabbit
--versionand added-Vflag to correctly print version and exit cleanly