bolt-js

A framework to build Slack apps using JavaScript

MIT License

Stars
2.7K
Committers
121

Bot releases are hidden (Show)

bolt-js - @slack/[email protected]

Published by stevengill over 3 years ago

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

bolt-js - @slack/[email protected]

Published by stevengill over 3 years ago

  • Added Four New Workflow / Workflow Step Event Interfaces (#767, #768) - thanks @misscoded
  • Fixed node-slack-sdk issue 1156 where Socket Mode error was not bubbling up (#764) - thanks @stevengill
  • Added a localized Japanese Heroku deployment guide (#762) - thanks @seratch, @shaydewael
bolt-js - @slack/[email protected]

Published by stevengill almost 4 years ago

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 (👋 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).
    • This is implemented using the new SocketModeReceiver class. This receiver allows your app to receive events from Slack over a WebSocket connection.
    • To learn more about Socket Mode, checkout the release blog post and Bolt for JavaScript docs and example
    • Implemented in #630 - thanks @stevengill, @aoberoi, @seratch, @shaydewael, @mwbrooks
  • 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
bolt-js - @slack/[email protected]

Published by stevengill almost 4 years ago

  • Fix regression in is_enterprise_install check for slash commands (#737, #738) - thanks @mattcasey
  • Added missing properties to AppMentionInterface (#735, #739) - thanks @misscoded, @BenAlderfer
  • Add channel and other missing properties to all MessageEvent interfaces (#736, #740) - thanks @misscoded, @BenAlderfer
bolt-js - @slack/[email protected]

Published by stevengill almost 4 years ago

  • Fixed security vulnerability with axios dependency (#721, #722) - Thanks @brendan-miller-snyk
  • Added reference docs to documentation site (#712) - Thanks @shaydewael
  • Added deploying to AWS Lambda guide (#698) - Thanks @mwbrooks
  • Improved types for message events and all subtypes. (#709, #311) - Thanks @aoberoi
  • Moved CI over to GitHub Actions (#704) - Thanks @stevengill
bolt-js - @slack/[email protected]

Published by stevengill almost 4 years ago

  • Added support for org wide app installations. If you are using the built-in OAuth support, make sure to update your InstallationStore by adding saveOrgInstall and fetchOrgInstall methods. (#521) - thanks @stevengill, @aoberoi
  • added support for Authorizations in event api payloads which are replacing authed_users and authed_teams (#655, #656) - thanks @stevengill
  • Added heroku deployment guide (#220, #651) - thanks @mwbrooks
  • Docs fixes (#641, #665, #667, #668, #683, #686, #693 ) - thanks @shaydewael, @misscoded, @mwbrooks, @seratch, @stevengill
  • Updated hubot example to work with bolt for Javascript v2.0+ (#676) - thanks @nicholas-a-clark
bolt-js - @slack/[email protected]

Published by aoberoi about 4 years ago

  • 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)
bolt-js - @slack/[email protected]

Published by aoberoi about 4 years ago

  • 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)
bolt-js - @slack/[email protected]

Published by misscoded about 4 years ago

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

bolt-js - @slack/[email protected]

Published by stevengill about 4 years ago

  • Added api_app_id to slash command payloads (#573, #574) - Thanks @stevengill
  • clientOptions gets passed down to @slack/oauth (#585, #586) - Thanks @stevengill
  • Added a new property to installerOptions named authorizationUrl. This can be used to change the default authorization endpoint when doing OAuth. (#585, #586) - Thanks @stevengill
  • Bolt-js now exposes exported interfaces from @slack/oauth and everything exported from @slack/types (#585, #586) - Thanks @stevengill
bolt-js - @slack/[email protected]

Published by misscoded about 4 years ago

This 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

bolt-js - @slack/[email protected]

Published by misscoded about 4 years ago

  • Made updates for English and Japanese docs (#417, #513, #515, #518, #522, #527, #535, #547) - Thanks, @greggTime, @stevengill, and @seratch!
  • Added calls_rejected event (#505, #506) - Thanks, @stevengill!
  • Added new middleware to filter out app_mention events (#499) - Thanks, @hashedhyphen!
  • Added text as an optional property for RespondArguments (#512) - Thanks, @aoberoi!
  • Added userScopes to AppOptions (#540) - Thanks, @joshmcgrath08!
  • Added new interface types for ReactionAddedEvent (#537) - Thanks, @dbmikus!
bolt-js - @slack/[email protected]

Published by misscoded about 4 years ago

This release is for the Workflow Steps from Apps beta. 🎉

  • Added Workflow Steps support (#546) - Thanks, @selfcontained!

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

bolt-js - @slack/[email protected]

Published by stevengill over 4 years ago

  • added runtime deprecation notice for @slack/bolt 1.x (#533). Please upgrade to the latest version of bolt-js! - Thanks @stevengill
bolt-js - @slack/[email protected]

Published by stevengill over 4 years ago

bolt-js - @slack/[email protected]

Published by stevengill over 4 years ago

  • Integrated the Slack OAuth package into Bolt-js. Checkout the Bolt-js docs to learn more! (#479) - Thanks @stevengill
  • changed deprecated usage of res.send to res.status(500).send() (#487) - Thanks @dburandt
  • updates to docs (#477) - Thanks @shaydewael
  • Added type aliases for RadioButton and Checkbox (#471) - Thanks @yoichiro
bolt-js - @slack/[email protected]

Published by aoberoi over 4 years ago

  • Fixes bug where processBeforeResponse option did not ensure processing was complete before HTTP response was sent (#462) - thanks @aoberoi
  • Adds the new Bolt for JS brand assets in the documentation site and README ($468) - thanks @shaydewael
  • Adds Bolt for JS v2 Migration Guide in Japanese (#457) - thanks @seratch
  • Corrects badly formatted string in the documentation example code (#460, #461) - thanks @takayukioda
bolt-js - @slack/[email protected]

Published by stevengill over 4 years ago

Thanks 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.

  • Chaining middleware via promises. This allows the ability to test listeners and middlewares without artificial delays. This change also allows Bolt to run on Functions-as-a-Service platforms (such as AWS Lambda) by allowing the processBeforeResponse option to be used. (#353, #380, #381, #439, #440, #444) - Thanks @barlock, @aoberoi, @stevengill and @seratch
  • Message shortcuts (previously referred to as message actions) now use the shortcut() method instead of the action() method. (#428) - Thanks @stevengill
  • Fix View type missing optional id from response (#436, #437) - Thanks @seratch
  • Added Migration Guide for @slack/[email protected] (#442, #445, #449) - Thanks @stevengill
  • Added processBeforeResponse to App[Options] to improve Bolt support for Function-as-a-Service platforms (like AWS Lambda) (#444) - Thanks @stevengill
  • Set minimum TypeScript version to 3.7.0 (#447, #452) - Thanks @aoberoi and @stevengill
bolt-js - @slack/[email protected]

Published by stevengill over 4 years ago

  • Added Global Shortcuts support with the new .shortcut method (#427, #430) - thanks @stevengill & @shaydewael
  • Replaced bolt with bolt for javascript in our documentation (#425) - thanks @shaydewael
  • Fix invalid fields in MultiUsersSelectAction (#422, #423) - thanks @seratch
bolt-js - @slack/[email protected]

Published by stevengill over 4 years ago

  • Specified view submission response action types (#305, #404) - Thanks @aoberoi
  • Provided a better way to configure logger (#405, #406) - Thanks @seratch
  • Added checkboxes type support to action payload (#408) - Thanks @seratch
  • Minor docs updates (#398, #348, #410, #417) - Thanks @seratch & @greggTime