Skip to content

Releases: SwiftKitz/Storez

v5.0.0

19 Feb 11:48

Choose a tag to compare

Swift 6 & Modernization

A major release modernizing Storez for Swift 6 and current Apple platform requirements.

Breaking Changes

  • Swift 6 language mode enabled — requires Swift 5.9+ toolchain
  • Platform minimums raised — iOS 15, macOS 12, tvOS 15, watchOS 8
  • ChangeBlock is now @Sendable — closures passed to Key must be Sendable
  • CocoaPods removed — use Swift Package Manager exclusively
  • UserDefaultsStore.init(suite:) no longer force-unwraps — falls back to .standard on failure; suite parameter now defaults to nil

Improvements

  • Replaced deprecated insecure NSKeyedArchiver/NSKeyedUnarchiver APIs with secure alternatives
  • Removed deprecated UserDefaults.synchronize() calls
  • Added PrivacyInfo.xcprivacy (required for App Store submission since May 2024)
  • Added Sendable conformances: Key, UserDefaultsStore, CacheStore, GlobalNamespace
  • Compiles cleanly with -strict-concurrency=complete
  • Updated GitHub Actions (actions/checkout v2 → v4)
  • Removed stale compiler crash workarounds in Cache layer

MVP

19 Dec 23:44

Choose a tag to compare

MVP

The library has been in private beta, and I only made it public after shipping it with my apps to the AppStore. You can rest assured it is battle tested.