github twurple/twurple v6.0.0
6.0.0

latest releases: v7.2.0, v7.1.0, v7.1.0-pre.9...
20 months ago

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 - use duration 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 (use start instead) and EventSubHttpListener#unlisten (use stop instead) (2a7c6db)
  • [api] rename HelixBanUserRequest#userId and HelixClipCreateParams#channelId to lose the "id" part (f7d7269)
  • [api] removed half-official badges API, use the helix chat API instead (2a7c6db)
  • [api] removed HelixChannelApi#getChannelInfo, use getChannelInfoById instead (2a7c6db)
  • [api] removed HelixCustomReward#autoApproved, use autoFulfill instead (2a7c6db)
  • [api] removed HelixBanUser#broadcasterId (2a7c6db)
  • [api] removed HelixBanUser#endDate, use expiryDate 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)

Fixes

  • [chat] stop rate limiter from sending messages & joins while chat is disconnected (ee5137e)
  • [eventsub] split websocket transport implementation into one socket per user (9b9909b)

Don't miss a new twurple release

NewReleases is sending notifications on new releases.