|
1 | 1 | # CHANGELOG
|
2 | 2 |
|
| 3 | +## Version 0.6.0 (2025-01-15) |
| 4 | + - `@Throws` annotation removed from `Updatable.update` (it is documented). |
| 5 | + - Finalizes `Digest` internal API and removes `InternalKotlinCryptoApi` opt-in requirement from constructors. |
| 6 | + - Drops usage of `DigestState` in favor of secondary constructor which takes |
| 7 | + `Digest` as an argument (for `copy` function implementations). |
| 8 | + - `Copyable.copy` override is now passed through to implementations so that the proper |
| 9 | + return type can be defined (instead of requiring API consumers to cast from `Digest`). |
| 10 | + - `protected` functions renamed: |
| 11 | + - `compress` >> `compressProtected` |
| 12 | + - `digest` >> `digestProtected` |
| 13 | + - `updateDigest` >> `updateProtected` |
| 14 | + - `resetDigest` >> `resetProtected` |
| 15 | + - `digestProtected` (previously `digest`) now only provides the buffered input and position as |
| 16 | + arguments; `bitLength` is no longer tracked by `Digest`. |
| 17 | + - `Digest.digest` now zero's out stale buffered input from `bufPos` to `buf.size` before passing it to |
| 18 | + `digestProtected` (previously `digest`) as an argument. |
| 19 | + - Finalizes `Mac` internal API and removes `InternalKotlinCryptoApi` opt-in requirement from constructors. |
| 20 | + - Provides secondary constructor which takes `Mac` as an argument (for `copy` function implementations). |
| 21 | + - `Copyable.copy` override is now passed through to `Mac` implementations so that the proper |
| 22 | + return type can be defined (instead of requiring API consumers to cast from `Mac`). |
| 23 | + - Adds ability to reinitialize `Mac` with a new `key` parameter via `reset(newKey)` (or clear it after use). |
| 24 | + - Adds `Mac.clearKey` helper function for zeroing out key material before dereferencing the `Mac` (if desired). |
| 25 | + - Removes `Mac.Engine.State` in favor of secondary constructor which takes `Mac.Engine` as an argument |
| 26 | + (for `copy` function implementation). |
| 27 | + - Adds abstract function `Mac.Engine.reset(newKey)` for reinitialization functionality. |
| 28 | + - Finalizes `Xof` and `XofFactory` internal API and removes `InternalKotlinCryptoApi` opt-in |
| 29 | + requirement from constructors. |
| 30 | + - `Xof.Reader.readProtected` no longer passes `bytesRead` as an argument. |
| 31 | + - Adds `ReKeyableXofAlgorithm` interface for `Xof` implementations who's backing delegate is a `Mac`. |
| 32 | + - Adds `Xof.Companion.reset(newKey)` extension function which allows API consumers the ability to |
| 33 | + reinitialize the `Xof` with a new `key` parameter when that `Xof` is backed by an instance of |
| 34 | + `ReKeyableXofAlgorithm` (i.e. a `Mac` implementation). |
| 35 | + - `Xof.use` and `Xof.Reader.use` functions are now inlined. |
| 36 | + - Removes usage of `KotlinCrypto.endians` library (deprecated) from `Xof.Utils`. |
| 37 | + |
3 | 38 | ## Version 0.5.5 (2024-12-20)
|
4 | 39 | - Fixes optimization issues with `Digest.update` internals [[#70]][70]
|
5 | 40 |
|
|
0 commit comments