Skip to content

Releases: wireapp/core-crypto

v3.0.0

11 Dec 15:45
Compare
Choose a tag to compare

Highlights

  • Fix the 'transaction in progress' error when there was an attempt to perform multiple transactions
    in parallel. This will no longer throw an error, instead the transactions will be queued and performed
    serially one after another.

Breaking changes

  • Added the missing MLS error case OrphanWelcome.

Bug Fixes

  • expose OrphanWelcome to clients [WPB-14954] (530b2e4)
  • silence verbose logs when performing a transaction [WPB-14953] (b13553d)
  • don't swallow transaction errors if they don't originate from the closure [WPB-14895] (124b8a7)
  • wait for current transaction to finish when creating a new one [WPB-14895] (73b9d52)

Testing

  • parallel transactions are performed serially (ccc0b32)

v2.0.0

02 Dec 13:01
v2.0.0
Compare
Choose a tag to compare

Highlights

  • The number of public errors has been reduced and simplified. It's no longer necessary to use the
    proteus_last_error_code function, since thrown error should contain all the information.
  • The logger callback now includes an additional context parameter which contains additional context
    for a log event in the form of a JSON Object string.
  • It's now possible to change the logger and log level at runtime (see setLogLevel and setLogger).

Breaking changes

  • Dropped support for i686-linux-android target.
  • CoreCryptoLogger takes an additional context parameter.
  • CoreCryptoError and its child errors have been refactored to reduce the amount of error we expose and provide explicit
    errors for Proteus errors. The errors we have removed will appear under the Other case.
    enum ProteusError {
        SessionNotFound,
        DuplicateMessage,
        RemoteIdentityChanged,
        Other(Int),
    }
    
    pub enum MlsError {
        ConversationAlreadyExists,
        DuplicateMessage,
        BufferedFutureMessage,
        WrongEpoch,
        MessageEpochTooOld,
        SelfCommitIgnored,
        UnmergedPendingGroup,
        StaleProposal,
        StaleCommit,
        Other(String)
    }
    

Features

  • include the message of the source error when bundling errors together [WPB-14614] (16bc6e6)
  • refactor non-WASM error types (9d41c11)
  • proteus error codes are Option<u16> not u32 outside wasm also (52547a0)
  • refactor WASM error types (31c860a)
  • proteus error codes are Option<u16> not u32 (838c1ce)
  • add logging for following the changes in mls groups WPB-11544 (8cc0e7f)
  • support logs with a context of key/value pairs (b6ef534)
  • disambiguate WrongEpoch [WPB-14351] (e6a5e01)
  • support changing the logger and log level at runtime WPB-11541 (cd071f0)
  • add helper to extract data from within a transaction (c852363)
  • relax Debug trait bound on CoreCryptoCommand and add Rust helper [WPB-12132] (e952a0f)

Bug Fixes

  • bump ios deployment target to 15.0 to fix linker issue (1327b1b)
  • improve errors when hitting an idb error during IndexedDB migration (0c0c954)
  • don't obfuscate rexie error in keystore v1.0.0 (6ed43e6)
  • improve errors when hitting a indexdb error during cryptobox migration (682bd9a)
  • build without error without default features (97e2d24)

Documentation

  • improve platform-specific test instructions (a08a3b2)
  • improve naming and documentation for TransactionHelper (e8b4756)

Testing

  • cause jvm kotlin tests to pass (3b8d930)
  • fixup tests broken by recent changes (59db9ed)
  • change test for build metadata to achieve closer parity with the kotlin test (ffd4e02)
  • use wdio where bun test was used previously (9c67569)
  • use util functions, migrate tests from puppeteer to wdio [WPB-12176] (fbff47a)
  • add test util functions [WPB-12176] (196c877)
  • crypto: use world.com instead of wire.com [WPB-14356] (6edcef7)
  • crypto: use explicit functions to create certificate bundles [WPB-14356] (c52b9b6)
  • crypto: remove From impls for CertificateBundle [WPB-14356] (2f59009)
  • add js test for for logs with context data (600ba7c)
  • add test that build metadata is available in kotlin via uniffi (87c3ab9)
  • add test that build metadata is available in ts (4aa18e6)
  • add js binding test verifying that we can replace a logger (30d9db7)
  • update js tests after renaming initLogger to setLogger (1c1c949)

v1.1.2

27 Nov 16:36
v1.1.2
Compare
Choose a tag to compare

Bug Fixes

  • improve errors when hitting an idb error during IndexedDB migration (8512391)
  • don't obfuscate rexie error in keystore v1.0.0 (3896bab)

v1.1.1

26 Nov 23:17
v1.1.1
Compare
Choose a tag to compare

Bug Fixes

  • Improve errors when hitting an indexdb error during cryptobox migration (3266550)

v1.1.0

12 Nov 13:11
v1.1.0
Compare
Choose a tag to compare

Highlights

  • Transactions are now exposed on CoreCrypto, opening the door to substantially improve performance by batching operations.

Features

  • implement set_data() and get_data() on context [WPB-10919] (7e88695)
  • implement in-memory cache on transaction (427e0e0)
  • create a keystore transaction struct to be used in the context (4c3f487)
  • add decode cli tool (6f83796)
  • decouple idb version from crate version (06312fe)
  • implement idb migration for all remaining entities [WPB-10144] (545b376)
  • implement idb migration for one entity [WPB-10144] (32fd279)
  • change aad format [WPB-10108] (8e0b7e5)

Bug Fixes

  • avoid spaces in kotlin test names (1e53e64)
  • EntityFindParams SQL clause ordering (a768db4)

Documentation

  • README.md: add a note regarding sed on macOS (b8f2f55)
  • README.md: replace xtask usage with the update-versions.sh script (59f2530)
  • README.md: update release instructions (b63f17d)
  • regenerate CHANGELOG.md with plain git-cliff (e02621f)
  • remove CHANGELOG.tpl (8a47ba5)
  • update README.md (3eba7b3)

Testing

  • add js binding test verifying that we log errors thrown by the logger (1b959e2)
  • add js bindning wrapper test for logger (0005d1d)
  • fix jvm tests [WPB-11668] (98ce97e)
  • add test for upgrading from basic to x509 credentials (9da3b88)
  • test migrations for all entities (48ea746)
  • factor out random method into its own trait (8fd49b0)
  • interop: make sure that there exists platforms/web/index.html (d9fe1c9)
  • crypto-ffi: move index.html contents into a separate file (2dab8bf)
  • include E2eiEnrollment and MlsEpochEncryptionKeyPair in tests (0e5a466)

v1.0.2

16 Aug 09:38
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.0.1...v1.0.2

v1.0.1

05 Aug 15:34
v1.0.1
Compare
Choose a tag to compare
v1.0.1

v1.0.0

18 Jul 12:11
v1.0.0
Compare
Choose a tag to compare
Release v1.0.0

v1.0.0-rc.60-hotfix.1

13 May 11:47
v1.0.0-rc.60-hotfix.1
e27f73c
Compare
Choose a tag to compare
Release v1.0.0-rc.60-hotfix.1

v1.0.0-rc.60

06 May 14:56
v1.0.0-rc.60
Compare
Choose a tag to compare
Release v1.0.0-rc.60