Skip to content

Commit 4f85203

Browse files
auxesisclaude
andcommitted
chore(release): stack-auth and stack-profile 0.43.0
The first crates release from this repository, bumped by hand: release-plz cannot version the root workspace yet, because its history walks back to the suite's 0.42.3 release commit, which has no root Cargo.toml here. Both `[package]` versions and their two root `[workspace.dependencies]` entries move to 0.43.0. The root Cargo.lock and the five detached locks (the two Go guests and the three fuzz crates) each record the two path packages, so each fails `cargo metadata --locked` until refreshed; each lock changes those two versions only. 0.43.0 because three commits since 0.42.3 break stack-auth's API: 085b7f7 (`RequestError` boxes its error), 856f34b (`DeviceClientError::Request` carries a `RequestError`) and 505eb4e (`From<reqwest::Error> for AuthError` is gone). It also moves to cts-common 0.43, whose `Crn` this crate re-exports. stack-profile has no breaking change and follows the version group. Both CHANGELOG entries are written by hand in cliff.toml's layout. Merging this is the release: release-plz.yml's release-crates job is armed, sees 0.43.0 missing from crates.io, and publishes both. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PaY5xYydZUWhv8Nex9Sw8a
1 parent dfa43c2 commit 4f85203

11 files changed

Lines changed: 82 additions & 16 deletions

File tree

‎Cargo.lock‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ incremental = true
6868
# but cannot subtract them, and `stack-kms` / `stack-encrypt` need stack-auth
6969
# without `http`. Consumers that want the default transport re-enable it with
7070
# `features = ["http"]`.
71-
stack-auth = { path = "./packages/stack-auth", version = "0.42.3", default-features = false }
72-
stack-profile = { path = "./packages/stack-profile", version = "0.42.3" }
71+
stack-auth = { path = "./packages/stack-auth", version = "0.43.0", default-features = false }
72+
stack-profile = { path = "./packages/stack-profile", version = "0.43.0" }
7373

7474
# Suite crates, from crates.io; Cargo.lock holds the exact versions.
7575
# cts-common and zerokms-protocol take caret requirements because the

‎languages/golang/stackauth/guest/Cargo.lock‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎languages/golang/stackencrypt/guest/Cargo.lock‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎packages/stack-auth/CHANGELOG.md‎

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,58 @@
11

2+
## [0.43.0] - 2026-10-02
3+
4+
5+
### ⚠ Breaking changes
6+
7+
- `RequestError`'s tuple payload is now `Box<dyn std::error::Error + Send + Sync + 'static>` instead of `reqwest::Error`. Construct it with `RequestError::from(reqwest_error)` (or box the error yourself) instead of `RequestError(reqwest_error)`, and recover the concrete error with `.0.downcast_ref::<reqwest::Error>()` instead of using `.0` as a `reqwest::Error` directly. `source()` is unchanged; the `Display` message is now "Request to the auth server failed" (it was "HTTP request failed").
8+
- `DeviceClientError::Request` now carries a `RequestError` rather than a `reqwest::Error`; a match on that variant's payload changes type.
9+
- `From<reqwest::Error> for AuthError` is removed. Every reqwest failure enters the crate through `ReqwestTransport` as a `RequestError`; a caller that lifted a `reqwest::Error` into `AuthError` directly should wrap it in `RequestError` (`AuthError::Request(RequestError(Box::new(e)))`) or, better, send through the transport.
10+
- Depends on `cts-common` 0.43 (vitaminc 0.5) and `zerokms-protocol` 0.12.31, from crates.io. `Crn` (re-exported here), `Region`, `WorkspaceId` and the `cts-common` errors in this crate's API are `cts-common` 0.43 types, so a caller that passes them in needs `cts-common` 0.43 too.
11+
12+
### CI
13+
14+
- mutation-testing gate for stack-auth and stack-encrypt (cargo-mutants --in-diff)
15+
16+
### Documentation
17+
18+
- correct stale StaticTokenStrategy comments in Cargo manifests
19+
20+
### Features
21+
22+
- build stack-auth, stack-kms and stack-encrypt for WASI without reqwest
23+
- classify credential rejections where the variants live
24+
- a workspace CRN is reachable without reaching for cts-common
25+
- an HTTP transport trait mirroring the guest's host import, reqwest behind `http`
26+
- add Go credential strategies
27+
28+
### Fixes
29+
30+
- address review findings on the http feature split
31+
- address Copilot review on error Display strings
32+
- test modules keep a literal `cfg(test)` so the CRAP gate skips them; add the npm changeset
33+
- the wire types print nothing secret, wipe their headers, and lend reqwest the body
34+
- satisfy credential guest CI
35+
- lock only device refresh
36+
- never replay a spent refresh token after a failed save
37+
- identify every auth request with a user-agent
38+
39+
### Miscellaneous
40+
41+
- per-crate rustdoc gates for the stack crates, fanned out by `doc`
42+
- move to cipherstash/stack with its history: the first release from that repository's `release-plz.yml`, in a version group with stack-profile alone
43+
44+
### Refactoring
45+
46+
- replace crate-wide no-http allow(dead_code) with item-level http gates
47+
48+
### Testing
49+
50+
- pin mutation regression behavior
51+
- cover remaining mutation paths
52+
- address PR review findings
53+
- keep browser launcher mutable
54+
- address review notes on assertion messages
55+
256
## [0.42.3] - 2026-08-26
357

458

‎packages/stack-auth/Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "stack-auth"
33
description = "Authentication library for CipherStash services"
4-
version = "0.42.3"
4+
version = "0.43.0"
55
edition.workspace = true
66
authors.workspace = true
77
repository.workspace = true

‎packages/stack-auth/fuzz/Cargo.lock‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎packages/stack-encrypt/fuzz/Cargo.lock‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎packages/stack-kms/fuzz/Cargo.lock‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎packages/stack-profile/CHANGELOG.md‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3737

3838

3939

40+
## [0.43.0] - 2026-10-02
41+
42+
43+
### Features
44+
45+
- the crate builds for wasm32-wasip1, and names the lock file's path
46+
47+
### Miscellaneous
48+
49+
- per-crate rustdoc gates for the stack crates, fanned out by `doc`
50+
- move to cipherstash/stack with its history: the first release from that repository's `release-plz.yml`, in a version group with stack-auth alone. No change to the API; the version follows stack-auth's breaking release
51+
4052
## [0.42.3] - 2026-08-26
4153

4254

0 commit comments

Comments
 (0)