1# Release history
2
3## 0.3.1 (devel)
4- Fixed segfault on PHP 5 in setting KDF key length and PBKDF2 iterations
5
6## 0.3.0 (devel)
7- Fixed compilation with OpenSSL 1.1 and PHP 7.1
8- Added KDF abstract class to be a parent for all key derivation function classes
9- Added PBKDF2 class extending KDF class and implementing PBKDF2
10- Renamed HashException code ALGORITHM_NOT_FOUND to HASH_ALGORITHM_NOT_FOUND
11- Renamed MACException code ALGORITHM_NOT_FOUND to MAC_ALGORITHM_NOT_FOUND
12
13## 0.2.2 (devel)
14- Fixed missing CCM cipher algorithms with OpenSSL 1.0.1
15
16## 0.2.1 (devel)
17- Fixed C89 compatibility issue in Base64
18
19## 0.2.0 (devel)
20- Support for PHP 7
21- Crypto stream BIO wrapper
22- Improved error handling
23- Added an integer overflow checking
24- Removed Algorithm class and AlogirithmException class
25- Introduced a MAC class as a subclass of Hash and parent of HMAC and CMAC
26- Added MACException class subclassing HashException
27- Fixed HMAC and CMAC implementation and added key param to constructor
28- Fixed and tested CCM mode
29- Added new error code for failed tag verification (TAG_VERIFY_FAILED)
30- Add setTagLength Cipher method replacing length param in getTag
31- Removed Rand::egd
32- Created a complete API documentation
33
34## 0.1.1 (devel)
35- Added linking of openssl shared lib to the config.m4
36- Fixed buffer overflow in Base64 encoding
37
38## 0.1.0 (devel)
39- Cipher
40  - incremental encryption & decryption (context methods)
41  - cipher info methods (block size, key and iv length...)
42  - flexible setting of cipher algorithm (__callStatic)
43  - mode setting
44  - authentication (GCM and CCM) - AAD setter & auth tag setter and getter
45- Hash
46  - increments creation of message digest
47  - flexible setting of digest algorithm (__callStatic)
48- Message authentication codes
49  - HMAC and CMAC as subclasses of Hash
50- Rand
51 - CSPRNG methods
52 - seeding methods
53 - methods for saving and retrieving PRNG status
54- Base64
55  - incremental updating (context methods)
56  - automatic wrapping rows (suitable for encoding and decoding certificates)
57- Exception classes
58  - AlgorithmException (for all Cipher and Hash exceptions)
59  - Base64Exception
60
61
62