Skip to content

v0.61.0

Choose a tag to compare

@github-actions github-actions released this 12 Oct 17:33
· 259 commits to main since this release
801ba47

Added

  • The flair-client accepts host-source fields on memory writes and returns bound sources on non-admin agent reads (flair#1940). (#1940)

  • The Cursor wake runner attempts a launch receipt per handoff; the ack follows a successful write, a verified existing receipt, or a classified refusal (flair#1940). (#1940, #2446)

  • Native /mcp accepts host-source pointers and renders them in non-admin agent search results; bootstrap cites sources for non-admin agents (flair#1940). (#1940)

  • A capture whose run id is within the server's grammar keeps it as an unverified host source (flair#1940). (#1940)

Changed

  • Semantic-search results now carry provenance, like the by-id and list reads.

  • The integrity scan bounds and count-brackets deletion-history reads, and flair integrity prune-history can reclaim older history rows with --apply (flair#2229, flair#2435). (#2229, #2435)

Fixed

  • Feed ingest, administrator reindex, last-reflected and auto-promotion stamps, and visibility and synthetic migrations confirm Memory write-back targets.

  • flair start's unconfirmed-launchd warning reports what the confirmation probe saw (#2422). (#2422)

  • Memory PATCH updates the embedding-space guard when it stores an embedding stamp (#2425). (#2425)

  • The clean-VM CI gate reports flair doctor findings on failure (#2438). (#2438, #538)

  • Background re-embedding via Memory PATCH and the migration fallback updates only embedding, embeddingModel and updatedAt, confirming the target before commit (#2465). (#2465)

  • Each converted Memory write names only its patch fields; it does not write the rest of the row. (#2465)

  • An embedding-space scan's verdict never survives a foreign-stamp write noted during the scan; the next consult rescans (#2481). (#2481)

  • Non-skill memory.update() preserves stored host-source pointers on same-ID writes unless the caller supplies a replacement (#2482). (#2482)

Security

  • flair doctor and flair deploy self-verify now run the MCP OAuth discovery discriminator that flair mcp enable runs.

  • flair mcp enable --refresh-flag attempts an encrypted flag update and checks restart and discovery metadata.

    Heads-up: If an instance has FLAIR_MCP_OAUTH=1, run
    flair mcp enable --instance <your-public-origin> --refresh-flag --admin-pass <target-admin-password>.
    Apply any staged fallback file and restart before checking MCP OAuth status.

  • Basic authentication scheme matching is case-insensitive, including during federation pairing.

  • Relay sends, usage feedback, and IdP principal provisioning commit their guarded decisions under per-key locks within one Harper process (#2333). (#2333)

  • Federation pairing consumes a token at most once per Harper node and refuses peers found revoked during re-pairing.

  • Refresh-token rotation is refused after a committed revoke within one Harper process (#2333). (#2333)

  • The bake-time gate classifies dependency ranges and names applied exemptions (flair#2405). (#2405)

  • Flair-managed local Agent creation records the home when one canonical Instance row resolves (#2433). (#2433)

  • Usage accounting, federation Memory merges, and Memory PUT updates confirm their target record before committing (#2441). (#2441)

  • Administrator reindex writes and federation merges refuse detected changes to their stored targets.

  • Relay sends enforce the recipient inbox cap across concurrent senders within one Harper process.

  • XAA refuses jwt-bearer grants for matched IdP credentials not marked active.

  • flair agent stamp-home and flair principal add guard a stored Agent home on their write paths (#2472, #2473, #2474). (#2472, #2473, #2474)

  • flair agent remove confines automatic key-file deletion to the intended agent's canonical key paths (#2479). (#2479)

  • The owner-field guard refuses non-admin agent writes when its stored-row check fails.


Full record: CHANGELOG.md