Releases: slack-go/slack
v0.17.0-rc4
What's Changed
- chore(deps): bump golangci/golangci-lint-action from 6.5.1 to 6.5.2 by @dependabot in #1407
- Unmarshal messages correctly for all subtypes by @paprikati in #1408
This fixes a major bug introduced when we changed shapes of messages inrc2
(I think).
New Contributors
- @paprikati made their first contribution in #1408
Full Changelog: v0.17.0-rc3...v0.17.0-rc4
v0.17.0-rc3
A few more changes but most shouldn't cause big issues, i.e: they won't feel as the previous breaking changes.
Features added
- Add include_icon to auth.teams.list by @nlopes in #1394
- Add a few missing fields to conversation by @nlopes in #1395
- Add missing icons image_132 and image_230 to Team Icons by @nlopes in #1396
- Add
ForceInviteUsersToConversation
by @nlopes in #1397 - Add a bunch of missing params to usergroups.* calls by @nlopes in #1398
- Add FocusOnLoad to DateTimePickerBlockElement by @nlopes in #1399
- Add Border and Offset to RichTextList by @nlopes in #1400
- Add some missing admin.conversations endpoints by @samstarling in #1401
Fixes / cleanup
- Tidy up go.mod, add a linting check to prevent this by @samstarling in #1405
- Handle nil being passed in to newTextParser by @samstarling in #1403
- Remove a number of unused functions and parameters by @samstarling in #1402
- Tidy up arguments to _search function by @samstarling in #1404
Full Changelog: v0.17.0-rc2...v0.17.0-rc3
v0.17.0-rc2
MAJOR BREAKING CHANGES
This release has a few major breaking changes. And a couple require developers to pay a bit of attention, else their programs will break.
I am sorry this is the case but such is life sometimes.
In order to give people a bit of a heads up here, and to make sure people do pay attention, I'm releasing a release candidate (-rc
) version and give it some time, before I do a final v0.17.0
.
See below for the most important, and trickier breaking changes.
Breaking changes
- Fix message event struct by @paprikati in #1391
OurMessageEvent
has been quite wrong for a while. This should fix it but it does mean folks will have to change their code to cope with this new structure. Please be extra vigilant in areas of your code that usesMessageEvent
. - Function execution events now correctly accept interfaces not strings by @ProjectBarks in #1357
FunctionExecutedEvent
hadInputs
set asmap[string]string
but that didn't allow enough flexibility - that has been changed tomap[string]interface
. - Allow
emoji
value in plain text blocks to be null by @calebmckay in #1354
TheEmoji
field inTextBlockObject
is now a pointer to ensure we can make a distinction betweennil
andfalse
. Only affects when unmarshalling. - Remove Legacy Workflows by @lorenzoaiello in #1350
Slack has deprecated legacy workflows for a long time, and beginning September 26, 2024, Slack stopped executing workflows containing a "step from app." See more at https://api.slack.com/changelog/2023-08-workflow-steps-from-apps-step-back. - Implement PublishViewContext to keep hash optional by @ishitamundhra in #1322
PublishViewContext()
now requires people to pass aPublishViewContextRequest
which became a public type. If you callPublishViewContext()
in your code, please adjust accordingly.
Features added
- Add markdown block by @nlopes in #1372
- Add filter in
MultiSelectBlockElement
by @quantumsheep in #1373 - Support unmarshalling markdown blocks by @carlaurr in #1381
- Expose private File Upload V2 methods to support multiple file uploads in a single message by @YutoKashiwagi in #1376
- Add
Headers
field to theFile
structure by @rntk in #1380 - Add
RichTextValue
(rich_text_value
) toBlockAction
by @borisputerka in #1385 - Add '&debug_reconnects=true' to websocket url when in
debug
mode by @nlopes in #1393
Fixes
- Fix
slacktest
GetSeenOutboundMessages
race condition by @askreet in #1362 - Return a StatusCodeError when a workspace's message limit is exceeded by @greysteil in #1383
Other changes
- Configure Dependabot to maintain GitHub Actions by @sgerrand in #1374
- chore(deps): bump actions/stale from 9.0.0 to 9.1.0 by @dependabot in #1377
- chore(deps): bump golangci/golangci-lint-action from 6.1.0 to 6.5.0 by @dependabot in #1378
- chore: remove unused GO111MODULE from the tests by @nlopes in #1382
- chore: bump golangci to 1.63.4 by @nlopes in #1386
- chore: bump testing ubuntu runner to 24.04 by @nlopes in #1387
- Create FUNDING.yml by @nlopes in #1388
- chore(deps): bump golangci/golangci-lint-action from 6.5.0 to 6.5.1 by @dependabot in #1389
- ci: add Go version 1.24 to test matrix by @nemuvski in #1390
- chore: sort out a couple minor niggles by @nlopes in #1392
New Contributors
- @sgerrand made their first contribution in #1374
- @quantumsheep made their first contribution in #1373
- @dependabot made their first contribution in #1377
- @carlaurr made their first contribution in #1381
- @ProjectBarks made their first contribution in #1357
- @askreet made their first contribution in #1362
- @ishitamundhra made their first contribution in #1322
- @greysteil made their first contribution in #1383
- @borisputerka made their first contribution in #1385
Full Changelog: v0.16.0...v0.17.0-rc2
v0.16.0
Warning
This release may mean a breaking change! Read below for more although for most folks this should all be fine.
π Hi folks,
I've tried my best to keep this version to just non-breaking changes but there are a couple of changes that might introduce breaking changes in rare circumstances.
If you're upgrading, please pay special attention to:
- Add ID() to the Block interface by @samstarling in #1359
If you were using only what we provide in the library, this is a non-breaking change, but if not, it may be considered a breaking change.
Next release will likely bring a few required breaking changes (hard deprecations for example).
Thank you to everyone that contributed to this release π₯³
What's Changed
- feat: Slack AI & Assistants Compatibility by @MattDavisRV in #1331
- fix: Assistant Prompts and Status, send channel_id with request by @MattDavisRV in #1344
- fix: Don't require
skin_tone
for rich text emoji element by @calebmckay in #1341 - fix: ScheduleMessage not returning scheduled_message_id by @hussachai in #1153
- chore: Contributing Guide - Codification of Project Norms by @lorenzoaiello in #1340
- chore: Add parse channel context and host for shared channel by @fahmizulhasymi in #1353
- chore: Adding A Deprecation Notice for rtm.start (no-op) by @lorenzoaiello in #1351
- Additional field to the File structure by @rntk in #1370
- add enable_section option for UserGroup API by @sivchari in #1364
- Add ID() to the Block interface by @samstarling in #1359
- Add assistant app thread message subtype by @dorkauf in #1368
New Contributors
- @fahmizulhasymi made their first contribution in #1353
- @rntk made their first contribution in #1370
- @samstarling made their first contribution in #1359
- @dorkauf made their first contribution in #1368
Full Changelog: v0.15.0...v0.16.0
v0.15.0
Warning
This release includes a breaking change since the last release.
What's Changed
v0.15.0 is now available. It does contain minor breaking changes to two Block Kit elements along with a lot of new functionality.
Breaking Changes
Block Kit - Rich Text Section Date Element
If you are using the RichTextSectionDateElement
block kit element, there is a new field Format
which is now required. It previously did not exist, but was marked as required in the Block Kit Documentation. Similarly, the function NewRichTextSectionDateElement
function signature has been updated to require the new parameter. While this may not have previously worked, the non-backwards compatible signature change prompts it to be identified as breaking change.
Block Kit - Rich Text input Block Element
If you are using the RichTextInputBlockElement
block kit element, the InitialValue
field type has been changed from string
to *RichTextBlock
to provide a more strongly typed experience. If you were previously passing a pre-formatted JSON object you will need to update your input to use the RichTextBlock
struct instead.
Enhancements
- Added support for publishing a message to a specific thread by @Nikolo in #1309
- Added support for unicode parameter in emoji type of rich text blocks by @YutoKashiwagi in #1319
- Added endpoints for
calls.*
apis andType: call
in blockkit by @winston-stripe in #1190 - Added Convenience Methods to Block Elements by @obed-sj in #1279
- Added functions.completeError and functions.completeSuccess by @gideonw in #1328
- Added support for external_limited option of inviteShared by @bamo in #1330
- Added support for Canvas API methods by @jarospisak-unity in #1334
Bug Fixes
- Added required
format
field to rich text date blocks by @luke-josh in #1317 - Updated RichTextInputBlockElement InitialValue data type by @Manjish in #1320
Chores
- Added go v1.23 to test matrix (test.yml) by @nemuvski in #1315
- Bumped GitHub Actions to Latest Versions by @shogo82148 in #1314
- Updated deprecated comment for UploadFile and UploadFileContext by @shogo82148 in #1316
New Contributors
- @shogo82148 made their first contribution in #1314
- @Nikolo made their first contribution in #1309
- @luke-josh made their first contribution in #1317
- @Manjish made their first contribution in #1320
- @YutoKashiwagi made their first contribution in #1319
- @obed-sj made their first contribution in #1279
- @gideonw made their first contribution in #1328
- @bamo made their first contribution in #1330
- @jarospisak-unity made their first contribution in #1334
Full Changelog: v0.14.0...v0.15.0
v0.14.0
What's Changed
v0.14.0 is now available. It contains no breaking changes but does include several pieces of new functionality and long-standing bug fixes.
Enhancements
- Added Support for receiving
metadata
when receiving aMessageEvent
over WebSocket by @rfratto in #1307 - Added a new field to expose file data when receiving a
File
event from a Slack Connect Channel by @zFlabmonsta in #1312 - Added support for the
slack_file
in the image block by @rhysm in #1311 - Added 35 missing Websocket event types by @Aryakoste in #1306
- Added support for parsing
AppRateLimited
events in theParseEvent
function by @nemuvski in #1308 - Added newly documented Channel Canvas properties to the
conversations.info
Web API method by @ku in #1228
Bug Fixes
- Fixed an edge case when using
UpdateRemoteFileContext
andUpdateRemoteFile
and Image Previews would return aninvalid_auth
error by @EkeMinusYou in #1117
Chores / Code Cleanup
- Replaced deprecated
ioutil
withio
andos
packages by @nakamasato in #1310
New Contributors
- @rfratto made their first contribution in #1307
- @nakamasato made their first contribution in #1310
- @rhysm made their first contribution in #1311
- @Aryakoste made their first contribution in #1306
- @nemuvski made their first contribution in #1308
- @ku made their first contribution in #1228
- @EkeMinusYou made their first contribution in #1117
- @jjjjeeffff was instrumental in the successful resolution of #1117
Full Changelog: v0.13.1...v0.14.0
v0.13.1
What's Changed
v0.13.1 is now available. It contains no breaking changes but does expose some new fields previously unavailable.
Enhancements
- Added
UnfurlLinks
andUnfurlMedia
toWebhookMessage
by @lheiskan in #1208 - Added
isReadOnly
property toConversation
struct by @GGonryun in #1232
Bug Fixes
- Fixed
UploadFileV2
when using text content by @calebmckay in #1291 - Made
Channel
optional onUploadFileV2
by @0xdeafcafe in #1293
Chores / Code Cleanup
- Replace a Loop with Slice by @testwill in #1211
- Added Deprecation Notice for
files.upload
by @lorenzoaiello in #1300 - Added Go Test Coverage for 1.21 and 1.22 by @lorenzoaiello in #1298
Documentation Updates
- Updated Inline Docs and API References by @lorenzoaiello in #1299
- Added an example for
Pagination
by @adamrothman in #1201 - Added an example for
ConversationHistory
by @lorenzoaiello in #1302 - Added an example for
AddRemoteFile
andDeleteFile
by @lorenzoaiello in #1303
New Contributors
- @calebmckay made their first contribution in #1291
- @lheiskan made their first contribution in #1208
- @GGonryun made their first contribution in #1232
- @0xdeafcafe made their first contribution in #1293
- @lorenzoaiello made their first contribution in #1300
- @adamrothman made their first contribution in #1201
Full Changelog: v0.13.0...v0.13.1
v0.13.0
Warning
This release includes a breaking change since the last release
What's Changed
Breaking changes
- Expose
team_id
parameter for use with org-wide app by @candiduslynx in #1283:
Changed interface:Old New Client.GetBotInfo(bot string) (*Bot, error)
Client.GetBotInfo(parameters GetBotInfoParameters) (*Bot, error)
Client.GetBotInfoContext(ctx context.Context, bot string)
Client.GetBotInfoContext(ctx context.Context, parameters GetBotInfoParameters)
Client.GetTeamProfile() (*TeamProfile, error)
GetTeamProfile(teamID ...string) (*TeamProfile, error)
GetTeamProfileContext(ctx context.Context) (*TeamProfile, error)
GetTeamProfileContext(ctx context.Context, teamID ...string) (*TeamProfile, error)
Client.GetBillableInfo(user string) (map[string]BillingActive, error)
Client.GetBillableInfo(params GetBillableInfoParams) (map[string]BillingActive, error)
Client.GetBillableInfoContext(ctx context.Context, user string) (map[string]BillingActive, error)
Client.GetBillableInfoContext(ctx context.Context, params GetBillableInfoParams) (map[string]BillingActive, error)
Client.GetBillableInfoForTeam() (map[string]BillingActive, error)
dropped, use Client.GetBillableInfo
with empty paramsClient.GetBillableInfoForTeamContext(ctx context.Context) (map[string]BillingActive, error)
dropped, use Client.GetBillableInfoContext
with empty params
Bug fixes
- Block Object: Validate text min and max length by @Chagui- in #1273
- fix some typos by @yutasb in #1281
Enhancements
- Add missing message option for link_names by @robbydyer in #1278
- Expose
team_id
parameter for use with org-wide app by @candiduslynx in #1283
New Contributors
- @Chagui- made their first contribution in #1273
- @robbydyer made their first contribution in #1278
- @yutasb made their first contribution in #1281
- @candiduslynx made their first contribution in #1283
Full Changelog: v0.12.5...v0.13.0
v0.12.5
What's Changed
BUGFIX - deal with "true", true, "false", false.
- Parse string or boolean for SlashCommand.IsEnterpriseInstall by @kpaulisse in #1266
Full Changelog: v0.12.4...v0.12.5
Non-breaking updates roll-up
What's Changed
- chore: unnecessary use of fmt.Sprintf by @testwill in #1212
- Add Video Block by @walkure in #1210
- Add connected_team_ids optional field to Conversation by @zFlabmonsta in #1253
- Add blocks in slackevents.MessageEvent by @invzhi in #1227
- Add support for Rich Text Lists by @daniel-pieper-personio in #1155
- Add support for Rich Text Input by @peimanja in #1240
- Fix: always add context to errors during block serde by @yunginnanet in #1259
- Edited field in the app mention event by @IbirbyZh in #1256
- Expose is_enterprise_install field by @7ail in #1255
- feat: Add the ability to set
URL
onNewButtonBlockElement
via.WithURL()
by @joshbranham in #1250 - Add block element type FileInput by @elct9620 in #1249
- Openid connect by @danielmichaels in #1242
- Add is_enterprise_install flag for org wide installation support by @hussachai in #1225
- Add an example of updating modal by @KouWakai in #1142
- add deleted timestamp for deleted msg events by @zFlabmonsta in #1261
- Add slack connect events & tests by @Birtato in #1262
- Add rich_text_quote and rich_text_preformatted by @rusq in #1260
New Contributors
- @testwill made their first contribution in #1212
- @walkure made their first contribution in #1210
- @zFlabmonsta made their first contribution in #1253
- @invzhi made their first contribution in #1227
- @daniel-pieper-personio made their first contribution in #1155
- @peimanja made their first contribution in #1240
- @yunginnanet made their first contribution in #1259
- @IbirbyZh made their first contribution in #1256
- @joshbranham made their first contribution in #1250
- @elct9620 made their first contribution in #1249
- @danielmichaels made their first contribution in #1242
- @KouWakai made their first contribution in #1142
- @Birtato made their first contribution in #1262
Full Changelog: v0.12.3...v0.12.4