Skip to content

Releases: Agash/YTLiveChat

v4.2.0-dev3

17 Apr 11:34

Choose a tag to compare

v4.2.0-dev3 Pre-release
Pre-release

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

15 Apr 11:09

Choose a tag to compare

v4.2.0-dev2 Pre-release
Pre-release

YTLiveChat v4.1.0

06 Apr 15:21

Choose a tag to compare

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.0 targets

Acknowledgements

Thanks to WolfwithSword for testing and feedback.

Install

dotnet add package Agash.YTLiveChat
dotnet add package Agash.YTLiveChat.DependencyInjection

v4.1.0-dev3

27 Mar 22:25

Choose a tag to compare

v4.1.0-dev3 Pre-release
Pre-release

Enable TreatWarningsAsErrors; fix CS8602 nullable warning in Parser.cs for netstandard2.0; remove IncludeSymbols/snupkg (embedded PDB via DotNet.ReproducibleBuilds).

v4.1.0-dev2

27 Mar 10:16

Choose a tag to compare

v4.1.0-dev2 Pre-release
Pre-release

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

22 Feb 06:13

Choose a tag to compare

Pre-release

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.RequireActiveBroadcastForAutoDetectedStream currently defaults to false.
  • Additionally YTLiveChatOptions.IgnoredAutoDetectedLiveIds is 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

16 Feb 20:10
eaaaa36

Choose a tag to compare

Breaking Changes

  • MembershipDetails.LevelName is 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.RawActionReceived with RawActionReceivedEventArgs.RawAction and optional ParsedChatItem mapping.
  • Added ChatItem.ViewerLeaderboardRank extraction for YouTube points leaderboard rank tags (for example #1, #2, #3).
  • Added MembershipDetails.MembershipBadgeLabel to preserve badge/tenure text separately from tier name.
  • Added ChatItem.IsTicker to indicate events sourced from addLiveChatTickerItemAction.
  • 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.EnableContinuousLivestreamMonitor
    • YTLiveChatOptions.LiveCheckFrequency
    • lifecycle events LivestreamStarted and LivestreamEnded
  • 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 CurrencyParser helper 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

09 May 13:59
1106c0c

Choose a tag to compare

What's Changed

Full Changelog: https://github.com/Agash/YTLiveChat/commits/v3.0.2

v2.1.1

21 Apr 09:01

Choose a tag to compare

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

13 Apr 15:00

Choose a tag to compare

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