0.9.0
Backwards-incompatible changes
SquarebotSlackMessageValue
no longer includes abot_id
field. Instead, theuser
field is set to the bot's ID and a newis_bot
field indicates if theuser
field is a bot or user ID.
New features
-
Add support for Slack messages with
subtype
ofbot_message
. This is implemented in the Slack message modelSlackMessageEventContent
as a newsubtype
field that now takes aSlackMessageSubtype
enum. The Kafka representation of this message,SquarebotSlackMessageValue
has been updated to now set theuser
attribute to either the user's ID or the bot's ID as appropriate. A new flag,is_bot
indicates if theuser
field reflects a user or bot (app integration) identifier. -
SlackMessageEventContent
, a part of theSlackkMessageEvent
model, now has support forattachments
. Slack attachments are deprecated for Block Kit, but are still widely used by app integrations. Theattachments
field is a list ofSlackMessageAttachment
objects. These attachments can have text content or individual fields that have titles and values. -
The
SquarebotSlackMessageValue
Kafka message model'stext
field now includes the combined content of the message and its attachments. This makes it easy for consumers to process message content without needing to check for attachments and Block Kit fields. For consumers that are sensitive to the exact structure of the message, theslack_event
field is still available, which is the original JSON representation of the Slack message, which can be parsed into aSlackMessageEvent
object.
Other changes
-
Adopt
ruff-shared.toml
from https://github.com/lsst/templates -
The noxfile now uses
uv
as the backend for pip and pip-compile tasks. -
Added a new weekly GitHub Actions CI workflow to validate that the app will run with future versions of dependencies.
What's Changed
- DM-45383: Add bot_message support for Slack messages by @jonathansick in #29
Full Changelog: 0.8.0...0.9.0