chore: 1.0 release prep — version bumps + CHANGELOG dating + checklist (#44)#118
Merged
joaquinbejar merged 1 commit intomainfrom May 6, 2026
Merged
chore: 1.0 release prep — version bumps + CHANGELOG dating + checklist (#44)#118joaquinbejar merged 1 commit intomainfrom
joaquinbejar merged 1 commit intomainfrom
Conversation
#44) Coordinated 1.0 prep for the four core crates plus the meta-crate per ADR-0007 and the v1.0 roadmap entry. Lands the artifacts needed for the actual `cargo publish` step but stops short of publishing — the operator-only release procedure is in `RELEASE-1.0-CHECKLIST.md`. Promoted to 1.0 in this release: - itch-protocol 0.1.0 -> 1.0.0 - itch-tcp 0.1.0 -> 1.0.0 - itch-soup 0.1.0 -> 1.0.0 - itch-mold 0.1.0 -> 1.0.0 - itch-rs (meta) 0.1.0 -> 1.0.0 Not promoted (stay on 0.x; ship 1.0 in a later coordinated release): itch-source, itch-replay, itch-conformance, itch-book, itch-orderbook, itch-source-redis, itch-source-postgres, itch-source-kafka, itch-compressed. Changes: - Each promoted crate's `Cargo.toml` switched from `version.workspace = true` to an explicit `version = "1.0.0"`, decoupling them from the workspace `[workspace.package].version = "0.1.0"` floor that the rest of the crates still inherit. - `[workspace.dependencies]` cross-references for the four promoted core crates bumped to `version = "1.0"`. The inter-promoted-crate dependency graph (e.g. `itch-tcp` -> `itch-protocol`) now resolves to the 1.0 line on crates.io. - `crates/itch-replay/Cargo.toml` and `crates/itch-source/Cargo.toml` path-deps bumped from `version = "0.1"` to `version = "1.0"` for `itch-protocol`. - Each promoted CHANGELOG: closed `## Unreleased` -> `## 1.0.0 - 2026-05-06`, with a "Stability commitment" preamble citing the SemVer guarantee from `API.md`. - New `RELEASE-1.0-CHECKLIST.md` (repo root): operator-only step-by-step procedure for the actual `cargo publish` and `git tag` invocations, in the mandatory order (itch-protocol -> three transports -> itch-rs), plus the GitHub Releases creation, post-release smoke test from a fresh consumer crate, announcement template, and rollback path (`cargo yank`). The release-prep PR itself does not invoke `cargo publish` or push tags. Those are irreversible operations; running them lives on the operator after this PR merges and the user has reviewed the locked-in artifacts. All gates clean: - `cargo build --workspace --all-features` - `cargo clippy --workspace --all-targets --all-features -- -D warnings` - `cargo test --workspace --all-features` - `cargo fmt --all --check` Closes #44 (release-prep portion). The actual publish-and-tag step is operator-only per the checklist; the issue stays "closed" once the operator confirms 1.0.0 is live on crates.io for all five crates. Signed-off-by: Joaquin Bejar <jb@taunais.com>
There was a problem hiding this comment.
Pull request overview
Prepares the repository for a coordinated 1.0.0 release of the core ITCH crates (itch-protocol, itch-tcp, itch-soup, itch-mold) plus the itch-rs meta-crate by bumping versions, updating dependency constraints, and stamping 1.0.0 release entries into changelogs, along with an operator-run release checklist.
Changes:
- Bump the five promoted crates to
1.0.0(explicit per-crate versions) and update workspace dependency constraints for the four core crates toversion = "1.0". - Close out
## Unreleasedin promoted crates’ changelogs into## 1.0.0 — 2026-05-06and add an explicit stability commitment section. - Add
RELEASE-1.0-CHECKLIST.mddocumenting the ordered publish/tag/release process and post-release smoke test steps.
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
RELEASE-1.0-CHECKLIST.md |
Adds the operator checklist for publishing/tagging/releasing the 1.0 crates. |
Cargo.toml |
Updates workspace dependency versions for the promoted core crates (and adds explanatory comments). |
Cargo.lock |
Reflects the 1.0.0 version bumps in the lockfile. |
crates/itch-protocol/Cargo.toml |
Sets itch-protocol package version to 1.0.0. |
crates/itch-tcp/Cargo.toml |
Sets itch-tcp package version to 1.0.0. |
crates/itch-soup/Cargo.toml |
Sets itch-soup package version to 1.0.0. |
crates/itch-mold/Cargo.toml |
Sets itch-mold package version to 1.0.0. |
crates/itch-rs/Cargo.toml |
Sets itch-rs (meta-crate) package version to 1.0.0. |
crates/itch-protocol/CHANGELOG.md |
Stamps 1.0.0 — 2026-05-06 and adds stability commitment text. |
crates/itch-tcp/CHANGELOG.md |
Stamps 1.0.0 — 2026-05-06 and adds stability commitment text. |
crates/itch-soup/CHANGELOG.md |
Stamps 1.0.0 — 2026-05-06 and adds stability commitment text. |
crates/itch-mold/CHANGELOG.md |
Stamps 1.0.0 — 2026-05-06 and adds stability commitment text. |
crates/itch-rs/CHANGELOG.md |
Stamps 1.0.0 — 2026-05-06 and adds stability commitment text for the meta-crate surface. |
crates/itch-source/Cargo.toml |
Updates itch-protocol dependency requirement to version = "1.0". |
crates/itch-replay/Cargo.toml |
Updates itch-protocol dependency requirement to version = "1.0". |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+41
to
+42
| # itch-tcp, itch-soup, itch-mold, itch-rs (meta). The remainder | ||
| # stay on 0.x for now and ship 1.0 in a later coordinated release. |
|
|
||
| Order is **mandatory**. Each crate must be live on crates.io | ||
| before the next one publishes; otherwise `cargo publish` rejects | ||
| the dependent because its `version = "1.0"` resolves to nothing. |
Comment on lines
+43
to
+46
| reasonable variance. If they have drifted, re-publish under | ||
| `docs/benchmarks/<release-date>/` and update | ||
| `docs/COMPETITIVE-ANALYSIS.md` (local-only) + | ||
| `BENCH.md` (tracked) before tagging. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #44 (release-prep portion).
Summary
Coordinated 1.0 prep for the four core crates plus the meta-crate per ADR-0007 and the v1.0 roadmap entry.
Promoted to 1.0:
Not promoted (stay on 0.x; ship 1.0 later): `itch-source`, `itch-replay`, `itch-conformance`, `itch-book`, `itch-orderbook`, `itch-source-redis`, `itch-source-postgres`, `itch-source-kafka`, `itch-compressed`.
Changes
Test plan