Skip to content

Releases: twitch4j/twitch4j

v1.20.0

08 Apr 18:27
1ab6bb4
Compare
Choose a tag to compare

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

15 Jan 19:27
d84dd4f
Compare
Choose a tag to compare

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

11 Nov 21:48
10d557f
Compare
Choose a tag to compare

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

09 Sep 16:19
33b50b7
Compare
Choose a tag to compare

Bug Fixes

  • clienthelper: reflect name changes in live events (#828)

Documentation

  • helix: clarify searchChannels functionality (#844)
  • update old follow api decommission date (#849)

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

01 Aug 17:35
6a4b97b
Compare
Choose a tag to compare

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 the moderator: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 to getChannelFollowers or getFollowedChannels.
  • 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

23 Apr 16:35
bd8796b
Compare
Choose a tag to compare

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

16 Feb 19:34
19e94e1
Compare
Choose a tag to compare

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

06 Jan 15:45
01c3427
Compare
Choose a tag to compare

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

  • update links in README.md (#696)
  • warn upcoming deprecation of helix getFollowers (#665)

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

18 Sep 18:42
b02a699
Compare
Choose a tag to compare

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

  • avoid autoDiscovery in initializeEventManager (#640)
  • use xanthic cache facade (#618)

v1.11.0

31 Jul 15:58
92b0511
Compare
Choose a tag to compare

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