Skip to content

v0.17.0

Choose a tag to compare

@nlopes nlopes released this 25 May 16:25
· 127 commits to master since this release
6ed4ea4

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
    Our MessageEvent 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 uses MessageEvent.
  • Function execution events now correctly accept interfaces not strings by @ProjectBarks in #1357
    FunctionExecutedEvent had Inputs set as map[string]string but that didn't allow enough flexibility - that has been changed to map[string]interface.
  • Allow emoji value in plain text blocks to be null by @calebmckay in #1354
    The Emoji field in TextBlockObject is now a pointer to ensure we can make a distinction between nil and false. 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 a PublishViewContextRequest which became a public type. If you call PublishViewContext() in your code, please adjust accordingly.
  • Renamed AltText to AltTxt and SnippetText to SnippetType (in GetUploadURLExternalParameters and UploadFileV2Parameters) 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

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 #1415
  • Subteam events in socketmode should have their 'Count' entries as numbers, not strings by @nlopes in #1417
  • [chore]: support only the last 3 versions of go by @nlopes in #1416
  • fix: don't allow emoji with mrkdwn by @nlopes in #1418
  • feat!: expose UploadToURL (from uploadToURL) by @nlopes in #1422
  • fix!: AppHomeOpenedEvent View is now a pointer by @nlopes in #1424
  • feat: Adding Workflow Trigger WebAPI Methods by @lorenzoaiello in #1349
  • fix: tighten permissions for the test workflow by @nlopes in #1425
  • chore: add gomod to dependabot by @nlopes in #1426
  • chore(deps): bump github.com/stretchr/testify from 1.2.2 to 1.10.0 by @dependabot in #1427
  • chore(deps): bump github.com/go-test/deep from 1.0.4 to 1.1.1 by @dependabot in #1429
  • chore(deps): bump github.com/gorilla/websocket from 1.4.2 to 1.5.3 by @dependabot in #1428

New Contributors

Full Changelog: v0.16.0...v0.17.0