Skip to content

v0.33.0

Choose a tag to compare

@github-actions github-actions released this 24 Jul 19:24
· 1295 commits to master since this release

Magic Context v0.33.0

Memory Mural (new)

Your project's memory pool now renders into a compact image — the mural — injected alongside the text memories. Memories that don't fit the text budget are no longer invisible: they're compressed into short cues and packed into a single PNG that costs a fraction of the tokens the same content would as text (a typical wall carries 300+ memories for ~450 image tokens).

  • Deterministic: selection and layout are algorithms, not LLM calls — renders happen instantly at natural history folds.
  • A daily compress-cues dreamer task compresses each memory into its cue once; new memories trickle in.
  • Vision-gated: only injected when the active model supports images (checked per model, fail-closed).
  • Opt-in: experimental.mural.enabled: true. Works on OpenCode and Pi.

Faster Pi startup (#242)

The plugin bundle no longer parses its embedded QuickJS sandbox at import time. The entry shrank 8.3MB → 1.25MB and module import dropped to ~150ms (from multiple seconds on cold starts). Historian/dreamer subagent spawns get the same speedup.

Reliability fixes

  • Pi subagents no longer fail silently with certain user extensions (#238): a child that exits cleanly but produces no output now triggers an automatic isolated retry, instead of burning every fallback model.
  • Pi subagents work with direct-API OpenAI keys (#237): provider translation now retries the untranslated form when openai-codex has no key.
  • TUI survives plugin auto-updates (#236): updates now rewrite the plugin spec to an exact version in both server and TUI configs, and never touch the active install directory mid-session.
  • Subagent extension allowlist (#235): pi.subagent_extensions (user config only) restricts which extensions load into subagent children.
  • Tool auto-reclaim is now pressure-gated (#239): the age-based sweep only runs when context pressure actually crossed the execute threshold, never on unrelated folds, and skips tool outputs under 250 tokens and the newest todo state.
  • No synthetic todos for disabled todowrite: sessions whose OpenCode config removes the todowrite tool no longer receive Magic Context's synthetic todo-state pairs.
  • Threshold clamp visibility (#241): when execute_threshold_tokens exceeds 80% of the active model's context window, /ctx-status and the sidebar now say so explicitly instead of silently clamping.

Performance

A multi-night audit pass across the transform pipeline landed dozens of fixes, including: warm-pass historian trigger cost down 220× (2.4s → 10ms on large sessions), tag scans cached with automatic invalidation (300× on warm passes), message-index and marker-reconciler hot paths tightened, and FTS index rows for deleted sessions now swept (privacy + size).

Storage

This release carries schema migrations v54–v68 (applied automatically). Both OpenCode and Pi plugins must be updated together — older plugin versions refuse a newer database rather than risk corruption.

Internal

Groundwork for the Rust transform engine continues behind the scenes (not user-facing in this release).