Skip to content

Releases: slackapi/bolt-js

@slack/bolt@3.4.1

05 Jul 21:22
Compare
Choose a tag to compare

@slack/bolt@3.4.0

04 Jun 09:09
0bb1fb2
Compare
Choose a tag to compare

Many improvements (thanks to the awesome contributors!) are included in this release 🎉

  • Key improvements / bug fixes:
    • Allow command handlers to match regexes (#846) - Thanks @itowlson!
    • Fix #947 Enable to use app.client with passed token for single workspace apps (#948) - Thanks @seratch!
    • Fix #935 enterprise_id in InstallationQuery can be invalid for Slack Connect channel events (#949) - Thanks @seratch!
    • Fix #951 TypeScript 4.3 typing for KnownKeys (#953) - Thanks @lokshunhung!
    • Fix #629 confusing debug log by ConversationStore (#827) - Thanks @seratch!
    • Fix #496 Add clientOptions.logger option (and improvements to other attributes too) (#856) - Thanks @seratch!
    • Fix #757 Add event type name validation & channel_type filter middleware (#857) - Thanks @seratch!
    • Fix #718 add tokenVerificationEnabled flag to App constructor (#863) - Thanks @seratch!
    • Fix #534 respond support in view_submission listeners (#889) - Thanks @seratch!
    • Add async support of signingSecret to ExpressReceiver (#877) - Thanks @gmathieu!
    • AwsLambdaReveiver: Ignore casing of HTTP headers as requested by RFC (#938) - Thanks @TheManWhoStaresAtCode!
  • Improvements / bugfixes for better TypeScript supports:
    • Fix #926 by adding more subtype ones to message event types (#928) - Thanks @seratch!
    • Fix #925 by adding optional properties to CodedError interface (#927) - Thanks @seratch!
    • Fix #897 Add built-in fields to Context object type (#902) - Thanks @seratch!
    • Fix #894 Unable to build options request objects in TypeScript (#900) - Thanks @seratch!
    • Fix #720 ack(options) does not compile in TypeScript (#878) - Thanks @seratch!
    • Fix #497 Add types of state.values on modal submission (#879) - Thanks @seratch!
    • Fix #911 TypeScript error when using builtin onlyViewActions middleware (#912) - Thanks @seratch!
    • Add blocks / attachments to app_mention event interface (#906) - Thanks @seratch!
    • Add missing message events & more type tests (#832) - Thanks @seratch!
    • Fix #956 Add bot_id / bot_profile to GenericMessageEvent (#957) - Thanks @seratch!
    • Fix a few array field definition errors in TypeScript (#873) - Thanks @seratch!
    • Make API response types more specific utilizing the types in web-api 6.2 (#915) - Thanks @seratch!
    • Add is_bot_user_member to link_shared event (#946) - Thanks @rbrishabh!
    • Fix WorkflowStep StepUpdateArguments property types (#830) - Thanks @k725!
    • Add the type for plain_text_input action elements (#706) - Thanks @br-tim-ray!
    • Updated ReactionRemovedEvent type (#918) - Thanks @rr-codes!
    • Export options types and interfaces (#872) - Thanks @trevor-gullstad!
    • Add trigger_id to ViewSubmitAction interface (#828) - Thanks @misscoded!
  • Lots of documentation improvements:
    • Fix a typo in Japanese documents (#916) - Thanks @p-chan!
    • Small clarification constraint reference (#844) - Thanks @shaydewael!
    • Add TypeScript Getting Started equivalent (#845) - Thanks @shaydewael!
    • Add JA-JP reference (#851) - Thanks @shaydewael!
    • Update the default receiver in the reference document (#835) - Thanks @seratch!
    • Update the description about processBeforeResponse in Reference document (#836) - Thanks @seratch!
    • Fix #632 Add Japanese version of PR #626 (App Home document) (#852) - Thanks @seratch!

Here is the list of all the issues / pull requests included in the release: https://github.com/slackapi/bolt-js/milestone/8?closed=1

@slack/bolt@3.3.0

09 Mar 22:11
Compare
Choose a tag to compare
  • Add regex support to events handler (#284 #763) - Thanks @pdontha!
  • Fix typo in SocketModeReceiver logging sentence (#807) - Thanks @KhushrajRathod!
  • Refactor built-in receivers to be a little more DRY (#810) - Thanks @seratch!
  • Add built-in AwsLambdaReceiver (#784 #785) - Thanks @seratch!
  • Simplify app.start() for Socket Mode by allowing extra arguments to be optional (#823) - Thanks @KhushrajRathod
  • Lots of documentation improvements!

@slack/bolt@3.2.0

10 Feb 03:29
Compare
Choose a tag to compare

@slack/bolt@3.1.1

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/bolt@3.1.0

26 Jan 01:16
Compare
Choose a tag to compare

@slack/bolt@3.0.0

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/bolt@2.7.0

12 Jan 23:17
Compare
Choose a tag to compare

@slack/bolt@2.6.0

05 Jan 22:46
Compare
Choose a tag to compare

@slack/bolt@2.5.0

01 Dec 18:33
Compare
Choose a tag to compare