Releases: twitch4j/twitch4j
Releases · twitch4j/twitch4j
v1.25.0
Features
- support source only shared chat messages (#1136)
- eventsub: add channel.channel_points_automatic_reward_redemption.add v2 topic (#1120)
- eventsub: add conduit_deleted sub status (#1132)
- eventsub: add channel.bits.use v1 type (#1110)
- pubsub: add stream together view count field (#1142)
- pubsub: add more goal types (#1146)
- pubsub: add unofficial clips leaderboard events (#1145)
- helix: add getEventSubSubscriptionById (#1141)
Internal
- clean up SuspiciousType after docs update (#1127)
- update com.fasterxml.jackson to v2.19.0 (#1139)
- update io.github.openfeign to v13.6 (#1134)
- update dependency commons-io:commons-io to v2.19.0 (#1138)
- update plugin org.jetbrains.kotlin.jvm to v2.1.21 (#1144)
- update org.jetbrains.kotlinx to v1.10.2 (#1135)
- update dependency org.awaitility:awaitility to v4.3.0 (#1111)
- update dependency org.mockito:mockito-bom to v5.18.0 (#1147)
- update dependency org.junit:junit-bom to v5.12.2 (#1137)
- update dependency org.slf4j:slf4j-api to v2.0.17 (#1115)
- update plugin io.freefair.lombok to v8.13.1 (#1130)
- update dependency org.projectlombok:lombok to v1.18.38 (#1131)
- update plugin com.github.gmazzo.buildconfig to v5.5.4 (#1122)
- update dependency gradle to v8.14.1 (#1148)
v1.24.0
Bug Fixes
- shutdown library-created executors on TwitchClientPool close (#1102)
Features
- add automod v2 eventsub subscription types (#1083)
- eventsub: add golden kappa train indicator (#1080)
- helix: honor new chat announcement ratelimit (#1099)
- chat: add parsed tier and giftId to GiftSubscriptionsEvent (#1109)
Deprecations
- add more pubsub deprecation warnings (#1107)
Internal
- eventsub: mark message emotes as nullable (#1106)
- update dependency io.github.xanthic.cache:cache-bom to v0.7.1 (#1100)
- update dependency commons-io:commons-io to v2.18.0 (#1079)
- update com.fasterxml.jackson to v2.18.2 (#1082)
- update dependency org.junit:junit-bom to v5.11.4 (#1086)
- update dependency org.mockito:mockito-bom to v5.15.2 (#1094)
- update dependency org.jetbrains:annotations to v26.0.2 (#1096)
- update plugin com.github.gmazzo.buildconfig to v5.5.1 (#1006)
- update dependency gradle to v8.12.1 (#1098)
- update dependency org.projectlombok:lombok to v1.18.36 (#1076)
- update plugin io.freefair.lombok to v8.12.1 (#1105)
- update plugin com.gradleup.shadow to v8.3.6 (#1104)
- update plugin me.champeau.jmh to v0.7.3 (#1103)
- update org.jetbrains.kotlinx to v1.10.1 (#1090)
- update plugin org.jetbrains.kotlin.jvm to v2.1.10 (#1101)
v1.23.0
Features
- add automod event fields for blocked terms (#1074)
- add new politics content classification (#1073)
- pubsub: add shared chat unofficial topic (#1045)
- pubsub: add automod classification category (#1064)
- eventsub: add source channel to moderation event (#1070)
Deprecations
- deprecate official pubsub topics (#1067)
Internal
- update dependency io.github.openfeign to v13.5 (#1059)
- update dependency io.github.xanthic.cache:cache-bom to v0.6.2 (#1051)
- update dependency com.fasterxml.jackson to v2.18.1 (#1071)
- update dependency gradle to v8.11 (#1075)
- update plugin com.gradleup.shadow to v8.3.5 (#1072)
- update plugin org.jetbrains.kotlin.jvm to v2.0.21 (#1060)
- update plugin io.freefair.lombok to v8.10.2 (#1056)
- update dependency org.junit:junit-bom to v5.11.3 (#1068)
- update dependency org.jetbrains:annotations to v26.0.1 (#1063)
- update dependency org.mockito:mockito-bom to v5.14.2 (#1065)
- update mock test for kotlin module (#1046)
- skip signing when publishing to maven local (#1062)
Full Changelog: v1.22.0...v1.23.0
v1.22.0
Features
- support shared chat helix and eventsub (#1032)
- chat: support stream together shared chat (#1035)
- chat: add mirrored message policy configuration (#1041)
- chat: add parent thread display name to ChatReply (#1042)
Performance
- optimize chat badge parsing (#1036)
Internal
- docs: update links in javadoc overview (#1011)
- docs: add new animation id (#1026)
- docs: support for apiNote, implSpec and implNote in javadoc (#1018)
- update gradle wrapper to v8.10.1 (#1033)
- update plugin org.jetbrains.kotlin.jvm to v2.0.20 (#1027)
- update plugin io.freefair.lombok to v8.10 (#1025)
- update gradle shadow plugin to v8.3.2 (#1039)
- update dependency org.awaitility:awaitility to v4.2.2 (#1016)
- update dependency org.apache.commons:commons-lang3 to v3.17.0 (#1029)
- update dependency org.slf4j:slf4j-api to v2.0.16 (#1021)
- update dependency org.junit:junit-bom to v5.11.0 (#1022)
- update dependency org.mockito:mockito-bom to v5.13.0 (#1028)
- update dependency io.github.xanthic.cache:cache-bom to v0.6.1 (#1030)
- update org.jetbrains.kotlinx-coroutines to v1.9.0 (#1034)
- update io.github.openfeign to v13.4 (#1037)
- update dependency commons-io:commons-io to v2.17.0 (#1038)
NOTICE: Shared Chat Support ⚠️
Twitch now allows creators using Stream Together to merge their chat rooms. This may cause unexpected behavior in versions prior to v1.22.0
.
Starting with v1.22.0
, mirrored messages are automatically dropped if they have already been observed. This ensures each unique message is processed only once.
For more information on detecting mirrored messages, potential impacts on your application, and known edge cases, refer to our documentation.
v1.21.0
Bug Fixes
- populate SentChatMessage#isSent (#967)
- reassociate conduit shards with pool after unexpected disconnects (#1003)
- pubsub: fire HypeTrainStartEvent and add new hype train fields (#1001)
Features
- eventsub: add whisper received topic (#970)
- eventsub: add new automatic reward types (#987)
- eventsub: add vip add and remove topics (#969)
- eventsub: add automod caught message topics (#988)
- eventsub: add suspicious users eventsub topics (#979)
- pubsub: add outbound follows unofficial topic (#984)
- implement warnings open beta for helix and eventsub (#994)
- add events for new chat warnings feature (#992)
- support new bits cheer creator goal types (#971)
- add msg_concurrent_channel_limit_reached to NoticeTag (#985)
- implement channel.moderate eventsub topic (#978)
- allow auth requests to be directed to cli mock api (#990)
- add irc and pubsub support for new automatic rewards (#993)
Refactor
- eventsub: change superclass for shield mode events (#976)
- helix: clarify Stream thumbnail url getters (#977)
- helix: utilize ValueWrapper in more classes (#1005)
Internal
- promote chat warnings to v1 (#1008)
- deprecate public setters that can be misleading (#997)
- pubsub: deprecate HypeTrainCooldownExpirationEvent (#1002)
- update dependency gradle to v8.9 (#1007)
- update dependency com.github.philippheuer.credentialmanager:credentialmanager to v0.3.1 (#1010)
- update com.github.philippheuer.events4j to v0.12.2 (#1009)
- update com.fasterxml.jackson to v2.17.2 (#1004)
- update org.jetbrains.kotlinx to v1.8.1 (#982)
- update dependency commons-io:commons-io to v2.16.1 (#966)
- update dependency org.slf4j:slf4j-api to v2.0.13 (#972)
- update plugin org.jetbrains.kotlin.jvm to v2 (#986)
- update dependency org.junit:junit-bom to v5.10.3 (#999)
- update dependency org.projectlombok:lombok to v1.18.34 (#1000)
- update io.github.openfeign to v13.3 (#995)
- update plugin io.github.goooler.shadow to v8.1.8 (#998)
- update dependency org.mockito:mockito-bom to v5.12.0 (#983)
- add security policy (#973)
v1.20.0
Bug Fixes
- pubsub: support refreshed tokens (#937)
Features
- helix: add send chat message endpoint (#921)
- helix: implement unban request beta endpoints (#925)
- helix: allow querying moderator status of multiple user ids (#936)
- helix: add user emotes endpoint (#945)
- eventsub: add chat message subscription type (#922)
- eventsub: add unban request subscription types (#953)
- eventsub: add automod settings and terms topics (#957)
- eventsub: create conduit websocket pool helper (#955)
- eventsub: add automatic reward redemption topic (#962)
- pubsub: add unofficial broadcast settings topic (#935)
- add conduit endpoints and eventsub topic (#923)
Refactor
- pubsub: migrate unofficial hype topic to v2 (#934)
- eventsub: promote chat settings topic to v1 (#952)
- eventsub: remove unofficial marker for some eventsub statuses (#959)
- helix: remove unofficial marker for many emote types (#960)
Internal
- eventsub: deprecate IEventSubSocket#register(SubscriptionType, EventSubCondition) (#956)
- update twitch scopes enum (#963)
- improve shadow jar building (#961)
- update io.github.openfeign to v13.2.1 (#929)
- update dependency org.mockito:mockito-bom to v5.11.0 (#940)
- update dependency com.bucket4j:bucket4j_jdk8-core to v8.10.1 (#950)
- update dependency org.slf4j:slf4j-api to v2.0.12 (#928)
- update dependency org.junit:junit-bom to v5.10.2 (#927)
- update dependency com.github.tony19:named-regexp to v1 (#917)
- update org.jetbrains.kotlinx to v1.8.0 (#931)
- update com.fasterxml.jackson to v2.17.0 (#947)
- update dependency org.awaitility:awaitility to v4.2.1 (#948)
- update dependency org.projectlombok:lombok to v1.18.32 (#949)
- update dependency commons-io:commons-io to v2.16.0 (#954)
- update dependency io.github.xanthic.cache:cache-bom to v0.6.0 (#964)
- update dependency gradle to v8.7 (#951)
- update plugin io.freefair.lombok to v8.6 (#932)
- update plugin org.jetbrains.dokka to v1.9.20 (#943)
- update plugin org.jetbrains.kotlin.jvm to v1.9.23 (#944)
v1.19.0
Bug Fixes
- populate ChannelStateEvent when single room setting changed (#910)
Features
- chat: include rewarded channel points in watch streak events (#895)
- eventsub: promote chat eventsub topics out of beta (#890)
- eventsub: include recipient in GiftPayForward (#891)
- helix: add get moderated channels beta endpoint (#911)
- promote ads scheduler api out of beta (#906)
- add beta chat settings update eventsub type (#912)
Internal
- chat: schedule reconnect to avoid benign exception (#905)
- pubsub: deprecate unofficial pubsub following topic (#904)
- clarify auth for removeChannelModerator (#913)
- update dependency org.jetbrains:annotations to v24.1.0 (#888)
- update io.github.openfeign to v13.1 (#887)
- update dependency com.fasterxml.jackson to v2.16.1 (#909)
- update dependency com.github.philippheuer.credentialmanager:credentialmanager to v0.3.0 (#914)
- update dependency org.apache.commons:commons-lang3 to v3.14.0 (#894)
- update dependency commons-io:commons-io to v2.15.1 (#901)
- update dependency com.bucket4j:bucket4j_jdk8-core to v8.7.0 (#893)
- update dependency io.github.xanthic.cache:cache-bom to v0.5.0 (#897)
- update dependency ch.qos.logback:logback-classic to v1.3.14 (#902)
- update dependency org.mockito:mockito-bom to v5.9.0 (#915)
- update dependency gradle to v8.5 (#900)
- update plugin org.jetbrains.kotlin.jvm to v1.9.22 (#908)
- update plugin com.github.gmazzo.buildconfig to v5.3.5 (#907)
v1.18.0
Bug Fixes
- helix: deserialize donation amount despite twitch using incorrect field name (#852)
Features
- helix: add featured clip status to helix (#850)
- pubsub: add unofficial chat highlights topic (#853)
- pubsub: track midroll requests via unofficial ads topic (#854)
- chat: reconnect earlier upon being requested by twitch (#859)
- eventsub: add badges to ChannelChatNotificationEvent (#883)
- eventsub: use helix default token for eventsocket pool (#870)
- eventsub: add open beta chat over eventsub subscription types (#874)
- add open beta ad schedule helix and eventsub (#872)
Performance
- chat: lazily evaluate permissions in channel message event (#855)
Refactoring
- eventsub: use subTier over subPlan, add isPrime field (#882)
- pubsub: move pubsub topic logic to separate handlers (#856)
Internal
- enable reproducible archives (#871)
- bump minimum jackson version to 2.15.0 (#877)
- add another test case to AdScheduleTest (#884)
- update io.github.openfeign to v13 (major) (#873)
- update dependency com.bucket4j:bucket4j_jdk8-core to v8.6.0 (#878)
- update dependency org.projectlombok:lombok to v1.18.30 (#857)
- update dependency io.github.xanthic.cache:cache-bom to v0.4.2 (#869)
- update dependency gradle to v8.4 (#863)
- update plugin io.freefair.lombok to v8.4 (#865)
- update com.fasterxml.jackson to v2.15.3 (#866)
- update plugin org.jetbrains.dokka to v1.9.10 (#867)
- update dependency com.squareup.okhttp3:okhttp to v4.12.0 (#868)
- update plugin me.champeau.jmh to v0.7.2 (#876)
- update dependency commons-io:commons-io to v2.15.0 (#875)
- update plugin org.jetbrains.kotlin.jvm to v1.9.20 (#879)
- update dependency org.mockito:mockito-bom to v5.7.0 (#880)
- update dependency org.junit:junit-bom to v5.10.1 (#881)
v1.17.0
Bug Fixes
- clienthelper: reflect name changes in live events (#828)
Documentation
Features
- pubsub: add ban sharing settings update event (#829)
- pubsub: support hype chat via pinned messages (#846)
- pubsub: parse whisper thread details (#845)
- pubsub: support unofficial ads manager topic (#847)
- include top level parent information in ChatReply (#833)
Performance
- utilize char array over string in irc parser (#840)
Internal
- add BETA_MAINTENANCE to EventSubSubscriptionStatus (#842)
- override thumbnail resolution for processing videos (#843)
- deps: update dependency ch.qos.logback:logback-classic to v1.3.11 (#831)
- deps: update plugin io.freefair.lombok to v8.3 (#838)
- deps: update dependency org.mockito:mockito-bom to v5.5.0 (#836)
- deps: update io.github.openfeign to v12.5 (#839)
- deps: update plugin org.jetbrains.kotlin.jvm to v1.9.10 (#837)
- **deps: update plugin org.jetbrains.dokka to v1.9.0 (#841)
- **helix **: sync ratelimit bucket for void endpoints (#848)
- update gradle wrapper to v8.3 (#835)
v1.16.0
NOTICE
- Users of the ClientHelper for Follow-Events must migrate to
1.16.0
before August 3rd to keep Follow Events working. Please ensure that the Token passed in.withDefaultAuthToken(...)
has at least moderator access and themoderator:read:followers
scope in all channels Follow-Events are tracked in. - Twitch is decommissioning the helix
getFollowers
method on August 3rd, ensure calls have been migrated togetChannelFollowers
orgetFollowedChannels
. - The Follow-Count Event will continue to work without moderator access.
Bug Fixes
- NPE when parsing GLOBALUSERSTATE in channelName lookup (#819)
- avoid eventsocket relocation for module shadow jar (#827)
- detect whether founders are subscribed or not (#787)
- allow IEventSubSocket#register with null transport (#815)
- eventsub: avoid NPE when subscription type is unknown (#805)
- helix: avoid NPE from user passing null client id (#804)
Documentation
- update createStreamScheduleSegment required fields (#820)
Features
- add IEventSubSocket#getLatency (#822)
- chat: add more getters for common tags (#788)
- helix: add content classification and branded content management (#811)
- add hype chat level info to ChannelMessageEvent (#817)
- pubsub: add auth revoke event (#790)
- migrate client helper to new followers endpoint (#807)
- chat: reply in thread when possible (#785)
- eventsub: add channel.update beta subscription type (#803)
Performance
- chat: remove regex from message parsing (#801)
- chat: avoid duplicated tags parsing (#792)
- chat: lazily parse badge info (#793)
- split irc messages more efficiently (#821)
- exit irc handler upon first event match (#816)
- optimize EscapeUtils#unescapeTagValue (#791)
Refactor
- chat: treat tag value as CharSequence (#796)
Internal
- add shield mode scopes to enum (#774)
- limit shadowJar publication to twitch4j, chat, helix, pubsub, eventsub-websocket (#826)
- deprecate mod commands in AbstractChannelEvent (#813)
- project version build constant (#818)
- eventsub: promote channel.update from beta to v2 (#812)
- promote eventsub websocket out of beta (#814)
- add jmh gradle plugin (#798)
- deprecate soundtrack apis (#786)
- update badge parsing test (#797)
- deps: update com.fasterxml.jackson to v2.15.0 (#769)
- deps: update com.fasterxml.jackson to v2.15.1 (#777)
- deps: update com.github.philippheuer.events4j to v0.12.0 (#770)
- deps: update dependency org.apache.commons:commons-lang3 to v3.13.0 (#825)
- deps: update dependency org.junit:junit-bom to v5.10.0 (#823)
- deps: update org.jetbrains.kotlinx to v1.7.3 (#824)
- deps: update dependency ch.qos.logback:logback-classic to v1.3.8 (#789)
- deps: update dependency com.bucket4j:bucket4j_jdk8-core to v8.3.0 (#779)
- deps: update dependency com.fasterxml.jackson:jackson-bom to v2.15.2 (#781)
- deps: update dependency com.github.philippheuer.credentialmanager:credentialmanager to v0.2.2 (#772)
- deps: update dependency commons-io:commons-io to v2.12.0 (#778)
- deps: update dependency commons-io:commons-io to v2.13.0 (#784)
- deps: update dependency gradle to v8.2.1 (#810)
- deps: update dependency io.github.xanthic.cache:cache-bom to v0.3.0 (#795)
- deps: update dependency org.junit:junit-bom to v5.9.3 (#773)
- deps: update dependency org.mockito:mockito-bom to v5.4.0 (#794)
- deps: update dependency org.projectlombok:lombok to v1.18.28 (#780)
- deps: update kotlinx.coroutines to v1.7.1 (#775)
- deps: update plugin org.jetbrains.dokka to v1.8.20 (#782)
- deps: update plugin org.jetbrains.kotlin.jvm to v1.8.21 (#771)
- deps: update plugin org.jetbrains.kotlin.jvm to v1.8.22 (#783)
- deps: update com.github.philippheuer.events4j to v0.12.1 (#800)
- deps: update dependency gradle to v8.2 (#806)
- deps: update io.github.openfeign to v12.4 (#809)
- deps: update org.jetbrains.kotlinx to v1.7.2 (#802)
- deps: update plugin io.freefair.lombok to v8.1.0 (#799)
- deps: update plugin org.jetbrains.kotlin.jvm to v1.9.0 (#808)