# What changed in slack-bolt

> 16 changes in slack-bolt 1 from its official release notes, upgrade guides and advisories: 1 breaking, 5 new APIs and options. Each one cited. Sources checked 2026-10-27. HTML: https://unstale.sh/pypi/slack-bolt/

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

## slack-bolt 1

### Breaking changes

- Requires signatures when verifying ssl_check requests. (1.29.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.29.0)

### New APIs and options

- Adds authorship arguments to say_stream. (1.29.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.29.0)
- BoltAgent gains agent status-setting support. (1.28.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.28.0)
- Listeners for app.event and app.message can use say_stream to send streaming messages. (1.28.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.28.0)
- Listeners can receive set_status to show loading status when required event details are available. (1.28.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.28.0)
- Adds a helper for setting suggested prompts. (1.28.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.28.0)

### Behavior and default changes

- Initialization scope for set_suggested_prompts is widened to any DM. (1.30.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.30.0)
- When thread_ts is unavailable, agent.chat_stream(...) now defaults to the message ts. (1.28.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.28.0)

### Fixes and other changes

- Propagates Socket Mode retry_attempt and retry_reason to BoltRequest headers. (1.29.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.29.0)
- Handles malformed user and view payloads when extracting a team ID. (1.29.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.29.0)
- The Falcon async_resource adapter no longer uses the removed resp.body. (1.29.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.29.0)
- SignatureVerifier construction is deferred, allowing Socket Mode apps to initialize without a signing secret. (1.29.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.29.0)
- Fixes the channel_id API argument for set_status and set_suggested_prompts. (1.28.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.28.0)
- Fixes get_thread_context so it calls store.find() for user_message events. (1.28.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.28.0)
- Improves assistant middleware dispatch and injects kwargs in middleware. (1.28.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.28.0)
- Improves the robustness of payload extraction. (1.28.0) — [release notes](https://github.com/slackapi/bolt-python/releases/tag/v1.28.0)
