Skip to content

Releases

v0.5.3

Choose a tag to compare

@github-actions github-actions released this 05 Nov 14:43

v0.5.3 (2026-11-05)

Documentation

  • claude: CLAUDE.md names the Boomdrive family and looks across it (c83334b)

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 05 Nov 04:29

v0.5.2 (2026-11-05)

Refactors

  • Tailrace is renamed timber, and Flywheel Boomdrive (ADR 0025) (6c97610)

Documentation

  • adr: Record 0024 accepted by the user on their card (5400d9d)
  • adr: Record 0025 names the tool timber and its family Boomdrive, proposed on the user's words (e8dadfe)
  • adr: Record 0025 says the rename is released as a patch, and leaves 1.0.0 to the user (6aba0a3)

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 04 Nov 22:45

v0.5.1 (2026-11-04)

Documentation

  • architecture: The open page after sync-and-serve: C.1's spaces built, 0023 holds the read by digest, 135 and 141 carved, the suite at 7f60e57 (53eb02c)
  • adr: Record 0023 accepted by the user on 2026-11-04; the open page drops the read by digest (5307d97)

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 00:22

v0.5.0 (2026-11-03)

Features

  • seams: A projection answers the versions a checkout's lockfile pins (9af13c6)
  • seams: The publisher's layout policy is a kind of claim (2f7cc2e)
  • seams: A refusal names the claim a version is found wanting (d399889)
  • fakes: The fake projection answers the pins a test sets (735e793)
  • core: The history names each worktree's own git directory (3ba9ba1)
  • core: A pin is found by its ecosystem, name and version alone (9d3dbeb)
  • core: A layout's policy is the consumer's or its publisher's (8306e99)
  • core: A version is held only when its claims satisfy the policy (f534d4b)
  • policy: A file with no layout line answers the given policy for a layout (89e635e)
  • bindings: The host's bindings file names the signers it trusts (db2dbd4)
  • core: A publisher's layout policy counts only through a signer the host trusts (e2721c4)
  • core: A layout renders the versions its policy admits, every read before any write (4c07f56)
  • core: A checkout's sync fills its cache and then each layout its lockfiles pin (2a9103d)
  • cli: Tailrace sync renders each layout the checkout's lockfiles pin (a77cc4c)
  • core: A publish attaches the publisher's layout policy to the index (3bd6af7)
  • seams: The policy for a layout says whether it is the given (59a6eca)
  • policy: The policy file marks the given policy for a layout as given (c1dc3d3)
  • core: A layout's policy is stacked, the consumer's line, the publisher's, the given (9680d1d)
  • core: A publish attaches only the layout line its file writes (f95aa35)
  • plugins: The tailrace plugin's manifest and its Bash hook (48cc34d)
  • plugins: Refuse an ecosystem's own publish command (d2b31aa)
  • core: A version keeps the commits it is derived from (c47e0cb)
  • core: A version's notes rendered by git-cliff in one fixed form (7ae9176)
  • core: No output is packed in the notes' ecosystem (520d209)
  • core: A first publish puts, claims and indexes the version's notes (bbeb567)
  • core: A repeat publish compares the notes and never writes them again (f2fd0ec)
  • core: A publish answers the version's notes, and the command prints them beneath it (2a7d817)
  • core: An entry keeps the commits its version's notes were rendered from (05238fb)
  • core: A rebuild derives again the commits a version's notes were rendered from (b03ef1e)
  • core: The history reads a commit's message from the local history alone (cec6188)
  • core: Status shows each version's notes rendered again from git (f9c4a1d)
  • core: Verify shows the notes the index names, read from the store (0acb511)
  • seams: A projection answers what a held version requires and which versions satisfy a range (3bd9e34)
  • seams: A required claim names the artifacts it is asked of (134, 82) (c927d5e)
  • policy-file: Answer each required claim with the artifacts its kind asks (134, C.10) (fb02737)
  • core: The gate tells how each artifact was made (134, 13, 29) (52507b8)
  • core: The gate judges each artifact by the claims asked of its making (134, 25, 28, 95) (3b7b476)
  • cli: Tailrace policy marks a claim asked of built artifacts alone (134, 56) (db81305)
  • core: Status answers each channel's changelog, every version's notes rendered from git (134) (4a644e1)
  • cli: Status prints each promotion's notes beneath it (134) (04bce48)
  • serve: The page shows each promotion's notes and each published version's (132, 134) (b6d3a9f)
  • build: Left answers what a checkout's run left, on the seam, the fake and moon (cf1ab01)
  • core: Push_left writes what a checkout's run left before the landing (d290139)
  • cli: A push before a landing binds with a store alone (5e3ecaa)
  • cli: Tailrace push --left pushes what the checkout's run left (5bf9093)
  • seams: A refusal for an output whose cache entry the store lacks (5d0f681)
  • core: A publish of a landing with verdicts replays its outputs from the store (d346c2c)
  • build: A revision's checkout shares the bound repository's moon outputs (cfb2c46)
  • seams: A projection's serve answers one request of its client, and asks the core for a version its layout lacks (86, 115) (0999dd4)
  • projection: The file, image and moon cache projections serve none, absent naming serving (86) (16f38f0)
  • fakes: The fake projection serves its layouts, asking the core for a version one lacks (86, 115) (550e5bb)
  • core: A served layout's address is the core's name and port with the repository and ecosystem in its path (114, 49) (18127fe)
  • core: One render of a layout at a time, under a lock beside its record (48, 62) (6f97f1a)
  • core: A version a served layout lacks is rendered into it on the request, under the policy a sync would use (115, 50, 47, 99, 113) (ca3b030)
  • core: Sync answers each served layout's address, probing its projection once (114, 49, 86) (8b5a361)
  • projection: Bind the npm projection with a store of its own and the host's serving address ([bbdbfba](https://github.com/agentplot/tailr...
Read more

v0.4.2

Choose a tag to compare

@github-actions github-actions released this 27 Oct 17:50

v0.4.2 (2026-10-27)

Documentation

  • adr: Record 0018 accepted by the user (277c1e4)
  • adr: Record 0019 answers what a channel may require before it moves (96c0363)
  • adr: Record 0019 holds alpha/* and lts/* as families, on the user's note (a793acf)
  • adr: Records 0020 and 0021 accepted by the user (880147f)
  • architecture: Rules drawn from the accepted records 0015 to 0021; what stands open; record 0016's ledger binding marked superseded (7d04eae)
  • adr: Record 0016's amendment goes to the user as proposed (bb7c059)
  • adr: Record 0019 accepted by the user; core.44's details and _open.md follow (e3d9491)
  • adr: Record 0016's amendment accepted by the user (33f2b94)

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 27 Oct 16:39

v0.4.1 (2026-10-27)

Documentation

  • adr: Records 0015, 0016 and 0017 accepted by the user (a9f0d4d)

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 26 Oct 17:46

v0.4.0 (2026-10-26)

Features

  • seams: A promotion's body, a channel's name in the store, and a chain that says how it was read (2b28ede)
  • seams: The refusals a promotion gives: a claim wanting, a channel elsewhere, a version its bound channel never held (f3a5078)
  • fakes: The fake keeper answers a chain as last read once it cannot be reached (693de7e)
  • core: The gate's ask and answers (fc186b3)
  • core: The gate judges in the order of its design (5361ad8)
  • core: The gate counts each claim with acceptance's joins (630f87b)
  • core: The gate counts an independent rebuild, never makes one (b56b8b4)
  • signer: A KMS key named by its key ARN (dc1d6ea)
  • signer: Sign and verify with a KMS key through the host's role (62b2619)
  • core: A chain read as last read moves no channel's name (d95a2f9)
  • core: A promotion judged under its channel's policy, held by the ledger before the store (4c0b5b3)
  • ledger: The git ref ledger, a commit per claim on refs/tailrace/ledger/ (d5b0dbd)
  • ledger: The store ledger, a chain walked by predecessor from the channel's name (6328a6b)
  • bindings: The host's file binds the ledger with [ledger] (8b8e8c7)
  • bindings: [signing] names a host key or a KMS key, read by the signer family (b0a8ca5)
  • cli: Tailrace promote moves a channel, or back with --back (b144309)
  • core: The gate never accepts what it offered, but on the one host (8fc1523)
  • core: The channels that follow each publish, read from the policy file (6a19af6)
  • core: Nothing the gate accepted is un-accepted (2f92901)
  • core: The gate judges each following channel under its own policy (8c02f8f)
  • policy: The policy seam lists the channels, each with its component and binding (131) (1b8d7ac)
  • core: Status answers every channel from the ledger beside the host's record (31, 36, 131) (5d21ff0)
  • core: The serving address and a repository's name from its remote (49, 114) (e2879e1)
  • core: Status answers the environments unread and a repository's row of heads (98, 132) (c01a0e0)
  • bindings: Status is bound to the landing, the policy and the ledger, and with no file as 118 binds a host (60, 118) (b0cf7b6)
  • core: The gate told by a publish judges the index the publish named (95, 130) (f26b864)
  • signer: The given host key is made on its first sign, its public half beside it (118, C.8; design D3) (b5e0d04)
  • signer: The given signer is named by its public half, else by the host's first label (118, 11; design D4) (6a6e9f1)
  • bindings: A table the file leaves out is made by its family and named as given (118; design D2) (d427c5e)
  • store: The given store is the layout under the user's data directory (118, C.2; design D2) (faad480)
  • landing: The given landing is sluice where HEAD holds sluice's file, a branch otherwise (118, C.5, C.6; design D2) (1f6c072)
  • ledger: A file naming no [ledger] binds the git ref with no remote (118, C.13; design D2) (38890d7)
  • signer: A publish or a promote naming no [signing] signs with the given host key as the host's name (118, C.8; design D2, D3, D4) (ab688f7)
  • bindings: The host's file names what tells its gate with [gate] (118, 130) (fd6adad)
  • cli: Publish tells the host's gate where the host's file binds it to (95, 108, 130) (e1868fa)
  • cli: Status shows every channel and its chain beside the environments and the host's record (31, 36, 58 to 61) (41a7c3f)
  • cli: The host's file of named repositories and the serving process found or started (62, 114, 132) (14d1e46)
  • bindings: A file naming no [gate] binds the host's publish to tell its own gate (118, 130) (a49af97)
  • landing: The given landing reads the checkout's origin, else its one remote, else its own refs (118; design D5) (a6bc8d6)
  • bindings: A missing file or table binds the given profiles for every command, status among them (118; design D1, D2, D8) (bee4222)
  • core: Where the policy names no gate, the gate's own identity is the one host (118, 108; design D7) (38c52ea)
  • seams: A channel is its component and name, and the policy says how each moves (125, 131) (a2f80d0)
  • cli: Tailrace serve answers each named repository's status as JSON and as a page (57, 114, 132) (a2a11c2)
  • cli: The serving process answers every repository it knows together at its root (132) (b8903b3)
  • cli: Status --page names the repository, finds or starts the host's process, and prints its page (114, 132) (51e218b)
  • core: Status answers every channel from the ledger beside the host's record (31, 36, 131) (6828db0)
  • core: The serving address and a repository's name from its remote (49, 114) (bdce0c1)
  • core: Status answers the environments unread and a repository's row of heads (98, 132) (e9ba3ce)
  • bindings: Status is bound to the landing, the policy and the ledger, and with no file as 118 binds a host (60, 118) (7196aca)
  • cli: Status shows every channel and its chain beside the environments and the host's record (31, 36, 58 to 61) (bb2e9cf)
  • cli: The host's file of named repositories and the serving process found or started (62, 114, 132) (25ad441)
  • cli: Tailrace serve answers each named repository's status as JSON and as a page (57, 114, 132) (3ec4b9e)
  • cli: The serving process answers every r...
Read more

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 22:10

v0.3.0 (2026-10-25)

Breaking changes

  • seams: The projection seam carries cache entries (dfc0484)

Features

  • store: The registry handle, its request path, tags and referrer form (8352b4a)
  • store: The registry's operations, proven against the reference distribution (258c6c4)
  • bindings: [store] registry binds the registry store (eb16842)
  • core: A version copied between stores with its claims (e07180f)
  • core: A channel's name follows the ledger's head (725ca0c)
  • core: A cache entry written under its build identity (fcea191)
  • core: The newest revision of a branch a checkout descends from (89cfed1)
  • core: Sync renders the entries a landed revision's verdicts name (41e0763)
  • core: The push writes a landing's passing builds' cache entries (109343a)
  • core: The host's record rebuilt from the store and git (8d288aa)
  • projection: Moon's cache, packed by task hash and rendered from entries (81c34cc)
  • bindings: Bind the moon cache over a second binding of the store (347a4ea)
  • cli: Tailrace sync renders a landed revision's cache entries (d5f836a)
  • store: The cache manifest's form, naming bytes a tag can name (7903f85)
  • bindings: Push makes the layout with no signing, and rebuild never does (a62dc52)
  • cli: Tailrace push after a landing, and tailrace rebuild of the record (1190f26)
  • store: A registry names bytes through their cache manifest (523b999)
  • store: A registry's tag is read again while it answers the former place, up to 30 s (7c2c72f)
  • store: A registry declares that its names take no condition (ac84eb2)

Fixes

  • cli: The build stamps the commit a branch is at, not the one before (c16a757)

Refactors

  • store: One OCI form for both store profiles (f51af68)

Documentation

  • openspec: Propose the-projection-seam-carries-cache-entries (773ddfa)
  • openspec: Propose moons-cache-namespace (1e0ca8f)
  • openspec: Propose the-push-after-a-landing (f7c7b0c)
  • site: Pack takes a build identity, and a cache entry packs with no version (65b32c2)
  • openspec: Archive the-projection-seam-carries-cache-entries (67812f5)
  • openspec: Propose moons-cache-namespace (0ec31e3)
  • openspec: Propose the-registry-store (00f529a)
  • site: The self-hosting page binds a registry (97ffeb8)
  • openspec: The-registry-store pins zot by its release build (ec7753b)
  • openspec: The-registry-store runs the ECR check outside the gate (43371a5)
  • site: Moon's cache is built, and tailrace sync fills it (c47f471)
  • openspec: The-registry-store names a cache entry through a cache manifest and runs ECR by hand (dd23d4e)
  • site: Tailrace push after a landing, and the record rebuilt (9a98c26)
  • openspec: The-push-after-a-landing names a registry's cache entry through its cache manifest (39bab55)
  • openspec: The-push-after-a-landing declares the fakes it touches (91fcc02)
  • site: The stores page says how a registry holds what it holds (2261c8f)
  • openspec: The-registry-store proves ECR by hand as the bolt's acceptance (e125021)
  • openspec: A read back at the former place within the bound is no lost race (49762e5)
  • adr: 0015, the registry store checks a tag before and after its put, reads it again while ECR lags, and takes the host's Docker credentials (5c2430d)
  • adr: 0015 records ECR's tag reads as not monotonic, and a resolve as the answer as of when it read (34b3ac9)
  • adr: 0015 records a move from a place the name has left as best effort on a registry whose tag put takes no condition (a70a6bb)
  • adr: 0015 records the four ECR runs that passed at a70a6bb (4727133)
  • site: The stores page marks Amazon ECR built, proven by a push on 2026-10-25 (f889896)
  • openspec: The-registry-store's Touches declares the suite's store group, its tests and the layout's (acf7fb7)
  • openspec: Archive the-registry-store (88eed01)
  • openspec: Archive moons-cache-namespace (fb6973c)
  • openspec: Archive the-push-after-a-landing (cbb3d1b)

v0.2.4

Choose a tag to compare

@github-actions github-actions released this 25 Oct 20:37

v0.2.4 (2026-10-25)

Documentation

  • adr: 0013 accepted by the user on their card (22e9aa2)

v0.2.3

Choose a tag to compare

@github-actions github-actions released this 24 Oct 15:01

v0.2.3 (2026-10-24)

Documentation

  • adr: 0014 accepted by the user on their card; core.30's detail stands (121eee7)