release: v0.1.25 — mm status CLI + lazy app_lifespan + idle-handshake cleanup#426
Merged
release: v0.1.25 — mm status CLI + lazy app_lifespan + idle-handshake cleanup#426
Conversation
… cleanup Feature + UX release. Twenty-two commits since v0.1.24. Headline items: - feat(cli): mm status mirrors the MCP mem_status tool (#382). - feat(server): lazy app_lifespan, MCP handshake no longer creates ~/.memtomem/memtomem.db or ~/.memtomem/.server.pid — DB opens on first tool call, pid file lives at $XDG_RUNTIME_DIR/memtomem/ (#399, #411, #412). - fix(init): step_header, back-nav through silent step, preset-picker back-nav, and default-interactive flag-precedence bugs (#420, #421, #371). - fix(server): serverInfo.version reports memtomem version, not MCP SDK (#383). - fix(server): mem_embedding_reset revert_to_stored no longer raises on AppContext properties (#409). - fix(init): -y refuses to write config.json when required extras are missing (#396, #402). - docs(troubleshoot): drop the misleading memtomem-server TTY verify command in favour of side-effect-free checks (#398). See CHANGELOG.md [0.1.25] for full notes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Owner
|
Approve |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Feature + UX release bundling the 22 commits merged to
mainsince v0.1.24. Feature PRs already landed separately; this PR carries the version bump,CHANGELOG.mdrename from[Unreleased]→[0.1.25], and the matchinguv.lockworkspace-package version sync.Highlights
mm statusCLI (CLI: addmm statusto mirror the MCPmem_statustool (no CLI equivalent today) #382) — terminal mirror of the MCPmem_statustool, closing the post-install-verification gap the README had asked users to run through an editor.app_lifespan(Lazy DB init: defer ~/.memtomem/memtomem.db creation until first tool call #399 phases 1–3, feat(server): lazy app_lifespan + ensure_initialized owns background loops (#399 phase 3) #411, server: relocate.server.pidto $XDG_RUNTIME_DIR so~/.memtomem/stays lazy #412) — MCP handshake no longer creates~/.memtomem/memtomem.dbor.server.pid. DB opens on the first tool call, and the pid file lives under$XDG_RUNTIME_DIR/memtomem/(or$TMPDIR/memtomem-$UID/on macOS). An idle client leaves~/.memtomem/untouched. Two accepted trade-offs are documented in CHANGELOG: the degraded-mode embedding-mismatch warning moves from boot stderr to the first tool call, and background schedulers start on first use instead of lifespan handshake.mm initback-nav + flag-precedence fixes (mm init: "b" does not work at step 3 (Memory Directory) #371, init:step_header(N, ...)hardcodes step number — preset flows show misleading positions #420, init wizard:bat_step_mcpsilently re-runs_step_provider_dirs_autoinstead of reaching a real prompt #421) — step headers now report the actual flow position (not a hardcoded number correct only for--advanced), "b" through silent steps reaches the previous interactive step, preset-picker "b" works, and--memory-dirwins over prompts in the default interactive path.serverInfo.versionpin (MCPserverInfo.versionreports SDK version (1.27.0) instead ofmm --version(0.1.23) #383) —initializeresponse now reports the memtomem version instead of the MCP SDK version.mem_embedding_reset(mode="revert_to_stored")fix (bug(server):_revert_to_storedwrites to read-only AppContext properties (#399 phase 1 regression) #409) — recovery path no longer raisesAttributeErroronAppContextproperties (regression from Lazy DB init: defer ~/.memtomem/memtomem.db creation until first tool call #399 Phase 1's property introduction).mm init -yextras check (mm init: -y (non-interactive) accepts provider/tokenizer choices without checking required extras #396, fix(init): -y refuses to write config for missing required extras (closes #396) #402) — refuses to writeconfig.jsonwhen the requested provider/tokenizer extras aren't importable, with an actionable error that collapses to amemtomem[all]hint when all four are missing.memtomem-serververify command #398, closes docs:uvx --from memtomem memtomem-serververify command is misleading and has hidden side effect #381) —docs/guides/getting-started.mdanddocs/guides/mcp-clients.mddrop the misleadinguvx --from memtomem memtomem-serverTTY verify command in favour of side-effect-freemm --version+mem_statuschecks.Plus the usual minor fixes: uninstall DB-writer liveness probe (#397), SIGTERM pid cleanup (#387), wizard openai probe (#407), install-path docs flip to
memtomem[all]as primary (#395), PyPI-cache-lag--refreshhint (#393),uv tool update-shellhint (#394).Release plan
packages/memtomem/pyproject.toml0.1.24 → 0.1.25uv.lockworkspace[[package]]version updated (manual edit;uv sync --frozenconfirms the lockfile still validates)CHANGELOG.md[Unreleased]→[0.1.25] — 2026-04-23, fresh[Unreleased]scaffold restoreduv run ruff check packages/memtomem/src packages/memtomem/tests tools— cleanuv run ruff format --check ...— 309 files already formatteduv run pytest -m "not ollama"— 2240 passed, 46 deselecteduv run mm --versionreportsmemtomem 0.1.25test-v0.1.25tag → TestPyPI dry-run → fresh-install verify (empty-HOMEmm statussmoke for the lazy-handshake invariant)v0.1.25tag → OIDC trusted publisher uploads to PyPI → approvepypienvironmentgh release create v0.1.25 --latestwith notes sourced fromCHANGELOG.md[0.1.25]🤖 Generated with Claude Code