slack-go/slack v0.7.0 をリリースしました
しばらく停滞していた nlopes/slack が、今年の頭に slack-go/slack としてメンテナンスをしていこうという流れになったのは記憶に新しいです。
org 移行後は順調?に v0.6.1 ~ v0.6.6 までリリースされていましたが、最近またリリースがなかったので今回自分が主導でリリースを進めてみました。
というわけで、この記事はアプデ前に見ておきたい変更点(後方非互換なものがいくつか入っています)に加えて、自分のリリースに変なところがあれば指摘してもらいたいという裏目的も持ちながら執筆されています。
Breaking Changes
ユーザの対応が必要、あるいは既存アプリケーションの挙動に影響がありうるものは、今回のリリースでは以下の3つです。
Add description field to option block object #783
slack.NewOptionBlockObject
関数の引数に description が追加されています。
Block Kit を利用している場合は登場頻度が高いかもしれないので要注意です。
Add ScheduledMessage type #753
(*slack.Client).GetScheduledMessages
および (*slack.Client).GetScheduledMessagesContext
メソッドの返り値の型が []slack.Message
から新しく追加された []slack.ScheduledMessage
へと変更されています。
Fix wrong conditional branch #782
slack.TextObject
のタイプ判定に typo があり、Markdown になるべきところもすべて PlainText として判定されてしまっていたというものです。
これは正確にはもともとバグっていたものを修正したものですが、現在実装されているアプリケーションの挙動に影響がありうるので注意してください。
その他
あまり大きなものはありません。
#772 の Slack から返ってくる response_metadata を取得可能になった PR は便利かもしれません。
参考程度に全PRを羅列しておきます。興味がある方は見てみてください。
- Fixes, Improvements
- Features
- Others
-
https://github.com/slack-go/slack/pull/813
- かわいいアイコンが追加されました :)
-
https://github.com/slack-go/slack/pull/813
むすび
CHANGELOG にも書いているので不要かなと思いつつ、slack-go/slack の現状をお知らせする意味でも記事を書いてみました。
直近で deprecated になった Slack の API もあるので、非互換を含むリリースが近いうちにまたありそうです。
もし変な挙動があれば issue でも Twitter でも何でも構いませんのでご報告ください!
また、改善ポイントもまだまだたくさんあると思います。
ぜひコントリビューションお待ちしております!
Discussion