Releases: RNCryptor/RNCryptor
Swift 5
5.0.3 -- Warning fixes for Swift 4.1
5.0.2 - Better builds
This is a minor release that fixes some build configuration issues.
- Update Swift Package Manager support
- Update Linux support
- Add tvOS support
- Update to Xcode 9.1 settings
- Update to Swift 4 (no code changes; completely backward compatible)
- Remove code coverage from Release builds (necessary for Carthage)
RNCryptor 5.0.1 - Swift 3 (with Cocoapods)
- Perform final decryption after HMAC validation. Fixes #185. This improves security very slightly. There is no known or proposed attack that could exploit the previous behavior, but where possible it is better to validate prior to decryption.
- Fix CocoaPods
See build details and artifacts at buddybuild:
https://dashboard.buddybuild.com/apps/57ea731dbd45750100873fb1/build/57ea785c3dd53201003bef05
Swift 2.3, Xcode 8
For those remaining on Swift 2.3, the swift2 branch (4.x) will continue to support you. If you're on Swift 3, please see master and release 5.0.
Swift 3
This is the Swift 3 release. If you still need 2.2(3) support, see RNCryptor-4.0.0. If you need ObjC support, see RNCryptor/RNCryptor-objc.
Note that this release removes ObjC bridging. There are just too many little tricky bugs in the compiler. If you need ObjC, I recommend the ObjC-specific version. They should even be able to live in the same project together.
RNCryptor v4.0 - Swift 2
RNCryptor 4 is a complete rewrite of RNCryptor for Swift 2 with full bridging support to Objective-C. It has a streamlined API, simpler installation, and improved internals. It continues to use the v3 data format and is fully interoperable with other RNCryptor implementations.
For users desiring a fully Objective-C solution, v3 is still available. I don't currently plan to do significant new work on v3, but will consider it if there is strong interest. Going forward, I expect most OS X and iOS projects to be able to accept a mix of ObjC and Swift code. Objective-C continues to be a fully supported language in RNCryptor 4.
Swift 2
RNCryptor 4 is a complete rewrite of RNCryptor for Swift 2 with full bridging support to Objective-C. It has a streamlined API, simpler installation, and improved internals. It continues to use the v3 data format and is fully interoperable with other RNCryptor implementations.
For users desiring a fully Objective-C solution, v3 is still available. I don't currently plan to do significant new work on v3, but will consider it if there is strong interest. Going forward, I expect most OS X and iOS projects to be able to accept a mix of ObjC and Swift code. Objective-C continues to be a fully supported language in RNCryptor 4.
I plan to convert this to a final release in a week or so if no major issues are discovered.
Tweaks to CocoaPods
CocoaPods was including private headers. Removed.
RNCryptor v3.0.0 - Remove OpenSSL. Add Swift frameworks.
RNCryptor v3 has one backward-incompatible change: OpenSSL support has been removed. OpenSSL encryption is not a secure format, and supporting it over-complicates RNCryptor. For those needing OpenSSL compatibility see rnapier/RNOpenSSLCryptor.
RNCryptor now cleanly integrates with Swift as a framework. The recommended way to do this is with Carthage, but CocoaPods is also tested and works.
A native Swift 2 version of RNCryptor is now in alpha and should be available around the time Xcode 7 is released.
Most of the rest of the changes in RNCryptor v3 are documentation and testing related. There are a few minor improvements in robustness (most are better defensive coding and do not solve actual bugs).
Going forward, I will be using Semantic Versioning. Previous versions of RNCryptor have not done this.