Skip to content

Releases: wireapp/core-crypto

v5.2.0

15 Apr 10:27
v5.2.0
d1b79c2
Compare
Choose a tag to compare

Bug Fixes

  • add registerEpochObserver to CoreCryptoProtocol (eadf388)
  • create an interface for ConversationConfiguration (b1e82bf)
  • swift publishing failing due to not running on latest macos runner (dcc1890)

v3.1.1

15 Apr 09:48
v3.1.1
c92f78c
Compare
Choose a tag to compare
  • This release bumps the version of rusty-jwt-tools to 0.13.0, which includes additional end-to-end identity tests and test markers relevant to Bund.

v5.1.0

03 Apr 12:09
v5.1.0
3eb9b46
Compare
Choose a tag to compare

Bug Fixes

  • broken swift bindings by publishing uniffi framework separately (2b950cc)
  • don't refer to the internal uniffi EpochObserver type in the public API (7833300)
  • re-expose proteus_reload_session which removed by mistake (36f2b87)

v5.0.0

21 Mar 11:27
v5.0.0
c7ae40f
Compare
Choose a tag to compare

Highlights

New Swift bindings which are more ergonomic and allows for better testing by exposing the transaction
context as a protocol.

New API for observing epoch changes through a callback API: registerEpochObserver. After adopting
this API clients can remove their own epoch observers.

Breaking changes

  • New Swift bindings are replacing the old Swift bindings.

Features

  • add API for observing epochs to the swift bindings (47f9a6e)
  • [breaking] add Swift wrapper on top of uniffi (ce862d4)
  • add registerEpochObserver helper in TS (1e25f4a)
  • add registerEpochObserver helper in Kotlin (bc05e13)
  • enable epoch observer registration in wasm (6a5f395)
  • enable epoch observer registration in uniffi (e04b83e)
  • relax Debug restriction on EpochObserver (ff22e35)
  • add an EpochObserver trait and instance to the client (e83f9f5)

Bug Fixes

  • android-uniffi library namespace was conflicting the main android library (a7ec292)
  • kotlin documentation links on the main page (8045031)
  • release swift framework with correct version (f1c6029)
  • the android artefact was still trying to publish to nexus (0b1dfeb)
  • make EpochObserver and registration fn visible from the outside (b4a16f8)
  • ensure that local epoch changes are also observed (bc43dc3)

Documentation

  • add note about logs in browser tests (bf6b594)

Testing

  • add test demonstrating epoch observer (a65ab45)
  • add test for epoch observer behavior (c302cb3)
  • add tests of basic behavior (a810259)
  • don't assert a non-epoch-change when the epoch must change (d939255)
  • rm has_epoch_changed usage in favor of EpochObserver (88cbff2)

v4.2.3

14 Mar 16:33
v4.2.3
6c18672
Compare
Choose a tag to compare

Bug Fixes

  • fix android publishing to maven central

v4.2.2

14 Mar 13:32
v4.2.2
88948c5
Compare
Choose a tag to compare

Bug Fixes

  • fix publishing to maven central for Android and JVM artefacts

v4.2.1

14 Mar 10:35
v4.2.1
0683d60
Compare
Choose a tag to compare

Bug Fixes

  • expose proteusCryptoboxMigrate() [WPB-16549] (682b9fe)

Documentation

  • fix comments in index.md (b35b021)
  • update README.md with instructions to update docs table (0ce3d49)
  • update documentation table with links to docs for v3.1.0 and v4.2.0 (93bcba9)
  • add docs landing page [WPB-11382] (5361146)

v4.2.0

28 Feb 19:13
v4.2.0
39137b0
Compare
Choose a tag to compare

Highlights

  • The Android release once again bundles API docs.
  • The Kotlin bindings have received several API fixes in particular:
    • AcmeChallenge was missing the target property.
    • proteusGetPrekeyFingerprint was missing.
  • The Typescript bindings now correctly expose WireIdentity and X509Identity.
  • The code base has migrated to Rust 2024 edition.

Bug Fixes

  • expose target on AcmeChallenge (c509a3f)
  • add missing proteus function (a956924)
  • don't expose uniffi types in the kotlin bindings (988b7d0)
  • publishing android docs (7b91f08)
  • publicly expose WireIdentity and X509Identity in the typescript bindings (6592d4a)
  • return the wasm bindgen generated JS type instead of converting the value to JSON. (3446920)

Testing

  • add test case for querying identities (3c36cb5)

v3.1.0

12 Feb 16:27
v3.1.0
70face8
Compare
Choose a tag to compare
  • Add a test case mimicking a real life bug ([WPB-15810]), demonstrating that in some cases it was possible to generate errors by swapping the ordering of two messages.
  • Add a new layer of buffering to handle that situation.

Note

Decrypting a message can now potentially return a MlsError::Other variant with the message

Incoming message is a commit for which we have not yet received all the proposals.
Buffering until all proposals have arrived.

Clients do not need to take any action in response to this message.
This error simply indicates that the commit has been buffered, and will be automatically unbuffered when possible.

If the required proposal is never delivered, however, the client will eventually desync as the commit will never be processed. Clients should be on the lookout for this case and trigger their rejoin protocol in that event.

v4.1.0

07 Feb 17:22
v4.1.0
f33d33d
Compare
Choose a tag to compare

Highlights

  • Adds commit buffering, so that CoreCrypto is now tolerant to receiving a commit even if not all referenced proposals have yet been received.
  • Adds a new public error variant, BufferedCommit, to indicate that a commit has been received but cannot yet be applied

⚠️ Versioning Note ⚠️

Due to the new public error variant, this may technically be a breaking change depending on how strict your language is about such things. This is of particular interest to Kotlin developers.