Skip to main content

New features

Chat labels API Manage WhatsApp chat labels (etiquetas) from Rust. client.labels() exposes create_label, delete_label, add_chat_label, and remove_chat_label, all synced across linked devices through the regular app state collection. Inbound label changes made on a linked device are delivered as the new Event::LabelEditUpdate and Event::LabelAssociationUpdate events, each carrying the underlying action and a from_full_sync flag. See Labels and the new event types in Events.
client.labels().create_label("vip", "VIP", 3).await?;
client.labels().add_chat_label("vip", &chat_jid).await?;

Updates

query_info returns Arc<GroupInfo> client.groups().query_info() now returns Result<Arc<GroupInfo>, anyhow::Error> instead of Result<GroupInfo, anyhow::Error>. Repeated lookups for the same group share the same cached snapshot, so warm sends to groups no longer deep-clone the participants list or LID-to-phone map. This is a breaking change for direct callers — bind the result as Arc<GroupInfo> and reach through info.participants / info.lid_to_pn_map() as before. See query_info and the Group management guide.