From 64e483e256c5663baa24b12b8f7cca184e1dc69d Mon Sep 17 00:00:00 2001 From: beltram Date: Wed, 13 Dec 2023 10:23:26 +0100 Subject: [PATCH] release: v1.0.0-rc.22 --- CHANGELOG.md | 35 +++++++++++++++++++++++++++ CHANGELOG.tpl | 15 +++++++++++- crypto-attributes/Cargo.toml | 2 +- crypto-ffi/Cargo.toml | 6 ++--- crypto-ffi/bindings/gradle.properties | 2 +- crypto/Cargo.toml | 12 ++++----- interop/Cargo.toml | 2 +- keystore-dump/Cargo.toml | 2 +- keystore/Cargo.toml | 2 +- mls-provider/Cargo.toml | 6 ++--- package.json | 2 +- 11 files changed, 67 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d84fcf2988..9474226780 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,41 @@ Platform support legends: * Note: the papercuts will majorly be with the build process. Things might be very rough to integrate as no polish at all has been given yet. * ❌ = tier 3 support. It doesn't work just yet, but we plan to make it work. + +## [1.0.0-rc.22] - 2023-12-13 + +
+ git-conventional changelog + +### Bug Fixes + +- README mentions a task which doesn't exist ([#445](https://github.com/wireapp/core-crypto/issues/445)) +- Remove unnecessary boxing of values before persisting them in IndexedDb + +### Features + +- [**breaking**] Remove 'clientId' from activation & rotate enrollment now that we expect a specific ClientId format +- [**breaking**] Add `get_credential_in_use()` to check the e2ei state from a GroupInfo +- [**breaking**] Rename `E2eiConversationState::Degraded` in to `E2eiConversationState::NotVerified` +- [**breaking**] Managed OIDC refreshToken (wpb-5012) + +### Miscellaneous Tasks + +- Remove unused 'MlsSignatureKeyPairExt' trait and 'get_indexed' method +- Streamline "collection" in wasm storage +- WasmEncryptedStorage::get_many was not used + +### Testing + +- Verify that clients can create conversation with x509 credentials + +
+ +* feat(e2ei)!: manage OIDC refreshToken in CoreCrypto's encrypted-at-rest store. As a consequence, some methods went async (all the enrollment ones in WASM). The refreshToken has to be supplied in `newOidcChallengeRequest()` and is persisted in `newOidcChallengeResponse()`. Clients should fetch it back from an `Enrollment` created by `newRotateEnrollment()` with the new `getRefreshToken()` method. +* feat(e2ei)!: remove 'clientId' from `newActivationEnrollment()` & `newRotateEnrollment()`. We can do this now that we expect a specific ClientId format. +* feat(e2ei): add `getCredentialInUse(GroupInfo)` to check the e2ei state from a GroupInfo. This allows verifying the state of a conversation before joining it (and potentially degrading the e2ei state). +* feat(e2ei)!: rename `E2eiConversationState::Degraded` in to `E2eiConversationState::NotVerified` + ## [1.0.0-rc.21] - 2023-12-05
diff --git a/CHANGELOG.tpl b/CHANGELOG.tpl index e7505463d1..d4720b624a 100644 --- a/CHANGELOG.tpl +++ b/CHANGELOG.tpl @@ -7,11 +7,24 @@ Platform support legends: * Note: the papercuts will majorly be with the build process. Things might be very rough to integrate as no polish at all has been given yet. * ❌ = tier 3 support. It doesn't work just yet, but we plan to make it work. + +## [1.0.0-rc.22] - 2023-12-13 + +
+ git-conventional changelog +{{git-cliff tag="v1.0.0-rc.22" unreleased=true}} +
+ +* feat(e2ei)!: manage OIDC refreshToken in CoreCrypto's encrypted-at-rest store. As a consequence, some methods went async (all the enrollment ones in WASM). The refreshToken has to be supplied in `newOidcChallengeRequest()` and is persisted in `newOidcChallengeResponse()`. Clients should fetch it back from an `Enrollment` created by `newRotateEnrollment()` with the new `getRefreshToken()` method. +* feat(e2ei)!: remove 'clientId' from `newActivationEnrollment()` & `newRotateEnrollment()`. We can do this now that we expect a specific ClientId format. +* feat(e2ei): add `getCredentialInUse(GroupInfo)` to check the e2ei state from a GroupInfo. This allows verifying the state of a conversation before joining it (and potentially degrading the e2ei state). +* feat(e2ei)!: rename `E2eiConversationState::Degraded` in to `E2eiConversationState::NotVerified` + ## [1.0.0-rc.21] - 2023-12-05
git-conventional changelog -{{git-cliff tag="v1.0.0-rc.21" unreleased=true}} +{{git-cliff tag="v1.0.0-rc.21"}}
* feat!: canonicalize ClientId keeping only the regular version where the UserId portion is the hyphenated string representation of the UUID. Also apply this to `getUserIdentities()` diff --git a/crypto-attributes/Cargo.toml b/crypto-attributes/Cargo.toml index cbaa4a5946..aa68f1681f 100644 --- a/crypto-attributes/Cargo.toml +++ b/crypto-attributes/Cargo.toml @@ -2,7 +2,7 @@ name = "core-crypto-attributes" description = "Macros for core-crypto" repository = "https://github.com/wireapp/core-crypto" -version = "1.0.0-rc.21" +version = "1.0.0-rc.22" edition = "2021" license = "GPL-3.0-only" diff --git a/crypto-ffi/Cargo.toml b/crypto-ffi/Cargo.toml index f9502b2d93..40f3e89e62 100644 --- a/crypto-ffi/Cargo.toml +++ b/crypto-ffi/Cargo.toml @@ -2,7 +2,7 @@ name = "core-crypto-ffi" description = "Platform-specific bindings (Android, iOS, WASM) for CoreCrypto" repository = "https://github.com/wireapp/core-crypto" -version = "1.0.0-rc.21" +version = "1.0.0-rc.22" edition = "2021" license = "GPL-3.0-only" publish = false @@ -35,7 +35,7 @@ sha2 = { version = "0.10", features = ["force-soft"] } [target.'cfg(not(target_family = "wasm"))'.dependencies] # UniFFI - Android + iOS bindings - Runtime support uniffi = { workspace = true } -core-crypto = { version = "^1.0.0-rc.21", path = "../crypto", features = ["uniffi"] } +core-crypto = { version = "^1.0.0-rc.22", path = "../crypto", features = ["uniffi"] } [target.wasm32-unknown-unknown.dependencies] wasm-bindgen = "0.2" @@ -46,7 +46,7 @@ serde = { version = "1.0", features = ["derive"] } js-sys = "0.3" web-sys = "0.3" strum = "0.25" -core-crypto = { version = "^1.0.0-rc.21", path = "../crypto" } +core-crypto = { version = "^1.0.0-rc.22", path = "../crypto" } # UniFFI - Android + iOS bindings - Build support diff --git a/crypto-ffi/bindings/gradle.properties b/crypto-ffi/bindings/gradle.properties index 728b05f252..5366fd9a59 100644 --- a/crypto-ffi/bindings/gradle.properties +++ b/crypto-ffi/bindings/gradle.properties @@ -15,7 +15,7 @@ kotlin.code.style=official # gradle-maven-publish configuration GROUP=com.wire -VERSION_NAME=1.0.0-rc.21 +VERSION_NAME=1.0.0-rc.22 SONATYPE_HOST=DEFAULT SONATYPE_AUTOMATIC_RELEASE=true RELEASE_SIGNING_ENABLED=true diff --git a/crypto/Cargo.toml b/crypto/Cargo.toml index 9f65ff608e..4ccc8d396c 100644 --- a/crypto/Cargo.toml +++ b/crypto/Cargo.toml @@ -2,7 +2,7 @@ name = "core-crypto" description = "Abstraction over OpenMLS with persistent keystore" repository = "https://github.com/wireapp/core-crypto" -version = "1.0.0-rc.21" +version = "1.0.0-rc.22" edition = "2021" license = "GPL-3.0-only" publish = false @@ -77,13 +77,13 @@ rexie = { version = "0.4", optional = true } base64 = { version = "0.21", optional = true } [target.'cfg(not(target_os = "ios"))'.dependencies] -core-crypto-keystore = { version = "^1.0.0-rc.20", path = "../keystore" } +core-crypto-keystore = { version = "^1.0.0-rc.21", path = "../keystore" } [target.'cfg(target_os = "ios")'.dependencies] -core-crypto-keystore = { version = "^1.0.0-rc.21", path = "../keystore", features = ["ios-wal-compat"] } +core-crypto-keystore = { version = "^1.0.0-rc.22", path = "../keystore", features = ["ios-wal-compat"] } [dependencies.mls-crypto-provider] -version = "^1.0.0-rc.21" +version = "^1.0.0-rc.22" path = "../mls-provider" [dev-dependencies] @@ -111,7 +111,7 @@ tag = "v1.2.2-pre.core-crypto-0.7.0" version = "=0.9.2" [dev-dependencies.core-crypto-keystore] -version = "^1.0.0-rc.21" +version = "^1.0.0-rc.22" path = "../keystore" features = ["dummy-entity"] @@ -124,7 +124,7 @@ version = "0.5" features = ["async_std", "html_reports"] [dev-dependencies.core-crypto-attributes] -version = "^1.0.0-rc.21" +version = "^1.0.0-rc.22" path = "../crypto-attributes" [package.metadata.wasm-pack.profile.release] diff --git a/interop/Cargo.toml b/interop/Cargo.toml index 9dbbdd500f..80c1d73360 100644 --- a/interop/Cargo.toml +++ b/interop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "interop" -version = "1.0.0-rc.20" +version = "1.0.0-rc.21" edition = "2021" license = "GPL-3.0-only" diff --git a/keystore-dump/Cargo.toml b/keystore-dump/Cargo.toml index b65cf81568..13bdd58e83 100644 --- a/keystore-dump/Cargo.toml +++ b/keystore-dump/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "keystore-dump" description = "Dumps a keystore to JSON on stdout" -version = "0.0.0-rc.16" +version = "0.0.0-rc.17" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/keystore/Cargo.toml b/keystore/Cargo.toml index 9bd076fc14..3717eff4b1 100644 --- a/keystore/Cargo.toml +++ b/keystore/Cargo.toml @@ -2,7 +2,7 @@ name = "core-crypto-keystore" description = "Encrypted keystore with support for OpenMLS and Proteus" repository = "https://github.com/wireapp/core-crypto" -version = "1.0.0-rc.21" +version = "1.0.0-rc.22" edition = "2021" license = "GPL-3.0-only" publish = false diff --git a/mls-provider/Cargo.toml b/mls-provider/Cargo.toml index d9c999b234..5dd6876598 100644 --- a/mls-provider/Cargo.toml +++ b/mls-provider/Cargo.toml @@ -2,7 +2,7 @@ name = "mls-crypto-provider" description = "MLS Crypto Provider wrapping core-crypto-keystore" repository = "https://github.com/wireapp/core-crypto" -version = "1.0.0-rc.21" +version = "1.0.0-rc.22" edition = "2021" license = "GPL-3.0-only" publish = false @@ -42,10 +42,10 @@ version = "0.10" features = ["x25519", "p256", "p384", "xyber768d00", "serde_impls"] [target.'cfg(not(target_os = "ios"))'.dependencies] -core-crypto-keystore = { version = "^1.0.0-rc.21", path = "../keystore" } +core-crypto-keystore = { version = "^1.0.0-rc.22", path = "../keystore" } [target.'cfg(target_os = "ios")'.dependencies] -core-crypto-keystore = { version = "^1.0.0-rc.21", path = "../keystore", features = ["ios-wal-compat"] } +core-crypto-keystore = { version = "^1.0.0-rc.22", path = "../keystore", features = ["ios-wal-compat"] } [dev-dependencies] wasm-bindgen-test = "0.3" diff --git a/package.json b/package.json index b1666d14cd..4faf05b52b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@wireapp/core-crypto", - "version": "1.0.0-rc.21", + "version": "1.0.0-rc.22", "description": "CoreCrypto bindings for the Web", "type": "module", "module": "platforms/web/corecrypto.js",