|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | + |
| 6 | +## [0.0.27] |
| 7 | + |
| 8 | +### Changed |
| 9 | + |
| 10 | +- Renamed "Ralph" to "Loop" across the entire codebase — types (`RalphState` → `LoopState`, `RalphConfig` → `LoopConfig`), services, hooks, filenames, KV keys (`ralph:` → `loop:`), CLI commands, and tests |
| 11 | +- Automatic KV key migration from `ralph:` to `loop:` prefixes on plugin startup |
| 12 | +- Config backward compatibility: accepts both `loop` and `ralph` keys (prefers `loop`) |
| 13 | + |
| 14 | +### Added |
| 15 | + |
| 16 | +- `stallTimeoutMs` option in default `config.jsonc` |
| 17 | +- Automatic session switch when Loop completes — navigates back to parent session without manual intervention |
| 18 | +- Memory curation delegation — architect agent can identify problematic memories and delegate fixes to @Librarian subagent during planning |
| 19 | + |
| 20 | +## [0.0.26] - 2026-03-27 |
| 21 | + |
| 22 | +### Fixed |
| 23 | + |
| 24 | +- Basic Auth handling in v2 client and CLI `status` command |
| 25 | +- `normalizeConfig` bug when processing plugin configuration |
| 26 | + |
| 27 | +## [0.0.25] - 2026-03-25 |
| 28 | + |
| 29 | +### Changed |
| 30 | + |
| 31 | +- Refactored Loop session tracking to use KV-backed worktree-keyed session mapping instead of sessionId lookups |
| 32 | +- Configurable KV TTL with 7-day default (was 24 hours) |
| 33 | + |
| 34 | +### Added |
| 35 | + |
| 36 | +- `--limit` flag to CLI `status` command |
| 37 | + |
| 38 | +### Fixed |
| 39 | + |
| 40 | +- Loop state type safety and null handling in status commands |
| 41 | + |
| 42 | +## [0.0.23] - 2026-03-24 |
| 43 | + |
| 44 | +### Added |
| 45 | + |
| 46 | +- CLI partial-match utility for fuzzy loop name lookup |
| 47 | +- Formatting helpers for consistent CLI output (`formatSessionOutput`, `formatAuditResult`) |
| 48 | +- Loop session rotation with watchdog-based stall detection and configurable `stallTimeoutMs` |
| 49 | +- Loop status dialog and session management improvements |
| 50 | + |
| 51 | +### Changed |
| 52 | + |
| 53 | +- Enhanced CLI `status`, `cancel`, and `list` commands with better UX |
| 54 | + |
| 55 | +## [0.0.22] - 2026-03-22 |
| 56 | + |
| 57 | +### Changed |
| 58 | + |
| 59 | +- Removed parent session notification and child session tracking from Loop (sending `promptAsync` to parent sessions on completion could resume previously inactive sessions) |
| 60 | +- Simplified Loop event handling by removing child session maps and parent activity recording |
| 61 | + |
| 62 | +## [0.0.20] - 2026-03-20 |
| 63 | + |
| 64 | +### Added |
| 65 | + |
| 66 | +- Loop system (`memory-loop`) — iterative development loops with git worktree isolation, automatic session rotation, and optional code auditing between iterations |
| 67 | +- `memory-loop-cancel` and `memory-loop-status` tools for managing active loops |
| 68 | +- Plan approval interception via `question` tool results — architect agent plans can be approved and dispatched without manual copy-paste |
| 69 | +- `memory-plan-execute` `inPlace` parameter for executing plans in the current session directory |
| 70 | +- Promise tag stripping utility for cleaning LLM output |
| 71 | +- Model fallback utility (`retryWithModelFallback`) for API resilience |
| 72 | +- CLI `cancel` and `status` commands for loop management |
| 73 | +- Loop service with KV-backed state persistence, stall detection watchdog, and automatic worktree cleanup |
| 74 | +- Comprehensive test suites: plan approval, loop lifecycle, tool blocking, promise tag stripping |
| 75 | + |
| 76 | +### Changed |
| 77 | + |
| 78 | +- Migrated plugin config from JSON to JSONC format (`config.json` → `config.jsonc`) |
| 79 | +- Upgraded `@opencode-ai/sdk` dependency and introduced v2 client for session/worktree APIs |
| 80 | +- Agent prompts updated with shared prompt utilities |
| 81 | + |
| 82 | +## [0.0.18] - 2026-03-08 |
| 83 | + |
| 84 | +### Added |
| 85 | + |
| 86 | +- `memory-health` upgrade action with npm version check and 1-hour cache |
| 87 | +- CLI `upgrade` command for self-updating the plugin |
| 88 | +- `memory-kv-delete` tool for removing KV entries |
| 89 | + |
| 90 | +### Changed |
| 91 | + |
| 92 | +- Renamed agent files to lowercase conventions (`code-review.ts` → `auditor.ts`, `memory.ts` → `librarian.ts`) |
| 93 | +- Simplified KV service lifecycle management |
| 94 | +- Added memory curation guideline to architect agent prompt |
| 95 | + |
| 96 | +## [0.0.16] - 2026-03-07 |
| 97 | + |
| 98 | +### Added |
| 99 | + |
| 100 | +- Project KV store for ephemeral project state with TTL management |
| 101 | +- `memory-kv-set`, `memory-kv-get`, `memory-kv-list` tools for managing project state |
| 102 | +- Automatic cleanup of expired KV entries (30-minute interval) |
| 103 | +- Default 24-hour TTL for KV entries |
| 104 | + |
| 105 | +### Fixed |
| 106 | + |
| 107 | +- KV `list()` method now handles malformed JSON data gracefully instead of throwing, consistent with `get()` behavior |
| 108 | + |
| 109 | +## [0.0.12] - 2026-03-05 |
| 110 | + |
| 111 | +### Added |
| 112 | + |
| 113 | +- `experimental.chat.messages.transform` hook: automatically injects project conventions and decisions into system prompts for every LLM call, with configurable token budget and caching |
| 114 | +- Skill tool awareness in code and architect agent prompts |
| 115 | +- `plan_enter` permission on code agent for switching to architect mode |
| 116 | +- `memory-edit` documentation in Librarian agent's tool list |
| 117 | +- Agent name logging in all tool handlers via new ToolContext.agent field |
| 118 | + |
| 119 | +### Changed |
| 120 | + |
| 121 | +- Upgraded `@opencode-ai/plugin` from ^1.2.9 to ^1.2.16 |
| 122 | +- Renamed deprecated `maxSteps` to `steps` in AgentDefinition and AgentConfig types |
| 123 | + |
| 124 | +### Fixed |
| 125 | + |
| 126 | +- Librarian agent tool documentation now lists all 7 available tools (was missing memory-edit) |
| 127 | + |
| 128 | +## [0.0.9] - 2026-02-27 |
| 129 | + |
| 130 | +### Added |
| 131 | + |
| 132 | +- `experimental.chat.messages.transform` hook that injects read-only enforcement reminder into architect agent sessions, preventing file edits and non-readonly tool usage at the message level |
| 133 | +- auditor agent (`ocm-auditor`) — read-only subagent for convention-aware code reviews with memory integration, invoked via Task tool |
| 134 | +- `/review` command that triggers the auditor agent to review current changes |
| 135 | + |
| 136 | +### Changed |
| 137 | + |
| 138 | +- Restricted `memory-planning-update` and `memory-planning-search` tools to librarian subagent only — code and architect agents now delegate planning operations via @librarian Task tool |
| 139 | +- Overhauled code and architect agent system prompts with tone/style guidelines, tool usage policies, task management instructions, and planning state delegation patterns |
| 140 | +- `memory-plan-execute` now accepts optional `objective`, `phases`, and `findings` parameters and saves planning state inline before dispatching the plan, eliminating the need for a separate `memory-planning-update` call |
| 141 | +- Planning instruction appended to dispatched plans now directs code agent to delegate planning updates to @librarian subagent |
| 142 | +- Updated librarian agent description to include planning state and session progress management |
| 143 | +- Updated auditor agent description to accurately reflect its capabilities |
| 144 | + |
| 145 | +## [0.0.6] - 2026-02-24 |
| 146 | + |
| 147 | +### Added |
| 148 | + |
| 149 | +- Core memory tools: `memory-read`, `memory-write`, `memory-edit`, `memory-delete`, `memory-health` |
| 150 | +- Planning state tools: `memory-planning-update` and `memory-planning-get` for tracking session objectives, phases, findings, and errors |
| 151 | +- `memory-plan-execute` tool for creating new Code sessions with approved implementation plans |
| 152 | +- Three embedding providers: local (`all-MiniLM-L6-v2`), OpenAI (`text-embedding-3-small/large`, `ada-002`), and Voyage (`voyage-code-3`, `voyage-2`) |
| 153 | +- Bundled code agent (`ocm-code`) with memory-aware coding workflows |
| 154 | +- Bundled architect agent (`ocm-architect`) for read-only planning with automatic plan handoff |
| 155 | +- Bundled librarian agent (`ocm-librarian`) for expert knowledge curation and post-compaction extraction |
| 156 | +- Compaction context injection with custom prompt, planning state, conventions, and decisions |
| 157 | +- Configurable compaction settings: custom prompt, inline planning, token budget, snapshot storage |
| 158 | +- CLI export/import for backing up and migrating memories as JSON or Markdown |
| 159 | +- Embedding cache with SHA-256 keying and 24-hour TTL |
| 160 | +- Embedding sync service with batch processing and retry logic |
| 161 | +- Session state KV store with TTL management (7-day planning, 24-hour snapshots) |
| 162 | +- Automatic deduplication via exact match and semantic similarity detection |
| 163 | +- Dimension mismatch detection on startup with guided recovery via reindex |
| 164 | +- Build-time version injection displayed in `memory-health` output |
| 165 | +- Automatic model download via `postinstall` script |
| 166 | +- Auto-copy of bundled config on first run |
| 167 | +- SQLite storage with `sqlite-vec` for vector similarity search |
0 commit comments