Skip to content

Commit 9c913df

Browse files
committed
Prepare 0.2.6 release
1 parent 5c420d7 commit 9c913df

File tree

3 files changed

+26
-4
lines changed

3 files changed

+26
-4
lines changed

CHANGELOG.md

+22
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,25 @@
11
# CHANGELOG
22

3+
## Version 0.2.5 (2023-06-08)
4+
- Fixes Android API 21-23 requiring a `Provider` in order to set
5+
`javax.crypto.Mac.spiImpl` when `javax.crypto.Mac.init` is
6+
invoked [[#44]][44]
7+
- Throw `InvalidKeyException` if `javax.crypto.Mac.init` is invoked [[#43]][43]
8+
- All `org.kotlincrypto.core.Mac` APIs are constructed such that
9+
implementations always require a key as a constructor argument
10+
and are initialized immediately. As such, if a java caller
11+
attempts to re-initialize the `Mac` with a different key, they
12+
may assume the output thus produced is using the new key. This
13+
is not the case as `Kotlin Crypto` does not use a provider based
14+
architecture so a new, uninitialized `Mac` cannot be created.
15+
- Note that `Mac.init` is **not** available from `commonMain`. It is
16+
a remnant of bad API design requiring ability to lazily initialize
17+
things which `Kotlin Crypto` will **never** support as it leads
18+
to monolithic structures, instead of building on good abstractions.
19+
If `Mac.init` is required to be called, a wholly new instance of the
20+
`org.kotlincrypto.core.Mac` implementation should be instantiated
21+
with the new key.
22+
323
## Version 0.2.5 (2023-06-07)
424
- Fixes Android API 23 and below not accepting `null` for `Mac.init` key
525
parameter [[#38]][38]
@@ -47,3 +67,5 @@
4767
[36]: https://github.com/KotlinCrypto/core/pull/36
4868
[38]: https://github.com/KotlinCrypto/core/pull/38
4969
[40]: https://github.com/KotlinCrypto/core/pull/40
70+
[43]: https://github.com/KotlinCrypto/core/pull/43
71+
[44]: https://github.com/KotlinCrypto/core/pull/44

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ The best way to keep `KotlinCrypto` dependencies up to date is by using the
218218
```kotlin
219219
// build.gradle.kts
220220
dependencies {
221-
val core = "0.2.5"
221+
val core = "0.2.6"
222222
implementation("org.kotlincrypto.core:digest:$core")
223223
implementation("org.kotlincrypto.core:mac:$core")
224224
implementation("org.kotlincrypto.core:xof:$core")
@@ -230,15 +230,15 @@ dependencies {
230230
```groovy
231231
// build.gradle
232232
dependencies {
233-
def core = "0.2.5"
233+
def core = "0.2.6"
234234
implementation "org.kotlincrypto.core:digest:$core"
235235
implementation "org.kotlincrypto.core:mac:$core"
236236
implementation "org.kotlincrypto.core:xof:$core"
237237
}
238238
```
239239

240240
<!-- TAG_VERSION -->
241-
[badge-latest-release]: https://img.shields.io/badge/latest--release-0.2.5-blue.svg?style=flat
241+
[badge-latest-release]: https://img.shields.io/badge/latest--release-0.2.6-blue.svg?style=flat
242242
[badge-license]: https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat
243243

244244
<!-- TAG_DEPENDENCIES -->

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ POM_DEVELOPER_ID=KotlinCrypto
3434
POM_DEVELOPER_NAME=Kotlin Crypto
3535
POM_DEVELOPER_URL=https://github.com/KotlinCrypto/
3636

37-
VERSION_NAME=0.2.6-SNAPSHOT
37+
VERSION_NAME=0.2.6
3838
# 0.1.0-alpha01 = 00 01 00 11
3939
# 0.1.0-beta01 = 00 01 00 21
4040
# 0.1.0-rc01 = 00 01 00 31

0 commit comments

Comments
 (0)