Aug 11, 2023
For compatibility with node v19.5 and newer (including node v20+), it is recommended to update to this version as the WebSocket API changed slightly. In certain websocket failure modes, versions of rtm-api
prior to 6.1.1 using node v19.5 or newer may see Cannot read properties of null (reading 'message')
failures (see #1641 for an example).
Aug 2, 2023
files.uploadV2
to ensure complete file is uploaded by @srajiang in https://github.com/slackapi/node-slack-sdk/pull/1616team.accessLogs
by @seratch in https://github.com/slackapi/node-slack-sdk/pull/1625stars.*
API methods as deprecated by @seratch in https://github.com/slackapi/node-slack-sdk/pull/1632@slack/types
by @ClementValot in https://github.com/slackapi/node-slack-sdk/pull/1559Full Changelog: https://github.com/slackapi/node-slack-sdk/compare/@slack/web-api@6.8.1…@slack/web-api@6.9.0
Apr 13, 2023
Full Changelog: https://github.com/slackapi/node-slack-sdk/compare/@slack/oauth@2.6.0…@slack/oauth@2.6.1
Feb 22, 2023
Full Changelog: https://github.com/slackapi/node-slack-sdk/compare/@slack/rtm-api@6.0.0…@slack/rtm-api@6.1.0
Feb 1, 2023
include_categories
to emoji.list
API arguments by @seratch in https://github.com/slackapi/node-slack-sdk/pull/1581Readable
instead of ReadStream
in uploadV2
by @redneb in https://github.com/slackapi/node-slack-sdk/pull/1577 (fixes https://github.com/slackapi/node-slack-sdk/issues/1586)admin.conversations.bulk{Archive|Delete|Move}
API method support by @seratch in https://github.com/slackapi/node-slack-sdk/issues/1566test
should be optional) by @Cattttttttt in https://github.com/slackapi/node-slack-sdk/pull/1562Jan 4, 2023
jsonwebtoken
dependency for critical level security issues by @seratch in https://github.com/slackapi/node-slack-sdk/pull/1575auth.revoke
argument type definition by @Cattttttttt in https://github.com/slackapi/node-slack-sdk/pull/1562admin.conversations.bulk{Archive|Delete|Move}
API method, by @hello-ashleyintech in https://github.com/slackapi/node-slack-sdk/pull/1572files.uploadV2
by @srajiang in https://github.com/slackapi/node-slack-sdk/pull/1548Full Changelog: https://github.com/slackapi/node-slack-sdk/compare/@slack/web-api@6.8.0…@slack/oauth@2.6.0
Nov 8, 2022
channel
and ts
or unfurl_id
and source
properties to be specified in pairs by @filmaj in https://github.com/slackapi/node-slack-sdk/pull/1551Full Changelog: https://github.com/slackapi/node-slack-sdk/compare/@slack/web-api@6.7.2…@slack/web-api@6.8.0
Nov 8, 2022
Full Changelog: https://github.com/slackapi/node-slack-sdk/compare/@slack/types@2.7.0…@slack/types@2.8.0
Oct 25, 2022
Sep 9, 2022
This release is a beta release and is not production ready. Full Changelog: https://github.com/slackapi/node-slack-sdk/compare/@slack/oauth@2.5.4…@slack/web-api@6.7.2-nextGen.1
Jul 8, 2022
See the full list of issues/pull requests of this release here.
Jul 8, 2022
handleInstallPath
throws an error when stateVerification
is false
(via #1507) - thanks @rockingskier !See the full list of issues/pull requests of this release here.
Jul 4, 2022
See the full list of issues/pull requests of this release here.
Jun 16, 2022
See the full list of issues/pull requests of this release here.
Jun 14, 2022
See the full list of issues/pull requests of this release here.
Jun 10, 2022
See the full list of issues/pull requests of this release here.
May 26, 2022
accessibility_label
field to Button interface - thanks @kpeters-cbsi !See the full list of issues/pull requests of this release here.
May 16, 2022
See the full list of issues/pull requests of this release here.
May 4, 2022
See the full list of issues/pull requests of this release here.
Mar 28, 2022
See the full list of issues/pull requests of this release here.
Mar 28, 2022
InstallProvider#handleInstallPath()
(via #1451) - thanks @seratch!See the full list of issues/pull requests of this release here.
Mar 25, 2022
beforeRedirection
, before/afterInstallation
, async success/failure) in InstallProvider
(via #1442) - thanks @seratch!FileInstallationStore
to behave more consistently (via #1437) - thanks @seratch!callbackOptions.success
param to be installOptions
(via #1429) - thanks @mwbrooks!See the full list of issues/pull requests of this release here.
Mar 3, 2022
callbackOptions.success
param to be installOptions
(via #1429) - thanks @mwbrooks!beforeRedirection
, before/afterInstallation
, async success/failure) in InstallProvider
(via #1442) - thanks @seratch!See the full list of issues/pull requests of this release here.
Feb 23, 2022
admin.users.unsupportedVersions.export
API support (via #1420) - thanks @seratch!Retry-After
raw response header value when throwing an error due to invalid Retry-After
header (via #1426) - thanks @filmaj!bookmarks.*
API methods (via #1427) - thanks @srajiang!See the full list of issues/pull requests of this release here.
Jan 20, 2022
admin.apps.requests.cancel
API method (via #1413) - thanks @seratch!files
and related properties and their types in conversations.replies
API responses (via #1405 and #1403) - thanks @seratch!conversations.list
API responses were missing their types (via #1398) - thanks @seratch!focus_on_load
property to the views.*
API responses (via #1386) - thanks @seratch!See the full list of issues/pull requests of this release here.
Jan 12, 2022
See the full list of issues/pull requests of this release here.
Jan 12, 2022
See the full list of issues/pull requests of this release here.
Dec 15, 2021
Dec 15, 2021
Dec 3, 2021
WorkflowStepView
fields - thanks @srajiang @filmaj @bkeung!Dec 1, 2021
See the full list of issues/pull requests of this release here.
Nov 8, 2021
team.*
APIs for rtm.start
migration - Thanks @seratch!admin.users.session.resetBulk
API support - Thanks @seratch!admin.conversations.{get|set|remove}CustomRetention
API - Thanks @seratch!oauth.v2.exchange
API method - Thanks @seratch!See the full list of issues/pull requests of this release here.
Oct 26, 2021
See the full list of issues/pull requests of this release here.
Oct 7, 2021
This release includes support for app manifests. The apps.manifest.*
endpoints can be used to create, delete, update, and copy your Slack apps with ease. New endpoints include:
apps.manifest.create
apps.manifest.delete
apps.manifest.export
apps.manifest.update
apps.manifest.validate
tooling.tokens.rotate
Added support for App Manifest Endpoints (#1355) - Thanks, @misscoded!
Sep 22, 2021
Aug 19, 2021
admin.users.invite
endpoint (#1297, #1298) - Thanks @stevengill!Aug 19, 2021
View
type for improved linting (#1276) - Thanks @alexjamesmalcolm!Option
into PlainTextOption
and MrkdwnOption
(#1270, #1268) - Thanks, @rr-codes!Aug 19, 2021
Jul 15, 2021
PinsAddArguments
and PinsRemoveArguments
interfaces (#1277) - Thanks, @rr-codes!timeout
customization (#1264) - Thanks, @misscoded!Jul 15, 2021
FileInstallationStore
(#1279) - Thanks, @misscoded!deleteInstallation
method off of InstallationStore
(#1272) - Thanks, @misscoded!Jun 8, 2021
#1226 Add type support for the time picker block element - Thanks, @raycharius! #1189 Fix misspelled words - Thanks, @seratch!
Jun 8, 2021
#1258 Update README + docs with deprecation notice - Thanks, @misscoded! #1194 Remove broken CI badges from READMEs - Thanks, @seratch!
Jun 8, 2021
#1258 Update README + docs with deprecation notice - Thanks, @misscoded! #1189 Fix misspelled words - Thanks, @seratch!
Jun 4, 2021
See the full list of issues/pull requests of this release here.
Jun 3, 2021
See the full list of issues/pull requests of this release here.
Jun 3, 2021
See the full list of issues/pull requests of this release here.
May 11, 2021
See the full list of issues/pull requests of this release here.
May 11, 2021
See the full list of issues/pull requests of this release here.
May 11, 2021
May 11, 2021
See the full list of issues/pull requests of this release here.
Mar 9, 2021
user_auth_blocks
property to chat.unfurl
(#1174) - Thanks @pichsenmeister!Mar 9, 2021
Mar 9, 2021
Jan 26, 2021
appToken
not being properly thrown (#1156, #1161) - thanks @stevengill, @g12iJan 26, 2021
@slack/oauth
failing when no bot scopes (only user scopes) are requested (#1158, #1163) - thanks @stevengill, @KhushrajRathodJan 12, 2021
Jan 12, 2021
Jan 12, 2021
Jan 12, 2021
@slack/socket-mode
package 🎉 ! This package is designed to support Socket Mode, which allows your app to receive events from Slack over a WebSocket connection. To learn more about Socket Mode, checkout the release blog post (#1096) - thanks @stevengillJan 12, 2021
Jan 12, 2021
fetchOrgInstallation
and storeOrgInstallation
methods from the InstallationStore
. See our migration guide for more details on how to support org wide app installations. (#1133, #1148) - thanks @stevengillJan 12, 2021
Jan 12, 2021
This package is now deprecated. Please consider migration over to Bolt for JavaScript. See our migration guide for more details.
Jan 12, 2021
This package is now deprecated. Please consider migration over to Bolt for JavaScript. See our migration guide for more details.
Jan 5, 2021
axios
dependency to fix security issue (#1140, #1141) - Thanks @mlarrazJan 5, 2021
auth.teams.list
api method (#1137, #1139) - Thanks @stevengill, @daveagilladmin.barriers.*
methods (#1126, #1127) - Thanks @misscodedJan 5, 2021
Dec 1, 2020
team_id
as an optional argument to various web-api methods and adding team_id
as an optional parameter to WebClientOptions
so it will be automatically passed along to any web-api calls being made. (#1046) - Thanks @stevengillViewsUpdateArguments
to accommodate external_id
and view_id
(#1002, #1116) - thanks @misscodedadmin.users.session.list
method (#1111) - thanks @stevengillNov 26, 2020
installationStore
, fetchOrgInstallation
and storeOrgInstallation
. It is recommended adding these methods to your custom installationStores
if you wish to support org wide installations. Checkout our docs to learn more!Oct 22, 2020
Added the following API method:
(#1093, #1098, #1099) - thanks @stevengill, @cjdenio & @mwbrooks
Oct 22, 2020
dispatch_action
property to input blocks (#1102) - Thanks @stevengilldispatch_action_config
property to PlainTextInput
(#1108, #1109) - Thanks @stevengillOct 22, 2020
user_id
to oauth v1 responses (#1103, #1105) - thanks @lasseschou and @stevengillSep 14, 2020
Sep 14, 2020
View
to include the new possible value for the type
property, workflow_step
(#1094, #1076) - thanks @misscoded, @selfcontainedView
: submit_disabled
and external_id
. (#1094) - thanks @misscodedAug 21, 2020
This release includes a minor addition to the Workflow Steps from Apps beta. 🎉
external_id
to View
interface (#1085) - Thanks, @misscoded!Aug 20, 2020
clientOptions
and authorizationUrl
as options that @slack/oauth
accepts. clientOptions
is passed along to @slack/web-api
. authorizationUrl
is used to override the authorization endpoint this library uses (default is https://slack.com/oauth/v2/authorize
(#1055, #1081) - Thanks @stevengillAug 17, 2020
This release includes additions to the Workflow Steps from Apps beta. 🎉
Updated @slack/types
dependency
Aug 17, 2020
This release includes additions to the Workflow Steps from Apps beta. 🎉
workflow_step
view typeAug 7, 2020
Aug 7, 2020
verifySignature
(#1069, #1070) - Thanks to first-time contributor @ramsgoli!Jul 20, 2020
admin.conversations.whitelist.*
methods (#1048, #1050) - Thanks, @kian2attari!paginate
return type to AsyncIterable
(#1040, #779) - Thanks, @clavin!Methods
superclass (#1036, #1042) - Thanks, @clavin!WebClient.ts
to methods.ts
(#1036) - Thanks, @clavin!Jul 20, 2020
This release is for the Workflow Steps from Apps beta. 🎉
Jun 5, 2020
default_to_current_conversation
field to conversations_select
and multi_conversations_select
(#1029, #1030) - Thanks @seratchstyle
field to Confirm
interface (#1022, #1023) - Thanks @seratchJun 5, 2020
types/ws
dependency to fix failing tests (#1024, #1034) - Thanks @stevengillMay 20, 2020
admin.usergroups.*
APIs for Grid org admins (https://github.com/slackapi/node-slack-sdk/pull/1015) - Thanks @seratchMay 20, 2020
enterprise
field not being populated in installation
object (https://github.com/slackapi/node-slack-sdk/pull/1020) - Thanks @stevengillMay 20, 2020
yargs
dependency due to a security issue (https://github.com/slackapi/node-slack-sdk/pull/1008) - Thanks @shlasouskiApr 29, 2020
Apr 29, 2020
checkboxes
block element in input block for TypeScript users. (#993, #994) - thanks @yoichiroradio_buttons
block element in input block for TypeScript users (#979, #980) - thanks @seratchApr 29, 2020
Apr 30, 2020
This is the first release of our new @slack/oauth package! Slack apps that are installed in multiple workspaces, like in the App Directory or in an Enterprise Grid, will need to implement OAuth and store information about each of those installations.
Make sure to checkout the docs and our OAuth Express example app to learn more!
Issue: #950 PR: #963
Thanks @stevengill, @aoberoi, @seratch and @shaydewael!
Apr 29, 2020
.shortcut
method to support global shortcuts (#984, #985) - thanks @stevengillMar 18, 2020
conversations_select
and conversations_multi_select
(#976) - thanks @shaydewaelMrkdwnElement
to text
on Option
- thanks @tteltrabMar 3, 2020
axios
dependency. (#955, #959) - Thanks @seratchMar 3, 2020
axios
dependency. (#955, #959) - Thanks @seratchMar 3, 2020
Mar 3, 2020
viewSubmission
callbackId constraint error (#910, #947) - Thanks @pichsenmeisterMar 3, 2020
types
field to package.json
(#918) - Thanks @G-RathJan 15, 2020
admin.*
APIs (#942). Thanks @stevengill! These include:
admin.apps.approved.list
admin.apps.restricted.list
admin.conversations.setTeams
admin.teams.create
admin.teams.list
admin.teams.settings.info
admin.teams.settings.setDefaultChannels
admin.teams.settings.setDescription
admin.teams.settings.setDiscoverability
admin.teams.settings.setIcon
admin.teams.settings.setName
admin.users.list
admin.users.setExpiration
Logger
given to WebClient
being destructively modified bug (#916). Thanks @seratchJan 15, 2020
payload
to debug when no handler matches (#928). Thanks @davidalpert!Jan 15, 2020
Nov 23, 2019
admin.inviteRequests.*
APIs (#907). - thanks @seratch! These include:
launch.json
for vscode debugging of tests (#913) - thanks @stevengillNov 23, 2019
UserElement
type as it is not available publicly. (#905/#912) - thanks @stevengilltitle
optional and support home
type for views
. (#902) - thanks @ahayworthNov 12, 2019
oauth.v2.access
method to WebClient
to support v2 OAuth flow (#903) - thanks @seratchNov 12, 2019
.viewSubmission()
and .viewClosed()
methods to the adapter to handle events from Modals (#904) - thanks @aoberoiOct 31, 2019
Adds Admin APIs v1 #897 - Thanks @seratch 🎉
Oct 23, 2019
views.publish
Web API method, and type definitions. (#894) - thanks @shanedewaelOct 9, 2019
Re-add getLogger()
to the logger interface - #887
Oct 9, 2019
Reverts getLevel()
on logger interface because that’s a semver major change. Includes changes from #884 and #885
Oct 7, 2019
views.update
(#877) - thanks @seratchOct 7, 2019
callback_id
argument for views.open
(#879) - thanks @PerStirpesSep 25, 2019
HTTPError
status code in error message. #850 (thanks @aoberoi)Sep 25, 2019
channels.list
arguments exclude_archived
and exclude_members
optional. #865 (thanks @mottox2)Sep 25, 2019
Sep 25, 2019
Sep 25, 2019
getLevel()
method to the Logger
interface, and the ConsoleLogger
implementation #792 (thanks @seratch)Aug 8, 2019
@slack/events-api
.rawBody
field of the request.Jul 26, 2019
Jul 26, 2019
Jul 26, 2019
Jul 26, 2019
@slack/interactive-messages
to TypeScript (#799) - thanks @clavin.
Jul 26, 2019
@slack/events-api
to TypeScript (#799) - thanks @clavin.
Jul 26, 2019
Apr 18, 2019
esModuleInterop
(#760) - thanks @aoberoiApr 18, 2019
@slack/web-api
(#768) - thanks @the6thm0nth.esModuleInterop
(#760) - thanks @aoberoiApr 18, 2019
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.
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.
@slack/events-api@v5.0.0
: Moved from the original repository.@slack/interactive-messages@v5.0.0
: Moved from the original repository.Mar 28, 2019
IncomingWebhook.send()
agent
option has been simplifiedErrorCode
constants have changed.See the migration guide for details.
Mar 28, 2019
WebClient.paginate()
method: call cursor-paginated Web API methods using an async iterator 🎉WebClient.apiCall()
method.scopes
, acceptedScopes
, and retryAfter
properties of a Web API call result have moved into the response_metadata
.agent
option has been simplifiedErrorCode
constants have changed.Logger
objects without a logger function.See the migration guide for details.
Mar 28, 2019
RTMClient.sendMessage()
method.raw_message
event in favor of the slack_event
event.agent
option has been simplifiedErrorCode
constants have changed.Logger
objects without a logger function.See the migration guide for details.
Mar 28, 2019
Fixes matching with
actionId
andblockId
(#90)
Original: https://github.com/slackapi/node-slack-interactive-messages/releases/tag/v1.1.1
Mar 28, 2019
- Adds Block Kit support (#85)
- Improves express all interactions by using body parser and removing verification check (#79 - thanks @ErwinLengkeek)
Original: https://github.com/slackapi/node-slack-interactive-messages/releases/tag/v1.1.0
Mar 28, 2019
- Adds a timing safe comparison to guard from timing attacks. Thanks @episod billdybas (#71)
Original: https://github.com/slackapi/node-slack-interactive-messages/releases/tag/v1.0.2
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 thebody-parser
package). (#31)- A bug preventing message actions from working properly was fixed. (#56 - thanks @mcolyer 🎉)
Original: https://github.com/slackapi/node-slack-interactive-messages/releases/tag/v1.0.0
Mar 28, 2019
This release adds support for new message actions. Your users can now interact with you app through dedicated actions per message.
Original: https://github.com/slackapi/node-slack-interactive-messages/releases/tag/v0.4.0
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
’sdispatch()
method is now always async (#33)- Added vscode workspace settings (#35)
Original: https://github.com/slackapi/node-slack-interactive-messages/releases/tag/v0.3.0
Mar 28, 2019
- Added support for dialogs
Original: https://github.com/slackapi/node-slack-interactive-messages/releases/tag/v0.2.0
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.
Original: https://github.com/slackapi/node-slack-interactive-messages/releases/tag/v0.1.2
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 usingnode-localstorage
, so that you don’t need to install the app each time its restarted (#84). Also, a bug in the arguments forchat.postMessage()
was fixed (#83). thanks @ErwinLengkeek!
Original: https://github.com/slackapi/node-slack-events-api/releases/tag/v2.2.0
Mar 28, 2019
- Adds a timing safe comparison to guard from timing attacks. Thanks @episod billdybas (#77)
Original: https://github.com/slackapi/node-slack-events-api/releases/tag/v2.1.1
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 therequestListener
orexpressMiddleware
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)
Original: https://github.com/slackapi/node-slack-events-api/releases/tag/v2.1.0
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
tocreateEventAdapter
(#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 thebody-parser
package)- Documentation improvements (#41, #42, #44, #45, #46)
Original: https://github.com/slackapi/node-slack-events-api/releases/tag/v2.0.0
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 therespond()
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 therespond()
callback) (#21, #25)- Debugging support using the
DEBUG
environment variable. (#19, #22)- More tests and documentation (#23, #26)
Original: https://github.com/slackapi/node-slack-events-api/releases/tag/v1.0.1
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 19, 2019
p-cancelable
version to ~1.0.0
to fix type errors (#743)Mar 8, 2019
DEBUG
to WARN
. (#718) - thanks @aoberoihttp_proxy
and https_proxy
environment variables unexpectedly interact with WebClient
and
RTMClient
configuration. (#672) - thanks @aoberoiIncomingWebhook
agent option. (#719) - thanks @aoberoiFeb 27, 2019
Logger
object instead. (#703) - thanks @aoberoiFeb 27, 2019
Oct 3, 2018
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)lib
configuration instructions for versions 3.1 and above. Thanks @melisdogan (#650).Oct 2, 2018
WebClient
. Just pass a headers
option to the constructor. Thanks @ethan0920 (#629).agent
option on WebClient
using an agent from https-proxy-agent
. Thanks @aoberoi (#645).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 https://slackapi.github.io/node-slack-sdk/typescript. Thanks @aoberoi (#644).
Clarifies usage of Web API methods with no required options using callbacks. Thanks @aoberoi (#631).
Sep 10, 2018
This version is a special pre-release that is specifically meant to address a security issue. See #621 for details
https-proxy-agent
dependency (thanks @mistydemeo) #621Aug 30, 2018
Aug 25, 2018
RTMClient.start()
now returns a Promise that resolves with the data emitted with the authenticated
event - thanks @clavin (#611)state
property to the type definition of Dialog
- thanks @DominikPalo (#619)RTMClient
did not emit the "disconnected"
event when it fails to connect - thanks @clavin (#610)got
dependency with axios
- thanks @aoberoi (#620)Aug 11, 2018
X-Slack-User
header. When
calling one of these methods, specify the user ID in the new on_behalf_of
option. - thanks @aoberoi (#609)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)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)WebClient
will warn when calling deprecated methods (files.comments.add
and files.comments.edit
) - thanks @aoberoi (#604)RTMClient#disconnect()
was called from the connecting
state - thanks @aoberoi (#603)WebClient
with an unrelated error - thanks @aoberoi (#587)@types/node
than this package specifies - thanks @aoberoi (#605)Dialog.selected_options
type definition - thanks @harveyr (#588)Jul 4, 2018
This version is a special pre-release that is specifically meant to address a security issue. See #547 for details
request
dep to solve for CVE-2018-3728. (thanks @aoberoi) #590users.setActive
(thanks @DominikPalo) #464Jun 7, 2018
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.Jun 5, 2018
WebClient
: apps.permissions.resources.list
and
apps.permissions.scopes.list
(#568) - thanks @ggruizRTMClient
instance throws errors while trying to reconnect after a connection interuption
(#560) - thanks @aoberoiWebClient
was not triggering, and adds tests (#570, #573) - thanks @ggruizIncomingWebhookResult
type to exports (#562) - thanks @mledomoptions
argument of RTMClient#start()
to be optional as it was intended (#567) - thanks @christophehurpeauMay 12, 2018
notify_on_cancel
field to the Dialog
type definition (#541) - thanks @DominikPaloAttachmentAction
type definition to express the type of the action
property of MessageAttachment
. (#543, #551) - thanks @brianeletype, @DominikPaloSelectOption
type defintion and related properties to the Dialog
type definition. (#549) - thanks @DominikPaloscopes
property in WebClient
responses. (#554) - thanks @aoberoiRTMClient
where websocket errors in the connecting:authenticated
state would cause the program
to crash. (#555) thanks @aoberoiKeepAlive
would monitor the RTM connection while the websocket was not ready after a
reconnection. (#555) thanks @aoberoi"files"
key in package.json
to implement a whitelist of files that are packed for npm publish
.Apr 26, 2018
mrkdwn_in
and callback_id
fields in message attachments for formatting on attachment fields (#528) - thanks @DominikPalovalidate
argument for channels.join
method (#530) - thanks @DominikPalousers.conversations
method (#532) - thanks @DominikPalosend()
call (#535) - thanks @franckbrignoliMar 23, 2018
IncomingWebhook.send()
works with both callbacks and Promises (#508) - thanks @clavinWebClient
method arguments (#512) - thanks @clavinfiles.upload
to work with Buffers (in addition to ReadableStreams) (#500) - thanks @KharitonOffWebClient.apiCall()
options don’t look like the right type (#522) - thanks @aoberoicallbackify
(#518) - thanks @aoberoiexamples
directory back to the repository (#520) - thanks @aoberoiMar 15, 2018
"name"
or "version"
were not defined in the package.json
file (#478) - thanks @wilhelmklopp @clavin @aoberoiIncomingWebhook.send()
to parse the response as text instead of JSON (#477) - thanks @aoberoiIncomingWebhook
to be initialized without defaults (#479) - thanks @aoberoiWebClient
to be initialized without a token
in TypeScript (#482) - thanks @aoberoiWebClient
method aliases and apiCall()
(#484) - thanks @clavinas_user
in ChatPostMessageArguments
(#475) - thanks @harveyrOAuthAccessArguments
and OAuthTokenArguments
types (#481) - thanks @aoberoiMar 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!
apiCall(method, options)
public API for making generic Web API calls.Feb 2, 2018
RTM.EVENTS
export (thanks @clavin) #457 #448users.lookupByEmail
to WebClient (thanks @DominikPalo) #434requestOptionsTransport
(thanks @bertrandom) #450As always, just run npm install @slack/client
to get the latest version. Stay tuned for v4, coming soon!
Dec 22, 2017
Deprecates data store APIs See the migration document for more details: https://github.com/slackapi/node-slack-sdk/wiki/DataStore-v3.x-Migration-Guide
chat.getPermalink
Web API method (thanks @DominikPalo) #431opts.user
argument to users.identity
Web API method (thanks @bertrandom) #432conversations.info
(thanks @aoberoi) #441Buffer
input in files.upload
Web API method (thanks @aoeberoi) #307require()
, dead code, clean upNov 15, 2017
Adds a new transport that lets you define options on the request module, expose it from the library
Sep 28, 2017
Adds support for Dialogs
Sep 12, 2017
conversations.*
family of Web API methods. See https://api.slack.com/docs/conversations-api. - thanks @aoberoiusers.profile.set
(#360) - thanks @aoberoiAug 24, 2017
Aug 11, 2017
chat.postEphemeral
Web API endpoint to the WebClient
(#384) - thanks @shanedewaellinkNames
option to IncomingWebhook
(#342) - thanks @mozamimypackage-lock.json
for use with npm 5 (#385) - thanks @aoberoiMay 26, 2017
rtm.connect
instead of rtm.start
with option useConnect: true
(#344) - thanks @CharlieHessrtm.connect
(#344) - thanks @CharlieHesschat.unfurl
option userAuthRequired
(#336) - thanks @againerim.replies
(#339) - thanks @moinismMemoryDataStore
when seaching for a user by username that does not exist in the team (#332) - thanks @frejosDec 21, 2016
Dec 20, 2016
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.users.profile.[get|set]
. Mind that you can only update your own profile 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.Dec 5, 2016
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.Dec 5, 2016
Sep 6, 2016
Aug 1, 2016
Jul 25, 2016
package.json
published by 3.5.2.Jul 25, 2016
package.json
so that you don’t need SSL credentials to pull down the github repo.Jul 6, 2016
lodash
from ^3.10.1
to ^4.13.1
. And means it.Jun 15, 2016
bots
facetuser
optional argument from the stars.list methodMay 25, 2016
Creates a memory data store by default if an undefined, but not false | null value is passed for opts.dataStore
|
May 25, 2016
May 24, 2016
_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.retry-after
header name and adds a numeric fallback if the retry-after value can’t be parsed, thanks @foiseworth!files.comments.add
: adds a channel
param, for the channel id of the location to associate with the new commentchat.delete
: adds a boolean as_user
param, to support deleting a message as the authed userMay 19, 2016
May 2, 2016
lib/clients/web/facets/index.js
to reference the new facets added in the 3.0.0 update, thanks @ekmartinreminders
client facetMay 2, 2016
channels.list
: exclude_archived
moves to an opts
object, instead of being a separate argumentgroups.list
: exclude_archived
moves to an opts
object, instead of being a separate argumentchat.delete
: The ts
and channel
arguments are re-ordered to be alphabeticalstars.list
: user
moves to an opts
object, instead of being a separate argumentusers.list
: presence
moves to an opts
object, instead of being a separate argumentBaseAPIClient.prototype.makeAPICall
to take required API args and optional API args as separate params, from makeAPICall(endpoint, optData, optCb)
to makeAPICall(endpoint, apiArgs, apiOptArgs, optCb)
Mar 29, 2016
Mar 13, 2016
im
alias for the dm
facet to the web client, to match the API endpoint namingMar 12, 2016
send
and sendMessage
methodsreply_to
matching the id of the dispatched message, instead of when the ws instance signals message send successgetAPICallArgs
works, to correctly pull data out of the opts
argMar 1, 2016
2.0.5
if you try and instantiate a WebClient
without passing in any optionsMar 1, 2016
_callTransport
into multiple functions to make it easier to followNOTE: 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.
Feb 28, 2016
Feb 28, 2016
AUTHENTICATED
event now also emits the rtm.start
payloadopts.logger
is correctFeb 16, 2016
account_inactive
team_xxx
events to set the team back to the data-store once changes are madeFeb 13, 2016
Feb 13, 2016
Refactors the library to javascript, adds a lot of tests and restructures it to improve maintainability and extend functionality.
For previous releases, see the legacy changelog.
Subscribe via RSS