You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Upgrade notes
Background LTM warm-up is enabled by default (#664, #671): server and
daemon startup now launches a best-effort, host-owned LTM warm-up task so
the usual ~9s child/model cold start is paid before the first surfacing
call. It never blocks the proxy MCP initialize handshake, and lazy start
remains the retry path after failure. Set MEMTOMEM_STM_SURFACING__WARMUP_ENABLED=false when spawning one LTM child
per proxy process is undesirable, such as with many short-lived proxies.
Added
Background LTM warm-up at server/daemon startup, controlled by the new surfacing.warmup_enabled setting (default: true). (#664, #671)
Durable surfacing fault counters (#666): timeout / breaker-open / degraded-LTM
skips now persist day-aggregated to surfacing_faults in the feedback DB,
and mms stats renders them with a warning line — previously these signals
lived only in per-process memory (stm_surfacing_stats), so a surfacing
pipeline dead on LTM timeouts for days looked merely quiet from the CLI.
Rows share the stats_retention_days sweep.
Security
Surfaced memory fields are now serialized as inert, single-line Markdown
data before injection. Control/bidi characters, HTML delimiters/entities,
Markdown delimiters, and Unicode compatibility confusables can no longer
create a second <surfaced-memories> boundary. Invalid memory ids omit only
the copyable id token; feedback for the surfacing remains available.
(GHSA-43hx-xm7w-3mhj)
LTM recovery is generation-aware and shares exactly one reconnect flight per
dirty session. Caller cancellation no longer aborts a reconnect for other
waiters, and cancellation during any post-reconnect retry dirties only that
new session generation.
(GHSA-72jh-722p-rqr3)
Raised runtime and optional-extra dependency floors to patched versions.
Locked runtime and extras audits are now blocking CI and release gates;
the full development closure remains advisory. (#673)