v0.3.0
New docs: whatsapp-rust.jlucaso.com
What's Changed
- Refactor buffer pooling to plaintext-only and implement zero-copy encrypted buffers by @jlucaso1 in #207
- feat: add support for extra stanza nodes in message sending and editing by @jlucaso1 in #214
- refactor: replace IndexMap with custom Attrs type for better performance and cache locality by @jlucaso1 in #223
- feat: convert dependencies to workspace references across multiple crates by @jlucaso1 in #222
- feat: add benchmarks for libsignal cryptographic operations and include futures as a dev dependency by @jlucaso1 in #224
- perf: optimize libsignal reducing allocations by @jlucaso1 in #225
- Registers an external event handler to the core event bus. by @rvoidex7 in #226
- feat: implement message revocation functionality with RevokeType support by @jlucaso1 in #220
- refactor: split noise module by @jlucaso1 in #232
- feat!: add platform_type support to fix device display name by @jlucaso1 in #234
- feat: add group creation by @jlucaso1 in #236
- feat: type-safe IQ protocol architecture with derive macros by @jlucaso1 in #237
- Fix regular low bug by @jlucaso1 in #239
- feat: add unified session telemetry by @jlucaso1 in #238
- perf: Cache Edwards public key for XEdDSA signatures (-27% signing, with lazy key gen) by @jlucaso1 in #240
- fix: Prevent MAC verification failures by checking session existence before establishment by @jlucaso1 in #241
- perf: Enhance signing performance by caching scalar representation in PrivateKey by @jlucaso1 in #242
- fix: Parse device JID attribute in device notifications by @jlucaso1 in #243
- refactor: Simplify quote handling by using build_quote_context and strip nested mentions by @jlucaso1 in #244
- perf(encoder): skip JID parsing for long strings by @Copilot in #245
- feat(libsignal): amortized eviction for message key storage by @Copilot in #246
- Cache SenderKeyMessage ciphertext to avoid re-decode by @Copilot in #248
- Refactor get_children_by_tag to return Iterator instead of Vec by @Copilot in #247
- Refactor Attrs to use NodeValue enum for JID storage optimization by @Copilot in #249
- feat: Implement bidirectional ProtocolNode types for prekey responses by @jlucaso1 in #250
- Fix message decryption errors by @jlucaso1 in #254
- feat: implement local re-queueing for group encrypted messages to tolerate out-of-order delivery of sender keys. by @jlucaso1 in #255
- chore(deps): bump typed-builder from 0.20.1 to 0.23.2 by @dependabot[bot] in #252
- feat: enhance chatstate parsing with detailed error handling and self-echo detection by @jlucaso1 in #260
- feat: improve send group message by @jlucaso1 in #259
- feat: add support for business notifications and status updates by @jlucaso1 in #261
- chore(deps): bump rand_core from 0.9.5 to 0.10.0 by @dependabot[bot] in #263
- Fix portable_simd API compatibility with current nightly by @0ldev in #262
- ⚡ Optimize N+1 delete query in app state mutations by @jlucaso1 in #265
- ⚡ Optimize app state mutation persistence with batch inserts by @jlucaso1 in #266
- Add group management IQs and participant types by @jlucaso1 in #268
- Offload app state patch processing to blocking thread by @jlucaso1 in #267
- feat: add props_hash to device table for delta updates and refactor related logic by @jlucaso1 in #269
- chore: remove some unused structs and cleanup todos by @jlucaso1 in #270
- feat: add skip_history_sync option to BotBuilder and Client for ignoring history sync notifications by @jlucaso1 in #277
- Feat support download unencrypted media by @jlucaso1 in #278
- perf: binary by @jlucaso1 in #279
- feat: tc token by @jlucaso1 in #280
- fix: use fresh stanza ID for edit_message to prevent server dedup by @199-bio in #295
- fix: use while loop for app state sync pagination by @jlucaso1 in #296
- fix: gate Connected event behind critical app state sync on pairing by @jlucaso1 in #297
- feat: batched multi-collection app state sync with incremental updates by @jlucaso1 in #298
- feat: status sending by @jlucaso1 in #299
- fix: improve offline reconnection handling by @jlucaso1 in #301
- Automate publishing process by @jlucaso1 in #300
New Contributors
- @rvoidex7 made their first contribution in #226
- @0ldev made their first contribution in #262
- @199-bio made their first contribution in #295
Full Changelog: v0.2.0...v0.3.0