Releases: wechaty/wechaty
Wechaty 0.56 Released!
Release Announcement Blog: https://wechaty.js.org/2021/01/25/wechaty-0.56-released/
v0.56 (2021-01-25)
Implemented enhancements:
- Switch from
wechaty-puppet-hostie
towechaty-puppet-service
#2122 - Add wechaty-puppet-padlocal to our puppet config #2102
- Use
message.talker\(\)
to replacemessage.from\(\)
#2094 - Create a
looseInstanceOfClass
to checkFileBox
andPuppet
instances #2090 - Issue with batch operation on room loading process #2068
- Support more properties on contact #2036
- Refactoring Multi-instance Wechaty Design: Try to remove the Accessory class and related codes #2027
- Use Typed-Emitter in Wechaty #2014
- Support WECHATY_HOSTIE_PORT environment variable #1984
- Wechaty v0.23 PadPro Testing, an enhanced pad puppet implementation! #1668
- Using wechaty to start a wechatOA account #1016
Fixed bugs:
- FileBox instance type checking problem #2035
- Wechaty.off() not work: can not remove listeners. #2019
- friendship.contact() will load Contact only, contact.ready() is wanted. #1954
Closed issues:
- 不能登录,也没显示二维码就直接退出 #2099
- Can't login after scan the qrcode #2092
- 网络不好程序自动重启后推送异常 #2088
- Message.forward() does not support returning a message #2073
- bot.Friendship.add() 总是报错 #2060
- 在使用FileBox 发送视频时候出现问题 #2059
- The AWS Access Key Id you provided does not exist in our records. #2058
- When setting up hostie token gateway, Account was locked after 5 getContactInfo call within a second. #2040
- Support phone related operations #2037
- BREAKING CHANGES: remove hotImport support from wechaty #1997
- ERR GRPC_GATEWAY GRPC SERVER ERROR #1996
- 微信安装 #1990
- Cannot read property 'QQ' of undefined #1982
- Need upgrade [email protected] version for wechaty #1980
- The qrcode all the time timeout #1977
- Upgrade [email protected] for fix the bug of friendship.accpet() #1966
- 23:42:53 SILL GrpcGateway callback type:【invalid-token】 #1959
- 准备支持企业微信群吗 #1958
- node-pre-gyp WARN #1953
- How to filter official account numbers #1951
- Update wechaty-puppet-hostie version for wechaty #1948
- Is that you? #1942
- ipad WeChat login will automatically log out, The returned QR code is invalid, you cannot log in again, you must restart #1940
- New version release notes for wechaty 0.38 #1937
- Can the receive the recall " room-leave". #1745
- Refactor message.ts file to fit the requirement in CodeClimate #1663
- Want to get information about sent-out message #1501
Merged pull requests:
- rename wechaty-puppet-hostie -> wechaty-puppet-service #2124 (huan)
- Update README.md #2118 (lijiarui)
- Update room-invitation.ts #2104 (profthecopyright)
- Update contact.ts #2095 (su-chang)
- create looseInstanceOfClass (#2090) #2091 (huan)
- Update Dockerfile #2079 (yesxin)
- Bump minor 49 #2078 (windmemory)
- fix #2073 #2074 (windmemory)
- Split to trunks when making requests of room.findAll() and room.ready() #2067 (windmemory)
- bump hostie version to be the stable one #2051 (windmemory)
- 0.48.0 #2050 (windmemory)
- feat: add more methods into contact class #2048 (windmemory)
- feat: add scoped wxwork puppet into puppet config #2043 (windmemory)
- add phone method in contact class #2039 (windmemory)
- remove Accessories by wechatify user classes #2028 (huan)
Wechaty v0.38 Released!
v0.38 (2020-04-08)
Implemented enhancements:
- BREAKING CHANGE: Remove
MessageUserQueryFilter
#1929 - Simplify the Accessory class logic #1924
- Update Docker Base Image form Ubuntu:18 to Ubuntu:19 #1920
- wechaty dependency modules deep cleaning #1917
- FileBox version incompatible across wechaty wechaty-puppet and wechaty-puppet-x #1914
- Publish Wechaty Document Site to https://wechaty.js.org #1912
- Support Encode & Decode QR Code functions from [email protected] #1907
- Design an new
Image
class for receive images with different sizes. #1871 - Integrate Wechat with Matrix with the power of Wechaty #1737
Fixed bugs:
- Can not create Image class. #1922
Closed issues:
Merged pull requests:
- 0.38.0 #1936 (su-chang)
- Remove MessageUserQueryFilter #1931 (huan)
- [Snyk] Upgrade state-switch from 0.6.18 to 0.7.2 #1928 (snyk-bot)
- [Snyk] Upgrade brolog from 0.3.11 to 0.4.3 #1925 (snyk-bot)
- Image bug #1921 (su-chang)
- File box #1915 (su-chang)
- Support message.toImage() method. #1913 (su-chang)
- Support delay to accept room invitation #1910 (su-chang)
Wechaty v0.30 Released!
v0.30 (2020-02-08)
Implemented enhancements:
- Support room.say
hi ${contact} ${num++}
#1899 - Support new event named "message" on Room #1897
- Support search new friends by phone number or user name. #1892
- {Room,Contact}.qrcode() should return QR Code Value instead of Image #1889
- Implmented UrlLink.create(url) with Open Graph support #1887
- 主动撤回消息 #1885
- Implement Label in Wechaty #1856
- Would like to have the timestamp on the room/friendship events #1829
- Would like to have receiver, serialize and deserialize functions on RoomInvitation #1823
- Wechaty v0.26 iosBird Testing, an iOS hook puppet implementation! #1775
- Missing example code #1756
- BREAKING CHANGE v0.25 Room.say(text: string, mention: Contact[]) deprecated #1730
- New Puppet: Ioscat (iPhone Wechat App Hook) #1528
Fixed bugs:
- bot.logonoff()报错【static puppet not found for Wechaty】 #1878
- JSDoc publishing problem: missed the Room class #1872
- Wechaty can not get room info when the bot has been removed from one room. #1834
- bot.Contact.find() error message misleading #1812
- 机器人会隔一段时间自动退出 #1810
Closed issues:
- Use docker to run, QR code address prompt "unrecognized QR code" #1905
- room.announce()中当参数为空字符串时, 调用获取群公告而不是设置群公告为空 #1902
- 启动官方学习项目报错 #1898
- 延期通过好友 #1890
- I want wechaty puppet padpro token to create a wechat bot #1882
- msg.mentionSelf()方法不对,始终返回false #1877
- 需要取到Contactid或者微信号 #1873
- Function message
toContact\(\)
should to be implemented. #1855 - install error #1853
- wechaty-puppet can not install in electron #1851
- wechaty-puppet-macpro alpha test #1846
- Action required: Greenkeeper could not be activated 🚨 #1781
- 登陆二维码无法识别 #1753
- 经常报以下warning #1634
- Doesn't work with UK Android account/device #1556
Merged pull requests:
- fix: wechaty-puppet-dll temporary unavailable #1908 (kis87988)
- docs: improve ding-dong-bot example #1904 (rikakomoe)
- Add reason for logout event #1900 (su-chang)
- Friend search #1895 (su-chang)
- Delay friendship #1891 (SilentQianyi)
- Create url link #1888 (huan)
- Recall msg #1886 (SilentQianyi)
- Change Mini Program payload in wechaty #1883 (su-chang)
- Update README.md #1876 (lijiarui)
- add kaiyuanshe bot #1875 (lijiarui)
- chore(package): update @types/node to version 12.12.3 #1870 (huan)
- Implement toContact() method #1868 (su-chang)
- feat: change say() method response type from void to Message #1866 (su-chang)
- Implement Label related methods #1864 (su-chang)
- Update contact.ts #1861 (su-chang)
- fix opencollective Sponsors style #1859 (lijiarui)
- fix typo #1854 (LanceZhu)
- Update wechaty.ts #1833 (su-chang)
Wechaty v0.28 Released!
- Fixed sending image and file function for wechaty-puppet-puppeteer by @su-chang wechaty-puppet-puppeteer#106
- Add sending Mini-Program feature by @limingth @zhaoic @lhr0909 #1806
- Add Room announcement support for wechaty-puppet-padpro by @windmemory #1816
- Start using Chatie DevOps Toolset for Wechaty, by @huan
- 添加用 id 寻找Room RoomQueryFilter #1785
- missing puppets in latest docker image #1820
v0.28 (2019-09-02)
Implemented enhancements:
- Room announcement is not working properly for some puppet implementation #1816
- [Feature] Send Mini-Program #1806
- Upgrade the repo to use Chatie DevOps toolset #1793
- Easy install for wechaty-puppet-puppeteer #1792
- 添加用 id 寻找Room RoomQueryFilter #1785
- Generate version.ts before publish to NPM #1780
- Use
@chatie/tsconfig
as the tsconfig.json base configuration #1777 - Could you please upgrade dependency for wechaty-puppet-puppeteer #1758
- Missing comment example code in room.ts file #1751
Fixed bugs:
- missing puppets in latest docker image #1820
- Cannot
Contact.say\(imageAsFileBox\)
with puppeteer #1795 - Document bug in README #1690
- Fix comment, in replacing #1784 #1814 (xinbenlv)
Closed issues:
- 登录不了,有办法解决吗? #1842
- 登录不了一个错误报告 #1841
- 想获取微信消息列表,Message.findAll()返回为空? #1825
- 用了一个月itchat相安无事,用了2小时wechaty... #1815
- Wechaty process.exit(1) if token is not valid #1811
- TSError: ⨯ Unable to compile TypeScript: #1791
- padpro 无法连接服务器 #1789
- Action required: Greenkeeper could not be activated 🚨 #1765
- Mention api add @ automatically no matter it is already exists in the text #1718
Merged pull requests:
- Update the ipad protocol environment #1838 (LinuxSuRen)
- Update link for wechaty-puppet-padchat #1836 (LinuxSuRen)
- Add timestamp to events #1832 (windmemory)
- Send MiniProgram using PadPro #1822 (zhaoic)
- Add Readme - powered by wechaty example #1819 (coderwhocode)
- 添加项目案例微信小助手 #1818 (gengchen528)
- chore(package): update dependencies #1782 (huan)
Wechaty v0.26 Released!
Good News: We have new improvements after the past months!
All the users will be suggested to upgrade to the latest v0.26 version for the latest updates and stable fixes.
Cheers!
Huan
Implemented enhancements:
- Recalled message design #1728
- Message.toString format discussion #1676
- Upgrade wechaty-puppet-padchat stable version #1642
- New Puppet - wechaty-puppet-padpro #1629
- room mention contact should using roomAlias #1604
- for Pull Request: Disable puppet unit tests that requires a token #1580
- Refresh contact self when updating self name or signature #1576
- Pass mention list down to puppets #1560
- Wechaty Puppet Ioscat Testing: iPhone(iOS) Wechat Hooking Support are comming! #1530
Fixed bugs:
- Room.owner() function is printing log in info level #1769
- Build is failing caused by promisify missing arg3 #1761
- Comment: Example code error #1746
- Documentation网站挂掉了 #1739
- 构建docker镜像报错 #1593
- memberAll() not running in docker after v0.21.27 #1573
- ERR PuppetPuppeteer roomRawPayload #1547
Closed issues:
- invalid processingToken:make the account logout.. #1766
- Action required: Greenkeeper could not be activated 🚨 #1764
- Action required: Greenkeeper could not be activated 🚨 #1763
- [已解决]无法自动通过好友请求 #1755
- Missing comment example code in contact.ts file #1748
- Is there a way to send message to a contact instead of making a reply using say()? #1734
- await message.mentionSelf() is invalid #1725
- message.mentionSelf() #1724
- wechaty-puppet-padpro 获得的语音消息文件是slk格式 #1720
- 有没有针对企业微信App的登录和收发消息的方案啊? #1717
- 关于win7安装 npm install wechaty-puppet-padpro 的问题 #1716
- 小桔机器人挺好用,希望详细对比WeTools,并分享开发Roadmap,谢谢 #1712
- npm start 到 [email protected] 报错。。。 #1708
- 这是什么 #1703
- 使用自动拉人入群功能 #1697
- electron中调试模式下可以正常启动,打包后无法使用 #1694
- docker compose #1688
- Errors occur sometimes when bot running #1675
- msg.say 重复执行 #1674
- WECHATY_PUPPET=mock failed, TypeError [ERR_INVALID_ARG_TYPE]: The "request" argument must be of type string #1673
- Room.say method is not working #1665
- 这是基于什么协议的web pc ipad #1664
- Adjust data sync order when message event triggered #1659
- 乱码 #1656
- 乱码 #1655
- ipad #1650
- [RFC] custom id on Contact #1647
- 请问, 怎么让机器人通过手机号添加好友 #1639
- 请问wechaty可以关掉日志输出吗? #1638
- ubuntu 18.04下无法正常启动chrome #1637
- 在docker容器中,npm install wechaty,运行mybot报错:Failed to launch chrome! #1636
- Why I stuck here? #1624
- can robot join room by qrcode? #1622
- 调用私发/群内发消息接口,emit出的消息事件中消息时间有误 #1619
- 调用发消息接口后,emit 出的消息事件对应的消息时间不正确 #1617
- room.on('join',function(room, inviteeList, inviter)), can not get the inviteeList i.e. the new member #1613
- cgggg #1610
- c #1609
- I use this function keyroom.add(contact),it doesn't work #1601
- use "wechaty-puppet-padchat" cannot login successfully #1600
- wechaty无法查找到群名称中有~的群 #1592
- Sending messages with MessageType=1 is not supported #1588
- 不能通过群成员添加好友 #1578
- [RFC] Launch broken when using wechaty-puppet-padchat #1575
- Delete the
breaking change
tag in issue #1565
Merged pull requests:
- Change room.owner() log from info level to verbose level #1770 (windmemory)
- Activating Open Collective #1759 (monkeywithacupcake)
- add example code #1757 (linyimin-bupt)
- add send urlLink example code in room class #1752 (linyimin-bupt)
- add send urlLink example code #1750 (linyimin-bupt)
- fix comment error #1749 (linyimin-bupt)
- Add
Message.recalled\(\)
#1735 (windmemory) - revise room.say() mention function #1729 (windmemory)
- fix document presentation bugs #1713 (TbhT)
- code clean for issue template #1702 (lijiarui)
- add issue template #1700 (lijiarui)
- Change chatie org to wechaty org #1692 (lijiarui)
- Update the Message.toString format, close #1676 #1677 (suntong)
- Fix room mention #1666 (lhr0909)
- Pass mention list down to puppet and use mentionIdList from puppet if possible #1662 (windmemory)
- fix: Message.mention() #1661 (jzj1993)
- Adjust data sync order for message ready #1660 (windmemory)
- Upgrade wechaty-puppet-padchat version in puppet config #1643 (windmemory)
- Docs #1633 (lijiarui)
- Docs #1631 (lijiarui)
- new Puppet - wechaty-puppet-padpro #1630 (windmemory)
- docs: fixed typo #1625 (Gcaufy)
- fix typo #1623 (kis87988)
- docs: Fixed FriendshipType enum typo #1620 (Gcaufy)
- README typo #1615 (lijiarui)
- Contribute #1614 (lijiarui)
- fix: room mention contact should using roomAlias #1604 #1607 (kis87988)
- Greenkeeper/monorepo.babel7 7.0.1 #1597 (huan)
- add the methods' doc link #1583 ([TbhT](https://githu...
v0.22 Release `wechaty-puppet-padchat`
v0.20: More STABLE Than v0.18, With More Features.
Change Log
v0.20
New Features
- Send/Receive Url Link message #1539
Message.find()
to search message #1534room-invite
event was added, bot canaccept()
room invitation #1492ContactSelf.qrcode()
Bot can get qrcode for itself #1301
Breaking Changes
Contact.alias
changed from Sync to Async #1500
FULL CHANGELOG
v0.20.0 (2018-08-18)
Implemented enhancements:
- [RFC] Suggest to have more detailed error message when doing ContactSelf related operations #1549
- feat: add receive and send link #1539
- Feat: add
Message.find
to search in cache. #1534 - Get Rid of the Dependences which requires build when
npm install
#1529 - Puppet Padchat Not Supported Attachment File Type in Message. #1524
- BREAKING CHANGE: v0.20
Contact.alias
changed from Sync to Async #1500 - Pre-install all official supported Puppets when build docker image #1493
- 【Proposal】New 'room-invite' event #1492
- Message type: mini program for Message.type() #1444
- Promote PuppetPadchat to SOLO NPM Module wechaty-puppet-padchat #1372
- PuppetPadchat: support message type of
StatusNotify
withop id
push update information #1310 - Make tslint.json to be simple with
extends
standard. #1303 - feat: PuppetPadchat supports get QrCode for userSelf(can be scan by others for adding friend) #1301
- New Puppet: PuppetPadchat #1249
- feat: add
Wechaty.unref\(\)
support to unref all the underlying resources. #1197 - Disable HotImport in PRODUCTION Environment #907
- Reconstruction PuppeteerMessage Class #724
- [New Puppet] PuppetWechat4u - enable by
WECHATY\_PUPPET=wechat4u
#69
Fixed bugs:
- TypeError: Cannot read property 'type' of undefined at AnotherOriginalClass.type #1545
- contact alias not sync after call contact.alias(string) to set alias #1517
- Fix Puppet Memory Multiplex Problem with Multi-Instance Wechaty and Pre-Instanced Puppet #1516
- Question: How to pre-set puppet module to be used by wechaty with docker #1478
- JSDoc bugs #1475
- PuppetPadChat:Contact.avatar() Error #1473
- PuppetWeb loses event listeners when resetting #1470
- Check the puppet version to satisfy the Wechaty requirement #1453
- Split the
xxxIdList
to chunks when map it to payload to prevent block the event loop #1450 - FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory #1435
puppetPadchat.reset\(\)
should callstart\(\)
afterstop\(\)
#1385- cannot run
speech-to-text-bot
#1350 - Error: Cannot stub non-existent own property #1247
- How to run hot-import-bot example #1222
- PuppetWebEvent onLogin: browser not fully loaded(ttl=30), retry later #970
Closed issues:
- appear bug when logout use padchat #1559
- [RFC] Shall we clean up room information when we receive room events? #1552
- Want to create UrlLink with control on all properties #1541
- memory-card cannot save successfully #1537
- Error: Cannot find module 'babel-plugin-transform-runtime' from '/bot' #1536
- contact name not sync after call sync() or restart docker (RPC) #1531
- Why wechaty need express #1523
- calling await bot.stop() can't stop the bot #1519
- @ 人没提示 #1504
- Puppet Name use full npm name instead of alias: padchat => wechaty-puppet-padchat #1496
- why friendship.contact().name() is "" #1490
- why the padchat always restart(login)? #1485
- sending a custom emotic led to an error on the server #1483
- PuppetPadChat: The server always restart on pm2. #1472
- PuppetPadchat Not response after run several hours #1443
- PuppetPadchat: make contact has a function with real wechat ID #1423
- Maybe we shouldn't syncContactsAndRooms per 3 hours #1414
- PuppetPadchat: Cannot read property 'user_name' of undefined #1392
- I changed my operating system,but when run dev ,still output restarting #1382
- Room-join event show ERR PuppetWebFirer fireRoomJoin() not found(yet) error (Bug) #1169
Room.findAll\(\)
get error when rooms more than 400 #1112- emit error event when listen the page has been closed #1110
Merged pull requests:
- sync room when receive room events #1557 (windmemory)
- better error message for contact self operations #1550 (windmemory)
- add receive and send link prototype #1538 (windmemory)
- add ready in jsdoc #1533 (lijiarui)
- add check isMentionMe method #1532 (bitwater)
- Add method in ContactSelf to update name and signature #1526 (windmemory)
- remove useless param type in example code #1514 (lijiarui)
- aad room invitation jsdoc #1510 (lijiarui)
- feat: [Prototype] adding new data-ready event #1503 (windmemory)
- Contact get alias from sync to async #1502 (lijiarui)
- add Contact self class #1498 (lijiarui)
- remove a outdated file-box function #1497 (lijiarui)
- Add api to explain which belongs to web API, which belongs to padchat API, which belongs… #1486 (lijiarui)
- move wechaty-getting-started from lijiarui to chatie #1482 (lijiarui)
- file() desperate, use toFileBox instead #1481 (lijiarui)
- fix #1475 bug #1477 (lijiarui)
- change contact type to contactSelf type for bot #1474 (lijiarui)
- Add doc #1458 (lijiarui)
Wechaty v0.18: Reduce Weight
WECHATY v0.18: REDUCE WEIGHT
The only purpose for Wechaty v0.18 is to: Reduce Weight!
But, why do we need to reduce weight?
Let's back to May 2016, when the first version of Wechaty was published, it only contains thousands of lines of the code, and at the end of the year 2016, we have about 10,000 lines of the code. (you can read our blog at this time)
As the time passed by in 2017 & 2018, we added more features to Wechaty, like send attachment files, support WeChat protocol other than web like ipad, which means we write more and more codes in Wechaty repository... at last we get almost 30,000 lines of the code, and to be precise: 27,630. (with 377 unit tests, you can check it out at here if you are interested)
Is that fat? 30,000 lines of the code, is not too much, but it is not a small number too. After we finished abstracting the puppet base class after v0.16, it seems we have very good reason to begin reducing weight:
- Abstract Puppet Class need to be imported by every puppet implementations, and it should to be a solo npm module, with good version management.
- Every Puppet Implentation Class is better to be a solo npm module, becasue we can only install the required source code that we needed.
So at this version (v0.18), we have the follow npm modules that splited out from Wechaty:
WECHATY PUPPET LIST
1. For Puppet User
Stage | Name | Wechaty Puppet | Backend | Version |
---|---|---|---|---|
Release | puppeteer | PuppetPuppeteer | Web API via Browser Hooking | |
Beta | padchat | PuppetPadchat | iPad Protocol | |
Alpha | wechat4u | PuppetWechat4u | Web API via HTTP | |
Alpha | ioscat | PuppetIoscat (WIP) | iPhone App Hooking | |
TBW | Android | Android Hook | 0.0.0 | |
TBW | Win32 | Win32 Hook | 0.0.0 |
2. For Puppet Builder
Stage | Name | Wechaty Puppet | Backend | Version |
---|---|---|---|---|
Release | N/A | Puppet | Abstract Base Class | |
Release | mock | PuppetMock | Mocking |
If we count the other npm modules that split out from Wechaty before, we can also list them as the following:
- cloneClass: Clone an ES6 Class as Another Class Name for Isolating Class Static Properties.
- hotImport: Hot Module Replacement(HMR) for Node.js
- Brolog: Brolog is Logger for Angular in Browser like Npmlog.
- FileBox: Pack a File into Box for easy move/transfer between servers no matter of where it is.(local, remote url, or cloud storage)
- MemoryCard: Memory Card is an Easy to Use Key/Value Store Implements ES6 Map with Async API, with Swagger & Serialization Support.
- RxQueue: Easy to Use RxJS Queue for Throttle/Debounce/Delay/DelayExecute
- StateSwitch: State Switch is a Monitor/Guard for Managing Your Async Operations.
- Watchdog: An Timer used to Detect and Recover from Malfunctions
Hmm... lots of them aha? So how can we keep all of them in one repository and manage them easily? It must be a nightmare!
So at last, as we published the v0.18, we only left 5,465 source lines of the code in Wechaty repository(11,006 physical lines). We can see a timeline from the history:
Source Lines of Code for Wechaty
Date | SLOC |
---|---|
2016.5 | 3,000 |
2017.1 | 10,000 |
2018.1 | 20,000 |
2018.6 | 27,630 |
2018.7 | 11,006 |
From 27,630 to 11,006, we almost get the half size than before, cheers!
Change Log
v0.18.0 (2018-07-11)
Implemented enhancements:
- PuppetPadchat Upgrade TODO Lists #1442
- Dynamic install puppet implementations instead of pre-install #1437
- Split PuppetWechat4u as a NPM module #1419
- PuppetPadchat: The contact.star() doesn't work #1413
- Promote PuppetPuppeteer to SOLO NPM Module wechaty-puppet-puppeteer #1371
- Promote Puppet to SOLO NPM Module wechaty-puppet #1370
- New Puppet: PuppetMock for Testing & Starter #1177
Fixed bugs:
- Cannot detect the the environment WECHATY_PUPPET v0.17.118 #1456
- PuppetPadchat Server logout and login cycle average 3-5mins #1446
- WARN PuppetPuppeteer initWatchdogForPuppet() dog.on(reset) last food:inited, timeout:120000 #1439
- ts-node 7.0 breaking change: Skip
files
by default #1383 - Can not find room after add member to the room #1380
- PuppetPadchat:
friend
value ofContactPayload
is undefined #1359 - WXGetContact cannot get user_name #1358
- leveldown::Database::Close: Program terminated with signal SIGSEGV, Segmentation fault. #1355
Closed issues:
- QR Code problem under screen/xterm #1455
- How to get the room title in v0.17 wechaty? #1454
- should not download chromium by default #1451
- PuppetPadChat:Send media file. #1436
- PuppetPadchat:My wechat accou can not login. #1416
- It reports errors when the room delete one member. #1415
cannot get user\_name from raw payload: {} \[object Promise\]
Error #1399- Where can I see the complete API documentation of puppet-padchat, such as createRoom and Moment #1391
- still restart #1378
- WARN PuppetPuppeteer #1376
- m.say() repeat many many times #1216
- room.say mention is not work #1185
- 获取所有群 #1020
- Any way to keep login for days? #988
Merged pull requests:
- update version of puppet-padchat #1457 (windmemory)
- catch error when get undifined user_name in room #1408 (lijiarui)
- add a more suitable time to sync Contact and Room #1407 (lijiarui)
- mock self bot when WXGetContact() return null user_name #1405 (lijiarui)
- sync contact and room per hour #1402 (lijiarui)
- add
friend
in ContactPayload #1401 (lijiarui) - fix Contact.findaAll() cannot get contact when user_name return undifined #1389 (lijiarui)
- fix bug that after a room add, the room id get removed from cache #1384 (windmemory)
v0.16 New Puppet System(BETA) with Padchat Implemented
This release is a BETA release which had been improved with lots of huge refactoring since v0.14.
With v0.16, we can use the branding new Puppet System to connect Wechaty API to any kinds of Puppets, for example:
- Mocking - PuppetMock
- Web API via HTTP - PuppetWechat4U
- Web API via Browser - PuppetPuppeteer (our classic PuppetWeb)
- Maybe a Official Account Puppet? #1016
If you are using Wechaty in a production environment, It is recormmand to skip this version and wait to the next version of 0.18 because this version is still in testing stage and will be continue developing as v0.19.
However, if you want to try the new Puppet like the PuppetPadchat which is powered by the Wechat Pad Protocol, you can upgrade to this version and get the following benifits from it:
- Be able to login with the newly registered Wechat Account. (#872)
- Get wechat id for contacts. (#133)
- Get consistent room id for rooms across login session. (#90)
- ... To be discovered by you ...
Learn more about how to use the PuppetPadchat from Wechaty v0.15 Alpha Testing: Win32/iPad/Android/iOS/API Puppets Support are coming! #1296
Blog
https://blog.chatie.io/wechaty-new-release-version-0.16/
CHANGE LOG
BREAKING NEWS: Wechaty logo color was changed from green to blue!
There will be a migration guide from v0.14 to v0.16 will be published on our blog later.
1. BREAKING CHANGES
1.1 Class Removal
- BREAKING CHANGE: v0.16 will remove
MediaMessage
class #1164 - BREAKING CHANGES v0.16: FriendRequest class will be replaced with Friendship #1312
- BREAKING CHANGE v0.16 Contact, FriendRequest, Message, and Room classes will not be able to instantiate directly #1364
1.2. Sync to Async
- BREAKING CHANGE: v0.16
Room.topic()
change from Sycn to Async #1295 - BREAKING CHANGE: v0.16
Room.alias(contact)
change from Sycn to Async #1293 - BREAKING CHANGE: v0.16
Room.memberList()
change from Sycn to Async #1290 - BREAKING CHANGE: v0.16
Room.has(contact)
change from Sycn to Async #1289 - BREAKING CHANGE: v0.16
Message.mention()
change fromsync
toasync
#1259 - BREAKING CHANGES: v0.16
Room.member()
fromsync
toasync
#1258
1.3. Argument / Return Value
- BREAKING CHANGE v0.16 room.add return Promise<void> instead of return Promise<boolean> #1362
- BREAKING CHANGE: v0.16
scan
event args will be different! #1262 - BREAKING CHANGE: first arg of
room-leave
event licener changed fromContact
toContact[]
#723 - BREAKING CHANGE: v0.16 on('friend`) arguments changed! #1196
1.4. Deprecated
- BREAKING CHANGE v0.16 Wechaty.self() eprecated, use Wechaty.userSelf() instead #1369
- BREAKING CHANGE v0.16 Contact.personal() and Contact.official() deprecated, use Contact.type() instead #1366
- BREAKING CHANGE: v0.16 will replace
Message.content()
withMessage.text()
#1163
2. New Features
- feat: Add
for await (const contact of room) {}
support by ES6 iterators override #1198 - [todo] allow Wechaty to be multi-instance #518
- [New Puppet] Plan to support
WECHATY_HEAD=WECHAT4U
#69 - TravisCI Conditional Deployment #1211
- Puppet padchat #1245 (lijiarui)
- Multi-Instance Support #1159 (zixia)
3. Bug Fixes
- Update the peerDependencies of
rx-queue
: rxjs@6 from rxjs@5 #1205 - How to avoid the memory leak #981
- Should throw Exception when there have API Error. #683
4. Enhancements
- Prevent the Floating Promise in the Async/Await Code #1346
- Upgrade Docker Base Image from Ubuntu 17.10 to 18.04 #1239
- Continious Deploy to NPM with @next tag when the MINOR version number is odd(in developing branch) #1158
- Should throw Exception when there have API Error. #683
- Decouple: Make
Contact
,Room
,Message
, andFriendRequest
class Abstract. #1160 (zixia) - Update to node 10 in .travis.yml #1231 (zixia)
Learn more between version at:
v0.14 - Minor Bug Fixes
Wechaty v0.14
Implemented enhancements:
- Rename {test,fixture,example,...} to {tests,fixtures,examples,...} etc. #1127
- Trigger Deploy on Branch /v\d+.\d+$/ #956
- Wechaty Version Numbering #905
- [New Puppet] Puppeteer #790
- [enhancement] Add timezone in to Dockerfile #594
- [docker] to prevent docker users install a local dependence of wechaty #281
Fixed bugs:
- When run CI inside the container: openBinaryFile: does not exist (No such file or directory) #1137
- Try to use
WerckerShippable CI to replace Circle CI #1134 - Pupeteer not work after upgrade to v1.1 #1103
- 关于MsgType 的介绍文档404了 #1079
- Docker test fail because ts-node behavior changed between v3 and v4 #1050
- fix description #1027
- ERR Profile save() exception: Error: EACCES: permission denied, open '/bot/demo.wechaty.json' #982
- Dockerfile.onbuild build error.Directory permissions wrong #961
- [docker] onbuild failed to start when we put
wechaty
as dependency in package.json #500
Closed issues:
- How to send file #1150
- Failed to download Chromium r543305 #1145
- Signals (e.g. ^C) handling #1122
- OK to add a .eslintrc.js file? #1120
- Q: All the media types #1115
TTL expired
error when login #1114Cannot read property 'MemberList' of undefined
still exisit in the latest docker version #1111- emoji suggestion #1108
- Regenerate docs/index.md by run
npm run doc
#1105 - hot-reload-bot adding hot-reloading config #1100
- Third options to run wechaty #1085
- issue #1076
- Session last only for 1 hour in Azure #1059
- 出现 no Url 错误后,程序崩溃 #1055
- 图片发送一次后,图片损坏 #1040
- ERR PuppetWebBridge init() exception #1018
- 我实在解决不了这个问题了~菜鸟一枚 #998
- TypeError: Cannot read property 'MemberList' of undefined #984
- Using hot-import cannot quit wechaty when quit the code #978
- Error: Navigation Timeout Exceeded: 30000ms exceeded #966
- hot-reload does not work #958
- [docker] Login error #950
- Invalid audio output parameters received; using fake audio path. #939
- Keep getting "can not found bot file: src/main.ts" #937
- glSetDrawRectangleCHROMIUM: failed on surface #934
- [FR] Create an example for using hot-import for listener and other modules #923
- Bot log out frequently and got some strange error between it logout and relogin automatically #612
Merged pull requests:
- chore(package): update ws to version 5.1.0 #1143 (zixia)
- chore(package): update puppeteer to version 1.2.0 #1131 (zixia)
- hot-reload-bot adding hot-reloading config close #1066, close #1100 #1123 (suntong)
- cannot recognize room event #1116 (lijiarui)
- fix chown: invalid user: ‘bot’ #1089 (mukaiu)
- Add troubleshooting for hidden .txt files (Windows) #1087 (IdiosApps)
- fix #1079 #1086 (lijiarui)
- chore(package): update @types/node to version 9.4.0 #1083 (zixia)
- chore(package): update finis to version 0.4.1 #1075 (zixia)
- chore(package): update ts-node to version 4.1.0 #1074 (zixia)
- chore(package): update mime to version 2.2.0 #1073 (zixia)
- chore(package): update tslint to version 5.9.0 #1072 (zixia)
- chore(package): update sinon to version 4.2.0 #1071 (zixia)
- fail to install node dependencies #1036 (hiwanz)
- Change
init
tostart
in demo #1017 (xinbenlv) - Update tuling123-bot.ts #1014 (htoooth)
- fix #961 onbuild operation not permitted #962 (mukaiu)
- Fix #923 #935 (xinbenlv)