v0.38.1
·
824 commits
to master
since this release
v0.38.1
Patch release: community-reported fixes and hardening from the post-0.38.0 issue sweep. Special thanks to iceteaSA, coleleavitt, Qiiks, and pejc for high-quality reports — and to coleleavitt for four changes extracted from their PRs (#337, #338), landed as co-authored commits.
Fixes
- Historian child sessions are no longer deleted immediately at publish; they are retired through the age-gated orphan sweep, which now also runs with the dreamer disabled. This removes foreign-key errors from late OpenCode part writes. (#336)
- The orphaned-session sweep now covers every session-scoped table via the same shared list
clearSession()uses, with a schema-derived lockstep test so future tables cannot silently miss. Previously only the message index had a backstop. (#346) - Shared model references translate between
opencodeandopencode-zenprovider prefixes on OMP. (#344) - Historian retention timers derive from the normalized fallback chain instead of the raw config count. (from PR #337)
- Completed native Task calls with an empty result are surfaced to the caller instead of silently passing. (#270 diagnostics, from PR #337)
- The reserved
"user"memory source type is documented in code and guarded: agent write paths cannot mint user-originated memories. (#334)
Observability
transform_decisionsrecords the compared hash/model-key operands behind each materialization reason (schema v79), so cache-bust forensics no longer require a source read. (#348)- Bun's test timeout is raised above SQLite's busy_timeout so lock errors surface as lock errors. (from PR #338)
Documentation
cache_ttlwording no longer implies control over the provider's cache lifetime: it is Magic Context's own assumption window gating mutation deferral. All surfaces updated. (#347)