| OLD | NEW |
| 1 ## 0.9.2 | 1 ## 0.9.2 |
| 2 | 2 |
| 3 * `Hash`, `MD5`, `SHA1`, and `SHA256` now implement `Converter`. They convert | 3 * `Hash`, `MD5`, `SHA1`, and `SHA256` now implement `Converter`. They convert |
| 4 between `List<int>`s and the new `Digest` class, which represents a hash | 4 between `List<int>`s and the new `Digest` class, which represents a hash |
| 5 digest. The `Converter` APIs—`Hash.convert()` and | 5 digest. The `Converter` APIs—`Hash.convert()` and |
| 6 `Hash.startChunkedConversion`—should be used in preference to the old APIs, | 6 `Hash.startChunkedConversion`—should be used in preference to the old APIs, |
| 7 which are now deprecated. | 7 which are now deprecated. |
| 8 | 8 |
| 9 * `SHA1`, `SHA256`, and `HMAC` have been renamed to `Sha1`, `Sha256`, and |
| 10 `Hmac`, respectively. The old names still work, but are deprecated. |
| 11 |
| 9 * Top-level `sha1`, `sha256`, and `md5` fields have been added to make it easier | 12 * Top-level `sha1`, `sha256`, and `md5` fields have been added to make it easier |
| 10 to use those hash algorithms without having to instantiate new instances. | 13 to use those hash algorithms without having to instantiate new instances. |
| 11 | 14 |
| 12 * Hashing now works correctly for input sizes up to 2^64 bytes. | 15 * Hashing now works correctly for input sizes up to 2^64 bytes. |
| 13 | 16 |
| 14 ### Deprecations | 17 ### Deprecations |
| 15 | 18 |
| 16 * `Hash.add`, `Hash.close`, and `Hash.newInstance` are deprecated. | 19 * `Hash.add`, `Hash.close`, and `Hash.newInstance` are deprecated. |
| 17 `Hash.convert` should be used for hashing single values, and | 20 `Hash.convert` should be used for hashing single values, and |
| 18 `Hash.startChunkedConversion` should be used for hashing streamed values. | 21 `Hash.startChunkedConversion` should be used for hashing streamed values. |
| 19 | 22 |
| 20 * `new SHA1()`, `new SHA256()`, and `new MD5()` are deprecated. Use the | 23 * `SHA1` and `SHA256` are deprecated. Use the top-level `sha1` and `sha256` |
| 21 top-level `sha1`, `sha256`, and `md5` fields instead. | 24 fields instead. |
| 25 |
| 26 * While the `MD5` class is not deprecated, the `new MD5()` constructor is. Use |
| 27 the top-level `md5` field instead. |
| 28 |
| 29 * `HMAC` is deprecated. Use `Hmac` instead. |
| 30 |
| 31 * `Base64Codec`, `Base64Encoder`, `Base64Decoder`, `Base64EncoderSink`, |
| 32 `Base64DecoderSink`, and `BASE64` are deprecated. Use the Base64 APIs in |
| 33 `dart:convert` instead. |
| 34 |
| 35 * `CryptoUtils` is deprecated. Use the Base64 APIs in `dart:convert` and the hex |
| 36 APIs in the `convert` package instead. |
| 22 | 37 |
| 23 ## 0.9.1 | 38 ## 0.9.1 |
| 24 | 39 |
| 25 * Base64 convert returns an Uint8List | 40 * Base64 convert returns an Uint8List |
| 26 * Base64 codec and encoder can now take an encodePaddingCharacter | 41 * Base64 codec and encoder can now take an encodePaddingCharacter |
| 27 * Implement a Base64 codec similar to codecs in 'dart:convert' | 42 * Implement a Base64 codec similar to codecs in 'dart:convert' |
| 28 | 43 |
| 29 ## 0.9.0 | 44 ## 0.9.0 |
| 30 | 45 |
| 31 * ChangeLog starts here. | 46 * ChangeLog starts here. |
| OLD | NEW |