releases.shpreview
Slack/Python SDK

Python SDK

$npx -y @buildinternet/releases show slack-python-sdk
Mon
Wed
Fri
AprMayJunJulAugSepOctNovDecJanFebMarApr
Less
More
Releases4Avg1/moVersionsv3.40.0.dev0 → v3.41.0
Apr 30, 2021
version 3.5.1

Changes

  • #1009 #1010 Invalid version spec: websocket-client - Thanks @stevengill @jj-ookla
  • #1008 Fix an error in comment - Thanks @lmn

Apr 20, 2021
version 3.5.0

New Features

Deletion methods in InstallationStore / AsyncInstallationStore

Since this version, the following methods are available to use for better installation data management.

  • delete_bot / async_delete_bot
  • delete_installation / async_delete_installation
  • delete_all / async_delete_all

All the built-in implementations already support these methods. We recommend subscribing to tokens_revoked / app_uninstalled bot events and call these methods in the event handlers.

Module document hosting

We recently started hosting the Python module documents at https://slack.dev/python-slack-sdk/api-docs/slack_sdk/

admin.users.session.* APIs support

The new admin.users.session.* APIs for Enterprise Grid customers are supported in WebClient and AsyncWebClient.

Changes

In addition to the new features mentioned above, we've resolved a few issues in the slack_sdk.models classes. Also, we've improved the consistency of docstrings in this project.

  • #995 Fix #976 Add deletion methods to InstallationStore - Thanks @seratch
  • #994 Fix #992 Better documentation about slack_sdk.models usage in Web APIs - Thanks @invokermain @seratch
  • #993 Fix #990 slack_sdk.models.blocks.Option's description value is invalid in blocks - Thanks @seratch
  • #988 #987 Add Default of None for selected_options for ViewStateValue - Thanks @scott-shields-github
  • #985 Improve error response body parser in WebClient - Thanks @seratch
  • #984 Fix #982 Add admin.users.session.* API support - Thanks @seratch
  • #980 API document hosting - Thanks @seratch
  • #981 Rewrite reStructuredText docstrings to use Google style - Thanks @seratch
  • #979 Add fallback argument in BlockAttachment - Thanks @eddyg @seratch
  • #975 Update modal handling documents - Thanks @seratch
  • #1001 Fix #1000 RTMClient v2 still requires aiohttp installed (even though it's unused) - Thanks @seratch
  • #1006 Fix #1003 threading.Thread.setDaemon has been deprecated in Python 3.10 - Thanks @tirkarthi @seratch
  • #1004 Fix #1002 ConversationFilter missing new optional field exclude_external_shared_channels - Thanks @slushpupie @seratch

Mar 5, 2021
version 3.4.2

Changes

  • #971 #972 #973 v3.4.1 fails with serialized attachments parameter in chat.* method calls - Thanks @pmarkert @eddyg

Mar 3, 2021
version 3.4.1

Changes

  • #969 Add public_channel type support for admin.analytics.getFile API - Thanks @seratch
  • #965 #966 The "text missing" warning is technically not always accurate - Thanks @eddyg
  • #963 Add the browser version link in redirect_uri web page - Thanks @seratch

Feb 19, 2021
version 3.4.0

New Features

Better HTTP proxy support

In this version, better proxy configuration supports are added to all API clients support.

  • http://{username}:{password}@{host}:{port} format support HTTPS_PROXY / HTTP_PROXY env variables support

Changes

We've improved the internals of RTMClient v2 in this release. If you are using the module, we highly recommend upgrading to this version.

  • #954 Better proxy auth support in all API clients - Thanks @seratch
  • #953 HTTPS_PROXY / HTTP_PROXY env variable supports in all API clients - Thanks @seratch
  • #959 #960 #961 Improve the stability of RTMClient v2 - Thanks @nzlosh @seratch
  • #957 Deprecate slack_sdk.models.messages and slack_sdk.models.dialoags (misspelled name) - Thanks @seratch @eddyg

Feb 11, 2021
version 3.3.2

Changes

  • #951 #952 #948 Add proxy support in built-in SocketModeClient - Thanks @seratch @psykzz @franco-martin
  • #949 Fix bugs in RTMClient v2's disconnect/close method - Thanks @nzlosh

Feb 9, 2021
version 3.3.1

Changes

  • #947 Enable to use snake_cased keys for dict arg in SCIMClient/AsyncSCIMClient - Thanks @seratch

Feb 5, 2021
version 3.3.0

New Features

Enterprise APIs

Since this version, we support SCIM API and Audit Logs API.

Refer to the documents for details.

Changes

  • #782 #936 #944 Audit Logs API support - Thanks @seratch
  • #437 #940 #944 SCIM API Support - Thanks @seratch
  • #932 #933 RTMClient v2: no aiohttp dependency, more reliable implementation - Thanks @seratch
  • #893 #942 Add support for admin.barriers.* API methods - Thanks @misscoded @seratch

Jan 27, 2021
version 3.2.1

Changes

  • #923 #908 Add replace_original/delete_original to WebhookClient (async/sync) - Thanks @alextriaca @seratch
  • #918 #925 Enable to have additional fields in Bot/Installation instances - Thanks @seratch
  • #921 #925 Enable to use custom logger in WebClient, WebhookClient (async/sync) - Thanks @seratch
  • #926 #927 Handle closing aiohttp.ClientSession in Socket Mode AIOHTTP adapter - Thanks @cxlai @seratch

Jan 12, 2021
version 3.2.0

New Features

Socket Mode

This version includes support for Socket Mode, which enables developers to receive interactivy payalods and events through WebSocket connections.

https://api.slack.com/socket-mode

For WebSocket connection handling, there are four implementations including major 3rd party open-source libraries.

PyPI ProjectSocketModeClient
skack_sdkslack_sdk.socket_mode.SocketModeClient
websocket_clientslack_sdk.socket_mode.websocket_client.SocketModeClient
aiohttp (asyncio-based)slack_sdk.socket_mode.aiohttp.SocketModeClient
websockets (asyncio-based)slack_sdk.socket_mode.websockets.SocketModeClient

Here is a minimal working example with the built-in WebSocket client. You can switch to other implementation by changing the imports and adding the extra dependencies (websocket_client, aiohttp, websockets).

import os
from slack_sdk.web import WebClient
from slack_sdk.socket_mode import SocketModeClient

# Initialize SocketModeClient with an app-level token + WebClient
client = SocketModeClient(
    # This app-level token will be used only for establishing a connection
    app_token=os.environ.get("SLACK_APP_TOKEN"),  # xapp-A111-222-xyz
    # You will be using this WebClient for performing Web API calls in listeners
    web_client=WebClient(token=os.environ.get("SLACK_BOT_TOKEN"))  # xoxb-111-222-xyz
)

from slack_sdk.socket_mode.response import SocketModeResponse
from slack_sdk.socket_mode.request import SocketModeRequest

def process(client: SocketModeClient, req: SocketModeRequest):
    if req.type == "events_api":
        # Acknowledge the request anyway
        response = SocketModeResponse(envelope_id=req.envelope_id)
        client.send_socket_mode_response(response)
        # Add a reaction to the message if it's a new message
        if req.payload["event"]["type"] == "message" \
            and req.payload["event"].get("subtype") is None:
            client.web_client.reactions_add(
                name="eyes",
                channel=req.payload["event"]["channel"],
                timestamp=req.payload["event"]["ts"],
            )

# Add a new listener to receive messages from Slack
# You can add more listeners like this
client.socket_mode_request_listeners.append(process)

# Establish a WebSocket connection to the Socket Mode servers
client.connect()

# Just not to stop this process
from threading import Event
Event().wait()

Changes

  • #883 #879 #837 Add Socket Mode support - Thanks @seratch @stevengill
  • #914 Add aiohttp version validation - Thanks @seratch
  • #89 #910 Add warnings for missing text parameter in chat.* method calls - Thanks @seratch

Jan 7, 2021
version 3.1.1

Changes

  • #908 #900 WebClient#files_upload fails with the default team_id param for Org-wide installations - Thanks @gburek-fastly @seratch
  • #909 #901 Incorrect type hint for WebClient#files_upload's file argument - Thanks @gburek-fastly @seratch
  • #904 Fix #903 by parsing in ActionsBlock - Thanks @KharchenkoDmitriy
  • #896 Update WebClient to accept not only list but also tuple - Thanks @seratch

The following changes are related to documents and tutorial contents:

  • #897 Improve code in the PythOnBoardingBot tutorial - Thanks @stephenfrench9
  • #890 Fix #889 by correcting the team_join event handler in the PythOnBoardingBot tutorial - Thanks @spectreConstantine @seratch

Dec 2, 2020
version 3.1.0

New Features

Org-Wide App Installation support

This version includes the changes related to Org-Wide App feature, which is for Enterprise Grid organizations.

https://api.slack.com/enterprise/apps

  • Add a few fields in installation data models (see the following migration guide for details)
  • Switch to use InstallationStore#find_installation from InstallationStore#find_bot in authorize functions
  • Enable Bolt apps to handle new events - team_access_granted / team_access_removed
  • Add is_enterprise_install: bool in context object

Data Model Migration guide

If you're already using a built-in InstallationStore implementation, the following fields in the data row will be expected since v3.1. If your app uses relational database tables, please add the corresponding columns to the tables.

  • is_enterprise_install: bool (true if it is an org-level installation)
  • enterprise_url: Optional[str] (URL; this is available only for org-level installation)
  • enterprise_name: Optional[str] (the name of the installed org; this value is just a snapshot data at the timing of installations. So, it can be changed afterwards)
  • team_name: Optional[str] (the name of the installed workspace)
  • incoming_webhook_channel: Optional[str] (channel name)
  • token_type: Optional[str]

Also, since this version, the built-in InstallationStore based authorize functions try to fetch Installation. The Installation object contains Bot data too. So, you will be able to utilize more fields like user_token, thanks to this change.

If your application does not maintain the data when handling Slack app installations, upgrading to this version may result in errors due to this incompatibility. If you need to continue using Bot over Installation data rows, please consider implementing and using your own Authorize classes.

Changes

  • #877 #881 Add Org App Support - Thanks @stevegill @seratch
  • #875 Typo fix in docs - Thanks @timgates42
  • #885 PlainTextInputElement class comment fix - Thanks @jelizaga3-gatech

Dec 1, 2020
version 3.1.0 RC1

Check v3.1.0 release note.

Nov 27, 2020
version 3.1.0 beta 1

v3.1.0 includes org-level installation support (for Enterprise Grid users). The detailed release note will be available soon.

Nov 9, 2020
version 3.0.0

This is the first stable version of slack_sdk v3. The remarkable updates in this major version are:

  • Newly added OAuth flow support
  • Better Async/sync separation for WebClient and WebhookClient
  • Renamed packages (from slack to slack_sdk) with deprecation warnings

Refer to the documents for details. The migration guide for slackclient v2.x users is available at https://slack.dev/python-slack-sdk/v3-migration/

Nov 7, 2020
version 3.0.0 RC3

This is the third release candidate version of slack_sdk v3.0.0. The remarkable updates in this major version are:

  • Newly added OAuth flow support
  • Better Async/sync separation for WebClient and WebhookClient
  • Renamed packages (from slack to slack_sdk) with deprecation warnings

Refer to the documents for details.

The migration guide for slackclient v2.x users is available at https://slack.dev/python-slack-sdk/v3-migration/

Nov 6, 2020
version 3.0.0 RC2

see v3.0.0rc3

Oct 27, 2020
version 3.0.0 RC1

This is the first release candidate version of slack_sdk v3.0.0. The remarkable updates in this major version are:

  • Newly added OAuth flow support
  • Better Async/sync separation for WebClient and WebhookClient
  • Renamed packages (from slack to slack_sdk) with deprecation warnings

Refer to the documents for details.

The migration guide for slackclient v2.x users is available at https://slack.dev/python-slack-sdk/v3-migration/

Oct 22, 2020
version 3.0.0 beta1

see 3.0.0rc1

version 2.9.3

Refer to v2.9.3 milestone to know the complete list of the issues resolved by this release.

Updates

  1. [Block Kit] #851 #852 Set default_type for HeaderBlock text - Thanks @fwump38
  2. [Block Kit] #853 #854 Enable to use input blocks in Home tab views - Thanks @fwump38
  3. [RTMClient] #857 #846 RTMClient does not pass timeout value to WebClient - Thanks @Luden @seratch
Latest
v3.41.0
Tracking Since
Oct 22, 2020
Last checked Apr 19, 2026