CHANGELOG.md 3.4 KB

Change Log

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.

5.1.0

  • Update to Swift 5
  • Uses CommonCrypto modular headers (available since 4.2)

5.0.3

  • #272. Correct warnings related to incorrect memory access. The previous code was invalid Swift (it accessed a value inside its own withUnsafeBytes block), but happened to work.
  • Removes a Data.init work-around that is no longer needed.

5.0.2

  • 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)

5.0.1

  • 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

5.0.0 Swift 3.0. Drop ObjC bridge.

  • Rework for Swift 3
  • Drops ObjC bridging. There are too many problems with the Swift compiler at this point to support this cleanly. ObjC code should use RNCryptor-ObjC.
  • #159 Add WatchOS support to Podspec
  • Better debugging output in case of unexpected cryptor failure
  • Added Examples/KeyDerivation to explain how to manually derive keys

4.0.0 - Complete rewrite in Swift with ObjC bridging

  • No changes from beta except version bump

4.0.0-beta.1 - Complete rewrite in Swift with ObjC bridging

3.0.1 - CocoaPods fixes (Current ObjC Version)

Fixed

  • Removed private headers from CocoaPods

3.0.0 - Remove OpenSSL

Breaking

Added

  • Integrates with Swift as a framework
  • Remove warnings on OS X 10.8

2.2 - Data format v3

Version 2.2 is a fairly large release. It's been almost a year since 2.1 came out, and there are many small and large bug fixes.

V2.2 updates the file format from 2 to 3. It will read format 2 files, but will only write format 3. These are not readable by RNCryptor v2.1. See Issue #77 for details. The PHP, Python, and Ruby implementations also write format 3 and read format 2 or 3.

Security

  • Issue #91: Use constant time HMAC comparisons to avoid timing attacks
  • Issue #77: KeyForPassword() broken for multi-byte passwords (UTF-8)

Changes

  • Improved PHP, Python, and Ruby implementations
  • Improved test cases, with test vectors
  • Issue #76: Support OSX in podspec
  • Resolved static analyzer warnings
  • Ensure compatibility with iOS 4.2
  • Accept settings to RNDecryptor (Issue #65)
  • Copy password rather than retain it (Issue #64)
  • Crash when reading v1 header