Skip to content

Releases: slackapi/bolt-js

@slack/[email protected]

10 Feb 03:29
Compare
Choose a tag to compare

@slack/[email protected]

27 Jan 01:11
Compare
Choose a tag to compare

Updated @slack/socket-mode dependency to use a range (^1.0.0) instead of a specific version - thanks @stevengill

@slack/[email protected]

26 Jan 01:16
Compare
Choose a tag to compare

@slack/[email protected]

13 Jan 20:58
Compare
Choose a tag to compare

Breaking changes

  • Updated minimum Nodejs version to 12.13.0, updated minimum TypeScript version to 4.1 (#727, #728) - thanks @stevengill
  • Removed orgAuthorize option when initializing App. If you used this option previously, you must use authorize instead for both single workspace installs and org wide app installs. See the migration guide to learn more! (#730) - thanks @stevengill
  • The built-in OAuth with Org wide app installs no longer uses InstallationStore.fetchOrgInstallation() or InstallationStore.storeOrgInstallation(). If you used these previously, you must use InstallationStore.fetchInstallation() and InstallationStore.storeInstallation() instead. See the migration guide to learn more! (#730) - thanks @stevengill

New Features

  • Bolt for JavaScript now supports Socket Mode! When initializing an App, use the socketMode: true option to choose connecting to Slack without an HTTP server (:wave: goodbye managing ngrok). In order to use Socket Mode, you must first enable it for your app’s configuration (https://api.slack.com/apps → Your App → Socket Mode).
  • Added a new Developer Mode. When initializing an App, conditionally check for when you’re not in production (e.g. process.NODE_ENV !== '``production``' ) to set developerMode: ```true`. Developer Mode currently enables debug logging, enables SocketMode, adds a custom failure handler for OAuth, and outputs the body of every incoming request. (#714, #742) - thanks @stevengill
  • HTTPReceiver is the new default receiver for App. This will allow Bolt for JavaScript apps to more easily work with other popular web frameworks (Hapi.js, Koa, etc). (#670, #753) - thanks @aoberoi
    • ExpressReceiver is still available to use for those of you that have usecases which aren’t covered by HTTPReceiver.
    • This new receiver does not allow you to add custom routes, but instead allows you to access its requestListener property to selectively send it requests. This property follows the exact function signature as the first argument to Node’s built-in http.createServer(), so it’s very flexible. It will throw an HTTPReceiverDeferredRequestError, with a req and res property if it was not able to handle a given request.
  • Added support for starting an HTTPS server with app.start() . This method now takes TLS options as its second parameter (after the port). The simplest example of starting an HTTP server is app.start(3000, { key: MY_TLS_KEY, cert: MY_TLS_CERT }). (#234, #658) - thanks @aoberoi

@slack/[email protected]

12 Jan 23:17
Compare
Choose a tag to compare

@slack/[email protected]

05 Jan 22:46
Compare
Choose a tag to compare

@slack/[email protected]

01 Dec 18:33
Compare
Choose a tag to compare

@slack/[email protected]

30 Sep 23:10
Compare
Choose a tag to compare
  • Fixes the StepUpdateArguments 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)

@slack/[email protected]

30 Sep 00:17
Compare
Choose a tag to compare
  • 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!

    • Updates docs to use client listener arg instead of app.client consistently - Thanks @shaydewael (#613)
    • Fixes various errors found in code snippets inside docs (in English and Japanese) - Thanks @seratch (#628)
    • Improves code snippet in README to be more Unicode friendly - Thanks @seratch (#610)
    • Many incremental improvements to align the Bolt for JS docs with Bolt for Python docs - Thanks @mwbrooks (#631, #623)
    • Improved and clarified language in shortcuts documentation - Thanks @shaydewael (#563)
    • Fixes v2 Migration Guide to reflect that error handlers are async functions (in English and Japanese) - Thanks @atl-mk (#599, #598)
    • Clarifies language in "Listening and Responding to a Message" about bot channel membership (in English and Japanese) - Thanks @misscoded, @seratch (#600, #603)
    • Updating out of date info and removing duplicate info in the README - Thanks @shaydewael (#609)
    • Improvements to the header: filters out prereleases from showing up in the version badge, uses the more canonical "Bolt for JS" title - Thanks @misscoded, @shaydewael (#602, #635)
    • Improves copy-pastability (yes, I just made that word up) of the OAuth example config - Thanks @tomquirk (#605)
    • Fixes a typo in the README - Thanks @kale (#606)
    • Adds missing section break to Getting Started guide - Thanks @mwbrooks, @seratch (#617, #618)

@slack/[email protected]

03 Sep 17:30
a456a00
Compare
Choose a tag to compare
Pre-release

This release includes additions to the Workflow Steps from Apps beta. 🎉

  • Added WorkflowStep class, new utility props, tests, and associated types - Thanks, @misscoded!
  • Updated docs to reflect changes - Thanks, @misscoded!

Install via npm install @slack/bolt@feat-workflow-steps