The self-healing-credential release: a rotated server credential recovers instead of failing the client permanently.
Highlights
ClientCredentialProvider.credentialHeaders(afterRejection:)(FOSMVVM) — a refresh seam that lets a client recover from a server-side credential rotation. When a request is refused withCredentialRejectedError, the provider may refresh and return replacement headers, and the request is retried exactly once; returningnil(the default) preserves the prior behavior of throwing the rejection to the caller. It is a protocol requirement with a default, so every existing conformance keeps compiling and keeps today's behavior. Credential acquisition and persistence stay provider-side — the framework only notifies and re-sends.- The live-invalidation channel nudges the same seam on an SSE 401. A refused reconnect prompts the provider to refresh; the next reconnect re-consults
credentialHeaders(). The channel carries no credential state of its own — a refused ServerRequest forwards the server's actual code, while a refused reconnect always presents.invalid.
Full changelog: https://github.com/foscomputerservices/FOSUtilities/blob/0.10.0/CHANGELOG.md