{"id":"src_kdo4DiqnUvcn2p9bh8eWH","slug":"slack-python-sdk","name":"Python SDK","type":"github","url":"https://github.com/slackapi/python-slack-sdk","orgId":"org_uCGjZRWNOB7xih-u2_HNS","org":{"slug":"slack","name":"Slack"},"isPrimary":false,"metadata":"{\"changelogDetectedAt\":\"2026-04-18T13:03:24.557Z\"}","releaseCount":100,"releasesLast30Days":0,"avgReleasesPerWeek":0.2,"latestVersion":"v3.41.0","latestDate":"2026-03-12T16:09:09.000Z","changelogUrl":null,"hasChangelogFile":false,"lastFetchedAt":"2026-04-18T14:02:39.558Z","trackingSince":"2020-10-22T00:36:53.000Z","releases":[{"id":"rel_Xod3OdypcxYUzza4bKrSJ","version":"v3.41.0","title":"v3.41.0","summary":"<!-- Release notes generated using configuration in .github/release.yml at main -->\n\n## What's Changed\n### 🚀 Enhancements\n* feat: add support for app...","content":"<!-- Release notes generated using configuration in .github/release.yml at main -->\n\n## What's Changed\n### 🚀 Enhancements\n* feat: add support for apps.user.connection.update by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1835\n### 📦 Other changes\n* chore: add AGENTS.md and consolidate development scripts by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1836\n* chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1837\n* chore(deps): bump actions/stale from 10.1.1 to 10.2.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1838\n* chore(deps): bump actions/download-artifact from 7.0.0 to 8.0.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1839\n* chore(release): version 3.41.0 by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1841\n\n\n**Full Changelog**: https://github.com/slackapi/python-slack-sdk/compare/v3.40.1...v3.41.0\n**Milestone**: https://github.com/slackapi/python-slack-sdk/milestone/117?closed=1","publishedAt":"2026-03-12T16:09:09.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.41.0","media":[]},{"id":"rel_4u6LsOTqPbXj0yWkD_Kz5","version":"v3.40.1","title":"v3.40.1","summary":"<!-- Release notes generated using configuration in .github/release.yml at main -->\r\n\r\n## What's Changed\r\n### 🐛 Bug Fixes\r\n* fix: rely on naive datet...","content":"<!-- Release notes generated using configuration in .github/release.yml at main -->\r\n\r\n## What's Changed\r\n### 🐛 Bug Fixes\r\n* fix: rely on naive datetime for sqlalchemy by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1833\r\n### 📦 Other changes\r\n* chore(release): version 3.40.1 by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1834\r\n\r\n\r\n**Full Changelog**: https://github.com/slackapi/python-slack-sdk/compare/v3.40.0...v3.40.1\r\n**Milestone**: https://github.com/slackapi/python-slack-sdk/milestone/116?closed=1","publishedAt":"2026-02-18T21:39:07.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.40.1","media":[]},{"id":"rel_M9FAJbNiJt40Cfljalw0j","version":"v3.40.0","title":"v3.40.0","summary":"<!-- Release notes generated using configuration in .github/release.yml at main -->\r\n## Agent Thinking Steps: Display Tasks/Tools, Plans, and Markdown...","content":"<!-- Release notes generated using configuration in .github/release.yml at main -->\r\n## Agent Thinking Steps: Display Tasks/Tools, Plans, and Markdown Text\r\n\r\n### 🍿 Preview: Display as Plan\r\n\r\nhttps://github.com/user-attachments/assets/85219072-66ac-4d86-a18b-dd92689036ea\r\n\r\n### 🍿 Preview: Display as Timeline\r\n\r\nhttps://github.com/user-attachments/assets/4cb0bb5f-c70f-4304-b875-4dc262640a67\r\n\r\n### 📺 Chat Stream with 2 Display Mode\r\n\r\n- Plan Display Mode\r\n- Timeline Display Mode\r\n\r\n### 👾 Chat Stream Structured Content\r\n\r\nNow, you can display a mixture of structured content called \"chunks\":\r\n\r\n- 🔠 **Markdown Text Block** to format your text with standard markdown\r\n- ☑️ **Task Card Block** to display a single task, representing an AI Tool Call or general action\r\n- 🗒️ **Plan Block** to display a collection of related tasks\r\n- 📚 **URL Sources Element** to display references within a task card block\r\n\r\nAvailable in:\r\n- 🔌 API Methods: `chat_startStream`, `chat_appendStream`, and `chat_stopStream`\r\n- 🛟 Chat Stream Helper: `streamer = client.chat_stream(...)`, `streamer.append(...)`\r\n\r\n#### 📖 Documentation\r\n\r\n- **Announcements**\r\n    - [CHANGELOG](https://docs.slack.dev/changelog/2026/02/11/task-cards-plan-blocks)\r\n- **Guides**\r\n    - [AI in Slack Apps](https://docs.slack.dev/ai/developing-ai-apps#streaming)\r\n    - [Developing AI Apps (streaming section)](https://docs.slack.dev/ai/developing-ai-apps#streaming)\r\n    - [Sending and Scheduling Messages (streaming section)](https://docs.slack.dev/messaging/sending-and-scheduling-messages#text-streaming)\r\n- **Block Kit**\r\n    - [Plan Block](https://docs.slack.dev/reference/block-kit/blocks/plan-block)\r\n    - [Task Card Block](https://docs.slack.dev/reference/block-kit/blocks/task-card-block)\r\n    - [URL Source Element](https://docs.slack.dev/reference/block-kit/block-elements/url-source-element)\r\n- **References**\r\n    - API Methods: [chat.startStream](https://docs.slack.dev/reference/methods/chat.startstream), [chat.appendStream](https://docs.slack.dev/reference/methods/chat.appendstream), and [chat.stopStream](https://docs.slack.dev/reference/methods/chat.stopstream)\r\n    - [Python SDK Reference](https://docs.slack.dev/tools/python-slack-sdk/reference/index.html)\r\n\r\n#### 🍿 Getting Started\r\n\r\n```bash\r\n$ slack create\r\n\r\n# → AI Agent App\r\n#     Bolt for JavaScript\r\n#   → Bolt for Python\r\n```\r\n\r\n### 🕹️ Example\r\n\r\n```python\r\nstreamer = client.chat_stream(\r\n    channel=channel_id,\r\n    recipient_team_id=team_id,\r\n    recipient_user_id=user_id,\r\n    thread_ts=thread_ts,\r\n    task_display_mode=\"plan\",\r\n)\r\n\r\nstreamer.append(\r\n    chunks=[\r\n        MarkdownTextChunk(\r\n            text=\"Hello.\\nI have received the task. \",\r\n        ),\r\n        MarkdownTextChunk(\r\n            text=\"This task appears manageable.\\nThat is good.\",\r\n        ),\r\n        TaskUpdateChunk(\r\n            id=\"001\",\r\n            title=\"Understanding the task...\",\r\n            status=\"in_progress\",\r\n            details=\"- Identifying the goal\\n- Identifying constraints\",\r\n        ),\r\n        TaskUpdateChunk(\r\n            id=\"002\",\r\n            title=\"Performing acrobatics...\",\r\n            status=\"pending\",\r\n        ),\r\n    ],\r\n)\r\n\r\ntime.sleep(4)\r\n\r\nstreamer.append(\r\n    chunks=[\r\n        PlanUpdateChunk(\r\n            title=\"Adding the final pieces...\",\r\n        ),\r\n        TaskUpdateChunk(\r\n            id=\"001\",\r\n            title=\"Understanding the task...\",\r\n            status=\"complete\",\r\n            details=\"\\n- Pretending this was obvious\",\r\n            output=\"We'll continue to ramble now\",\r\n        ),\r\n        TaskUpdateChunk(\r\n            id=\"002\",\r\n            title=\"Performing acrobatics...\",\r\n            status=\"in_progress\",\r\n        ),\r\n    ],\r\n)\r\n\r\ntime.sleep(4)\r\n\r\nstreamer.stop(\r\n    chunks=[\r\n        PlanUpdateChunk(\r\n            title=\"Decided to put on a show\",\r\n        ),\r\n        TaskUpdateChunk(\r\n            id=\"002\",\r\n            title=\"Performing acrobatics...\",\r\n            status=\"complete\",\r\n            details=\"- Jumped atop ropes\\n- Juggled bowling pins\\n- Rode a single wheel too\",\r\n        ),\r\n        MarkdownTextChunk(\r\n            text=\"The crowd appears to be astounded and applauds :popcorn:\"\r\n        ),\r\n    ],\r\n    blocks=create_feedback_block(),\r\n)\r\n```\r\n\r\n---\r\n\r\n## What's Changed\r\n### 🚀 Enhancements\r\n* feat: add thinking steps support as chunks to chat stream with plan and task blocks by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1824\r\n### 🐛 Bug Fixes\r\n* fix: move away from datetime.utcfromtimestamp for the state and installation stores by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1798\r\n\r\n### 📚 Documentation\r\n\r\n* fix: broken link to CI from readme by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1805\r\n* docs: updates outmoded links by @lukegalbraithrussell in https://github.com/slackapi/python-slack-sdk/pull/1807\r\n\r\n### 📦 Dependencies\r\n\r\n* chore(deps): bump actions/checkout from 5.0.0 to 6.0.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1799\r\n* chore(deps): bump actions/setup-python from 6.0.0 to 6.1.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1800\r\n* chore(deps): bump docutils from 0.22.2 to 0.22.3 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1802\r\n* chore(deps): update mypy requirement from <=1.18.2 to <=1.19.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1801\r\n* chore(deps): bump actions/checkout from 6.0.0 to 6.0.1 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1817\r\n* chore(deps): bump actions/stale from 10.1.0 to 10.1.1 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1816\r\n* chore(deps): bump docutils from 0.22.3 to 0.22.4 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1812\r\n* chore(deps): bump codecov/codecov-action from 5.5.1 to 5.5.2 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1815\r\n* chore(deps): bump actions/download-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1813\r\n* chore(deps): bump actions/upload-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1814\r\n* chore(deps): bump black from 23.3.0 to 24.3.0 in /requirements by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1786\r\n* chore(deps): update mypy requirement from <=1.19.0 to <=1.19.1 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1827\r\n* chore(deps): bump actions/setup-python from 6.1.0 to 6.2.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1828\r\n* chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1829\r\n\r\n### 🧰 Maintenance\r\n* fix: improve CI and helper scripts by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1803\r\n* ci(deps): auto-approve / auto-merge dependencies from dependabot by @mwbrooks in https://github.com/slackapi/python-slack-sdk/pull/1830\r\n* chore(release): version 3.40.0 by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1831\r\n\r\n\r\n\r\n**Full Changelog**: https://github.com/slackapi/python-slack-sdk/compare/v3.39.0...v3.40.0\r\n**Milestone**: https://github.com/slackapi/python-slack-sdk/milestone/115","publishedAt":"2026-02-10T22:09:09.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.40.0","media":[]},{"id":"rel_SdjkZojmsZNRHg2Xrmn6D","version":"v3.40.0.dev0","title":"v3.40.0.dev0","summary":"<!-- Release notes generated using configuration in .github/release.yml at feat-ai-apps-thinking-steps -->\r\n\r\n## What's Changed\r\n### 🚀 Enhancements\r\n...","content":"<!-- Release notes generated using configuration in .github/release.yml at feat-ai-apps-thinking-steps -->\r\n\r\n## What's Changed\r\n### 🚀 Enhancements\r\n* feat: accept chunks as arguments to chat.{start,append,stop}Stream methods by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1806\r\n* feat: support and flush chunks in the chat stream helper by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1809\r\n* feat: add task_card and plan blocks by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1819\r\n* feat: add task_display_mode option to the start of chat streams by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1820\r\n* feat: add plan_update chunk for chat streaming by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1821\r\n### 🐛 Bug Fixes\r\n* fix: move away from datetime.utcfromtimestamp for the state and installation stores by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1798\r\n* fix: broken link to CI from readme by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1805\r\n### 📦 Other changes\r\n* chore(deps): bump actions/checkout from 5.0.0 to 6.0.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1799\r\n* chore(deps): bump actions/setup-python from 6.0.0 to 6.1.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1800\r\n* chore(deps): bump docutils from 0.22.2 to 0.22.3 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1802\r\n* chore(deps): update mypy requirement from <=1.18.2 to <=1.19.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1801\r\n* fix: improve CI and helper scripts by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1803\r\n\r\n\r\n**Full Changelog**: https://github.com/slackapi/python-slack-sdk/compare/v3.39.0...v3.40.0.dev0","publishedAt":"2026-01-17T00:37:51.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.40.0.dev0","media":[]},{"id":"rel_AK8obf552cdsKfuxZrbCL","version":"v3.39.0","title":"v3.39.0","summary":"## What's Changed\r\n\r\n### 🚀 Enhancements\r\n* feat: Add work objects support by @vegeris in https://github.com/slackapi/python-slack-sdk/pull/1783 and h...","content":"## What's Changed\r\n\r\n### 🚀 Enhancements\r\n* feat: Add work objects support by @vegeris in https://github.com/slackapi/python-slack-sdk/pull/1783 and https://github.com/slackapi/python-slack-sdk/pull/1793\r\n* feat(web-api): add slackLists methods by @srtaalej in https://github.com/slackapi/python-slack-sdk/pull/1772\r\n* feat: add table block by @codomposer in https://github.com/slackapi/python-slack-sdk/pull/1788\r\n\r\n### 📦 Other changes\r\n* fix: improve the release instructions by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1792\r\n* chore: Add .github/CODEOWNERS file by @mwbrooks in https://github.com/slackapi/python-slack-sdk/pull/1791\r\n* chore(release): version 3.39.0 by @vegeris in https://github.com/slackapi/python-slack-sdk/pull/1795\r\n\r\n## New Contributors\r\n* @vegeris made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1783\r\n\r\n**Full Changelog**: https://github.com/slackapi/python-slack-sdk/compare/v3.38.0...v3.39.0\r\n**Milestone**: https://github.com/slackapi/python-slack-sdk/milestone/114?closed=1","publishedAt":"2025-11-20T15:18:14.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.39.0","media":[]},{"id":"rel_m-3PCbOZv5UoILLPqeTh0","version":"v3.38.0","title":"v3.38.0","summary":"<!-- Release notes generated using configuration in .github/release.yml at main -->\r\n\r\n## What's Changed\r\n### 🚀 Enhancements\r\n* feat(models): add und...","content":"<!-- Release notes generated using configuration in .github/release.yml at main -->\r\n\r\n## What's Changed\r\n### 🚀 Enhancements\r\n* feat(models): add underline to rich text section block element by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1771\r\n* feat: support python 3.14 by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1784\r\n* use filename for uploaded files by @codomposer in https://github.com/slackapi/python-slack-sdk/pull/1774\r\n### 🐛 Bug Fixes\r\n* fix: remove unused mypy ignore type comments by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1769\r\n* docs(oauth): use a variable \"base_dir\" home path for file stores by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1760\r\n### 📚 Documentation\r\n* docs: corrects typo in reference url on landing page by @lukegalbraithrussell in https://github.com/slackapi/python-slack-sdk/pull/1779\r\n* docs: link to context actions block and related reference by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1789\r\n### 📦 Other changes\r\n* ci: send regression notifications if prior jobs do not succeed on schedule by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1768\r\n* chore(deps): bump actions/stale from 10.0.0 to 10.1.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1776\r\n* chore(deps): bump black from 22.10.0 to 23.3.0 by @dependabot[bot] in https://github.com/slackapi/python-slack-sdk/pull/1775\r\n* fix: dependabot config to ignore `black` by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1778\r\n* chore: automate release process by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1781\r\n* chore: add a formatter script for maintainers by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1785\r\n* ci: upload test results using the recommended codecov action by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1787\r\n* chore(release): version 3.38.0 by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1790\r\n\r\n## New Contributors\r\n* @codomposer made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1774\r\n\r\n**Full Changelog**: https://github.com/slackapi/python-slack-sdk/compare/v3.37.0...v3.38.0\r\n**Milestone**: https://github.com/slackapi/python-slack-sdk/milestone/113?closed=1","publishedAt":"2025-11-13T15:56:52.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.38.0","media":[]},{"id":"rel_gLV0mMt1Obct1smyiLDed","version":"v3.37.0","title":"v3.37.0","summary":"## AI-Enabled Features: Loading States, Text Streaming, and Feedback Buttons\r\n\r\n### 🍿 Preview\r\n\r\nhttps://github.com/user-attachments/assets/bc16597b-...","content":"## AI-Enabled Features: Loading States, Text Streaming, and Feedback Buttons\r\n\r\n### 🍿 Preview\r\n\r\nhttps://github.com/user-attachments/assets/bc16597b-1632-46bb-b7aa-fe22330daf84\r\n\r\n### 📚 Changelog\r\n\r\n* https://docs.slack.dev/changelog/2025/10/7/chat-streaming\r\n\r\n### ⚡ Getting Started\r\n\r\nTry the AI Agent Sample app to explore the AI-enabled features and existing Assistant helper:\r\n\r\n```bash\r\n# Create a new AI Agent app\r\n$ slack create slack-ai-agent-app --template slack-samples/bolt-python-assistant-template\r\n$ cd slack-ai-agent-app/\r\n\r\n# Initialize Python Virtual Environment\r\n$ python3 -m venv .venv\r\n$ source .venv/bin/activate\r\n$ pip install -r requirements.txt\r\n\r\n# Add your OPENAI_API_KEY\r\n$ export OPENAI_API_KEY=sk-proj-ahM...\r\n\r\n# Run the local dev server\r\n$ slack run\r\n```\r\n\r\nAfter the app starts, send a message to the \"slack-ai-agent-app\" bot for a unique response.\r\n\r\n### ⌛ Loading States\r\n\r\nLoading states allows you to not only set the status (e.g. \"My app is typing...\") but also sprinkle some personality by cycling through a collection of loading messages:\r\n\r\n```python\r\n@app.message()\r\ndef handle_message(message, client):\r\n    client.assistant_threads_setStatus(\r\n        channel_id=channel_id,\r\n        thread_ts=thread_ts,\r\n        status=\"thinking...\",\r\n        loading_messages=[\r\n            \"Teaching the hamsters to type faster…\",\r\n            \"Untangling the internet cables…\",\r\n            \"Consulting the office goldfish…\",\r\n            \"Polishing up the response just for you…\",\r\n            \"Convincing the AI to stop overthinking…\",\r\n        ],\r\n    )\r\n\r\n    # Start a new message stream\r\n```\r\n\r\n- https://docs.slack.dev/reference/methods/assistant.threads.setStatus\r\n\r\n### 🔮 Text Streaming Helper\r\n\r\nThe `chat_stream()` helper utility can be used to streamline calling the 3 text streaming methods:\r\n\r\n```python\r\n# Start a new message stream\r\nstreamer = client.chat_stream(\r\n    channel=channel_id,\r\n    recipient_team_id=team_id,\r\n    recipient_user_id=user_id,\r\n    thread_ts=thread_ts,\r\n)\r\n\r\n# Loop over OpenAI response stream\r\n# https://platform.openai.com/docs/api-reference/responses/create\r\nfor event in returned_message:\r\n    if event.type == \"response.output_text.delta\":\r\n        streamer.append(markdown_text=f\"{event.delta}\")\r\n    else:\r\n        continue\r\n\r\nfeedback_block = create_feedback_block()\r\nstreamer.stop(blocks=feedback_block)\r\n```\r\n\r\n- https://docs.slack.dev/tools/python-slack-sdk/reference/web/chat_stream.html\r\n\r\n### 🔠 Text Streaming Methods\r\n\r\nAlternative to the Text Streaming Helper is to call the individual methods.\r\n\r\n#### 1) `client.chat_startStream`\r\n\r\nFirst, start a chat text stream to stream a response to any message:\r\n\r\n```python\r\n@app.message()\r\ndef handle_message(client, context, event, messsage):\r\n    # Start a new message stream\r\n    stream_response = client.chat_startStream(\r\n        channel=channel_id,\r\n        recipient_team_id=team_id,\r\n        recipient_user_id=user_id,\r\n        thread_ts=thread_ts,\r\n    )\r\n    stream_ts = stream_response[\"ts\"]\r\n```\r\n\r\n- https://docs.slack.dev/reference/methods/chat.startStream\r\n\r\n#### 2) `client.chat_appendStream`\r\n\r\nAfter starting a chat text stream, you can then append text to it in chunks (often from your favourite LLM SDK) to convey a streaming effect:\r\n\r\n```python\r\nfor event in returned_message:\r\n    if event.type == \"response.output_text.delta\":\r\n        client.chat_appendStream(\r\n            channel=channel_id, \r\n            ts=stream_ts, \r\n            markdown_text=f\"{event.delta}\"\r\n        )\r\n    else:\r\n        continue\r\n```\r\n\r\n- https://docs.slack.dev/reference/methods/chat.appendStream\r\n\r\n#### 3) `client.chat_stopStream`\r\n\r\nLastly, you can stop the chat text stream to finalize your message:\r\n\r\n```python\r\nclient.chat_stopStream(\r\n    channel=channel_id, \r\n    ts=stream_ts,\r\n    blocks=feedback_block\r\n)\r\n```\r\n\r\n- https://docs.slack.dev/reference/methods/chat.stopStream\r\n\r\n### 👍🏻 Feedback Buttons\r\n\r\nAdd feedback buttons to the bottom of a message, after stopping a text stream, to gather user feedback:\r\n\r\n```python\r\ndef create_feedback_block() -> List[Block]:\r\n    blocks: List[Block] = [\r\n        ContextActionsBlock(\r\n            elements=[\r\n                FeedbackButtonsElement(\r\n                    action_id=\"feedback\",\r\n                    positive_button=FeedbackButtonObject(\r\n                        text=\"Good Response\",\r\n                        accessibility_label=\"Submit positive feedback on this response\",\r\n                        value=\"good-feedback\",\r\n                    ),\r\n                    negative_button=FeedbackButtonObject(\r\n                        text=\"Bad Response\",\r\n                        accessibility_label=\"Submit negative feedback on this response\",\r\n                        value=\"bad-feedback\",\r\n                    ),\r\n                )\r\n            ]\r\n        )\r\n    ]\r\n    return blocks\r\n\r\n@app.message()\r\ndef handle_message(client, context, event, message):\r\n    # ... previous streaming code ...\r\n    \r\n    # Stop the stream and add feedback buttons\r\n    feedback_block = create_feedback_block()\r\n    client.chat_stopStream(\r\n        channel=channel_id, \r\n        ts=stream_ts, \r\n        blocks=feedback_block\r\n    )\r\n```\r\n\r\n- https://docs.slack.dev/reference/block-kit/blocks/context-actions-block/\r\n- https://docs.slack.dev/reference/block-kit/block-elements/feedback-buttons-element/\r\n- https://docs.slack.dev/reference/block-kit/block-elements/icon-button-element/\r\n\r\n## Ⓜ️ Markdown Text Support\r\n\r\n### `chat_postMessage` supports `markdown_text`\r\n\r\n```python\r\nresponse = client.chat_postMessage(\r\n    channel=\"C111\",\r\n    markdown_text=markdown_content,\r\n)\r\n```\r\n\r\nLearn more in https://github.com/slackapi/python-slack-sdk/pull/1718\r\n\r\n### 🧩 Markdown Block\r\n\r\n> 📚 https://docs.slack.dev/reference/block-kit/blocks/markdown-block/\r\n\r\n```python\r\nfrom slack_sdk.models.blocks import MarkdownBlock\r\n...\r\n\r\n@app.message(\"hello\")\r\ndef message_hello(say):\r\n    say(\r\n        blocks=[\r\n            MarkdownBlock(text=\"**lets's go!**\"),\r\n        ],\r\n        text=\"let's go!\",\r\n    )\r\n```\r\n\r\nLearn more in https://github.com/slackapi/python-slack-sdk/pull/1748\r\n\r\n## 🎞️ Workflows Featured Methods\r\n\r\nAdd support for the `workflows.featured.{add|list|remove|set}` methods:\r\n\r\n* https://docs.slack.dev/reference/methods/workflows.featured.add\r\n* https://docs.slack.dev/reference/methods/workflows.featured.list\r\n* https://docs.slack.dev/reference/methods/workflows.featured.remove\r\n* https://docs.slack.dev/reference/methods/workflows.featured.set\r\n\r\n```python\r\napp.client.workflows_featured_add(channel_id=\"C0123456789\", trigger_ids=[\"Ft0123456789\"])\r\napp.client.workflows_featured_list(channel_ids=\"C0123456789\")\r\napp.client.workflows_featured_remove(channel_id=\"C0123456789\", trigger_ids=[\"Ft0123456789\"])\r\napp.client.workflows_featured_set(channel_id=\"C0123456789\", trigger_ids=[\"Ft0123456789\"])\r\n````\r\n\r\nLearn more in https://github.com/slackapi/python-slack-sdk/pull/1712\r\n\r\n## What's Changed\r\n\r\n### 👾 Enhancements\r\n\r\n* feat(web): add workflows.featured.{add|list|remove|set} methods in https://github.com/slackapi/python-slack-sdk/pull/1712 - Thanks @zimeg!\r\n* feat: support markdown_text parameter in https://github.com/slackapi/python-slack-sdk/pull/1718 - Thanks @WilliamBergamin!\r\n* feat(models): add markdown block in https://github.com/slackapi/python-slack-sdk/pull/1748 - Thanks @zimeg!\r\n* feat: add ai-enabled features text streaming methods, feedback blocks, and loading state in https://github.com/slackapi/python-slack-sdk/pull/1766 - Thanks @zimeg!\r\n\r\n### 🐛 Bug fixes\r\n\r\n* Make team_id optional for admin_users_list in https://github.com/slackapi/python-slack-sdk/pull/1725 - Thanks @hello-ashleyintech!\r\n\r\n### 📚 Documentation\r\n\r\n* Fix python package name in installation guide in https://github.com/slackapi/python-slack-sdk/pull/1719 - Thanks @daviesian!\r\n* docs: replace links from api.slack.com to docs.slack.dev redirects in https://github.com/slackapi/python-slack-sdk/pull/1763 - Thanks @zimeg!\r\n\r\n### 🤖 Dependencies\r\n\r\n* chore(deps): bump on-headers and compression in /docs in https://github.com/slackapi/python-slack-sdk/pull/1710 - Thanks @dependabot[bot]!\r\n* chore(deps): bump docutils from 0.21.2 to 0.22 in https://github.com/slackapi/python-slack-sdk/pull/1721 - Thanks @dependabot[bot]!\r\n* chore(deps): update pytest-asyncio requirement from <1 to <2 in https://github.com/slackapi/python-slack-sdk/pull/1722 - Thanks @dependabot[bot]!\r\n* chore(deps): bump the react group in /docs with 2 updates in https://github.com/slackapi/python-slack-sdk/pull/1723 - Thanks @dependabot[bot]!\r\n* chore(deps): bump actions/checkout from 4.2.2 to 5.0.0 in https://github.com/slackapi/python-slack-sdk/pull/1734 - Thanks @dependabot[bot]!\r\n* chore(deps): bump codecov/codecov-action from 5.4.3 to 5.5.0 in https://github.com/slackapi/python-slack-sdk/pull/1733 - Thanks @dependabot[bot]!\r\n* chore(deps): bump actions/setup-python from 5.6.0 to 6.0.0 in https://github.com/slackapi/python-slack-sdk/pull/1737 - Thanks @dependabot[bot]!\r\n* chore(deps): bump actions/stale from 9.1.0 to 10.0.0 in https://github.com/slackapi/python-slack-sdk/pull/1738 - Thanks @dependabot[bot]!\r\n* chore(deps): bump codecov/codecov-action from 5.5.0 to 5.5.1 in https://github.com/slackapi/python-slack-sdk/pull/1739 - Thanks @dependabot[bot]!\r\n* chore(deps): update pytest-cov requirement from <7,>=2 to >=2,<8 in https://github.com/slackapi/python-slack-sdk/pull/1741 - Thanks @dependabot[bot]!\r\n* chore(deps): update mypy requirement from <=1.15.0 to <=1.17.1 in https://github.com/slackapi/python-slack-sdk/pull/1740 - Thanks @dependabot[bot]!\r\n* chore(deps): update mypy requirement from <=1.17.1 to <=1.18.2 in https://github.com/slackapi/python-slack-sdk/pull/1758 - Thanks @dependabot[bot]!\r\n* chore(deps): bump docutils from 0.22 to 0.22.2 in https://github.com/slackapi/python-slack-sdk/pull/1757 - Thanks @dependabot[bot]!\r\n\r\n### 🧰 Maintenance\r\n\r\n* Build: remove docusaurus configuration files in https://github.com/slackapi/python-slack-sdk/pull/1716 - Thanks @lukegalbraithrussell!\r\n* chore: remove 3.6 references  in https://github.com/slackapi/python-slack-sdk/pull/1735 - Thanks @ewanek1!\r\n* chore: clean up project based on 3.6 removal in https://github.com/slackapi/python-slack-sdk/pull/1736 - Thanks @WilliamBergamin!\r\n* version 3.37.0 in https://github.com/slackapi/python-slack-sdk/pull/1767 - Thanks @zimeg!\r\n\r\n\r\n## New Contributors 🎉 \r\n\r\n* @daviesian made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1719\r\n* @ewanek1 made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1735\r\n\r\n**Milestone**: https://github.com/slackapi/python-slack-sdk/milestone/112\r\n**Full Changelog**: https://github.com/slackapi/python-slack-sdk/compare/v3.36.0...v3.37.0\r\n**Package**: https://pypi.org/project/slack-sdk/3.37.0/","publishedAt":"2025-10-07T02:16:28.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.37.0","media":[]},{"id":"rel_HI0DFulQ2C5ZI3o7kWv0u","version":"v3.36.0","title":"v3.36.0","summary":"## What's changed\r\n\r\n### 👾 Enhancements\r\n\r\n* feat: add support for elevate methods in https://github.com/slackapi/python-slack-sdk/pull/1703 - Thanks...","content":"## What's changed\r\n\r\n### 👾 Enhancements\r\n\r\n* feat: add support for elevate methods in https://github.com/slackapi/python-slack-sdk/pull/1703 - Thanks @WilliamBergamin!\r\n\r\n### 🧪 Tests\r\n\r\n* tests: add tests to ensure web client is copyable in https://github.com/slackapi/python-slack-sdk/pull/1682 - Thanks @WilliamBergamin!\r\n* chore: remove 3.6 CI support in https://github.com/slackapi/python-slack-sdk/pull/1683 - Thanks @WilliamBergamin!\r\n* fix: aiohttp test_init_with_loop broken test in https://github.com/slackapi/python-slack-sdk/pull/1697 - Thanks @WilliamBergamin!\r\n\r\n### 📚 Documentation\r\n\r\n* docs: reference creating an app with scopes to gather a token for installation in https://github.com/slackapi/python-slack-sdk/pull/1694 - Thanks @zimeg!\r\n* Docs: Update old links, apply style guide, and generally copyedit/clean up the Python SDK docs. in https://github.com/slackapi/python-slack-sdk/pull/1699 - Thanks @technically-tracy!\r\n\r\n### 🤖 Dependencies\r\n\r\n* chore(deps): bump @babel/helpers from 7.26.0 to 7.27.0 in /docs in https://github.com/slackapi/python-slack-sdk/pull/1678 - Thanks @dependabot!\r\n* chore(deps): bump @babel/runtime-corejs3 from 7.26.9 to 7.27.0 in /docs in https://github.com/slackapi/python-slack-sdk/pull/1679 - Thanks @dependabot!\r\n* chore(deps): bump @babel/runtime from 7.26.0 to 7.27.0 in /docs in https://github.com/slackapi/python-slack-sdk/pull/1680 - Thanks @dependabot!\r\n* chore(deps): bump pdoc3 from 0.11.5 to 0.11.6 in https://github.com/slackapi/python-slack-sdk/pull/1684 - Thanks @dependabot!\r\n* chore(deps): bump the react group in /docs with 2 updates in https://github.com/slackapi/python-slack-sdk/pull/1685 - Thanks @dependabot!\r\n* chore(deps): bump image-size from 1.2.0 to 1.2.1 in /docs in https://github.com/slackapi/python-slack-sdk/pull/1686 - Thanks @dependabot!\r\n* chore(deps): bump estree-util-value-to-estree from 3.3.2 to 3.3.3 in /docs in https://github.com/slackapi/python-slack-sdk/pull/1687 - Thanks @dependabot!\r\n* chore(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 in /docs in https://github.com/slackapi/python-slack-sdk/pull/1689 - Thanks @dependabot!\r\n* chore(deps): bump the docusaurus group in /docs with 5 updates in https://github.com/slackapi/python-slack-sdk/pull/1696 - Thanks @dependabot!\r\n* chore(deps): bump codecov/test-results-action from 1.1.0 to 1.1.1 in https://github.com/slackapi/python-slack-sdk/pull/1695 - Thanks @dependabot!\r\n* chore(deps): bump the docusaurus group in /docs with 5 updates in https://github.com/slackapi/python-slack-sdk/pull/1705 - Thanks @dependabot!\r\n* chore(deps): bump brace-expansion from 1.1.11 to 1.1.12 in /docs in https://github.com/slackapi/python-slack-sdk/pull/1706 - Thanks @dependabot!\r\n\r\n### 🧰 Maintenance\r\n\r\n* health: publish test results to code cov in https://github.com/slackapi/python-slack-sdk/pull/1677 - Thanks @WilliamBergamin!\r\n* ci: pin actions workflow step hashes and use minimum permissions in https://github.com/slackapi/python-slack-sdk/pull/1691 - Thanks @zimeg!\r\n* chore: increase the robustness of the uninstall script in https://github.com/slackapi/python-slack-sdk/pull/1704 - Thanks @WilliamBergamin!\r\n* chore(release): version 3.36.0 in https://github.com/slackapi/python-slack-sdk/pull/1707 - Thanks @zimeg!\r\n\r\n**Milestone**: https://github.com/slackapi/python-slack-sdk/milestone/111\r\n**Full Changelog**: https://github.com/slackapi/python-slack-sdk/compare/v3.35.0...v3.36.0","publishedAt":"2025-07-09T21:05:40.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.36.0","media":[]},{"id":"rel_wNsl4kr1U4-c8_ySWKILB","version":"v3.35.0","title":"version 3.35.0","summary":"## What's Changed\r\n### ➕ features\r\n* feat: #1276 add Asyncio SQLAlchemy support by @galuszkak in https://github.com/slackapi/python-slack-sdk/pull/163...","content":"## What's Changed\r\n### ➕ features\r\n* feat: #1276 add Asyncio SQLAlchemy support by @galuszkak in https://github.com/slackapi/python-slack-sdk/pull/1633\r\n* feat: add `channels` param to files.upload v2 method by @seratch in https://github.com/slackapi/python-slack-sdk/pull/1641\r\n* feat: support pathlike objects in upload util by @allen-pattern in https://github.com/slackapi/python-slack-sdk/pull/1656\r\n* feat: WebClient/AsyncWebClient expose logger property by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1671\r\n\r\n### 🐛 fixes\r\n* fix: #1622 Additional check for exceptions from aiohttp by @lingfish in https://github.com/slackapi/python-slack-sdk/pull/1632\r\n* fix: #1611 Add expand attribute to SectionBlock by @seratch in https://github.com/slackapi/python-slack-sdk/pull/1635\r\n* fix: #1636 Custom Values passed into correctly into Bot/Installation class when cloned during token rotation by @seratch in https://github.com/slackapi/python-slack-sdk/pull/1638\r\n* fix: Remove quotes from cookie value in OAuthStateUtils by @memben in https://github.com/slackapi/python-slack-sdk/pull/1648\r\n* fix: max length for static option values by @xoob in https://github.com/slackapi/python-slack-sdk/pull/1655\r\n\r\n### 📚 docs\r\n* docs: Syncing config files with Deno Slack SDK and Slack CLI docs by @slackapi in https://github.com/slackapi/python-slack-sdk/pull/1619\r\n* docs: Move Python OAuth Scopes and Uploading files with Python SDK tutorials to Python SDK site. by @technically-tracy in https://github.com/slackapi/python-slack-sdk/pull/1657\r\n* docs: matches site css to slack.dev and  docs.slack.dev by @slackapi in https://github.com/slackapi/python-slack-sdk/pull/1660\r\n* fixes broken apps navbar link by @slackapi in https://github.com/slackapi/python-slack-sdk/pull/1666\r\n* docs: `channel_id` instead of `channel` in `files_upload_v2` documentation by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1670\r\n\r\n### 🏗️ maintenance\r\n* health: move away from setup.py by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1623\r\n* health: move to mypy by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1620\r\n* health: remove pytest-runner from build-system.requires by @musicinmybrain in https://github.com/slackapi/python-slack-sdk/pull/1659\r\n* docs: include packaging script steps in the maintainers guide by @zimeg in https://github.com/slackapi/python-slack-sdk/pull/1672\r\n* fix: configure dependabot to group react deps by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1664\r\n* chore: version 3.35.0 by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1674\r\n\r\n### :dependabot: dependabot\r\n* chore(deps): bump pdoc3 from 0.11.3 to 0.11.5 by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1625\r\n* chore(deps): update mypy requirement from <=1.13.0 to <=1.14.1 by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1626\r\n* chore(deps): bump prism-react-renderer from 2.4.0 to 2.4.1 in /docs by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1627\r\n* chore(deps): bump actions/stale from 9.0.0 to 9.1.0 by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1646\r\n* chore(deps): bump the docusaurus group in /docs with 5 updates by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1643\r\n* chore(deps): update psutil requirement from <7,>=6.0.0 to >=6.0.0,<8 by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1661\r\n* chore(deps): update websockets requirement from <15,>=9.1 to >=9.1,<16 by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1662\r\n* chore(deps): update mypy requirement from <=1.14.1 to <=1.15.0 by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1663\r\n* chore(deps): bump the react group in /docs with 2 updates by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1665\r\n* chore(deps): bump prismjs from 1.29.0 to 1.30.0 in /docs by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1668\r\n\r\n## New Contributors\r\n* @lingfish made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1632\r\n* @galuszkak made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1633\r\n* @memben made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1648\r\n* @xoob made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1655\r\n* @technically-tracy made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1657\r\n* @musicinmybrain made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1659\r\n* @allen-pattern made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1656\r\n---\r\n* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/108?closed=1\r\n* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.34.0...v3.35.0","publishedAt":"2025-03-17T15:49:48.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.35.0","media":[]},{"id":"rel_79e_qHM7gWR_FLvGNPipM","version":"v3.34.0","title":"version 3.34.0","summary":"## Changes\r\n\r\n* feat: add support for python 3.13 by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1614\r\n* fix: 'ClientConnect...","content":"## Changes\r\n\r\n* feat: add support for python 3.13 by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1614\r\n* fix: 'ClientConnection' object has no attribute 'closed' when using socket mode with asyncio by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1613\r\n* build: improve the stability of flaky tests by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1615\r\n* build: enable tests that are now stable by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1617\r\n\r\n### Dependabot\r\n* Bump path-to-regexp and express in /docs by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1610\r\n* chore(deps): bump nanoid from 3.3.7 to 3.3.8 in /docs by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1616\r\n\r\n---\r\n* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/110?closed=1\r\n* All changes:  https://github.com/slackapi/python-slack-sdk/compare/v3.33.5...v3.34.0\r\n","publishedAt":"2024-12-17T22:26:57.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.34.0","media":[]},{"id":"rel_VmVh4yNpAK5DKxmNoMzYX","version":"v3.33.5","title":"version 3.33.5","summary":"## Changes\r\n\r\n* #1594 #1598 #1541 Improve WebClient's slack.com url overwriting experience - Thanks @HTSagara @WilliamBergamin \r\n* #1609 SocketModeCli...","content":"## Changes\r\n\r\n* #1594 #1598 #1541 Improve WebClient's slack.com url overwriting experience - Thanks @HTSagara @WilliamBergamin \r\n* #1609 SocketModeClient expose asyncio event loop param - Thanks @jantman \r\n* #1602 Improve unit tests' mock server implementation - Thanks @WilliamBergamin \r\n* #1608 \"channel_id\" instead of \"channel\" in \"files_upload_v2\" code example - Thanks @wefi-nick\r\n\r\n---\r\n* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/109?closed=1\r\n* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.33.4...v3.33.5","publishedAt":"2024-12-05T04:05:53.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.33.5","media":[]},{"id":"rel_W4TW4h6W2sxm42KeuPRoY","version":"v3.33.4","title":"version 3.33.4","summary":"## Changes\r\n\r\n* #1593 Error with socket_mode_handler.connect_async(), not passing bytes to ping w/ aiohttp 3.11 - Thanks @jasonwbarnett @bdraco @kevid...","content":"## Changes\r\n\r\n* #1593 Error with socket_mode_handler.connect_async(), not passing bytes to ping w/ aiohttp 3.11 - Thanks @jasonwbarnett @bdraco @keviddles \r\n\r\n---\r\n* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/107?closed=1\r\n* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.33.3...v3.33.4","publishedAt":"2024-11-19T03:40:14.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.33.4","media":[]},{"id":"rel_i8BSaVBC4qZUdPs-T8XjV","version":"v3.33.3","title":"version 3.33.3","summary":"## Changes\r\n\r\n* #1576 Enable rich_text_* elements to have an empty 'elements' property - Thanks @seratch \r\n\r\n---\r\n* All issues/pull requests: https://...","content":"## Changes\r\n\r\n* #1576 Enable rich_text_* elements to have an empty 'elements' property - Thanks @seratch \r\n\r\n---\r\n* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/106?closed=1\r\n* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.33.2...v3.33.3","publishedAt":"2024-10-30T01:38:14.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.33.3","media":[]},{"id":"rel_TLmLX4GLBLVsfZZ3kaJ7o","version":"v3.33.2","title":"version 3.33.2","summary":"## Changes\r\n\r\n* #1572 Fix #1571 initial_value for RichTextInputElement should also accept type RichTextBlock - Thanks @macintacos @seratch \r\n* #1574 S...","content":"## Changes\r\n\r\n* #1572 Fix #1571 initial_value for RichTextInputElement should also accept type RichTextBlock - Thanks @macintacos @seratch \r\n* #1574 Switch canvases.* APIs to application/json format for more stability - Thanks @seratch \r\n\r\n---\r\n* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/105?closed=1\r\n* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.33.1...v3.33.2","publishedAt":"2024-10-25T05:39:33.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.33.2","media":[]},{"id":"rel_jr88udvfFH3I7JIW7IN9A","version":"v3.33.1","title":"version 3.33.1","summary":"## Changes\r\n\r\n* Enable WebClient#assistant_threads_setSuggestedPrompts to skip title param - Thanks @seratch \r\n\r\n---\r\n* All issues/pull requests: http...","content":"## Changes\r\n\r\n* Enable WebClient#assistant_threads_setSuggestedPrompts to skip title param - Thanks @seratch \r\n\r\n---\r\n* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/104?closed=1\r\n* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.33.0...v3.33.1","publishedAt":"2024-09-19T09:09:42.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.33.1","media":[]},{"id":"rel_SMELU__TIRwnhel3h_AKQ","version":"v3.33.0","title":"version 3.33.0","summary":"## Changes\r\n\r\n* #1563 Add assistant.threads.* APIs - Thanks @seratch \r\n* #1560 Fix RichTextElementParts.Date.timestamp to be an int - Thanks @PaarthSh...","content":"## Changes\r\n\r\n* #1563 Add assistant.threads.* APIs - Thanks @seratch \r\n* #1560 Fix RichTextElementParts.Date.timestamp to be an int - Thanks @PaarthShah \r\n\r\n---\r\n* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/103?closed=1\r\n* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.32.0...v3.33.0","publishedAt":"2024-09-17T00:55:48.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.33.0","media":[]},{"id":"rel_LFeVvhBmVEWX-aGfqr91f","version":"v3.32.0","title":"version 3.32.0","summary":"## What's Changed\r\n\r\n### Features and Fixes\r\n* feat: add support for `conversations.requestShared` `approve`, `deny` & `list` by @WilliamBergamin in h...","content":"## What's Changed\r\n\r\n### Features and Fixes\r\n* feat: add support for `conversations.requestShared` `approve`, `deny` & `list` by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1530\r\n* feat: add interactivity_pointer as trigger_id alias to views.* APIs by @seratch in https://github.com/slackapi/python-slack-sdk/pull/1556\r\n* feat: support all possible fields for RichTextElementParts.Date by @srtaalej in https://github.com/slackapi/python-slack-sdk/pull/1536\r\n\r\n### Documentation\r\n* docs: adds Docusaurus site by @lukegalbraithrussell in https://github.com/slackapi/python-slack-sdk/pull/1537\r\n* docs: remove line breaks in md intros for unfurls by @lukegalbraithrussell in https://github.com/slackapi/python-slack-sdk/pull/1538\r\n* docs: adds google analytics tag by @lukegalbraithrussell in https://github.com/slackapi/python-slack-sdk/pull/1540\r\n* fix: update the docs generation script by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1528\r\n\r\n### Misc\r\n* chore: improve maintainer guidelines  by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1529\r\n* version 3.32.0 by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1558\r\n\r\n### Dependabot\r\n* bump webpack from 5.92.1 to 5.94.0 in /docs by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1546\r\n* bump @docusaurus/module-type-aliases from 3.4.0 to 3.5.2 in /docs by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1548\r\n* bump websockets requirement from <13,>=9.1 to >=9.1,<14 by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1551\r\n* bump micromatch from 4.0.7 to 4.0.8 in /docs by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1552\r\n* bump @docusaurus/types from 3.4.0 to 3.5.2 in /docs by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1550\r\n* chore: group docusaurus dependencies by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1553\r\n* bump the docusaurus group in /docs with 3 updates by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1554\r\n* bump prism-react-renderer from 2.3.1 to 2.4.0 in /docs by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1555\r\n* bump sphinx from 7.3.7 to 8.0.2 by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1535\r\n\r\n## New Contributors\r\n* @lukegalbraithrussell made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1537\r\n* @srtaalej made their first contribution in https://github.com/slackapi/python-slack-sdk/pull/1536\r\n\r\n---\r\n* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/101?closed=1\r\n* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.31.0...v3.32.0","publishedAt":"2024-09-06T17:41:26.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.32.0","media":[]},{"id":"rel_vDB2NSijVu4P8EzNUZ3bB","version":"v3.31.0","title":"version 3.31.0","summary":"## What's Changed\r\n\r\n* feat: add new `conversations.externalInvitePermissions.set` API by @WilliamBergamin in https://github.com/slackapi/python-slack...","content":"## What's Changed\r\n\r\n* feat: add new `conversations.externalInvitePermissions.set` API by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1517\r\n* feat: add `team.externalTeams.disconnect` by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1526\r\n* fix: redact `bot_access_tokens` from the debug logs of socket mode by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1519\r\n* Update psutil requirement from <6,>=5 to >=6.0.0,<7 by @dependabot in https://github.com/slackapi/python-slack-sdk/pull/1522\r\n* chore(release): version 3.31.0 by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1527\r\n---\r\n* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/100?closed=1\r\n* Full Changelog**: https://github.com/slackapi/python-slack-sdk/compare/v3.30.0...v3.31.0","publishedAt":"2024-07-04T16:47:32.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.31.0","media":[]},{"id":"rel_4BmOtUj6nW9nz2smvF60e","version":"v3.30.0","title":"version 3.30.0","summary":"## Changes\r\n\r\n* feat: add team.externalTeams.list by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1512\r\n* chore: align README...","content":"## Changes\r\n\r\n* feat: add team.externalTeams.list by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1512\r\n* chore: align README pattern by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1513\r\n* chore(release): 3.30.0 by @WilliamBergamin in https://github.com/slackapi/python-slack-sdk/pull/1514\r\n\r\nAll issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/99?closed=1\r\nFull Changelog: https://github.com/slackapi/python-slack-sdk/compare/v3.29.0...v3.30.0","publishedAt":"2024-06-21T18:03:06.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.30.0","media":[]},{"id":"rel_zyeBQavwnf95Tk8KSrHIy","version":"v3.29.0","title":"version 3.29.0","summary":"## Changes\r\n\r\n* #1508 Add canvases APIs and users.discoverableContacts.lookup API - Thanks @seratch\r\n\r\n---\r\n* All issues/pull requests: https://github...","content":"## Changes\r\n\r\n* #1508 Add canvases APIs and users.discoverableContacts.lookup API - Thanks @seratch\r\n\r\n---\r\n* All issues/pull requests: https://github.com/slackapi/python-slack-sdk/milestone/97?closed=1\r\n* All changes: https://github.com/slackapi/python-slack-sdk/compare/v3.28.0...v3.29.0","publishedAt":"2024-06-14T01:47:42.000Z","url":"https://github.com/slackapi/python-slack-sdk/releases/tag/v3.29.0","media":[]}],"pagination":{"page":1,"pageSize":20,"totalPages":5,"totalItems":100},"summaries":{"rolling":null,"monthly":[]}}