CHANGELOG 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  1. 1.9.0
  2. - Renamed bytes to byteArray in Data extension to avoid conflict with Swift 6.2 by @mluisbrown in #1076 and #1077
  3. 1.8.5
  4. - Update README.md by @donatik27 in #1059
  5. - Add Android support by @marcprux in #1065
  6. - chore: fix some typos in comment by @sunxunle in #1068
  7. - fix: typos in documentation files by @vtjl10 in #1066
  8. - fix: typos in documentation files by @kilavvy in #1071
  9. - docs: fix typos by @RekCuy63 in #1072
  10. - fix: externalRepresentation condition to validate if key is private should be d not prime by @beatt83 in #1060
  11. 1.8.4
  12. - Docs fix spelling issues by @nnsW3 in #1053
  13. - chore: fix some comments by @dropbigfish in #1050
  14. - docs fix spelling issues by @Guayaba221 in #1056
  15. - Support for Static Linux SDK Based on Musl Instead of Glibc by @AnneBlair in #1058
  16. - Use .sha2(.sha256) for PBKDF2 in readme by @sjudd in #1061
  17. 1.8.3
  18. - Remove whitespace from the filename to please bezel build system
  19. - minors
  20. 1.8.2
  21. - Enable VisionOS as supported platform for Xcode project and SwiftPM package
  22. - Tweak CocoaPods setup for privacy manifest
  23. 1.8.1
  24. - Update publicKeyDER to support exponent of any byte length
  25. - Add SHA3 variants for RSA signature verification
  26. - Throw error on unsupported calls, rather than call fatalError
  27. - Update PKCS7 padding logic
  28. - Add SDK Privacy Manifest - PrivacyInfo.xcprivacy
  29. 1.8.0
  30. - Add XChaCha20 and XChaCha20-Poly1305 (@zssz)
  31. 1.7.2
  32. - Validate RSA input values
  33. - Minor updates
  34. 1.7.1
  35. - Address Swift 5.8 warnings
  36. 1.7.0
  37. - Fix compilation warnings
  38. - Ignore unknown character for base64 decoding
  39. - Bump minimum targets (for Xcode)
  40. - Xcode project disable bitcode (Building with bitcode is deprecated)
  41. 1.6.0
  42. - Improve & extend RSA support with DER (see README for details)
  43. - Fix Blowfish memory leaks
  44. - Fix PCBC mode
  45. - SwiftWasm compatibility
  46. 1.5.1
  47. - Resolve type name clash by renaming BigInt -> BigInteger
  48. 1.5.0
  49. - RSA (@NathanFallet)
  50. - Workaround for Xcode 13.3.1
  51. 1.4.3
  52. - Fix PCBC mode.
  53. 1.4.2
  54. - Update Xcode project to Xcode 13
  55. - Add SHA3 support for HMAC
  56. - Update HMAC.Variant API (deprecate current cases)
  57. 1.4.1
  58. - Introduce ISO 10126 padding
  59. - fix various compiler warnings
  60. - Revert Xcode project deployment target
  61. 1.4.0
  62. - Customize CFB segment size (cfb8, cfb128).
  63. - Adapt Swift @inlineable for better code optimization
  64. 1.3.8
  65. - Revert xcframework revolution. Back to build from sources. (I'm sorry)
  66. 1.3.7
  67. - Re-release to workaround Swift Package Manager release
  68. 1.3.6
  69. - Fix macOS binary
  70. - Windows support
  71. 1.3.5
  72. - Re-release binary framework due to codesign issue
  73. 1.3.4
  74. - Distribute optimized binary (xcframework) via SPM for apple platforms
  75. 1.3.3
  76. - Adds OCB Authenticated-Encryption Algorithm (RFC7253)
  77. - build-framework.sh output CryptoSwift.xcframework
  78. - Xcode 12.2 maintenance updates
  79. - Removed CryptoSwift.playground (couldn't make it work since Xcode 12 update)
  80. 1.3.2
  81. - Swift 5.3 update (Xcode 12)
  82. - Bump target platform (iOS 9, macOS 10.12)
  83. - Allow CMAC with any Cipher
  84. - Remove CMAC key limit
  85. 1.3.1
  86. - Fix tests
  87. - Swift 5.2 update
  88. - Address possible timing issue
  89. 1.3.0
  90. - Adds ISO-78164 padding
  91. - Performance improvements
  92. - Swift 5.1 update
  93. 1.2.0
  94. - Performance improvements
  95. - Workaround Xcode test builds with Xcode 11
  96. 1.1.3
  97. - Fix build crash: https://bugs.swift.org/browse/SR-11630
  98. - Fixes Xcode project tests build
  99. - SwiftFormat all the things
  100. - Increase/fix SHA2 data length for big input by use Int64 for calculation
  101. 1.1.2
  102. - Fix Swift 5.0 build (for real this time)
  103. 1.1.1
  104. - Fix Swift 5.0 build
  105. 1.1.0
  106. - Replace RandomBytesSequence with Swift.RandomNumberGenerator
  107. - Fix CBC-MAC
  108. - Update SPM support
  109. - Update for Xcode 11 and Swift 5.1
  110. - Xcode: BUILD_LIBRARY_FOR_DISTRIBUTION = YES
  111. 1.0.0
  112. - Swift 5
  113. - Let's
  114. - Celebrate
  115. - This
  116. - Event
  117. - With
  118. - 1.0.0 release
  119. - After
  120. - 4 years
  121. - Thank you
  122. 0.15.0
  123. - Adds The scrypt Password-Based Key Derivation Function (https://tools.ietf.org/html/rfc7914)
  124. - Minor improvements
  125. 0.14.0
  126. - Fixed decryption of AES-GCM ciphertexts with custom tag length
  127. 0.13.1
  128. - Adds AES-GCM tag length configuration.
  129. - Fixes count check for initializing UInt64 from Data.
  130. 0.13.0
  131. - Adds CBC-MAC authenticator.
  132. - Adds AES-CCM operation mode.
  133. 0.12.0
  134. - Swift 4.2 maintenance update.
  135. 0.11.0
  136. - API: Cryptor.seek() is throwable
  137. - Adds proper stream support for CTR encryption with Updaptable interface.
  138. - Refactor internals for the stream cipher modes.
  139. - Set minimum deployment target to 8.0 (again).
  140. 0.10.0
  141. - API: BlockMode is no longer an enum. Please migrate to eg. CBC() etc...
  142. - Adds AES-GCM support. #97 - Feature sponsored by GesundheitsCloud (http://www.gesundheitscloud.de/)
  143. - Adds CRC32c support.
  144. - Improves AES variant validation.
  145. - Fixes empty password in PBKDF2.
  146. 0.9.0
  147. - Swift 4.1 compatibility
  148. - Added CMAC message authenticator https://tools.ietf.org/html/rfc4493
  149. - Added AEADChaCha20Poly1305 (AEAD_CHACHA20_POLY1305) https://tools.ietf.org/html/rfc7539#section-2.8.1
  150. 0.8.3
  151. - Fixes SHA3 padding.
  152. - Fixes Carthage builds.
  153. 0.8.2
  154. - Fixes SHA3 partial updates calculations.
  155. - Makes ChaCha20 processing faster again.
  156. 0.8.1
  157. - Adds Data(hex:) helper.
  158. - Adds HKDF (HMAC-based Extract-and-Expand Key Derivation Function)
  159. - Prevent ChaCha overflow error
  160. 0.8.0
  161. - Adds SHA3 Keccak variants
  162. - Adds String.bytes helper to convert String to array of bytes
  163. - Improves AES performance
  164. - Speeds up compilation times with Swift 4
  165. - Fixes: Blowfish minimum key size is 5
  166. - Removes Ciphers "iv" parameter (value moved to BlockMode)
  167. - BlockMode uses associated value for IV value where apply e.g. .CBC(iv: ivbytes)
  168. - Refactors internal hacks no longer needed with Swift 4
  169. 0.7.2
  170. - Adds Padding enum (.pkcs5, .pkcs7, .noPadding, .zeroPadding)
  171. - Removes Generics from the public API.
  172. - Slightly improves SHA1, SHA2, SHA3 performance.
  173. - Update SPM configuration for Swift 4
  174. 0.7.1
  175. - Swift 4.0 compatibility release
  176. 0.7.0
  177. - Swift 3.2 compatibility release
  178. 0.6.9
  179. - Fixed padding issue where padding was not properly added in CTR mode.
  180. - Fixed thrown error on decrypting empty string,
  181. - Fixed CI build script.
  182. - Added String.encryptToBase64()
  183. 0.6.8
  184. - Speed up MD5()
  185. - Faster Array(hex:)
  186. - Improve AES performance
  187. - Fix tvOS bitcode
  188. - Fix Blowfish CFB, OFB, CTR block modes.
  189. - Fix Blowfish for 32-bit arch.
  190. - Fix ChaCha20 preconditions
  191. 0.6.7
  192. - Release for Xcode 8.2
  193. - Fix playground example
  194. 0.6.6
  195. - Rework ChaCha20
  196. - Fix Poly1305
  197. 0.6.5
  198. - Significant performance improvement when processing lange amount of data.
  199. - Degeneric functions and change Sequence -> Collection in generic constraints.
  200. 0.6.4
  201. - More performance improvements
  202. - Add convenient Digest.sha2(bytes:variant)
  203. - New: Blowfish cipher
  204. 0.6.3
  205. - Hotfix release
  206. - Fixes bitPadding() that breaks Digests calculations, introduced in 0.6.2
  207. 0.6.2
  208. - SHA performance improvements by using less Swift in Swift
  209. - Fix public access to all digests classes
  210. 0.6.1
  211. - Update tests.
  212. - New: RandomBytesSequence urandom values on Linux.
  213. - Throw appropriate error for AES with invalid input where padding is needed.
  214. - Improve performance, especially to SHA-1, SHA-2, PBKDF and related.
  215. - Set deployment targets for all platform. Fixes Carthage builds.
  216. - New: SHA-3 implementation (request #291)
  217. - SHA-1 conforms to Updatable protocol and may be calculated incrementally.
  218. - SHA-2 conforms to Updatable protocol and may be calculated incrementally.
  219. 0.6.0
  220. - Remove bridge() workaround for Linux (not needed)
  221. - make MD5() public
  222. - Update README
  223. - Convenience HMAC initializer for String input
  224. 0.6.0-beta2
  225. - SHA-2 fix #319
  226. - HashProtocol -> Digest and refactor
  227. - MD5 conforms to Updatable protocol and may be calculated incrementally
  228. - Cipher protocol accepts Collection input now
  229. 0.6.0-beta1
  230. - Swift 3 compatibility
  231. - Multiplatform, Single-scheme Xcode Project
  232. - Swift Package Manager fully supported (build and tests)
  233. - Improved Linux support
  234. - Travis configuration added
  235. - Public interface tests added
  236. - enum Authenticator -> protocol Authenticator
  237. - CRC -> Checksum
  238. - String.encrypt() returns hex string instead of Array<UInt8>
  239. - removed String.decrypt()
  240. - enum Hash -> struct Hash
  241. - Convenience initializer of Array of bytes with Hex string. Array<UInt8>(hex: "0xb1b1b2b2")
  242. - Fix reusability of ChaCha20 instance
  243. - Replace optional initializers with throwable initializers
  244. - Allow to set initial counter explicitly (AES block modes). RandomAccessCryptor.seek()
  245. 0.5.2
  246. - Fix AES-CTR incremental updates. #287
  247. - Fixed PBKDF2 tests. #295
  248. - Fixed assertion check in PKCS7. #288
  249. - Updatable protocol accept SequenceType in place of Array
  250. 0.5.1
  251. - Fixed PBKDF2 not taking key length parameter into account
  252. - Switch to Array<> in code
  253. 0.5
  254. - Added PBKDF1 https://tools.ietf.org/html/rfc2898#section-5.1
  255. - Added PBKDF2 https://tools.ietf.org/html/rfc2898#section-5.2
  256. - UpdatableCryptor protocol allows incremental encryption stream of data
  257. - CryptoSwift.playground
  258. - Docs update
  259. - Added reflection control to CRC-32 (Luís Silva)
  260. - Fix AES.init() (Pascal Pfiffner)
  261. 0.4.1
  262. - fix NoPadding()
  263. 0.4
  264. - Padding setup is now part of cipher constructor
  265. - Added PBKDF2 http://tools.ietf.org/html/rfc2898#section-5.2
  266. - Add BlockCipher protocol
  267. - Rename Cipher -> CipherProtocol
  268. - Remove build-frameworks.sh script
  269. - Keep sensitive data in memory with SecureBytes
  270. - Allows direct use of HMAC and Poly1305
  271. - README update
  272. - Fix missing Foundation import on Linux
  273. 0.3.1
  274. - replace deprecated Bit with new enum.
  275. 0.3
  276. - Swift 2.2 support
  277. - use generators for cipher block modes should reduce memory overload.
  278. - add OFB block mode
  279. - add PCBC block mode
  280. - String.decryptBase64ToString to decrypt Base64 encoded strings
  281. - broke up complicated expressions which were taking ages to compile
  282. 0.2.3
  283. - enable bitcode setting for Debug on an Apple TV
  284. - faster compilation times
  285. - improve padding functions
  286. 0.2.2
  287. - Fix ChaCha20 cipher
  288. - Replace for(;;) with for-in
  289. - Workaround for "NSString are not yet implicitly convertible to String" on Linux
  290. 0.2.1
  291. - Fix linux build
  292. - re-add umbrella header
  293. 0.2
  294. - Rabbit cipher (RFC4503)
  295. - Linux Swift support
  296. - Swift Package Manager support
  297. - tvOS support
  298. - Add optional seed to CRC
  299. - Add umbrella header (CryptoSwift.h)
  300. - Fix AES in CTR mode
  301. - Fix no padding support for CTR and CFB block modes
  302. - Fix access to AES.Error and ChaCha20.Error
  303. 0.1.1
  304. - Fix Cococapods package (missing Foundation integration)
  305. 0.1.0
  306. - Major performance improvements.
  307. - Transition from Optionals to throw error.
  308. - Replace enum Cipher with protocol for ciphers.
  309. - Added CRC16
  310. - Fixed AES CFB decryption
  311. - Drop internal "Foundation" dependency, nonetheless it is supported as usual.
  312. 0.0.16
  313. - Critical fix for private "md5" selector issue (#135)
  314. 0.0.15
  315. - Fix 32-bit CTR block mode
  316. - Carthage support update
  317. - Mark as App-Extension-Safe API
  318. 0.0.14
  319. - hexString -> toHextString() #105
  320. - CTR (Counter mode)
  321. - Hex string is lowercase now
  322. - Carthage support
  323. - Tests update
  324. - Swift 2.0 support - overall update