Releases: ihusnainalii/SwiftNetworkKit
Releases · ihusnainalii/SwiftNetworkKit
Release list
v2.0.1
v2.0.0
2.0.0 (2026-09-27)
⚠ BREAKING CHANGES
- give NetworkError.sslPinningFailed a diagnosable reason
- make SSLPinningConfiguration.includeSubdomains reachable
- AuthorizationCodeFlow.authorizationURL throws instead of force-unwrapping
Features
- add NetworkClient.validated(configuration:...), a throwing alternative to the trapping init (3ba3e3f)
- give NetworkError.sslPinningFailed a diagnosable reason (675a4c7)
- make SSLPinningConfiguration.includeSubdomains reachable (c928fbd)
Bug Fixes
v1.2.1
v1.2.0
1.2.0 (2026-09-27)
Features
- isolate cache and dedup by account and add clearCache() (bf4157b)
Bug Fixes
- auth: do not hide a failed seed encoding in InMemoryTokenStorage (2e5e09d)
- auth: surface token storage failures instead of swallowing them (bfd8fa1)
- cache: hash disk cache keys with SHA-256 and stop persisting cookies (1372b82)
- cache: let cancelAll stop a background revalidation (9566b00)
- cache: run stale-while-revalidate refreshes through the queue and log failures (80f4527)
- client: deregister requests before returning and log offline enqueue failures (730395b)
- combine: guard the publisher task handle with the existing lock (b4fe786)
- connectivity: publish network path updates in order (42ca6d0)
- dedup: name both types when a shared key returns the wrong one (cfbca01)
- download: report a failed move instead of returning a missing file URL (1ea9f03)
- keychain: apply the current accessibility class when overwriting an item (257dcbe)
- keychain: make the availability probe safe to call concurrently (1cbcb63)
- logging: redact sensitive query items from logged URLs (a997da1)
- metrics: strip bodies and credentials from failure events (ca4e618)
- oauth: log the decoding cause of a malformed token response (62ece13)
- oauth: mask credentials echoed in a failed token response (91f24b0)
- offline: stop losing queued requests silently (60f0370)
- pagination: collectAll throws at the page cap instead of returning a partial list (5655ff0)
- pinning: log why a pin check failed and hash SPKI without CryptoKit (5c0edca)
- pinning: report an unreadable certificate file as unreadable, not missing (ca4971d)
- queue: release the queue slot when a waiting request is cancelled (707b81d)
- revert nonisolated(nonsending) syntax that broke CI's swift-format (2c81ed1)
- streams: bound the connectivity and offline event buffers (6ea657f)
- swiftui: treat a cancelled load as neither a failure nor the end of a list (155501b)
- transfers: run response interceptors for uploads and downloads (613ade7)
- upload: surface a failed flush when closing a multipart body file (7da744f)
- use the non-deprecated task-local overload in withCorrelation (209c527)
Performance
- reuse one HTTP date formatter for Retry-After (b391719)
Documentation
- demo: add an account-switch walkthrough for per-account cache and clearCache (961f1fc)
- demo: show per-account caching in the CLI tour (112f01a)
- document account-scoped cache, query redaction and offline limits; fix CustomAuth example (c051036)
- note the collectAll page cap and sanitized failure metrics (ab2dce6)
- note transfer sessions and offline replay limits on the public API (763eeb9)
- record which QA review items are fixed (e3e37f6)
- regenerate the API reference (3fb8921)
- regenerate the API reference (9305e89)
- update the QA record (cee4229)
- update the QA record with the remaining fixes and what was skipped (6b67fa0)