<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://docs.slack.dev/changelog</id>
    <title>Slack Developer Docs Blog</title>
    <updated>2026-07-31T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://docs.slack.dev/changelog"/>
    <subtitle>Slack Developer Docs Blog</subtitle>
    <icon>https://docs.slack.dev/img/logos/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Announcing the Slack MCP and Skills Plugin]]></title>
        <id>https://docs.slack.dev/changelog/2026/07/31/slack-skills-plugin</id>
        <link href="https://docs.slack.dev/changelog/2026/07/31/slack-skills-plugin"/>
        <updated>2026-07-31T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We're excited to introduce the Slack MCP and Skills Plugin for AI tools, which bundles a set of skills that help you develop on the Slack platform alongside the Slack MCP Server. The plugin is currently available for Claude Code and Cursor.]]></summary>
        <content type="html"><![CDATA[<p>We're excited to introduce the Slack MCP and Skills Plugin for AI tools, which bundles a set of skills that help you develop on the Slack platform alongside the <a class="" href="https://docs.slack.dev/ai/slack-mcp-server">Slack MCP Server</a>. The plugin is currently available for Claude Code and Cursor.</p>
<p>Installing the plugin sets up two things:</p>
<ul>
<li class=""><strong>Skills</strong>. Focused sets of instructions and references that your assistant loads automatically when a task calls for them. The plugin includes skills for Block Kit, scaffolding new apps, calling Web API methods, using the Slack CLI, composing messages, and searching Slack.</li>
<li class=""><strong>Slack MCP Server connection</strong>. The Slack MCP server lets you and your agent interact directly with your Slack workspace, such as searching channels, sending messages, and managing canvases.</li>
</ul>
<p>Install the plugin in Claude Code with <code>/plugin install slack@claude-plugins-official</code>, or from the <a href="https://cursor.com/marketplace/slack" target="_blank" rel="noopener noreferrer" class="">Cursor Marketplace</a>.</p>
<p>Read the <a class="" href="https://docs.slack.dev/ai/slack-skills-plugin">Slack MCP and Skills Plugin docs</a> to get started.</p>]]></content>
        <category label="Announcement" term="Announcement"/>
        <category label="New Feature" term="New Feature"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release: Slack CLI v4.6.0]]></title>
        <id>https://docs.slack.dev/changelog/2026/07/30/slack-cli</id>
        <link href="https://docs.slack.dev/changelog/2026/07/30/slack-cli"/>
        <updated>2026-07-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Version 4.6.0 of the Slack CLI is now available!]]></summary>
        <content type="html"><![CDATA[<p>Version <code>4.6.0</code> of the Slack CLI is now available!</p>
<ul>
<li class="">We've added the <code>slack manifest diff</code> command, which prints differences between the project manifest and the app settings.</li>
<li class="">We've added the <code>slack blocks preview</code> command to open Block Kit blocks in the Block Kit Builder.</li>
</ul>]]></content>
        <category label="Release" term="Release"/>
        <category label="Slack CLI" term="Slack CLI"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release: Slack CLI v4.5.0]]></title>
        <id>https://docs.slack.dev/changelog/2026/07/21/slack-cli</id>
        <link href="https://docs.slack.dev/changelog/2026/07/21/slack-cli"/>
        <updated>2026-07-21T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Version 4.5.0 of the developer tools for the Slack platform has landed!]]></summary>
        <content type="html"><![CDATA[<p>Version <code>4.5.0</code> of the developer tools for the Slack platform has landed!</p>
<ul>
<li class="">The Slack CLI now recommends the official <a href="https://claude.com/plugins/slack" target="_blank" rel="noopener noreferrer" class="">Slack plugin</a> to Claude Code users.</li>
<li class="">We've reduced the verbose output when using <code>create --app</code> to link an existing app during project creation.</li>
<li class="">We've added a <code>--category</code> flag to <code>slack docs search</code> command.</li>
<li class="">When the CLI errors because a prompt must be shown while in a non-TTY environment (AI agents, devops scripts, etc.), the error message now displays the prompt and, for app and team selection, the matching flags to select an option.</li>
<li class="">We've fixed a recurring <code>unable_to_parse_json</code> error caused by empty JSON files (credentials, config, or app state) left behind by an interrupted write; the CLI now treats them as empty state and recovers automatically.</li>
</ul>]]></content>
        <category label="Release" term="Release"/>
        <category label="Slack CLI" term="Slack CLI"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release: Bolt for JS v5]]></title>
        <id>https://docs.slack.dev/changelog/2026/07/15/bolt-js-release</id>
        <link href="https://docs.slack.dev/changelog/2026/07/15/bolt-js-release"/>
        <updated>2026-07-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Version 5.0.0 of Bolt for JS is here! This release follows the Node Slack SDK's shift from axios to the native Fetch API, removes the deprecated Workflow Steps from Apps feature, and raises the minimum Node.js version to 20.]]></summary>
        <content type="html"><![CDATA[<p>Version <code>5.0.0</code> of Bolt for JS is here! This release follows the Node Slack SDK's shift from axios to the native Fetch API, removes the deprecated Workflow Steps from Apps feature, and raises the minimum Node.js version to 20.</p>
<p>If your app doesn't use proxy/TLS configuration or inspect <code>respond()</code> return values, this upgrade is possibly only a version bump.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-features">New features<a href="https://docs.slack.dev/changelog/2026/07/15/bolt-js-release#new-features" class="hash-link" aria-label="Direct link to New features" title="Direct link to New features" translate="no">​</a></h2>
<ul>
<li class="">We've added a <code>dispatcher</code> option to the <code>SocketModeReceiver</code> class.</li>
<li class="">We've added <code>instanceof</code> operator support to error classes.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="breaking-changes">Breaking changes<a href="https://docs.slack.dev/changelog/2026/07/15/bolt-js-release#breaking-changes" class="hash-link" aria-label="Direct link to Breaking changes" title="Direct link to Breaking changes" translate="no">​</a></h2>
<ul>
<li class="">We've raised the minimum Node.js version to 20.</li>
<li class="">We've removed the <code>agent</code> and <code>clientTls</code> options from the <code>AppOptions</code> interface.</li>
<li class="">We've updated the <code>SocketModeReceiver</code> class to accept a <code>dispatcher</code> option instead of proxy agents.</li>
<li class="">We've removed Workflow Steps from Apps.</li>
<li class="">We've updated the <code>respond()</code> utility function to return a native <code>Response</code> object.</li>
<li class="">We've upgraded the Node Slack SDK dependencies.</li>
<li class="">We've improved error handling throughout.</li>
</ul>
<p>For full migration details, see the <a class="" href="https://docs.slack.dev/tools/bolt-js/migration/migration-v5">Bolt for JS v4 to v5 migration guide</a>.</p>]]></content>
        <category label="Release" term="Release"/>
        <category label="Bolt JS" term="Bolt JS"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release: Multiple Node Slack SDK package updates]]></title>
        <id>https://docs.slack.dev/changelog/2026/07/14/node-slack-sdk-release</id>
        <link href="https://docs.slack.dev/changelog/2026/07/14/node-slack-sdk-release"/>
        <updated>2026-07-14T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Our collection of Node Slack SDK packages have received new major versions.]]></summary>
        <content type="html"><![CDATA[<p>Our collection of Node Slack SDK packages have received new major versions.</p>
<p>All packages now require <strong>Node.js 20 or later</strong>. This is the only breaking change for the following packages:</p>
<ul>
<li class="">The <code>cli-hooks</code> package has been updated to v2.</li>
<li class="">The <code>cli-test</code> package has been updated to v4.</li>
<li class="">The <code>logger</code> package has been updated to v5.</li>
<li class="">The <code>oauth</code> package has been updated to v4.</li>
<li class="">The <code>types</code> package has been updated to v3.</li>
</ul>
<p>Three packages have more substantial breaking changes:</p>
<ul>
<li class="">The <code>socket-mode</code> package has been updated to v3. See the guide on <a class="" href="https://docs.slack.dev/tools/node-slack-sdk/migration/socket-mode/migrating-socket-mode-package-to-v3">migrating @slack/socket-mode from v2 to v3</a> for handling breaking changes.</li>
<li class="">The <code>web-api</code> package has been updated to v8. See the guide on <a class="" href="https://docs.slack.dev/tools/node-slack-sdk/migration/web-api/migrating-web-api-package-to-v8">migrating @slack/web-api from v7 to v8</a> for handling breaking changes.</li>
<li class="">The <code>webhook</code> package has been updated to v8. See the guide on <a class="" href="https://docs.slack.dev/tools/node-slack-sdk/migration/webhook/migrating-webhook-package-to-v8">migrating @slack/webhook from v7 to v8</a> for handling breaking changes.</li>
</ul>
<p>Most of the changes in those batch of updates fall under the theme of HTTP transport improvements, such as migrating from axios to the native Fetch API.</p>]]></content>
        <category label="Release" term="Release"/>
        <category label="Node Slack SDK" term="Node Slack SDK"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Desktop notifications now pull text from blocks first]]></title>
        <id>https://docs.slack.dev/changelog/2026/07/13/notification-changes</id>
        <link href="https://docs.slack.dev/changelog/2026/07/13/notification-changes"/>
        <updated>2026-07-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Slack desktop client notifications now pull text from blocks first, falling back to the top-level text field only if no text can be extracted from blocks. Mobile notifications continue to exclusively use message.text.]]></summary>
        <content type="html"><![CDATA[<p>Slack desktop client notifications now pull text from blocks first, falling back to the top-level text field only if no text can be extracted from blocks. Mobile notifications continue to exclusively use <code>message.text</code>.</p>]]></content>
        <category label="Announcement" term="Announcement"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Agent context has landed]]></title>
        <id>https://docs.slack.dev/changelog/2026/07/02/app-context</id>
        <link href="https://docs.slack.dev/changelog/2026/07/02/app-context"/>
        <updated>2026-07-02T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Agent apps can now receive context about what a user is currently viewing when they send a message. When a user has a channel, DM, thread, canvas, or list open and messages your app, Slack will pass that context automatically.]]></summary>
        <content type="html"><![CDATA[<p>Agent apps can now receive context about what a user is currently viewing when they send a message. When a user has a channel, DM, thread, canvas, or list open and messages your app, Slack will pass that context automatically.</p>
<p>Here's what developers need to know:</p>
<ul>
<li class=""><strong>New event: <a class="" href="https://docs.slack.dev/reference/events/app_context_changed"><code>app_context_changed</code></a></strong>: Slack will send an <code>app_context_changed</code> event to your app whenever the user's active context changes. The event payload includes an ordered list of entities the user is currently viewing.</li>
<li class=""><strong>The <code>app_context</code> is now sent to <a class="" href="https://docs.slack.dev/reference/events/message.im"><code>message.im</code></a> and <a class="" href="https://docs.slack.dev/reference/events/app_home_opened"><code>app_home_opened</code></a> events</strong>: Slack will also send the <code>app_context</code> to these events if the app is subscribed to the <code>app_context_changed</code> event.</li>
</ul>
<p>Learn more in the guide to <a class="" href="https://docs.slack.dev/ai/developing-agents#app-context">Developing agents</a>.</p>]]></content>
        <category label="Announcement" term="Announcement"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Introducing the Agent messaging experience]]></title>
        <id>https://docs.slack.dev/changelog/2026/06/30/agent-messages-tab</id>
        <link href="https://docs.slack.dev/changelog/2026/06/30/agent-messages-tab"/>
        <updated>2026-06-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Agents now support a new messaging experience, set by your app manifest:]]></summary>
        <content type="html"><![CDATA[<p>Agents now support a new messaging experience, set by your <a class="" href="https://docs.slack.dev/reference/app-manifest#features">app manifest</a>:</p>
<ul>
<li class=""><strong>Agent messaging experience</strong> (<code>agent_view</code>): agent conversations now look &amp; feel the same as a regular direct message. Gone is the history tab and new chat button. Instead, all of your conversations appear in the standard message tab and your agent can respond in-thread.</li>
<li class=""><strong>Assistant messaging experience</strong> (<code>assistant_view</code>): agent conversations happen in separate Chat and History tabs.</li>
</ul>
<p>New apps can only use the Agent messaging experience. Apps that already use the Assistant messaging experience can continue to use it for now, but <code>assistant_view</code> will eventually be deprecated, and we'll ask existing apps to migrate to <code>agent_view</code>.</p>
<p>The Agent messaging experience changes the following:</p>
<ul>
<li class=""><strong>Knowing when a user opens a DM</strong>: rely on the <a class="" href="https://docs.slack.dev/reference/events/app_home_opened"><code>app_home_opened</code></a> event to know when a user has actively opened a DM with your app. The <a class="" href="https://docs.slack.dev/reference/events/assistant_thread_started"><code>assistant_thread_started</code></a> event no longer indicates this. See <a class="" href="https://docs.slack.dev/ai/migrating-to-agent-messaging">Migrating to the Agent messaging experience</a> for details.</li>
<li class=""><strong>Suggested prompts</strong>: <a class="" href="https://docs.slack.dev/reference/methods/assistant.threads.setSuggestedPrompts">suggested prompts</a> now live at the top of the Messages tab instead of within threads, and the <code>thread_ts</code> argument is no longer required when <code>agent_view</code> is enabled.</li>
<li class=""><strong>Continuing a conversation</strong>: after a user sends a new message, calling the <a class="" href="https://docs.slack.dev/reference/methods/assistant.threads.setStatus"><code>assistant.threads.setStatus</code></a> API method on that thread automatically opens the thread to keep the conversation going.</li>
</ul>
<p>The <a href="https://github.com/slackapi/slack-cli/releases/tag/v4.4.0" target="_blank" rel="noopener noreferrer" class="">Slack CLI v4.4.0</a>, <a href="https://pypi.org/project/slack-sdk/3.43.0/" target="_blank" rel="noopener noreferrer" class="">Python SDK v3.43.0</a> with <a href="https://github.com/slackapi/bolt-python/releases/tag/v1.29.0" target="_blank" rel="noopener noreferrer" class="">Bolt Python v1.29.0</a>, and <a href="https://github.com/slackapi/node-slack-sdk/releases/tag/@slack/web-api@7.18.0" target="_blank" rel="noopener noreferrer" class="">@slack/web-api@7.18.0</a> (for the Node Slack SDK) are required to access the Agent View feature.</p>
<p>Already have an app using the Assistant messaging experience? Follow the <a class="" href="https://docs.slack.dev/ai/migrating-to-agent-messaging">migration checklist</a> to move to the Agent messaging experience. Read more in the guide to <a class="" href="https://docs.slack.dev/ai/developing-agents">developing agents</a>.</p>]]></content>
        <category label="Announcement" term="Announcement"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release: Python Slack SDK v3.43.0]]></title>
        <id>https://docs.slack.dev/changelog/2026/06/30/py-slack-sdk</id>
        <link href="https://docs.slack.dev/changelog/2026/06/30/py-slack-sdk"/>
        <updated>2026-06-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[* We've added a public, read-only ts property to ChatStream and AsyncChatStream, enabling users to call the chat.update API method as a fallback when the server closes a stream due to undocumented timeouts.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">We've added a public, read-only <code>ts</code> property to <code>ChatStream</code> and <code>AsyncChatStream</code>, enabling users to call the <a class="" href="https://docs.slack.dev/reference/methods/chat.update/"><code>chat.update</code></a> API method as a fallback when the server closes a stream due to undocumented timeouts.</li>
<li class="">We made the <code>thread_ts</code> argument of the <a class="" href="https://docs.slack.dev/reference/methods/assistant.threads.setSuggestedPrompts"><code>assistant.threads.setSuggestedPrompts</code></a> API method optional.</li>
</ul>]]></content>
        <category label="Release" term="Release"/>
        <category label="Python Slack SDK" term="Python Slack SDK"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release: Slack CLI v4.4.0]]></title>
        <id>https://docs.slack.dev/changelog/2026/06/30/slack-cli</id>
        <link href="https://docs.slack.dev/changelog/2026/06/30/slack-cli"/>
        <updated>2026-06-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Version 4.4.0 of the Slack CLI is here!]]></summary>
        <content type="html"><![CDATA[<p>Version <code>4.4.0</code> of the Slack CLI is here!</p>
<ul>
<li class="">The Slack CLI now supports the <code>features.agent_view</code> app manifest property to enable the new <em>Agent</em> experience.</li>
</ul>]]></content>
        <category label="Release" term="Release"/>
        <category label="Slack CLI" term="Slack CLI"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[New Block Kit container block]]></title>
        <id>https://docs.slack.dev/changelog/2026/06/29/block-kit-container-block</id>
        <link href="https://docs.slack.dev/changelog/2026/06/29/block-kit-container-block"/>
        <updated>2026-06-29T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The container block is now available for Block Kit use.]]></summary>
        <content type="html"><![CDATA[<p>The <a class="" href="https://docs.slack.dev/reference/block-kit/blocks/container-block">container</a> block is now available for Block Kit use.</p>
<p>For more details about building with Block Kit, check out our <a class="" href="https://docs.slack.dev/block-kit/">Block Kit overview</a>!</p>]]></content>
        <category label="New Feature" term="New Feature"/>
        <category label="Block Kit" term="Block Kit"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release: Slack CLI v4.3.0]]></title>
        <id>https://docs.slack.dev/changelog/2026/06/18/slack-cli</id>
        <link href="https://docs.slack.dev/changelog/2026/06/18/slack-cli"/>
        <updated>2026-06-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Version 4.3.0 of the Slack CLI is here!]]></summary>
        <content type="html"><![CDATA[<p>Version <code>4.3.0</code> of the Slack CLI is here!</p>
<ul>
<li class="">The <code>slack create</code> command now accepts the <code>--app</code> flag to scaffold a project and automatically link it to an existing app.</li>
<li class="">The <code>slack external-auth add-secret</code> command is now available to all apps, not just Slack-hosted apps.</li>
<li class="">The Slack CLI now supports <code>mcp_server</code> manifest fields for <a class="" href="https://docs.slack.dev/ai/slackbot-mcp-client/">connecting MCP servers to the Slackbot MCP Client</a>.</li>
</ul>]]></content>
        <category label="Release" term="Release"/>
        <category label="Slack CLI" term="Slack CLI"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Announcing the Slackbot MCP Client]]></title>
        <id>https://docs.slack.dev/changelog/2026/06/18/slackbot-mcp-client</id>
        <link href="https://docs.slack.dev/changelog/2026/06/18/slackbot-mcp-client"/>
        <updated>2026-06-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We're excited to introduce you to the Slackbot MCP Client, which gives you the ability to superpower Slackbot with your desired tools.]]></summary>
        <content type="html"><![CDATA[<p>We're excited to introduce you to the Slackbot MCP Client, which gives you the ability to superpower Slackbot with your desired tools.</p>
<p>The Slackbot MCP Client allows developers to connect <a href="https://modelcontextprotocol.io/" target="_blank" rel="noopener noreferrer" class="">MCP servers</a> to Slack. Once connected, Slackbot will automatically discover your MCP server's tools and invoke them based on user prompts in conversation.</p>
<p>Four authentication methods are available for connecting to MCP servers:</p>
<ul>
<li class=""><strong>Slack identity auth</strong>: for MCP servers that map Slack user and team IDs to available features, with no separate OAuth flow required for end users.</li>
<li class=""><strong>No auth</strong>: for MCP servers that serve standard responses regardless of requestor.</li>
<li class=""><strong>Dynamic Client Registration</strong>: for MCP servers that support standard OAuth discovery. Slack handles client registration automatically.</li>
<li class=""><strong>Manual OAuth</strong>: for MCP servers where you manually register OAuth credentials with the provider.</li>
</ul>
<p>Read the <a class="" href="https://docs.slack.dev/ai/slackbot-mcp-client">Slackbot MCP Client docs</a> to get started.</p>]]></content>
        <category label="Announcement" term="Announcement"/>
        <category label="New Feature" term="New Feature"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[System notifications now delivered by "Slack" instead of Slackbot]]></title>
        <id>https://docs.slack.dev/changelog/2026/06/17/system-notifications</id>
        <link href="https://docs.slack.dev/changelog/2026/06/17/system-notifications"/>
        <updated>2026-06-17T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Slack system notifications (such as channel membership changes, User Group updates, Slack Connect alerts, and retention policy notices) are now delivered from the "Slack" system user (USLACK) instead of Slackbot.]]></summary>
        <content type="html"><![CDATA[<p>Slack system notifications (such as channel membership changes, User Group updates, Slack Connect alerts, and retention policy notices) are now delivered from the "Slack" system user (<code>USLACK</code>) instead of Slackbot.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-changing">What's changing<a href="https://docs.slack.dev/changelog/2026/06/17/system-notifications#whats-changing" class="hash-link" aria-label="Direct link to What's changing" title="Direct link to What's changing" translate="no">​</a></h2>
<p>Previously, system-generated notifications were sent as direct messages from Slackbot. Now that Slackbot is the home for AI conversations in Slack, we want to separate notification delivery for clarity. These notifications are now sent from the new "Slack" system user, <code>USLACK</code>. Existing historical Slackbot system notifications will be backfilled and moved to the new "Slack" DM as well.</p>
<p>Note: User-authored messages sent directly to Slackbot (e.g., messages you typed into the Slackbot conversation) are not affected by this change.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-this-means-for-developers">What this means for developers<a href="https://docs.slack.dev/changelog/2026/06/17/system-notifications#what-this-means-for-developers" class="hash-link" aria-label="Direct link to What this means for developers" title="Direct link to What this means for developers" translate="no">​</a></h2>
<p>If your app or integration:</p>
<ul>
<li class="">Filters incoming messages or events by Slackbot's user ID,</li>
<li class="">Checks the username field for "Slackbot" to identify system notifications, or</li>
<li class="">Uses the <code>chat.postMessage</code> API method or related API methods and expects system notifications to route through Slackbot</li>
</ul>
<p>then you should update your integration to handle the new "Slack" system user (<code>USLACK</code>) instead.</p>
<p>No action required if your integration does not reference Slackbot's user ID or username in its logic.</p>]]></content>
        <category label="Announcement" term="Announcement"/>
        <category label="Breaking change" term="Breaking change"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[New Block Kit data visualization block]]></title>
        <id>https://docs.slack.dev/changelog/2026/06/16/block-kit-data-visualization-block</id>
        <link href="https://docs.slack.dev/changelog/2026/06/16/block-kit-data-visualization-block"/>
        <updated>2026-06-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The data visualization block is now available for Block Kit use.]]></summary>
        <content type="html"><![CDATA[<p>The <a class="" href="https://docs.slack.dev/reference/block-kit/blocks/data-visualization-block">data visualization</a> block is now available for Block Kit use.</p>
<p>For more details about building with Block Kit, check out our <a class="" href="https://docs.slack.dev/block-kit/">Block Kit overview</a>!</p>]]></content>
        <category label="New Feature" term="New Feature"/>
        <category label="Block Kit" term="Block Kit"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release: Java Slack SDK v1.49.0]]></title>
        <id>https://docs.slack.dev/changelog/2026/06/03/java-slack-sdk</id>
        <link href="https://docs.slack.dev/changelog/2026/06/03/java-slack-sdk"/>
        <updated>2026-06-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[* We've added authorship arguments (iconemoji, iconurl, and username) to the assistant.threads.setStatus and chat.startStream API methods.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">We've added authorship arguments (<code>icon_emoji</code>, <code>icon_url</code>, and <code>username</code>) to the <code>assistant.threads.setStatus</code> and <code>chat.startStream</code> API methods.</li>
<li class="">We've added <code>highlight_type</code> support to the <code>files.completeUploadExternal</code> and <code>filesUploadV2</code> API methods. The <code>highlight_type</code> parameter allows specifying the file type hint for uploads (e.g., <code>png</code>, <code>jpg</code>, and <code>gif</code> file types), enabling optimistic rendering before the async upload processing job completes.</li>
</ul>]]></content>
        <category label="Release" term="Release"/>
        <category label="Java Slack SDK" term="Java Slack SDK"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release: Slack CLI v4.2.0]]></title>
        <id>https://docs.slack.dev/changelog/2026/06/03/slack-cli</id>
        <link href="https://docs.slack.dev/changelog/2026/06/03/slack-cli"/>
        <updated>2026-06-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Version 4.2.0 of the Slack CLI has arrived!]]></summary>
        <content type="html"><![CDATA[<p>Version <code>4.2.0</code> of the Slack CLI has arrived!</p>
<ul>
<li class="">The <code>slack api</code> command can now send unauthenticated requests when no token is available or when <code>--no-auth</code> is specified.</li>
<li class="">The <code>slack api</code> command no longer triggers a background update check when invoked with arguments (e.g., <code>slack api chat.postMessage</code>).</li>
<li class="">Any <code>Y/N</code> select prompts now display as vertical selection, similar to the <code>slack create</code> command.</li>
<li class="">We've disabled upgrade notifications for the <code>slack manifest</code> and <code>slack manifest info</code> command. The command returns JSON that may be used for scripting, and the notifications interfere with parsing the response output.</li>
</ul>]]></content>
        <category label="Release" term="Release"/>
        <category label="Slack CLI" term="Slack CLI"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[New Block Kit data table block]]></title>
        <id>https://docs.slack.dev/changelog/2026/05/20/block-kit-more-new-blocks</id>
        <link href="https://docs.slack.dev/changelog/2026/05/20/block-kit-more-new-blocks"/>
        <updated>2026-05-20T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[The data table block is now available for Block Kit use.]]></summary>
        <content type="html"><![CDATA[<p>The <a class="" href="https://docs.slack.dev/reference/block-kit/blocks/data-table-block">data table</a> block is now available for Block Kit use.</p>
<p>For more details about building with Block Kit, check out our <a class="" href="https://docs.slack.dev/block-kit/">Block Kit overview</a>!</p>]]></content>
        <category label="New Feature" term="New Feature"/>
        <category label="Block Kit" term="Block Kit"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release: Slack CLI v4.1.0]]></title>
        <id>https://docs.slack.dev/changelog/2026/05/19/slack-cli</id>
        <link href="https://docs.slack.dev/changelog/2026/05/19/slack-cli"/>
        <updated>2026-05-19T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Version 4.1.0 of the Slack CLI has landed!]]></summary>
        <content type="html"><![CDATA[<p>Version <code>4.1.0</code> of the Slack CLI has landed!</p>
<ul>
<li class="">We've added a <code>slack api &lt;method&gt;</code> command, which allows you to call any API method directly from the Slack CLI. For example:<!-- -->
<ul>
<li class=""><code>slack api chat.postMessage channel=C123 text="hi"</code></li>
<li class=""><code>slack api chat.postMessage '{"channel":"C123","text":"hi"}'</code></li>
</ul>
</li>
<li class="">Interactive forms are now screen reader friendly when the <code>ACCESSIBLE</code> environment variable is set, or when using the <code>--accessible</code> flag.</li>
<li class="">We've added a new <code>env init</code> command to copy a template placeholder <code>.env.sample</code> or <code>.env.example</code> file to the <code>.env</code> file of your project.</li>
<li class="">We've added support for the <code>settings.is_mcp_enabled: &lt;bool&gt;</code> manifest property to enable or disable the Slack MCP Server. This causes cached values to expire and the next run attempt may surface a warning noting that app settings have changed since the last update.</li>
<li class="">We've added support for optional OAuth scopes (<code>bot_optional</code> and <code>user_optional</code>) in the app manifest schema.</li>
<li class="">We've added a <code>SLACK_CLI_APP_ICON_PATH</code> environment variable to override the icon file path used during app install and local run. When set, the specified path takes priority over the manifest <code>icon</code> field and the default icon file search. A warning is displayed if the configured path does not exist.</li>
<li class="">Icon auto-detection now supports <code>.png</code>, <code>.jpg</code>, <code>.jpeg</code>, and <code>.gif</code> formats in <code>assets/</code> and project root. The <code>assets/</code> directory is checked before project root; <code>.png</code> is preferred when multiple formats exist.</li>
<li class="">App manifest display names now preserve the original app name instead of using the kebab-case directory name during <code>slack create</code>.</li>
<li class="">We've added verbose debug logging and retry support to icon upload API calls.</li>
<li class="">We capitalized "App" in the <code>slack create</code> category selection menu titles for more consistent title casing.</li>
<li class="">We've added more polish to outputs from the <code>slack create</code> command section headers.</li>
<li class="">The <code>slack create</code> command preserves path separators when a nested path is provided as the project directory. The <code>--name</code> flag now only overrides the app's display name in the manifest without replacing the path argument. For example:<!-- -->
<div class="language-sh codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sh codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><div class="token-line" style="color:#F8F8F2"><span class="token plain">$ slack create path/to/my-app --name "My App"</span><br></div><div class="token-line" style="color:#F8F8F2"><span class="token plain"># Creates directory at ./path/to/my-app/ with manifest name "My App"</span><br></div></code></pre></div></div>
</li>
<li class="">We fixed the S3 <code>Content-MD5</code> header when deploying a Deno app to Slack. We now remove the MD5 hash computation and <code>Content-MD5</code> header from S3 presigned POST uploads to avoid an error.</li>
<li class="">The Slack CLI installer now outputs the pinned version provided if a particular version is provided, rather than a version and blank space.</li>
<li class="">The Slack CLI now avoids uploading icons for non-hosted apps that do not have the <code>set-icon</code> experiment enabled.</li>
</ul>]]></content>
        <category label="Release" term="Release"/>
        <category label="Slack CLI" term="Slack CLI"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Release: Python Slack SDK v3.42.0]]></title>
        <id>https://docs.slack.dev/changelog/2026/05/18/py-slack-sdk</id>
        <link href="https://docs.slack.dev/changelog/2026/05/18/py-slack-sdk"/>
        <updated>2026-05-18T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[* We've added authorship arguments (iconemoji, iconurl, and username) to the assistant.threads.setStatus and chat.startStream API methods.]]></summary>
        <content type="html"><![CDATA[<ul>
<li class="">We've added authorship arguments (<code>icon_emoji</code>, <code>icon_url</code>, and <code>username</code>) to the <code>assistant.threads.setStatus</code> and <code>chat.startStream</code> API methods.</li>
<li class="">We've added <code>highlight_type</code> support to the <code>files.completeUploadExternal</code> and <code>filesUploadV2</code> API methods. The <code>highlight_type</code> parameter allows specifying the file type hint for uploads (e.g., <code>png</code>, <code>jpg</code>, and <code>gif</code> file types), enabling optimistic rendering before the async upload processing job completes.</li>
<li class="">We've added support for the following new Block Kit blocks: <a class="" href="https://docs.slack.dev/reference/block-kit/blocks/card-block">card block</a>, <a class="" href="https://docs.slack.dev/reference/block-kit/blocks/carousel-block">carousel block</a>, and <a class="" href="https://docs.slack.dev/reference/block-kit/blocks/alert-block">alert block</a>. All three include deserialization support via <code>Block.parse()</code>, exports in <code>__init__.py</code>, and round-trip tests.</li>
<li class="">We've added a new <code>BlocksChunk</code> model class to support the new <code>blocks</code> chunk type for streaming API methods (<code>chat.startStream</code>, <code>chat.appendStream</code>, and <code>chat.stopStream</code>). Refer to <a class="" href="https://docs.slack.dev/changelog/2026/04/16/block-kit-new-blocks">New Block Kit blocks and Streaming API method updates</a> for more details.</li>
</ul>]]></content>
        <category label="Release" term="Release"/>
        <category label="Python Slack SDK" term="Python Slack SDK"/>
    </entry>
</feed>