Skip to content

Releases: whisperfish/presage

v0.6.1

25 Feb 19:51
b41ce17
Compare
Choose a tag to compare

Note: yanked v0.6.0 since the build was broken, thanks @boxdot (#238)

What's Changed

New Contributors

Full Changelog: 0.5.2...0.6.0

v0.5.2

02 May 22:19
673d306
Compare
Choose a tag to compare

Added

  • Set registration for PNI (phone-number identity) which will be fully implemented later. (#164)

Fixed

  • Fix synchronization issue in the sled store implementation which could lead to corrupted sessions. (#162)
  • Don't reuse websocket when sending unidentified messages. (#165)
  • Fix fetching groups v2 metadata. (#164)

Changed

  • Manager::load_registered is now an async method (small breaking change, sorry!). (#164)

v0.5.1

19 Apr 21:06
c9198cb
Compare
Choose a tag to compare

📢 This release includes splitting the project into multiple crates, to prepare for adding concurrent store implementations.
While this might seem like a breaking change, the API has not been altered and your Cargo.toml should now look like:

[dependencies]
presage = { git = "https://github.com/whisperfish/presage" }
presage-store-sled = { git = "https://github.com/whisperfish/presage" }

and then get the store implementation from the store crate instead when importing it like use presage_store_sled::SledStore;.

Added

  • Add Manager::submit_recaptcha_challenge. (#143)
  • Cache profile API responses. (#134)
  • Add is_registered method to the store trait. (#156)

Fixed

  • Fix sending with example CLI. (#140)
  • Fix sending with example CLI. (#140)
  • Fix sending duplicate messages to group for other clients (like Signal Desktop). (#142)
  • Fix storing of outgoing messages. (#144)

Changed

  • Handle message deletion sent by contacts. (#147)
  • Split presage into multiple crates, before introducing additional store implementations. (#148)
  • Messages are now sent, whenever possible (which should be all the time), as sealed sender. [#159]
  • Split project into multiple crates. (#148)

v0.5.0

19 Mar 20:01
dd275e7
Compare
Choose a tag to compare

This release brings a bunch of small changes and fixes, before the next planned wave of API improvements and new functionnalities.

Added

  • Group storage: group metadata is now stored in a local cache, to avoid issuing an API call whenever
    group details need to be looked up. (#88)
  • Optional desktop notifications in CLI. (#85)
  • Add function to clear messages only. (#115)

Fixed

  • Fix get contact by ID method. (#91)
  • Fix the key used when storing messages. (#111)
  • Fix unlink when clearing store. (#112)

Changed

  • Improve sending messages speed by updating libsignal-service-rs and using its websocket in duplex mode (#92). Because of this change, polling on the stream returned by Manager::receive_messages is now required to send messages.
  • Only DataMessage that are sent, received, or sent from another device are saved in the local store (#137).
  • Changed (and fixed) the behaviour of the iterator returned by SledStore::messages (#119)
    • The iterator yields elements in chronological order (used to be reversed).
    • The iterator now implements DoubleEndedIterator which means you it can be reversed or consumed from the end.
    • The method now accepts the full range syntax, like 0..=1678295210 or .. for all messages.
  • Wait for contacts sync to be received and processed when linking as secondary device. (#106)
  • Encrypt registration data (when store encryption is enabled). (#114)