Skip to content

Releases: signalapp/libsignal

v0.76.7

22 Jul 21:17
9fc4534

Choose a tag to compare

- Fix advisories for recently-added SVR enclaves.

v0.76.6

22 Jul 01:29
3c03296

Choose a tag to compare

- The backup validator accepts the new "forward secrecy" format as well as the existing "ciphertext only" format.

- Added support for new CDSi and SVR2 enclaves.

v0.76.5

18 Jul 17:15

Choose a tag to compare

- Added HPKE operations to (EC)PublicKey---`seal`---and
  PrivateKey---`open`.

- Java: CompletableFuture now has a convencience factory method
  `completedFuture`, matching its namesake in `java.util.concurrent`.

v0.76.4

14 Jul 17:08
efb29c8

Choose a tag to compare

- Work around an issue with misbehaving write(2) calls on macOS.

v0.76.3

01 Jul 18:11
4a7758e

Choose a tag to compare

- Update Java publishing job to use new endpoint for Maven Central uploads.

v0.76.2

01 Jul 08:54
71c44d4

Choose a tag to compare

- Java: Fix lifetime management for bridged objects used with async functions; previously there was a window where they could get prematurely deallocated, leading to undefined behavior.

- Java: Simplify and fix the finalization of incremental mac streams.

v0.76.1

26 Jun 19:36
6dc0f85

Choose a tag to compare

- Making a chat connection now accepts a locale (Java) or a list of language codes (Swift, TypeScript), which will set the default language to be used for any requests on that connection if provided.

- swift: Fingerpint mismatch error now contains both versions

v0.76.0

24 Jun 21:07

Choose a tag to compare

- The net-related RequestedInformation type in Java, Swift, and Rust has been renamed to ChallengeOption, and in some cases relocated, to reflect its broader usage. The cases within the type have not been changed.

- Java: documentation is now produced by Dokka instead of javadoc; for Kotlin-flavored docs, you can consume the -dokka Maven artifact instead of the -javadoc one.

v0.75.1

18 Jun 16:42
c1722f4

Choose a tag to compare

- backups: Update validation to reject EncryptedDigest with no transit info

- backups: Validate new backupTier field

v0.75.0

16 Jun 18:20
30f7bf7

Choose a tag to compare

- X3DH handling has been removed from libsignal; X3DH PreKey messages will now be rejected as invalid. (Note for Rust clients: they are rejected as InvalidMessage rather than LegacyCiphertextVersion because that is more practical for the official Signal apps.) PQXDH will be required going forward and the Rust-level PreKeyBundle and related types have been updated to reflect this. There are no further API changes for the app languages.

- Node: All APIs now use Uint8Array instead of Buffer. This is a breaking change if you were relying on any of the APIs added to Buffer on top of Uint8Array, including the diverging behavior of `slice()` and `toString()`.

- Require that device IDs in protocol addresses be in the range [1, 127]. This is a breaking change.

- Require Swift 6.0 to build LibSignalClient.

- Swift: use `Data` instead of `[UInt8]` as the type of buffers in arguments and return types.

- Java: remove Curve.kt from the public API.

- Java: port several classes to Kotlin; these changes are Java-compatible but might require changes in consuming Kotlin code.

- Android: acknowledgments for testing APIs are now shipped as `assets/acknowledgments/libsignal-testing.md`, feel free to strip them out in your build if you are also removing `libsignal_jni_testing.so`.

- iOS: the name of the acknowledgments file has changed from `acknowledgments.plist` to `acknowledgments-ios.plist`.