diff --git a/CHANGELOG.md b/CHANGELOG.md index 25a82aaa9c..b6b1786c5f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,21 @@ 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.11] - 2023-08-31 + +
+ git-conventional changelog + +### Bug Fixes + +- [**breaking**] UniFFI Errors + +
+ +* fix!: Fix Kotlin & Swift FFI errors + * This includes a breaking change where CoreCrypto and E2EI errors are separated, so change accordingly + ## [1.0.0-rc.10] - 2023-08-31
@@ -16,6 +31,136 @@ Platform support legends: - UniFFI symbol matching +### Miscellaneous Tasks + +- Release v1.0.0-rc.10 + + +### Bug Fixes + +- Make UniFFI produce the correct symbol in bindings +- Change e2ei enrollment identifier causing collision now that keypairs are reused + +### Documentation + +- Regenerate changelog + +### Features + +- [**breaking**] Return raw PEM certificate in `getUserIdentities` for display purpose +- [**breaking**] Bump rusty-jwt-tools to v0.5.0. Add 'revokeCert' to AcmeDirectory + +### Miscellaneous Tasks + +- Release v1.0.0-rc.9 + + +### Bug Fixes + +- TLS serialization of x509 credential +- [**breaking**] UniFFI Async cancellable routines + bytes +- Make interop runner pick up CHROME_PATH from env + +### Features + +- Expose `getUserIdentities` through the FFI +- [**breaking**] Also restore buffered messages on the receiver side +- Increase max past epoch to 3 since backend inordering of messages requires client's config to backend's one + 1 + +### Miscellaneous Tasks + +- Release 1.0.0-rc.8 +- Fix clippy lint on wasm tests +- Quiet clippy new lint about non send in Arc because it comes from wasm-bindgen wrapped Javascript object which cannot be shared between threads anyway +- Remove useless application message epoch check + +### Refactor + +- Borrow conversation_id in `new_conversation` + +### Testing + +- Fix wasm test hitting a limit. Just split them for now, waiting for a proper solution +- Fix spinoff 0.8 compilation + + +### Bug Fixes + +- Kotlin tests not compiling after methods became async + +### Features + +- Correlate RotateBundle with a GroupId + +### Miscellaneous Tasks + +- Release 1.0.0-rc.7 + + +### Bug Fixes + +- `e2eiRotateAll` return type was not wrapped +- Signature KeyPair was rotated when credentials were which was zealous. Also fixes an important bug caused by inverted private & public keypair part when rotating credentials + +### Features + +- [**breaking**] Handle the case when a client tries to decrypt a Welcome referring to a KeyPackage he already has deleted locally +- Add keystore dump exporter CLI tool + +### Miscellaneous Tasks + +- Release 1.0.0-rc.6 + +### Testing + +- Add a roundtrip test for e2ei credential rotation to tackle a false positive regression + + +### Bug Fixes + +- E2ei enum for conversation state was unused and failing the Typescript publication. Now CI will have the same compiler flags when checking bindings in order to prevent this again + +### Miscellaneous Tasks + +- Release 1.0.0-rc.5 + + +### Miscellaneous Tasks + +- Release 1.0.0-rc.4 +- Patch visibility issue for enum 'E2eiConversationState' which was failing when building Typescript bindings + + +### Bug Fixes + +- Proteus wasm test now uses wasm-browser-run +- Cargo doc fixes for wasm-browser-run +- Interop runner now uses wasm-browser-run to install chromedriver +- Support chromedriver 115 delivery method +- `e2ei_rotate_all` was returning 'undefined' on WASM +- [**breaking**] Entities leaked. Some methods handling the lifecycle of a MLS group were not cleaning created entities correctly. This avoids required storage space to grow linearly. + +### Features + +- [**breaking**] Rename `e2eiIsDegraded` by `e2eiConversationState` and change return type to an enumeration instead of a boolean to match all the e2ei states a conversation could have. +- Add `e2ei_is_enabled` for clients to spot if their MLS client is enrolled for end-to-end identity + +### Miscellaneous Tasks + +- Release 1.0.0-rc.3 +- Update rstest versions +- Updated xtask deps + + +### Features + +- [**breaking**] Expose 'ClientId' in e2ei methods for credential rotation since the e2ei client identifier differs from the one used in MLS +- Include certificate roots and certificate policy in GroupContext - WPB-1188 + +### Miscellaneous Tasks + +- Release v1.0.0-rc.2 +
* fix: Fix Kotin & Swift wrappers by producing correct symbols @@ -218,15 +363,6 @@ In that case he has to catch & ignore the "OrphanWelcome" error and to rejoin th
git-conventional changelog -### Features - -- [**breaking**] Expose 'ClientId' in e2ei methods for credential rotation since the e2ei client identifier differs from the one used in MLS -- Include certificate roots and certificate policy in GroupContext - WPB-1188 - -### Miscellaneous Tasks - -- Release v1.0.0-rc.2 -
* Added support for x509 certificate roots and policies in MLS GroupContext through a TrustAnchor GroupContextExtension #346 diff --git a/crypto-attributes/Cargo.toml b/crypto-attributes/Cargo.toml index a1e0d5cf77..9e365ab9a7 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.10" +version = "1.0.0-rc.11" edition = "2021" license = "GPL-3.0-only" diff --git a/crypto-ffi/Cargo.toml b/crypto-ffi/Cargo.toml index 107d39297f..db980115d8 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.10" +version = "1.0.0-rc.11" 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.10", path = "../crypto", features = ["uniffi"] } +core-crypto = { version = "^1.0.0-rc.11", 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.10", path = "../crypto" } +core-crypto = { version = "^1.0.0-rc.11", path = "../crypto" } # UniFFI - Android + iOS bindings - Build support diff --git a/crypto-ffi/bindings/gradle.properties b/crypto-ffi/bindings/gradle.properties index 1387e488af..6b95c8b3b6 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.10 +VERSION_NAME=1.0.0-rc.11 SONATYPE_HOST=DEFAULT SONATYPE_AUTOMATIC_RELEASE=true RELEASE_SIGNING_ENABLED=true diff --git a/crypto/Cargo.toml b/crypto/Cargo.toml index c135e7567f..69d1e1e62f 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.10" +version = "1.0.0-rc.11" edition = "2021" license = "GPL-3.0-only" publish = false @@ -74,13 +74,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.10", path = "../keystore" } +core-crypto-keystore = { version = "^1.0.0-rc.11", path = "../keystore" } [target.'cfg(target_os = "ios")'.dependencies] -core-crypto-keystore = { version = "^1.0.0-rc.10", path = "../keystore", features = ["ios-wal-compat"] } +core-crypto-keystore = { version = "^1.0.0-rc.11", path = "../keystore", features = ["ios-wal-compat"] } [dependencies.mls-crypto-provider] -version = "^1.0.0-rc.10" +version = "^1.0.0-rc.11" path = "../mls-provider" [dev-dependencies] @@ -108,7 +108,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.10" +version = "^1.0.0-rc.11" path = "../keystore" features = ["dummy-entity"] @@ -121,7 +121,7 @@ version = "0.5" features = ["async_std", "html_reports"] [dev-dependencies.core-crypto-attributes] -version = "^1.0.0-rc.10" +version = "^1.0.0-rc.11" path = "../crypto-attributes" [package.metadata.wasm-pack.profile.release] diff --git a/interop/Cargo.toml b/interop/Cargo.toml index 3db4e5fe06..dbf7729435 100644 --- a/interop/Cargo.toml +++ b/interop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "interop" -version = "1.0.0-rc.10" +version = "1.0.0-rc.11" edition = "2021" license = "GPL-3.0-only" diff --git a/keystore-dump/Cargo.toml b/keystore-dump/Cargo.toml index 805b97a990..96aea6f1ea 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.5" +version = "0.0.0-rc.6" 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 5d37a00f45..16fa3efb6d 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.10" +version = "1.0.0-rc.11" edition = "2021" license = "GPL-3.0-only" publish = false diff --git a/mls-provider/Cargo.toml b/mls-provider/Cargo.toml index b373d62cd2..8b150df53e 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.10" +version = "1.0.0-rc.11" 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.10", path = "../keystore" } +core-crypto-keystore = { version = "^1.0.0-rc.11", path = "../keystore" } [target.'cfg(target_os = "ios")'.dependencies] -core-crypto-keystore = { version = "^1.0.0-rc.10", path = "../keystore", features = ["ios-wal-compat"] } +core-crypto-keystore = { version = "^1.0.0-rc.11", path = "../keystore", features = ["ios-wal-compat"] } [dev-dependencies] wasm-bindgen-test = "0.3" diff --git a/package.json b/package.json index eba15cdf9b..ce69bb45e2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@wireapp/core-crypto", - "version": "1.0.0-rc.10", + "version": "1.0.0-rc.11", "description": "CoreCrypto bindings for the Web", "type": "module", "module": "platforms/web/corecrypto.js",