Protocol:
- Check expiration in hasSenderChain/hasCurrentState
- Make the "base key" part of the SessionState constructor
- Record the timestamp when a pre-key bundle is processed
- Remove SessionRecord.fromSingleSessionState
- Simplify key derivation for multi-recipient sealed sender
- Throw SessionNotFound for an expired unacknowledged session
- Improve incremental MAC API
Java:
- Do not close the inner stream in IncrementalMacOutputStream
- Implement readBuffer missing from older Androids
- Piggyback on base.clean Gradle task
- Add Automatic-Module-Name attribute to jar manifest
- Address javadoc warnings
- Automate the Android and Server publishing to Sonatype
- Adopt Nexus plugin to automatically close releases on Sonatype
- Set version and group info in the root project
- Set up and apply code formatting
Dependencies:
- Update all the RustCrypto crates
- Update snow to 0.9.3
- Update x25519-dalek to v2.0.0