Repository navigation
v0.61.0
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
/mcpaccepts 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-historycan 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 doctorfindings on failure (#2438). (#2438, #538) -
Background re-embedding via Memory PATCH and the migration fallback updates only
embedding,embeddingModelandupdatedAt, 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 doctorandflair deployself-verify now run the MCP OAuth discovery discriminator thatflair mcp enableruns. -
flair mcp enable --refresh-flagattempts 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-homeandflair principal addguard a stored Agent home on their write paths (#2472, #2473, #2474). (#2472, #2473, #2474) -
flair agent removeconfines 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