Repository navigation
v0.16.0
This release explicitly targets Hubuum server v0.0.20.
Security
- Update
rustls-webpkito 0.103.16 andwebpki-root-certsto 1.0.10 for
RUSTSEC-2026-0382 and RUSTSEC-2026-0383.
Added
- Opt-in
login_session(credentials, client_id)for the server's versioned
interactive session API, with sync/async parity. Cloned clients serialize
refresh and atomically replace both credentials. Passwords are not retained;
refresh credentials remain in memory and are never automatically retried. session_info()exposes non-secret deadlines;session_providers()discovers
providers on the versioned API. Legacy login and explicit PAT injection remain
available for older servers and service credentials, respectively.
Changed
- Breaking server target: upgrade to Hubuum v0.0.20 and use
login_sessionfor interactive authentication. Older server login routes are
unavailable on this server. Upgrade API, worker, and restore binaries together
during the documented offline migration; keep a pre-upgrade backup for rollback. - Recognize backup format 10 and the 257-operation OpenAPI contract. New history,
hydration, credential activity, and observation-management operations are
available throughraw(); see the documented typed API gaps. - Refresh all dependencies compatible with Rust 1.88 and all GitHub Actions pins,
including the HTTPmock 0.9 test API. - Breaking: Client
token()and deprecatedget_token()now return
Result<Token, ApiError>snapshots instead of borrowed strings, and
token_expires_at()returns an owned timestamp. Callers must handle unavailable
session credentials and useclient.token()?.as_str()when raw bearer access
is necessary. A refresh failure, cancellation, or ambiguous response requires
login again; logout clears session credentials across clones. - Enable Tokio's
syncfeature for async refresh coordination. The Rust 1.88
MSRV and supported public feature combinations remain unchanged.