Skip to content

Releases: datguyandy/TwitchKit

0.3.0

Choose a tag to compare

@datguyandy datguyandy released this 31 May 15:32

Added

  • EventSub: network-path-aware reconnect plus a public connectionState stream (ConnectionState) consumers can observe to drive UI such as a "Reconnecting…" indicator.
  • Added the NetworkPathMonitoring protocol, NetworkPathStatus enum, and NWPathMonitor-backed NWPathNetworkMonitor. EventSubClient and TwitchClient gained a defaulted pathMonitor parameter; all new API is additive and existing call sites compile unchanged.

Changed

  • EventSub now pauses its reconnect loop while the network path is unsatisfied and reconnects immediately (resetting backoff) the instant the path is satisfied again, instead of burning retry attempts into a dead network. The isLive backoff ladder still governs non-network socket drops.

0.2.3

Choose a tag to compare

@datguyandy datguyandy released this 27 May 16:23

Changed

  • Reused TwitchKit's locked ISO-8601 date formatter cache for analytics, schedule, and media query dates to avoid creating duplicate formatter helpers.
  • Switched OAuth device-code polling expiration to ContinuousClock so polling is not affected by wall-clock changes.
  • Simplified Twitch emote image URL template replacement.

TwitchKit 0.2.2

Choose a tag to compare

@datguyandy datguyandy released this 27 May 15:29

What's Changed

  • Hardened EventSub WebSocket lifecycle cleanup and overlapping connect handling.
  • Bounded EventSub duplicate-message tracking to avoid unbounded memory growth in long-lived sessions.
  • EventSub notifications now buffer the newest 1,000 events by default, with configurable buffering through TwitchClient(eventBufferingPolicy:).
  • Expanded README and DocC guidance for EventSub management, webhook verification, common scopes, smoke-test commands, and Helix examples.

Validation

  • swift test
  • swift test --sanitize=thread
  • swift test --sanitize=address
  • swift package --disable-sandbox generate-documentation --target TwitchKit

0.2.1

Choose a tag to compare

@datguyandy datguyandy released this 27 May 13:07

What changed

  • Lowers the Swift tools requirement to 6.0 so Swift 6.0 and 6.1 toolchains can load the package.
  • Updates README installation guidance to use 0.2.1.
  • Documents the compatibility patch in CHANGELOG.

Validation

  • swift test: 97 tests passed.
  • DocC documentation generation passed.
  • swift package dump-package emitted valid JSON.
  • Generic iOS Xcode package build passed.

0.2.0

Choose a tag to compare

@datguyandy datguyandy released this 26 May 11:10

What changed

  • Promotes TwitchKit to the first normal 0.2.0 release.
  • Adds broad remaining Helix API coverage for ads, analytics, Bits, EventSub conduits, Drops entitlements, extension management, user extension activation, Guest Star, tags, teams, user block/authorization helpers, followed streams, and whispers.
  • Updates README, DocC Helix notes, and CHANGELOG to point at the stable 0.2.0 tag.
  • Adds request-construction tests for the newly covered Helix endpoint families.

Validation

  • swift test: 97 tests passed.
  • Generic iOS Xcode package build passed.
  • DocC documentation generation passed.
  • swift package dump-package emitted valid JSON.

0.2.0 beta 4

0.2.0 beta 4 Pre-release
Pre-release

Choose a tag to compare

@datguyandy datguyandy released this 26 May 10:18

What changed

  • Lowered declared platform requirements to iOS 16 and macOS 13, which is the lowest floor that works without changing TwitchKit code that uses Swift Duration and Task.sleep(for:).
  • Fixed the Swift Package Index-style iOS build by renaming the smoke-test executable source from main.swift to SmokeTestMain.swift, avoiding Xcode package-build confusion around @main.
  • Updated README installation guidance and CHANGELOG for the new prerelease.

Validation

  • swift test: 93 tests passed.
  • Generic iOS Xcode package build passed.
  • DocC documentation generation passed.
  • swift package dump-package emitted valid JSON.

0.2.0 beta 3

0.2.0 beta 3 Pre-release
Pre-release

Choose a tag to compare

@datguyandy datguyandy released this 26 May 10:12

TwitchKit 0.2.0 beta 3

Added

  • Added typed EventSub notification payloads for the remaining current Twitch subscription type families, including AutoMod, Bits use, ads, shared chat, Guest Star, custom power-up redemptions, suspicious users, conduits, drops, extension Bits transactions, user authorization/update, and whispers.
  • Added decoding coverage tests for the remaining typed EventSub payload families.
  • Updated README support status and installation snippet for beta 3.

Validation

  • swift test passes: 93 tests.
  • DocC generation passes with swift package --disable-sandbox generate-documentation --target TwitchKit.
  • git diff --check passes.