Skip to content

Bump whatsapp-rust-tokio-transport from 0.5.0 to 0.6.0#5

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/whatsapp-rust-tokio-transport-0.6.0
Open

Bump whatsapp-rust-tokio-transport from 0.5.0 to 0.6.0#5
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/whatsapp-rust-tokio-transport-0.6.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 11, 2026

Copy link
Copy Markdown
Contributor

Bumps whatsapp-rust-tokio-transport from 0.5.0 to 0.6.0.

Release notes

Sourced from whatsapp-rust-tokio-transport's releases.

v0.6.0

This is the largest release since the project's first crates.io publish. It brings the receive and send pipelines into WhatsApp Web behavioural parity, lands a major performance overhaul (zero-copy node decoding, take-ownership session cache, allocation diet across every hot path), adds first-class support for albums, sticker packs, ephemeral chats, status reactions, message-edit decryption and group call detection, and exposes new extension points for HTTP, transport, and crypto.

Many APIs changed — see Breaking changes below — but the new shape eliminates a long tail of clones, redundant decodes, and stringly-typed parameters that were holding back further optimisation. Downstream crates will need a one-shot migration; in exchange the receive pipeline performs effectively zero deep clones on dispatch.

Highlights

  • Message edits via secret_encrypted_message (#618) — WhatsApp's new E2E envelope for edits (secretEncType = MESSAGE_EDIT) is now decryptable. Ships MessageEdits::decrypt and a generalised secret_enc_addon helper covering the full addon family (PollVote, PollEdit, PollAddOption, EventResponse, EventEdit, EncReaction, EncComment, ReportToken, MessageEdit).
  • Album sends (#449) and sticker pack sends (#454).
  • Ephemeral messages (#450) — send and receive of disappearing chats.
  • Status reactions (#541, #563, #568, #569).
  • Pin / unpin (#424), Client::logout() (#422), per-message message_id in SendOptions (#423).
  • Incoming call events + group call detection (#562, #599).
  • ClientProfile for noise-handshake identity (#596) and Noise_IK + XXfallback (#598).
  • Pluggable SignalCryptoProvider (#561) — bring your own AES-CBC/GCM + HMAC-SHA256 backend.
  • Proxy + custom TLS extension points (#536) and a generic from_websocket transport API (#486).
  • Public refresh_prekeys() (#538) for device-migration flows.
  • LID + PN support in is_on_whatsapp (#453).
  • Lazy history sync blob (#533) — history sync events expose a LazyHistorySync you decode on demand.
  • Full GroupMetadata returned by create_group / community.create (#615).
  • MEX notification dispatcher + consolidated doc-id registry (#574).
  • 32-bit target support via portable-atomic (#481).

Performance

This release is built around a sustained allocation-discipline pass on the receive, send, and signal paths. Selected wins:

  • Receive pipeline: zero-copy node decoding via yoke (#513), NodeStr replacing Cow<str> for inline decoded strings (#514), Arc<wa::Message> end-to-end on dispatch (#613), and Arc<MessageInfo> across retry/PDO (#520). Zero-copy receive pipeline + take-ownership session cache (#522).
  • Startup: −21% allocations, −31% peak heap (#525).
  • Connect time: −23% total allocs, −43% connect-time allocs (#551).
  • Hot-path audits: 11 trims from a targeted pass (#570), per-device sender-key tracking cache (#445), parallel group encrypt fan-out (#610).
  • Token lookup: PHF + SipHash replaced with hashify PTHash (FNV-1a) (#544); single/double-byte token maps unified into one PHF lookup (#543).
  • Jid / nodes: CompactString for Jid.user, NodeValue, NodeContent (#512); zero-copy Serialize for the NodeRef family (#539); zero-alloc dedup (#500); eliminated fmt::Write dispatch from JID formatting (#540).
  • Cache miss penalty: unified device resolution removed a ~700 ms latency spike on cold lookups (#428).
  • Signal store: lightweight PN, cache-first identity, reusable flush buffer (#554); Bytes for sessions, [u8; 32] for identities, pre-encoded acks (#555).
  • Decrypt hot path: LID-PN persist + migrations off-loaded from the decrypt path (#578).

WhatsApp Web compliance

A major theme of 0.6.0. The wire format, addressing, retry, and key-management code paths now match WA Web's reference behaviour:

  • Pair + ADVcompanion_platform_id derivation, ADV HMAC enforcement, <prop> round-trip, Android → Chrome mapping (#592, #593, #594, #595, #601).
  • DM multi-device fanout with phash validation (#524); single-device DM retry with chat/requester separation + alternate key lookup (#549, #550).
  • Group / status session rebuild on retry (#559).
  • SKDM — always distribute on first group send, keep tracker on identity change, close forward-secrecy gaps (#603, #604).
  • LID / PN / Hosted addressing — Signal address for Hosted JIDs (#605), unified get_lid_pn_entry(&Jid) (#487), session migration via signal cache (#482), status@broadcast resolves to @lid (#609).
  • Identity change handler completed to match WA Web (#489, #490).
  • PDO recovery + UndecryptableMessage dispatch (#585), <unavailable> via PDO (#506).
  • Stale device filtering via decoded key-index-list (#469); sender-key cache invalidation on device changes (#489).
  • view_once nested-wrapper detection (#602).

... (truncated)

Commits
  • 56ed1b0 ci(release): install cargo-release via taiki-e action (#620)
  • fcc9739 chore: update all deps
  • b2612d1 chore(release): bump workspace to 0.6.0 (#619)
  • 65fb66a feat(message_edit): decrypt secretEncryptedMessage MESSAGE_EDIT envelope (#618)
  • 88a0fe0 feat(groups): return full GroupMetadata from create_group / community.create ...
  • 7bd875a feat(history_sync): expose peer_data_request_session_id on LazyHistorySync (#...
  • ceb62b8 perf(events): share wa::Message via Arc end-to-end (zero deep-clone on dispat...
  • 240d631 perf(send): parallelize group encrypt fan-out + adjacent wins (#610)
  • 64cad79 fix(portable_cache): add iter() to mirror moka::Cache (#612)
  • ee65b63 refactor(time): split monotonic clock from wall clock (#611)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Jul 11, 2026
Bumps [whatsapp-rust-tokio-transport](https://github.com/jlucaso1/whatsapp-rust) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/jlucaso1/whatsapp-rust/releases)
- [Changelog](https://github.com/oxidezap/whatsapp-rust/blob/main/release.toml)
- [Commits](oxidezap/whatsapp-rust@v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: whatsapp-rust-tokio-transport
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/cargo/whatsapp-rust-tokio-transport-0.6.0 branch from 85cf524 to c66edb3 Compare July 11, 2026 06:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants