CHANGELOG 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. 0.13.0
  2. - Adds CBC-MAC authenticator
  3. 0.12.0
  4. - Swift 4.2 maintenance update.
  5. 0.11.0
  6. - API: Cryptor.seek() is throwable
  7. - Adds proper stream support for CTR encryption with Updaptable interface.
  8. - Refactor internals for the stream cipher modes.
  9. - Set minimum deployment target to 8.0 (again).
  10. 0.10.0
  11. - API: BlockMode is no longer an enum. Please migrate to eg. CBC() etc...
  12. - Adds AES-GCM support. #97 - Feature sponsored by GesundheitsCloud (http://www.gesundheitscloud.de/)
  13. - Adds CRC32c support.
  14. - Improves AES variant validation.
  15. - Fixes empty password in PBKDF2.
  16. 0.9.0
  17. - Swift 4.1 compatibility
  18. - Added CMAC message authenticator https://tools.ietf.org/html/rfc4493
  19. - Added AEADChaCha20Poly1305 (AEAD_CHACHA20_POLY1305) https://tools.ietf.org/html/rfc7539#section-2.8.1
  20. 0.8.3
  21. - Fixes SHA3 padding.
  22. - Fixes Carthage builds.
  23. 0.8.2
  24. - Fixes SHA3 partial updates calculations.
  25. - Makes ChaCha20 processing faster again.
  26. 0.8.1
  27. - Adds Data(hex:) helper.
  28. - Adds HKDF (HMAC-based Extract-and-Expand Key Derivation Function)
  29. - Prevent ChaCha overflow error
  30. 0.8.0
  31. - Adds SHA3 Keccak variants
  32. - Adds String.bytes helper to convert String to array of bytes
  33. - Improves AES performance
  34. - Speeds up compilation times with Swift 4
  35. - Fixes: Blowfish minimum key size is 5
  36. - Removes Ciphers "iv" parameter (value moved to BlockMode)
  37. - BlockMode uses associated value for IV value where apply e.g. .CBC(iv: ivbytes)
  38. - Refactors internal hacks no longer needed with Swift 4
  39. 0.7.2
  40. - Adds Padding enum (.pkcs5, .pkcs7, .noPadding, .zeroPadding)
  41. - Removes Generics from the public API.
  42. - Slightly improves SHA1, SHA2, SHA3 performance.
  43. - Update SPM configuration for Swift 4
  44. 0.7.1
  45. - Swift 4.0 compatibility release
  46. 0.7.0
  47. - Swift 3.2 compatibility release
  48. 0.6.9
  49. - Fixed padding issue where padding was not properly added in CTR mode.
  50. - Fixed thrown error on decrypting empty string,
  51. - Fixed CI build script.
  52. - Added String.encryptToBase64()
  53. 0.6.8
  54. - Speed up MD5()
  55. - Faster Array(hex:)
  56. - Improve AES performance
  57. - Fix tvOS bitcode
  58. - Fix Blowfish CFB, OFB, CTR block modes.
  59. - Fix Blowfish for 32-bit arch.
  60. - Fix ChaCha20 preconditions
  61. 0.6.7
  62. - Release for Xcode 8.2
  63. - Fix playground example
  64. 0.6.6
  65. - Rework ChaCha20
  66. - Fix Poly1305
  67. 0.6.5
  68. - Significant performance improvement when processing lange amount of data.
  69. - Degeneric functions and change Sequence -> Collection in generic constraints.
  70. 0.6.4
  71. - More performance improvements
  72. - Add convenient Digest.sha2(bytes:variant)
  73. - New: Blowfish cipher
  74. 0.6.3
  75. - Hotfix release
  76. - Fixes bitPadding() that breaks Digests calculations, introduced in 0.6.2
  77. 0.6.2
  78. - SHA performance improvements by using less Swift in Swift
  79. - Fix public access to all digests classes
  80. 0.6.1
  81. - Update tests.
  82. - New: RandomBytesSequence urandom values on Linux.
  83. - Throw appropriate error for AES with invalid input where padding is needed.
  84. - Improve performance, especially to SHA-1, SHA-2, PBKDF and related.
  85. - Set deployment targets for all platform. Fixes Carthage builds.
  86. - New: SHA-3 implementation (request #291)
  87. - SHA-1 conforms to Updatable protocol and may be calculated incrementally.
  88. - SHA-2 conforms to Updatable protocol and may be calculated incrementally.
  89. 0.6.0
  90. - Remove bridge() workaround for Linux (not needed)
  91. - make MD5() public
  92. - Update README
  93. - Convenience HMAC initializer for String input
  94. 0.6.0-beta2
  95. - SHA-2 fix #319
  96. - HashProtocol -> Digest and refactor
  97. - MD5 conforms to Updatable protocol and may be calculated incrementally
  98. - Cipher protocol accepts Collection input now
  99. 0.6.0-beta1
  100. - Swift 3 compatibility
  101. - Multiplatform, Single-scheme Xcode Project
  102. - Swift Package Manager fully supported (build and tests)
  103. - Improved Linux support
  104. - Travis configuration added
  105. - Public interface tests added
  106. - enum Authenticator -> protocol Authenticator
  107. - CRC -> Checksum
  108. - String.encrypt() returns hex string instead of Array<UInt8>
  109. - removed String.decrypt()
  110. - enum Hash -> struct Hash
  111. - Convenience initializer of Array of bytes with Hex string. Array<UInt8>(hex: "0xb1b1b2b2")
  112. - Fix reusability of ChaCha20 instance
  113. - Replace optional initializers with throwable initializers
  114. - Allow to set initial counter explicitly (AES block modes). RandomAccessCryptor.seek()
  115. 0.5.2
  116. - Fix AES-CTR incremental updates. #287
  117. - Fixed PBKDF2 tests. #295
  118. - Fixed assertion check in PKCS7. #288
  119. - Updatable protocol accept SequenceType in place of Array
  120. 0.5.1
  121. - Fixed PBKDF2 not taking key length parameter into account
  122. - Switch to Array<> in code
  123. 0.5
  124. - Added PBKDF1 https://tools.ietf.org/html/rfc2898#section-5.1
  125. - Added PBKDF2 https://tools.ietf.org/html/rfc2898#section-5.2
  126. - UpdatableCryptor protocol allows incremental encryption stream of data
  127. - CryptoSwift.playground
  128. - Docs update
  129. - Added reflection control to CRC-32 (Luís Silva)
  130. - Fix AES.init() (Pascal Pfiffner)
  131. 0.4.1
  132. - fix NoPadding()
  133. 0.4
  134. - Padding setup is now part of cipher constructor
  135. - Added PBKDF2 http://tools.ietf.org/html/rfc2898#section-5.2
  136. - Add BlockCipher protocol
  137. - Rename Cipher -> CipherProtocol
  138. - Remove build-frameworks.sh script
  139. - Keep sensitive data in memory with SecureBytes
  140. - Allows direct use of HMAC and Poly1305
  141. - README update
  142. - Fix missing Foundation import on Linux
  143. 0.3.1
  144. - replace deprecated Bit with new enum.
  145. 0.3
  146. - Swift 2.2 support
  147. - use generators for cipher block modes should reduce memory overload.
  148. - add OFB block mode
  149. - add PCBC block mode
  150. - String.decryptBase64ToString to decrypt Base64 encoded strings
  151. - broke up complicated expressions which were taking ages to compile
  152. 0.2.3
  153. - enable bitcode setting for Debug on an Apple TV
  154. - faster compilation times
  155. - improve padding functions
  156. 0.2.2
  157. - Fix ChaCha20 cipher
  158. - Replace for(;;) with for-in
  159. - Workaround for "NSString are not yet implicitly convertible to String" on Linux
  160. 0.2.1
  161. - Fix linux build
  162. - re-add umbrella header
  163. 0.2
  164. - Rabbit cipher (RFC4503)
  165. - Linux Swift support
  166. - Swift Package Manager support
  167. - tvOS support
  168. - Add optional seed to CRC
  169. - Add umbrella header (CryptoSwift.h)
  170. - Fix AES in CTR mode
  171. - Fix no padding support for CTR and CFB block modes
  172. - Fix access to AES.Error and ChaCha20.Error
  173. 0.1.1
  174. - Fix Cococapods package (missing Foundation integration)
  175. 0.1.0
  176. - Major performance improvements.
  177. - Transition from Optionals to throw error.
  178. - Replace enum Cipher with protocol for ciphers.
  179. - Added CRC16
  180. - Fixed AES CFB decryption
  181. - Drop internal "Foundation" dependency, nonetheless it is supported as usual.
  182. 0.0.16
  183. - Critical fix for private "md5" selector issue (#135)
  184. 0.0.15
  185. - Fix 32-bit CTR block mode
  186. - Carthage support update
  187. - Mark as App-Extension-Safe API
  188. 0.0.14
  189. - hexString -> toHextString() #105
  190. - CTR (Counter mode)
  191. - Hex string is lowercase now
  192. - Carthage support
  193. - Tests update
  194. - Swift 2.0 support - overall update