Repository navigation
v0.48.0
·
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.dbstays at schema 95. Restart OpenCode 1, OpenCode 2, Pi or Oh My Pi after updating. - OpenCode 2 needs an explicit plugin update. Use
/pluginsand ctrl+u, oropencode plugin update; refreshing the plugin list does not install updates. Details. - Rust transform mode: update
ck-mctoo, then restart the host and module. mural.modelis deprecated and ignored, includingexperimental.mural.model. Usedreamer.<harness>.tasks.compress-cues.model, where<harness>isopencode,pioromp. Details.- Changing
smart_notes.enabledrequires a restart. Set it only in user config, not project config. The default remainstrue. Details. - Dashboard changes require an updated dashboard build. The desktop app has its own releases.
New
- Smart notes can be disabled:
smart_notes.enabled: falsestops 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/enableexists; 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 --verboseprints the full dangling-compartment listing. Ordinary output shows counts and up to ten examples.- Dashboard: edit
protected_toolsas named rows with defaults and inline validation, instead of editing a JSON field.
Changed
compress-cuesinherits the current host's dreamer model by default, with an override in that host's task settings. The dashboard removesmural.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_searchmessage-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
@msgand@toolreferences 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_expandreports “no longer in history” for messages the host no longer retains. - Pi/Oh My Pi:
/ctx-wrapupno 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 --forcedoes 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.