omemo_dart/CHANGELOG.md
Alexander "PapaTutuWawa d02c2df160
Some checks failed
ci/woodpecker/tag/woodpecker Pipeline failed
ci/woodpecker/push/woodpecker Pipeline failed
release: Release 0.6.0
2024-09-29 18:28:40 +02:00

2.8 KiB

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

0.4.0

  • Deprecate OmemoSessionManager. Use OmemoManager instead.
  • Implement queued access to the ratchets inside the OmemoManager.
  • Implement heartbeat messages.
  • [BREAKING] Rename Device to OmemoDevice.

0.4.1

  • Fix fetching the current device and building a ratchet session with it when encrypting for our own JID

0.4.2

  • Fix removeAllRatchets not removing, well, all ratchets. In fact, it did not remove any ratchet.

0.4.3

  • Fix bug that causes ratchets to be unable to decrypt anything after receiving a heartbeat with a completely new session

0.5.0

This version is a complete rework of omemo_dart!

  • Removed events from OmemoManager
  • Removed OmemoSessionManager
  • Removed serialization/deserialization code
  • Replace exceptions with errors inside a result type
  • Ratchets and trust data is now loaded and cached on demand
  • Accessing the trust manager must happen via withTrustManager
  • Overriding the base implementations is replaced by providing callback functions

0.5.1

  • Remove added and replaced from the data passed to the CommitRatchetsCallback
  • Added a list of newly added and replaced ratchets to the encryption and decryption results. This is useful for displaying messages like "Contact added a new device"

0.6.0

  • Bump dependencies to fix running with never version of Dart