v0.70.0
- Resuming an existing registration session now requires the phone number with for which the session was created.
- Make the registration service client available in Java.
- Enable registering an account via the Node registration service client.
- Java, Node, Swift: remove items marked as deprecated. This includes functions related to CDSI, HKDF, message backup validation, media sanitization, incremental MACs, and usernames.
- Android: Build with NDK 28, the latest stable.
- backups: Validate NotificationProfile::id
v0.69.1
- Node (GSE): Implement toToken() and encryptUserId() for
CallLinkSecretParams - The Net class (Network in Java) now stores a string-map of "remote
config" information, intended for the same sort of server-provided
configuration that the apps already have. - Build for Android with 16KB page support, which makes the library
usable on some newer Android devices that were previously not
supported. - Add in new CDSI enclave ID, now supporting Kyber HFS Noise channels.
- Swift: Allow initializing UnidentifiedSenderMessageContent from its
serialized form. (Contributed by @saman3d!)
v0.69.0
- Net: Remove the fallback connect code paths for CDSI. This is a breaking change.
- backups: Validate ChatFolder::id
- Node: GroupIdentifier now has a custom toString() (to its base64 representation)
- Net: onConnectionInterrupted will now pass along ConnectedElsewhere and ConnectionInvalidated as disconnection reasons, when applicable.
v0.68.1
- Swift: GroupIdentifier is now CustomStringConvertible (to its hex bytes)
- Swift:
[UInt8]
andData
both now have atoHex()
method backed by the Rusthex
crate. - backups: Release notes can now be included in a chat folder.
- net: Fix a bug where DNS-over-HTTPs lookups wouldn't attempt to make IPv4 and IPv6 connections
to the nameserver in parallel.
v0.68.0
- Swift: Allow UnidentifiedSenderMessageContent to be constructed from a message type and opaque bytes by @saman3d
- net: Add a client for the registration verification service. This is currently only available via the Node bindings.
- Java: InputStreams created by MessageBackup.validate() are now correctly closed when the operation is complete.
- Node: The InputStream abstraction now has an optional close() method, which will be called by MessageBackup.validate() on any created streams when the operation is complete. If your InputStream already has a close() method, this may be a breaking change for you.
- backups: Enforce that messages with expiration timers < 24 hours are not included in Remote Backups.
- backups: Add support for LocalLocator for local backups
v0.67.6
- Retire old SVR2 staging enclave
- keytrans: Remove unused APIs
- backups: Relax check on session switchover update message authors
- Node: Don't error if an unauthenticated chat socket receives an
empty list of alerts from the server.
v0.67.5
- Fix a bug in the Swift unauth chat listener that caused a crash on connect.