# sporo — changelog

Every sporo release, newest first, from the GitHub Releases feed. One static binary, checksummed archives for six platforms. Full releases: https://github.com/ydnikolaev/sporo/releases

## v0.14.0 — 2026-07-22

https://github.com/ydnikolaev/sporo/releases/tag/v0.14.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.14.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.14.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.14.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.14.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.14.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.14.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Features
* c66dc0d feat(attest): sign the corpus export bytes to the pipeline on merge
* 5d6fd9a feat(cli): sporo publish pre-flight — refuse an unsealed or gate-failing recipe
* a70d4c6 feat(publish): make publish kind-polymorphic — recipes AND seeds
* b91a081 feat(publish): open a corpus PR from a verified recipe — gh or git-fallback
* 350913b feat(seed): human-first seed genre 1.1.0 — usage orientation
* e0080d9 feat(seed): the canonical sporo seed — sealed, exported, mirrored
* b0456cd feat(seed): the sporo-seed authoring skill, installed alongside sporo-recipe
* a66f7a7 feat(web): attest seeds too — the `attested` mark on the seed page
* 9fcfb5b feat(web): hero + verification-panel polish
* 9c51942 feat(web): rework seed setup surface + pre-launch SEO/copy polish
* c45f4ae feat(web): the earned `attested` provenance mark, fail-closed
* d90b3bf feat(web): the seeds listing states its exported bytes are attested
* e6745b7 feat(web): the setup surface — seed-first hero, header popover, two-genre menu
### Fixes
* 10c2dab fix(cli): count meta-docs apart from instances in both lint summaries
* 826d021 fix(cli): surface the freshness hint on `sporo --version` too
* 1f40a1c fix(web): the seed twin serves the export, not the source
### Other changes
* e12702c build(check): drift-gate the seed web mirror
* c748353 test(recipekit): pin current ledger rows with inline key literals

## v0.13.0 — 2026-07-22

https://github.com/ydnikolaev/sporo/releases/tag/v0.13.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.13.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.13.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.13.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.13.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.13.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.13.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Features
* 96faa2e feat(cli): the sporo seed namespace — scaffold, lint, seal, export, list
* 8846833 feat(recipe): version the summary-bearing genre
* c287676 feat(recipekit): per-shape neutrality policy — target exemption, genre 1.0.1
* f5af9ee feat(seed): the seed genre — constitutional spec, shape, ledger, corpus home
* b3e0546 feat(web): "Ask an agent" affordance + visible recipe breadcrumb
* b3beaa6 feat(web): /security page + verify block on docs, footer link
* 804a8f4 feat(web): SEO/GEO pass — entity graph, recipe rich data, agent corpus
* 583e6b1 feat(web): seeds join the site — nested routes, twins, corpus, trust chrome
* 4e8d848 feat(web): surface release trust — signed/provenance/SBOM + verify commands
* 8712a15 feat(web): unify page agent actions and tracking
### Fixes
* a923b7a fix(recipe): kind-guard the finished-but-unsealed sweep (AUD-S3-01)
* c4815fd fix(web): center the mobile boundary rule with air, stop label overlapping the card
* 7b91dcd fix(web): copy recipe in Safari via Promise-valued ClipboardItem
* d275424 fix(web): invert the core boundary rule on mobile — horizontal, not vertical
* d54cbea fix(web): serve the export form from the recipe .md mirror
* 6657b46 fix(web): stack the core flow vertically on mobile — down arrows, not sideways
### Other changes
* e777a05 Extract pkg/recipekit from internal/recipe (#8)
* 555908d chore(deps): bump github.com/spf13/pflag in the go-dependencies group (#2)
* b3b3f2b chore(deps-web): bump astro in /web in the web-dependencies group (#3)
* 9f1769b chore(deps-web): bump marked 14 → 18
* 4fcadfe ci(deps): bump the github-actions group across 1 directory with 6 updates (#7)
* 36951bf ci(pages): rebuild daily to refresh build-time download tally
* 93d116c refactor(recipekit,recipe): parameterize the entity shape and add kind to the seal ledger
* 1e0ed1c refactor(web,cli): generate the recipe .md mirror from the binary, gate its drift

## v0.12.0 — 2026-07-18

https://github.com/ydnikolaev/sporo/releases/tag/v0.12.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.12.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.12.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.12.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.12.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.12.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.12.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Features
* 2f0f4c8 feat(ci): harden the Go module — lint, coverage gate, security scans, deps (#1)
* 6cdcbdb feat(security,web): verifiable releases, SHA-pinned CI, SECURITY.md, SEO/AI crawlers (#6)
### Fixes
* 49657cd fix(web): underline the recipe-page breadcrumb link
### Other changes
* 23761b6 chore(repo): classify CLAUDE.md as private harness
* e0310d6 chore(repo): move harness + docs out of the public tree, guard the boundary

## v0.11.0 — 2026-07-18

https://github.com/ydnikolaev/sporo/releases/tag/v0.11.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.11.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.11.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.11.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.11.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.11.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.11.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Features
* b118a86 feat(cli): sporo recipes --adopted and --all
* b2b38fc feat(web): a "how these are verified" explainer on the recipes page
* d70f4d5 feat(web): add Google Analytics with copy/download events
* e3b9b4f feat(web): show the GitHub release download count on the home page
* 3e0c8e7 feat(web): track the verify-seal click
### Other changes
* 2a00038 ci: trigger the site redeploy via workflow_run, not the release event

## v0.10.0 — 2026-07-18

https://github.com/ydnikolaev/sporo/releases/tag/v0.10.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.10.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.10.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.10.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.10.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.10.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.10.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Features
* cb656bf feat(recipe): record sealed_at in the seal registry
* c0df6dd feat(web): make the sealed badge independently verifiable
* bb2c822 feat(web): show provenance and the seal date on a recipe
### Fixes
* 1d7f8e0 fix(web): the seal proof panel sat open by default
### Other changes
* 4f9f44a ci: redeploy the site on a published release, not just on push

## v0.9.0 — 2026-07-18

https://github.com/ydnikolaev/sporo/releases/tag/v0.9.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.9.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.9.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.9.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.9.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.9.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.9.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Features
* e042fc8 feat(recipe): seal the shipped corpus and enforce all-sealed in the gate
* c72fc18 feat(web): a data-driven, hash-verified sealed badge
### Fixes
* f3b04a5 fix(web): anchor the recipe-bar spore per open state
### Other changes
* 5d54f96 ci: run the seal-coherence gate on every push

## v0.8.0 — 2026-07-18

https://github.com/ydnikolaev/sporo/releases/tag/v0.8.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.8.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.8.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.8.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.8.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.8.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.8.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Features
* 435663d feat(cli): add `sporo recipes`, a fleet-wide recipe index
* 4c1abca feat(recipes): publish the russian-legal recipe to the corpus
* f3b093b feat(recipes): record the recipe id in the seal registry
* 38ba376 feat(web): add a recipe listing with per-recipe detail pages
* bb2e043 feat(web): recipe action bar with a derived preview panel
* 9e91006 feat(web): recipe date, publisher, sealed badge, adoption protocol, agent marks
* 7167a84 feat(web): recipe-detail & chrome polish
### Fixes
* 38a2cb8 fix(web): changelog categorization and short commit-hash chips
* ac8b72b fix(web): strip the recipe's own H1 from the intro (it printed the title twice)
* c60c03f fix(web): the badge claims only what lint verifies, not "sealed"
### Other changes
* c1859f0 docs: sync site & skill copy with id and the file-writing export

## v0.7.0 — 2026-07-17

https://github.com/ydnikolaev/sporo/releases/tag/v0.7.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.7.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.7.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.7.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.7.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.7.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.7.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Other changes
* 990d137908e410c68fdfe90a4e4f39eb895028ab chore(mate): pull harness v0.88.0
* a8ea6370a8497419132bf19ac4c44145b94a7b7c chore(mate): pull harness v0.88.0 -> v0.90.0
* 892f6f278dbdc4a3c695dc682e02c533419721b5 chore(mate): pull v0.87.0 — machine-readable reports
* a234b716f4864d2eb876576407b3cf9448ddb7ac docs(rules): run the source, never a snapshot
* dbc4c4e01b4efdd01511e95542312aa226ac1dae feat(cli): sporo docs — the command surface as SSOT, gated against drift
* c30a765c846ad7aec2c4b377d8d816896b2971a1 feat(recipes): give recipes a stable ULID id and make export deliver a file
* 9f2f53cbdb5fe9f6cbb918fc179f8027588886c6 feat(recipes): replace the report recipe with derived-progress-report
* 9d85f7478516d2a2ffd9953a6b299e79c77cb932 feat(web): a real recipe, rendered — the /example page
* b2cdb5bc0cc54ee8e72cbc8e155ca57fb2d6509f feat(web): comparison/FAQ and changelog pages, wired into the site
* ce344a2050fa0ea9def840f91f6864d7c86de667 feat(web): copy buttons on the docs verb cards
* 8497005d2a469e2ae8236663da900c671a488b5e feat(web): lead the home page with the core idea section
* 6f5c1ae216ee5908c153fbf8268c43bba91a1adf feat(web): light/dark theme toggle in the header
* 92f81e4e9933ae694790b24e73c101c143162dd2 feat(web): llms-full.txt — the whole corpus in one fetch
* a407cf286b2a706eba76968b31b0991d06cf88a6 feat(web): new OG image, declared at the standard 1200x630
* d6c3ab0b21ce0c4ca7f0951cc626cba0cc9f8d96 feat(web): per-page OG cards in the 1b style
* 17d85695da2f6e8bfb84c58630769c450d7c71e1 feat(web): rebuild the site on Astro, with a docs page generated from the CLI
* a86729997bf133a88c52a8cb42042e47b18fc0fb feat(web): unify site chrome, promote the tagline, show cross-provider marks
* a3800ebc5dced479fc12842c77a05715c77c99cd fix(install): find the asset id in GitHub's pretty-printed release JSON
* 1f4b9498018d334ef0e2758fc37f5b2a76896a45 fix(recipe): tag Sources for JSON so the harvest contract stays snake_case
* 93151eb2842c01eb8074d56771b8064099e39e68 fix(web): collapse the nav to a hamburger on mobile
* 32d513305f692dd4413ceab9ff4fad569c2202a1 fix(web): name the sporo-recipe skill instead of "agent does the rest"
* 8c2cd85e46a3f3cb60d684b0c0669dd05cea93a7 fix(web): singular "1 verb" in the docs group header
* 5adce7b27342d27391b655527719207615bd3674 fix(web): underline the docs github link so it is not color-only
* 7ceed9160fe1614caf0618e193856aa91c0f5c13 refactor(web): make the reading column the single inner-page layout standard
* 90e4c075194b771d36a74ef79aaa05be8cc90d48 refactor(web): one page frame so widths stop dancing
* f217bec5b2743b9a35ed4e94e53d189de7c7d016 test(e2e): add a testscript scenario matrix over every verb

## v0.6.0 — 2026-07-16

https://github.com/ydnikolaev/sporo/releases/tag/v0.6.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.6.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.6.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.6.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.6.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.6.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.6.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Other changes
* 3354138fb611a38de90df29b60483bd72ae59cb1 build(dist): homebrew cask, wired to ydnikolaev/homebrew-tap
* 85a11ecf1a6c775ccec34b3506a37c3de7b9db88 build(release): disable brew cask until HOMEBREW_TAP_TOKEN is set
* 8b32af3572761e0f3d16bd276bea8ef4d8c07766 docs(web): the repository is public — drop the private-phase caveats
* 3d618bc8e32b8c5fd83cb59a6d9baab8de150358 feat(recipe): adopt and pull — the reader-side ledger and staleness check
* 1cab49f9aaeb743600761e0eb2780f0d08ee853e feat(web): deploy the landing to GitHub Pages + vanity import page
* 8b387eeb34a54d2a3deaec11f4fbcb8b834351ea feat(web): landing v2 — denser, AI-readable, MVP posture
* 57f501d239be8c0675aeb0688b797305102a34ae feat(web): the designed site — Archivo/Plex Mono, motion, self-hosted
* 0b3db36f8cd0bc81107ff15f315436ed31eb8846 feat(web): the temporary landing — static, zero-JS, SEO-complete
* 36d101ea29367b146c933f67b949bca54427f301 fix(install): stop warning about a private repo that is now public
* dac0fc8b2e904471ae4ef819aae730c6d412f6a3 fix(recipe): a stranger's file does not get to choose where it is written
* ba9930cbe0db9d86c1d0eb8a47463682e1643a20 legal: Apache-2.0

## v0.5.0 — 2026-07-15

https://github.com/ydnikolaev/sporo/releases/tag/v0.5.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.5.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.5.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.5.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.5.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.5.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.5.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Other changes
* 9fc023c993c783e14c676f9d8c86d449501d21d0 build(dist): stable checksums.txt — self-update validates by one name
* 6fd8c7692e0b0410650321e2dff1ac762566fd24 feat(cli): sporo upgrade [--check], and the hint after every command
* 924c601801a4180c7ecbb67bb2c795fc377a4923 feat(upgrade): binary self-update and the passive version hint

## v0.4.0 — 2026-07-15

https://github.com/ydnikolaev/sporo/releases/tag/v0.4.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.4.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.4.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.4.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.4.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.4.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.4.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Other changes
* f4d950a9eef8cdaa4964fc2f7ee799ddace13a32 chore(skill): fixtures at authoring time, conform at reading time
* 53455817cc517601ea1ab2d7560d000110eaa7e3 feat(cli): sporo conform — the reader's half of Binding: exact
* 2aa8ba7b795637f1acdbca642b74efba94a3005b feat(recipe): the conform layer — exact contracts become executable
* 0c3b1eb1bcc2848eedf89130990f3d9f4e70be18 test(e2e): conform against the export alone, and the ADR-005 no-op

## v0.3.0 — 2026-07-15

https://github.com/ydnikolaev/sporo/releases/tag/v0.3.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.3.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.3.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.3.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.3.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.3.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.3.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Other changes
* 552906d05af13db91d8fbd4bca21a50f16c3fbb7 chore(skill): the binding question, asked at authoring time
* 049c83c15418bac046abd14fa9ea8582fe63ce25 docs(recipes): bindings in the genre, outcomes agreed at adoption
* c0b77b123ed9d375a6190f0e5fae4e5fbce02e8e feat(recipe): contract bindings — exact is somebody else's parser
* 48da7478d5a8c960820a1cb9f7445820182caf21 test(e2e): the fleet rule end to end

## v0.2.0 — 2026-07-15

https://github.com/ydnikolaev/sporo/releases/tag/v0.2.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.2.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.2.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.2.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.2.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.2.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.2.0_windows_arm64.zip` |

Not sure which Mac you have?  → Apple menu → "About This Mac": a chip that says
"Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run
`xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH
(e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Other changes
* eeb03c8c9f997b20d8ec35955b31705d3a0ccacd build(dist): answer 'which file is mine?' in every release header
* e8da0e40d5f2c43fb0d0925068ed9ffd2db07ff0 chore(mate): pull v0.86.0 and add the codex provider surface
* 695323b4f1b890c7661ce50e73110c084bdcc7d6 chore(skill): teach the scaffold-first authoring flow
* d2aab0bcb459be3946a2ed68f2aceff24eee32e0 feat(cli): sporo new, and lint that reports the drafts it skips
* e13c86644dfc78c6f884ca59fd50e96e9fc975e7 feat(recipe): close the authoring pains — drafts, scaffold, bare paths
* 3b7f5f843051b0a4a5c5116509ff40c0dba189da fix(review): close the two ambiguities the first live run surfaced
* 25350381aa744f173cd3c8e9911b39bf67477236 test(e2e): the scaffold flow — coached, gate-exempt, unable to ship

## v0.1.0 — 2026-07-15

https://github.com/ydnikolaev/sporo/releases/tag/v0.1.0

### Which file do I download?

| your machine | file |
|---|---|
| **macOS on Apple Silicon** (M1/M2/M3/M4) | `sporo_0.1.0_darwin_arm64.tar.gz` |
| **macOS on Intel** | `sporo_0.1.0_darwin_amd64.tar.gz` |
| Linux x86-64 | `sporo_0.1.0_linux_amd64.tar.gz` |
| Linux ARM64 | `sporo_0.1.0_linux_arm64.tar.gz` |
| Windows x86-64 | `sporo_0.1.0_windows_amd64.zip` |
| Windows ARM64 | `sporo_0.1.0_windows_arm64.zip` |

Not sure which Mac you have? → Apple menu → "About This Mac": a chip that says "Apple M…" means `arm64`; "Intel" means `amd64`.

**macOS, one-time:** the pre-release binary is unsigned, so after unpacking run `xattr -d com.apple.quarantine ./sporo`, then move it onto your PATH (e.g. `mv sporo /usr/local/bin/`). Verify with `sporo --version`.

## Changelog
### Other changes
* 4bfda8829422c9d596c9499e02672426f2d9c2de build(dist): goreleaser release train, CI, and installer
* e7ccebbc5ab1d074b3802247f2afc6e54a6e24db chore(harness): adopt mate v0.85.0 as the dev harness
* 6ae08f4010c11cb84df7a6769043ff6bc970f732 docs(recipes): proofread the genre spec, add the scale rule
* 96bde4585731a6b1662f6bfd3dc9c7db463b18e3 feat(cli): wire the full verb surface
* b287234694513d1f5949e89a046a9f0c2d2f01a5 feat(install): init/update provider surface with no-clobber sync
* 91ea1738a17662c404e1021f414802f42166d35a feat(recipe): feedback channel, review packs, bundle composition
* 3b4bbb8ddad0cc4be032225865b640c0fc823d1e feat(recipe): require versioned recipes and seal them in a registry
* 2f77365af78e10a5673102be2148295dc8ce4883 feat: extract the recipe engine into a standalone CLI
* ea36d0056730bf118918c419a945da7dd89c320c test(e2e): drive the built binary through the whole loop in isolation
