Changelog
All notable changes to shuttle. The format follows Keep a Changelog, and shuttle uses semantic versioning. Each release's notes are its section here; CI refuses a version with no section (see Releasing).
Unreleased
Added
CHANGELOG.md, and a CI check that the version inshuttle/__init__.pyhas a section here. The release lane publishes that section as the release notes.- An mdBook (
book.toml,docs/) published to GitHub Pages.
0.3.0 - 2026-10-01
Added
- Seed steps: a transition may declare
seed = {title, labels}andon_abandon, so a seeds work item performs the step. shuttle reconcile: creates each legal seed step's seed with a keyed, idempotentsd create --workflow-run --step --visit, and advances the run when the seed closes. Outcomedoneadvances, signed, with the seed id, outcome and close time as evidence. Other outcomes takeon_abandon. With noon_abandonthe run is flagged (exit 1), never advanced silently. Reconcile holds an exclusive lock on the state dir.
0.2.0 - 2026-09-05
The first version that can be deployed unattended.
Added
shuttle versionand--version, printing one parseable line (shuttle <version>). Deploy tooling reads it.- A tag-triggered release lane: it refuses a tag that disagrees with the
package, runs the suite, installs the built wheel clean and checks its
version, and publishes the wheel, sdist and
checksums.txt.
Changed
- The version is single-sourced from
shuttle/__init__.py.
Fixed
- Export declares each window's workflows in that window, so runs in a month after their workflow was defined are no longer refused by SHACL, and one bad record is quarantined instead of stopping the whole drain.
[0.1.0] - 2026-08-24
Never published as a release. The hand-installed first build: signed runs, windowed export into quipu, and freezable history.