- BackupAuthCredential now uses an enum for its level; credentials
containing unknown levels will fail to deserialize. Receiving a
BackupAuthCredentialResponse no longer requires an expected level,
but now requires a timestamp; this timestamp should be the one
provided by the server as the key in the JSON object containing the
response.
- The backup validator has been updated; in particular, it now expects
the IV to be in the file, and allows padding after the compressed
backup frames.
- Support for issuing AuthCredentials with the PNI reinterpreted as
an ACI has been removed.
- The connectionReused field from ChatService's DebugInfo has been
removed.
- SVR3 now supports TPM2SNP on GCP, and no longer supports it on
Azure.
- Node: Exposed Net.setIpv6Enabled(). IPv6 remains on by default.
- Java: libsignal's CompletableFuture now supports whenComplete.
- Java: A number of ClassNotFound issues have been quashed.
- Swift: PreKeyBundle.preKeyId no longer returns the *signed* pre-key
ID, and the Kyber key info, if any, is available as well.
- Swift: Add missing invalidAttestationData and connectionFailed
error cases.
- Rust: More zkcredential and zkgroup types implement Debug and
PartialEq. More types in several crates implement Error.
- Changes for upstream boring v4.6.0 have been merged.