Skip to content

Releases

RepoPlane v1.2.6

Choose a tag to compare

@github-actions github-actions released this 06 Nov 16:41

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-id files so directory moves keep
    memos, checkpoints, and other records with the same state directory, without rewriting records.
  • Add one-time --workspace-origin adoption 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.

Full changelog

RepoPlane v1.2.5

Choose a tag to compare

@github-actions github-actions released this 06 Nov 08:59

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_write now publishes memo_kind as 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 as content is required. Previously both cases
    returned memo_kind, content required, even when a kind had been supplied.
  • catalog_query search treats -, _, ., and / in IDs and search text as equivalent, so a
    file-name spelling such as example-smoke-check finds the catalog ID example.smoke.check
    (including as exact_id).

Full changelog

RepoPlane v1.2.4

Choose a tag to compare

@github-actions github-actions released this 06 Nov 05:36

RepoPlane v1.2.4

Upgrade notes

  • Reconnect MCP after replacing the executable. The cache database switches to SQLite WAL on
    its next open, so -wal and -shm files 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_overlap with recovery instructions instead of failing the handshake;
    runtime_config exposes 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_query list, search, or audit calls 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_query against an unchanged catalog no longer fails with deadline_exceeded while
    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_exceeded failures are now logged on stderr with their correlation ID and the step
    that ran out of time, like storage_failure and internal_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.

Full changelog

RepoPlane v1.2.3

Choose a tag to compare

@github-actions github-actions released this 01 Nov 19:03

RepoPlane v1.2.3

Fixed

  • Local stdio runtime_config changes 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.

Full changelog

RepoPlane v1.2.2

Choose a tag to compare

@github-actions github-actions released this 29 Oct 13:54

RepoPlane v1.2.2

Upgrade notes

  • Default MCP responses remain in compatible mode for text-only clients. Hosts that consume
    structuredContent can add --result-content=deduplicated to 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=deduplicated automatically 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 default compatible mode retains text-only client behavior; structured-aware hosts opt in
    through startup arguments. Initialization reports the active mode. Tool counts are unchanged.
  • repoplane render-result filters 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.
    Memo current means active; current-code claims require checking evidence and invalidation.
    payload_fields guidance 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.

Full changelog

RepoPlane v1.2.1

Choose a tag to compare

@github-actions github-actions released this 06 Oct 09:33

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 .py executable 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-memory skill now explains registered execution: Python scripts use a verified
    interpreter in executable_ref and the script path/arguments in argv_template, with the
    working directory checked before execution and existing approval gates preserved.
  • The bundled repo-memory skill 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.

Full changelog

RepoPlane v1.2.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 03:05

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 exact topic_key, with optional
    exact scope and configuration; ambiguous keys return bounded candidates. Search also accepts
    exact topic, scope, configuration, validity, and update-time filters, plus match_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 accept change_summary without
    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. Explicit response_view=discovery restores the prior
    preview shape; full and payload_fields expose 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_unknown in structured
    warnings and the short text receipt. The write succeeds and does not invent an as_of value.
  • resume now 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=any requests broad matching.

Fixed

  • project_records infers search from a nonempty query. Empty calls and common missing read inputs now return short, actionable errors instead of opaque mode or validation failures.

Full changelog

RepoPlane v1.1.7

Choose a tag to compare

@github-actions github-actions released this 21 Sep 10:41

RepoPlane v1.1.7

Added

  • A bundled repo-memory Codex 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 adjacent rg.exe before looking on PATH.
  • When ripgrep is absent, RepoPlane starts and returns an explicit unsupported search result with
    an actionable ripgrep_unavailable warning; 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, and memo_write.source is
    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.

Full changelog

RepoPlane v1.1.6

Choose a tag to compare

@github-actions github-actions released this 20 Sep 11:46

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_prepare now rejects direct .ps1 executable references with
    unsupported_script_type and guidance to declare PowerShell plus the script argument, instead of
    reporting a ready plan that later fails to start with an opaque internal error.

Full changelog

RepoPlane v1.1.5

Choose a tag to compare

@github-actions github-actions released this 20 Sep 08:56

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 private docs/ directory is no longer tracked.
  • The release workflow now generates public notes from the matching CHANGELOG.md section 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_argument with
    mutation_state=not_applied instead of an internal error with unknown mutation state. Regression
    coverage includes normal memo.v2 creation, receipt read-back, and rejected incomplete host
    payloads. Safe field-specific messages identify invalid host fields, and nullable services and
    paths now agree between the MCP tool contract, writer, and stored-record schema.

Full changelog