Skip to content

Releases: cortexkit/opencode-magic-context

v0.9.1

16 Apr 17:18

Choose a tag to compare

Fixes

  • Memory injection for new sessions — Memories and session facts are now injected into message[0] even when no compartments exist yet. Previously, brand-new sessions and existing projects where historian hadn't fired yet saw no <session-history> block at all, leaving agents without project memories until the first historian run. Now the block injects as soon as any memory or fact is available.

Notes

  • 7 new tests cover memory-only, facts-only, combined injection, cache transitions from empty-to-populated, and defer-pass replay — reviewed by Oracle for cache safety.

Install: bunx --bun @cortexkit/opencode-magic-context@latest setup · npx @cortexkit/opencode-magic-context@latest setup
Upgrade: bunx --bun @cortexkit/opencode-magic-context@latest doctor

v0.9.0

15 Apr 08:30

Choose a tag to compare

v0.9.0

Config Changes

  • compaction_markers promoted to stable top-level config — moved from experimental.compaction_markers to top-level compaction_markers, default true. Doctor auto-migrates old configs.
  • Pinned plugin versions respected — doctor now warns instead of auto-upgrading pinned versions (@0.8.12 etc). Use --force to explicitly upgrade.

CLI / Install

  • bunx --bun everywhere — install scripts, README, and help text now use bunx --bun to prevent bunx from delegating to system Node via the #!/usr/bin/env node shebang (fixes #18)
  • Node version guard — install scripts check for Node ≥ 20.12 before falling back to npx
  • min-release-age detection — doctor now warns when ~/.npmrc min-release-age or ~/.bunfig.toml minimumReleaseAge is set, which can prevent OpenCode from installing the latest plugin version

Bug Fixes

  • Key-file candidate filtering scoped to project directory
  • Dreamer session discovery uses stripped project identity for OpenCode DB queries

Dashboard dashboard-v0.2.7

15 Apr 08:41

Choose a tag to compare

Dashboard v0.2.7

  • Config editor updated for stable compaction_markers top-level setting (moved from experimental)
  • bunx --bun in all user-facing help text and toast messages

v0.8.12

14 Apr 07:27

Choose a tag to compare

Bug Fixes

  • Agent switching on ignored messagessendIgnoredMessage and promptAsync calls now preserve the session's active agent name instead of leaving it undefined, which caused OpenCode to default to the "build" agent and switch users away from their current agent (e.g., Prometheus/plan). Closes #15.

v0.8.11

13 Apr 17:39

Choose a tag to compare

v0.8.11

Bug Fixes

  • Custom provider model context limits broken — JSONC comment stripping regex was destroying URLs inside JSON string values (e.g. "$schema": "https://...") which silently broke OpenCode config parsing. Custom provider models with explicit context limits were never loaded, falling back to the 128K default. Replaced with a string-aware regex that preserves quoted content. (Closes #14)
  • Derived model IDs missing from context limit resolution — OpenCode creates model variants from experimental.modes in models.dev data (e.g. gpt-5.4 + modes.fastgpt-5.4-fast with serviceTier: "priority"). These derived IDs were not being expanded during context limit loading, causing them to fall back to 128K instead of inheriting the parent model's limit.
  • Pinned plugin versions not upgraded by doctor — If opencode.json or tui.json had a pinned version like @cortexkit/opencode-magic-context@0.7.4, both doctor and startup treated it as "already present" without upgrading to @latest. Since OpenCode resolves the lowest pinned version across configs, a stale tui.json entry could lock the entire plugin to an old version even after doctor --force. (Closes #13)
  • Release script used node instead of bun — Fixed scripts/release.sh to use bun for version sync.

v0.8.10

12 Apr 16:25

Choose a tag to compare

v0.8.10

Bug Fixes

  • Custom provider model context limits — Context limit resolution now reads custom model definitions from OpenCode's opencode.json(c) config in addition to the models.dev cache. Custom/proxy models like google/antigravity-claude-opus-4-6-thinking with explicit limit.context in the provider config were previously falling back to 128k default, causing incorrect pressure calculations and unnecessary compaction. OpenCode config entries override models.dev entries for the same provider/model key.

v0.8.9

12 Apr 16:21

Choose a tag to compare

v0.8.9

Bug Fixes

  • Windows dashboard "Database not found" — The dashboard was looking for context.db under %APPDATA% on Windows, but the plugin stores it at ~/.local/share on all platforms. Both resolve_db_path and resolve_opencode_db_path now use the same XDG_DATA_HOME or ~/.local/share path unconditionally. (Closes #10)
  • Windows embedding model failures — Set an explicit cacheDir for @huggingface/transformers at ~/.local/share/opencode/storage/plugin/magic-context/models/ instead of relying on the library's default .cache inside node_modules. The npm cached install path on Windows was often inaccessible, causing persistent "Unable to get model file path or buffer" failures. The new location is writable and survives plugin updates.

v0.8.8

12 Apr 13:46

Choose a tag to compare

v0.8.8

Improvements

  • Memory injection reranking — Injection priority now uses utility-class tiers instead of seen_count alone: memories the agent actually retrieved (tier 0) and constraint-guarding memories with "must"/"never"/"always" keywords (tier 1) are packed before generic memories. Within tiers, shorter memories are preferred so more fit in budget.
  • Smarter dreamer archive-stale — The dreamer archive task now uses structured archive/keep criteria validated through local experiments: CONSTRAINTS are nearly untouchable (archive only on exact word-for-word duplicates), KNOWN_ISSUES are never archived, and ARCHITECTURE_DECISIONS are archived only when they lack "because"/"to prevent"/"to avoid" rationale.
  • User profile dedup in dreamer — The archive-stale task now loads active user memories and includes them as context, so dreamer can correctly identify project memories that merely restate preferences already covered by the globally-injected user profile.

Dashboard dashboard-v0.2.6

12 Apr 19:42

Choose a tag to compare

Dashboard v0.2.6

Bug Fixes

  • Windows: "Database not found" — Dashboard was looking for context.db under %APPDATA% on Windows, but the plugin stores it at ~/.local/share on all platforms. Both database path resolvers now use XDG_DATA_HOME or ~/.local/share unconditionally, matching the plugin's behavior. (Closes #10)

v0.8.7

11 Apr 08:11

Choose a tag to compare

Bug Fixes

  • Anthropic redacted_thinking blocks preservedstripClearedReasoning no longer drops redacted_thinking blocks or thinking-type parts with undefined thinking/text fields, preventing Anthropic API rejection (thinking or redacted_thinking blocks in the latest assistant message cannot be modified). Fixes #8.
  • Embedding model retries transient load failures — ONNX runtime initialization races (e.g., Protobuf parsing failed) are now retried up to 3 times with jittered backoff. Non-transient errors still surface immediately.

New Features

  • doctor --issue — Generate a sanitized bug report with diagnostics (plugin/OpenCode versions, config paths, registration state, cache version, storage/log stats, conflicts, recent historian dumps, sanitized 200-line log tail). Submits via gh or falls back to a browser flow using the new GitHub issue template.

Thank you to community contributors

  • @tomolom:
    • fix: preserve redacted thinking blocks during reasoning cleanup (#9, fixes #8)

Full Changelog: v0.8.6...v0.8.7