axios dependency (#721, #722) - Thanks @brendan-miller-snykInstallationStore by adding saveOrgInstall and fetchOrgInstall methods. (#521) - thanks @stevengill, @aoberoiAuthorizations in event api payloads which are replacing authed_users and authed_teams (#655, #656) - thanks @stevengillStepUpdateArguments and StepCompleteArguments type definitions to correctly, and more precisely, describe the arguments to the update() and complete() utility arguments when building a WorkflowStep - Thanks @seratch (#653)The new WorkflowStep class gives Bolt apps the ability to offer Workflow Builder Steps from Apps.
Slack users can compose Workflows using steps that your app defines. Your app will create the interface for the user to add or edit their step, with the specific inputs and ouputs it needs. Later, Slack will send an event to your app when it's time to execute that step. Learn how to build using WorkflowStep in the Bolt for JS docs.
Thanks to @misscoded, @selfcontained, @amarinelli, @seratch (#607, #592, #593 )
Fixes types for radio buttons and date picker to allow selected_options to be null - Thanks @stevengill (#622)
Adds documentation for publishing views to the App Home Home Tab - Thanks @shaydewael (#626)
A slew of documentation updates!
client listener arg instead of app.client consistently - Thanks @shaydewael (#613)This release includes additions to the Workflow Steps from Apps beta. 🎉
WorkflowStep class, new utility props, tests, and associated types - Thanks, @misscoded!Install via npm install @slack/bolt@feat-workflow-steps
api_app_id to slash command payloads (#573, #574) - Thanks @stevengillclientOptions gets passed down to @slack/oauth (#585, #586) - Thanks @stevengillinstallerOptions named authorizationUrl. This can be used to change the default authorization endpoint when doing OAuth. (#585, #586) - Thanks @stevengillBolt-js now exposes exported interfaces from @slack/oauth and everything exported from @slack/types (#585, #586) - Thanks @stevengillThis release includes additions to the Workflow Steps from Apps beta. 🎉
Add to types associated with the workflow_step feature, including optional workflow_step object on view submit/close events (#578) - Thanks, @selfcontained!
Install via npm install @slack/bolt@feat-workflow-steps
calls_rejected event (#505, #506) - Thanks, @stevengill!app_mention events (#499) - Thanks, @hashedhyphen!userScopes to AppOptions (#540) - Thanks, @joshmcgrath08!ReactionAddedEvent (#537) - Thanks, @dbmikus!This release is for the Workflow Steps from Apps beta. 🎉
Install via npm install @slack/bolt@feat-workflow-steps
ExpressReceivers not working properly with the new OAuth changes. (https://github.com/slackapi/bolt-js/pull/503) - Thanks @stevengill & @marksres.send to res.status(500).send() (#487) - Thanks @dburandtRadioButton and Checkbox (#471) - Thanks @yoichiroprocessBeforeResponse option did not ensure processing was complete before HTTP response was sent (#462) - thanks @aoberoiThanks for checking out the 2.0.0 release of Bolt for JavaScript! Firstly, a huge thank you to all of the folks who contributed to this release. A special shoutout to community contributor @barlock for the massive contributions he contributed!
Make sure to read the migrating to 2.0.0 guide to learn what changes are needed to upgrade your existing Bolt for JavaScript apps.
processBeforeResponse option to be used. (#353, #380, #381, #439, #440, #444) - Thanks @barlock, @aoberoi, @stevengill and @seratchshortcut() method instead of the action() method. (#428) - Thanks @stevengillView type missing optional id from response (#436, #437) - Thanks @seratch@slack/bolt@2.0.0 (#442, #445, #449) - Thanks @stevengillprocessBeforeResponse to App[Options] to improve Bolt support for Function-as-a-Service platforms (like AWS Lambda) (#444) - Thanks @stevengill.shortcut method (#427, #430) - thanks @stevengill & @shaydewaelbolt with bolt for javascript in our documentation (#425) - thanks @shaydewaelMultiUsersSelectAction (#422, #423) - thanks @seratchlogger (#405, #406) - Thanks @seratchlogger and client to the list of arguments sent through to listeners (such as event, message, etc.). This makes it easier for listeners to make calls to Web API methods while keeping the client rate-limit and queue-aware. (#359, #168, #354) - thanks @seratchinvite_requested event type (#382, #387) thanks @seratch401 status code instead of 500 for signature verification failures (#324, #362) - thanks @seratchack in ExpressReceiver firing twice. (#327 #370) - thanks @jarrodldavisExpressReceiver's RespondFn implementation now accepts a string (#377, #379) - thanks @seratchExpressReceiver (#357) - thanks @seratch@slack/web-api to include support for modals (#322) and then again for granular bot permissions (#335) - Thanks @PerStirpes, @seratch and @stevengilltype as a valid constraint for app actions. (https://github.com/slackapi/bolt/pull/326) - Thanks @selfcontainedusers.info call from SingleTeamAuthorization since auth.test includes the bot_id. This allows developers to reduce scope by creating Bolt apps without a users:read scope. (#347) - Thanks @pichsenmeisterchannel field in block_actions payload optional (#343), added support for multi-select actions (#344), and improved type resolution for action method (#349) - Thanks @seratch and @stevengillapp_home_opened event. The event now contains a tab property, which can be set to "home" or "messages". The event might also contain a view property. These changes are in support of App Home Home Tabs. (#292) thanks @seratch!member_joined_channel and member_left_channel events for your own bot (#236) - thanks @TK95 🎉WebClient options into the constructor (#228 and #278) - thanks @koh110 and @aoberoi ⚙️view_closed for Block Kit in modals (uses the same view() method) (#276) - thanks @shanedewaelplease-upgrade-node (#253) - thanks @43081jgetLevel() (#270 and #285)- thanks @shanedewaelsigningSecret was passed into constructor (#271) - thanks @shanedewael