Nightly Release
Pre-release
Pre-release
6.3.1-alpha.0 (2023-06-28)
Bug Fixes
- "receivedPendingNotifications" not firing on zero offline notifications (7d174ca)
undefined
on unpin action (#1551) (767120a)- 10x better compression for image thumbs (9f8223d)
- acc signature (fda266f)
- account for 0 messages in stanza (27cf395)
- account for missing owner prop in legacy (e7c2d4e)
- account for no initial state while patching (94df582)
- ack all calls (669fcaa)
- ack before sending retry receipt (bd6be89)
- ack for participants on MD (dac5a63)
- ack receipts (5120f1d)
- add "offer" call ack (d5e3d04)
- add
senderTimestampMs
automatically in reactMessage (#1845) (200b75d) - add history msg to creds.update to prevent race condition (e547310)
- add legacy constants for decoding (3c278b3)
- add missing "isLatest" flag (b125638)
- add missing isAnimated flag (#1767) (084c39c)
- add more escape chars for multi file auth state (a0548fb)
- add option for appStateMacVerification (4aadc9d)
- added @adiwajshing/keyed-db to dependencies (#146) (eb744a4)
- appstatesyncdata in multifileauthstate (24a2b41)
- auth store transactions + tests (4a2db5a)
- auth store transactions + tests (d02066d)
- auth store transactions + tests (1802da1)
- bad request on sending messages in some cases (d9cfed6)
- better registration ID (3717854)
- better WS error map (6c4f632)
- browser version (fe9a6d0)
- BufferJSON failing with empty string (c00c3da)
- buttonText should be optional (ed4f234)
- call loadMessages multiple times (3d34a0e)
- cannot find module "@adiwajshing/keyed-db" (#124) (6ed9298)
- catch promise rejection on presence update (9424d04)
- catch unexpected errors on MD (13b0da0)
- catch unknown user action (2696af4)
- chats.delete patch on sync (41ca76a)
- check for content in "isRealMessage" (02f9df5)
- cleanMessage for reaction messages (4ea2c33)
- clear debounce timeout on close (89a159a)
- correct operation type on chat patch (7b42fa5)
- correct verify (b68efb1)
- correctly check for image processing lib (35b7a31)
- correctly check isLatest (696fe0d)
- correctly clear qrTimer (ba3cbd4)
- correctly copy msg for forward (c1301de)
- correctly create product (3131f2a)
- correctly extract media content (24dd767)
- correctly fire product edit (ebd92e0)
- correctly generate quoted msgs (4a8c6ed)
- correctly handle deleteMessageFromMe (dc07d31)
- correctly handle devices & encrypt notif (ae94e0a)
- correctly handle receipts fromMe (f2859e5)
- correctly handle retry from own devices (ef1b01b)
- correctly map left group notification (088bae4)
- correctly parse protocol message (9ca4663)
- correctly respond to retry requests (442489f)
- correctly set latest message in chat + lastMsgRecvTimestamp (c20865d)
- correctly set reaction msg key (66f49e0)
- correctly sync app state (a5d263d)
- curve verification return boolean (40abd71)
- deadlock on processNodeWithBuffer (9e3c208)
- decode app state key correctly (0650c10)
- decrypt race condition (01a641d)
- delete chat + star message actions not syncing (7b8390f)
- delete chat on legacy (4710f66)
- Delete Message For Me (#1718) (e7087ca)
- delete tmp file if failed enc (cc1fc9a)
- delivery receipt (7ffa10a)
- delivery receipts (609c925)
- desc for groups (6c3958b)
- detectLinks was not being used as described in docs (#1922) (847a1dd)
- different passive settings for reg + login (5f3db19)
- do not add "reason: identity" for details fetch (1dc5d4e)
- do not add default check for sharp (b05ce25)
- do not add to pre-buffer if waiting for end (a589e88)
- do not call REMOVE op for mutations (eac75af)
- do not fetch empty ID list on transaction (13b49e6)
- do not fire chat update for reactions (b933970)
- do not fire presence update without name (54d31ed)
- do not generate preview if title not present (26828d3)
- do not mutate update object reference (284c7e7)
- do not retry not fromMe (2b33a52)
- do not send accountSignatureKey in retry (fad63f1)
- do not throw error on conditions not matching in lastMessage check (dba6d2e)
- do not throw error on missing message for retry (cccd930)
- do not update chat + contact on prepend messages (da65ae8)
- download on axios (db941f1)
- dup close events (c982d8c)
- duplicate mutation release on failed patch (f892a1e)
- emit messages.update on successful reupload (f62898d)
- empty messages upsert event on history sync (e142f0b)
- ensure media cache does not override caption & other properties (03f3385)
- ephemeral toggle not being applied correctly on legacy (d09025e)
- error in type (1550fc5)
- example (80b9e74)
- example TypeError (7d72498)
- exclude emails from URL gen (a4208a4)
- experimental patch to correctly identify end of offline notifications (c2c27a5)
- export correct processMessage function (cc7c895)
- extract msg content correctly (cd59b8f)
- fetch order details on MD (8a9de2f)
- file not found in
unlink
(2b854b3) - fire "connection-update" on legacy socket create (ae59d6e)
- fire init queries in parallel (3cefad2)
- fire init queries toggle (19484e5)
- fire presence when name is recv (6637e32)
- Fixed In Memory Store: contacts.upsert handle (#144) (aa9872b)
- Fixed installation from Yarn v2 (close #41) (5ff88d8)
- Fixed redirects in link-preview (842b372)
- Fixed typescript build at chat-utils.ts file (#118) (2f438a6)
- forward message content (d192ffe)
- get poll request from getAggregateVotesInPollMessage in v1 v2 v3 (#74) (7f60f16)
- getChatId (41851d9)
- give preview even if thumbnail gen fails (be535f0)
- group cipher signatures (2eea17f)
- group metadata mapping on legacy (1af46bf)
- handle case with 0 app state sync keys (09b3815)
- handle errors in validateconnection (3977444)
- handle receipts more accurately (59f834c)
- handle when buffered tasks fail (8d6e00e)
- history sync missing contacts (93262b3)
- In memory store: normalize user when asserting message list to update messages (#49) (7b4abcd)
- include [0] byte when encoding on MD (43df500)
- include accountSignatureKey in retry requests (31b54ec)
- include isLatest in events (09553de)
- incorrect enc msg detection (af08040)
- incorrect from me (6c08f0c)
- incorrect group owner (1cd96ad)
- incorrect updates being forwarded to messages.update (b9d37a0)
- isLatest flag (8742bc2)
- jidNormalizedUser should not throw TypeError (b0a7561)
- jimp thumb gen (733345b)
- listen to all failure messages (3c6edde)
- log failed app syncs (070722f)
- logout error when not logged in (9f19666)
- LT hash computation failing (b433248)
- map eph duration on legacy group metadata (4ac39d7)
- media cache (3713646)
- media cache throwing error (3173e0d)
- merge conflict errors (d8b415a)
- message ack on group messages (05b3095)
- message delete not reflecting correctly for others (5febb86)
- minor retry logic cleanup (9ed4c28)
- mobile app state key + message events (a6640bb)
- msgs not appearing in chat (5e28d23)
- mutex app state sync to prevent race conditions that log connection out (bb5f13d)
- NaN last seen (dfc030b)
- normalize participant in last message (ebf4aa6)
- normalize participants API (85a58fb)
- only fire valid events (4c800b9)
- only generate urlInfo if not provided (d5e46b7)
- only send receipt if participant present (a75d911)
- only sync app state on one batch of history (e93e6e2)
- only update last account sync when required (ad9314c)
- onWhatsApp query for multiple jids (#85) (bb25723)
- participant count (729f19e)
- patch proto sync receipts (64bab02)
- pin modification (5e94a2b)
- possible ack fix (cfa7e8e)
- possible ack issue (d5b857a)
- possible leak on waitForMessage (b91a1cb)
- possible typeerror (4962070)
- possibly more accurate receipts (4edfc75)
- presence event when contact not exists (eac324b)
- prevent duplicate frame emit (21f163d)
- prevent duplicate receipts on multiple messages recv in stanza (cff2b14)
- pub key type is buffer (5a3ef65)
- Re-added the option to use proxy agent forn non-mobile api (#148) (54f8215)
- reaction message doesn't appear when send to a group (#1700) (bd98b13)
- reaction sender map (4e85a10)
- read receipts (5a33fd8)
- read receipts not being available (a0003f0)
- readonly chats on sync (bf8ff6d)
- receipt not being sent on empty message (1f86630)
- redundant array (3d56d61)
- remove "connection.update" listener from ev instead of ws (49da0e4)
- remove blocklist console log (6eaed69)
- remove dup eventemitter (e9d90aa)
- remove limits on max body and content length (b191e1b)
- remove need for firstQR in socket (4405905)
- remove recipient from ack (29bee92)
- remove redundant chat updates (030a534)
- remove redundant console (b988f42)
- resync all collections on mainappresync (aae2b7a)
- return mutations on patch (a417d6d)
- self read receipt on groups (a06f639)
- send init queries in queue (dc50159)
- send unavailable if markOnlineOnConnect=false (3b43153)
- sending list of contacts (6c4a9c7)
- sending multiple contacts (4f674d3)
- set "treatCiphertextMessagesAsReal" flag as default false (7f7ae5e)
- set default status code (92960bb)
- set remote jid on quoted participant (0ef9ce1)
- signal curve key update (ffe38b6)
- socket options (6ecc5a8)
- stream destroy (bd17f37)
- stream errors not being handled (7e9b9b7)
- temp patch for button/list messages (9f3b00d)
- throw connection closed instead of WS error (5624ecf)
- throw error if no decrypt-able message found (913b384)
- timeout send call (b2c1cfb)
- timestamp & other details not appearing + remove participant property from root message (d2e3abf)
- toNumber (0a331ce)
- transaction not respecting null set (110b9d1)
- tsc error (6bced98)
- tsc error (8c37ccf)
- tsc error (ed30e36)
- tsc error for DOM (bacd046)
- tsc error in legacy version (7b3fd7c)
- tsc issue (070e24e)
- TypeError caused by empty chat (07291d8)
- typeerror on no messages provided (b3e0f26)
- typeerror on patch (cea9e9d)
- typeerror on some group create (49e7ad4)
- typo in ciphertext check (850611e)
- unarchive chats if reaction to my message (e710ed9)
- update MD mismatch error code (ede40b1)
- updated proto/version to v2.2323.4 (#96) (63575e9)
- upload for product (765dcc1)
- use correct ID for retry recp (ac17225)
- use correct status code for throwing media error (de95694)
- use correct version in validation (179db2c)
- use direct path in product img (14def12)
- use fetchAgent for uploading data (9e33c80)
- use handshake timeout (64a6070)
- use new registrationId function (a4ae352)
- use normalized jid for messages (9b86847)
- use semver for os build number (0a02742)
- use string values in business catalog (0995b12)
- use tmp buffer for upload for multiple retries (63c510a)
- validateConnection mutating account (fae4aaf)
- wait for pre-key upload (5655cca)
- xml-not-well-formed on +255 size lists (#1762) (27f53bf)
- yarn lock (8f8dba9)
Features
- (hopefully) correctly implement account timestamp sync (f5fcaa3)
- absorb existing message updates into upsert (665e461)
- add 'updateMessageWithReceipt' utility (08cd253)
- add "--no-store" + "--no-reply" flags to example (dda909e)
- add "--no-store" option (d399cbf)
- add "assertMediaContent" util (4c51800)
- add "decodeMessageNode" util (4f27a2b)
- add "device_fanout" flag for retry receipt (399b4d3)
- add "direct_path" to media messages (d15dd6e)
- add "getMessage" to example (71a545e)
- add "multi file auth state" implementation (06437e1)
- add "receivedInitialSync" connection update (c76c2af)
- add "strictNullChecks" (40a1e26)
- add bulk "process" capability to BaileysBufferableEventEmitter (5cc58d4)
- add button reply (32fadda)
- add check WA business account (34f2095)
- add clean message util before calling "messages.upsert" (ebec029)
- add contacts to chats.set event (677f50b)
- add contextInfo support (13c3b91)
- add custom host names (792c4bf)
- add custom patchMsg function + remove patch for btns (b2aa51a)
- add delay between retry requests (8d7fde1)
- add desktop + full history sync opts (d04718e)
- add getContentType (f09e0f8)
- add legacy connection (19a9980)
- add lint workflow (3160e35)
- add listReply (47900ea)
- add logging event stream (806138a)
- add makeCacheableSignalKeyStore util (6735263)
- add md-msg-hist to MEDIA_PATH_MAP (5c5b23e)
- add media retry for MD (06ce5f9)
- add message events for reactions (9fee7fa)
- add more logging to media (9d7aec1)
- add more receipt types (8addc71)
- add more sanity checks to chat patch (87c1a04)
- add native mobile api docs (844de43)
- add newLTHashState util (920e608)
- add nextPageCursor (c96a765)
- add normalizeMessageContent util (5c05a5d)
- Add notification group: change inviteCode (704aa1e)
- add notification node type
picture
(58b5df4) - add option to reupload in downloadMediaMessage (cafc707)
- add option to set timeout between each qr generation (f2917f0)
- add option to specify limit for custom upload host (9c0a3b8)
- add product API for legacy connections (d21a39c)
- add proto-extract script (6c90241)
- add reaction update to the store (9e096c7)
- add readMessages function (5aa64f2)
- add replace type for messages.upsert (5ae0b98)
- add retry capability to SignalKeyStore (a8e2097)
- add sanity check for chat modifications (0d27fc4)
- add signal repository + tests (fe1d064)
- add state sync keys in transaction (e731de5)
- add support for "sharp" for image generation (e51bbc4)
- add timeoutMs to link preview (68a6f34)
- add toggle to download history (9a39a46)
- add url options to link preview gen (b33c753)
- add WA Web version auto fetch (75582e4)
- Added makeCacheManagerAuthState Implementation (#109) (df6b318)
- added played receipt (bed9e38)
- Added workflow to release at NPM site (#48) (7c3f0df)
- allow downloading extendedTextMessage thumbs (561163c)
- allow ignoring jids (a58b73f)
- allow meId in getKeyAuthor (bda2bb4)
- allow messageSecret as param to poll create (cd42881)
- allow passing of url info in text message (5655961)
- approve, reject, list request join (#117) (7dc1cd6)
- async import got wherever required (9474017)
- automatic upload detection for product images (238cde2)
- better mapping for WS errors (c24ffc1)
- cache media uploads (3e54741)
- cache user devices (dee8154)
- catch groups create notification (469f345)
- cleaner auth state management (3d0704a)
- cleaner auth state management + store SK keys (2b8256d)
- copy in axios options headers to WebSocket (f8fd5ec)
- correctly handle presence being offline for receipts (6824a20)
- correctly send retry messages w count (4c60e31)
- customize link preview image width (f421f5d)
- debounced app state resync (ced2f5d)
- define DEFAULT_CACHE_TTLS (090c916)
- detect when multi-device beta not joined (d523bf8)
- enforce default timeout to prevent any hanging promises (6e830c1)
- export resyncmainappstate (79100a3)
- expose axios options (116b30d)
- expose isBuffering (a4a48a1)
- expose sendRetryRequest (4112c68)
- extract code from WS error (23acc1f)
- fetch groups if ib:dirty (07562c2)
- fire "receivedPendingNotifications" after flush (f7b723f)
- force include identity when enc is missing (33851cd)
- functional legacy socket (c803e22)
- generate high quality thumbs on link preview (f0bdb12)
- getChatId for broadcasts (9591a02)
- handle "peer_msg" receipts (334f85f)
- handle bad message acks + send retry to all correctly (721d0f3)
- handle call events (ae4aa67)
- handle chat deletes + message stars (59652a5)
- handle default disappearing mode change notifications (6663357)
- handle delayed myAppStateKeyId (e1fc22b)
- handle delete events accurately (d143ef0)
- handle encrypt notification (355b066)
- handle failed msgs (a4ecac7)
- handle futureproofmessage (5041be7)
- handle maxContentLength in downloading media (4ba8283)
- handle picture change events (b329c73)
- handle stream:errors more gracefully (211a899)
- handle unarchiveChats setting (0d94315)
- handle verified name in message (fd80448)
- implement "groupAcceptInviteV4" add participant msg (cacc1ce)
- implement "snapshot" resyncing (983b28b)
- implement "treatCiphertextMessagesAsReal" flag (93c8db3)
- implement account sync (d796b28)
- implement call ack (d8c8d46)
- implement event buffer for offline msgs (7421f55)
- implement external patch parsing + app state sync on login (ba453a5)
- implement fetching product catalog + order details on MD (c4edcef)
- implement getAuthenticationCredsType (127e21b)
- implement getOrder on legacy (8a52eeb)
- implement in memory store (fb66733)
- implement message retry handling (78fd72c)
- implement partial media downloads (b5ac28d)
- implement pin chat modification (ddf6dab)
- implement privacy token fetch (33fffc4)
- implement product CRUD on MD (6967e53)
- implement product message sending (8a234e1)
- implement stream:error events (56c17ce)
- implement tc token handling (572d0f1)
- implement transactions on auth state (f284217)
- include chats.delete in example (ba486f9)
- include correct browser version in connect (2e61d04)
- include last message in chat (ee7ed1d)
- include platform in creds (7db8796)
- labels: add label association types (00a7b48)
- labels: add label entity (534ea17)
- labels: modify chat utils (38f2857)
- limit number of message retries being sent (af7b2a5)
- link previews on MD (872536f)
- log fromMe messages in trace mode (98c9af4)
- log thumb gen errors (64f3f08)
- log timestamps in ISO format (4b6e97c)
- log updated disappearing mode (a85698b)
- logout if myAppStateKeyId not present (1b71072)
- map all WA media types (3a891e0)
- map template message content (0da4621)
- message reaction fix from other party (46f3099)
- more accurately handle app state sync (5cb71ac)
- more efficient message send (e9f494e)
- move conversation up when missed call (6e0ac68)
- move upsertMessage in processingMutex (7f7565b)
- mutex processing in a chat to preserve order of events (1f2a664)
- narrower definition of cachestore (79aa2e5)
- native-mobile-api (ef673f6)
- pass axios config to all axios instances (ae3ac78)
- pass cachedGroupMetadata from sendMessage (e131b7c)
- pass original thumbnail url in WAUrlInfo (586db48)
- prevent urlInfo gen (7951878)
- privacy settings update functions and profile pic remove function (#5) (13810ec)
- process pollupdate automatically (9d8aa67)
- push failed decryption messages as "CIPHERTEXT" (2dfe5ad)
- put entire mutation in transaction (b7d8401)
- remove need for "serverHasPreKeys" (75c637c)
- reset ping timeout on any frame recv (f82f547)
- resync main app state on new key (7288955)
- return og dimensions when generating thumb (864a01f)
- Returns an object with information about the invite code's group (#1562) (227cab2)
- send presence update when name changed (f1b64c3)
- store/labels: add ability to store and query labels (ce019dc)
- support caption in document (7f2384a)
- track history being stored (5305730)
- update baileys-version.json to 2.2322.15 (#91) (534b1ea)
- update proto (2549d10)
- update real msg logic (b9d13a5)
- use (participant, ID) tuple for retry counter (3490028)
- use axios and config.options for registration (c2bff56)
- use futoin-hkdf instead of custom function (5200bf6)
- use message receipt on MD (57d6ab6)
- use store.loadMessage for getMessage in example (af1d5f6)
- use transaction when uploading prekeys (89e35ec)
- utility functions for poll updates (d98d415)
Performance Improvements
- avoid excess memory usage when syncing state (f87f893)
- do not resync on every reconnect (aa3309d)
- experimental do not use fs for enc stream (38a44be)
- nicer "shouldIncludeDeviceIdentity" flag computation (7863c0e)
- put main app state sync in transaction (a21e3b0)
- single process event for processSyncActions (a07a63f)