Releases: slack-go/slack
Release list
v0.29.0
v0.28.0
Added
Channelsfield to share an uploaded file with multiple conversations by @kenta-ja8 in #1579- Support for the container block by @jlhawn in #1574
- Full message object from
chat.postMessageresponses by @rustycl0ck in #1572
Fixed
- Correct typos in comments and debug strings by @maxtaran2010 in #1570
Other
- chore(deps): bump golangci/golangci-lint-action from 9.2.1 to 9.3.0 by @dependabot[bot] in #1569
- chore(deps): bump actions/stale from 10.3.0 to 10.4.0 by @dependabot[bot] in #1573
- chore(deps): bump actions/setup-go from 6 to 7 by @dependabot[bot] in #1576
- chore(deps): bump actions/stale from 10.4.0 to 11.0.0 by @dependabot[bot] in #1578
New Contributors
- @maxtaran2010 made their first contribution in #1570
- @kenta-ja8 made their first contribution in #1579
- @jlhawn made their first contribution in #1574
- @rustycl0ck made their first contribution in #1572
Full Changelog: v0.27.0...v0.28.0
v0.27.0
Added
- Support for
data_visualizationblock throughDataVisualizationBlock. - Team
now preservesenterprise_idandenterprise_namewhen Slack includes Enterprise org details in interaction payloadteam` objects.
Full Changelog: v0.26.0...v0.27.0
v0.26.0
What's Changed
- Unmarshal
is_ext_shared_channelfield inEventsAPIEventby @jjiang-stripe in #1565 - Add level field support to
HeaderBlockby @nlopes in 0af06c5 - Add
slack_iconandsubtextsupport toCardBlockby @nlopes in 56c434c
New Contributors
- @jjiang-stripe made their first contribution in #1565
Full Changelog: v0.25.0...v0.26.0
v0.25.0
Important
See CHANGELOG.md for details. Breaking change: TableBlock.Rows is now [][]TableCell (#1558).
What's Changed
- chore(deps): bump actions/stale from 10.2.0 to 10.3.0 by @dependabot[bot] in #1556
- chore(deps): bump golangci/golangci-lint-action from 9.2.0 to 9.2.1 by @dependabot[bot] in #1557
- fix!: preserve all cell types in
TableBlockby @nlopes in #1560 - refactor: replace interface{} with any (Go 1.18+) by @MD-Mushfiqur123 in #1559
- chore: fix a bunch of issues detected by golangci-lint by @nlopes in #1561
New Contributors
- @MD-Mushfiqur123 made their first contribution in #1559
Full Changelog: v0.24.0...v0.25.0
v0.24.0
What's Changed
- docs: format go get command in code block by @akhil-ge0rge in #1554
- feat: add new block kit block Data Table by @nlopes in #1555
Important
NewTaskCardBlock and NewPlanBlock now guard against nil variadic options so if you were doing that (which you shouldn't) this is a breaking change.
New Contributors
- @akhil-ge0rge made their first contribution in #1554
Full Changelog: v0.23.1...v0.24.0
v0.23.1
Important
Even though this is a [security] patch release, if you were using an empty secret, this is a breaking change due to a change in behaviour. That's on purpose, to ensure you fix your approach so that there are no footguns.
Fixed
NewSecretsVerifiernow rejects empty signing secrets to avoid accepting forged request
signatures when applications are misconfigured.
Full Changelog: v0.23.0...v0.23.1
v0.23.0
Added
- feat(socketmode): expose socketmode handler
dispatchermethod by @nlopes in #1550 - feat(block): add card and carousel blocks by @nlopes in #1551
- feat(assistant): add username and icon to status update by @charleenwang in #1553
- feat(block): add alert block by @nlopes in #1552
New Contributors
- @charleenwang made their first contribution in #1553
Full Changelog: v0.22.0...v0.23.0
v0.22.0
What's Changed
Added
- OAuth PKCE support -
OAuthOptionCodeVerifieroption forGetOAuthV2Response, plusGenerateCodeVerifier()andGenerateCodeChallenge()helpers (RFC 7636).client_secretis now conditionally omitted when empty in bothGetOAuthV2ResponseContextandRefreshOAuthV2TokenContext. - Manifest scope fields -
BotOptionalandUserOptionalonOAuthScopes. - Rich text styles -
Underline,Highlight,ClientHighlight, andUnlinkonRichTextSectionTextStyle.Stylefield onRichTextSectionUserGroupElement. - Assistant search context -
Sort,SortDir,Before,After,Highlight,IncludeContextMessages,IncludeDeletedUsers,IncludeMessageBlocks,IncludeArchivedChannels,DisableSemanticSearch,Modifiers,TermClausesparameters and new response types (AssistantSearchContextFile,AssistantSearchContextChannel,AssistantSearchContextMessageContext).
Fixed
- socketmode: malformed JSON no longer forces reconnect -
json.SyntaxErrorandjson.UnmarshalTypeErrornow emit anEventTypeIncomingErrorevent and continue reading instead of killing the WebSocket connection. - socketmode:
debug_reconnectsquery param applied correctly - the parameter was silently discarded due to a missingurl.RawQueryassignment. ChannelTypesandContentTypesnow send comma-separated values instead of repeated form keys, matching the convention used by every other method in the library.
Docs
assistant:writescope marked as deprecated in favour ofchat:write.
Full Changelog: v0.21.1...v0.22.0
v0.21.1
v0.21.1
Added
MessageEventchannel type helpers — NewChannelTypeChannel,ChannelTypeGroup,
ChannelTypeIM, andChannelTypeMPIMconstants plusIsChannel(),IsGroup(),IsIM(), and
IsMpIM()convenience methods onMessageEvent. No more comparing raw strings to figure out where a
message came from:
if ev.IsIM() {
// handle direct message
}Fixed
- MessageEvent doc typo — ChannelType documentation listed "mim" instead of the correct "mpim".
- Duplicate attachment/block serialization — MsgOptionAttachments and MsgOptionBlocks were serializing
payloads twice (once for the response-URL JSON path, once for the form POST path). Serialization now
happens once inside formSender.BuildRequestContext. (#1547)
Note
UnsafeApplyMsgOptions no longer includes attachments/blocks keys in the returned values, since marshalling is deferred to send time. This function is documented as unsupported.