Release 0.9.1, Kotlin 1.9.23, libsodium 2024-04-06
This commit is contained in:
parent
670fcc2b2b
commit
20c1815df8
@ -1,10 +1,12 @@
|
|||||||
## Descriptive changelog
|
## Descriptive changelog
|
||||||
(All dates are DD.MM.YYYY)
|
(All dates are DD.MM.YYYY)
|
||||||
|
|
||||||
#### 0.9.1-SNAPSHOT - current development snapshot
|
#### 0.9.2-SNAPSHOT - current development snapshot
|
||||||
|
|
||||||
|
#### 0.9.1 - 6.4.2024
|
||||||
- Fix #42, return values from libsodium calls are now checked
|
- Fix #42, return values from libsodium calls are now checked
|
||||||
- Bump kotlin to 1.9.23
|
- Bump kotlin to 1.9.23
|
||||||
- Update to latest libsodium
|
- Update to latest stable libsodium
|
||||||
- Update latest MSVC library
|
- Update latest MSVC library
|
||||||
|
|
||||||
#### 0.9.0 - 23.9.2023
|
#### 0.9.0 - 23.9.2023
|
||||||
|
18
README.md
18
README.md
@ -1,4 +1,5 @@
|
|||||||

|
> [!CAUTION]
|
||||||
|
> Experimental library!
|
||||||
|
|
||||||
# Libsodium bindings for Kotlin Multiplatform
|
# Libsodium bindings for Kotlin Multiplatform
|
||||||
|
|
||||||
@ -12,7 +13,7 @@ attack surfaces, bugs and other issues and you shouldn't use it in production un
|
|||||||
|
|
||||||
#### Gradle
|
#### Gradle
|
||||||
```kotlin
|
```kotlin
|
||||||
implementation("com.ionspin.kotlin:multiplatform-crypto-libsodium-bindings:0.9.0")
|
implementation("com.ionspin.kotlin:multiplatform-crypto-libsodium-bindings:0.9.1")
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Snapshot builds
|
#### Snapshot builds
|
||||||
@ -20,7 +21,7 @@ implementation("com.ionspin.kotlin:multiplatform-crypto-libsodium-bindings:0.9.0
|
|||||||
repositories {
|
repositories {
|
||||||
maven("https://oss.sonatype.org/content/repositories/snapshots")
|
maven("https://oss.sonatype.org/content/repositories/snapshots")
|
||||||
}
|
}
|
||||||
implementation("com.ionspin.kotlin:multiplatform-crypto-libsodium-bindings:0.9.1-SNAPSHOT")
|
implementation("com.ionspin.kotlin:multiplatform-crypto-libsodium-bindings:0.9.2-SNAPSHOT")
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -97,6 +98,8 @@ those, kotlin API returns a data class wrapping both objects. An example of this
|
|||||||
crypto_secretstream_xchacha20poly1305_init_push(&state, header, key);
|
crypto_secretstream_xchacha20poly1305_init_push(&state, header, key);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**kotlin:**
|
**kotlin:**
|
||||||
This is what the response data class definition looks like:
|
This is what the response data class definition looks like:
|
||||||
```
|
```
|
||||||
@ -110,6 +113,8 @@ And here is the usage sample
|
|||||||
val header = stateAndHeader.header
|
val header = stateAndHeader.header
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If a libsodium call fails, `xChaCha20Poly1305InitPush` function will throw a `GeneralLibsodiumException`.
|
||||||
|
|
||||||
The functions are mapped from libsodium to kotiln objects, so `crypto_secretstream_xchacha20poly1305_init_push` becomes
|
The functions are mapped from libsodium to kotiln objects, so `crypto_secretstream_xchacha20poly1305_init_push` becomes
|
||||||
`SecretStream.xChaCha20Poly1305InitPush`
|
`SecretStream.xChaCha20Poly1305InitPush`
|
||||||

|

|
||||||
@ -129,7 +134,6 @@ Currently supported native platforms (Apple Silicon is supported since 0.8.5) :
|
|||||||
|iOS x86 64 | :heavy_check_mark: |
|
|iOS x86 64 | :heavy_check_mark: |
|
||||||
|iOS Arm 64 | :heavy_check_mark: |
|
|iOS Arm 64 | :heavy_check_mark: |
|
||||||
|iOS Simulator Arm 64 (Apple Silicon)| :heavy_check_mark: |
|
|iOS Simulator Arm 64 (Apple Silicon)| :heavy_check_mark: |
|
||||||
|watchOS Arm 64(_32) | :heavy_check_mark: |
|
|
||||||
|watchOS Arm 32 | :heavy_check_mark: |
|
|watchOS Arm 32 | :heavy_check_mark: |
|
||||||
|watchOS Simulator Arm 64 (Apple Silicon)| :heavy_check_mark: |
|
|watchOS Simulator Arm 64 (Apple Silicon)| :heavy_check_mark: |
|
||||||
|tvOS X86 64 | :heavy_check_mark: |
|
|tvOS X86 64 | :heavy_check_mark: |
|
||||||
@ -141,8 +145,8 @@ Currently supported native platforms (Apple Silicon is supported since 0.8.5) :
|
|||||||
### Where do the compiled libraries used by JVM and Android come from
|
### Where do the compiled libraries used by JVM and Android come from
|
||||||
Android .so files come from running dist-build scripts in libsodium which you can find in the libsodium submodule
|
Android .so files come from running dist-build scripts in libsodium which you can find in the libsodium submodule
|
||||||
Java Linux Arm/X86_64 and Mac so and dylib are the same as produced by multiplatform builds, also based on the same submodule commit
|
Java Linux Arm/X86_64 and Mac so and dylib are the same as produced by multiplatform builds, also based on the same submodule commit
|
||||||
Java Windows dll is from https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable-msvc.zip
|
Java Windows dll is from https://download.libsodium.org/libsodium/releases/libsodium-1.0.19-stable-msvc.zip
|
||||||
|
Javascript is from libsodium-wrappers-sumo npm package version 0.7.13 (https://github.com/jedisct1/libsodium.js)
|
||||||
|
|
||||||
### TODO:
|
### TODO:
|
||||||
- Improve documentation
|
- Improve documentation
|
||||||
@ -154,7 +158,7 @@ Java Windows dll is from https://download.libsodium.org/libsodium/releases/libso
|
|||||||
### Building
|
### Building
|
||||||
Clone the git, init the submodule and run `./gradlew build`. Note that current build settings are such that only linux builds `js` target.
|
Clone the git, init the submodule and run `./gradlew build`. Note that current build settings are such that only linux builds `js` target.
|
||||||
|
|
||||||
#### Notes for Gitlab runners:
|
#### Notes for Github runners:
|
||||||
- At the moment all runners need to have android sdk present even though not all are building Android build
|
- At the moment all runners need to have android sdk present even though not all are building Android build
|
||||||
|
|
||||||
#### Windows:
|
#### Windows:
|
||||||
|
@ -38,7 +38,7 @@ object Versions {
|
|||||||
|
|
||||||
object ReleaseInfo {
|
object ReleaseInfo {
|
||||||
val group = "com.ionspin.kotlin"
|
val group = "com.ionspin.kotlin"
|
||||||
val bindingsVersion = "0.9.1-SNAPSHOT"
|
val bindingsVersion = "0.9.2-SNAPSHOT"
|
||||||
}
|
}
|
||||||
|
|
||||||
object Deps {
|
object Deps {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user