New
Mention everyone at once - sendMessage now supports @all, so a single message can notify every member of a group without listing each number; see the 'Mention Everyone Message' example
Run quizzes in your WhatsApp channels - the new channel_quiz type in sendMessage lets you post a question with a correct answer, and getMessage / channel/getMessages return the options, the correct option and the vote counts so you can track results
Join the conversation under your announcements - sendMessage can now post comments on community announcement-group messages (see the 'Comment Message' example), and message responses include replyCount and the full comments thread
Labels now reach your webhook - whenever a label is added to or removed from a chat you receive a label/add or label/remove message, so you can mirror your WhatsApp labels in your own CRM in real time
Full control over the profile - read and update the display name, the about text and the WhatsApp username of the connected number with the new getProfileName / setProfileName, getProfileAbout / setProfileAbout and getProfileUsername / setProfileUsername endpoints (getProfileAbout/{conversation_id} also reads another contact's about)
See who you have blocked - the new /{phone_id}/getBlockContacts endpoint returns the blocked contacts of the number
Know your new-chat quota before you hit it - /{phone_id}/getNewChatLimit shows whether WhatsApp limits first messages to new contacts for the number, how much of the quota is used and when the cycle resets. This limit is currently in testing by WhatsApp and for now only appears on new WhatsApp accounts
Manage the business profile via the API - getBusinessProfile, getBusinessProfile/{conversation_id} and setBusinessProfile let you read your own or another business's public profile and update description, address, email, websites and business hours
Decide who sees your stories - getStoryPrivacy and setStoryPrivacy manage the story audience (all contacts, an allow list or a deny list) of the number
Discover and join community sub-groups - community/unjoinedSubGroups/{conversation_id} lists the sub-groups you have not joined yet and community/joinSubGroup joins one of them
Richer stories - createStory now supports audio stories (currently OGG/Opus .oga files only), a custom backgroundColor for text stories and a per-story audience with contacts / excludeContacts
Groups know their community - getGroups now returns communityId and isCommunityAnnounce so you can tell which groups belong to a community and which one is its announcement group
Filter contacts by kind - the new type parameter (group or contact) in /getContacts returns only the entries you need
Choose between speed and freshness - /getConversations/{conversation_id} accepts fromCache and fresh so you can serve cached data instantly or force a live read
More exit points around the world - new proxy regions: Russia, Mexico, Hong Kong, Singapore, Vietnam, Ukraine, United States, Italy, Malaysia, Lebanon and Madagascar
Fixed
Fixed createGroup
Fixed the automatic logout issue of instances
Applied an advanced fix for the conn-retry state - instances now have much more stable WhatsApp socket connections
Added a fallback for returning media content as a link - a link is now returned whenever the instance is connected (this was already highly reliable)
Fixed getGroups and getCommunities
Fixed profileImage actions
Fixed call/start
Fixed the acceptGroupInvite and createCallLink endpoints
Fixed incoming media not being written with the correct file extension (.jpeg, .mp4) when the caption contained emojis
Fixed the cipherText issue that caused instances to get stuck
Fixed the deactiveCommunity endpoint