Releases: cortexkit/opencode-magic-context
Releases · cortexkit/opencode-magic-context
v0.9.1
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
v0.9.0
Config Changes
compaction_markerspromoted to stable top-level config — moved fromexperimental.compaction_markersto top-levelcompaction_markers, defaulttrue. Doctor auto-migrates old configs.- Pinned plugin versions respected — doctor now warns instead of auto-upgrading pinned versions (
@0.8.12etc). Use--forceto explicitly upgrade.
CLI / Install
bunx --buneverywhere — install scripts, README, and help text now usebunx --bunto prevent bunx from delegating to system Node via the#!/usr/bin/env nodeshebang (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
~/.npmrcmin-release-ageor~/.bunfig.tomlminimumReleaseAgeis 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
Dashboard v0.2.7
- Config editor updated for stable
compaction_markerstop-level setting (moved from experimental) bunx --bunin all user-facing help text and toast messages
v0.8.12
Bug Fixes
- Agent switching on ignored messages —
sendIgnoredMessageandpromptAsynccalls 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
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.modesin models.dev data (e.g.gpt-5.4+modes.fast→gpt-5.4-fastwithserviceTier: "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.jsonortui.jsonhad a pinned version like@cortexkit/opencode-magic-context@0.7.4, bothdoctorand startup treated it as "already present" without upgrading to@latest. Since OpenCode resolves the lowest pinned version across configs, a staletui.jsonentry could lock the entire plugin to an old version even afterdoctor --force. (Closes #13) - Release script used
nodeinstead ofbun— Fixedscripts/release.shto usebunfor version sync.
v0.8.10
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 themodels.devcache. Custom/proxy models likegoogle/antigravity-claude-opus-4-6-thinkingwith explicitlimit.contextin 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
v0.8.9
Bug Fixes
- Windows dashboard "Database not found" — The dashboard was looking for
context.dbunder%APPDATA%on Windows, but the plugin stores it at~/.local/shareon all platforms. Bothresolve_db_pathandresolve_opencode_db_pathnow use the sameXDG_DATA_HOMEor~/.local/sharepath unconditionally. (Closes #10) - Windows embedding model failures — Set an explicit
cacheDirfor@huggingface/transformersat~/.local/share/opencode/storage/plugin/magic-context/models/instead of relying on the library's default.cacheinsidenode_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
v0.8.8
Improvements
- Memory injection reranking — Injection priority now uses utility-class tiers instead of
seen_countalone: 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
Dashboard v0.2.6
Bug Fixes
- Windows: "Database not found" — Dashboard was looking for
context.dbunder%APPDATA%on Windows, but the plugin stores it at~/.local/shareon all platforms. Both database path resolvers now useXDG_DATA_HOMEor~/.local/shareunconditionally, matching the plugin's behavior. (Closes #10)
v0.8.7
Bug Fixes
- Anthropic
redacted_thinkingblocks preserved —stripClearedReasoningno longer dropsredacted_thinkingblocks or thinking-type parts with undefinedthinking/textfields, 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 viaghor falls back to a browser flow using the new GitHub issue template.
Thank you to community contributors
Full Changelog: v0.8.6...v0.8.7