Skip to content

Releases: slackapi/bolt-js

@slack/[email protected]

09 Sep 23:16
Compare
Choose a tag to compare

@slack/[email protected]

08 Sep 19:48
Compare
Choose a tag to compare
Pre-release

What's Changed (beta)

This beta release contains feature enhancements to Bolt JS for developers participating in the Slack Platform Beta 🚀

Compatible with the Slack CLI tool

Create a new app from a Github sample template

$ slack create my-app -t slack-samples/bolt-js-starter-template -b future

Run your app for local development from the CLI. We take care of installation, tokens and starting the app in development mode.

$ slack run 

Configure your app in code

Declare a manifest.js or manifest.ts file import handly utility functions and define any recomposable units contained such as Functions, Workflows and Triggers.

# my-app/manifest.js

const { Manifest } = require('@slack/bolt');
module.exports = Manifest({
  runOnSlack: false,
  name: '',
  displayName: '',
  description: '',
  botScopes: ['chat:write'],
  socketModeEnabled: true,
  workflows: [TimeOffWorkflow],
  features: {
    appHome: {
      messagesTabEnabled: true,
      messagesTabReadOnlyEnabled: true,
    },
  },
  settings: {
    interactivity: {
      is_enabled: true,
    },
    org_deploy_enabled: false,
  },
});

Compose Custom Function handling logic via a SlackFunction.

Write a recomposable unit of logic:

Example:

    const myFunc = new SlackFunction('fn_callback_id', () => {});

Attach optional handlers for block_action and view events related to your function.

Example:

   myFunc.action('action_id', () => {})
         .view('view_callback_id', () => {});

Enhancements

  • Bolt-JS projects containing a valid slack.json file in their project root are now Slack CLI compatible by @srajiang
  • Adds CLI hook implementations get-manifest start and get-hooks by @srajiang
  • Exports utility types and functions intended for manifest.js authoring by @srajiang @neptunel
  • Adds SlackFunction and Function Localized Interactivity handling by @srajiang in #1567

Full Changelog

https://github.com/slackapi/bolt-js/compare/@slack/[email protected]...@slack/[email protected]

@slack/[email protected]

26 Jul 02:07
Compare
Choose a tag to compare

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

@slack/[email protected]

14 Jul 15:34
86486e0
Compare
Choose a tag to compare

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

@slack/[email protected]

17 Jun 02:38
Compare
Choose a tag to compare

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

@slack/[email protected]

14 Jun 18:35
Compare
Choose a tag to compare
  • Bug fixes:
    • Fix #1454: Missing type declarations for HomeView (via #1455) - thanks @seratch!
    • TypeScript 4.7 compiler compatibility (via #1466) - thanks @seratch!
    • Fix #1472: say type incorrectly inferred as never when using pin_added or reaction_* events (via #1473 and #1476) - thanks @seratch!
    • Fix an action typo in the docs (via #1475) - thanks @BenAlderfer!
    • Add more logs for error patterns in AwsLambdaReceiver (via #1481) - thanks @seratch!
    • Fix #1478: ack() is not accessible in global middleware in TypeScript (via #1482) - thanks @seratch!

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

@slack/[email protected]

13 May 02:06
Compare
Choose a tag to compare
  • New features / improvements:
    • Adding support for new user-change events with types (via #1448) - thanks @filmaj
    • Slack prints failed with the error "operation_timeout" when slack command runs and finishes successfully in AWS Lambda (via #1435 #1452) - thanks @nicolls1
    • Upgrade socket-mode dependency to the latest minor (via #1441 ) - thanks @seratch !

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

@slack/[email protected]

30 Mar 22:10
e26b0c3
Compare
Choose a tag to compare

📣 Important Announcement

Since this version, the default behavior of the OAuth flow has been changed for better security. The changes are:

  • InstallProvider (The underlying OAuth module) verifies not only the query string but also its corresponding browser cookie data
  • The default StateStore (ClearStateStore) makes sure that the state parameter is not too old (the default lifetime is 10 minutes)

Refer to #1335 #1391 slackapi/node-slack-sdk#1435 slackapi/node-slack-sdk#1436 for the context. If you encounter behavior changes described at #1412, consider either changing your app code or setting installerOptions.legacyStateVerification: true for now.

🎁 🐛 New features / improvements:

📝 Document updates:

  • #1384 Deploy the App to Heroku with one click - Thanks @MaurizioBella

Here are all the issues / pull requests included in the release.

@slack/[email protected]

23 Feb 19:59
362621e
Compare
Choose a tag to compare

🎁 🐛 New features / improvements:

📝 Document updates:

Here are all the issues / pull requests included in the release.

@slack/[email protected]

20 Jan 15:43
Compare
Choose a tag to compare
  • New features / improvements:
    • Bump @slack/web-api dependency to at least v6.6.0 to address a security vulnerability in axios (via #1276) - thanks @filmaj!
    • Bump @slack/oauth dependency to at least v2.4.0 to address major bugs (via #1273) - thanks @seratch!
    • Fix #1256: $PORT fails to bind on Heroku (via #1210) - thanks @filmaj!
    • Add missing Channel*MessageEvent types (via #1254) - thanks @seratch!
    • Fix #190: Context method updateConversation should accept expiration time (via #1221) - thanks @shubhamjajoo!
    • Fix #1206: custom routes incorrectly match against full URL including querystring parameters (via #1207) - thanks @moustacheful!
  • Document updates:
    • Improve App initialization error logs and Authenticating with OAuth document (via #1250) - thanks @srajiang!
    • Fix #795: improving documentation around serverless deployments to make more accessible (via #1254) - thanks @filmaj!
    • Update anchors in the Japanese reference page (via #1247) - thanks @seratch!
    • Fix #1237: Use correct message subtype in Listening to Events documentation (via #1240) - thanks @wongjas!
    • Fix #1233 and #1216: Remove redundant state information from the Listening to Modals documentation (via #1236) - thanks @wongjas!
    • Fix #1241: Update examples to use the logger instead of console.log (via #1242) - thanks @wongjas!
    • Cleanup Lambda example and docs around processBeforeResponse (via #1229) - thanks @ramblingenzyme!
    • Fix #1197: Japanese version of documents around extendedErrorHandler (via #1227) - thanks @wongjas!
    • Add documentation for socket mode and developer mode (via #1218) - thanks @TheManWhoStaresAtCode!
    • Fix #1219: Japanese version of additional socket mode and developer mode documentation (via #1226) - thanks @wongjas!
    • Fix #1010: Add documentation for view_closed support (via #1214) - thanks @TheManWhoStaresAtCode!
    • Fix #1200: Remove references to passing a port to the start method when using socket mode (via #1202) - thanks @filmaj!
  • Developer / maintainer-relevant changes:
    • Added a GitHub action and bot to automatically mark issues and PRs as stale after extended periods of inactivity (via #1213, #1225) - thanks @srajiang!

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