- MSRV: 1.77.0
- Requests for helix endpoints have been converted to take
Cow
s. This change means thebuilder()
methods are harder to use, consider using the new methods on each request which provide the same functionality but with better ergonomics. See the top-level documentation for a endpoint for more examples. - Crate name changed:
twitch_api2
->twitch_api
, also changed to new orgtwitch-rs
- All (most) types are now living in their own crate
twitch_types
- Features for clients are now named after the client, e.g feature
reqwest_client
is now simplyreqwest
- Fixed wrong type on
UserAuthorizationGrantV1::client_id
- Removed
bits_voting_enabled
,bits_per_vote
andbits_votes
onCreate Poll
andPoll
Get Clips
takes and returnsClipId
instead of a string- Made
GetCustomRewardRedemptionRequest::reward_id
optional typed-builder
is now optional and not enabled by default, enable featuretyped-builder
to use the::builder()
methods- Client ext methods that take a
IntoIterator<Item = T>
now takes aIntoIterator<Item = impl Into<T>>
Get Channel Information
can now take multiple ids- Simplified lifetimes for
Client
. Fixes an issue where &'1 Thing<'static> where: Thing<'static> would wrongly lower '1 to be specific. See #236 TeamInformation::thumbnail_url
is now optional (Option<String>
).- Made many structs & enums non exhaustive
- Renamed
GetBlockedTerms
->GetBlockedTermsRequest
- Changed
SCOPES
onhelix::Request
,pubsub::Topic
andeventsub::EventSubscription
to betwitch_oauth2::Validator
- Updated
twitch_oauth2
dependency - Added EventSub WebSocket support, changing many methods on transport and eventsub to take this into account.
- Removed
tmi
feature (shut down in April 2023)
- Deprecate
Get User
view_count
- Deprecate
Check AutoMod status
user_id
- Removed deprecated
limit
onGetEventSubSubscriptionsRequest
response - Removed deprecated
limit
onCreateEventSubSubscription
- Removed deprecated
AddBlockedTerm
,DeleteBlockedTerm
,DeletePermittedTerm
andAddPermittedTerm
onModerationActionCommand
- Deprecated TMI
- Deprecated
channel.follow
v1 eventsub event - Deprecated
Get User Follows
and associated follower related extension methods - Deprecated Twitch-defined tags:
Get All Stream Tags
,Get Stream Tags
,Replace Stream Tags
andTwitchTag
- Added
tags
toModify Channel Information
,Get Channel Information
,Search Channels
,Get Followed Streams
andGet Streams
- Added
beta
feature to specifically enable beta endpoints - Added
Ban User
andUnban User
- Added
Get Chat Settings
endpoint - Added
type
anduser_id
query params toGetEventSubSubscriptionsRequest
- Added
vod_offset
toClip
s - Added
Start A Raid
andCancel A Raid
endpoints - Added
Send Chat Announcement
endpoint - Added
Delete Chat Messages
endpoint - Added
Get User Chat Color
andUpdate User Chat Colors
endpoint - Added
Add Channel Moderator
andRemove Channel Moderator
endpoint - Added
Get VIPs
,Add Channel VIP
andRemove Channel VIP
endpoint - Added
Send Whisper
endpoint - Added
Delete Channel Stream Schedule Segment
that was accidentally not included in0.6.0
- Added
sort
andid
toGet Custom Reward Redemption
- Added contribution type
OTHER
for Get Hype Train Events - Added
Send a Shoutout
endpoint - Added
channel.shoutout.receive
andchannel.shoutout.create
EventSub events - Added
channel.follows
v2 EventSub event - Added
Get Followed Channels
andGet Followed Streams
- Added
Create Clip
endpoint - Added
Get Shield Mode Status
andUpdate Shield Mode Status
- Added
channel.shield_mode.begin
andchannel.shield_mode.end
EventSub events - Added
tower
implementation forHttpClient
- Added
helix::Response::new
andhelix::Response::with_data
to make it possible to create your own responses. - Added
is_branded_content
andcontent_classification_labels
toGet Channel Information
andModify Channel information
- Added
channel.update
v2 EventSub event - Added
HelixClient
functionsget_streams_from_logins
andget_streams_from_ids
- Added
is_featured
to Get Clips - Added beta
Get Ad Schedule
andSnooze Next Ad
endpoint - Added beta
channel.ad_break.begin
eventsub event - Added
conduit.shard.disable
EventSub event - Added
title
anddescription
as fields in the response ofGet Channel Chat Badges
andGet Global Chat Badges
- Added
Get AutoMod Settings
andUpdate AutoMod Settings
endpoints - Added
Get Unban Requests
andResolve Unban Requests
endpoints - Added
Get Moderated Channels
endpoint - Added
Get User Emotes
endpoint
- Handle
teams/channel
(Get Channel Teams) returning a null value for data
- No changes, only a fix for docs.rs output and some version bumps in Cargo.toml
- Added Helix endpoints:
Manage Held AutoMod Messages
Get Global Chat Badges
Get Channel Chat Badges
Get Channel Emotes
Get Global Emotes
Get Emote Sets
Get Channel Stream Schedule
Update Channel Stream Schedule
Create Channel Stream Schedule Segment
Delete Channel Stream Schedule Segment
Get Creator Goals
Add Blocked Term
Get Blocked Terms
Remove Blocked Term
Unban User
Ban User
Update Chat Settings
- Added Channel Terms to pubsub
chat_moderator_actions
- Added
user-moderation-notifications
topic to pubsub - Added
extendsub
to pubsubchannel-subscribe-events-v1
- Added
delay
toGet Channel Information
- Added
serde::Serialize
to all helix endpoint return values - Added
channel.subscription.end
to EventSub - Added
channel.subscription.gift
to EventSub - Added
channel.subscription.message
to EventSub - Added
user.authorization.grant
to EventSub - Added
channel.goal.begin
,channel.goal.progress
andchannel.goal.end
to EventSub - Added
helix::make_stream
to make streams out of paginated responses. - Added fields
moderator_id
,moderator_login
,moderator_name
andreason
toBannedUser
- Added
pubsub::unlisten_command
- Added
moderator_removed
as a moderation action to PubSub. - Added
EmoteUrlBuilder
to make an url withEmoteId::url()
andChannelEmote::url()
- Added methods to
Timestamp
for constructing and handling them. Uses thetime
crate behind thetime
feature. twitch_oauth2
has been upgraded, and following this upgrade,HelixClient
,TmiClient
andTwitchClient
can be used as clients for token requests.- Added field
game_name
toStreams
- Added function
get_follow_relationships
,get_broadcaster_subscribers
,get_global_emotes
,get_channel_emotes_from_id
,get_channel_emotes_from_login
andget_emote_sets
toHelixClient
- Added fields
format
,scale
,theme_mode
andtemplate
toChannelEmote
,GetEmoteSets
andGlobalEmote
- Added functions
HelixClient::req_<method>_custom
to return a specific struct/enum defined by the user. This also enables references in responses for these functions. - Added
HypeTrainId
to relevant eventsub and helix endpoints.
- MSRV: 1.60.0
- Made all specific "string" types actual types with
aliri_braid
- Deprecated specific term actions in
ChatModeratorActionsReply
, replacing them withChannelTermsAction
- Deprecated
Vip
action inChatModeratorActionsReply
, replacing it withVipAdded
- Removed some derived impls and fixed builders that assumed a default wrongly.
HelixClient::new
,TmiClient::new
andTwitchClient::new
now give a more specified client.- Added total and gifter information to helix
Get Broadcaster Subscriptions
HelixClient
methodssearch_categories
,search_channels
,get_followed_streams
andget_moderators_in_channel_from_id
now use streams to provide paginated response.- Renamed
BroadcasterType::Affiliated
->BroadcasterType::Affiliate
- Client extension methods that are paginated are now paginated lazily using a stream.
pubsub::listen_command
now acceptsInto<Option<&str>>
as theauth_token
.pubsub::Topics
and all topics now implementClone
andHash
.TWITCH_HELIX_URL
,TWITCH_TMI_URL
andTWITCH_PUBSUB_URL
are nowurl::Url
s and can be overridden with environment variables. See the docs for more information.- Added field total to
helix::Response
- Changed return type of
GetBroadcasterSubscriptions
to be a vector ofBroadcasterSubscription
- Made
Payload::verify
andPayload::parse_http
generic on the body type forAsRef<[u8]>
- Made
Payload
in EventSub enumerate over the different message types,verification
,revocation
andnotification
. Adds a newNotification
type which holds the different notification payloads.Payload
is nowEvent
and oldNotificationPayload
is now calledPayload
, this is because a payload can be a revocation, notification or verification.
- Removed enum variants for a lot of error states in helix endpoint responses. Most of these are returned by
HelixRequest_Error::Error
- Removed deprecated follow endpoints
Create Users Follows
andDelete Users Follows
- Removed helix
webhook
s andHelixRequestGetError::InvalidUri
- Removed TMI
get_hosts
- Removed Helix
Get Banned Events
andGet Moderator Events
- Made crate runtime agnostic with custom clients using feature
client
. - Added
unsupported
feature to enable experimental/undocumented APIs/endpoints/topics. - Made most fields deny unknown fields by enabling feature
deny_unknown_fields
. - Added
all
feature to enable all feature sansunsupported
anddeny_unknown_fields
. - Added most PubSub topics.
- channel-bits-badge-unlocks
- channel-bits-events-v2
- channel-cheer-events-public-v1
- channel-points-channel-v1
- channel-sub-gifts-v1
- channel-subscribe-events-v1
- chat_moderator_actions
- community-points-channel-v1
- following
- hype-train-events-v1
- hype-train-events-v1.rewards
- raid
- video-playback
- video-playback-by-id
- Added most EventSub Event Subscriptions.
- Channel Ban V1 Event
- Channel Cheer V1 Event
- Channel Follow V1 Event
- Channel Hype Train Begin V1 Event
- Channel Hype Train End V1 Event
- Channel Hype Train Progress V1 Event
- Channel Points Custom Reward Add V1 Event
- Channel Points Custom Reward Redemption Add V1 Event
- Channel Points Custom Reward Redemption Update V1 Event
- Channel Points Custom Reward Remove V1 Event
- Channel Points Custom Reward Update V1 Event
- Channel Raid V1 Event
- Channel Subscribe V1 Event
- Channel Unban V1 Event
- Channel Update V1 Event
- StreamOffline V1 Event
- StreamOnline V1 Event
- User Authorization Revoke V1 Event
- User Update V1 Event
- Added most Webhook topics.
- Channel Ban Change Events
- Get Channel Editors
- Hype Train Event
- Moderator Change Events
- Stream Changed
- Subscription Events
- User Changed
- User Follows
- Added tmi endpoint
get_hosts
thanks to waridley. - Added Helix endpoints
- Block User
- Check User Subscription
- Create Custom Rewards
- Create User Follows
- Delete Custom Reward
- Delete User Follows
- Delete Videos
- Get All Stream Tags
- Get Bits Leaderboard
- Get Broadcaster Subscriptions Events
- Get Channel Editors
- Get Cheermote
- Get Custom Reward
- Get Custom Reward Redemption (thanks Dinnerbone)
- Get Games
- Get Hype Train Events
- Get Stream Tags
- Get User Block List
- Get User Follows
- Get Videos
- Get Webhook Subscriptions
- Search Categories
- Search Channels
- Unblock User
- Update Custom Reward (thanks FoxLisk)
- Update Redemption Status (thanks Dinnerbone)
- Replace Stream Tags (thanks ModProg)
- MSRV: 1.51.0
- BREAKING: Removed
helix
andtmi
features from default-features. - BREAKING: Renamed
TMIClient
->TmiClient
- Improved documentation
- Renamed some helix endpoint replies. [#18]
twitch_oauth2
dependency is now gated behind its feature flag.
Changelog starts on v0.5.0