Releases: jedisct1/swift-sodium
Releases · jedisct1/swift-sodium
0.11.0
0.11.0
New features
- Added ML-KEM bindings, exposing post-quantum key encapsulation through a new
KEMAPI with both a functional interface and aKeyPairGenerator. - Bundled libsodium has been updated, pulling in the latest upstream headers including
crypto_hash_sha3,crypto_kem,crypto_kem_mlkem768, andcrypto_kem_xwing.
Build and packaging
- The SwiftPM manifest now uses platform conditions to pick between the bundled
Clibsodium.xcframeworkon Apple platforms and system libsodium (via pkg-config) on Linux, Android, Windows, and OpenBSD. - Public headers have been reorganized under
Headers/Clibsodiumfor a cleaner module layout.
0.10.0
New Features
- IpCrypt support - Added bindings for IP address encryption/decryption using ipcrypt (deterministic and non-deterministic modes)
- New AEAD ciphers - Added support for AEGIS-128L, AEGIS-256, and AES256-GCM authenticated encryption
- SodiumRandomNumberGenerator - New struct conforming to Swift's RandomNumberGenerator protocol
- Version property - Added sodium.version to query the underlying libsodium version
Platform Support
- Added visionOS support
- Added arm64e architecture builds
- Raised iOS deployment target to 13.0
- Built with Xcode 15.2 / libsodium-stable
Library Updates
- Updated to libsodium 1.0.20 with fast AES-GCM implementation on supported hardware
Bug Fixes
- Fixed Stream cipher using incorrect functions for nonce and key sizes
- Fixed iOS build issues
- Replaced deprecated libsodium functions
- Workaround for Swift bug SR-14038
- Added RFC8032 test vectors for Ed25519 signature verification
Breaking Changes
- CocoaPods support removed - Use Swift Package Manager instead
Documentation
- Improved documentation for common cryptographic functions
- Updated README with new API examples