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
Nov 17, 2022
version 3.19.4

Changes

  • #1301 Fix #1297 Building user_auth_blocks with slack_sdk.models class objects for chat.unfurl API call fails - Thanks @seratch @injust

Nov 8, 2022
version 3.19.3

Changes

  • #1288 Add datetimepicker, url, email, number block elements - Thanks @WilliamBergamin
  • #1294 Fix #1292 files_upload_v2 does not work with io.BytesIO file parameters - Thanks @seratch
  • #1290 Update RTM API documents - Thanks @ryan-aldaz

Oct 27, 2022
version 3.19.2

Changes

  • #1282 Add request_file_info arg to files_upload_v2 method - Thanks @seratch @eddyg
  • #1278 Improve clarity of 'content' error message for files_upload_v2 - Thanks @eddyg
  • #1283 Improve typing when using 'get' on an API response - Thanks @eddyg
  • #1284 Add Python 3.11 support - Thanks @seratch
  • #1281 Fix selected_option type hint - Thanks @taekop

Oct 6, 2022
version 3.19.1

Changes

  • Improve WebClient#files_upload_v2() to use given filename as the default title value - Thanks @seratch @mattpr

Oct 5, 2022
version 3.19.0

New Features

files.upload v2 in WebClient / AsyncWebClient

We've received many reports on the performance issue of the existing files.upload API (refer to #1191 #1165 for details). So, to cope with the problem, our platform team decided to unlock a new way to upload files to Slack via public APIs. To utilize the new approach, developers need to implement the following steps on their code side:

  1. Call WebClient#files_getUploadURLExternal() method to receive a URL to use for each file
  2. Perform an HTTP POST request to the URL you received in step 1 for each file
  3. Call WebClient#files_completeUploadExternal() method with the pairs of file ID and title to complete the whole process, plus share the files in a channel
  4. If you need the full metadata of the files, call WebClient#files_info() method for each file UPDATE: Since v3.23.0, this API call is no longer required

We do understand that writing the above code requires many lines of code. Also, the existing WebClient#files_upload() users have to take a certain amount of time for migration. To mitigate the pain, we've added a wrapper method named WebClient#files_upload_v2() on the SDK side.

Also, in addition to the performance improvements, another good news is that 3rd party apps can now upload multiple files at a time!

See the following code examples demonstrating how the wrapper method works:

import os
from slack_sdk import WebClient
client = WebClient(token=os.environ["SLACK_BOT_TOKEN"])

# Legacy way
response = client.files_upload(
    file="./logo.png",
    title="New company logo",
    channels=["C12345"],
    initial_comment="Here is the latest version of our new company logo :wave:",
)
response.get("file")  # returns the full metadata of the uploaded file

# New way - the same parameters works in most cases
response = client.files_upload_v2(
    file="./logo.png",
    title="New company logo",
    # Note that channels still works but going with channel="C12345" is recommended
    # channels=["C111", "C222"] is no longer supported. In this case, an exception can be thrown 
    channels=["C12345"],
    initial_comment="Here is the latest version of our new company logo :wave:",
)
response.get("file")  # returns the full metadata of the uploaded file

# New way with multiple files!
response = client.files_upload_v2(
    file_uploads=[
        {
            "file": "./logo.png",
            "title": "New company logo",
        },
        {
            "content": "Minutes ....",
            "filename": "team-meeting-minutes-2022-03-01.md",
            "title": "Team meeting minutes (2022-03-01)",
        },
    ],
    channel="C12345",
    initial_comment="Here is the latest version of our new company logo :wave:",
)
response.get("files")  # returns the full metadata of all the uploaded files

When migrating to the v2 method, please note that the new method requires both files:write and files:read scopes. If your existing apps have only files:write scope for uploading files, you need to add files:read to the scopes plus re-install the app to issue an updated token. UPDATE: Since v3.23.0, files:read scope is no longer required.

Changes

  • #1272 Add files.upload v2 support, which resolves #1191 #1165 - Thanks @seratch

Oct 4, 2022
version 3.18.5

Changes

  • #1271 Add more revert to #1269 - Thanks @seratch @yardensachs

Sep 30, 2022
version 3.18.4

Changes

  • #1264 Fix retry_handlers type hint in AsyncBaseClient - Thanks @ronyb29
  • #1265 #1266 Add selected_time (timepicker) to ViewStateValue class - Thanks @rei-0
  • #1270 Add include_all_metadata to conversations.replies API arguments - Thanks @seratch
  • #1269 Adjust the logic added by #1246 - Thanks @seratch @eddyg

Sep 6, 2022
version 3.18.3

Changes

  • #1262 Fix #1261 blocks/attachments as str for chat.* API calls should be clearly supported - Thanks @seratch

Sep 1, 2022
version 3.18.2

Changes

  • #1259 Fix #1258 Tuple value for blocks argument does not work for Web API calls - Thanks @tommasobertoni
  • #1253 Minor update: max elements in ActionsBlock to 25 - Thanks @YSaxon
  • #1249 #1251 Add in timezone property for timepicker element - Thanks @hello-ashleyintech

Jul 25, 2022
version 3.18.1

Changes

  • #1246 rtm_v2 api spins in infinite loop under gevent - Thanks @mattbillenstein

Document Changes

  • #1244 #1245 Update aiohttp documentation sampleUpdate aiohttp documentation sample - Thanks @srajiang @DonDebonair

Jul 19, 2022
version 3.18.0

Changes

  • #1237 Fix #1236 Add video block to Block Kit model classes - Thanks @seratch
  • #1241 Fix #1240 Update chat_unfurl to support source/unfurl_id parameters - Thanks @seratch @angrychimp
  • #1234 #1235 Fix many type hint errors - Thanks @ehdgua01

Jun 22, 2022
version 3.17.2

Changes

  • #1232 Fix #1230 "unpack requires a buffer of 2 bytes" error when we have many options / option groups - Thanks @seratch @adamtheturtle

Jun 14, 2022
version 3.17.1

Changes

  • #1221 Use 125 chars for max line length for both flake8 and black - Thanks @seratch
  • #1223 Improve the installation data queries to always return the latest bot token - Thanks @seratch
  • #1226 Upgrade pytype to the latest - Thanks @seratch
  • #1225 Update the maintainers guide - Thanks @WilliamBergamin

May 27, 2022
version 3.17.0

Changes

  • #1213 Fix #1212 auth.teams.list API method is not supported in WebClient - Thanks @filmaj @prziborowski
  • #1215 Add more documentation around constructor parameters - Thanks @filmaj
  • #1219 Fix #1218 - Reduce minimum number of overflow options - Thanks @misscoded @wilhelmklopp

May 18, 2022
version 3.16.2

Changes

  • #1210 Fix #1209 Add __all__ to __init__.py - Thanks @seratch @kezabelle

May 10, 2022
version 3.16.1

Changes

  • #1208 Tweaking warnings related to missing accessibility fields text and fallback - Thanks @filmaj
  • Add new properties to Audit Logs API response classes - Thanks @seratch

May 3, 2022
version 3.16.0

Changes

  • #1207 Add message metadata support - Thanks @seratch
  • #1195 Add domain to team.info API parameters - Thanks @seratch
  • #1206 Fix #1200 Model to_dict doesn't handle tuple sequences - Thanks @kezabelle @seratch

Apr 22, 2022
slackclient version 2.9.4

Mainly for the deprecation notice in the PyPI package page: https://pypi.org/project/slackclient/

Here is the list of issues for the release.

Mar 3, 2022
version 3.15.2

Changes

  • #1187 Add file_ids to chat.update parameters - Thanks @seratch
  • #1187 Fix user_ids parameter bug in conversations.inviteShared API method - Thanks @seratch
  • Update Audit Logs API response - Thanks @seratch

Feb 19, 2022
version 3.15.1

Changes

  • #1183 Fix #1178 text type hint in LinkButtonElement does not accept PlainTextObject/dict - Thanks @seratch
  • #1182 Fix #1181 Add exception handling for socket mode - socket.timeout: the read operation timed out - Thanks @seratch @tom0010
  • #1185 Fix #1184 Add exception handling for socket mode - BlockingIOError: Resource temporarily unavailable - Thanks @seratch @tom0010

Latest
v3.41.0
Tracking Since
Oct 22, 2020
Last fetched Apr 18, 2026