Skip to content

Docs: V5 migration#2949

Open
lukegalbraithrussell wants to merge 3 commits into
v5from
v5-migration
Open

Docs: V5 migration#2949
lukegalbraithrussell wants to merge 3 commits into
v5from
v5-migration

Conversation

@lukegalbraithrussell

Copy link
Copy Markdown
Contributor

Summary

Docs for the migration to v5

Requirements

@lukegalbraithrussell lukegalbraithrussell requested a review from a team as a code owner May 28, 2026 20:53
@changeset-bot

changeset-bot Bot commented May 28, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 1975fbd

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@codecov

codecov Bot commented May 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.29%. Comparing base (6779cf7) to head (1975fbd).
⚠️ Report is 13 commits behind head on v5.

Additional details and impacted files
@@            Coverage Diff             @@
##               v5    #2949      +/-   ##
==========================================
- Coverage   94.38%   94.29%   -0.10%     
==========================================
  Files          44       43       -1     
  Lines        7857     7323     -534     
  Branches      699      677      -22     
==========================================
- Hits         7416     6905     -511     
+ Misses        435      410      -25     
- Partials        6        8       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.


_Minimum Node.js version: 20_

Bolt for JS v5 follows the Node Slack SDK's shift from axios to the native [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). It also removes the deprecated Workflow Steps feature (retired by Slack in September 2024) and raises the minimum Node.js version to 20.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Bolt for JS v5 follows the Node Slack SDK's shift from axios to the native [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). It also removes the deprecated Workflow Steps feature (retired by Slack in September 2024) and raises the minimum Node.js version to 20.
Bolt for JS v5 follows the Node Slack SDK's shift from axios to the native [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API). It also removes the deprecated Workflow Steps from Apps feature (retired by Slack in September 2024) and raises the minimum Node.js version to 20.

@WilliamBergamin WilliamBergamin left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIce 💯

Comment on lines +51 to +79
##### Option A: programmatically call once at startup {#programmatically-call-startup}

```typescript
import http from 'node:http';
import { App } from '@slack/bolt';

http.setGlobalProxyFromEnv();

const app = new App({
token: process.env.SLACK_BOT_TOKEN,
signingSecret: process.env.SLACK_SIGNING_SECRET,
});
```

##### Option B: use an environment variable {#use-an-environment-variable}

```bash
NODE_USE_ENV_PROXY=1 HTTPS_PROXY=http://corporate.proxy:8080 node app.js
```

```typescript
import { App } from '@slack/bolt';

// No proxy configuration needed — globalThis.fetch respects the environment
const app = new App({
token: process.env.SLACK_BOT_TOKEN,
signingSecret: process.env.SLACK_SIGNING_SECRET,
});
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice order 🚀


---

### We've removed Workflow Steps from Apps {#removed-workflow-steps}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🪓 🚀

* The `oauth` package has been updated to v4.
* The `types` package has been updated to v3.

Three packages have more substantial breaking changes:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only two are mentioned below, is this intentional?

But there are 3 packages with more substantial changes socket-more, web-api and webhook

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants