Releases: signalapp/libsignal
Releases · signalapp/libsignal
v0.52.2
- 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
- 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
- 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
- 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
- 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.
v0.49.0
- Support production SVR3 enclaves (includes breaking Rust API changes) - Updated backup proto definitions + tests - Updated rust dependencies
v0.48.0
Node: - Support cancellation of running futures. Net: - Improve logging for websocket connection failures. - Consolidate timeouts. - Add errors for app expiration and device deregistration. Misc: - Update message backup proto definition.
v0.47.0
SVR3: - Report tries_remaining value to the clients - Implement remove function - Support new staging enclaves Java: - Fix class loading issue with GraalVM - Make `ECPrivateKey#<init>(byte[])` public - Check for invalid key sizes more thoroughly in ECPublicKey - Requires auditing existing call sites Swift: - Expose LibsignalLogger protocol rather than depending on DDLog - Clients need to register the logger explicitly - Expose cancellation - Expose experimental ChatListener Net: - Remove timeout for multi-route connection manager
v0.46.2
- net: Fix regression in TLS verification introduced in v0.46.1 (every non-Signal certificate would fail *except* on Linux) - Rust: net's DnsResolver has a useful Default implementation again
v0.46.1
- net: Expose authenticated sends on ChatService. (Note that there is yet no way to get messages *from* the server.) - net: Setting an invalid proxy from Java/Swift/TypeScript will now result in all connections failing until it's cleared or replaced. - net: Many internal improvements, including - DNS lookups will fall back to DNS-over-HTTPS to Cloudflare - Connection requests are debounced - TLS verification will now succeed on Linux for non-Signal servers