Repository navigation
Releases
Releases · knewstimek/RepoPlane
RepoPlane v1.2.6
RepoPlane v1.2.6
Upgrade notes
- Reconnect MCP after replacing the executable. Existing databases need no migration.
- Open existing workspaces once before moving them. Move the ignored
.repoplane/workspace-id
with the directory, retain the original state directory, and update the workspace path.
Legacy workspaces moved before their first upgraded startup can use--workspace-origin
once with the former canonical absolute path. Normal later moves need no origin option. - Memo and checkpoint updates now preserve omitted fields. Supply
id,expected_revision,
and only the changed fields; explicit empty optional strings and arrays clear those values.
Added
- Pin legacy workspace IDs in private
.repoplane/workspace-idfiles so directory moves keep
memos, checkpoints, and other records with the same state directory, without rewriting records. - Add one-time
--workspace-originadoption for legacy directories moved before upgrading.
Conflicting or corrupt saved IDs fail closed; MCP discovery explains continuity and recovery.
Fixed
- Failed service initialization no longer pins a workspace ID before legacy adoption can be
retried. Publish complete, synced IDs without overwriting another opener's identity, and
reject oversized or damaged files rather than accepting truncated content. - Legacy adoption resolves existing parent aliases even when the old workspace has moved,
keeping Windows short paths and junctions in the original canonical record namespace. - Content-only memo edits inherit memo kind and topic identity. Updates preserve discovery
metadata, temporal evidence, evidence refs, and successor links instead of dropping them. - Invalid memo transitions name the affected field and explain recovery. Ordinary update errors
must not be bypassed by retiring or superseding the record; successor creation remains the
explicit path for intentional identity, kind, or schema changes. - Source-list replacement rejects omitted values. An explicit empty array remains the way to
clear a list. - Align README usage, CLI help, both MCP tool surfaces, and repo-memory recovery instructions
with workspace continuity and partial updates.
RepoPlane v1.2.5
RepoPlane v1.2.5
Upgrade notes
- Reconnect MCP after replacing the executable. No configuration or database change is
required. Catalog search snapshots created by older versions are not reused.
Fixed
memo_writenow publishesmemo_kindas an enum and reports an invalid or missing kind as
memo_kind must be decision, failed_attempt, resolved_failure, limitation, or host_fact;
missing content is reported separately ascontent is required. Previously both cases
returnedmemo_kind, content required, even when a kind had been supplied.catalog_querysearch treats-,_,., and/in IDs and search text as equivalent, so a
file-name spelling such asexample-smoke-checkfinds the catalog IDexample.smoke.check
(including asexact_id).
RepoPlane v1.2.4
RepoPlane v1.2.4
Upgrade notes
- Reconnect MCP after replacing the executable. The cache database switches to SQLite WAL on
its next open, so-waland-shmfiles appear beside it in the state directory. If an older
server process still holds the database, the switch is retried on a later open. No
configuration change is required, and the records database is unchanged.
Fixed
- Local stdio now keeps MCP connected when private state overlaps the workspace. Tools report
workspace_state_overlapwith recovery instructions instead of failing the handshake;
runtime_configexposes blocked status and can activate tools on the same connection by
selecting a safe workspace or state directory. No database or repository service opens while
blocked. HTTP startup and rejection of unsafe changes to an active server remain unchanged. - Repeated
catalog_querylist,search, orauditcalls against an unchanged catalog now
reuse the live result snapshot instead of rescanning and rewriting every match each time. A
snapshot is reused only within the same catalog generation and while at least 15 minutes of
cursor lifetime remain. Responses, paging, and cursors are unchanged. catalog_queryagainst an unchanged catalog no longer fails withdeadline_exceededwhile
another server process writes to the shared state. Catalog refresh no longer takes the write
lock when there is nothing to prune, and WAL lets reads proceed during another process's write.deadline_exceededfailures are now logged on stderr with their correlation ID and the step
that ran out of time, likestorage_failureandinternal_error. Client responses are
unchanged.- A state directory inside the workspace is now rejected before it is created when it is spelled
through a path alias, such as a Windows 8.3 short name. Previously the overlap was still
rejected, but an empty state directory could be left inside the workspace.
RepoPlane v1.2.3
RepoPlane v1.2.3
Fixed
- Local stdio
runtime_configchanges apply directly without a second server approval prompt,
preventing unattended MCP clients from stopping until a person responds. Typed and toolbox
discovery advertise this behavior; no new enable flag is required. Input/path validation,
atomic service replacement, active Runner/snapshot checks, and the HTTP restriction remain.
RepoPlane v1.2.2
RepoPlane v1.2.2
Upgrade notes
- Default MCP responses remain in
compatiblemode for text-only clients. Hosts that consume
structuredContentcan add--result-content=deduplicatedto the existing server arguments,
then reconnect MCP. Ordinary tool calls automatically remove duplicate JSON text echoes;
agents do not need to run a filter or call another tool. Unique content and structured data
remain available, and tool counts stay at 14 typed tools or five toolbox tools. - Result size measurements are UTF-8 bytes, not model-token counts. This release does not claim
a measured reduction in host token billing.
Added
--result-content=deduplicatedautomatically removes equivalent plain JSON text echoes from
ordinary MCP replies after SDK processing, for typed/toolbox surfaces over stdio or HTTP.
It preserves structured values, unique/annotated content, exact numbers, errors, approvals, and
metadata, and updates typed text-byte measurements. No extra tool or filter call is needed.
The defaultcompatiblemode retains text-only client behavior; structured-aware hosts opt in
through startup arguments. Initialization reports the active mode. Tool counts are unchanged.repoplane render-resultfilters one captured MCP result from stdin for client-wrapper
development. It preserves unique or annotated content, exact numbers, errors, approvals, and
metadata, with a 16 MiB input limit. Ordinary MCP calls in deduplicated mode do not need it.
Changed
- MCP initialization guidance and typed/toolbox operation descriptions now distinguish registered
capabilities, background records (including saved code/design), and present source inspection.
Memocurrentmeans active; current-code claims require checking evidence and invalidation.
payload_fieldsguidance includes examples and states that it selects top-level fields only.
Fixed
- The Windows Runner batch test fixture explicitly emits UTF-8, so its Unicode argument check
no longer assumes that the host OEM code page is UTF-8. Runner output bytes are unchanged.
RepoPlane v1.2.1
RepoPlane v1.2.1
Fixed
- Catalog refreshes now prune up to 16 retired generations per workspace after a one-hour grace
period, including unchanged refreshes. Current generations and unexpired query references are
protected. Auxiliary retirement metadata preserves index schema 3 compatibility, including
replacements/reactivations by older publishers through database triggers. Existing inactive
generations receive a fresh grace period. The known pre-release schema 4 layout is recovered
without dropping catalog data; unknown future schemas remain rejected. Durable receipts remain. - Query snapshot writes now atomically prune up to 64 expired result sets and their items across
catalog, workspace search, data queries, and record pagination. Existing expiry cleanup was
never invoked in production. Unexpired cursors and durable memory remain intact; freed SQLite
pages are reusable without automatically shrinking the database file. - Windows Runner now rejects direct Python
.pyexecutable references during preparation,
instead of failing later at process start. MCP errors explain the Python interpreter,
argument template, and working directory required for correct registration. - The
repo-memoryskill now explains registered execution: Python scripts use a verified
interpreter inexecutable_refand the script path/arguments inargv_template, with the
working directory checked before execution and existing approval gates preserved. - The bundled
repo-memoryskill now retains verified reusable changes before completion and
explains write recovery. It skips already-retained content, merges revision/topic conflicts,
creates successors for kind/schema or topic identity changes, and reads back uncertain writes
before retrying. Time warnings do not trigger retries; permission denials are not bypassed. - Memo title and summary validation now counts Unicode characters, matching the published schema.
Oversize discovery fields and combined record text/reference budgets report the offending
field or budget, observed length, and maximum instead of a generic limit error. - Host fact service and path lists now follow their separate schema limits, including Unicode
character lengths. Record write and report import size failures identify the relevant input
and its limit.
RepoPlane v1.2.0
RepoPlane v1.2.0
Upgrade notes
- Search and write defaults return less data. Clients that consume the old search preview must set
response_view=discovery; clients that consume the full write echo must set
response_view=full. Existing record IDs, history, cursor paging, and full ID-based reads remain
available.
Added
project_records(mode=get_topic)opens a unique current memo by exacttopic_key, with optional
exactscopeandconfiguration; ambiguous keys return bounded candidates. Search also accepts
exact topic, scope, configuration, validity, and update-time filters, plusmatch_mode=all.- Memo title, summary, historical-observation/current-guidance marker, assertion time, and atomic
successor creation. Superseded memo reads retain their content and point to the successor.
Detailed memo reads warn when a cited Git basis differs, is dirty, or cannot be observed,
without treating that as proof that the memo is wrong. project_records(mode=resume)returns a checkpoint's next action, recorded change summary,
remaining checks, and evidence in one call; checkpoint writes acceptchange_summarywithout
inferring Git changes.- Typed MCP call metadata reports serialized structured-result bytes and server duration.
It also reports text-content bytes, exposing full-read compatibility duplication. Missing
registered capabilities give bounded catalog and runtime-configuration next steps.
Changed
- Memo and catalog warnings now use shorter messages while retaining their warning codes and
actionable references. - Record search defaults to eight brief cards within 8 KiB, ranks current records and multi-term
coverage first, and retains cursor paging. Explicitresponse_view=discoveryrestores the prior
preview shape;fullandpayload_fieldsexpose content. Record list and ID-based get defaults
remain available. - Checkpoint, memo, and report-import writes default to ID/revision receipts. Typed MCP text
fallback for brief search, resume, and receipts no longer repeats the full structured payload. - Pure memo and checkpoint queries avoid an unnecessary Git status probe, so these reads also work
in workspaces without Git. - Tool descriptions now prompt agents to record a stable topic key, concise discovery metadata,
explicit time meaning, and invalidation conditions for reusable decisions, and a change summary
with background refs for checkpoints. These fields remain optional for older clients. - New non-host memos without an explicit content time return
memo_time_unknownin structured
warnings and the short text receipt. The write succeeds and does not invent anas_ofvalue. resumenow requires every goal-query term, preventing a distinctive multi-term goal from
mixing with older checkpoints that share only one common word. If nothing matches all terms,
it returns short partial-match candidates with a warning;match_mode=anyrequests broad matching.
Fixed
project_recordsinfers search from a nonempty query. Empty calls and common missing read inputs now return short, actionable errors instead of opaque mode or validation failures.
RepoPlane v1.1.7
RepoPlane v1.1.7
Added
- A bundled
repo-memoryCodex skill that guides agents to consult RepoPlane before repository
work and retain only verified, reusable background knowledge afterward.
Changed
- The Windows release archive now includes a pinned, checksum-verified ripgrep executable and its
license files. RepoPlane prefers the adjacentrg.exebefore looking onPATH. - When ripgrep is absent, RepoPlane starts and returns an explicit
unsupportedsearch result with
an actionableripgrep_unavailablewarning; path facts mark the basename scan partial. Git
history and configured symbol search remain available. - Common MCP search, query, write, and inspection choices now appear as input-schema enums within
the compact tool-contract budget. Cursor-only calls remain valid, andmemo_write.sourceis
correctly marked required. - The README introduction now explains bounded search, durable evidence, and gated registered
execution, with three task comparisons and legacy Korean encoding support.
RepoPlane v1.1.6
RepoPlane v1.1.6
Changed
- Runner limit errors for broad input/output globs now include bounded structured details naming
the resource, limit kind, responsible pattern, configured maximum, observed lower bound, ignored
path policy, and a narrower-glob hint. - CI now cancels superseded runs, avoids duplicate branch-push and pull-request execution, limits
race tests to main source changes, and uses a lightweight release-compatible path for
documentation-only commits while retaining Ubuntu and Windows verification for product changes.
Fixed
- Windows
run_preparenow rejects direct.ps1executable references with
unsupported_script_typeand guidance to declare PowerShell plus the script argument, instead of
reporting a ready plan that later fails to start with an opaque internal error.
RepoPlane v1.1.5
RepoPlane v1.1.5
Changed
- MCP tool errors now carry a safe message and correlation ID in structured JSON error text.
Durable-write failures distinguish validation, invalid transitions, revision conflicts, and
storage failures, and report whether the mutation was not applied or requires read-back. - Restored a self-contained README with installation, tool usage, permissions, local state, and
operational limits. The privatedocs/directory is no longer tracked. - The release workflow now generates public notes from the matching
CHANGELOG.mdsection instead
of requiring a tracked document for every version. - Paused public contribution intake and automatic dependency-version pull requests while the
project is maintained directly.
Fixed
- Typed host-fact validation failures now return
invalid_argumentwith
mutation_state=not_appliedinstead of an internal error with unknown mutation state. Regression
coverage includes normalmemo.v2creation, receipt read-back, and rejected incomplete host
payloads. Safe field-specific messages identify invalid host fields, and nullableservicesand
pathsnow agree between the MCP tool contract, writer, and stored-record schema.