Skip to content

v0.48.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 05:56
· 1273 commits to master since this release

v0.48.0

This release reduces pauses in large sessions and fixes turns that could get stuck on OpenCode, Pi and Oh My Pi. It adds a switch for smart notes, extends the stall profiler to Pi and Oh My Pi, and updates the dashboard and doctor. There is no database migration.

Upgrading

  • No migration. context.db stays at schema 95. Restart OpenCode 1, OpenCode 2, Pi or Oh My Pi after updating.
  • OpenCode 2 needs an explicit plugin update. Use /plugins and ctrl+u, or opencode plugin update; refreshing the plugin list does not install updates. Details.
  • Rust transform mode: update ck-mc too, then restart the host and module.
  • mural.model is deprecated and ignored, including experimental.mural.model. Use dreamer.<harness>.tasks.compress-cues.model, where <harness> is opencode, pi or omp. Details.
  • Changing smart_notes.enabled requires a restart. Set it only in user config, not project config. The default remains true. Details.
  • Dashboard changes require an updated dashboard build. The desktop app has its own releases.

New

  • Smart notes can be disabled: smart_notes.enabled: false stops condition-based authoring and evaluation. Ordinary notes and already-ready notes remain available. Details.
  • Pi and Oh My Pi: the optional host stall profiler records stalls while <storage>/host-profiler/enable exists; remove it to stop. Details.
  • OpenCode 2: experimental transcript compaction reduces long-session delays without changing model requests. Off by default; launch with MC_OC2_INVISIBLE_FOLD=1 (#632, thanks @moynzzz). Details.
  • magic-context doctor --verbose prints the full dangling-compartment listing. Ordinary output shows counts and up to ten examples.
  • Dashboard: edit protected_tools as named rows with defaults and inline validation, instead of editing a JSON field.

Changed

  • compress-cues inherits the current host's dreamer model by default, with an override in that host's task settings. The dashboard removes mural.model.
  • Magic Context no longer refuses turns because another machine claims the checkout; the per-turn check is removed and MC-C16 is retired.

Performance

  • OpenCode 1 and 2: less waiting while counting history and checking reasoning in large sessions, including the first turn after a restart.
  • OpenCode 1 and 2: fewer UI stalls during ctx_search message-history searches and search-index updates.
  • OpenCode 1 and 2: history counts remain available as new messages arrive, avoiding repeated warm-up delays in long sessions.
  • Pi and Oh My Pi: faster turn preparation and old-reasoning cleanup in long sessions.

Dashboard

  • Historian rows show the provider and fallback attempts, and errors appear as a red icon with details on hover instead of widening the table.
  • Pi session pages show compartment dates. Session headers and background-model tabs are aligned more consistently.
  • Model discovery uses a corner notification, so loading OpenCode models no longer moves the configuration page around.

Fixed

OpenCode 1

  • Saving the last good request no longer freezes OpenCode on large tool metadata the model never sees (#653, thanks @maxbrunet).
  • Startup fallback respects OPENCODE_DISABLE_PROJECT_CONFIG, instead of disabling Magic Context because of native-compaction settings in an ignored project config.

OpenCode 2

  • Anthropic requests no longer contain empty text left by context cleanup, preventing repeated HTTP 400 errors; prompt-cache hints are preserved (#662, thanks @moynzzz).
  • /ctx-* commands appear once in the command palette, and status, progress and completion feedback are restored (#661, thanks @JKratto).

Pi

  • Other extensions' system-prompt sections reach the model, even when those extensions load after Magic Context (#648, #649, thanks @st0nie).
  • Pi/Oh My Pi: conflicting @msg and @tool references no longer permanently block a session as “storage busy” (#650, thanks @bin115885).
  • Pi/Oh My Pi: the historian can continue after early session entries go missing, provided saved history identifies the remaining messages.
  • Pi/Oh My Pi: ctx_expand reports “no longer in history” for messages the host no longer retains.
  • Pi/Oh My Pi: /ctx-wrapup no longer leaves a resolvable compaction marker waiting indefinitely (#652, marker anchoring only, thanks @acamq).
  • Pi/Oh My Pi: auto-search skips system notices and steer messages, rather than treating them as new user requests.
  • Node's SQLite experimental warning no longer repeats at startup or in child sessions; other warnings remain visible (#651, thanks @Zzz210s).
  • Pi/Oh My Pi: configured background models are not reported disabled before discovery finishes, including during session or project changes (#656, #658, thanks @randomvariable).

Oh My Pi

  • Compiled Oh My Pi: dreamer loads the host session API, and token counting finds plugin-installed dependencies (#655, #657, thanks @randomvariable).
  • Old messages can still be removed after Oh My Pi compacts its transcript, preventing long sessions from exceeding the context window again.
  • Delayed turn starts no longer cause false “missing managed context receipt” refusals, and advisor reviews can run (#663, thanks @Qiiks).

CLI and doctor

  • Hosts without a Magic Context registration show INFO rather than FAIL; doctor --force does not install Magic Context there.
  • Doctor ignores unused cached plugin copies when checking active installations, reports them as INFO and leaves them untouched.

Shared fixes

  • OpenCode 1 and 2: historian scheduling recovers after history-index updates, instead of silently staying idle.
  • Dreamer keeps checking a memory batch when one proposed edit duplicates another memory, instead of failing the batch, in TypeScript and Rust modes.
  • Recovery from a busy database no longer fails when a fresh memory mural is needed on OpenCode, Pi or Oh My Pi.
  • Closing a Bun SQLite connection releases its database locks, even after its statements have been garbage-collected.

Security

  • Dashboard: TLS dependencies are updated to rustls 0.23.45 and rustls-webpki 0.103.15.