Releases: Agash/YTLiveChat
Releases · Agash/YTLiveChat
v4.2.0-dev3
What's Changed
- feat(parser): add experimental MembershipEventType.Upgraded for tier-upgrade events by @Agash in #44
Full Changelog: v4.2.0-dev2...v4.2.0-dev3
v4.2.0-dev2
Full Changelog: v4.2.0-dev1...v4.2.0-dev2
YTLiveChat v4.1.0
YTLiveChat v4.1.0
Stable release of the unofficial .NET library for reading YouTube live chat via InnerTube.
What's in this release
- Full chat message, Super Chat/Sticker, and membership event support
- Ticker item support (paid messages, membership announcements, gift purchases)
- Viewer leaderboard rank extraction
- Raw InnerTube action access for unsupported events
- Async streaming APIs (
StreamChatItemsAsync,StreamRawActionsAsync) - Expanded parser coverage — polls, creator goals fixtures, additional web snapshot test data
- Continuous livestream monitor mode (beta)
net10.0,netstandard2.1,netstandard2.0targets
Acknowledgements
Thanks to WolfwithSword for testing and feedback.
Install
dotnet add package Agash.YTLiveChat
dotnet add package Agash.YTLiveChat.DependencyInjection
v4.1.0-dev3
Enable TreatWarningsAsErrors; fix CS8602 nullable warning in Parser.cs for netstandard2.0; remove IncludeSymbols/snupkg (embedded PDB via DotNet.ReproducibleBuilds).
v4.1.0-dev2
What's Changed
- Potential fix for code scanning alert no. 1: Workflow does not contain permissions by @Agash in #29
- Bump System.Threading.Channels from 10.0.0 to 10.0.3 by @dependabot[bot] in #33
Full Changelog: v4.1.0-dev1...v4.1.0-dev2
Hardened ChatMonitoring and Native AOT
Continuous livestream monitor changes:
- YTLiveChatOptions now has an additional flag for continuous livestream monitor, to ensure only actively broadcasting livestreams are used to trigger events and load on Livechat; this will be honored by both the livestream chat loading and the stream monitoring.
YTLiveChatOptions.RequireActiveBroadcastForAutoDetectedStreamcurrently defaults tofalse. - Additionally
YTLiveChatOptions.IgnoredAutoDetectedLiveIdsis a list of ignored LiveIds, these will always be ignored; useful for faraway scheduled "Free Chat / Schedule Calendar" types of Schedules Broadcasts.
Added support for Native AOT
- Changed to source generated json deseralization
- Switched example app to use native aot
v4.0.0: Raw InnerTube Actions, Hardened Parsing, and Beta Livestream Monitor Mode
Breaking Changes
MembershipDetails.LevelNameis now treated as membership tier information when available (for example from welcome subtext runs), instead of reflecting badge tenure labels.- New-member membership events now preserve welcome message runs in
ChatItem.Message(Welcome to {tier}!) where available. Consumers previously assuming empty message arrays for new-member events must adjust. - IMPORTANT: See ChatItem.IsTicker information below.
Added
- Added raw action surface:
IYTLiveChat.RawActionReceivedwithRawActionReceivedEventArgs.RawActionand optionalParsedChatItemmapping. - Added
ChatItem.ViewerLeaderboardRankextraction for YouTube points leaderboard rank tags (for example#1,#2,#3). - Added
MembershipDetails.MembershipBadgeLabelto preserve badge/tenure text separately from tier name. - Added
ChatItem.IsTickerto indicate events sourced fromaddLiveChatTickerItemAction. - Added ticker event parsing support:
liveChatTickerPaidMessageItemRenderer-> parsed super chat item.liveChatTickerSponsorItemRenderer-> parsed membership item.
IMPORTANT: These appear twice, once as ticker and once as message if captured while the event happens, disregard ChatItem.IsTicker=true values to dedupe if counting/collecting donations.
- Added async stream helpers:
IYTLiveChat.StreamChatItemsAsync(...)IYTLiveChat.StreamRawActionsAsync(...)
- Added lightweight log analysis utility project (
YTLiveChat.Tools) to inspect action/renderer distributions in captured logs. - Added continuous livestream monitor mode (BETA/UNSUPPORTED):
YTLiveChatOptions.EnableContinuousLivestreamMonitorYTLiveChatOptions.LiveCheckFrequency- lifecycle events
LivestreamStartedandLivestreamEnded
- Example console app upgraded into a one-line colorized TUI view with UTF-8 output, rank tags, membership/superchat tags, raw unsupported action hints, emoji and badge display.
Changed
- Unified currency parsing in dedicated
CurrencyParserhelper using CLDR-style symbols plus closure-style fallback mappings and ISO fallback handling. - Expanded currency parsing coverage for more YouTube formats (including prefixed dollar forms and additional ISO code passthrough behavior).
- Debug raw JSON capture now writes a valid JSON array file structure (instead of loose pretty-printed objects), suitable for downstream tooling.
- Service response handling now maps parsed items to source action indices and can emit both parsed events and raw action events from one response pass.
Notes
- Continuous livestream monitor mode is currently BETA/UNSUPPORTED. It may change or break at any time and is intentionally not covered by semver stability guarantees until promoted from beta.
v3.0.2
v2.1.1
Available via NuGet:
https://www.nuget.org/packages/Agash.YTLiveChat/
To install: dotnet add package Agash.YTLiveChat
Full Changelog: v2.0.1...v2.1.1
v2.0.1
Available via NuGet:
https://www.nuget.org/packages/Agash.YTLiveChat/
To install: dotnet add package Agash.YTLiveChat
Full Changelog: v1.1.0...v2.0.1