Skip to content

Releases: signalapp/libsignal

v0.63.0

22 Nov 22:59
Compare
Choose a tag to compare
- Introduce OnlineBackupValidator, while accepts serialized protobuf
  frames rather than processing an entire file at once.

- Swift: SignalError.backupValidation was **removed** in favor of
  MessageBackupValidationError, which it was essentially redundant
  with.

- ChatService will soon be replaced by ChatConnection, currently
  experimentally available in Node. (All of the networking-related
  APIs are still even more subject to change than the rest of
  libsignal.

- The Node library now requires ES2021.

- Methods issuing older AuthCredential formats were deprecated and
  will be removed in a future release.

- Support for the CDSI option 'return_acis_without_uaks' was removed;
  it was already ignored by the service.

- Further backup validator proto updates and performance improvements,
  including use of an extra worker thread for pipelining entire-file
  processing. ChatItem errors will now include the dateSent timestamp.

- Further work on both key transparency and libsignal-net.

v0.62.0

13 Nov 21:09
Compare
Choose a tag to compare
- Android: AuthenticatedChatService can now receive messages via the
  ChatListener interface. (This is a breaking change if you were
  previously constructing AuthenticatedChatService.)

- Further backup validator updates:
  - Allow PNI-only contacts
  - Allow Chat.muteUntilMs of INT64_MAX ("mute forever")
  - Update Backup.proto (several fields now use `optional`)
  - Suppress repeated warnings about the same timestamp field
  - Buffer the input stream for all app languages

- SHA-2 performance improved on 64-bit Android, iOS, macOS, and Linux

- Rust: Add ServiceId::to_protocol_address (thanks, @rubdos!)

Note: though some key transparency APIs have been exposed to Android,
they are not yet finalized.

v0.61.0

06 Nov 23:12
Compare
Choose a tag to compare
- Net: Chat now throws RateLimitedError/RetryLaterException when the server requests a retry
- Node: Switched from yarn to npm to align with other Signal projects
- Android: Split ChatService into Unauthenticated.. and AuthenticatedChatService for platform consistency
- Attest: Removed unused IAS attestation code and tests
- Backup: Made timestamps optional for AttachmentLocator:uploadTimestamp and ChatItem:dateServerSent

v0.60.2

31 Oct 20:14
Compare
Choose a tag to compare
- Add BackupKey.deriveThumbnailTransitEncryptionKey
- Backup validator: Allow "unknown" restrictions for call links

v0.60.1

29 Oct 20:53
Compare
Choose a tag to compare
- Expose more key derivations to apps via new BackupKey class, as well
  as additional APIs on MessageBackupKey and AccountEntropyPool.

- Adjust backup ID derivation from a BackupKey once more (hopefully
  the last time).

- iOS: Make incremental MAC chunk size value accessible

- Node: Properly re-export BackupCredentialType through zkgroup module

- Internal change: Use new websocket event handler for attested
  connections. This should not produce any difference in behavior,
  but if any is observed this might be the cause.

v0.60.0

23 Oct 21:57
Compare
Choose a tag to compare
- Add BackupCredentialType to BackupAuthCredential, and rename the
  members of BackupLevel. This is a **breaking change**: old
  credentials will no longer work, and client and server have to
  agree on the credentials being used. BackupAuthCredential also
  now uses the "new" key derivation for the backup ID.

- MessageBackupKey now supports the "new" key derivations using an
  "account entropy pool" string, as well as from a backup key and ID.
  The "old" derivation from a "master key" has been deprecated in all
  languages and will be removed in a future release.

- The backup validator now requires a mediaRootBackupKey in the
  BackupInfo proto.

- Provide additional information on CDSI errors.

- swift: Initial audit for Sendable.

- Rust: Update boring to signal-v4.9.0b to fix build with newer
  LLVM/libclang.

v0.59.0

18 Oct 23:49
Compare
Choose a tag to compare
- Rename "pin" crate to "account-keys", to reflect expanding functionality
- Backup: Be more precise about when expiration should have started
- Node: Change Net constructor to accomodate localhost testing.

v0.58.3

10 Oct 23:05
Compare
Choose a tag to compare
- Node: Add PassThrough classes alongside Writables for incremental_mac
- Node + Swift: Add Account Entropy Pool
- Node: Improved LibSignalError ergonomics

v0.58.2

04 Oct 00:27
Compare
Choose a tag to compare
- Update SVR2 enclave constants

- Java: Expose AccountEntropyPool.generate()
  (Swift and TypeScript coming soon)

- Node: Expose BackupAuthCredentialPresentation.getBackupId()
  and getBackupLevel() for mock-server

- Add ViewOnceMessage to the backup validator

v0.58.1

26 Sep 00:28
Compare
Choose a tag to compare
- Make sender chain overflow an explicit SignalProtocolError

- Rust: Move E164 type into libsignal-core

- More changes for the backup validator

- Now compiles cleanly with Swift 6