fixes bug where messages from slackbot would not be handled properly - thanks @Eibwen (#520)
updates the version of lodash - thanks @mistydemeo (#521)
fixes a typo in the documentation - thanks @ind1go (#517)
Jul 17, 2018
Fixes an issue with the res.message.user object containing two nested slack properties (#505) - thanks @shanedewael.
Fixes an issue where messages from bots with no bot user may have had undefined value for res.messages.user (#507) - thanks @shanedewael.
Increases consistency of EnterMessage and LeaveMessage events by swapping to the events which are garaunteed
to be delivered (#296) - thanks @aoberoi.
Fixes an issue where listeners were not matched because the text formatting did not properly account for messages
without text defined but which do contain valid attachments, such as from IFTTT (#504) - thanks @aoberoi.
Fixes an issue where messages were delivered to Slack out of order (#379) - thanks @aoberoi.
Adds node v10 to the testing matrix (#510) - thanks @aoberoi.
Jul 3, 2018
Resolves security vulnerability warnings for CVE-2018-3728 by updating @slack/client (#486)
Fixes issue processing messages with attachments (#500)
Jun 14, 2018
Fixes bug that would cause a crash on user_change events (#497)
Jun 8, 2018
Decouple RTM datastore from Hubot (#465) - thanks @shanedewael
Create local maps to decrease Web API dependencies (#489, #491) - thanks @shanedewael
Add flag to allow disabling loading all users on startup (#471) - thanks @sinisterstuf
Add support for rtm.connect (#452) - thanks @lornajane
Add support for presence_changed events (#438) - thanks @leschekfm
Guarantee consistent user representations (#482) - thanks @shanedewael
Implements pagination for users.list (#454) - thanks @aoberoi
Modernize documentation (#478) - thanks @aoberoi
Fixes typo in documentation (#487) - thanks @lukehsiao
Updates Slack Standard OSS guidelines (#443) - thanks @aoberoi
Aug 24, 2017
Restore ability to inspect rawText and rawMessage on SlackMessage objects (#413) - thanks @mistydemeo
Relieve extraneous users.list Web API method calls from occurring due to hubot brain (#419) - thanks @chapmanc
Add ability to set RtmClient options and rtm.start options via env vars (#431, #421) - thanks @aoberoi
Documentation fix (#426) - thanks @TonioOoOo
Mar 29, 2017
Fixes issue when events arrive from user’s who are outside the team/workspace you are connected
Feb 17, 2017
Adds support for message threads. Thanks @ndaversa!
Feb 15, 2017
fixes a bug where user_change events would cause hubot to crash (#391). thanks @aoberoi,
@DonEmil, and @pearswj.
Jan 9, 2017
fixes a bug where hubot’s using a token without permission to read a user’s email would
cause a crash (#388). thanks @aoberoi.
Jan 5, 2017
loads slack users into robot.brain. (#381) thanks @NKMR6194!
fixes various typos and inaccuracies in the docs (#383, #378, #376).
Nov 5, 2016
Fixed a surprisingly wide range of bugs whereby we incorrectly formatted incoming messages that tagged
channels or users. Now if someone says “@foobar”, your bot will here “@foobar”, just as you’d expect.
So, it turns out you can’t have both an event handler in a base class called topic and a setter method
in a derived class called topic. Who knew? Stupid dynamically typed languages.
v4.2.1 was retconned by the recently updated documentation. The retcon has been retconned.
Oct 12, 2016
Emergency bugfix because typos.
Oct 12, 2016
And now we have an even easier way of watching for message reactions
Sep 21, 2016
Somewhere out there, someone has been pining to handle message reactions. If that someone is you, this release lets you do that. Preprare to receive new ReactionMessage messages when reactions are added or removed from messages! To the rest of you: Carry on.
Sep 14, 2016
Sometimes you could send a message to an @username or a #channelname, but most of the time you couldn’t. We have found the problem, and politely asked it to leave.
Sep 12, 2016
Oh, so it turns out that the solution to using Slack’s message formatting was incorrectly conceived. Fixed.
Sep 12, 2016
So, you know how Hubot would crash when you tried to set the topic in a private channel? Yeah, me too. Fixed. (#350)
As it happens, we were taking on some of the message formatting work that the Slack servers can do on our behalf. Fixed. (#236, #356)
robot.messageRoom now accepts room names, not just IDs. Because sometimes all you have is a name. (#346)
Treely ruly ignore all self-generated messages, for realz this time.
Send all messages with as_user=true by default now.
Aug 3, 2016
v4 shipped with this amazing feature whereby we would silently destroy any non-string fields in a message object before sending it out. Y’all loved that feature so much, we just had to build on it. Now we silently destroy you entire message object before sending it out. J/K, that was actually a bug, and we fixed it.
Jul 19, 2016
Usernames with - and . no longer borked
You could craft a bot that would crash Hubot by simply having it send a message. Wow! That got fixed.
Jul 15, 2016
Now uses the latest version of node-slack-sdk (v3.4.1 as of this writing), inheriting all the improvements therein.
Better (and automatically enabled) reconnect logic. As in, it actually reconnects automatically at all.
Now you can upload files!
Significantly improved handling of messages with attachments, which is to say, we can deliver them.
Message formatting of links, usernames and channel names is now working far better than it ever did, which is damning with faint praise, but hey.
Long messages are now left for Slack to handle, bless their hearts.
Slack usernames with . and - are now treated with the respect and dignity due to all usernames.
Messages from bots are no longer filtered out, which is both cool and potentially terrifying, but we should never have silenced the robots in the first place.
Remember how if you tried to hack on this adapter and used npm link to plug that into a live bot? And how that didn’t work? Yeah? Well now it does. Stupid instanceof.
Total refactoring of the functionality, exposing a slightly different interface. So watch out for that.
You can now access the underlying Slack client directly, for when you really need low-level functionality therein.