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.
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.