Releases: CassetteLab/swiftsonic
Releases · CassetteLab/swiftsonic
Release list
v0.9.0
Full Changelog: v0.8.3...v0.9.0
v0.8.3
[0.8.3] - 2026-05-25
Fixed
- Search results no longer fail entirely when a single malformed item is present
in asearch2orsearch3response. Malformed items are now skipped and
logged at debug level; all valid items are returned as usual.
Full Changelog: v0.8.2...v0.8.3
v0.8.2
v0.8.1
v0.8.0
Full Changelog: v0.7.0...v0.8.0
Full Changelog: v0.7.0...v0.8.0
V0.7
Full Changelog: v0.6.1...v0.7.0
Full Changelog: v0.6.1...v0.7.0
v0.6.1
v0.6.0
v0.5.0
Security hardening — internal audit (Blocs A–D + Bloc B)
Upgrade recommended. No breaking changes.
Security
- [D3] Cross-domain redirect blocking —
RedirectGuardinURLSessionTransportblocks redirects to untrusted hosts, surfacesSwiftSonicError.insecureRedirect(from:to:). - [A3] Salt 16 chars + explicit
SystemRandomNumberGenerator(CSPRNG). - [D2] HTTP plain-text warning via dedicated
os.Logger(com.swiftsonic/security), always active. - [D4]
requestTimeoutfloor of 1 second inServerConfiguration.init. - [C1]
SwiftSonicErrorconforms toLocalizedErrorwith credential-safe descriptions. - [B1/B2]
URL.safeDescriptioninternal helper + 19 canary-value no-leak regression tests.
Added
SwiftSonicError.insecureRedirect(from:to:)new error case.URL.safeDescriptioninternal helper.
Tests
253 tests, 0 failures.
Full changelog: https://github.com/MathieuDubart/swiftsonic/blob/main/CHANGELOG.md