Skip to content

Releases: twitch4j/twitch4j

v1.2.0

21 Jan 21:46
c3764dd
Compare
Choose a tag to compare

Bug Fixes

  • shadowJar - dep relocation - archiveVersion is a property

Code Refactoring

  • set default kraken headers (accept, content-type) using interceptor (#257)
  • remove unnecessary jackson annotations (#255)
  • remove obsolete EventSubCondition#toMap (#256)

Documentation

  • migration to twitch4j.github.io (#228)
  • javadoc aggregation and delombok (#224)
  • add moderators and stream key docs for helix (#222)
  • add missing TMI docs and rename get-viewers
  • bump version to v1.1.3

Features

  • include challenge in EventSubNotification (#258)
  • add collections endpoints (#254)
  • add new helix endpoints & fields, add eventsub-common module (#231)
  • add channel point predictions pubsub and badge (#232)
  • provide connection pooling helpers for pubsub and chat (#220)

Internal

  • templates have been moved to https://github.com/twitch4j/.github
  • bump apollo graphql to 2.4.6 (#247)
  • use archiveVersion instead of version for gradle archive tasks
  • build a shadow jar - all deps in one jar (#244)
  • update sources / javadoc generation for gradle 7 compat (#223)

v1.1.3

17 Oct 12:50
7d7574f
Compare
Choose a tag to compare

Bug Fixes

  • register jackson modules despite exotic class loaders (#219)
  • require a fully configured eventManager (check) or initialize it

Features

  • fire specialized mod/vip list event upon chat notice (#214)
  • refactor USERSTATE event firing
  • fire specialized event on USERSTATE
  • always run eventManager validation
  • move eventManager validation into common module / improve validation
  • update events4j to v0.9.4
  • handle unban request pubsub topic for channels and users
  • add helix subscription events for api and webhook

v1.1.2

24 Sep 16:04
Compare
Choose a tag to compare

Bug Fixes

  • deserialize retry_after in helix commercial properly
  • use default client id when null in getExtensionInformation

Code Refactoring

  • improve utility of active extensions in helix
  • remove deprecated streams metadata endpoint

Documentation

  • add code of conduct and link contributing guide in readme
  • improve clarity of channel ids in pubsub

Features

  • add more host and chatter info to tmi
  • provide channel id + name in all events (#188)
  • add unofficial get extension information endpoint

Internal

  • bump version to v1.1.2

v1.1.1

31 Aug 20:42
Compare
Choose a tag to compare

Bug Fixes

  • handle message delete success / error events
  • apply unescaping to ChatReply fields
  • apply escaping to outgoing irc message tag values

Features

  • add nonce and reply support to chat
  • fire specialized roomstate events
  • add sub months/tier getter to more chat events
  • include extendsub-specific field in pubsub subscribe-events

Internal

  • don't require manual confirmation when creating new releases
  • refactor new logo

Performance Improvements

  • optimize escapeTagValue for no replacements case

v1.1.0

15 Jul 16:57
Compare
Choose a tag to compare

Documentation

  • revamp pubsub documentation

Features

  • allow setting a custom chatServer in the twitchClientBuilder
  • set size of scheduledThreadPoolExecutor based on the used modules

Features

  • handle primecommunitygiftreceived usernotice
  • handle standardpayforward and communitypayforward usernotice
  • handle rewardgift usernotice
  • handle unraid usernotice
  • handle bitsbadgetier usernotice
  • handle ritual usernotice

Internal

  • update events4j to v0.9.1

v1.0.0

30 Jun 17:16
Compare
Choose a tag to compare

Bug Fixes

  • typos in twitch's latest helix announcement
  • use login and stream in events / address potential thread contention issue in TwitchClientHelper (#138)

Code Refactoring

  • no longer need to manually unpack timestamps
  • better json post requests in helix
  • remove defaultAuthToken reference in client helper

Deprecate

  • all helix streams.metadata will return null after July 20, 2020 (#142)

Documentation

  • remove fatJar section from the installation page
  • update repository and version for stable 1.x.x+ releases
  • add contribution pages (ide setup, code-documentaiton and prs)
  • now showing the correct arguments for Helix.getFollows

Features

  • implement monetary pubsub events (#134)
  • add PubSub support for moderation actions (#133)
  • add bulk add/remove live/follow listener methods to TwitchClientHelper
  • add/remove stream/follow listener methods added to TwitchClientHelper
  • chunk getStreams calls in TwitchClientHelper to support listening to more than 100 channels
  • establish whisper-specific rate limiting
  • implement hype-train-events-v1.rewards topic
  • implement onsite-notifications topic
  • implement channel-cheer-events-public-v1
  • implement channel-sub-gifts-v1 topic
  • implement presence pubsub topic
  • implement friendship pubsub event
  • implement polls topic
  • implement leaderboard-events-v1 (bits-usage & sub-gifts)
  • implement more subtypes of community-points-channel-v1
  • implement raid & following. Add hype train cooldown expiration event
  • add objects for pubsub raid event, add more channel point event types
  • implement unofficial automod approve/deny v5 endpoints
  • join twitch chat anonymously (and refactor)
  • implement new helix endpoints - cheermotes, search, channels, channels/commercial, entitlements/upload, hypetrain/events, streams/key, users/follows, users/extensions (#144)
  • use defaultAuthToken in helix and define more scopes
  • ability to revoke access tokens
  • generate missing auth token for helix calls when supplied client id/secret

Internal

  • add a few missing return javadoc comments
  • add more topics and deprecate unimplemented ones
  • use @deprecated instead of @see for javadoc deprecation notices
  • set javadoc html5 option automatically for java9+ only
  • add new scopes from latest helix update
  • update twitch scopes
  • update events4j to v0.8.0
  • add javadoc for CollectionUtils.chunked and set initialCapacity

v1.0.0-alpha.19

29 Feb 16:22
Compare
Choose a tag to compare
v1.0.0-alpha.19 Pre-release
Pre-release

Modifications

  • sleep one second in the pubsub worker thread instead of 100ms
  • add helix.createStreamMarker method
  • merged initial Webhooks support #102
  • add support for a custom withChatQueueSize / withChatRateLimit
  • merged feature/channelpoints-pubsub #104
  • merged turikhay/feature/pubsub-topic-unsubscribe to subsubscribe from pubsub topics
  • add raw message to channel message / channel action events
  • implement AutoClosable to shutdown twitch4j
  • upgrade to modular event manager (https://github.com/PhilippHeuer/events4j/tree/v0.7.1)

Fixes

  • only call getStreams method if we're at least listening for one channel
  • also shutdown okhttpClient in auth.TwitchIdentityProvider (was missing before)
  • use waitStrategy.sleeping in TopicProcessor to reduce cpu usage (from .18)

Migration

There were major changes concerning the eventManager to make it modular and android compatible - and to allow custom eventHandlers (SpringEvents, Reactor, Annotation-Based, ...) - https://github.com/PhilippHeuer/events4j/tree/v0.7.1

Migration Steps:

  • eventManager.dispatchEvent(eventObject) was renamed to eventManager.publish(eventObject)
  • you will now need to specify the eventHandler when subscribing to a event, ie. java eventManager.getEventHandler(SimpleEventHandler.class).onEvent(EventType.class, event -> { // your code ... });
    Please check out this site on available handlers and their usage: https://twitch4j.gitlab.io/twitch4j/events/

Another new feature is that you'r now able to dispose eventHandlers if they are no longer needed.

Docs

  • added informaiton on how to configure logging
  • updated to reflect the eventManager changes

v1.0.0-alpha.17

12 Oct 14:59
Compare
Choose a tag to compare
v1.0.0-alpha.17 Pre-release
Pre-release

Modifications

  • supports modifying the event manager properties (queue size, behavior on event queue overflow, ...)
  • supports disabling stream / follow event listeners
  • supports using a queue for run requests later if the request thread pool is already full
  • increased default request timeout to 5000ms
  • add getModerator helix requests
  • add tmi getHosts methods

Fixes

  • fixed a issue when using the kraken getUsers endpoint for multiple users
  • kraken team request was missing the attribute for the member list
  • add support for the new founders badge (founders were not detected as subs)

Migration

  • the helix docs define the type of user id / game id as text, not long. So the types were changed to reflect that.

v1.0.0-alpha.11

15 Apr 15:37
Compare
Choose a tag to compare
v1.0.0-alpha.11 Pre-release
Pre-release

Modifications

  • helix: added support for the streams tag methods (list of active tags, replace tags, list all tags)
  • chat: add chat moderation action methods to chat module / channel based chat events
  • global: allow overwriting the default request timeouts

Fixes

  • chat: always take the channelname as lowercase when sending a message
  • common: remove a empty method on the PrivatMessageEvent

Migration

None

v1.0.0-alpha.10

04 Apr 18:24
Compare
Choose a tag to compare
v1.0.0-alpha.10 Pre-release
Pre-release

Modifications

  • Added "getUsersByLogin" to TwitchKraken, since the the Helix Users endpoint does not support retrieving the "createdAt" property of a user yet.
  • Overload a few methods in helix which weren't using auth yet, to support higher rate-limits (clips, games, top games, streams, streamsmetada followers and videos).

Fixes

  • map channel state to the correct states in the channel state event #65

Migration

  • The first parameter for the helix calls clips, games, top games, streams, streamsmetada followers and videos is now the authToken, so add it or set it to null - the old methods will be removed on 1.0.0 release.