Releases: whisperfish/presage
Releases · whisperfish/presage
v0.6.1
Note: yanked v0.6.0 since the build was broken, thanks @boxdot (#238)
What's Changed
- Fix loading state without ACI/PNI keypair split (+ test) by @gferon in #169
- manager: continue when skipping internal msgs by @ccstolley in #172
- fix: short-circuit sending zero attachments by @boxdot in #177
- Set the expire timer by @Schmiddiii in #173
- Update libsignal-service with post-quantum session keys impl by @gferon in #179
- Store decrypted groups by @gferon in #161
- Add Store::clear_thread by @gferon in #180
- Get title for thread by @nanu-c in #157
- Fix arg group syntax by @MarcusGrass in #182
- Registration fixes completion by @MarcusGrass in #185
- Upgrade to libsignal-protocol 0.32 by @boxdot in #188
- Replace matrix-sdk-store-encryption by our own store cipher by @boxdot in #190
- Fix registration without force by @Schmiddiii in #192
- Add support for editing messages by @gferon in #196
- chore: fix doc tests and links by @boxdot in #199
- feat: Add receiving mode to the message stream by @boxdot in #202
- chore: upgrade libsignal-service by @boxdot in #204
- Split into multiple module, document all structs and general cleanup by @boxdot in #205
- fix: reuse websockets by @boxdot in #203
- hotfix: Disable initial contacts sync for the time being by @gferon in #207
- fix: trust new identities by @gferon in #206
- Send profile key with messages by @gferon in #208
- Fix some issues around SyncMessage by @gferon in #210
- Upsert a contact when seeing it for the first time by @gferon in #211
- Enforce selecting a mode when receiving messages by @gferon in #212
- Update libsignal-service-rs by @Schmiddiii in #215
- Fix outgoing messages stored in wrong thread by @Schmiddiii in #216
- Fix disappearing messages timer by @Schmiddiii in #218
- Fix linking as secondary device by @gferon in #221
- Reconnect websockets lazily on usage by @boxdot in #222
- Drop kyber pre keys on relinking by @Schmiddiii in #223
- feat: verify sha256sum of downloaded attachments by @boxdot in #224
- Fix for kyber errors by @Schmiddiii in #225
- Fix reuse of websocket by @Schmiddiii in #226
- Potential fix for expire timer turning off by @Schmiddiii in #227
- fix: don't run migration conflict strategy when opening the sled store more than once by @gferon in #228
- Update libsignal-service-rs by @Schmiddiii in #230
- Fix github pages build by @Schmiddiii in #232
- Update libsignal-service-rs by @Schmiddiii in #233
- Clarify license in Cargo.toml by @Schmiddiii in #235
- fix: Avoid applying migration strategy when opening sled fails by @gferon in #236
- Add functions to retrieve avatars by @Schmiddiii in #234
- Add support for stickers by @R-D-C-N in #178
New Contributors
- @ccstolley made their first contribution in #172
- @MarcusGrass made their first contribution in #182
- @R-D-C-N made their first contribution in #178
Full Changelog: 0.5.2...0.6.0
v0.5.2
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
📢 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
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 byManager::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)