Releases: wechaty/wechaty
Releases · wechaty/wechaty
v0.12 - All About Refactoring
Wechaty is starting to use the MINOR version number to indicate whether the release is STABLE or NOT since v0.12.
Numbering rule:
- even numbers, such as 0.8, 0.12 indicated a stable release, which is fit for production use.
- odd numbers, such as 0.11 or 0.13, represented as development releases.
See: #905
Change Log
v0.12.0 (2017-10-30)
Implemented enhancements:
- Promote
rx-queue
to SOLO NPM Module #938 - Add Wechaty.logonoff() method #926
- Registe Wechaty Listeners with a try {} catch {} block in order to prevent listener function crash the framework. #878
- Upgrade CircleCI from 1.0 to 2.0 #863
- Switch Docker Node Image from
alphin
to officialnode:7
#862 - Click Web Wechat
Switch Account
Automatically to get qrcode immediately when bot logout #636 - Upgrade docker image from Node.js v7 to v8 #577
- [todo] switch unit test tool from AVA to TAPE #513
- [ci] Provide a Mock PuppetWeb Instance for Integration Test #237
Fixed bugs:
- [CI] Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError) #936
- "PromiseRejectionHandledWarning: Promise rejection was handled asynchronously" when Wechat says "当前登录环境异常" #925
- TypeError: cookieList.filter is not a function #919
- TypeError: Cannot read property 'error' of null #918
- ERR PuppetWebBridge init() initPage() onLoad() exception: undefined #917
- Sometimes Wechaty can't login (with puppeteer) #899
- [ci] WebDriver Error: "no such session" #756
- Click Web Wechat
Switch Account
Automatically to get qrcode immediately when bot logout #636 - [ci] execute proxyWechaty(init) error: 503, init() without a ready angular env #329
- [ci log] watchdog reset after 120 seconds #195
- Selenium WebDriver driver.getSession() wait a long time #86
Closed issues:
- 在登录失败时的异常提示优化 #898
- CANT RUN THE WECHATY-GETTING-STARTED, PUPPETWEBROWSER valid() getSession() #891
- Error after restart vps invalid driver at ttl 0 #788
- webdriver.executeScript wait a long time(26s) before page load #2
Merged pull requests:
Huge Improvements with lots of Bug Fixes and Feature Enhancements
Change Log
v0.9.0 (2017-10-04)
BREAKING CHANGES
- [Announcement] Drop support for phantomjs #763
NEW FEATURES
- Support hot-reload for Wechaty events listeners #820
- Add Transpond Message #726
- [Feature request] @mention support? #153
- Support Message Type of Image/Video #4
- [new feature] add function message.mention() #216
- [feature request] fire
room-join
when someone joins from a QR Code #155 - #4 send image/video #337 (mukaiu)
- #3 support send gif #438 (mukaiu)
- add room.say(MediaMessage) #420 (mukaiu)
- add room-leave event #370 (lijiarui)
- Add mention #362 (lijiarui)
- added hot load bots #310 (Gcaufy)
BUG FIXES
- [bug] Support for send 25Mb+ size files #766
- Cannot send pdf file using MediaMessage #710
- [enhancement] Add pdf, docx etc support to MediaMessage(now only picture is supported) #538
- Send(upload) an image twice will cause error. #422
- Cannot send image after restart #777
- Room.alias() should return null if we have not set the alias in the room #283
- Fix chrome driver path problem in Windows #416 (xjchengo)
- fix upload media url error #415 (mukaiu)
- Add missing %s content for leaver not found error #388 (xinbenlv)
- fix jsdoc flush issue #378 and minor fix on the doc examples #380 (ax4)
- fix_function_room.member_#173 #211 (lijiarui)
- [bug]Cannot read property 'getUserName' of undefined #772
- Cannot send pdf file using MediaMessage #710
- Click Web Wechat
Switch Account
Automatically to get qrcode immediately when bot logout #636 - Concat.avatar() faild ,when hostname changed from https://wx.qq.com to https://wx2.qq.com #418
- it seems RECALLED: 10002 message dose't trigger on\('message'\) event #8
ENHANCEMENTS
- [jsdoc] additional optimizations #774
- chrome-headless support #739
- Click Web Wechat
Switch Account
Automatically to get qrcode immediately when bot logout #636 - use babel-node to run javascript(.js) file inside docker #507
- [Docker] add a
onbuild
image to Wechaty #147 - add
room-bot-leave
event #250 - Limit video file size #421 (mukaiu)
- support brand checking of contact #404 (JasLin)
- Limit the size of the sending file #376 (mukaiu)
- room.memberAll() & change room.member() query to 3 types #364 (lijiarui)
- Printout entire error trace when unhandledRejection was caught #361 (xinbenlv)
- load all memberList #275 (lijiarui)
- add-sys-message-in-friendrequest #266 (lijiarui)
- enhance #155 fire
room-join
when someone joins from a QR Code #162 (lijiarui)
MISC
- Use Sentry.io to report exceptions #580
- [todo] Change to use native Dom Websocket instead of socket.io library #502
- License Change: from ISC to Apache-2.0 #474
- requesting a new QR code cost more than 2 minutes #434
- [doc] To Embed Document in Wechaty Code for Generating Automaticly #73
- Promote StateMonitor to a solo NPM module: StateSwitch #466
- Lazy to create a stream #470 (mukaiu)
- add magic code for room.say() when
@bot
happen #440 (lijiarui) - first item of memberList as owner is confusion #358 (JasLin)
- Add JsDoc for Class Contact #321 (lijiarui)
- Add print nodejs version #280 (xinbenlv)
- #291 change
throw error
toreturn null
#292 (lijiarui) - roomJoinFailed #249 (lijiarui)
- add warn log when function Room&Contact.find() return more than one value #239 (lijiarui)
- rename the nick/remark/display for contact/room #217 #234 (lijiarui)
- friendrequest #199 (lijiarui)
- #181 fix #182 (lijiarui)
CONTRIBUTORS
The following contributiveness had been contributed since v0.7.0.
Thank you all contributors, Wechaty could not release version 0.9 without your help!
A Brand New Version for Production
v0.7.0 release lots of bugfixes after v0.6, which will make your bot more stable and powerful!
NPM
Feature
- Add
Contact.avatar()
method to save avatar to file - Support save attachment in message to file
- New example: a voice to text bot
- Support search by
remark
inContact.find()
Bugfix
- Restore session correctly with domain other than "wx.qq.com"
- Add @types dependencies for NPM module right
- Remove
chromedriver
&phantomjs-prebuilt
from dependencies, user need to install them separately - Fix
Contact.remark()
to work right withContact.refresh()
Docker
- Fix bugs in
entrypoint.sh
- Make all installed NPM modules global
- Make tsconfig.json global
DevOps CI/CD with Docker&NPM
Release Notes
To use the nightly build:
$ docker pull zixia/wechaty:latest
$ npm install wechaty@next
New Feature
- Add support to save attachment in EMOTICNO/VOICE/VIDEO/MICROVIDEO message to file by MediaMessage #4
- Add
Contact.remark(newRemark: string)
support #34 - Use CI to publish
wechaty@next
NPM Module automatically. Now you can try nightly build by runnpm install wechaty@next
.
Bug Fix
- Add more DNS server when startup Docker by @JasLin #83
- Fix use
obj.from
instead ofobj.id
by @kyle-yu #68 - Fix a Singleton bug in
Config.puppetInstance()
by @JasLin #76 - Fix an undefined variable warning in
Room.memberList()
by @JasLin #78 - Ignore all emoji in room member names by @lijiarui #64
Enhancement
- Remove the WebDriverJS promise manager #72
- Remove all default exports in Wechaty Module #40
- Print more detail helps message for
docker run zixia/wechaty
- Speed up startup time for
docker run zixia/wechaty
- Use npm module
is-docker
to identify whether run inside a Docker Container - Add BAT unit tests for Wechaty Docker, by running both JavaScript and TypeScript bot files, ensure it is workable in both language.
- Add more unit test for
docker run zixia/wechaty
- Linting with TypeScript v2.1
- Lots of code & doc clean.
Enhanced Media Message & Docker
Release Notes
New Feature
- Add support to save EMOTICNO/VOICE/VIDEO/MICROVIDEO for MediaMessage #4
Bug Fix
- Add more DNS server when startup Docker for #83
Enhancement
- Print more detail helps message for
docker run zixia/wechaty
- Speed up startup time for
docker run zixia/wechaty
- Use npm module
is-docker
to identify whether run inside a Docker Container
Misc
- Add more unit test for
docker run zixia/wechaty
- Linting with TypeScript v2.1
1st Recommend Version for Docker Image & NPM Module
Docker Image
$ docker pull zixia/wechaty:0.5.9
NPM
$ npm install [email protected]
Release Notes
New Feature
- Add
Contact.remark(newRemark: string)
support #34
Enhancement
- Use CI to publish
wechaty@next
NPM Module automatically. Now you can try nightly build by runnpm install wechaty@next
. - Add unit tests for Wechaty Docker, by running both JavaScript and TypeScript bot files, ensure it is workable in both language.
Bug Fix
- Fix use
obj.from
instead ofobj.id
by @kyle-yu #68 - Fix a Singleton bug in
Config.puppetInstance()
by @JasLin #76 - Fix an undefined variable warning in
Room.memberList()
by @JasLin #78 - Ignore all emoji in room member names by @lijiarui #64
Misc
The first TypeScript version with fully dockerized runtime support
Changelog
- Converted to Typescript #40
- Dockerize Wechaty for easy start #66
- BREAKING CHANGE: global event
scan
listener arguments changed from 1 to 2: now isfunction(this: Sayable, url: string, code: number)
instead offunction({url, code})
before. - Sayablization: Make Wechaty/Contact/Room
Sayable
, and allthis
inside wechaty event listeners areSayable
too. #41 - add test with Node.js v7.0 in CI
- add
npm run doctor
to diagnose wechaty and output useful debug information
Known ISSUE
FriendRequest
class can not be instanced by hand #70
Supported Room Operate & Friend Request, with Cloud Manager Backend.
This version is the latest Javascript version of Wechaty.
Room Operations
- Global events:
room-join
,room-leave
,room-topic
- Room events:
join
,leave
,topic
- Create a new Room:
Room.create()
- Add/Del/Topic for Room
- Other methods like nick/member/has/etc...
Friend Request
Wechaty.on('friend', (contact, request) => {})
with Wechaty new Eventfriend
accept()
to accept a friend requestsend()
to send new friend request
Cloud Manager
- Managed by Cloud Manager: https://app.wechaty.io
- Dockerized & Published to docker hub as: zixia/wechaty
Cloudify Wechaty: Start manage your bot on https://chatie.io
- add support to manage wechaty bot by cloud manager: https://chatie.io
- add support to download image message by MediaMessage.readyStream() image bot example
- fix lots of stable issues, and add watchdog
Save/Restore Wechat Session
- add support to save & restore wechat login session
- add continious integration tests on Win32 platform. (powered by AppVeyor)
- add environment variables HEAD/PORT/SESSION/DEBUG to config Wechaty