This release reworks the entirety of the AuthProvider
interface and the basic authentication structure, which means that you can now use a single AuthProvider
for your whole application (as well as one ApiClient
and one EventSubWsListener
and so on).
It also unifies a few interfaces to be more consistent (for example, in EventSub, listen
-> start
and unlisten
-> stop
) and does the usual major version deprecation cleanup. Most notably, all chat commands have been removed as they will be permanently removed from Twitch on 2022-02-24.
To make sure all your code still works after upgrading, follow our migration guide.
Breaking changes
- [auth] rework AuthProvider (c0793d9, #344)
- [chat] removed all chat action methods that are deprecated by Twitch (2a7c6db)
- [chat] hide IRC internals behind
irc
property - if you're doing lower level IRC stuff, use that, but also consider requesting your use case as a proper feature by opening an issue (30442c9) - [api] remove unsupported chatters endpoint (35b3566)
- [api] remove legacy tags endpoints & properties (3909e0c)
- [api] replace rate limiter stats properties with a single object (2c9700c)
- [eventsub] disable eventsub secret augmentation by default, add temporary flag to enable it again (33bab90)
- [eventsub] change strictHostCheck default to true, remove warning (44d1409)
- [eventsub] redemption add: rename redeemedAt to redemptionDate (ae69826)
- [chat, pubsub, eventsub] make persistent connections more event based (47f6ccd, #438)
- [pubsub] remove
PubSubSubscriptionMessage#giftDuration
- useduration
instead (4d4b191) - [api, eventsub] throw on failed relation fetches instead of silently ignoring null results (31d690e)
- [eventsub] removed the whole
@twurple/eventsub
package (use@twurple/eventsub-http
instead) (199c480) - [eventsub-http] make EventSubMiddleware#apply synchronous (6ba9c7d, #338)
- [eventsub-http] removed
EventSubHttpListener#listen
(usestart
instead) andEventSubHttpListener#unlisten
(usestop
instead) (2a7c6db) - [api] rename
HelixBanUserRequest#userId
andHelixClipCreateParams#channelId
to lose the "id" part (f7d7269) - [api] removed half-official badges API, use the helix chat API instead (2a7c6db)
- [api] removed
HelixChannelApi#getChannelInfo
, usegetChannelInfoById
instead (2a7c6db) - [api] removed
HelixCustomReward#autoApproved
, useautoFulfill
instead (2a7c6db) - [api] removed
HelixBanUser#broadcasterId
(2a7c6db) - [api] removed
HelixBanUser#endDate
, useexpiryDate
instead (2a7c6db) - [api, eventsub] removed poll bits voting related properties (Twitch removed them) (2a7c6db)
- [api] removed
HelixUser#views
(stale data, intentional by Twitch) (2a7c6db) - [chat] removed host mode related properties from chat (removed by Twitch) (2a7c6db)
Features
- [api] add retry to API client calls (5004e52, #400)
- [chat] add
ChatClient#currentChannels
(4cd3574, #340) - [pubsub] add duration for all subscription types (4d4b191, #439)
- [pubsub] add term actions to PubSub mod actions (878d633, #333)
- [api, eventsub] add beta drops endpoints/events (75f4c87)
- [api, eventsub] add shoutout endpoints/events (de6db84, #448)
Improvements
- [api] make data object construction from paginated results lazy (1d076f5)
- [api] support API calls with more than one valid scope (c67eb82, 5aafd99, #433)