Releases: slack-go/slack
v0.17.3
What's New
Fixes
- Parse simple string based errors as part of the response by @nlopes in #1452
In the previous version we introduced the ability to parse specific errors (more complex ones) but Slack can still send us astring
.string
is now the fallback type.
Other
- Examples are now using environment variables and command line arguments consistently by @nlopes in #1456
Also added a ./examples/README.md explaining the patterns that should be used.
Full Changelog: v0.17.2...v0.17.3
v0.17.2
Features added
- Add
Timezone
parameter for the slackTimePickerBlockElement
by @jamesjarvis in #1448 and #1449 - Add support for Slack image file objects in the
ImageBlockElement
by @superturkey650 in #1444 - Add ability to add file ids when updating a message by @nlopes in #1451
- Add support for the API endpoint
/migration.exchange
to the library by @nlopes in #1453 - Add
/apps.connections.open
handler to slacktest by @prologic in #1447
New Contributors
- @jamesjarvis made their first contribution in #1448
- @prologic made their first contribution in #1447
- @superturkey650 made their first contribution in #1444
Full Changelog: v0.17.1...v0.17.2
v0.17.1
This has the potential to be a breaking change if and only if you have been building SlackResponse
by hand, which you shouldn't 😬. If you are, my apologies for adding this in a minor version, I thought the likelihood of this to be very very low. See #1443 for more details.
Features added
- Add
channel_unshared
event by @nlopes in #1437 - Add missing Blocks to UploadFileContextV2 by @dalyndalton in #1435
This adds the missing optional dependency for Blocks to the upload file method, allowing users to use rich blocks and buttons during the file upload process. - Return Errors field in SlackErrorResponse by @nlopes in #1443
Detailed list of all of the changes
- chore: add CI test status badge to README by @nlopes in #1431
- feat: add channel_unshared event by @nlopes in #1437
- chore: add test for section block expand option by @nlopes in #1440
- chore: order inner events vars alphabetically by @nlopes in #1442
- chore: better events example code by @nlopes in #1441
- feat: Add missing Blocks to UploadFileContextV2 by @dalyndalton in #1435
- feat: return Errors field in SlackErrorResponse by @nlopes in #1443
- doc: add README.md to examples/eventsapi by @nlopes in #1445
New Contributors
- @dalyndalton made their first contribution in #1435
Full Changelog: v0.17.0...v0.17.1
v0.17.0
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.
See below for the most important, and trickier breaking changes.
Breaking changes
- Fix message event struct by @paprikati in #1391 and #1408
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. - Renamed
AltText
toAltTxt
andSnippetText
toSnippetType
(inGetUploadURLExternalParameters
andUploadFileV2Parameters
) by @nlopes in #1422 AppHomeOpenedEvent
View
is now a pointer by @nlopes in #1424
This provides slightly better ergonomics in the case when there's no view yet.
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 - 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
- Add interaction callback parser by @snowboardit in #1413
- Rename uploadToUrl to UploadToURL (becomes public to library consumers) by @nlopes in #1422
- Add Workflow Trigger WebAPI Methods by @lorenzoaiello in #1349
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
- 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
- Make it foolproof for people trying to use emoji with
mrkdwn
which the Slack API doesn't support by @nlopes in #1418 - Subteam events in socketmode now have their
Count
fields as numbers by @nlopes in #1417 - RichTextSectionLinkElement Text is now
omitempty
by @bassettb in #1412
Detailed list of all of the changes
- feat: add markdown block by @nlopes in #1372
- Configure Dependabot to maintain GitHub Actions by @sgerrand in #1374
- feat: add filter in
MultiSelectBlockElement
by @quantumsheep in #1373 - 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
- feat: support unmarshalling markdown blocks by @carlaurr in #1381
- chore: remove unused GO111MODULE from the tests by @nlopes in #1382
- Expose private File Upload V2 methods to support multiple file uploads in a single message by @YutoKashiwagi in #1376
- [fix] function execution events accept interfaces not strings by @ProjectBarks in #1357
- fix: slacktest GetSeenOutboundMessages race condition by @askreet in #1362
- Implement PublishViewContextV2 to keep hash optional by @ishitamundhra in #1322
- DEPRECATION!: Legacy Workflows Deprecation by @lorenzoaiello in #1350
- Additional field to the File structure by @rntk in #1380
- fix: Allow
emoji
value in plain text blocks to be null by @calebmckay in #1354 - Return a StatusCodeError when a workspace's message limit is exceeded by @greysteil in #1383
- Add rich_text_value into BlockAction by @borisputerka in #1385
- 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
- Fix message event struct by @nlopes in #1391
- chore: sort out a couple minor niggles by @nlopes in #1392
- feat: add '&debug_reconnects=true' to websocket url by @nlopes in #1393
- feat: add include_icon to auth.teams.list by @nlopes in #1394
- feat: add a few missing fields to conversation by @nlopes in #1395
- feat: add missing icons image_132 and image_230 to Team Icons by @nlopes in #1396
- feat: add
ForceInviteUsersToConversation
by @nlopes in #1397 - feat: add a bunch of missing params to usergroups.* calls by @nlopes in #1398
- feat: add FocusOnLoad to DateTimePickerBlockElement by @nlopes in #1399
- feat: add Border and Offset to RichTextList by @nlopes in #1400
- 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
- Add some missing admin.conversations endpoints by @samstarling in #1401
- 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
- RichTextSectionLinkElement Text omitempty by @bassettb in #1412
- Add interaction callback parser by @snowboardit in #1413
- chore(deps): bump golangci/golangci-lint-action from 6.5.2 to 8.0.0 by @dependabot in...
v0.17.0-rc7
What's Changed
- fix!: AppHomeOpenedEvent View is now a pointer by @nlopes in #1424
- feat: Adding Workflow Trigger WebAPI Methods by @lorenzoaiello in #1349
Breaking Changes
AppHomeOpenedEvent
View
is now a pointer - this provides slightly better ergonomics in the case when there's no view yet.
Full Changelog: v0.17.0-rc6...v0.17.0-rc7
v0.17.0-rc6
What's Changed
I've also added an example on how to do this. You can find it in ./examples/files/multiple_files.
BREAKING CHANGES
- renamed AltText to AltTxt and SnippetText to SnippetType.
Full Changelog: v0.17.0-rc5...v0.17.0-rc6
v0.17.0-rc5
Features Added
- Add interaction callback parser by @snowboardit in #1413
Fixes / cleanup
- Make it foolproof for people trying to use emoji with
mrkdwn
which the Slack API doesn't support by @nlopes in #1418 - Subteam events in socketmode now have their
Count
fields as numbers by @nlopes in #1417 - RichTextSectionLinkElement Text is now
omitempty
by @bassettb in #1412 - We now only test for the last 3 versions of Go by @nlopes in #1416
New Contributors
- @bassettb made their first contribution in #1412
- @snowboardit made their first contribution in #1413
Full Changelog: v0.17.0-rc4...v0.17.0-rc5
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