Skip to content

Releases: wechaty/wechaty

v0.12 - All About Refactoring

30 Oct 16:05
Compare
Choose a tag to compare

Wechaty is starting to use the MINOR version number to indicate whether the release is STABLE or NOT since v0.12.

Numbering rule:

  1. even numbers, such as 0.8, 0.12 indicated a stable release, which is fit for production use.
  2. odd numbers, such as 0.11 or 0.13, represented as development releases.

See: #905

Change Log

v0.12.0 (2017-10-30)

Full Changelog

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 official node: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:

  • Replace WebDriver by Puppeteer (#790) #860 (zixia)
  • chore(package): update coveralls to version 3.0.0 #854 (zixia)

Huge Improvements with lots of Bug Fixes and Feature Enhancements

04 Oct 07:08
Compare
Choose a tag to compare

Change Log

v0.9.0 (2017-10-04)

Full Changelog

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 to return 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!

  1. @lijiarui: #816,#812,#805,#798,#757,#729,#725,#651,#627,#619,#604,#515,#490,#440,#370,#364,#362,#328,#324,#323,#321,#318,#303,#292,#275,#266,#264,#249,#239,#234,#211,#199,#182,#162
  2. @zixia: #841,#831,#810,#644,#643,#608,#569,#560,[#542](https://github.c...
Read more

A Brand New Version for Production

29 Dec 13:36
Compare
Choose a tag to compare

v0.7.0 release lots of bugfixes after v0.6, which will make your bot more stable and powerful!

NPM

Feature

  1. Add Contact.avatar() method to save avatar to file
  2. Support save attachment in message to file
  3. New example: a voice to text bot
  4. Support search by remark in Contact.find()

Bugfix

  1. Restore session correctly with domain other than "wx.qq.com"
  2. Add @types dependencies for NPM module right
  3. Remove chromedriver & phantomjs-prebuilt from dependencies, user need to install them separately
  4. Fix Contact.remark() to work right with Contact.refresh()

Docker

  1. Fix bugs in entrypoint.sh
  2. Make all installed NPM modules global
  3. Make tsconfig.json global

DevOps CI/CD with Docker&NPM

11 Nov 12:31
Compare
Choose a tag to compare

Release Notes

To use the nightly build:

$ docker pull zixia/wechaty:latest

$ npm install wechaty@next

New Feature

  1. Add support to save attachment in EMOTICNO/VOICE/VIDEO/MICROVIDEO message to file by MediaMessage #4
  2. Add Contact.remark(newRemark: string) support #34
  3. Use CI to publish wechaty@next NPM Module automatically. Now you can try nightly build by run npm install wechaty@next.

Bug Fix

  1. Add more DNS server when startup Docker by @JasLin #83
  2. Fix use obj.from instead of obj.id by @kyle-yu #68
  3. Fix a Singleton bug in Config.puppetInstance() by @JasLin #76
  4. Fix an undefined variable warning in Room.memberList() by @JasLin #78
  5. Ignore all emoji in room member names by @lijiarui #64

Enhancement

  1. Remove the WebDriverJS promise manager #72
  2. Remove all default exports in Wechaty Module #40
  3. Print more detail helps message for docker run zixia/wechaty
  4. Speed up startup time for docker run zixia/wechaty
  5. Use npm module is-docker to identify whether run inside a Docker Container
  6. Add BAT unit tests for Wechaty Docker, by running both JavaScript and TypeScript bot files, ensure it is workable in both language.
  7. Add more unit test for docker run zixia/wechaty
  8. Linting with TypeScript v2.1
  9. Lots of code & doc clean.

Enhanced Media Message & Docker

10 Nov 05:13
Compare
Choose a tag to compare

Release Notes

New Feature

  1. Add support to save EMOTICNO/VOICE/VIDEO/MICROVIDEO for MediaMessage #4

Bug Fix

  1. Add more DNS server when startup Docker for #83

Enhancement

  1. Print more detail helps message for docker run zixia/wechaty
  2. Speed up startup time for docker run zixia/wechaty
  3. Use npm module is-docker to identify whether run inside a Docker Container

Misc

  1. Add more unit test for docker run zixia/wechaty
  2. Linting with TypeScript v2.1

1st Recommend Version for Docker Image & NPM Module

07 Nov 15:42
Compare
Choose a tag to compare

Docker Image

$ docker pull zixia/wechaty:0.5.9

NPM

$ npm install [email protected]

Release Notes

New Feature

  1. Add Contact.remark(newRemark: string) support #34

Enhancement

  1. Use CI to publish wechaty@next NPM Module automatically. Now you can try nightly build by run npm install wechaty@next.
  2. Add unit tests for Wechaty Docker, by running both JavaScript and TypeScript bot files, ensure it is workable in both language.

Bug Fix

  1. Fix use obj.from instead of obj.id by @kyle-yu #68
  2. Fix a Singleton bug in Config.puppetInstance() by @JasLin #76
  3. Fix an undefined variable warning in Room.memberList() by @JasLin #78
  4. Ignore all emoji in room member names by @lijiarui #64

Misc

  1. Remove the WebDriverJS promise manager #72
  2. Remove all default exports in Wechaty Module #40
  3. Start to require Node.js v7, because Selenium WebDriver requires v6.9 (faint) ...
  4. Lots of code & doc clean.

The first TypeScript version with fully dockerized runtime support

03 Nov 11:13
Compare
Choose a tag to compare

Changelog

  1. Converted to Typescript #40
  2. Dockerize Wechaty for easy start #66
  3. BREAKING CHANGE: global event scan listener arguments changed from 1 to 2: now is function(this: Sayable, url: string, code: number) instead of function({url, code}) before.
  4. Sayablization: Make Wechaty/Contact/Room Sayable, and all this inside wechaty event listeners are Sayable too. #41
  5. add test with Node.js v7.0 in CI
  6. add npm run doctor to diagnose wechaty and output useful debug information

Known ISSUE

  1. FriendRequest class can not be instanced by hand #70

Supported Room Operate & Friend Request, with Cloud Manager Backend.

10 Oct 04:29
Compare
Choose a tag to compare

This version is the latest Javascript version of Wechaty.

Room Operations

  1. Global events: room-join, room-leave, room-topic
  2. Room events: join, leave, topic
  3. Create a new Room: Room.create()
  4. Add/Del/Topic for Room
  5. Other methods like nick/member/has/etc...

Friend Request

  1. Wechaty.on('friend', (contact, request) => {}) with Wechaty new Event friend
  2. accept() to accept a friend request
  3. send() to send new friend request

Cloud Manager

  1. Managed by Cloud Manager: https://app.wechaty.io
  2. Dockerized & Published to docker hub as: zixia/wechaty

Cloudify Wechaty: Start manage your bot on https://chatie.io

29 Jun 07:24
Compare
Choose a tag to compare
  1. add support to manage wechaty bot by cloud manager: https://chatie.io
  2. add support to download image message by MediaMessage.readyStream() image bot example
  3. fix lots of stable issues, and add watchdog

Save/Restore Wechat Session

09 Jun 20:28
Compare
Choose a tag to compare
  1. add support to save & restore wechat login session
  2. add continious integration tests on Win32 platform. (powered by AppVeyor)
  3. add environment variables HEAD/PORT/SESSION/DEBUG to config Wechaty