- Merge pull request #1535 from zingolabs/rc-0.10.0
- build: bump crate versions and section changelogs for 0.10.0
- Merge pull request #1533 from zingolabs/dev
- Merge pull request #1534 from zingolabs/chore/backport-0.9.0-into-dev
- build(live-tests): record zaino-proto 0.5.0 in the lockfile
- docs(zaino-proto): drop the unreleased ShieldedProtocol::Ironwood entry
- docs(zaino-state): move the chain-store entry out of the released 0.8.0 section
- Merge 0.9.0 (stable) into dev
- Merge pull request #1531 from zingolabs/fix/restore-deleted-adrs
- docs: restore ADRs 0002-0004 deleted in #1265
- Merge pull request #1265 from zingolabs/feat_migrate_tests
- test fixes and cleanup
- update ztest CI workflow
- test: migrate the live suite to the ztest k8s harness
- Merge pull request #1462 from zingolabs/feat/release-pipeline
- Merge pull request #1521 from zingolabs/fix/pr1462-review-findings
- fix(ci): apply the sync PR's labels at creation and exempt it from the rename bot
- fix(ci): resolve the workflow findings from the review of PR #1462
- fix(relman): resolve the review findings pinned by the failing tests
- test(relman): pin the review findings of PR #1462 with failing tests
- feat(backport-sentinel): gate auto-merge behind RELMAN_BACKPORT_AUTOMERGE (default off)
- feat(release): first-cut gate-suite manifest with real test classification
- docs(release): specify suite-membership criterion, manifest schema, answer envelope
- docs(release): mark the rc-gate publisher as a reference, not a live producer
- docs(release): record the wired rc-gate publisher and manual deployment sign-off
- feat(release): wire the rc-gate signal publisher and a manual deployment sign-off
- docs(adr): one ledger — fold decision_records/ into docs/adr/
- docs(adr): record the release-pipeline decision as ADR-0016; periodic flow becomes ADR-0015
- docs(release): reclassify the release documents as specifications under docs/release/
- Merge branch 'dev' into feat/release-pipeline
- docs: state the decision-record ledger rule and the relationship to docs/adr/
- docs(release): consolidate the trust model in implementation.md
- docs(release): restore periodic.md as a superseded record
- Merge pull request #1502 from zingolabs/pr1483-review-fixes
- feat(chain-store-zainodb): instrument the whole read path via a labelled DB_READ_SECONDS{op}
- chore(metrics): drop mempool metric names that no crate emits
- refactor(chain-store): seal per-port CAPABILITY so no backend can override it
- refactor(chain-store-zainodb): split backend-state from capability refusal and type FeatureUnavailable
- Merge pull request #1483 from zingolabs/feat/isolate_finalised_state_plus_ports_rebased
- Merge remote-tracking branch 'origin/dev' into feat/isolate_finalised_state_plus_ports_rebased
- Merge pull request #1395 from zingolabs/remove_zcashd
- feat!: remove zcashd support entirely
- docs(chain-store): record the review's changes in the usage guides
- refactor(chain-index): split the chain-store adapter into reading and driving
- refactor(chain-store-zainodb): rename ports to adapter and split it up
- fix: typo
- feat(chain-store-zainodb): instrument the finalised read path
- refactor(chain-store): hold PoolFilter's pools as a set
- refactor(chain-store): return a typed, checked net value from address effects
- refactor(chain-store): read a store's advertised capability off the port
- fix(metrics): define each metric name once, in the crate that emits it
- refactor(chain-store-zainodb): share one header mapping between both directions
- fix(state): route a store error by naming it, not by excluding one case
- fix(chain-index): tell a client an unbuilt index is not a server fault
- fix(chain-store): name a corrupt row as corruption, not as a missing one
- fix(chain-store-zainodb): hand the backend's cause across the port boundary
- refactor(chain-store): let a store error carry its cause
- fix(chain-index): log a finalised compact-block read failure before falling back
- fix(chain-index): propagate the store's typed error from get_tx_out_set_info
- fix(chain-store-zainodb): map a routing refusal to the capability it denied
- Merge branch 'dev' into feat/isolate_finalised_state_plus_ports_rebased
- Merge pull request #1487 from zingolabs/fix/chain-head-domain-not-found-exhaustive
- chain-head-service: match named domain not-found variant exhaustively
- docs: ADR 0012, changelogs and usage guides for the chain store
- test(chain-store-zainodb): move the finalised-state suites into the backend crate
- refactor(state): read the finalised state through the chain store
- feat(chain-store-zainodb): implement the chain-store ports
- feat(chain-store-zainodb): move the finalised state into the backend crate
- feat(chain-store-zainodb): move the persisted types into the backend crate
- fix(chain-store): name the validator questions the store actually asks
- feat(chain-store): add zaino-chain-store, the ChainStore domain crate
- Merge branch 'dev' into feat/release-pipeline
- feat(primitives): add the chain store's shared vocabulary
- feat(encoding): add zaino-encoding
- refactor(state): move MempoolInfo into zaino-primitives
- fix(state): repair the experimental feature set and build it in CI
- fix(state): map the current schema version to its capability set
- add golden vector tests to ensure code is moved correctly
- Merge branch 'dev' into feat/release-pipeline
- refactor(rc-gate): decouple the gate from its suite (named-signal indirection)
- docs(deployment-gate): validation is a dial (warm-tip fixtures ↔ full-sync), automated and/or manual
- ci(cutover): wire rc-gate's e2e precondition; flag release.yaml
- change(relman): drop the
vfrom per-crate version tags - feat(deployment-gate): build the GitHub side of the bridge
- ci(changeset-rename): pass PR head ref via env (script-injection hardening)
- ci(release-pr): label bot PRs for scannability
- fix(backport-sentinel): self-heal auto-merge; retry past the mergeability race
- ci(release-pr): hyperlink tag/commit refs in the timeline comments
- ci(hotfix-notice): quote the fix subject, not the merge commit
- ci(release-pr): append-only comment timeline + live body snapshot
- test(sandbox): add hotfix stage (land a fix directly on rc)
- test(sandbox): add reset stage to the cycle driver
- test(sandbox): step-by-step cycle driver for live pipeline demos
- Merge remote-tracking branch 'origin/feat/release-pipeline' into feat/release-pipeline
- test(sandbox): drive consume→ledger→bless→sentinel end-to-end check
- feat(relman): consumed-UID ledger for backport-independent dedup
- Merge branch 'dev' into feat/release-pipeline
- style(it): fix shellcheck findings in the changeset-check harness
- feat(backport-sentinel): auto-merge the sync PR, self-dissolving when clean
- test(sandbox): deploy + drive a targeted backport-sentinel check
- ci(backport-sentinel): carry stable back into dev after a release/hotfix
- docs(pipeline): blessing marks changesets consumed, not clears
- feat(relman): give every changeset an immutable UID at creation
- feat(relman): mark changesets consumed instead of erasing them
- ci(blessing): pre-flight publishability check before any commit/tag/release
- style(relman-core): rustfmt cycle_status
- docs(readme): add Release pipeline badges
- ci(release-pr-body): gather cycle status and render the dashboard
- docs+tools: make the deployment-gate testable without waiting days
- feat(relman): render release-cycle dashboard in pr-body
- feat(relman-core): add CycleStatus input type
- ci(blessing): derive tags/publish-plan before clearing changesets; add GitHub Release
- ci: release-pr-body creates the PR via the App token
- ci: rename bot pushes via App token so the dev-gate re-runs
- test(relman): local act+podman integration test for changeset-check
- ci(relman): run changeset-check via setup-relman, not cargo run
- ci(relman): add setup-relman composite action
- tools: add fork pipeline-sandbox setup script
- ci: add RELMAN_PUBLISH_DRY_RUN toggle to blessing
- docs(release): rename test-type "soak" to "deployment"
- ci: drop last RELEASE_TOKEN mention in blessing comment
- ci: use a GitHub App token (not a PAT) for protected-branch pushes
- ci(release): add blessing workflow (release on merge to stable)
- ci(release): add rc-gate advancement and release-PR-body workflows
- ci(release): add CODEOWNERS template and pr- changeset rename bot
- relman: rustfmt the new changeset test bodies
- relman: wire changeset rename/clear CLI commands
- relman: add rename_to_pr/clear/list to Changesets port
- relman: add rename/remove to ChangesetStore port
- ci: wire relman into CI (lint/test + advisory dev-gate changeset check)
- relman-cli: warn on stderr about skipped unfilled changeset templates
- relman-core+domain: tolerate unfilled templates in aggregation, flag in check
- relman-core: distinguish unfilled changeset templates from malformed
- feat(relman): add --version flag and walk-up relman.toml discovery
- relman: wire tags, pr-body, publish-plan CLI commands
- relman: ReleaseArtifacts port + service (tags, pr-body, publish-plan)
- relman: add CycleId, Tag, TagPlan, PublishPlan core types
- relman: wire relman changelog [--dry-run] command
- relman: add FsChangelogStore filesystem adapter
- relman: add ChangelogService implementing the Changelog port
- relman: add pure Keep-a-Changelog render functions
- relman: add ChangelogStore + Changelog ports and MapChangelogStore mock
- relman: wire
relman bump [--dry-run]command - relman: add BumpService applying a derived BumpTable
- relman: add toml_edit ManifestEditor adapter
- relman: add ManifestEditor + ApplyBump ports and recording mock
- relman: add
relman versionscommand and wire VersionService - relman: add CargoMetadataWorkspace adapter
- relman: add VersionService deriving direct + transitive bumps
- relman: add Workspace driven port and Versions driving port
- relman: add Version, Bump, BumpTable core types
- relman: update lockfile for relman-domain -> relman-config edge
- relman: wire changeset check command through the CLI and composition root
- relman-adapters: add GitVcs implementing the Vcs port via git diff
- relman-domain: add ChangesetCheckService enforcing changeset coverage
- relman-core: add Vcs port and changeset-check driving port
- relman: wire changeset new command through the CLI and composition root
- relman-adapters: add crate with FsChangesetStore and RandomSlugSource
- relman-domain: add ChangesetService implementing the Changesets port
- relman-core: add in-memory changeset store and slug source mocks
- relman-core: add Slug type and changeset ports
- relman-core: add Changeset model with TOML parse/serialize
- relman-core: add Description and ChangeEntry changeset value types
- relman-core: add ChangeKind and Section changeset value types
- feat(relman): govern all 17 publishable crates
- Add repo-root relman.toml with the 13 governed targets
- relman-config: parse relman.toml into typed ReleaseConfig
- relman-core: add CrateName, WorkspacePath, ReleaseOptions, Target newtypes
- feat(relman): scaffold isolated hexagonal CLI skeleton (slice 0)
- docs(release): relman hexagon structure + relman.toml target manifest
- docs(release): add implementation architecture sub-spec
- docs(release): add changeset format sub-spec
- docs(release): tool home is a sibling relman crate, not workbench
- docs(release): record impl approach and workflow teardown
- docs(release): redesign release pipeline spec