Releases: datguyandy/TwitchKit
Releases · datguyandy/TwitchKit
Release list
0.3.0
Added
- EventSub: network-path-aware reconnect plus a public
connectionStatestream (ConnectionState) consumers can observe to drive UI such as a "Reconnecting…" indicator. - Added the
NetworkPathMonitoringprotocol,NetworkPathStatusenum, andNWPathMonitor-backedNWPathNetworkMonitor.EventSubClientandTwitchClientgained a defaultedpathMonitorparameter; 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
isLivebackoff ladder still governs non-network socket drops.
0.2.3
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
ContinuousClockso polling is not affected by wall-clock changes. - Simplified Twitch emote image URL template replacement.
TwitchKit 0.2.2
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 testswift test --sanitize=threadswift test --sanitize=addressswift package --disable-sandbox generate-documentation --target TwitchKit
0.2.1
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
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
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
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 --checkpasses.