# What changed in @slack/web-api

> 124 changes in @slack/web-api 7 to 8 from its official release notes, upgrade guides and advisories: 57 breaking, 7 deprecations, 1 security, 54 new APIs and options. Each one cited. Sources checked 2026-11-13. HTML: https://unstale.sh/npm/@slack/web-api/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @slack/web-api 8

### Breaking changes

- Removes Member.is_connector_bot from UsersListResponse because users.list does not return it; the flag is surfaced on bots.info. (8.1.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.1.0)
- Removes arg from UsersListResponse because it is an error-response echo field, not part of a successful users.list body. (8.1.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.1.0)
- The adapter option is removed; provide a custom fetch function instead. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The AdapterConfig type is removed; provide a custom fetch function instead. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The agent option is removed; configure proxies using Node.js proxy support or a custom fetch function. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- This option is removed, and the original error is now always attached to WebAPIRequestError. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- Errors are now Error subclasses, enabling instanceof checks, TypeScript narrowing, and descriptive error names. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- Error names now identify their respective error classes, so filters based on error.name may need updating. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- This exported factory function was removed; construct the corresponding error class instead. (8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The deprecated files.upload method is removed; use filesUploadV2 instead. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The default HTTP transport now uses the standard Fetch API, with globalThis.fetch as its default implementation. (8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- This factory function was removed; use new WebAPIHTTPError(...) instead. (8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- Node.js 20 or later is required; support for Node.js 18 is dropped. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- This factory function was removed; use new WebAPIPlatformError(...) instead. (8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- This factory function was removed; use new WebAPIRateLimitedError(...) instead. (8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The RequestConfig type is removed; use a fetch wrapper instead. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8)
- RequestConfig, an alias for Axios' InternalAxiosRequestConfig, was removed entirely. (8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- This factory function was removed; use new WebAPIRequestError(...) instead. (8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The requestInterceptor option is removed; wrap fetch to intercept or modify requests. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The RequestInterceptor type is removed; wrap fetch to intercept or modify requests. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The deprecated rtm.start method is removed; use rtm.connect instead. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The tls option is removed; configure TLS through a custom fetch function instead. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The TLSOptions export is removed; configure TLS through a custom fetch function instead. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- headers is now Record<string, string> instead of IncomingHttpHeaders, with values always plain strings. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The deprecated workflows.stepCompleted method is removed; no replacement is provided. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The deprecated workflows.stepFailed method is removed; no replacement is provided. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- The deprecated workflows.updateStep method is removed; no replacement is provided. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)

### Security

- API response bodies in debug logs are now redacted recursively into nested objects, preventing tokens from leaking when debug logging is enabled. (8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)

### Deprecations

- Deprecates alt_text in files.getUploadURLExternal arguments. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Deprecates alt_text; when passed to files.uploadV2, it is still sent as alt_txt. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- The interface is deprecated; use instanceof checks with specific error classes instead. (8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)

### New APIs and options

- Adds support for apps.user.connection.bulkUpdate. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds support for apps.user.connection.requestAuth. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds the canvases.getContent method. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds the code_channels app manifest feature to manifest types. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds the code_channels:manage bot scope to manifest types. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds alt_txt to files.getUploadURLExternal arguments. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds alt_txt to files.uploadV2 arguments so image alt text is saved. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds the optional include_slackbot_availability argument to team.info. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds team.slackbot_availability to the team.info response. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds the user_connection event to the app manifest types. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds the user_connection_status_requested event to the app manifest types. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds the auth_hosts field to the user_connections app manifest feature. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds the is_enabled field to the user_connections app manifest feature. (8.3.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.3.0)
- Adds a method for archiving Slack Code conversations. (8.2.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.2.0)
- Adds a method for creating Slack Code conversations. (8.2.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.2.0)
- Adds a method for getting a canvas in Slack Code conversations. (8.2.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.2.0)
- Adds a method for listing views in Slack Code conversations. (8.2.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.2.0)
- Adds a method for removing a view from Slack Code conversations. (8.2.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.2.0)
- Adds a method for setting canvas content in Slack Code conversations. (8.2.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.2.0)
- Adds a method for setting commands in Slack Code conversations. (8.2.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.2.0)
- Adds a method for setting Slack Code conversation properties. (8.2.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.2.0)
- Adds a method for setting a view in Slack Code conversations. (8.2.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.2.0)
- Adds support for the admin.users.getExpiration method. (8.1.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.1.0)
- Adds the agent_session response property to message-bearing responses. (8.1.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.1.0)
- Adds the agents.sessions.rename method. (8.1.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.1.0)
- Adds the agents.sessions.setStatus method. (8.1.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.1.0)
- Adds the blocks.validate method. (8.1.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.1.0)
- Adds connector and workflow flags to BotsInfoResponse. (8.1.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.1.0)
- Adds session_status to the chat.stopStream arguments. (8.1.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.1.0)
- Adds grouping, sort, and filter fields to ListView response types. (8.1.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.1.0)
- App manifest types now include the agent_view feature. (7.19.0, 8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.19.0)
- App manifest types now include this recent agent event. (7.19.0, 8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.19.0)
- App manifest types now include the assistant_view feature. (7.19.0, 8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.19.0)
- App manifest types now support optional OAuth scopes for bots. (8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- WebClientOptions accepts a fetch function for custom HTTP transport behavior; without one, the SDK uses globalThis.fetch. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- A new exported type is available for custom fetch implementations. (8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0)
- App manifest types now include event metadata_subscriptions. (7.19.0, 8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.19.0)
- App manifest types now support optional OAuth scopes for users. (7.19.0, 8.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.0.0), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.19.0)

### Behavior and default changes

- Request errors populate the standard Error.cause property with the underlying network error; original remains for backward compatibility. (8.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8)

### Fixes and other changes

- Reverts internal packages requiring ESM loading to support backward compatibility. (8.1.1) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%408.1.1)

## @slack/web-api 7

### Breaking changes

- TypeScript arguments must provide exactly one of request_id and app_id, and exactly one of enterprise_id and team_id; the latter pair requires one value. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7)
- TypeScript arguments for component_type, min_log_level, sort_direction, and source now accept only documented values. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- TypeScript arguments no longer allow both request_id and app_id, or both enterprise_id and team_id; one of enterprise_id or team_id is required. (7.0.0) — [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- TypeScript entity_type and policy_name arguments are restricted to USER and email_password, respectively. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- The argument must be the exact array ['im', 'mpim', 'call'], rather than an arbitrary string array. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- TypeScript arguments require nonempty channel_ids, team_ids, and user_ids; org_wide and team_id must follow mutually exclusive constraints. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- function_ids must be nonempty, and visibility is restricted to the documented enumeration. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- entity_ids and user_ids must be nonempty; sort_dir accepts only asc or desc. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- team_discoverability and discoverability accept only documented values, and channel_ids must be nonempty. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- channel_ids and user_ids must each contain at least one ID. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- team_id and include_deactivated_user_workspaces now have interdependent TypeScript constraints: provide team_id without a true flag, or set the flag true and omit team_id. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- TypeScript arguments must provide both team_id and user_id, or neither. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- collaborator_ids and workflow_ids must each contain at least one ID. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- sort_dir, sort, and source now accept only their listed values rather than arbitrary strings. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- Arguments are now required; pass an empty object when there are no arguments to provide. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- The manifest argument is now modeled as a detailed object instead of a string. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- Arguments are now required; pass an empty object when there are no arguments to provide. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- type accepts only link; link is required for bookmarks.add and remains optional for bookmarks.edit. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- Message-posting APIs require text, attachments, or blocks; text can be omitted with attachments or blocks. Additional constraints apply to as_user, username, icon_emoji, icon_url, reply_broadcast, and thread_ts. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- TypeScript arguments must specify exactly one of channel_id and invite_id. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- TypeScript arguments must specify exactly one of emails and user_ids. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- TypeScript arguments must specify exactly one of channel and users. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- File arguments now require content or file; thread_ts requires a channel argument; files arrays must be nonempty; remote file APIs require exactly one of file and external_id. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- The minimum supported and tested Node.js version is now 18. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.0.0)
- channel and timestamp are required, and file and file_comment are no longer supported arguments. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- Arguments must provide channel and timestamp together, or a file ID, or a file_comment ID. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- Arguments require channel and timestamp together, or a file ID, or a file_comment ID. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- change_type now accepts only added, removed, enabled, disabled, or updated rather than arbitrary strings. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- Arguments now accept either external_id or view_id, but not both. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- TypeScript method arguments no longer accept arbitrary or undocumented properties, and many methods enforce stricter argument combinations. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7), [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.0.0)

### Deprecations

- These methods are deprecated; use equivalent conversations.* APIs where available. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- These methods are deprecated; use equivalent conversations.* APIs where available. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- These methods are deprecated; use equivalent conversations.* APIs where available. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)
- These methods are deprecated; use equivalent conversations.* APIs where available. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)

### New APIs and options

- Added assistant_thread_started as a recent agent event. (7.19.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.19.0)
- Added bot_optional as an optional OAuth scope. (7.19.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.19.0)
- Adds a public read-only ts getter, allowing developers to fall back to chat.update when a stream expires server-side. (7.17.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.17.0)
- Adds highlight_type to files.completeUploadExternal and filesUploadV2 for optimistic rendering. (7.16.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.16.0)
- Adds the icon_emoji, icon_url, and username authorship arguments, allowing customization of the status message’s icon and displayed username. (7.15.2) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.15.2)
- Adds the icon_emoji, icon_url, and username authorship arguments, allowing customization of the stream message’s icon and displayed username. (7.15.2) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.15.2)
- Adds support for the apps.user.connection.update API method. (7.15.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.15.0)
- The canvases.create method now includes channel_id. (7.14.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.14.0)
- The chat stream helper supports appending structured content, and ChatStreamer and related options are exported from the package. (7.14.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.14.0)
- chat.appendStream, chat.startStream, and chat.stopStream now accept chunks for streaming structured content, including markdown text, plan updates, and task updates. (7.14.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.14.0)
- A task display mode option can be set at the start of chat streams. (7.14.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.14.0)
- Adds slackLists methods to the Web API client for managing lists, access, items, and downloads. (7.13.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.13.0)
- SearchMessagesArguments now supports cursor pagination. (7.12.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.12.0)
- @slack/web-api adds support for work objects. (7.12.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.12.0)
- Supports overriding the token when using fileUploadV2. (7.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.0.0)
- All views APIs accept either trigger_id or interactivity_pointer. (7.0.0) — [upgrade guide](https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v7), [upgrade guide](https://tools.slack.dev/node-slack-sdk/migration/migrating-web-api-package-to-v7)

### Behavior and default changes

- The thread_ts parameter is now optional when calling assistant.threads.setSuggestedPrompts. (7.18.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.18.0)
- Invocations no longer emit a warning about lack of fallback text. (7.0.0) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.0.0)

### Fixes and other changes

- Characters outside the Latin-1 range are URI-encoded in the user-agent header, preventing errors when process.title contains non-ASCII characters. (7.15.1) — [release notes](https://github.com/slackapi/node-slack-sdk/releases/tag/%40slack/web-api%407.15.1)
