Skip to content

Commit 75adb05

Browse files
release: v2.0.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 97ff56c commit 75adb05

File tree

5 files changed

+30
-14
lines changed

5 files changed

+30
-14
lines changed

.claude/skills/release/SKILL.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,14 @@ Once confirmed:
3737
2. Bump version in `Cargo.toml` (the `version = "..."` field under `[package]`).
3838
3. Run `cargo check` to ensure the project builds successfully after the version bump.
3939
4. Update `CHANGELOG.md`:
40-
- Move everything under `## [Unreleased]` into a new `## [X.Y.Z] - YYYY-MM-DD` section (use today's date).
40+
- Move everything under `## [Unreleased]` into a new `## [X.Y.Z] - YYYY-MM-DD` section (use today's date), placed immediately below `## [Unreleased]` (i.e., at the top of the released versions list).
4141
- Leave `## [Unreleased]` empty (with just the heading).
42-
5. Run `cargo test` to verify nothing is broken.
43-
6. Run `cargo clippy -- -D warnings` and `cargo fmt -- --check`.
44-
7. Commit: `release: vX.Y.Z`
45-
8. Push the branch and create a PR with title `release: vX.Y.Z`.
46-
9. The PR body should include the changelog entries for this version.
42+
- Each released version must have its own section with its changes — never merge entries across versions.
43+
5. Search all documentation files (`docs/`, `README.md`, `examples/`) for references to the previous version (e.g. image tags like `initium:1.3.1`, version strings) and update them to the new version. Exclude `CHANGELOG.md` (historical entries should keep their original versions).
44+
6. Run `cargo test` to verify nothing is broken.
45+
7. Run `cargo clippy -- -D warnings` and `cargo fmt -- --check`.
46+
8. Commit: `release: vX.Y.Z`
47+
9. Push the branch and create a PR with title `release: vX.Y.Z`.
48+
10. The PR body should include the changelog entries for this version.
4749

4850
When the PR merges, the auto-tag workflow detects the version bump in `Cargo.toml` and creates the `vX.Y.Z` tag, which triggers the release workflow (Docker build + crates.io publish).

CHANGELOG.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [2.0.0] - 2026-03-14
11+
1012
### Security
1113

1214
- Cosign keyless image signing in release workflow for both `initium` and `initium-jyq` container images. Images are signed using Sigstore OIDC via GitHub Actions. SBOM attestations are also signed and attached to each image.
@@ -15,7 +17,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1517
### Added
1618

1719
- `urlencode` template filter for percent-encoding strings in URLs. Useful for embedding passwords or other values containing URL-reserved characters (`@`, `%`, `:`, `/`, etc.) in connection strings.
18-
- `dprint` formatter for Markdown, JSON, TOML, YAML, and Dockerfile with CI check (`dprint/check@v2.2`) and definition-of-done gate.
1920
- Structured database connection config as an alternative to URL (`host`, `port`, `user`, `password`, `name`, `options` fields). Passwords with URL-reserved characters (`@`, `%`, `:`, etc.) work without encoding. Connections are built using driver-native APIs (PostgreSQL key-value DSN, MySQL `OptsBuilder`), bypassing URL parsing entirely. The `url`/`url_env` fields remain supported for backward compatibility. See [#39](https://github.com/KitStream/initium/issues/39).
2021

2122
### Removed
@@ -29,8 +30,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2930

3031
### Fixed
3132

33+
- Reject unsupported `options` field in MySQL structured config — MySQL `OptsBuilder` does not support arbitrary connection options.
34+
35+
### Chores
36+
37+
- `dprint` formatter for Markdown, JSON, TOML, YAML, and Dockerfile with CI check (`dprint/check@v2.2`) and definition-of-done gate.
38+
- YAML plugin for `dprint` formatter.
3239
- Render tests now use an RAII `EnvGuard` to restore environment variables on drop, preventing cross-test interference when tests run in parallel.
40+
- `EnvGuard` now uses `OsString` for correctness and supports `remove()` constructor for unsetting variables.
41+
42+
## [1.3.1] - 2026-03-12
43+
44+
### Fixed
45+
3346
- Auto Tag workflow now uses `RELEASE_TOKEN` instead of `GITHUB_TOKEN` so the pushed tag triggers the Release workflow. Tags pushed by the default `GITHUB_TOKEN` do not trigger other workflows (GitHub Actions security feature).
47+
- Added `RELEASE_TOKEN` preflight check to Auto Tag workflow and removed unused environment variable.
3448

3549
## [1.3.0] - 2026-03-12
3650

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Quality gates
2828

2929
6. Update CHANGELOG with all changes.
3030
- Every user-visible change must be added to CHANGELOG.md under “Unreleased”.
31-
- Use categories: Added / Changed / Fixed / Security / Deprecated / Removed.
31+
- Use categories: Added / Changed / Fixed / Security / Deprecated / Removed / Chores.
3232
- Mention migration steps if behavior changes.
3333

3434
Robustness & correctness

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "initium"
3-
version = "1.3.1"
3+
version = "2.0.0"
44
authors = ["Kitstream <opensource@kitstream.io>"]
55
categories = ["command-line-utilities", "development-tools"]
66
documentation = "https://docs.rs/initium"

docs/security.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ Release images are signed with [cosign](https://github.com/sigstore/cosign) usin
8787
cosign verify \
8888
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
8989
--certificate-identity 'https://github.com/KitStream/initium/.github/workflows/release.yml@refs/tags/v*' \
90-
ghcr.io/kitstream/initium:1.3.1
90+
ghcr.io/kitstream/initium:2.0.0
9191
9292
# Or use the Makefile target (also supports IMAGE=ghcr.io/kitstream/initium-jyq)
93-
make verify-image VERSION=1.3.1
93+
make verify-image VERSION=2.0.0
9494
```
9595

9696
### Verify SBOM attestation
@@ -100,7 +100,7 @@ cosign verify-attestation \
100100
--type spdx \
101101
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
102102
--certificate-identity 'https://github.com/KitStream/initium/.github/workflows/release.yml@refs/tags/v*' \
103-
ghcr.io/kitstream/initium:1.3.1
103+
ghcr.io/kitstream/initium:2.0.0
104104
```
105105

106106
### View provenance and SBOM
@@ -109,8 +109,8 @@ Provenance and SBOM attestations are generated by Docker BuildKit during the ima
109109

110110
```bash
111111
# View provenance
112-
docker buildx imagetools inspect ghcr.io/kitstream/initium:1.3.1 --format '{{json .Provenance}}'
112+
docker buildx imagetools inspect ghcr.io/kitstream/initium:2.0.0 --format '{{json .Provenance}}'
113113
114114
# View SBOM
115-
docker buildx imagetools inspect ghcr.io/kitstream/initium:1.3.1 --format '{{json .SBOM}}'
115+
docker buildx imagetools inspect ghcr.io/kitstream/initium:2.0.0 --format '{{json .SBOM}}'
116116
```

0 commit comments

Comments
 (0)