## 0.1.0 - Initial version - Implement the Double Ratchet, X3DH and OMEMO specific bits - Add a Blind-Trust-Before-Verification TrustManager - Supported OMEMO version: 0.8.3 ## 0.1.3 - Fix bug with the Double Ratchet causing only the initial message to be decryptable - Expose `getDeviceMap` as a developer usable function ## 0.2.0 - Add convenience functions `getDeviceId` and `getDeviceBundle` - Creating a new ratchet with an id for which we already have a ratchet will now overwrite the old ratchet - Ratchet now carry an "acknowledged" attribute ## 0.2.1 - Add `isRatchetAcknowledged` - Ratchets that are created due to accepting a kex are now unacknowledged ## 0.3.0 - Implement enabling and disabling ratchets via the TrustManager interface - Fix deserialization of the various objects - Remove the BTBV TrustManager's loadState method. Just use the constructor - Allow removing all ratchets for a given Jid - If an error occurs while decrypting the message, the ratchet will now be reset to its prior state - Fix a bug within the Varint encoding function. This should fix some occasional UnknownSignedPrekeyExceptions - Remove OmemoSessionManager's toJson and fromJson. Use toJsonWithoutSessions and fromJsonWithoutSessions. Restoring sessions is not out-of-scope for that function ## 0.3.1 - Fix a bug that caused the device's id to change when replacing a OPK - Every decryption failure now causes the ratchet to be restored to a pre-decryption state - Add method to get the device's fingerprint ## 1.0.0 - [Breaking] Replace `OmemoSessionManager` with `OmemoManager` - Implement queued access to the ratchets inside the `OmemoManager` - Implement heartbeat messages