Skip to content

v0.38.1

Choose a tag to compare

@github-actions github-actions released this 21 Aug 07:02
· 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 opencode and opencode-zen provider 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_decisions records 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_ttl wording 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)

Tests

  • Two CI-timing defects fixed: the embedding-measurement cap test uses an injectable cap boundary; the boot-quiet rebuild test waits for observable state instead of wall-clock. (#330, #333)
  • TUI runtime-specifier imports warm @opentui/core first, avoiding a TDZ race. (from PR #338)