Skip to content

Releases: signalapp/libsignal

v0.76.2

01 Jul 08:54
71c44d4
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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`.

v0.74.1

10 Jun 21:14
fd34ab3
Compare
Choose a tag to compare
-   backups: Add integrityCheck to LocatorInfo

v0.74.0

04 Jun 21:57
61827e1
Compare
Choose a tag to compare
- Integrate post-quantum ratchet in opt-in mode.

v0.73.3

03 Jun 23:37
7cce36e
Compare
Choose a tag to compare
- keytrans: Properly bridge and document errors

- keytrans: Add production configuration

- Internal improvements

- MSRV bumped to 1.83.0

v0.73.2

29 May 23:00
f8bcdb0
Compare
Choose a tag to compare
- Android: Fix bug which can cause CompletableFuture to be stripped by
  ProGuard/R8.

- keytrans: Bridge to ffi

v0.73.1

20 May 22:47
ad59d90
Compare
Choose a tag to compare
- Backups: the now-deprecated remote content locator fields are ignored and the new FilePointer.locator_info field must
  be set.