Skip to content

Releases: signalapp/libsignal

v0.54.1

01 Aug 00:46
Compare
Choose a tag to compare
- libsignal-server now includes builds for aarch64 Linux, with a
  minimum requirement of ARMv8.2

- The Net/Network class now exposes an "onNetworkChanged" event,
  which will clear certain caches and reset cooldowns

- Minor improvements to the backup validator

- Rolled back some dependencies in Cargo.lock to preserve our current
  MSRV

v0.54.0

26 Jul 22:25
Compare
Choose a tag to compare
- Node, Swift: changes in the libsignal-net API
- Android: include debug info in the AAR
- Internal improvements and housekeeping changes

v0.53.0

23 Jul 22:48
Compare
Choose a tag to compare
- Node: Split ChatService into AuthenticatedChatService and
  UnauthenticatedChatService. We plan to make a similar split for the
  other platforms in the future.

- Node: Upload Breakpad syms files for debug info instead of using
  per-platform formats

- Server: Added SealedSenderMultiRecipientMessage#serializedRecipientView,
  to save on repeated parsing

- iOS: ComparableBackup is now correctly implemented as
  simulator-only, fixing builds for device broken in v0.52.4

v0.52.4

19 Jul 14:29
Compare
Choose a tag to compare
- Android: include debug info in the AAR
- Backups: ComparableMessageBackup can be used to check message backups for equality
- Java: ChatServiceException extends IOException
- SVR3: implement migration support, improve resilience to connection failures

v0.52.3

11 Jul 21:43
Compare
Choose a tag to compare
- Node: The "install" action no longer tries to build the Rust library
  even if there are no available prebuilds. This should only have an
  effect if you were doing local development of libsignal.

  (This now actually works.)

v0.52.2

11 Jul 20:12
Compare
Choose a tag to compare
- Infrastructure for client testing APIs has been added (that is,
  APIs that exist for clients of libsignal to write tests).

  - Java/Android: There is a new libsignal_jni_testing.so library
    in both the JAR and AAR products. This can safely be filtered
    out of the final built app when code size is a concern.

  - Swift: The testing APIs are only available on simulator builds.

  - Node: The testing APIs are included in the regular build.

- SVR3: Restores can now fall back to previous environments.

- SVR3: Provide a migration API, for backing up to the latest
  environment and clearing from previous ones.

- ChatService: 4xx messages from proxies will no longer be considered
  authoritative.

- ChatService: Fixed a hang when the same instance was used for both
  auth and unauth connections.

- Node: libsignal will drop log events if they are not being drained
  from the Node event loop fast enough, rather than continue to
  saturate the event loop.

- Node: The "install" action no longer tries to build the Rust library
  even if there are no available prebuilds. This should only have an
  effect if you were doing local development of libsignal.

- Node: Debug info for the Rust library is saved as part of the build.

- Further updates to the backup validator

v0.52.0

28 Jun 19:27
Compare
Choose a tag to compare
- Protocol: add SealedSenderMultiRecipientMessage#serialized
- Net: customize response status code sent to server
- Backups: bugfix to prevent short file reads
- Misc: update nightly Rust compiler version
- Misc: update Node version to 20.11.1
- Misc: remove SignalCoreKit dependency for Swift

v0.51.1

21 Jun 00:20
Compare
Choose a tag to compare
- AppExpiry and DeviceDeregistered errors are now properly reported on
  connect; previously the types were exposed but would never be
  created in practice. If this sounds like a duplicate release note,
  well, the v0.51.0 implementation wasn't quite right!

- Node: The node module file is now named
  @signalapp+libsignal-client.node instead of node.napi.node.
  The directory structure for prebuilds remains the same.

- Updated rustc, cargo-about, curve25519-dalek

v0.51.0

14 Jun 00:08
Compare
Choose a tag to compare
- Java: Logging is no longer automatically initialized; clients must
  call SignalProtocolLoggerProvider.initializeLogging() in addition to
  setting a provider.

- Node: Expose ChatListener.

- Swift: ChatListener gained a chatServiceConnectionWasInterrupted
  callback.

- Rust: libsignal-net's ServerRequest enum has been renamed to
  ServerEvent and now includes a "Stopped" event.

- AppExpiry and DeviceDeregistered errors are now properly reported on
  connect; previously the types were exposed but would never be
  created in practice.

- The jars created for libsignal-client and libsignal-server no longer
  preserve timestamps, to make builds byte-for-byte reproducible
  rather than just equivalent.

- Further updates to the backup validator.

- attest: remove obsolete CDSI mrenclave

v0.50.0

07 Jun 17:11
Compare
Choose a tag to compare
- Treat HTTP 4xx errors as fatal for SVR connections. In Java, these
  result in a new NetworkProtocolException, distinct from the
  NetworkException that represents a potentially-transient error.

- Java: Fix missing AttestationFailedException in throws clauses

- Update backup validation

- net: Back off DNS requests like we do for the main connection

- net: Chat responses that come in just before the connection is
  closed won't be dropped as aggressively.