Releases: Kitura/BlueCryptor
Minor fix in podspec
Swift 5.1 is now the lowest supported version; Removed support for Swift 4.x
Fix warnings due to improper exclusion; update gitignore (#71) Co-authored-by: Danny Sung <danny@dannysung.com>
Version 1.0
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.
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 theData
extension to work on Linux as well as macOS. - Renamed
Updateable
protocol toUpdatable
. - Added new
Data
based update function toUpdatable
. - Added support for
SHA1
algorithm in bothDigest
andHMAC
. - For every function that took a
NSData
, there is now an equivalent function that takes aData
object. - Added tests for new
Data
based functions. - Allow use on iOS, tvOS and watchOS as well as macOS.
- Removed the
inout
modifier from theupdate(data: Data)
function inUpdatable
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)
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 theData
extension to work on Linux as well as macOS. - Renamed
Updateable
protocol toUpdatable
. - Added new
Data
based update function toUpdatable
. - Added support for
SHA1
algorithm in bothDigest
andHMAC
. - For every function that took a
NSData
, there is now an equivalent function that takes aData
object. - Added tests for new
Data
based functions.
Update to latest (8/7) toolchain.
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 theData
extension to work on Linux as well as macOS. - Renamed
Updateable
protocol toUpdatable
. - Added new
Data
based update function toUpdatable
. - Added support for
SHA1
algorithm in bothDigest
andHMAC
. - For every function that took a
NSData
, there is now an equivalent function that takes aData
object. - Added tests for new
Data
based functions.
Update to latest (7/25) toolchain.
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.
This release requires use of the new swift-DEVELOPMENT-SNAPSHOT-2016-06-20-a toolchain. No other changes.
Update for latest toolchain.
- Dependency CCrypto was renamed to OpenSSL.
- Support both 5/09, 5/31 and 6/06 toolchains.