8000 Releases · slackapi/bolt-js · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: slackapi/bolt-js

@slack/bolt@4.4.0

20 May 19:04
6c00291
Compare
Choose a tag to compare

What's Changed

🚀 Features

🐛 Fixes

🧰 Maintenance

🤖 Dependencies

  • chore(deps): update @slack/bolt requirement from ^4.2.1 to ^4.3.0 in /examples/oauth-express-receiver by @dependabot in #2532
  • chore(deps): update @slack/bolt requirement from ^4.2.1 to ^4.3.0 in /examples/socket-mode-oauth by @dependabot in #2527
  • chore(deps-dev): bump @types/node from 22.15.3 to 22.15.17 by @dependabot in #2523
  • chore(deps): update @slack/bolt requirement from ^4.2.1 to ^4.3.0 in /examples/oauth by @dependabot in #2531
  • chore(deps): update @slack/bolt requirement from ^4.2.1 to ^4.3.0 in /examples/deploy-aws-lambda by @dependabot in #2524
  • chore(deps): update @slack/bolt requirement from ^4.2.1 to ^4.3.0 in /examples/socket-mode by @dependabot in #2530
  • chore(deps): update @slack/bolt requirement from ^4.2.1 to ^4.3.0 in /examples/message-metadata by @dependabot in #2529
  • chore(deps): update @slack/bolt requirement from ^4.2.1 to ^4.3.0 in /examples/deploy-heroku by @dependabot in #2525
  • chore(deps-dev): update serverless requirement from ^4.14.2 to ^4.14.3 in /examples/deploy-aws-lambda by @dependabot in #2526
  • chore(deps): update @slack/bolt requirement from ^4.2.1 to ^4.3.0 in /examples/getting-started-typescript by @dependabot in #2528
  • chore(deps-dev): bump @types/node from 22.15.17 to 22.15.19 by @dependabot in #2536

Full Changelog: https://github.com/slackapi/bolt-js/compare/@slack/bolt@4.3.0...@slack/bolt@4.4.0
Milstone: https://github.com/slackapi/bolt-js/milestone/58?closed=1

@slack/bolt@4.3.0

07 May 13:36
ee8df73
Compare
Choose a tag to compare

What's Changed

🐛 Fixes

  • fix: configure dependbot to group react deps by @WilliamBergamin in #2440
  • fix: refactor function handler for follow up auto ack behavior by @WilliamBergamin in #2424
  • fix: always attach the function bot access token to the context if available by @zimeg in #2513
  • fix: allow all web api client option types in app initialization by @zimeg in #2501
  • fix: always attach the function inputs to the context if available by @zimeg in #2517

📚 Documentation

🧰 Maintenance

  • ci: label updates to example app dependencies with an 'area:examples' label by @zimeg in #2485
  • ci: increase updated versions to depend on the latest releases by @zimeg in #2468

🤖 Dependencies

  • chore(deps-dev): bump stylelint from 16.14.1 to 16.15.0 in /docs by @dependabot in #2435
  • chore(deps-dev): bump @types/node from 22.13.5 to 22.13.8 by @dependabot in #2436
  • chore(deps-dev): bump @types/node from 22.13.8 to 22.13.9 by @dependabot in #2441
  • chore(deps): bump the react group in /docs with 2 updates by @dependabot in #2442
  • chore(deps-dev): bump typescript from 5.7.3 to 5.8.2 in /examples/custom-receiver by @dependabot in #2438
  • chore(deps-dev): bump typescript from 5.7.3 to 5.8.2 in /examples/getting-started-typescript by @dependabot in #2439
  • Docs: Update reference to "Concepts guides". by @technically-tracy in #2446
  • chore(deps-dev): bump @types/node from 22.13.9 to 22.13.10 by @dependabot in #2450
  • chore(deps): bump prismjs from 1.29.0 to 1.30.0 in /docs by @dependabot in #2452
  • chore(deps): bump axios to 1.8.3 to address CVE-2025-27152 by @zimeg in #2453
  • chore(deps): bump @babel/helpers from 7.26.0 to 7.26.10 in /docs by @dependabot in #2456
  • chore(deps): bump @babel/runtime from 7.26.0 to 7.26.10 in /docs by @dependabot in #2457
  • chore(deps): bump @babel/runtime-corejs3 from 7.26.9 to 7.26.10 in /docs by @dependabot in #2458
  • chore(deps-dev): bump @types/node from 22.13.10 to 22.13.13 by @dependabot in #2463
  • chore(deps-dev): bump @types/node from 22.13.13 to 22.13.14 by @dependabot in #2467
  • chore(deps-dev): bump stylelint from 16.15.0 to 16.17.0 in /docs by @dependabot in #2469
  • chore(deps): update @slack/socket-mode requirement from ^2.0.3 to ^2.0.4 by @dependabot in #2470
  • chore(deps): bump css-minimizer-webpack-plugin from 7.0.0 to 7.0.2 in /docs by @dependabot in #2471
  • chore(deps): update @slack/types requirement from ^2.13.0 to ^2.14.0 by @dependabot in #2472
  • chore(deps): update @slack/web-api requirement from ^7.8.0 to ^7.9.1 by @dependabot in #2473
  • chore(deps): update @slack/oauth requirement from ^3.0.2 to ^3.0.3 by @dependabot in #2474
  • chore(deps): update @slack/bolt requirement from ^4.2.0 to ^4.2.1 in /examples/deploy-aws-lambda by @dependabot in #2475
  • chore(deps-dev): update serverless requirement from ^4.4.18 to ^4.9.1 in /examples/deploy-aws-lambda by @dependabot in #2476
  • chore(deps): update @slack/bolt requirement from ^4.2.0 to ^4.2.1 in /examples/deploy-heroku by @dependabot in #2477
  • chore(deps): update @slack/bolt requirement from ^4.2.0 to ^4.2.1 in /examples/getting-started-typescript by @dependabot in #2478
  • chore(deps): update @slack/bolt requirement from ^4.2.0 to ^4.2.1 in /examples/message-metadata by @dependabot in #2479
  • chore(deps): update @slack/bolt requirement from ^4.2.0 to ^4.2.1 in /examples/oauth by @dependabot in #2480
  • chore(deps): update @slack/bolt requirement from ^4.2.0 to ^4.2.1 in /examples/oauth-express-receiver by @dependabot in #2481
  • chore(deps): update @slack/bolt requirement from ^4.2.0 to ^4.2.1 in /examples/socket-mode by @dependabot in #2482
  • chore(deps): update @slack/bolt requirement from ^4.2.0 to ^4.2.1 in /examples/socket-mode-oauth by @dependabot in #2483
  • chore(deps): bump the react group in /docs with 2 updates by @dependabot in #2488
  • chore(deps): bump image-size from 1.2.0 to 1.2.1 in /docs by @dependabot in #2489
  • chore(deps-dev): bump typescript from 5.8.2 to 5.8.3 in /examples/custom-receiver by @dependabot in #2490
  • chore(deps-dev): bump typescript from 5.8.2 to 5.8.3 in /examples/getting-started-typescript by @dependabot in #2491
  • chore(deps-dev): bump @types/node from 22.13.14 to 22.14.0 by @dependabot in #2493
  • chore(deps-dev): update serverless requirement from ^4.9.1 to ^4.11.1 in /examples/deploy-aws-lambda by @dependabot in #2492
  • chore(deps): bump estree-util-value-to-estree from 3.3.2 to 3.3.3 in /docs by @dependabot in #2495
  • chore(deps-dev): bump @types/node from 22.14.0 to 22.14.1 by @dependabot in #2498
  • chore(deps-dev): update serverless requirement from ^4.11.1 to ^4.12.0 in /examples/deploy-aws-lambda by @dependabot in #2499
  • chore(deps-dev): update serverless requirement from ^4.12.0 to ^4.14.1 in /examples/deploy-aws-lambda by @dependabot in #2503
  • chore(deps-dev): bump stylelint-config-standard from 37.0.0 to 38.0.0 in /docs by @dependabot in #2514
  • chore(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 in /docs by @dependabot in #2504
  • chore(deps-dev): bump @types/node from 22.14.1 to 22.15.3 by @dependabot in #2511
  • chore(deps-dev): update serverless requirement from ^4.14.1 to ^4.14.2 in /examples/deploy-aws-lambda by @dependabot in #2516
  • chore(deps): bump koa from 2.16.1 to 3.0.0 in /examples/custom-receiver by @dependabot in #2512
  • chore: release @slack/bolt@4.3.0 by @hello-ashleyintech in #2518

Thank you to all our lovely contributors ✨

Full Changelog: https://github.com/slackapi/bolt-js/compare/@slack/bolt@4.2.1...@slack/bolt@4.3.0

@slack/bolt@4.2.1

28 Feb 18:39
3e035ae
Compare
Choose a tag to compare

What's Changed

🐛 Fixes

📚 Documentation

🧰 Maintenance

  • ci: complete all sample tests even if one fails fast by @zimeg in #2386
  • ci: add example app dependencies to weekly dependabot configurations by @zimeg in #2387
  • ci: test samples and examples with a packaged bolt build by @zimeg in #2372
  • fix: improve the maintainers_guide local development instruction by @WilliamBergamin in #2422
  • chore: release @slack/bolt@4.2.1 by @WilliamBergamin in #2433

🤖 Dependencies

  • chore(deps-dev): bump @types/node from 22.13.4 to 22.13.5 by @dependabot in #2428
  • chore(deps-dev): bump @types/node from 22.13.0 to 22.13.1 by @dependabot in #2420
  • chore(deps-dev): bump @types/node from 22.13.1 to 22.13.4 by @dependabot in #2425
  • chore(deps-dev): bump @types/node from 22.10.7 to 22.13.0 by @dependabot in #2416
  • chore(deps): bump actions/stale from 9.0.0 to 9.1.0 by @dependabot in #2415
  • chore(deps-dev): bump @types/node from 22.10.5 to 22.10.7 by @dependabot in #2403
  • chore(deps-dev): bump @types/node from 22.10.2 to 22.10.5 by @dependabot in #2382

docs

  • chore(deps-dev): bump stylelint-config-standard from 36.0.1 to 37.0.0 in /docs by @dependabot in #2412
  • chore(deps): bump the docusaurus group in /docs with 5 updates by @dependabot in #2392
  • chore(deps-dev): bump stylelint from 16.11.0 to 16.12.0 in /docs by @dependabot in #2379
  • chore(deps): bump prism-react-renderer from 2.4.0 to 2.4.1 in /docs by @dependabot in #2378

examples

  • chore(deps-dev): bump @types/node from 18.19.71 to 22.10.7 in /examples/custom-receiver by @dependabot in #2404
  • chore(deps-dev): bump typescript from 5.3.3 to 5.7.3 in /examples/getting-started-typescript by @dependabot in #2393
  • chore(deps): bump @slack/bolt from 3.22.0 to 4.2.0 in /examples/getting-started-typescript by @dependabot in #2394
  • chore(deps-dev): bump @types/node from 18.19.70 to 22.10.5 in /examples/getting-started-typescript by @dependabot in #2395
  • chore(deps): bump @slack/bolt from 3.22.0 to 4.2.0 in /examples/message-metadata by @dependabot in #2396
  • chore(deps): bump @slack/bolt from 3.22.0 to 4.2.0 in /examples/socket-mode-oauth by @dependabot in #2400
  • chore(deps): bump @slack/bolt from 3.22.0 to 4.2.0 in /examples/socket-mode by @dependabot in #2399
  • chore(deps): bump @slack/bolt from 3.22.0 to 4.2.0 in /examples/oauth-express-receiver by @dependabot in #2398
  • chore(deps): bump @slack/bolt from 3.22.0 to 4.2.0 in /examples/oauth by @dependabot in #2397
  • chore(deps): bump @slack/bolt from 3.22.0 to 4.2.0 in /examples/custom-properties by @dependabot in #2388
  • chore(deps-dev): bump typescript from 5.3.3 to 5.7.3 in /examples/custom-receiver by @dependabot in #2390
  • chore(deps): bump @slack/bolt from 3.22.0 to 4.2.0 in /examples/custom-receiver by @dependabot in #2391

New Contributors

Full Changelog: https://github.com/slackapi/bolt-js/compare/@slack/bolt@4.2.0...@slack/bolt@4.2.1

@slack/bolt@4.2.0

17 Dec 02:08
d07a70a
Compare
Choose a tag to compare

What's Changed

Hello! 👋 This release updates dependencies to keep packages secure and makes the logger of your app public for use outside of event listeners when using TypeScript! 🔐 🌲

const app = new App({ ... });

(async () => {
  await app.start(process.env.PORT || 3000);
  app.logger.info('⚡️ Bolt app is running!'); // The app logger can now be used here!
})();

🎁 Enhancements

  • feat: make the app logger attached to the app instance public in #2365 - thanks @zimeg!

🔐 Security

📚 Documentation

  • docs: show descriptions of function listener arguments in #2364 - thanks @zimeg!
  • docs: replace redirected or missing links to bolt documentation in #2367 - thanks @zimeg!

🧰 Maintenance

  • build: install @types/express@^v5 as a dev dependency for express@^5 in #2355 - thanks @zimeg!
  • ci: check for linting errors without writing required changes in #2357 - thanks @zimeg!
  • build: find the biome config schema from the installed path in #2363 - thanks @zimeg!
  • build: ignore autogenerated docusaurus files when running the formatter in #2362 - thanks @zimeg!
  • build: update the redirected repo homepage url to postfix js in #2370 - thanks @zimeg!

🤖 Dependencies

  • chore(deps): bump codecov/codecov-action from 4 to 5 in #2349 - thanks @dependabot!
  • chore(deps): bump the docusaurus group in /docs with 5 updates in #2350 - thanks @dependabot!
  • chore(deps): bump path-to-regexp from 1.8.0 to 1.9.0 in /docs in #2352 - thanks @dependabot!
  • chore(deps-dev): bump stylelint from 16.10.0 to 16.11.0 in /docs in #2351 - thanks @dependabot!
  • chore(deps): bump path-to-regexp and express in /docs in #2358 - thanks @dependabot!
  • chore(deps-dev): @types/node from 22.9.3 to 22.10.1 in #2359 - thanks @dependabot!
  • chore(deps): bump nanoid from 3.3.7 to 3.3.8 in /docs in #2368 - thanks @dependabot!
  • chore(deps-dev): @types/node from 22.10.1 to 22.10.2 in #2369 - thanks @dependabot!

Full Changelog: https://github.com/slackapi/bolt-js/compare/@slack/bolt@4.1.1...@slack/bolt@4.2.0

@slack/bolt@4.1.1

26 Nov 16:11
81e733f
Compare
Choose a tag to compare

What's Changed

Changelog

New Contributors

Full Changelog: https://github.com/slackapi/bolt-js/compare/@slack/bolt@4.1.0...@slack/bolt@4.1.1

@slack/bolt@4.1.2-rc.1

26 Nov 16:28
Compare
Choose a tag to compare
Pre-release

What's Changed

This pre-release contains the proposed socket-mode library fix addressing runaway connection spawning spiral behaviour observed in slackapi/node-slack-sdk#2094 and fixed in slackapi/node-slack-sdk#2099.

Developers wishing to evaluate the fix for their app may try out this pre-release.

Full Changelog: https://github.com/slackapi/bolt-js/compare/@slack/bolt@4.1.1...@slack/bolt@4.1.2-rc.1

@slack/bolt@4.1.0

01 Nov 18:59
9bcc680
Compare
Choose a tag to compare

What's Changed

Full Changelog: https://github.com/slackapi/bolt-js/compare/@slack/bolt@4.0.1...@slack/bolt@4.1.0

@slack/bolt@4.0.1

22 Oct 18:22
198d7c3
Compare
Choose a tag to compare

What's Changed

  • Fix a bug where parsing assistant thread message event fails for beta feature enabled apps by @seratch in #2298

Full Changelog: https://github.com/slackapi/bolt-js/compare/@slack/bolt@4.0.0...@slack/bolt@4.0.1

@slack/bolt@4.0.0

17 Oct 19:53
1555975
Compare
Choose a tag to compare

Bolt v4

What's Changed

New Features

Support for Agents & Assistants is now available!

Bolt now offers a simple and intuitive way to create an Agent/Assistant using the new Assistant class. Simply include the required callbacks and add the assistant to your App instance. Get up and running even quicker with a working, out-of-the-box example that utilizes OpenAI here.

Breaking Changes

We have prepared a migration guide to help BoltJS consumers migrate their Bolt v3 apps to v4.

While a few breaking changes were introduced, we don't expect a majority of bolt v3 users to require changing their apps to upgrade to v4. More complex apps may need a few tweaks. TL;DR is: if your bolt v3 app is built with TypeScript, or uses the ExpressReceiver or the AwsLambdaReceiver, or your app used previously-deprecated types or functions, best to read the migration guide.

Middleware Type Changes

In bolt we have a set of Slack*MiddlewareArgs types: for events, shortcuts, commands, and so on. They 'wrap' the underlying event payloads with additional middleware-relevant bits like a next() method, a context object for devs to augment, and so on.

Many of these types, for example the SlackEventMiddlewareArgs type, previously used a conditional to sometimes define particular additional helper utilities on the middleware arguments. For example, the say utility, or tacking on a convenience message property for message-event-related payloads. This was problematic in practice in TypeScript situations, not just internally (this change fixes #2135) within the bolt codebase but for developers as well: when the payload was not of a type that required the extra utility, these properties would be required to exist on the middleware arguments but have a value of undefined. Those of us trying to build generic middleware utilities would have to deal with TS compilation errors and needing to liberally type-cast to avoid these conditional mismatches with undefined.

Instead, these MiddlewareArgs types now conditionally create a type intersection when appropriate in order to provide this conditional-utility-extension mechanism. In practice that looks something like:

type SomeMiddlewareArgs<EventType extends string = string> = {
  // some type in here
} & (EventType extends 'message'
  // If this is a message event, add a `message` property
  ? { message: EventFromType<EventType> }
  : unknown
)

With the above, now when a message payload is wrapped up into middleware arguments, it will contain an appropriate message property, whereas a non-message payload will be intersected with unknown - effectively a type "noop." No more e.g. say: undefined or message: undefined to deal with!

Other Breaking Changes

  • drops node v14 and v16 (are now EOL'ed)
  • express to v4->v5; ExpressReceiver users will be exposed to express v4 -> v5 breaking changes - fixes #2242
  • upgrades to @slack/socket-mode v2; SocketModeReceiver users who have attached custom event listeners to the public socketModeClient directly should read the v1 -> v2 migration guide in case the major upgrade could affect them - fixes #2225
  • upgrades @slack/web-api v7; all users should read the web-api v6->v7 migration guide to see what the scope of breaking changes the client within listeners is affected by
  • removed exported type: KnownKeys
  • @slack/types now exist under a named export types.
  • removed the SocketModeFunctions class that had a single static method on it and instead directly exposed the defaultProcessEventErrorHandler method from it.
  • the built-in middleware functions ignoreSelf and directMention now no longer must be invoked as a method in order to return middleware; instead they are middleware to be used directly. this lines up the API for these built-in middlewares to match the other builtins.
  • AWSReceiver's AwsEvent interface now models event payloads a bit differently; we now properly model AWS API Gateway v1 and v2 payloads separately - fixes #2272
  • remove deprecated methods/modules/properties:
    • OptionsRequest interface
    • authed_users and authed_teams from event payload envelope
    • render-html-for-install-path module
    • verify and VerifyOptions from the verify-request module
    • src/receivers/http-utils.ts module

Non-breaking Changes

  • expose the bundled @slack/web-api dependency under the webApi named export
  • fixed an issue in AwsLambdaReceiver where apps with no registered handlers that processed an incoming event would still log out an error related to not acknowledging the request in time - fixes #2284
  • dependency updates:
    • upgrades raw-body to v3
    • upgrades @slack/oauth to v3
    • removes promise.allsettled since that is natively supported in node since v14
    • moves @types/tsscmp to dev dependencies since that is not exposed to developers

Changelog

Full Changelog: https://github.com/slackapi/bolt-js/compare/@slack/bolt@3.22.0...@slack/bolt@4.0.0

@slack/bolt@4.0.0-rc.4

09 Oct 16:47
Compare
Choose a tag to compare
Pre-release

Bolt v4 Release Candidate 4

A lot! We have prepared a migration guide to help bolt-js consumers migrate their bolt v 5F85 3 apps to v4.

What's Changed

Breaking Changes

Middleware Type Changes

In bolt we have a set of Slack*MiddlewareArgs types: for events, shortcuts, commands, and so on. They 'wrap' the underlying event payloads with additional middleware-relevant bits like a next() method, a context object for devs to augment, and so on.

Many of these types, for example the SlackEventMiddlewareArgs type, previously used a conditional to sometimes define particular additional helper utilities on the middleware arguments. For example, the say utility, or tacking on a convenience message property for message-event-related payloads. This was problematic in practice in TypeScript situations, not just internally (this change fixes #2135) within the bolt codebase but for developers as well: when the payload was not of a type that required the extra utility, these properties would be required to exist on the middleware arguments but have a value of undefined. Those of us trying to build generic middleware utilities would have to deal with TS compilation errors and needing to liberally type-cast to avoid these conditional mismatches with undefined.

Instead, these MiddlewareArgs types now conditionally create a type intersection when appropriate in order to provide this conditional-utility-extension mechanism. In practice that looks something like:

type SomeMiddlewareArgs<EventType extends string = string> = {
  // some type in here
} & (EventType extends 'message'
  // If this is a message event, add a `message` property
  ? { message: EventFromType<EventType> }
  : unknown
)

With the above, now when a message payload is wrapped up into middleware arguments, it will contain an appropriate message property, whereas a non-message payload will be intersected with unknown - effectively a type "noop." No more e.g. say: undefined or message: undefined to deal with!

Other Breaking Changes

  • drops node v14 and v16 (are now EOL'ed)
  • express to v4->v5; ExpressReceiver users will be exposed to express v4 -> v5 breaking changes
  • upgrades to @slack/socket-mode v2; SocketModeReceiver users who have attached custom event listeners to the public socketModeClient directly should read the v1 -> v2 migration guide in case the major upgrade could affect them
  • upgrades @slack/web-api v7; all users should read the web-api v6->v7 migration guide to see what the scope of breaking changes the client within listeners is affected by
  • removed exported type: KnownKeys
  • @slack/types now exist under a named export types.
  • removed the SocketModeFunctions class that had a single static method on it and instead directly exposed the defaultProcessEventErrorHandler method from it.
  • the built-in middleware functions ignoreSelf and directMention now no longer must be invoked as a method in order to return middleware; instead they are middleware to be used directly. this lines up the API for these built-in middlewares to match the other builtins.
  • AWSReceiver's AwsEvent interface now models event payloads a bit differently; we now properly model AWS API Gateway v1 and v2 payloads separately.
  • remove deprecated methods/modules/properties:
    • OptionsRequest interface
    • authed_users and authed_teams from event payload envelope
    • render-html-for-install-path module
    • verify and VerifyOptions from the verify-request module
    • src/receivers/http-utils.ts module

Non-breaking Changes

  • expose the bundled @slack/web-api dependency under the webApi named export
  • fixed an issue in AwsLambdaReceiver where apps with no registered handlers that processed an incoming event would still log out an error related to not acknowledging the request in time. Resolves #2284
  • dependency updates:
    • upgrades raw-body to v3
    • upgrades @slack/oauth to v3
    • removes promise.allsettled since that is natively supported in node since v14
    • moves @types/tsscmp to dev dependencies since that is not exposed to developers
0