Compare Versions - whatsapp-web.js
npm / whatsapp-web.js / Compare Versions
What's Changed
- chore: fix release script, use OIDC by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/5713
- fix: use markSeen instead of sendSeen to fix markedUnread error by @fm1randa in https://github.com/pedroslopez/whatsapp-web.js/pull/5719
- fix: sendSeen need to include threadId and chat parameters as object by @DnTora in https://github.com/pedroslopez/whatsapp-web.js/pull/5729
- fix: send sticker by @DnTora in https://github.com/pedroslopez/whatsapp-web.js/pull/5734
- Fixing method saveOrEditAddressbookContact by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/5673
- Fix method deleteAddressbookContact by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/5672
- Fixes media upload to channels by @noelcarcasesLYN in https://github.com/pedroslopez/whatsapp-web.js/pull/5697
- fix: update call handling for recent WhatsApp Web changes by @alessandrocampos224 in https://github.com/pedroslopez/whatsapp-web.js/pull/5775
- Update update.yml by @tuyuribr in https://github.com/pedroslopez/whatsapp-web.js/pull/3952
- Error ZIP RemoteAuth unCompressedSession by @YovanggaAnandhika in https://github.com/pedroslopez/whatsapp-web.js/pull/3330
- Store RemoteAuth ZIP files inside dataPath by @vedantmgoyal9 in https://github.com/pedroslopez/whatsapp-web.js/pull/3375
- Fix loadEarlier Msgs by @tuyuribr in https://github.com/pedroslopez/whatsapp-web.js/pull/5712
- avoid hang by closing browser only if connected by @Adi1231234 in https://github.com/pedroslopez/whatsapp-web.js/pull/3847
- Fix getChats by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/5779
- Removing unused and unavailable module by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/5785
- Fix Channels WhatsApp module change by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/5787
New Contributors
- @DnTora made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/5729
- @noelcarcasesLYN made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/5697
- @alessandrocampos224 made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/5775
- @YovanggaAnandhika made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3330
- @vedantmgoyal9 made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3375
- @Adi1231234 made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3847
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.34.4...v1.34.6
What's Changed
- Fix Auth Timeout Error by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/5666
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.34.3...v1.34.4
What's Changed
- Fix Disconnections - UPDATED REINSTALL IT by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3811
- feat: get/add/edit customer notes by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3806
- fix: getPinnedMessages() by @RC047 in https://github.com/pedroslopez/whatsapp-web.js/pull/3797
- Fix Contact getAbout by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3833
- feat: getPollVotes by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3807
- Fix Mention in Large Groups by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3803
- Fix PushNotifications by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3801
- docs(readme): overhaul by @2hoch1 in https://github.com/pedroslopez/whatsapp-web.js/pull/3898
- Fix Message Forward by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3910
- Fix Reject Calls by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3909
- Fix getCommonGroups by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3921
- Fix method saveOrEditAddressbookContact by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3923
New Contributors
- @2hoch1 made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3898
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.34.1...v1.34.2
What's Changed
- Fix Inject Module Function by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3795
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.34.0...v1.34.1
What's Changed
- fix: enforce retrieval lid and phone for previously unknown contacts by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3702
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.33.3...v1.34.0
What's Changed
- fix: Lid is missing in chat table by @seowzhenjun0126 in https://github.com/pedroslopez/whatsapp-web.js/pull/3703
- Fix method participant on sendMessage by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3778
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.33.2...v1.33.3
What's Changed
- fix Event Ready Again and SendMessage by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3747
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.33.1...v1.33.2
What's Changed
- Fix Event Ready gets stuck or not showing it by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3727
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.33.0...v1.33.1
What's Changed
- Fix checking if sending to a group by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/3592
- fix: send message properly by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3692
- fix: Correct method invocation by @DimplesY in https://github.com/pedroslopez/whatsapp-web.js/pull/3720
- fix: return poll vote reactions by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3694
- fix: Add protocolMessageKey and fix revoked messages to preserve original before.id by @fernandomondo in https://github.com/pedroslopez/whatsapp-web.js/pull/3715
New Contributors
- @DimplesY made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3720
- @fernandomondo made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3715
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.32.0...v1.33.0
What's Changed
- Fix TS2371 error in requestPairingCode type declaration by @Swaraj2004 in https://github.com/pedroslopez/whatsapp-web.js/pull/3622
- fix: error when processing channel messages without messageSecret by @iNerdStack in https://github.com/pedroslopez/whatsapp-web.js/pull/3617
- Fix send seen chat by @devlikepro in https://github.com/pedroslopez/whatsapp-web.js/pull/3663
- feat: getContactLidAndPhone by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3673
- fix:
Client.createGroup + GroupChat.addParticipantsby @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3670 - feat: customise linked device name by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3325
- Fix Message Forward by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3680
- fix(types): update mentions type in MessageEditOptions by @eni4sure in https://github.com/pedroslopez/whatsapp-web.js/pull/3691
- feat: get pinned messages by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3004
- fix:
Message.pinandMessage.unpinby @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3319 - feat:
Eventmessages by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3345 - feat: Switch between QR or phone number pairing method by @MobCode100 in https://github.com/pedroslopez/whatsapp-web.js/pull/3180
- Fix: Remove, Promote and Demote Participants by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3674
New Contributors
- @Swaraj2004 made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3622
- @iNerdStack made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3617
- @eni4sure made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3691
- @MobCode100 made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3180
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.31.0...v1.32.0
What's Changed
- fix: change mentionedIds type from ChatId[] to string[] in Message by @yusifaliyevpro in https://github.com/pedroslopez/whatsapp-web.js/pull/3581
- fix(vcard): parse vcard module by @CyrilLacroix in https://github.com/pedroslopez/whatsapp-web.js/pull/1995
- feat: send Media HD by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/3535
- fix: 🐛 quote message obj by @hcfw007 in https://github.com/pedroslopez/whatsapp-web.js/pull/3586
- fix:
window.WWebJS.getChatModelby @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3587 - fix:
GroupChat.setPictureby @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3593 - Fix Send Animated Sticker by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3591
- chore(deps): bump fluent-ffmpeg from 2.1.2 to 2.1.3 by @dependabot in https://github.com/pedroslopez/whatsapp-web.js/pull/3311
- Fix .sendMessage return by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3612
New Contributors
- @yusifaliyevpro made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3581
- @CyrilLacroix made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1995
- @hcfw007 made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3586
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.30.0...v1.31.0
What's Changed
- hotfix for
window.WWebJS.getChatModelby @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3573
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.29.0...v1.30.0
What's Changed
- Fix chat.isReadOnly by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3515
- fix: Change resetState evaluate function in Client.js by @gusfahmi in https://github.com/pedroslopez/whatsapp-web.js/pull/3358
- feat: Setting background synchronization by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/3331
- fix:
openChatWindowAtfunction by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3347 - fix:
setDisplayNamechanges name only locally by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3302 - fix: puppeteer connection with browser url by @btmluiz in https://github.com/pedroslopez/whatsapp-web.js/pull/3518
- fix:
getBroadcastsfunction by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3350 - fix:
deletefunction for messages by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3301 - fix: chat instance retrieving in
syncHistoryby @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3342 - Able to forward with caption by @momokang in https://github.com/pedroslopez/whatsapp-web.js/pull/3463
- Fix the Location declaration by @wavy-cat in https://github.com/pedroslopez/whatsapp-web.js/pull/3555
- Support lid me user in message id by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/3570
- feat: save contact to addressbook by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3533
- fix:
Chat.isMutedby @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2999 - feat:
@lidsupport by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3571 - feat:
Channelby @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2620
New Contributors
- @gusfahmi made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3358
- @btmluiz made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3518
- @wavy-cat made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3555
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.28.0...v1.29.0
What's Changed
- fix:
getCountryCodeby @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3292 - Send message without quote if quoteFails by @tuyuribr in https://github.com/pedroslopez/whatsapp-web.js/pull/3475
- Fix groupChat addParticipants by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3543
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.27.0...v1.28.0
What's Changed
- Sync history conversation of the Chat by @momokang in https://github.com/pedroslopez/whatsapp-web.js/pull/3281
- fix: make function
getContactDeviceCountwork (fix for #3223) by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3284 - fix: resolve 'onPollVoteEvent' binding issue after logout and reconnect by @bpena in https://github.com/pedroslopez/whatsapp-web.js/pull/3286
- Use idempotent exposeFunctionIfAbsent (no reinject flag) by @devlikepro in https://github.com/pedroslopez/whatsapp-web.js/pull/3233
- hotfix:
openChatWindowfunction by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3291 - fix: openChatWindow by @Lavyk in https://github.com/pedroslopez/whatsapp-web.js/pull/3293
- fix: pass client reference correctly by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3296
- Get Stories by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/3294
- chore: update issue templates by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3298
- fix: change the logic of wweb version retrieving by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3299
- fix: enable docs generation before the release by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3300
- Update WhatsApp Web Version (2.3000.1017054665) by @github-actions in https://github.com/pedroslopez/whatsapp-web.js/pull/2616
- Fix isGroup by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3380
- Add 4 retries for fs.promises.rm by @devlikepro in https://github.com/pedroslopez/whatsapp-web.js/pull/3351
- Fix Group getInviteCode by @BenyFilho in https://github.com/pedroslopez/whatsapp-web.js/pull/3492
New Contributors
- @momokang made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3281
- @bpena made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3286
- @devlikepro made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3233
- @Lavyk made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3293
- @BenyFilho made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3380
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.26.0...v1.27.0
What's Changed
- Handling client.logout() Exception gracefully with optional chaining by @ayushmourya in https://github.com/pedroslopez/whatsapp-web.js/pull/2447
- fix: sendMessage with quoted message id by @alwinlubbers in https://github.com/pedroslopez/whatsapp-web.js/pull/3260
- Allow access to the original error object by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/3252
- fix: TypeError in Group Invite Handling Due to in Operator on Strings by @matheuskuster in https://github.com/pedroslopez/whatsapp-web.js/pull/3257
- fix: getMessageById false error with group chat message id by @alwinlubbers in https://github.com/pedroslopez/whatsapp-web.js/pull/3265
- Count user connected devices by @tuyuribr in https://github.com/pedroslopez/whatsapp-web.js/pull/3223
- docs: generate docs for the latest release by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/3279
New Contributors
- @ayushmourya made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2447
- @alwinlubbers made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3260
- @matheuskuster made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/3257
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.25.0...v1.26.0
What's Changed
- Farewell, Webpack! Re-injection, Pairing Code login, and 2.24x jumbofix by @PurpShell in https://github.com/pedroslopez/whatsapp-web.js/pull/2816
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.24.0...v1.25.0
What's Changed
- feat: control auto-loading of files + fixed method setDisplayName by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/2295
- fix:
Message.getInfoby @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2574 - fix:
Polldocs by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2652 - Fix window.Store.getMsgInfo is not a function by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/2651
- Add Business Contact Types by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/2369
- fix:
message_editevent and edit caption in file by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/2617 - Change Supported features by @tuyuribr in https://github.com/pedroslopez/whatsapp-web.js/pull/2443
- Fix Cannot read properties of undefined (reading 'mediaStage') in message.js by @elhumbertoz in https://github.com/pedroslopez/whatsapp-web.js/pull/2556
- Fix link preview by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/2681
- fix: send docs without caption by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2660
- feat: event
message_ciphertextby @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/2292 - Reduce supply chain attacks vectors by @tuyuribr in https://github.com/pedroslopez/whatsapp-web.js/pull/2691
- Fix: Wrong import of Contact object by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/2715
- feat: pin/unpin messages by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2692
- feat: group mentions + improved user mentions by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2602
- fix: link retrieval from message by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2716
- Fix TS compilation error "Statements are not allowed in ambient context" index.d.ts by @pierrecorsini in https://github.com/pedroslopez/whatsapp-web.js/pull/2697
- Fix isOfficialClient by @PurpShell in https://github.com/pedroslopez/whatsapp-web.js/pull/2794
- Upgrade node version by @tuyuribr in https://github.com/pedroslopez/whatsapp-web.js/pull/2129
- style: guide link fix and detailed description by @qzdark in https://github.com/pedroslopez/whatsapp-web.js/pull/2972
- fix: logo link by @qzdark in https://github.com/pedroslopez/whatsapp-web.js/pull/2994
- Fix "group_membership_request" event by @Bauguelson in https://github.com/pedroslopez/whatsapp-web.js/pull/2813
- Add members settings by @GulgDev in https://github.com/pedroslopez/whatsapp-web.js/pull/2788
- Fix: delete lines that remove data from this._data by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/2958
- feat:
vote_updateevent by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2596 - Expose Chat's
pinnedproperty in TS by @Rakambda in https://github.com/pedroslopez/whatsapp-web.js/pull/2771 - Make an NPM release via GitHub by @PurpShell in https://github.com/pedroslopez/whatsapp-web.js/pull/2942
New Contributors
- @pierrecorsini made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2697
- @qzdark made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2972
- @Bauguelson made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2813
- @GulgDev made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2788
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.23.0...v1.24.0
What's Changed
- feat: send audio with waveform by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2309
- Fix for #2433 by @leftbrasil in https://github.com/pedroslopez/whatsapp-web.js/pull/2434
- Fix error in nodejs v12.x by @ricardoapaes in https://github.com/pedroslopez/whatsapp-web.js/pull/2389
- Prevent Potential Breach in RemoteAuth Session Handling by @mrfelipemartins in https://github.com/pedroslopez/whatsapp-web.js/pull/2430
- Update Client.js in order to detect login in new WhatsAppWeb by @elhumbertoz in https://github.com/pedroslopez/whatsapp-web.js/pull/2474
- fix: sending locations by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2339
- feat: group membership requests by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2516
- fix+feat: addParticipants + createGroup by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2344
- hotfix: findImpl by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2578
- fix: chat object creation within the event by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2506
- feat: send polls by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2377
- Update WhatsApp Web Version (2.2346.52) by @github-actions in https://github.com/pedroslopez/whatsapp-web.js/pull/2413
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.22.1...v1.23.0
What's Changed
- Improvements in mentionedJidList and content, referring to sendMessage by @rafael-ofc in https://github.com/pedroslopez/whatsapp-web.js/pull/2166
- feat: Edit message by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/2254
- feat: add or remove labels by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/1915
- fix: Contact by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2325
- feat: send photo/video as a view once message by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2317
- fix: group_join event by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2320
- fix: group invite v4 by @RC047 in https://github.com/pedroslopez/whatsapp-web.js/pull/2321
- fix: Client.getChatById(): Cannot read properties of undefined (reading '_serialized') by @guicuton in https://github.com/pedroslopez/whatsapp-web.js/pull/2225
- Feat: get message by id by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/1634
- Improve logout() LocalAuth logic by @chrishubert in https://github.com/pedroslopez/whatsapp-web.js/pull/2175
- fix fromMe in chat.fetchMessages by @roigreenberg in https://github.com/pedroslopez/whatsapp-web.js/pull/2314
- fix: set description group by @RC047 in https://github.com/pedroslopez/whatsapp-web.js/pull/2382
- fix: CallCollection by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2385
- fix: findImpl by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2390
- Update WhatsApp Web Version (2.2333.11) by @github-actions in https://github.com/pedroslopez/whatsapp-web.js/pull/2246
New Contributors
- @rafael-ofc made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2166
- @RC047 made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2321
- @guicuton made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2225
- @chrishubert made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2175
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.21.0...v1.22.1
v1.21.0 - Now with caching
v1.21.0 introduces a pretty big step towards making things more reliable by introducing WhatsApp Web version caching. This makes the library more resilient to breaking changes by leveraging caching to avoid updating to new versions of WhatsApp Web immediately.
To read more about this functionality, check out the notes in the related PR #1847.
What's Changed
- feat(reliability): WhatsApp Web version caching by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/1847
- Update WhatsApp Web Version (2.2322.15) by @github-actions in https://github.com/pedroslopez/whatsapp-web.js/pull/2004
- Fix caption in attached document sending messages by @elhumbertoz in https://github.com/pedroslopez/whatsapp-web.js/pull/2226
New Contributors
- @elhumbertoz made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2226
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.20.0...v1.21.0
What's Changed
- fixed version id number by @saifkhan7865 in https://github.com/pedroslopez/whatsapp-web.js/pull/2087
- Feat: change profile/group picture by @wictornogueira in https://github.com/pedroslopez/whatsapp-web.js/pull/1916
- Add the 'unread_count' event. Listen to changes on Chat.unreadCount by @leftbrasil in https://github.com/pedroslopez/whatsapp-web.js/pull/2059
- feat: load reactions in message by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/1897
- lastMessage in chat by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/1606
- Fix media renders by @PurpShell in https://github.com/pedroslopez/whatsapp-web.js/pull/1981
- feat: added group_admin_changed event by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2018
- Feat: Add chat_removed and chat_archived events by @wictornogueira in https://github.com/pedroslopez/whatsapp-web.js/pull/1778
- feat: added contact_changed event by @alechkos in https://github.com/pedroslopez/whatsapp-web.js/pull/2027
- Fix isStatus by @gabryelrigol in https://github.com/pedroslopez/whatsapp-web.js/pull/2108
- fix: msg.chat by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/2139
- feat: Optional proxy autentication by @puntolino in https://github.com/pedroslopez/whatsapp-web.js/pull/2143
- hotfix: newId and deviceType by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/2196
New Contributors
- @saifkhan7865 made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2087
- @leftbrasil made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2059
- @alechkos made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2018
- @gabryelrigol made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2108
- @puntolino made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2143
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.19.5...v1.20.0
This release addresses issues with downloading and sending media in latest versions of WhatsApp Web.
What's Changed
- Fix Message.js by @Italo-Castro in https://github.com/pedroslopez/whatsapp-web.js/pull/2080
- Fix for error when send files: Error: Evaluation failed: TypeError: window.Store.MediaPrep.prepRawMedia is not a function by @macleysousa in https://github.com/pedroslopez/whatsapp-web.js/pull/2074
New Contributors
- @Italo-Castro made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2080
- @macleysousa made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/2074
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.19.4...v1.19.5
What's Changed
- fix queryExists to queryWidExists by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/1987
- Fixing the queryWidExists function by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/1989
- Fix mute chat by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/1982
- Update WhatsApp Web Version (2.2306.7) by @github-actions in https://github.com/pedroslopez/whatsapp-web.js/pull/1954
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.19.3...v1.19.4
What's Changed
- Fix: message.getInfo by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/1953
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.19.2...v1.19.3
What's Changed
- fix group methods by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/1934
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.19.1...v1.19.2
What's Changed
- Revert "fix: Fix client-side message rendering issue when sending attachements through the library" by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/1932
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.19.0...v1.19.1
What's Changed
- feat: Implement Call Rejection + Introduction of Socket API by @PurpShell in https://github.com/pedroslopez/whatsapp-web.js/pull/1882
- fix: Fix call event listener name + Added Call example by @PurpShell in https://github.com/pedroslopez/whatsapp-web.js/pull/1886
- Create FUNDING.yml by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/1901
- fix: compatibility with LegacyPhoneFeatures in latest WhatsApp Web version by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/1930
- fix: Fix client-side message rendering issue when sending attachements through the library by @PurpShell in https://github.com/pedroslopez/whatsapp-web.js/pull/1905
- Update WhatsApp Web Version (2.2301.6) by @github-actions in https://github.com/pedroslopez/whatsapp-web.js/pull/1869
- fix method downloadMedia when not found msg by @tofers in https://github.com/pedroslopez/whatsapp-web.js/pull/1852
- Adding missing CALL in events enum by @AxeemHaider in https://github.com/pedroslopez/whatsapp-web.js/pull/1899
New Contributors
- @tofers made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1852
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.18.4...v1.19.0
What's Changed
- fix getting quoted msg by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/1841
- fix: delete messages for everyone by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/1842
- fix: star/unstar messages by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/1843
- Update WhatsApp Web Version (2.2245.9) by @github-actions in https://github.com/pedroslopez/whatsapp-web.js/pull/1764
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.18.3...v1.18.4
What's Changed
- Fix GroupMetadata module by @mrfelipemartins in https://github.com/pedroslopez/whatsapp-web.js/pull/1789
New Contributors
- @mrfelipemartins made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1789
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.18.2...v1.18.3
What's Changed
- fix: message replies compatible with WhatsApp Web v2.2241.6 by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/1765
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.18.1...v1.18.2
What's Changed
- Support for WhatsApp Web 2.2241.6 by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/1762
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.18.0...v1.18.1
Important
This release contains fixes necessary for proper compatibility with WhatsApp Web v2.2240.7.
What's Changed
- updating forward documentation. by @NowDev in https://github.com/pedroslopez/whatsapp-web.js/pull/1624
- fix: Error: Evaluation failed: TypeError: msg.chat.sendStarMsgs is not a function by @matricce in https://github.com/pedroslopez/whatsapp-web.js/pull/1598
- Update User agent by @YehudaEi in https://github.com/pedroslopez/whatsapp-web.js/pull/1470
- feat: [Updated] Loading screen listener with percent and message by @tonbotfy in https://github.com/pedroslopez/whatsapp-web.js/pull/1563
- feat: Adding file size by bytes to MessageMedia by @PurpShell in https://github.com/pedroslopez/whatsapp-web.js/pull/1273
- Fix: Cannot read properties of undefined (reading 'id') by @jeremyandes in https://github.com/pedroslopez/whatsapp-web.js/pull/1604
- Feat: add message_reaction event by @wictornogueira in https://github.com/pedroslopez/whatsapp-web.js/pull/1619
- feat: RemoteAuth Strategy by @jtourisNS in https://github.com/pedroslopez/whatsapp-web.js/pull/1450
- Async buffer->BASE64 conversion by @jurajmatus in https://github.com/pedroslopez/whatsapp-web.js/pull/1481
- Fixing remote auth optional depencies error by @tuyuribr3 in https://github.com/pedroslopez/whatsapp-web.js/pull/1640
- Add "fromMe" option to fetchMessages by @roigreenberg in https://github.com/pedroslopez/whatsapp-web.js/pull/1444
- Use getCommonGroups not contact by @shirser121 in https://github.com/pedroslopez/whatsapp-web.js/pull/1623
- fix: EPERM: operation not permitted, rmdir => Windows & RemoteAuth compatibility by @jtourisNS in https://github.com/pedroslopez/whatsapp-web.js/pull/1659
- Allow the deletion of others' messages by @soudblox in https://github.com/pedroslopez/whatsapp-web.js/pull/1688
- fix: typescript compilation by @stefanfuchs in https://github.com/pedroslopez/whatsapp-web.js/pull/1693
- Create pull_request_template by @tuyuribr in https://github.com/pedroslopez/whatsapp-web.js/pull/1632
- fix: set ephemeral fields and get links from messages by @pedroslopez in https://github.com/pedroslopez/whatsapp-web.js/pull/1752
- Update WhatsApp Web Version (2.2240.7) by @github-actions in https://github.com/pedroslopez/whatsapp-web.js/pull/1592
New Contributors
- @NowDev made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1624
- @matricce made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1598
- @YehudaEi made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1470
- @tonbotfy made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1563
- @jeremyandes made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1604
- @tuyuribr3 made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1640
- @roigreenberg made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1444
- @soudblox made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1688
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.17.1...v1.18.0
What's Changed
- fix: Error: Evaluation failed: TypeError: e.isLid is not a function by @jtourisNS in https://github.com/pedroslopez/whatsapp-web.js/pull/1571
- fix(client): adjust typo by @caioagiani in https://github.com/pedroslopez/whatsapp-web.js/pull/1565
- Fix TS declaration for Promise of new "react" method by @rokkit in https://github.com/pedroslopez/whatsapp-web.js/pull/1561
- Add "React to message" in README by @keenanyafiqy in https://github.com/pedroslopez/whatsapp-web.js/pull/1534
- Add missing deviceType property in Message interface by @RakSrinaNa in https://github.com/pedroslopez/whatsapp-web.js/pull/1510
- Update WhatsApp Web Version (2.2224.8) by @github-actions in https://github.com/pedroslopez/whatsapp-web.js/pull/1532
New Contributors
- @rokkit made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1561
- @keenanyafiqy made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1534
- @RakSrinaNa made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1510
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.17.0...v1.17.1
Send Reactions
You can now send emoji reactions to messages. Usage:
message.react("👍"); // send thumbs up reaction
message.react(""); // clear the reaction
What's Changed
af431df - chore: mark version v1.17.0 61c0a6b - Reaction feature added. (by @Schwartzblat in #1400) a0b18fb - fix: set user agent as a launch arg for usage in serviceworker (by @pedroslopez in #1518) 98ff761 - fix: fetchMessages infinite loop when there are no messages in the chat (by @jurajmatus in #1480)
New Contributors
- @jurajmatus made their first contribution in https://github.com/pedroslopez/whatsapp-web.js/pull/1480
Full Changelog: https://github.com/pedroslopez/whatsapp-web.js/compare/v1.16.7...v1.17.0
This release fixes compatibility issues with WhatsApp Web v2.2220.8
Change log
c0ef922 - chore: mark version 1.16.7
294e502 - Update supported WhatsApp Web version to v2.2220.8 (#1416)
ebc56bc - fix: correctly get models and fetchMessages in WhatsApp Web v2.2220.8
This release fixes compatibility issues with WhatsApp Web v2.2214.9
Changelog
b16e1cd - chore: mark version 1.16.6 a24294e - Update supported WhatsApp Web version to v2.2212.8 (#1381) 374983b - fix: find old features module 5e2e9dd - Fix: Cannot read properties of undefined (reading 'features') // original: (#1407) (#1410)
This release brings important fixes for proper compatiblity with WhatsApp Web v2.2210.9.
Change log
3a2acf7 - chore: mark version v1.16.5 f32f3c7 - fix: get groupnotification chat 017dd4b - Update supported WhatsApp Web version to v2.2210.9 (#1340) fa9f661 - fix(typings): Add ConnectOptions typings (#1354) e9104b3 - Fix: Cannot read properties of undefined (reading 'getProfilePicFull') (#1362) a23c285 - fix: group chat create (#1319) 281aec4 - Update supported WhatsApp Web version to v2.2208.7 (#1287)
This release contains important fixes for proper compatibility with WhatsApp Web v2.2208.7
Change log
2e4890d - chore: mark version v1.16.4 0bd8eb9 - chore: mark version v1.16.4-alpha.0 2718c13 - fix compatibility issues with WhatsApp Web 2.2208.7 (#1311)
Change log
24f8b46 - chore: mark version v1.16.3 9ab9c48 - fix(typings): LegacySessionAuth restartOnAuthFail b966073 - getProfilePicture Fix => Evaluation failed: Error: Comms::sendIq called before startComms (#1264) ea2cc81 - add feature request form template 56644f4 - add github ISSUE_TEMPLATE files (#1195)
Change log
fcb78a1 - chore: mark version v1.16.2 f88bd27 - fix(LocalAuth): logout method (#1267) c45fae5 - Fix get order. (#1274) 1b75d0d - fix(LocalAuth): only throw user-supplied userDataDir error if path is different cc78e98 - add typings for LocalAuth attributes (#1262) fc205ff - fix: Cannot destructure property 'session' of 'undefined' as it is undefined. (#1259)
client.info.me should not have been removed in the previous release since it would constitute a breaking change. This adds it back.
Change log
6ab98a5 - chore: mark version v1.16.1
3c24df0 - add back deprecated info.me
This release brings support for multidevice-enabled accounts to whatsapp-web.js. Thank you to everyone that contributed to the multidevice branch for making this possible. This release also brings a new way of handling authentication / session restoring.
Auth Strategies
To bring support for multidevice, we had to rethink how the library handles authentication due to internal changes in WhatsApp Web for how tokens are handled on MD.
To make changing how authentication works easier going forward and allow for more extensibility, 1.16 introduces the concept of Authentication Strategies. For more information on the available auth strategies and how they work, please check out the Guide.
Because of this change, the old way of passing session as a client option is now deprecated. But don't worry, you can keep using it via the LegacySessionAuth strategy until WhatsApp eventually removes non-md support.
We recommend everyone move to the LocalAuth strategy if possible, since it supports both MD and Non-MD accounts. We are aware that this method of authentication is less flexible and more difficult to move around, but we are working on ways of making this easier in the future.
Deprecations
These features are still available on 1.16, but will be removed in a later release.
session and restartOnAuthFail client options
As mentioned in the previous section, we are moving towards using auth strategies so these options have been deprecated. You should instead set them as options on the LegacySessionAuth strategy:
const authStrategy = new LegacySessionAuth({
session: {},
restartOnAuthFail: false
})
const client = new Client({ authStrategy })
Phone-related properties and events
Because they are not available on MultiDevice and will be removed by WhatsApp in the future, properties and events that access information about the connected phone have been deprecated. This includes the battery events and client.info.phone.
Change log
979e97e - chore: mark version v1.16.0
1f4328c - fix tests
6691d25 - fix: message.getInfo() works for both MD and non-MD
12d9735 - Update README.md
ab5167c - fix: ChangeParticipantsPermissions typo in index.d.ts (#1206)
52c8336 - Added message duration in seconds (#1230)
9fe9169 - update tests to work with authStrategies
f6de161 - Auth Strategies (#1257)
0d55d40 - feat: Multi-device support (#889)
This release contains important fixes for proper compatibility with WhatsApp Web v2.2206.5
Change log
bd5cfdc - Update supported WhatsApp Web version to v2.2206.5 (#1247) f0e49ef - [Main Branch]: Fix Cannot read properties of undefined (reading 'Socket') (#1249)
Change log
e29354f - Update supported WhatsApp Web version to v2.2204.13 (#1210) 66283da - Fix message.delete(true) (#1211) d7f7889 - fix: Remove duplicate identifier (#1205)
This release fixes an issue where an error was being thrown in some cases while trying to log out.
Change log
20f3bc7 - fix: dont cause redirect loop due to session restore (#1181)
Change log
70ca073 - fix: send messages properly when disappearing mode is on (#1174)
7e36cce - extra options can override other options when sending message (#1103)
303ea3a - fix types and docs for Buttons class (#1070)
4aae8b0 - fix: sort before splicing when fetching messages
64803c2 - update typings for fetchMessages changes
aa9e19a - fetchMessages gets currently available messages by default (#1015)
7631400 - add back the pull_request trigger on lint
d7478de - fix: emit message events after ciphertext is decrypted
a9b2a1a - remove duplicated message type
3b46322 - fix: add missing message types
2200390 - disable eslint warning on intentionally skipped test
b1f7ff0 - chore(deps-dev): bump sinon from 12.0.1 to 13.0.1 (#1160)
21d5651 - chore(deps-dev): bump dotenv from 10.0.0 to 16.0.0 (#1171)
09cbee0 - chore(deps-dev): bump eslint-plugin-mocha from 9.0.0 to 10.0.3 (#1087)
fa9f5ab - Update supported WhatsApp Web version to v2.2202.12 (#1152)
c859ac3 - fix: dont crash when calling .destroy() while waiting for qr scan (#1172)
221d297 - remove unnecessary pull_request trigger for lint
078933f - fix(typings): add MessageTypes BUTTONS_RESPONSE (#1032)
f149516 - chore(tests): add Chat model tests (#784)
2f1c894 - add tests for takeoverOnConflict (#1170)
32e47d8 - fix: only emit disconnected event on navigation when state is PAIRING (#1169)
20aee44 - fix getLabels error (#1049)
bb2ef88 - fix: message.delete() can revoke for everyone (#1107)
6878598 - fix: await promise when setting user agent (#1113)
This release contains important fixes for proper compatibility with WhatsApp Web v2.2202.8.
Change log
4e6a00d - chore: mark version v1.15.4 b93c7b4 - fix invalid jsdoc a37ff69 - fix: restore node 12 support 3705d1f - Update supported WhatsApp Web version to v2.2202.8 (#1084) 7950aae - fix: find Store in v2.2202.8 (#1130) bdff59f - fix: remove problematic import d058030 - update MessageMedia.fromUrl (#811) d86c39d - fix: Fix inactivity issue (#946) 46ba9c5 - Add isGif to message._patch (#963) d7a493e - fix: use correct @types/node-fetch ver, use working node-fetch ver from puppeteer, add test da95d92 - chore(deps): bump puppeteer from 10.4.0 to 13.0.0 (#1057) 92bc5e6 - chore(deps-dev): bump eslint from 7.32.0 to 8.4.1 (#1038) 73a3e28 - chore(deps-dev): bump @types/node-fetch from 2.5.12 to 3.0.3 (#911) 4f376fc - chore(deps-dev): bump sinon from 11.1.2 to 12.0.1 (#1024) a20c8ef - chore(deps): bump mime from 2.6.0 to 3.0.0 (#1023) 2052e04 - Fix: multiple list sections (#1004)
This release contains important fixes for proper compatibility with WhatsApp Web v2.2147.14
Change log
c55db82 - mark version v1.15.3 4e837b0 - Update supported WhatsApp Web version to v2.2147.14 (#1033) 89a06b1 - Hot Fix WA 2.2147.14 (#1035) 5524757 - add script to get change log
This release contains important fixes for proper compatibility with WhatsApp Web v2.2146.9.
Change log
8a1f6f0 - chore: mark version v1.15.2 254ca88 - Update supported WhatsApp Web version to v2.2146.9 (#969) 3958105 - Fix WA 2.2146.9 (#990) 818bf48 - fix: convert button ids to string d715445 - move links section in readme 187aa50 - Url updates for wwebjs.dev (#944)
This is a hotfix to address issues with replying to messages with v1.15.0
Patch notes since last version didn't have them:
Patch notes for 1.15.0 and 1.15.1:
- muteChat's duration parameter is now optional, it defaults to being infinite
- GroupNotification.getChat() now gives you the group chat the notification occurred in, instead of the client's chat (bugfix)
- Buttons and List messages are now added. example usage
const { Buttons, List } = require('whatsapp-web.js');
// sending buttons
client.sendMessage(to, new Buttons('Body text/ MessageMedia instance', [{id:'customId',body:'button1'},{body:'button2'},{body:'button3'},{body:'button4'}], 'Title here, doesn\'t work with media', 'Footer here'), {caption: 'if you used a MessageMedia instance, use the caption here'})
// sending lists
client.sendMessage(to, new List('Body text/ MessageMedia instance', 'List message button text', [{title: 'sectionTitle', rows: [{id: 'customId', title: 'ListItem2', description: 'desc'}, {title: 'ListItem2'}]}] 'Title here, doesn\'t work with media', 'Footer here'), {caption: 'if you used a MessageMedia instance, use the caption here'})
//getting response
client.on('message', m => {
if (m.type == 'buttons_response') {
const {selectedButtonId: bid} = message;
if (bid == 'customId') m.reply('You chose button 1')
// this is a buttons message response
} else if (m.type == 'list_response' /* not sure */) {
const {selectedButtonId: bid} = message;
if (bid == 'customId') m.reply('You chose list item 2')
// this is a list message response
}
});
docs: https://docs.wwebjs.dev/List.html https://docs.wewbjs.dev/Buttons.html
- Incoming payment message type (no sending) supported:
client.on('message', async m => {
if (message.type == 'payment') {
const paymentInfo = await m.getPayment();
// do hat you want here
}
});
docs: class missing from docs :D
-
force-stop MD users from running a script that's not compatible
-
A new clientOption:
qrMaxRetriesthat allows X qr incoming events before giving up. Defaults to 0 (unlimited) -
Typescript improvements:
- Buttons and Lists don't throw errors when sending a message (MessageContent)
- puppeteer: args and puppeteer: headless don't throw an error
-
Format Ids into human readable phone numbers:
-
Client instance
.getFormattedNumber(id)and.getCountryCode(id) -
Contact instance
.getFormattedId()and.getCountryCode()
-
both return a Promiseawait)
- Get the people the client blocked on whatsapp:
const blockedIds = await client.getBlockedIds();
//['62813xxx@c.us', '628xxx@c.us']
- More tests and related fixes
Summary
This release includes several bug fixes and improvements. Take a look at the change log for a detailed list of changes!
Note that multi-device versions of WhatsApp Web are not yet supported in this version. Check out https://github.com/pedroslopez/whatsapp-web.js/pull/889 for progress.
Change log
d82cf44 - chore: mark version v1.15.0
3f576c9 - Update supported WhatsApp Web version to v2.2142.12 (#827)
d44a525 - fix: serialize message id remote when fetching messages
d821702 - add test for maxQrRetries
2a7337b - max qr refresh before giving up (#852)
1fcfaa0 - Update README.md (#907)
c434e04 - fix countrycode and formatted number functions, add tests
97a1d39 - Format phone numbers (#650)
dbf9bf2 - Type file improvements (#855)
353af13 - remove unnecessary default
06107af - Allow a chat to be muted indefinitely (#849)
4338664 - Add getBlockedContacts method (#770)
95facee - Fixes GroupNotification.getChat() returning client's chat. (#699)
1f38b76 - add warning for multidevice, keep working for forced upgrade
b60029e - feat: Send buttons and Lists (#756)
ab415ff - feat: Include payment info (#684)
Fixes an issue getting chats on the latest version of WhatsApp Web
Summary
- Node v12 support has been restored
- You can now get info about incoming calls
- Build
MessageMediafrom a url (MessageMedia.fromUrl(), docs) - Connect to a remote browser with
browserWSEndpointoption
...and more!
New Message.links usage
For the most part you should be able to update without any issues, though there is a notable change in how message links are returned. More specifically, Message.links now returns an array of objects instead of an array of strings.
Example:
[
{link: "https://google.com", isSuspicious: false},
{link: "https://ẉhatsapp.com/free-tickets", isSuspicious: true}
]
Changelog
be018e6 - update .npmignore 64189d2 - chore: mark version v1.14.0 38e31a0 - Update package.json and readme for node 12 support 40cec51 - fix: node v12 support d9ccb6f - fix: correctly resolve media that hasn't been downloaded (#763) 628b6e4 - Update supported WhatsApp Web version to v2.2126.14 (#806) cd774be - feat: Add MessageMedia.fromUrl method (#769) 9c2592e - chore: temporarily stop update action from auto running ae6d61b - fix: correctly serialize messages with replyButtons 98acd23 - delete gh branch automatically when closing update PR 62c7c15 - chore: update links e12c53f - chore: specify minimum required node version 1b5e9d2 - chore(deps-dev): bump mocha from 8.4.0 to 9.0.2 (#776) 3398501 - Update supported WhatsApp Web version to v2.2126.11 (#766) 3398501 - Update supported WhatsApp Web version to v2.2126.11 (#766) cdede83 - Include Calls (#720) a03cc41 - Add tests and detect WhatsApp Web updates (#686) 04d2308 - Update node-webpmux 2.x syntax to 3.x (support upstream breaking change) (#762) dc9b7e5 - Update minimum moduleRaid version to 5.0.2 cc7a729 - chore(deps): bump puppeteer from 5.5.0 to 10.1.0 (#750) 2ec46f6 - chore(deps): bump sharp from 0.26.3 to 0.28.3 (#751) 22993fc - chore(deps): bump node-webpmux from 2.0.3 to 3.0.0 (#749) cd52075 - Add the option to use "browserWSEndpoint" (#727) 54a07fa - feat: Add support to suspicious links (#642) efa6cf9 - fix: location class type (#718) 9d71573 - feat: message forwarding score (#716)
Fixes compatibility issues with WhatsApp Web v2.2126.10 and adds new features.
Please note that Node v14 or higher is now required (see #688).
Changelog
4afff38 - Fix download media (v1.13.2) b13dea0 - chore: mark version v1.13.1 0ef6061 - Fix downloading media for WhatsApp Web v2.2126.10 (#735) 0465507 - chore: mark version v1.13.0 2fd96e7 - update readme to indicate node 14 is required caab11c - bump minimum required moduleraid version cdc00e9 - feat: acceptGroupV4Invite (#677) 795570a - chore: update eslint and ecmaVersion (#680) 0465742 - chore: update lint action (#679) 3897655 - feat(dev): add argument bypassCSP to use in pupperter (#635) b895437 - add searchMessages method (#586) 0a061f9 - feat: Add from which device the message was sent (#648) 63d11d3 - feat: disable / enable WA Web features (#543) 5177a25 - feat: Get Orders and Products (#612) f506c17 - add extra option to MessageSendOptions (#600) 64e2cc4 - feat: openChatWindow can open new chats (#592) 6c66ab2 - Add sendVideoAsGif option (#578) efc7018 - Add support for sticker Name and author (#527) 5991b28 - update supported whatsapp web ver to v2.2114.8
This release fixes some issues with reading QR codes after some time being inactive, as well as issuing the disconnect event when logging out from the device.
Changelog
6cece4a - fix: emit disconnected event on page navigation f1e2f32 - fix: click correct element on manual qr code refresh
Important update
WhatsApp Web v2.2106.5 has upgraded their module system to webpack version 5, which broke the method we had been using to get access to internal modules. This update addresses these issues, so upgrading is required.
Changelog
f564e41 - chore: bump version to v1.12.5 e601516 - fix(docs): media type in MessageSendOptions (#554) bc90ffc - fix: WhatsApp Web v2.2106.5 compatibility 2702757 - fix: star() & unstar() functions (#547) 56171f9 - chore: don't auto set bug label on issues
This release fixes an issue with sending stickers on WhatsApp Web v2.2104.6.
Type definitions were causing an error on build for some TypeScript users. This release addresses the issue.
Changelog
d96e8e5 - chore: mark version v1.12.3 0cbb037 - fix(ts): getNumberId typings caused error on build 1f75614 - ignore logs on npm publish
Important update
WhatsApp Web v2.2104.6 has introduced breaking changes that impact the ability to send and download media. This release addresses these issues, and updating is required.
Changelog
4047afe - chore: mark version v1.12.2
89029ac - add docs
fa4923d - fixed acceptInvite typings
559133c - fix: upload media on WhatsApp Web v2.2104.6
e2acd03 - fix: download media on WhatsApp Web v2.2104.6
c697429 - chore: mark version v1.12.1
6590c75 - fix (ts): include pupPage and pupBrowser properties on Client typedef
This is a big one! v1.12.0 introduces many long-awaited features thanks to our great contributors.
What's New
Send stickers
You can finally send stickers with the library! Stickers are sent just like any other media type. You just need to make sure to specify the option sendMediaAsSticker: true when sending the message:
const sticker = MessageMedia.fromFilePath('/path/to/image.png');
chat.sendMessage(sticker, { sendMediaAsSticker: true });
The library takes care of converting the media internally to an acceptable format.
Animated stickers are also supported, but it's worth noting that conversion to webp is done through ffmpeg. You'll need to have it installed if you want to send animated stickers that are not already in webp format. By default the ffmpeg path is set to ffmpeg, but if you have it installed in a different path, you can set it manually when creating the client:
const client = new Client({
ffmpegPath: '/path/to/ffmpeg.exe'
});
Send media as document/file
Much like sending stickers, you can now send media files like pictures, audio and video as documents by using the sendMediaAsDocument: true option when sending the message:
const media = MessageMedia.fromFilePath('/path/to/image.png');
chat.sendMessage(media, { sendMediaAsDocument: true });
Messages
Some new features have been added to the Message model:
- Star/unstar messages (
msg.star()andmsg.unstar()) and get the current star statusmsg.isStarred - Get parsed links included in the message (
msg.links) - Get detailed message delivery information. This will allow you to see who and when group messages have been delivered/read/played by each participant. (
msg.getInfo())
Business Labels
If you're running WhatsApp Business:
// Get labels
const labels = await client.getLabels();
const label = await client.getLabelById(labelId);
// Get Chat's assigned labels
const labels = await chat.getLabels();
const labels = await client.getChatLabels(chatId);
// Get Chats for a specific label
const chats = await label.getChats();
const chats = await client.getChatsByLabelId(labelId);
Contact "About" info
You can now get a Contact's "About" text (previously named "Status"). This can return null if you don't have permission to read their status.
const aboutText = await contact.getAbout();
and more...
Change log
1bdc733 - chore: mark version v1.12.0 bb9d160 - docs: switch links to point to the guide cea1830 - docs: fix error generating Label docs f639c53 - feat: Get message delivery information (close #418) 3e32fe2 - feat: mark chat as unread (#475) 5c61957 - feat: add GroupChat types (#485) 3257549 - docs: fix typo 5a0ccc8 - feat: added starred indicator to messages (#501) 1b94694 - feat: star/unstar messages (#494) 71dbe99 - feat: get Contact's "About" text (close #491) 8b101d1 - feat: get links included in message (#457) e2a642a - feat: send media as stickers (#479) 0c0a5a7 - docs: fix slight typo e141a5d - feat: send media as document (#490) 576768e - feat: Get registered ID for a given phone number (#483) 87cb5a0 - feat(interface): Open chat search, open chat at message position (#447) 274d240 - feat: WA Business Labels support (#407)
This release fixes an issue when getting official WhatsApp Business chats with pending button replies.
Change log
563f73d - chore: mark version v1.11.2 4b3079d - chore: bump supported WhatsApp Web version to v2.2049.10 7b0e356 - chore: ignore all session files on npm 467f2af - fix: properly serialize chats with pending button replies
This release addresses compatibility issues with WhatsApp Web v2.2047.10. Updating is required.
Changelog
a1d09e0 - fix: fetchMessages when msgs length is smaller than limit (#438) d86ccec - fix: Expose store on WhatsApp Web v2.2047.10 (#437)
Important update
Whatsapp Web v2.2045.15 has introduced breaking changes that impact the ability to send messages and get chats. This release addresses these issues, and updating is required.
New features
Send Contacts
You can pass an instance of the Contact object to send WhatsApp contacts:
chat.sendMessage(contact); // Single contact
chat.sendMessage([contact1, contact2]); // List of contacts
You can also send vCard strings as the message body and they will be automatically parsed and transformed into contact cards:
chat.sendMessage("BEGIN:VCARD\nVERSION:3.0\nN: ....");
This functionality is enabled by default, but if you would like to turn off auto vCard parsing, you can do so by passing an option to the sendMessage function:
chat.sendMessage("BEGIN:VCARD\nVERSION:3.0\nN: ...", {
parseVCards: false
})
Block Contacts
You can now block / unblock contacts:
contact.block();
contact.unblock();
Get multiple vCards
Previously, you weren't able to get the vCard data if multiple contacts were sent at once. Now you can do so with the message's vCard property:
message.vCards;
// returns ["BEGIN:VCARD\nVERSION:3.0\nN: ...", "BEGIN:VCARD\nVERSION:3.0\nN: ..." ]
Deprecations
client.info.me has been deprecated due to a change in WhatsApp Web internals. Instead, you should use client.info.wid to get the current user ID. The old property will continue working, but you should change all occurrences to the new property since it will be removed on a later release.
Changelog
709c43c - feat: add received vcards to the message (#400) 43aa6b3 - chore: add blocking functionality to readme fc7a1a9 - fix: address removal of Conn.me This change on WhatsApp Web v2.2045.15 caused errors when sending messages and getting the current user id b0465ce - fix: expose GroupMetadata WhatsApp Web v2.2045.15+ no longer has this in the store by default e520a96 - fix: serialize msgs.buttons and delete msgs from chat model (#402) 75296b6 - feat: add received vcards to the message. b15ec76 - fix: show multiple vcard as array in body 42dd866 - feat: boolean for indicating Status update messages (#396) 20e07c4 - feat: block/unblock contacts (#397) 9b096db - feat: Send contacts (#395) 668106b - chore: add group settings functionality to readme
Important update
This release fixes an issue introduced in WhatsApp Web v2.2043.8 that prevented media messages from being sent reliably. Updating to this version is required to continue sending media messages.
New features
Modify group settings
It is now possible change group settings so that only admins can send messages or only admins can update group info (description, title, image). Note that you need to have the proper permissions for these changes to take effect.
group.setInfoAdminsOnly(true); // Only admins can edit group info
group.setInfoAdminsOnly(false); // Everyone can edit group info
group.setMessagesAdminsOnly(true); // Only admins can send messages
group.setMessagesAdminsOnly(false); // Everyone can send messages
Pin Chats
You can now pin/unpin chats to the top of the list through the library:
chat.pin(); // pins the chat
chat.unpin(); // unpins the chat
chat.pinned; // indicates if the chat is pinned or not
Changelog
3d06bab - chore: mark version v1.10.0 f4a2c44 - chore: bump supported WhatsApp Web version to v2.2043.8 604656c - fix: change OpaqueData module lookup function (#391) aedf41b - feat: Pin and unpin Chats (#166) bf2775d - feat: update group settings (messages and set info admins only) (#374)
This release fixes an issue processing message_ack events due to a change in WhatsApp Web v2.2041.6.
It also introduces a couple properties on Chats for handling muted chats: .isMuted and .muteExpiration.
Change log
0b11200 - chore: mark version v1.9.0 336fb9b - chore: update supported WhatsApp Web version to v2.2041.6 ba6ec7f - fix: apply message serialization fix everywhere 51a1028 - fix: remove pendingAckUpdate from serialization on changed message ack 1c31139 - fix(types): add missing type defs for chat.muteExpiration ee21e14 - feat: indicate if chat is currently muted cbf8fb7 - feat: chat mute expiration timestamp (#351)
This release fixes an issue when getting groupMetadata (participants, description...) for older groups.
Change log
7fcd43f - chore: mark version v1.8.2 a60f0ce - chore: update supported WhatsApp Web version to v2.2035.14 ab0db80 - fix: reliably get group metadata e7c76fe - chore: update puppeteer to v5.2.1 233382c - chore: ignore test session files when pushing to git e08dd7d - chore: add .npmignore for smaller package size a1e8e8c - chore: bump version to v1.8.1-post
This release fixes an issue with invalid types defined that produced an error for typescript projects.
Changes
c827b32 - fix(types): correct response type for message.forward() (#324)
This update includes important fixes for proper compatibility with WhatsApp Web v2.2035.12+. More specifically, it addresses issues sending media files as well as detecting successful authentication with dark mode enabled.
New features
Set display name (aka pushname)
Allows you to update the name that will be displayed with your number to other users that don't have you added as a Contact.
client.setDisplayName("John Doe")
Forward messages
message.forward(chat); // Pass a `Chat` object to send the message to
message.forward(chatId); // Pass a chat ID string to send the message to
Chat <-> Contact link
To ease moving between models, functions have been added to get to a Chat from its related Contact, and vice-versa.
const contact = await chat.getContact();
const chat = await contact.getChat();
Change log
8627fc3 - chore: mark version v1.8.0 502b22f - feat: forward messages 590ecc2 - chore: update supported WhatsApp Web version to 2.2035.12 7da8345 - fix: upload media 4344df6 - fix: properly detect successful authentication on dark mode 3822594 - feat(dev): Interactive shell for quick testing/exploration 7180bed - feat: Get corresponding Chat from Contact object and vice versa 34aa136 - fix(docs): Correctly document Chat timestamp property 2a58cfe - fix(types): properly set optional arguments when sending / replying to messages 9da553e - feat: Set client's display name (pushname) 97705b1 - fix: MessageMedia interface to class (index.d.ts) (#301) fbdfd2c - fix: Constants export in index.js (#285) 5c84a16 - chore: add missing types in JSDoc/TSDoc (ClientOptions, ClientInfo, MessageSendOptions, Session) (#286) bfea74f - fix: add missing type definitions (#278) a10b458 - feat: custom user Agent in Client (#271) de2c441 - chore: update supported whatsapp web version 2.2025.6 bff60bc - chore: bump version v1.7.0-post
Changelog
753b677 - feat: get current battery status 300b367 - feat: logout client ad9ae1f - fix: move invite info to client 6c7a3f9 - fix: Added check for null in Message constructor (#253) d7459ea - feat: add typescript definition file (#252) 2abd372 - fix: clear qr refresh interval on client.destroy() (#249) 47011a3 - feat: Interface controls (#220)
This hotfix addresses a breaking change introduced in WhatsApp Web version 2.2023.2
This release introduces a couple new features and bug fixes.
Create MessageMedia from a file
This is a helper function to create a new MessageMedia from a local file in a much easier way. It will automatically take care of reading the file in base64, compute its mimetype and get the filename.
const media = MessageMedia.fromFilePath('./path/to/image.png');
Mute/Unmute Chats
You can now mute chats until a specified date
// mute until January 1, 2025
chat.mute(new Date('2025-01-01'));
Send audio files as voice notes
const media = MessageMedia.fromFilePath('./path/to/audio.mp3');
await chat.sendMessage(media, {sendAudioAsVoice: true});
Changelog
a80fcfa - update supported whatsapp web version to v2.2021.3
4beeab9 - feat: mute/unmute chats (#168)
cca74ec - docs: indicate return type for MessageMedia.fromFilePath
8b656c2 - fix: set thumbnail for media messages
4d09a4b - fix: media would stay stuck uploading when using the media option
eb82e80 - feat: Helper function to create MessageMedia from a local file path
f5a0de7 - fix: Wait for WhatsApp page load (#209)
d6637d6 - fix: visual glitch when sending message to new chat; no longer require at least one chat to have been created
4188734 - Ignore lock files
b062f9f - Update puppeteer to version 3.0.4
e528e8c - Update jsqr to version 1.3.1 (#185)
bcd02aa - set defaultViewPort option for puppeteer (#167)
686c99f - feat: send audio as voice note
This release fixes an issue where link previews were not appearing.
Changelog
bab54ae - fix: set url subtype for messages with link previews
Reconnect timeout on conflict
Two new options have been added to be able to reconnect the client when a conflict occurs due to another browser opening WhatsApp Web:
takeoverOnConflict- (default false) If true will take control of the session after "takeoverTimeoutMs". If false, has same functionality as before where the client will disconnect.takeoverTimeoutMs- (default 0) indicates how long it will wait before trying to takeover. By default it takes over right away (0), but you can set for example 10000 to takeover after 10 seconds.
Presence
You can now indicate the client is online by using client.sendPresenceAvailable. This only lasts for a couple seconds.
Link previews
By default, link previews will now be included. This means that when a link is present in a message, it will look like this:

If you don't want this, you can disable it by sending linkPreview: false as an option when sending a message.
Changelog
044f622 - feat: link previews 2b3c3e9 - docs: add new param to jsdoc for getProfilePicUrl 8528d9b - feat: get profile pic url by user ID 7eb7fa8 - feat: send online status 478f713 - feat: takeover on conflict 20bbe3d - readme: add discord logo to shield 33db17e - add discord link
A change occurred in WhatsApp Web that broke sending media functionality. This patch fixes this issue.
Changelog
97e488b - chore: update supported WhatsApp Web version to 2.2013.7 8e011e0 - feat: get current whatsapp web version 470c7ae - feat: added MediaKey in order to see which sticker has been sent (#146) f92f1ec - Fix uploadMedia arguments after origin code change (#153) 702a0ab - Update jsdoc to version 3.6.4 (#144)
Highlights
- Create groups with the new
client.createGroup()function - "change_battery" event will allow you to listen for whenever the battery changes
- Group events (join, leave, etc) were not working. This release fixes the issue.
Raw changelog
93a6173 - feat: battery percentage changed event (#126) 1780436 - fix: make pupBrowser and pupPage available sooner (#137) 7acbd3d - fix: properly set chatId 67435b2 - fix: group events were not being triggered 743ac93 - feat: allow setting timeouts via options 0a7412c - feat: create groups
Changelog
6c43a2d - fix: increase timeouts 001c045 - fix: only return undefined for ERROR_* media states
This release includes a couple minor improvements:
- new utility function on Client that can be used to check if a certain ID is a valid whatsapp user
client.isRegisteredUser("XXXXXXXXXXX@c.us")will return a promise that resolves to a boolean - new event
media_uploadedto get when media has been successfully uploaded for a message - new option
restartOnAuthFailthat will automatically restart if an authentication failure has occurred when trying to sign in with a preexisting session
Raw changelog
9d0b58a - chore: mark version v1.3.0 842c4f0 - feat: check if ID is a valid whatsapp user 2dddc78 - fix: initialize takes no params d8cd2d1 - chore: updated whatsapp web version 80d5783 - feat: new event for when media is uploaded cb54487 - feat: add ack to message model d08b343 - Added "restartOnAuthFail" as an option (#112) ec1a80d - chore: bump version to v1.2.5-post
When attempting to download media file that has been deleted and cannot be downloaded anymore, undefined is now returned from message.downloadMedia().
25b9637 - fix: properly handle unresolved media 5934ec5 - fix: return undefined when attempting to download nonexistent media 65542f6 - chore/fix: update requires for new moduleraid package 00c603e - chore: use published moduleraid
Fixes an issue that occurred when attempting to download media for old messages, where action from the user is required to initiate the process.
8599a6d - fix: properly download media if it has not been loaded
The same fix applied to the add message listener has now been applied to all event handlers.
4fe7fa9 - fix: delegate all event handlers
When starting up the client with lots of chats and messages, the way the event handler for getting new messages worked was creating a performance issue that caused WhatsApp Web to lag and act very slow, meaning the time it took to be able to respond to new messages was greatly increased.
Raw changelog
8bdecad - fix: don't call event handler for new messages directly to puppeteer
This fixes an issue that was causing gaps while fetching a chat's old messages.
Raw changelog
c61f447 - chore: mark version v1.2.1 49aacec - fix: correctly splice and merge fetched messages d7a3e1a - chore: update supported whatsapp web version e14b49c - chore: bump version to v1.2.0-post
Notable changes
Fetch chat messages
This release introduces a feature to fetch old chat messages via the use of Chat.fetchMessages(). By default it will return the last 50 messages, but a custom limit can be specified. This will automatically handle loading messages from the server if needed.
Group events
Event handlers for group events have also been added, allowing you to listen for user joins, user leaves and group settings updates via the group_join, group_leave and group_update events. The current supported GroupNotification types are the following:
- add: A user has been added to the chat by an admin.
- invite: A user has joined the chat by using an invitation link.
- remove: A user has been kicked from the chat by an admin.
- leave: A user has left the chat voluntarily.
- subject: The group subject has been changed.
- description: The group description has been changed.
- picture: The group picture has been changed.
- announce: The group settings option for "Send messages" has been modified. On/off in the body indicates if only admins can send messages in the chat or not.
- restrict: The group settings option for "Edit group info" has been modified. On/off in the body indicates if only admins can edit group subject, description and picture.
The events map to the following types:
- group_join: emitted when type is either
addorinvite. - group_leave: emitted when type is either
removeorleave. - group_update: all other types.
Simulate "typing..." and "recording audio..."
You can now do this using the sendStateTyping() and sendStateRecording() functions available on the Chat model. These will last for approximately 25 seconds and can be called again to refresh the timeout. A clearState() function is also available to immediately clear the typing or recording status.
Chats auto marked as seen
After this update, chats will be automatically marked as seen when a message is sent to it. If this is not the intended behavior, sendSeen: false can be set as part of the options object. You can also manually mark a conversation as seen by calling the sendSeen() function on the Chat.
Raw changelog
f34902d - chore: mark version v1.2.0 6e76fec - docs: add jsdoc strings for group events 98458f7 - feat : send conversation seen (#66) 48b9ae1 - feat: listen to group events (#90) 588dc93 - chore: added index.js for structures (#91) 16fe865 - feat: fetch chat messages b07b38b - feat: Simulate recording audio in chat, clear recording/typing state, standardize chatstate change function names d35f101 - feat: send typing in chat (#87) 72441be - feat(example): better session data save (#79) 794c9e1 - feat: force state update (#77) 05f57d2 - chore: bump version to v1.1.0-post
This release introduces various functions that let you manage your chats:
- Chat.archive() / Chat.unarchive()
- Chat.clearMessages()
- Chat.delete()
- Message.delete()
Other notable changes
- Send messages to contacts that you haven't chatted with before
message_ackevent allows you to detect when your message has been sent, delivered, read or played- QR codes now auto refresh, in case you take too long to scan
Known issues
To start a chat with someone you haven't chatted before, you will need to have at least one chat open (with anybody).
Raw changelog
130da04 - chore: mark version v1.1.0 bb40218 - docs: use MessageAck type ad3834e - Update MessageAck constant for consistency e6ef592 - added ack constants and brief example bb4ad11 - feat: added ACK events (#73) 60ee2ca - feat: delete chat, clear chat 132424e - feat: archive chats (#63) 5c9e76e - feat: refresh qr code (#68) 1c60c83 - feat: Delete messages 1840826 - feat : Check if the given number is a whatsapp number (#54) 6ade08e - feat: Send messages to new chats PR#28 (#52) 67784bc - feat: get current connection state e385563 - Initialize the Script with the first browser tab (#47)
This introduces a slight change that adds the TIMEOUT state as an accepted state to be in. This means that the client won't completely disconnects as soon as the phone loses connection for a second.
A new event has also been added to the client, change_state, which is fired whenever the connection state changes. It passes the new connection state as its only parameter.
Raw changelog
d44fd5d - new event on connection state changed a293146 - fix: added timeout to accepted states
There was an issue that prevented media from being sent in certain cases. This release fixes that issue.
Raw changelog
ffe8033 - fix: send message media 74cfc69 - fix location example 2607e6d - fix: send message media in options object 5fbd8dd - feat(example): auto restore session
After a burst of work, nearly all essential features have been implemented into the library. This release brings lots of improvements, such as:
- Mention users and get mentioned users from messages
- Send messages with attachments (documents, images, audio..)
- Send messages with Location
- Get quoted message
- Get contacts
- Join groups by invite code
- Set your status message
Furthermore, improvements have been made to the general process of sending messages, such as:
- Returning the message you just sent
- Accepting an options object where you can specify messages you want to reply to, users to mention, media to attach and more in the future.
New documentation
The first steps to publishing documentation for the library have been taken, and you can find a very preliminary version of it at https://pedroslopez.me/whatsapp-web.js. It's pretty barebones and merely contains the models and functions available, but it means you won't have to go digging in the code to check what kind of stuff you can do.
The next goal here in terms of documentation is to work on a nice and clear guide that explains how the library works and how to use it, in plain english.
Breaking changes
There's only one breaking change in this release, which affects users that have used Message.downloadMedia(). Specifically, this function used to return an object where the data prop was a data url. Now this returns an instance of the MessageMedia class for compatibility with sending media. The structure is pretty much the same as the old object that was returned by downloadMedia(), but the data prop is now a base64 encoded representation of the media file.
Raw changelog
f947f75 - docs: add location to supported content types d1dba0f - add disconnect reason 64ed2c1 - more message types 5616613 - feat: Mention users, get user number from Contact model ef80f96 - fix: correctly get message contact in group chats edc2c70 - feat: change status message f2b286a - feat: get contact's profile picture 004312a - expose some more fields on contacts 2896aeb - fix some doc related stuff 065a921 - add another location example 7b229a3 - feat: Send and receive location 4b17684 - Get Mentions (#35) 0cbc24f - Update puppeteer to version 2.1.1 (#36) a247b39 - docs(readme): add whatsapp web version tested bf70eb1 - docs: regenerate docs 1ad9cac - docs: better readme 62e2642 - docs: add generated docs 2f0480c - docs: add more documentation a098d61 - feat: send messages with attachments e717915 - fix: don't get chat after accepting invite e2351db - Added Contact Model (#34) b597e4a - Added delete event message(#33) b99744a - Create lint.yml cc477f9 - Add eslint config and fix linting issues 8eb461e - Update puppeteer to v2.1.0 7243240 - fix !quoteinfo example 5b9413d - [FIX] Expose Wap module 8ddf4c2 - Add .editorconfig (close #25) caa8598 - [+] Join groups by invite code a6cc5e5 - [+] Get quoted message [FIX] Properly reply to messages sent by the current user ba8edc8 - [+] Expose information about the logged in client (#19) 88c56b1 - Return new message after sending 2a3f404 - Merge pull request #32 from gabriel-tandil/master d2889a8 - Improvement in KEEP_PHONE_CONNECTED_IMG_SELECTOR
This fix addresses an issue introduced by a change on WhatsApp Web's code that did not allow the client to properly start up.
Headless mode stopped working, returning null as the QR code. This fixes the issue by directly extracting the code from the canvas element present in the page instead of the data attribute, which did not get set while in headless mode.
This release introduces a feature to get a message's attachments.
Messages now have a downloadMedia() function, which is a promise that will return an object in the following format:
{
mimetype: 'image/jpeg',
filename: '' // if it's a document, this will have the original filename of the file
data: 'data:image/jpeg;base64,/9j/4AAQS...'
}
You can check if a message has media attached by using the hasMedia property. This works for images, videos, audio, voice notes, documents and stickers!
This release fixes WhatsApp Web changes that prevented the library from working.
Also in this release:
- New
message_createevent that is fired on all message creations, including your own. - New
getChats()function on the Client to get all open chats. - FIX for
setDescriptionandsetSubjecton groups.
Change Log:
- CSS class names updated for QR code and authentication detectors
- Store is properly loaded
- New sendTextMsgToChat function is now exposed in the Store, substituting the old (removed) Chat.sendMessage funciton
Known issues:
- Subject and Description can't be set for group chats. This is due to a change in WhatsApp Web that removes the required functions from the Chat model. You can track this issue at #6.