Skip to content

0.10.0

Latest

Choose a tag to compare

@foscomputerservices foscomputerservices released this 19 Jul 16:37

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 with CredentialRejectedError, the provider may refresh and return replacement headers, and the request is retried exactly once; returning nil (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