Releases: twitch4j/twitch4j
Releases · twitch4j/twitch4j
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)
v1.15.0
Bug Fixes
- avoid NPE when forwarder is missing token (#748)
- cleanup poolBySub on eventsocket pool unregister (#734)
- chat: fire join events from 353 names list (#758)
- chat: read subscriber months for founders (#754)
- eventsub: looser equality on optional condition fields (#737)
- use new shadowJar relocation syntax (#740)
Documentation
- improve TwitchHelix#getClips javadoc (#731)
Features
- eventsocket: add delete sub success meta event (#732)
- helix: allow querying multiple video ids (#749)
- helix: include new badge fields (#759)
- parse viewer milestone events sent to chat (#750)
Internal
- deps: update dependency ch.qos.logback:logback-classic to v1.3.6 (#753)
- deps: update dependency ch.qos.logback:logback-classic to v1.3.7 (#764)
- deps: update dependency com.bucket4j:bucket4j_jdk8-core to v8.2.0 (#743)
- deps: update dependency com.squareup.okhttp3:okhttp to v4.11.0 (#768)
- deps: update dependency gradle to v8.0.2 (#745)
- deps: update dependency gradle to v8.1 (#762)
- deps: update dependency gradle to v8.1.1 (#765)
- deps: update dependency org.jetbrains:annotations to v24.0.1 (#744)
- deps: update dependency org.mockito:mockito-bom to v5.3.0 (#761)
- deps: update dependency org.mockito:mockito-bom to v5.3.1 (#766)
- deps: update io.github.openfeign to v12.3 (#760)
- deps: update plugin com.coditory.manifest to v0.2.6 (#767)
- deps: update plugin com.github.johnrengelman.shadow to v8.1.0 (#739)
- deps: update plugin com.github.johnrengelman.shadow to v8.1.1 (#755)
- deps: update plugin io.freefair.lombok to v8 (#756)
- deps: update plugin org.jetbrains.dokka to v1.8.10 (#746)
- eventsub: define aliases for broadcaster event fields (#747)
- helix: deprecate entitlement code endpoints (#742)
- helix: deprecate more tag_id references (#741)
- reflect latest status of follows api (#733)
- deps: update io.github.openfeign to v12.2 (#738)
- deps: update plugin com.github.johnrengelman.shadow to v8 (#736)
- deps: update plugin io.freefair.lombok to v6.6.3 (#735)
- deps: update dependency gradle to v8 (#725)
- deps: update dependency io.github.xanthic.cache:cache-bom to v0.2.0 (#730)
- deps: update plugin org.jetbrains.kotlin.jvm to v1.8.20 (#757)
- eventsub: upgrade to non-beta websocket url (#763)
- deps: update dependency org.mockito:mockito-bom to v5.2.0 (#751)
Refactor
- use buildMapping util across enums (#752)
v1.14.0
Features
- add custom tags to helix responses (#702)
- add eventsub websocket module (#716)
- add helix chat command forwarder (#647)
- add id field to charity campaign donations (#703)
- add scoped read follows beta api (#723)
- add shoutout public beta support (#710)
- delay enabling command forwarder until february 21 (#727)
- promote charity helix and eventsub from beta (#721)
- promote shield mode from beta to official (#701)
- promote shoutout api out of beta (#724)
Bug Fixes
- restore helix refill rate after twitch fix (#729)
- helix: read remaining header from correct object (#728)
- pubsub: parse shoutout without call to action (#706)
Documentation
- add suspicious users pubsub javadocs (#722)
Internal
- improve gradle caching (#698)
- improve gradle caching (#715)
- deps: update com.fasterxml.jackson to v2.14.2 (#712)
- deps: update dependency com.github.philippheuer.credentialmanager:credentialmanager to v0.2.1 (#699)
- deps: update dependency com.squareup.okhttp3:okhttp to v4.10.0 (#718)
- deps: update dependency org.jetbrains:annotations to v24 (#704)
- deps: update dependency org.junit:junit-bom to v5.9.2 (#700)
- deps: update dependency org.mockito:mockito-bom to v5.1.1 (#714)
- deps: update dependency org.projectlombok:lombok to v1.18.26 (#720)
- deps: update plugin io.freefair.lombok to v6.6.2 (#726)
- deps: update plugin org.jetbrains.kotlin.jvm to v1.8.10 (#717)
v1.13.0
Bug Fixes
- support for named capture groups on Android (#656)
- handle new direct cheer tags for currency (#667)
- add public all args constructor in AutomodEnforceCheckList (#697)
Documentation
Features
- add helix get chatters beta endpoint (#662)
- add unofficial shoutout pubsub topic (#660)
- add pinned chat unofficial pubsub (#666)
- parse experimental elevated chat payment details (#663)
- add charity name and logo to eventsub (#675)
- add IGDB support in helix games api (#683)
- add unofficial shield mode pubsub (#689)
- add shield mode helix and eventsub beta support (#687)
- more beta charity endpoints and eventsub types (#679)
- promote suspicious users pubsub to official (#664)
Internal
- deps: update dependency org.junit:junit-bom to v5.9.1 (#655)
- deps: update io.github.openfeign to v11.10 (#657)
- deps: update dependency io.github.xanthic.cache:cache-bom to v0.1.2 (#658)
- deps: update plugin org.jetbrains.kotlin.jvm to v1.7.20 (#661)
- deps: update dependency ch.qos.logback:logback-classic to v1.3.4 (#670)
- deps: update plugin org.jetbrains.dokka to v1.7.20 (#671)
- deps: update dependency com.github.tony19:named-regexp to v0.2.8 (#673)
- deps: update dependency org.mockito:mockito-bom to v4.8.1 (#674)
- deps: update com.fasterxml.jackson to 2.14.0 (#672)
- deps: update plugin org.jetbrains.kotlin.jvm to v1.7.21 (#677)
- deps: update dependency org.mockito:mockito-bom to v4.9.0 (#678)
- deps: update com.apollographql.apollo to v2.5.14 (#680)
- deps: update dependency ch.qos.logback:logback-classic to v1.3.5 (#681)
- deps: update com.fasterxml.jackson to v2.14.1 (#682)
- deps: update io.github.openfeign to v12.1 (#676)
- deps: update gradle wrapper to v7.6 (#684)
- deps: update plugin io.freefair.lombok to v6.6 (#686)
- deps: update dependency org.jetbrains:annotations to v23.1.0 (#688)
- deps: update plugin io.freefair.lombok to v6.6.1 (#693)
- deps: update plugin com.coditory.manifest to v0.2.3 (#690)
- deps: update dependency org.mockito:mockito-bom to v4.11.0 (#695)
- deps: update plugin org.jetbrains.kotlin.jvm to v1.8.0 (#694)
v1.12.0
Bug Fixes
- adjust clip event for helix time truncation (#617)
- deserialize eventsub follow goal type (#620)
- parse latest time format of helix teams (#636)
- prevent maven from using jackson3 snapshot (#625)
- auth: clean up response body in isCredentialValid (#626)
- charity: resolve twitch doc issues (#631)
- helix: avoid copying default token (#624)
Documentation
- reflect looser auth for getChannelChatBadges (#646)
Features
- add GiftedMultiMonthSubCourtesyEvent (#639)
- allow custom websocket close delay (#627)
- apply custom gql headers (#649)
- fetch mods and vips over gql (#651)
- implement beta charity api (#628)
Internal
- add aliases for DonationAmount fields (#635)
- deprecate hosts due to twitch announcement (#642)
- deprecate irc commands due to twitch announcement (#645)
- deprecate poll bits due to twitch change (#634)
- ignore logback 1.4.x for renovate bumps (#653)
- treat id as alias in charity eventsub (#654)
- deps: update plugin io.freefair.lombok to v6.5.1 (#632)
- deps: update com.apollographql.apollo to v2.5.13 (#643)
- deps: update com.fasterxml.jackson to v2.13.4 (#637)
- deps: update com.github.philippheuer.events4j to v0.11.0 (#641)
- deps: update dependency ch.qos.logback:logback-classic to v1.3.0 (#629)
- deps: update dependency ch.qos.logback:logback-classic to v1.3.1 (#650)
- deps: update dependency com.bucket4j.bucket4j-core to v8.0.1 (#623)
- deps: update dependency com.bucket4j:bucket4j_jdk8-core to v8.1.0 (#633)
- deps: update dependency gradle to v7.5.1 (#619)
- deps: update dependency io.github.xanthic.cache:cache-bom to v0.1.1 (#622)
- deps: update dependency org.mockito:mockito-bom to v4.7.0 (#621)
- deps: update dependency org.mockito:mockito-bom to v4.8.0 (#644)
- deps: update plugin com.coditory.manifest to v0.2.1 (#648)
Performance
- avoid regex split on chat message (#638)
Refactor
v1.11.0
Bug Fixes
- add content type on schedule segment api (#592)
- clear pubsub command queue on reconnect (#599)
- improve chat regex matching (#616)
- reset ping tracker on websocket close (#602)
Features
- add clip offset and new goal types (#608)
- add gql fetch reward settings (#610)
- add helix raids endpoints in open beta (#587)
- add last support event pubsub handling (#584)
- add timeout config to websocket (#613)
- add user_id and type args to getEventSubSubscriptions (#595)
- add websocket connection state events / new connection lost state (#597)
- implement check automod status ratelimiting (#583)
- implement new beta helix chat endpoints (#606)
- implement send extension message rate limit (#576)
- implement updated soundtrack playlist api (#596)
- perform more chat token checks (#607)
Internal
- promote helix chat endpoints out of beta (#615)
- deps: update com.apollographql.apollo to v2.5.12 (#588)
- deps: update dependency com.github.vladimir-bukhtoyarov:bucket4j-core to v7.6.0 (#611)
- deps: update dependency gradle to v7.5 (#604)
- deps: update dependency org.junit:junit-bom to v5.9.0 (#612)
- deps: update dependency org.mockito:mockito-bom to v4.6.1 (#582)
- deps: update io.github.openfeign to v11.9 (#593)
- deps: update io.github.openfeign to v11.9.1 (#609)
- deps: update org.jetbrains.kotlinx to v1.6.3 (#590)
- deps: update org.jetbrains.kotlinx to v1.6.4 (#601)
- deps: update plugin io.freefair.lombok to v6.4.3.1 (#586)
- deps: update plugin io.freefair.lombok to v6.5.0.2 (#591)
- deps: update plugin io.freefair.lombok to v6.5.0.3 (#603)
- deps: update plugin org.jetbrains.dokka to v1.7.0 (#589)
- deps: update plugin org.jetbrains.dokka to v1.7.10 (#600)
- deps: update plugin org.jetbrains.kotlin.jvm to v1.7.0 (#585)
- deps: update plugin org.jetbrains.kotlin.jvm to v1.7.10 (#598)
Full Changelog: v1.10.0...v1.11.0