Skip to content

Releases: Kitura/BlueCryptor

Minor fix in podspec

21 Oct 20:20
88fc6e1
Compare
Choose a tag to compare
2.0.1

Fix for podspec (#73)

Swift 5.1 is now the lowest supported version; Removed support for Swift 4.x

21 Oct 03:14
b8c3255
Compare
Choose a tag to compare
Fix warnings due to improper exclusion; update gitignore (#71)

Co-authored-by: Danny Sung <[email protected]>

Version 1.0

27 Feb 19:12
Compare
Choose a tag to compare

Version 1.0

Swift cross-platform crypto library derived from [IDZSwiftCommonCrypto]Swift cross-platform crypto library derived from IDZSwiftCommonCrypto.

IMPORTANT NOTE: This release is NOT entirely source code compatible with previous releases. There are instances where exceptions are thrown now instead of the framework calling fatalError(). This means that there are more recoverable errors in the library than before. The only time that fatalError() is called is to indicate either a programming error or a non-recoverable system error.

Note: On macOS and iOS, BlueCryptor uses the Apple provided CommonCrypto library. On Linux, it uses libcrypto from the OpenSSL project.

Prerequisites

Swift

  • Swift Open Source swift-4.0.0-RELEASE toolchain (Minimum REQUIRED for latest release)
  • Swift Open Source swift-5.0-RELEASE toolchain (Recommended)
  • Swift toolchain included in Xcode Version 10.2 (10E125) or higher.

macOS

  • macOS 10.11.6 (El Capitan) or higher.
  • Xcode Version 9.0 (9A325) or higher using one of the above toolchains.
  • Xcode Version 10.2 (10E125) or higher using the included toolchain (Recommended).

iOS

  • iOS 10.0 or higher
  • Xcode Version 9.0 (9A325) or higher using one of the above toolchains.
  • Xcode Version 10.2 (10E125) or higher using the included toolchain (Recommended).

Linux

  • Ubuntu 16.04 (or 16.10 but only tested on 16.04 and 18.04).
  • One of the Swift Open Source toolchain listed above.
  • OpenSSL is provided by the distribution. Note: 1.0.x, 1.1.x and later releases of OpenSSL are supported.

Changes since 1.0.0

  • Fixed warnings from Swift 4.1, added build support for 3.1.1 thru 4.1. PR #34.
  • Make Swift 4.1 the default compiler. Issue #35.
  • Support for Xcode 10 Beta. PR #38.
  • Added Swift 4.2 builds to CI.
  • Added scheme for building iOS version of BlueCryptor and made it shared. Issue #43.
  • Update README to specify libssl-dev as a requirement for building on Linux. Issue #42.
  • Minor license update.
  • Updates for Xcode 10 to project.
  • Swift 4.2 support. PR #46
  • Make Swift 4.2 the default compiler in project.
  • Revert (#46) to use OpenSSL module in 4.2 format. PR #47.
  • Update recommendations to Swift 4.2 and Xcode 10.
  • Added support for OpenSSL 1.1.x as well as OpenSSL 1.0.x.
  • Added CI support for building with Swift 5. PR #49.
  • Removed requirement of Swift 4.2 to support OpenSSL 1.1.x. OpenSSL 1.1.x is now supported using Swift 4.0, 4.1 and 4.2.
  • Update CI support to use Swift 4.2.3. PR #52
  • byteArray utility method will now return an empty array if the input array contains invalid hex digits. Note: This function previously resulted in a fatal error under these circumstances. PR #53. In a future release, this function will throw an exception when encountering invalid hex digits.
  • Update to Swift 5.0. PR #54.
  • Cleanup warnings on Linux. PR #57, #58.
  • Fixed warning showing up on Xcode 11. PR #60.
  • Add CI support for Xcode 11.
  • Fixed some linter warnings, update to Swift 5.1. PR #62

Added support for Swift 4.

17 Nov 18:04
Compare
Choose a tag to compare

This release minimally requires use of the swift-3.1.1-RELEASE toolchain or the swift-4.0.0-RELEASE toolchain which is recommended.

  • Compatible with Xcode 9.0 (9A235) General Release or higher using one of the above toolchains.
  • Removed old restriction on Digest by now allowing the Data extension to work on Linux as well as macOS.
  • Renamed Updateable protocol to Updatable.
  • Added new Data based update function to Updatable.
  • Added support for SHA1 algorithm in both Digest and HMAC.
  • For every function that took a NSData, there is now an equivalent function that takes a Data object.
  • Added tests for new Data based functions.
  • Allow use on iOS, tvOS and watchOS as well as macOS.
  • Removed the inout modifier from the update(data: Data) function in Updatable extension. It was unnecessary. See issue #7 for more details.
  • Added CI (PR#6).
  • Removed RSA stub. This will be replaced by a forthcoming RSA-centric cross-platform package in the near future.
  • Merged PR #20 to fix a memory leak on Linux.
  • Added iOS target to supplied Xcode project.
  • Merged PR #23 to improve documentation formatting.
  • Support of Xcode 9 Beta.
  • Support for Swift 4.
  • Detect an invalid initialization vector size passed in to the StreamCryptor initializers. Issue #26.
  • Fixed problem with passing the size of an IV passed as a String. Need to account for all the bytes not just the character length which could be different.
  • Added additional tests to cover issue #26.
  • Added CocoaPod support (not quite functional yet).
  • Remove build on Xcode 8.3.
  • CI updates.
  • Completed audit of fatalErrors as per issue #30 . Next step will be the code changes. No code changes with this release, just added comments where fatalError() calls will be removed in a future release and replaced by exceptions and/or Status changes.

Update to latest Xcode (Beta 6) and toolchain (8/15)

16 Aug 03:19
Compare
Choose a tag to compare

This release requires use of the swift-DEVELOPMENT-SNAPSHOT-2016-08-015-a toolchain.

  • Compatible with Xcode 8 Beta 6 using the above toolchains.
  • Removed old restriction on Digest by now allowing the Data extension to work on Linux as well as macOS.
  • Renamed Updateable protocol to Updatable.
  • Added new Data based update function to Updatable.
  • Added support for SHA1 algorithm in both Digest and HMAC.
  • For every function that took a NSData, there is now an equivalent function that takes a Data object.
  • Added tests for new Data based functions.

Update to latest (8/7) toolchain.

06 Aug 15:10
Compare
Choose a tag to compare

This release requires use of the swift-DEVELOPMENT-SNAPSHOT-2016-08-04-a toolchain or the new swift-DEVELOPMENT-SNAPSHOT-2016-08-07-a toolchain.

  • Compatible with Xcode 8 Beta 5 using either of the above toolchains.
  • Removed old restriction on Digest by now allowing the Data extension to work on Linux as well as macOS.
  • Renamed Updateable protocol to Updatable.
  • Added new Data based update function to Updatable.
  • Added support for SHA1 algorithm in both Digest and HMAC.
  • For every function that took a NSData, there is now an equivalent function that takes a Data object.
  • Added tests for new Data based functions.

Update to latest (7/25) toolchain.

26 Jul 15:47
Compare
Choose a tag to compare

This release requires use of the new swift-DEVELOPMENT-SNAPSHOT-2016-07-25-a toolchain.

Note: Due to inconsistencies in the implementation of Data on macOS and Linux, this release continues to use the NSData and NSMutableData types. Once these inconsistencies are rectified, the Data type will be adopted.

Updates for swift-DEVELOPMENT-SNAPSHOT-2016-06-20-a toolchain.

22 Jun 19:10
Compare
Choose a tag to compare

This release requires use of the new swift-DEVELOPMENT-SNAPSHOT-2016-06-20-a toolchain. No other changes.

Update for latest toolchain.

25 May 14:59
Compare
Choose a tag to compare
  • Dependency CCrypto was renamed to OpenSSL.
  • Support both 5/09, 5/31 and 6/06 toolchains.

New API.

29 Apr 18:15
Compare
Choose a tag to compare

Added new defaultKeySize public var to StreamCryptor.Algorithm for ease in determining the key size to use.