Code on GitHub Slack Platform Home



Apr 18, 2019

  • Change eventemitter3 import for compatibility when TypeScript is configured without esModuleInterop (#760) - thanks @aoberoi


Apr 18, 2019

  • Fixes a typo in the README that accidentally mentioned @slack/web-api (#768) - thanks @the6thm0nth.
  • Change eventemitter3 import for compatibility when TypeScript is configured without esModuleInterop (#760) - thanks @aoberoi


Apr 18, 2019

  • Adds a README to the package distribution (#776) - thanks @aoberoi.


Mar 28, 2019

This release is meant to help users migrate to the smaller, lighter, independent packages. If you’d just like to test the compatibility of your app with the latest breaking changes, you can simply update the from a previous version of this package to this version. If everything works, you’re ready to change your code to depend on the independent packages instead.

For each of the follow classes, these packages should be used directly.

Class name Command to install
WebClient npm install @slack/web-api
RTMClient npm install @slack/rtm-api
IncomingWebhook npm install @slack/webhook

See the migration guide for more details.


Mar 28, 2019

New features

  • Brand new, independent, and lighter weight package

Breaking changes

  • Supports Node v8.9.0 and higher
  • No longer supports a callbacks for named Web API methods, or the RTMClient.sendMessage() method.
  • Removed the raw_message event in favor of the slack_event event.
  • agent option has been simplified
  • Some ErrorCode constants have changed.
  • Support Logger objects without a logger function.

See the migration guide for details.

Mar 28, 2019

New features

  • Brand new, independent, and lighter weight package
  • WebClient.paginate() method: call cursor-paginated Web API methods using an async iterator 🎉

Breaking changes

  • Supports Node v8.9.0 and higher
  • No longer supports a callbacks for named Web API methods, or the WebClient.apiCall() method.
  • The scopes, acceptedScopes, and retryAfter properties of a Web API call result have moved into the response_metadata.
  • Removed previously deprecated methods
  • Removed deprecated token rotation
  • Renamed retry policies to more intuitive names
  • agent option has been simplified
  • Some ErrorCode constants have changed.
  • Support Logger objects without a logger function.

See the migration guide for details.


Mar 28, 2019

New features

  • Brand new, independent, and lighter weight package

Breaking changes

  • Supports Node v8.9.0 and higher
  • No longer supports a callback parameter for IncomingWebhook.send()
  • agent option has been simplified
  • Some ErrorCode constants have changed.

See the migration guide for details.

Node Slack SDK v5.0.0

Mar 28, 2019

This meta-release marks the beginning of a new organizational structure for the code related to each of Slack’s official Node.js packages.

Major version releases

The following packages have changes listed in their release notes:

See the migration guide for information about how to update your app from a previous version.

No new release

Mar 28, 2019

  • Adds a timing safe comparison to guard from timing attacks. Thanks @episod billdybas (#77)


Mar 28, 2019

  • Exports a new function verifyRequestSignature({ signingSecret, requestSignature, requestTimestamp, body }). This function can be used to verify the authenticity of a request even without using the requestListener or expressMiddleware offered by this package. It’s a useful utility when your application doesn’t need the adapter (EventEmitter), but you don’t want to reinvent the signature check. thanks @ianwsperber (#71)


Mar 28, 2019

This releases refactors a large portion of the adapter, adds support for request signing, and fixes a lot of bugs:

  • The export name is changed from createSlackEventAdapter to createEventAdapter (#37)
  • Adds request signing support, discontinuing support for verification tokens. This change requires developers to now pass in a Signing Secret in to the adapter rather than a verification token. (#57)
  • Decouples the adapter from express, which included adding parsing within the adapter, meaning developers no longer need to use middleware to parse the request (using something like the body-parser package)
  • Documentation improvements (#41, #42, #44, #45, #46)


Mar 28, 2019

This release addresses a number of bug fixes since the initial release.

  • When using the waitForResponse adapter option, error events sometimes did not emit the respond() callback function (#18)
  • Added a adapter.stop() method which is close the built-in HTTP server if one was started, and return a Promise which resolves after all connections have ended. (#27)
  • Errors thrown inside a handler will now result in a success response to the request by default (can be overridden by using waitForResponse and passing an error to the respond() callback) (#21, #25)
  • Debugging support using the DEBUG environment variable. (#19, #22)
  • More tests and documentation (#23, #26)


Mar 28, 2019

  • Supports Firebase Cloud Functions and other serverless cloud providers by inspecting req.rawBody when the body appears to already be parsed. thanks @pichsenmeister! (#90)

  • Improves the example app greet-and-react. It can now persist tokens using node-localstorage, so that you don’t need to install the app each time its restarted (#84). Also, a bug in the arguments for chat.postMessage() was fixed (#83). thanks @ErwinLengkeek!


Mar 28, 2019

  • Adds Block Kit support (#85)
  • Improves express all interactions by using body parser and removing verification check (#79 - thanks @ErwinLengkeek)


Mar 28, 2019

  • Adds a timing safe comparison to guard from timing attacks. Thanks @episod billdybas (#71)


Mar 28, 2019

This release adds support for request signing, decouples the adapter from express, and fixes bugs:

  • Adds support for the more secure request signing over legacy verification tokens. This change requires developers to now pass in a Signing Secret to the adapter rather than a verification token. (#57)
  • Refactored the adapter to decouple express, which included adding parsing within the adapter, meaning developers no longer need to use middleware to parse the request (such as the body-parser package). (#31)
  • A bug preventing message actions from working properly was fixed. (#56 - thanks @mcolyer 🎉)


Mar 28, 2019

This release adds support for new message actions. Your users can now interact with you app through dedicated actions per message.


Mar 28, 2019

  • New Feature Support for dynamic menu options inside dialogs and the within constraint! #36
  • Fixed bugs in dialog submission action support (#25) and menu options requests (#23) #28
  • README has been rewritten with numerous clarifications and improvements (#27, #29) #39
  • Example app express-all-interactions added #39
  • Reference documentation added (#11) #39
  • Test coverage exceeds 85% (#9)
  • SlackMessageAdapter’s dispatch() method is now always async (#33)
  • Added vscode workspace settings (#35)


Mar 28, 2019

  • Added support for dialogs


Mar 28, 2019

Our first real distributable release! 🎉

The @slack/interactive-messages module makes it quick and simple for your app to respond to buttons and menus inside Slack. Find out all about the features in the README.

  • Fixes an issue with regex-based action matching (#1) - thanks @hwz.


Mar 28, 2019

Fixes matching with actionId and blockId (#90)


@slack/client v4.12.0

Mar 19, 2019

  • Adds support for scheduled messages (#743)
  • Changes p-cancelable version to ~1.0.0 to fix type errors (#743)

@slack/client v4.11.0

Mar 8, 2019

  • Deprecates auto-pagination. (#721) - thanks @aoberoi
  • Changes log level of failed requests from DEBUG to WARN. (#718) - thanks @aoberoi
  • Fixes bug where http_proxy and https_proxy environment variables unexpectedly interact with WebClient and RTMClient configuration. (#672) - thanks @aoberoi
  • Fixes tests for IncomingWebhook agent option. (#719) - thanks @aoberoi
  • Updates dependencies. (#725) - thanks @aoberoi

@slack/client v4.9.0

Feb 27, 2019

  • Adds support for Block Kit (#688) - thanks @shanedewael
  • Adds deprecation warnings for callback and refresh token use (#698) - thanks @aoberoi

@slack/client v4.10.0

Feb 27, 2019

  • Adds deprecation warnings for usage of a logging function. Use a Logger object instead. (#703) - thanks @aoberoi

@slack/client v4.8.0

Oct 3, 2018

New Features

  • The IncomingWebhook constructor now has an agent option. It works exactly like the agent option from WebClient. It’s very useful for setting a proxy for requests using packages like https-proxy-agent or tunnel. Thanks @romanbalayan (#640)

Documentation improvements

  • Fixes the TypeScript lib configuration instructions for versions 3.1 and above. Thanks @melisdogan (#650).

@slack/client v4.7.0

Oct 2, 2018

New Features

  • You can now specify HTTP headers you’d like to include on all requests from WebClient. Just pass a headers option to the constructor. Thanks @ethan0920 (#629).

Bug fixes

  • Fixes a bug when specifying the agent option on WebClient using an agent from https-proxy-agent. Thanks @aoberoi (#645).

Documentation improvements

  • Fixes pagination sample code. Thanks @smaeda-ks (#641).

  • Adds missing WebClient instance in the Getting Started guide. Thanks @jharrilim (#637).

  • Adds documentation for using the package within a TypeScript project - see Thanks @aoberoi (#644).

  • Clarifies usage of Web API methods with no required options using callbacks. Thanks @aoberoi (#631).

@slack/client v3.16.1-sec.2

Sep 10, 2018

This version is a special pre-release that is specifically meant to address a security issue. See #621 for details

  • Upgrades the https-proxy-agent dependency (thanks @mistydemeo) #621

@slack/client v4.6.0

Aug 30, 2018

New Features

  • Adds support for short lived tokens and automatic token refresh (#617) - thanks @aoberoi and @shanedewael

@slack/client v4.5.0

Aug 25, 2018

New Features

  • RTMClient.start() now returns a Promise that resolves with the data emitted with the authenticated event - thanks @clavin (#611)
  • Adds the state property to the type definition of Dialog - thanks @DominikPalo (#619)

Bug Fixes

  • Fixes an issue where RTMClient did not emit the "disconnected" event when it fails to connect - thanks @clavin (#610)


  • Replaces the got dependency with axios - thanks @aoberoi (#620)

@slack/client v4.4.0

Aug 11, 2018

New Features

  • Workspace apps can now call methods on behalf of users for methods which require the X-Slack-User header. When calling one of these methods, specify the user ID in the new on_behalf_of option. - thanks @aoberoi (#609)
  • The new rejectRateLimitedCalls option in the WebClient constructor allows you to customize how you’d like to handle rate limiting. If you set it to true, the WebClient will not attempt to retry an API call for you, and will instead return an error with a code property set to the value ErrorCode.RateLimitedError. - thanks @aoberoi (#599)
  • Automatic pagination for cursor-based pagination enabled methods: It’s always recommended to perform pagination using the cursor and limit options directly, but if you don’t pass either when calling a method, the WebClient will automatically iterate through all the pages and returned a merged result. - thanks @aoberoi (#596)
  • The WebClient will warn when calling deprecated methods (files.comments.add and files.comments.edit) - thanks @aoberoi (#604)

Bug fixes and more

  • Fixes the crash when RTMClient#disconnect() was called from the connecting state - thanks @aoberoi (#603)
  • Fixes an issue where uploading a file without a token fails in WebClient with an unrelated error - thanks @aoberoi (#587)
  • Resolves an issue where your app requires a newer version of @types/node than this package specifies - thanks @aoberoi (#605)
  • Fixes the Dialog.selected_options type definition - thanks @harveyr (#588)
  • Adds information, fixes syntax issues, and corrects typos in the documentation - thanks @chris-peterson, @jd0920 (#584, #600, #601)
  • Tests against node v10 in Travis - thanks @aoberoi (#606)

@slack/client v3.16.1-sec

Jul 4, 2018

This version is a special pre-release that is specifically meant to address a security issue. See #547 for details

  • Drops support for node < v4 and updates request dep to solve for CVE-2018-3728. (thanks @aoberoi) #590
  • Removes deprecated facet users.setActive (thanks @DominikPalo) #464

@slack/client v4.3.1

Jun 7, 2018

  • Fixes an issue where RTMClient would crash after its connection was interrupted because upon reconnection the connection monitoring code would improperly handle new messages as pongs. (#578) - thanks @aoberoi.

@slack/client v4.3.0

Jun 5, 2018

  • Adds new permissions method named aliases to WebClient: apps.permissions.resources.list and apps.permissions.scopes.list (#568) - thanks @ggruiz
  • Fixes an issue where an RTMClient instance throws errors while trying to reconnect after a connection interuption (#560) - thanks @aoberoi
  • Fixes issue where rate-limit handling in WebClient was not triggering, and adds tests (#570, #573) - thanks @ggruiz
  • Adds missing IncomingWebhookResult type to exports (#562) - thanks @mledom
  • Changes options argument of RTMClient#start() to be optional as it was intended (#567) - thanks @christophehurpeau

@slack/client v4.2.2

May 12, 2018

  • Adds the notify_on_cancel field to the Dialog type definition (#541) - thanks @DominikPalo
  • Adds AttachmentAction type definition to express the type of the action property of MessageAttachment. (#543, #551) - thanks @brianeletype, @DominikPalo
  • Adds the SelectOption type defintion and related properties to the Dialog type definition. (#549) - thanks @DominikPalo
  • Fixes the missing scopes property in WebClient responses. (#554) - thanks @aoberoi
  • Fixes an issue in RTMClient where websocket errors in the connecting:authenticated state would cause the program to crash. (#555) thanks @aoberoi
  • Fixes an issue where KeepAlive would monitor the RTM connection while the websocket was not ready after a reconnection. (#555) thanks @aoberoi
  • Uses the "files" key in package.json to implement a whitelist of files that are packed for npm publish.

@slack/client v4.2.0

Apr 26, 2018

  • Allows mrkdwn_in and callback_id fields in message attachments for formatting on attachment fields (#528) - thanks @DominikPalo
  • Fixes optionality of validate argument for channels.join method (#530) - thanks @DominikPalo
  • Adds the users.conversations method (#532) - thanks @DominikPalo
  • Fixes overwriting of default parameters after send() call (#535) - thanks @franckbrignoli
  • Fixes and adds logging for unexpected websocket close in StateMachine (#537) - thanks @shanedewael

@slack/client v4.1.0

Mar 23, 2018

  • IncomingWebhook.send() works with both callbacks and Promises (#508) - thanks @clavin
  • Completes type defintions for all WebClient method arguments (#512) - thanks @clavin
  • Allows files.upload to work with Buffers (in addition to ReadableStreams) (#500) - thanks @KharitonOff
  • Allows any WebClient methods argument to work with binary types (#519) - thanks @clavin and @aoberoi
  • Fails when WebClient.apiCall() options don’t look like the right type (#522) - thanks @aoberoi
  • Fixes TypeScript compile errors in node >=6 <=8 related to callbackify (#518) - thanks @aoberoi
  • Fixes mismatched parenthesis in RTMClient usage example documentation (#511) - thanks @parthsr
  • Adds examples directory back to the repository (#520) - thanks @aoberoi

@slack/client v4.0.1

Mar 15, 2018

  • Fixes crash in projects where "name" or "version" were not defined in the package.json file (#478) - thanks @wilhelmklopp @clavin @aoberoi
  • Fixes IncomingWebhook.send() to parse the response as text instead of JSON (#477) - thanks @aoberoi
  • Allows IncomingWebhook to be initialized without defaults (#479) - thanks @aoberoi
  • Allows WebClient to be initialized without a token in TypeScript (#482) - thanks @aoberoi
  • Allows unspecificed arguments to be used with WebClient method aliases and apiCall() (#484) - thanks @clavin
  • Exports method argument types as top level exports in the type declarations (#483) - thanks @aoberoi
  • Fixes inaccurate property type for as_user in ChatPostMessageArguments (#475) - thanks @harveyr
  • Improves the OAuthAccessArguments and OAuthTokenArguments types (#481) - thanks @aoberoi

@slack/client v4.0.0

Mar 8, 2018

Breaking Changes If you are upgrading from a previous version, follow our comprehensive Migration Guide to learn how to transport your app into the new, shiny, future!


  • New apiCall(method, options) public API for making generic Web API calls.
  • Improved logging
  • Improved error management
  • Configuration for custom http Agent
  • Custom TLS configuration
  • Tons of performance improvements


  • Improved message queuing - No need to wait for client to connect before sending a message.
  • Lifecycle events driven by an all-new state machine
  • New keep-alive algorithm
  • Improved logging
  • Improved error management
  • Configuration for custom http Agent
  • Custom TLS configuration
  • Tons of performance improvements


  • TypeScript declarations available for all APIs :tada:
  • Updates all dependencies to their latest version
  • Drops support for node versions less than 6.0

@slack/client v3.16.0

Feb 2, 2018

  • Adds several missing RTM events into RTM.EVENTS export (thanks @clavin) #457 #448
  • Adds users.lookupByEmail to WebClient (thanks @DominikPalo) #434
  • Fixes stale values kept across requests when using requestOptionsTransport (thanks @bertrandom) #450
  • Adds documentation for presence subscription over RTM (thanks @aoberoi) #454
  • Fixes typos in documentation (thanks @konklone, @marclemagne, @aoberoi) #444, #446, #461, #466

As always, just run npm install @slack/client to get the latest version. Stay tuned for v4, coming soon!

@slack/client v3.15.0

Dec 22, 2017

Deprecates data store APIs See the migration document for more details:

  • Major docs content rewrite (thanks @aoberoi) #428, #239, #305, #310, #364, #366, #413, #411, #423
  • Adds chat.getPermalink Web API method (thanks @DominikPalo) #431
  • Adds opts.user argument to users.identity Web API method (thanks @bertrandom) #432
  • Fixes bug with not passing optional arguments for (thanks @aoberoi) #441
  • Fixes dead link to node-retry (thanks @pine) #433
  • Adds eaiser support for Buffer input in files.upload Web API method (thanks @aoeberoi) #307
  • Refactors logger usage across the package (thanks @aoberoi) #334
  • General JSDoc, require(), dead code, clean up

@slack/client 3.14.2

Nov 15, 2017

Adds a new transport that lets you define options on the request module, expose it from the library

@slack/client v3.14.0

Sep 28, 2017

Adds support for Dialogs

@slack/client v3.13.0

Sep 12, 2017

  • Adds support for the conversations.* family of Web API methods. See - thanks @aoberoi
  • Adds locale awareness options to various Web API methods. - thanks @aoberoi
  • Fixes an argument encoding issue with calling users.profile.set (#360) - thanks @aoberoi
  • Removes an inaccurate comment (#394) - thanks @AriLFrankel

@slack/client v3.12.0

Aug 24, 2017

  • Adds MPIM data to the DataStore as Groups (#389) - thanks @aoberoi and @bradslavin

@slack/client v3.11.0

Aug 11, 2017

  • Added chat.postEphemeral Web API endpoint to the WebClient (#384) - thanks @shanedewael
  • Added linkNames option to IncomingWebhook (#342) - thanks @mozamimy
  • Ignored package-lock.json for use with npm 5 (#385) - thanks @aoberoi

@slack/client v3.10.0

May 26, 2017

  • RTM client can now be initialized to use rtm.connect instead of rtm.start with option useConnect: true (#344) - thanks @CharlieHess
  • Adds the new Web API method: rtm.connect (#344) - thanks @CharlieHess
  • Adds support for the chat.unfurl option userAuthRequired (#336) - thanks @againer
  • Adds the new Web API method: im.replies (#339) - thanks @moinism
  • Adds support for presence subscriptions (#350) - thanks @CharlieHess
  • Improve reliability of RTM reconnects (#349) - thanks @CharlieHess
  • Fixes issue with RTM reconnect not using the same options as the initial connect (#347) - thanks @CharlieHess
  • Fixes out of order messages in client’s request queue (#346) - thanks @chapmanc
  • Fixes bug in MemoryDataStore when seaching for a user by username that does not exist in the team (#332) - thanks @frejos
  • Fixes example code to work as described in the comments (#337) - thanks @lukeb-uk

@slack/client v3.9.0

Mar 15, 2017

Adds the new Web API method: chat.unfurl. Check out App Unfurls!

@slack/client v3.8.1

Dec 21, 2016

  • Well, that didn’t go so well, now did it? This release fixes #303

@slack/client v3.8.0

Dec 20, 2016

  • In the past, you had to contort your callbacks to any Web API endpoint, because not all errors were propogated through the error parameter. Well, good news: We are no longer forcing you to sit uncomfortably. Server errors that result in a 200 OK + {ok: false, error:"mumble_mumble"} result are now passed through the error parameter so you can simplify your callback logic. If you want.
  • Did you know that Slack will pass information on the scopes required to call a particular Web API endpoint? We do! And now you can get your hands on that very same information in your Web API callbacks too. Will help you debug and identify failed calls due to scoping issues.
  • The Web API functionality has been expanded to include users.profile.[get|set]. Mind that you can only update your own profile :wink:
  • Did you notice that there were errors in the documentation? There were (and almost certainly still are). Several concerned readers wrote in with comments and fixes, all of which have been addressed.
  • Last but not least, we have added functionality to track basic usage of this SDK. All calls to the Web API and the RTM API are made with a user agent string that identifies the version of this SDK in use, as well as system information on node version and operating system. More better, you can add to this treasure trove of analytics—we’ve added a function in helpers.js that you can call from your code to let us know more about your framework or bot. In the future, we will be adding this same information to a wide range of SDKs that access the Slack Platform, and releasing usage data publicly so we can all see who is winning this popularity contest.

@slack/client v3.6.1

Dec 5, 2016

  • You can now use arbitrary images for your bot’s avatar with incoming webhooks. Because your app wasn’t creepy enough before.
  • Previously, we had no support for HTTPS proxies. This unfortunate situation has been rectified, and now your bot can live behind the nastiest sorts of firewalls.

@slack/client v3.7.0

Dec 5, 2016

  • Don’t know a user’s ID? Want to find a DM with that user anyway? Now you can retrieve a DM from the memory store by username. Awesome.
  • API endpoints of the form a.b.c required a bit of rather tortured code to call. We have removed the torture requirements, and you can now call them as you might expect.

@slack/client v3.6.0

Sep 6, 2016

  • Adds support for Incoming Webhooks
  • Fixes a bug around User IDs

@slack/client v3.5.4

Aug 1, 2016

  • Fixes a bug whereby events with fields not recognized cause a crash. Wow.
  • Updated some logic around what user ids look like.

@slack/client v3.5.3

Jul 25, 2016

  • Fixes a bug in the package.json published by 3.5.2.

@slack/client v3.5.2

Jul 25, 2016

  • Updating the links in package.json so that you don’t need SSL credentials to pull down the github repo.

@slack/client v3.5.1

Jul 6, 2016

  • Updates lodash from ^3.10.1 to ^4.13.1. And means it.
  • Minor tweaks to existing documentation and example code to make them consistent with each other. Because hobgoblins are friendly and love you.

@slack/client v3.5.0

Jun 15, 2016

@slack/client v3.4.0

Jun 1, 2016

@slack/client v3.3.0

May 25, 2016

  • Creates a memory data store by default if an undefined, but not false null value is passed for opts.dataStore
  • Aliases the retry policies to be human readable

@slack/client v3.2.1

May 25, 2016

  • Updates the RTM client to emit an UNABLE_TO_RTM_START event when all reconnection attempts are exhausted, rather than throwing an error
  • Suppresses some spurious log lines when tests are run

@slack/client v3.2.0

May 24, 2016

  • Updates the _makeAPICall method to make the optional API args param optional to pass in, so the third param to this function can be either an opts object or a cb. This is to allow us to add optional arguments to API methods without it being a breaking change.
  • Fixes the retry-after header name and adds a numeric fallback if the retry-after value can’t be parsed, thanks @foiseworth!
  • Adds new API methods to various facets
  • Adds optional arguments to:
    • files.comments.add: adds a channel param, for the channel id of the location to associate with the new comment
    • chat.delete: adds a boolean as_user param, to support deleting a message as the authed user

@slack/client v3.1.1

May 19, 2016

  • Removes the DM facet
  • Updates the aliasing approach for IM / DM to correctly alias DM to the IM Facet

@slack/client v3.1.0

May 2, 2016

  • Updates the lib/clients/web/facets/index.js to reference the new facets added in the 3.0.0 update, thanks @ekmartin
  • Adds in a reminders client facet
  • MemoryDataStore.getUserByEmail now looks at the correct part of the user object for the email, thanks @SimantovYousoufov
  • Adds docs and examples for the data store and sending DMs, thanks @PaulAsjes!

@slack/client v3.0.0

May 2, 2016

@slack/client v2.3.0

Mar 29, 2016

  • Caches messages on the RTM client, to improve handling in cases where message send fails
  • Removes the handler for the websocket level ping handler (not the RTM API level ping handler)
  • Refactors the logic for handling ws send responses to a single function

@slack/client v2.2.1

Mar 13, 2016

  • Adds an im alias for the dm facet to the web client, to match the API endpoint naming

@slack/client v2.2.0

Mar 12, 2016

  • Adds promise support to the RTM client send and sendMessage methods
  • Fixes the way message response callbacks work, so that the success case is only called when the websocket receives a message with a reply_to matching the id of the dispatched message, instead of when the ws instance signals message send success
  • Fixes the way getAPICallArgs works, to correctly pull data out of the opts arg

@slack/client v2.0.6

Mar 1, 2016

  • Fixes a crash introduce in 2.0.5 if you try and instantiate a WebClient without passing in any options

@slack/client v2.0.5

Mar 1, 2016

  • Updates the way that API requests are throttled to:
    • avoid a condition where the request queue callback could be called multiple times, causing a crash
    • refactor the logic in _callTransport into multiple functions to make it easier to follow
  • Updates dev dependencies:
    • eslint
    • nock
    • eslint-config-airbnb

NOTE: This release contained a bad bag that would cause a crash if you created a WebClient without passing in any options. It’s been unpublished from NPM and should not be used from here. Please use the 2.0.6 release instead.

@slack/client v2.0.4

Feb 28, 2016

  • Passes through the logLevel param to the getLogger function

@slack/client v2.0.3

Feb 28, 2016

  • The RTM AUTHENTICATED event now also emits the rtm.start payload
  • Fixes the way that loggers are instantiated and used, so that the JSDoc for opts.logger is correct

@slack/client v2.0.2

Feb 16, 2016

  • Adds coveralls to the repo, to track code coverage and display a badge in the README
  • Updates the disconnect function on the RTM client to support both an error message and a code or reason for the disconnect, e.g. account_inactive
  • Updates the message-handlers for team_xxx events to set the team back to the data-store once changes are made

@slack/client v2.0.1

Feb 13, 2016

  • Updates to ws@1.0.1
  • Fixes a bad variable name in example-web-client

@slack/client v2.0.0

Feb 13, 2016

Refactors the library to javascript, adds a lot of tests and restructures it to improve maintainability and extend functionality.

  • Creates two separate clients:
    • RTM; manages connection to Slack’s RTM API, including reconnects
    • Web; provideas a callback interface to all of Slack’s Web API endpoints
  • Moves the memory data store implementation off the clients and into its own class
  • Uncouples the model objects from the clients; model functions to send messages to channels etc are now accessed via the web and RTM client
  • Moves the transport layer (websockets and HTTP) to a pluggable model, so that complex transports (through request proxies etc) can be handled
  • Adds test coverage on most core functionality in the library

For previous releases, see the legacy changelog.

Subscribe via RSS