* Added: Closed Captioning settings to override the font family and font size.
* Added: Closed Captioning settings to override the position of captions.
* Changed: Player settings are no longer located under `Channel` in the settings menu.
* Fixed: Portrait Mode not working correctly when collapsing chat when Portrait Mode is active.
* Fixed: The button to collapse chat not appearing in the correct position when Portrait Mode and Swapped Sidebars are both active.
* Fixed: The button to collapse chat not appearing in Firefox when Swapped Sidebars is active.
* Added: Options to hide `Recommended Live Channels` and `Based on your viewing history` from the Following Directory page.
* Fixed: Position of the FrankerFaceZ Control Center icon, broken when Twitch changed the style of the user menu.
* Fixed: Thumbnails in rich embeds in chat not displaying correctly.
* Fixed: Chat disappearing with tall, thin windows despite Portrait Mode being enabled.
* Fixed: Issue with channel metadata not loading correctly on channel pages.
* Changed: Attempt to display stream up-time data on the Discover page. This currently only works if you don't load that page directly.
* Added: Data Management > Backup and Restore
* Added: Option to expand merged mass sub gift messages by default.
* Added: Option to hide the Discover link in the top navigation bar.
* Changed: Use icons for navigation of the emote menu. Fix padding as well.
* Fixed: Player problems on Squad Streams pages.
* Fixed: Option to hide Live indicators on channels in the directory.
* Added: Social media buttons to the FFZ Control Center.
* Fixed: Check boxes in settings UI.
* Fixed: Use word wrap for usernames in grouped mass gift sub messages.
* Fixed: Bug with tab completion breaking chat if Twitch's tab completion handler returns null.
* Added: New settings in Chat > Appearance for controlling Subscription notices in chat.
* Changed: Display an icon next to new subscription notices, like vanilla Twitch is doing now.
* Changed: Display in-line moderation actions on subscription notices without associated messages.
You can now merge mass gift subs, as well as completely hide subscription notices if you so choose. Please note that you will still see the messages people send with their gift regardless of these new settings.
* Added: Override chat line rendering for viewer cards (and also Rooms, as a side effect. Rooms are still a thing and people use them, right? Right? ... right.....?)
* Fixed: With Swap Sidebars enabled in Firefox, the button to expand and close chat not appearing correctly.
* Fixed: Messages being removed for moderators when they shouldn't be due to FFZ settings.
* Added: Support for clicking Twitch emotes to open information cards.
* Added: Option to allow clicking blocked terms in chat to reveal the term.
* Fixed: Twitch Experiments not being detected properly.
* Changed: By default, open a Twitch subscription page rather than TwitchEmotes when Shift-Clicking a subscriber emote.
* Changed: Add a link information provider for Pretzel Rocks.
* Fixed: Display better information for links to Twitch channels and to Twitch pages without video content.
* Fixed: Hide Rerun Bar setting incorrectly hiding video information on other channel pages.
* Fixed: Emote Menu icon not appearing correctly when the option to replace it with the FFZ logo is enabled.
* Fixed: Hide Event Bar and Hide Rerun Bar settings for the player.
* Fixed: GiftZ event emote note working correctly.
* Fixed: Unimplemented action `Gift Subscription` appearing in the available actions in the In-Line Actions editor.
* Added: Disclaimer on the Rich Embeds settings warning streamers that thumbnails *could* potentially have NSFW imagery and that they should be aware of the potential if planning on capturing chat.
* Fixed: Exception when calculating the user level for chat messages without badge data.
* Added: Option to display rich embeds in chat for all links and not just those to Twitch Clips and Videos. (Closes#554)
* Added: Option to only display rich embeds for links posted by users of a certain level. (Broadcaster, VIP, etc.)
* Fixed: Implement logic for determining if embedded chat is dark or not, since embedded chat is a special snowflake. (Closes#557)
* Fixed: Emote Alignment setting broke due to DOM changes in last update. (Closes#555)
* Fixed: Clicking Stream Latency metadata not toggling the visibility of the player's playback statistics.
* Fixed: The Turbo landing page being inappropriately darkened. (Twitch forgot to add the "base text color" class to anything so text becomes invisible against the background.)
* Fixed: More emote menu fixes. Check that emote data from Twitch doesn't contain null values, because apparently it can.
* Fixed: Chat width in portrait mode using Microsoft Edge.
* Fixed: `no_invert` not applying to badges correctly. (Closes#547)
* Added: Setting to force the tags/metadata bar to the top of information pane beneath the player.
* Fixed: Some users, somehow, have their emote menu sorting setting set to an invalid value, breaking the player when it tries to sort. Fall back to the default if there's no valid sorting setting.
* Changed: Make the changelog properly handle commits with versions starting with a `v`.
* Added: Debug Log generation and easy uploading for issue reports.
* Fixed: Bug with chat lines not having a state causing rendering to crash.
* Fixed: Add an error boundary around the custom FFZ Emote Menu to catch errors, displaying feedback and sending error reports rather than silently failing.
* Fixed: Typo in Fine when logging errors.
* Changed: Update chat types with the latest values from Twitch's source.
* Changed: Update the GitHub issue template with instructions on uploading logs from v4.
* Fixed: Loading errors in the Browse Popular directory due to a renamed query field.
* Fixed: Block and Hide Thumbnail buttons not appearing in Game directories. (Fixes#538)
* Fixed: Custom chat width applying when portrait mode is active. (Fixes#540)
* Fixed: FrankerFaceZ not properly detecting the dark theme when theater mode is enabled and then not using appropriate colors. (Fixes#541)
* Fixed: Override badges appearing invisible with certain badge styles.
* Maintenance: Update the chat types enum to match current Twitch values.
* Fixed: Game directory pages not loading.
* Changed: Rewrite GraphQL query merging logic to hopefully perform in a more robust manner less likely to break in the future.
* Added: Initial support for the `/delete` command. Only specific messages will be removed from chat when one is received, now, and there's an easy to add action for In-Line Chat Actions to let moderators perform the action.
* Added: Custom timestamp formats for chat messages.
* Fixed: Hook the correct load event for video elements in rich link tool-tips.
* Fixed: Display Block and Hide Thumbnail buttons on the new game directory pages.
* Changed: Use markdown for rendering item descriptions in the settings menu rather than HTML.
* Fixed: Rename all references to `tw-c-background` to `tw-c-background-base` and `tw-c-text` to `tw-c-text-base` to fix rendering issues with FrankerFaceZ's custom UI due to Twitch CSS changes.
* Fixed: Merge User and Room objects when ID and login are both known at once.
* Fixed: Spacing and sorting of metadata beneath the player. (Closes %520)
* Fixed: Update the settings menu when new settings are added while the menu is open. (Closes#523)
* Fixed: Do not maximize or minimize the settings window when double-clicking in the search box. (Closes#521)