Tags

Tags give the ability to mark specific points in history as being important
  • 321

    2025-6-11:
    HOTFIX: Revert Android download segment change (may cause last few sec cutoff, but atleast works)
    
    2025-6-10:
    HOTFIX: Fix playback speed crash for non-dot locales
    HOTFEATURE: New Playback speed controls with wider (configurable) minimum and maximum, as well as smaller step-wise control.
    HOTFEATURE: You can now copy video title by long pressing.
    HOTFEATURE: Copy playlist now creates additional copies with different titles.
    HOTFIX: Fixed playback tracker not working for downloaded videos.
    HOTFIX: Edgecase crash in some scenarios where you re-enter the main activity.
    HOTFIX: Fixed issue where brightness was improperly restored when using system brightness.
    HOTFIX: Fixed issue where raw dash downloads end early.
    
    ----
    HOTFIX: Possible crash fix in scenarios where you leave the main activity.
    HOTFIX: Freeze fix when clicking link in description.
    HOTFIX: Added potential fix for having to restart app to get casting devices to show. 
    HOTFIX: Added persistent ordering for creators.
    HOTFIX: Added boolean setting to allow link local casting over ipv4.
    
    Features
    - Added article support.
    - Added web content support.
    - Add Crunchyroll.
    - Downloads size ordering.
    - Added view license in settings.
    
    Improvements
    - Fixed playback stutter when switching between background (audio only) and foreground play.
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    - Some settings are now hidden under advanced settings.
    - Subscription is now removed from sub groups when unsubscribing.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
    - Fix for duplicate playlists after sync.
    - Playlist id saving for exports, fixing duplicates when you first import and then sync (only works for new backups).
    - Crashfix on stopping StateSync #2302.
    - Crashfix related to PiP #2041.
  • 320

    HOTFIX: Fix playback speed crash for non-dot locales
    
    2025-6-10:
    HOTFEATURE: New Playback speed controls with wider (configurable) minimum and maximum, as well as smaller step-wise control.
    HOTFEATURE: You can now copy video title by long pressing.
    HOTFEATURE: Copy playlist now creates additional copies with different titles.
    HOTFIX: Fixed playback tracker not working for downloaded videos.
    HOTFIX: Edgecase crash in some scenarios where you re-enter the main activity.
    HOTFIX: Fixed issue where brightness was improperly restored when using system brightness.
    HOTFIX: Fixed issue where raw dash downloads end early.
    
    ----
    HOTFIX: Possible crash fix in scenarios where you leave the main activity.
    HOTFIX: Freeze fix when clicking link in description.
    HOTFIX: Added potential fix for having to restart app to get casting devices to show. 
    HOTFIX: Added persistent ordering for creators.
    HOTFIX: Added boolean setting to allow link local casting over ipv4.
    
    Features
    - Added article support.
    - Added web content support.
    - Add Crunchyroll.
    - Downloads size ordering.
    - Added view license in settings.
    
    Improvements
    - Fixed playback stutter when switching between background (audio only) and foreground play.
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    - Some settings are now hidden under advanced settings.
    - Subscription is now removed from sub groups when unsubscribing.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
    - Fix for duplicate playlists after sync.
    - Playlist id saving for exports, fixing duplicates when you first import and then sync (only works for new backups).
    - Crashfix on stopping StateSync #2302.
    - Crashfix related to PiP #2041.
  • 319

    4164b1a3 · Build fix ·
    2025-6-10:
    HOTFEATURE: New Playback speed controls with wider (configurable) minimum and maximum, as well as smaller step-wise control.
    HOTFEATURE: You can now copy video title by long pressing.
    HOTFEATURE: Copy playlist now creates additional copies with different titles.
    HOTFIX: Fixed playback tracker not working for downloaded videos.
    HOTFIX: Edgecase crash in some scenarios where you re-enter the main activity.
    HOTFIX: Fixed issue where brightness was improperly restored when using system brightness.
    HOTFIX: Fixed issue where raw dash downloads end early.
    
    ----
    HOTFIX: Possible crash fix in scenarios where you leave the main activity.
    HOTFIX: Freeze fix when clicking link in description.
    HOTFIX: Added potential fix for having to restart app to get casting devices to show. 
    HOTFIX: Added persistent ordering for creators.
    HOTFIX: Added boolean setting to allow link local casting over ipv4.
    
    Features
    - Added article support.
    - Added web content support.
    - Add Crunchyroll.
    - Downloads size ordering.
    - Added view license in settings.
    
    Improvements
    - Fixed playback stutter when switching between background (audio only) and foreground play.
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    - Some settings are now hidden under advanced settings.
    - Subscription is now removed from sub groups when unsubscribing.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
    - Fix for duplicate playlists after sync.
    - Playlist id saving for exports, fixing duplicates when you first import and then sync (only works for new backups).
    - Crashfix on stopping StateSync #2302.
    - Crashfix related to PiP #2041.
  • 318

    2025-6-10:
    HOTFEATURE: New Playback speed controls with wider (configurable) minimum and maximum, as well as smaller step-wise control.
    HOTFEATURE: You can now copy video title by long pressing.
    HOTFEATURE: Copy playlist now creates additional copies with different titles.
    HOTFIX: Fixed playback tracker not working for downloaded videos.
    HOTFIX: Edgecase crash in some scenarios where you re-enter the main activity.
    HOTFIX: Fixed issue where brightness was improperly restored when using system brightness.
    HOTFIX: Fixed issue where raw dash downloads end early.
    
    ----
    HOTFIX: Possible crash fix in scenarios where you leave the main activity.
    HOTFIX: Freeze fix when clicking link in description.
    HOTFIX: Added potential fix for having to restart app to get casting devices to show. 
    HOTFIX: Added persistent ordering for creators.
    HOTFIX: Added boolean setting to allow link local casting over ipv4.
    
    Features
    - Added article support.
    - Added web content support.
    - Add Crunchyroll.
    - Downloads size ordering.
    - Added view license in settings.
    
    Improvements
    - Fixed playback stutter when switching between background (audio only) and foreground play.
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    - Some settings are now hidden under advanced settings.
    - Subscription is now removed from sub groups when unsubscribing.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
    - Fix for duplicate playlists after sync.
    - Playlist id saving for exports, fixing duplicates when you first import and then sync (only works for new backups).
    - Crashfix on stopping StateSync #2302.
    - Crashfix related to PiP #2041.
  • 317

    de39451f · Merge ·
    HOTFEATURE: New Playback speed controls with wider (configurable) minimum and maximum, as well as smaller step-wise control
    HOTFIX: Edgecase crash in some scenarios where you re-enter the main activity.
    HOTFIX: Possible crash fix in scenarios where you leave the main activity.
    HOTFIX: Freeze fix when clicking link in description.
    HOTFIX: Added potential fix for having to restart app to get casting devices to show. 
    HOTFIX: Added persistent ordering for creators.
    HOTFIX: Added boolean setting to allow link local casting over ipv4.
    
    Features
    - Added article support.
    - Added web content support.
    - Add Crunchyroll.
    - Downloads size ordering.
    - Added view license in settings.
    
    Improvements
    - Fixed playback stutter when switching between background (audio only) and foreground play.
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    - Some settings are now hidden under advanced settings.
    - Subscription is now removed from sub groups when unsubscribing.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
    - Fix for duplicate playlists after sync.
    - Playlist id saving for exports, fixing duplicates when you first import and then sync (only works for new backups).
    - Crashfix on stopping StateSync #2302.
    - Crashfix related to PiP #2041.
  • 316

    HOTFIX: Possible crash fix in scenarios where you leave the main activity.
    HOTFIX: Freeze fix when clicking link in description.
    HOTFIX: Added potential fix for having to restart app to get casting devices to show. 
    HOTFIX: Added persistent ordering for creators.
    HOTFIX: Added boolean setting to allow link local casting over ipv4.
    
    Features
    - Added article support.
    - Added web content support.
    - Add Crunchyroll.
    - Downloads size ordering.
    - Added view license in settings.
    
    Improvements
    - Fixed playback stutter when switching between background (audio only) and foreground play.
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    - Some settings are now hidden under advanced settings.
    - Subscription is now removed from sub groups when unsubscribing.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
    - Fix for duplicate playlists after sync.
    - Playlist id saving for exports, fixing duplicates when you first import and then sync (only works for new backups).
    - Crashfix on stopping StateSync #2302.
    - Crashfix related to PiP #2041.
  • 315

    HOTFIX: Possible crash fix in scenarios where you leave the main activity.
    HOTFIX: Freeze fix when clicking link in description.
    HOTFIX: Added potential fix for having to restart app to get casting devices to show. 
    HOTFIX: Added persistent ordering for creators.
    HOTFIX: Added boolean setting to allow link local casting over ipv4.
    
    Features
    - Added article support.
    - Added web content support.
    - Add Crunchyroll.
    - Downloads size ordering.
    - Added view license in settings.
    
    Improvements
    - Fixed playback stutter when switching between background (audio only) and foreground play.
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    - Some settings are now hidden under advanced settings.
    - Subscription is now removed from sub groups when unsubscribing.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
    - Fix for duplicate playlists after sync.
    - Playlist id saving for exports, fixing duplicates when you first import and then sync (only works for new backups).
    - Crashfix on stopping StateSync #2302.
    - Crashfix related to PiP #2041.
  • 314

    HOTFIX: Possible crash fix in scenarios where you leave the main activity.
    
    Features
    - Added article support.
    - Added web content support.
    - Add Crunchyroll.
    - Downloads size ordering.
    - Added view license in settings.
    
    Improvements
    - Fixed playback stutter when switching between background (audio only) and foreground play.
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    - Some settings are now hidden under advanced settings.
    - Subscription is now removed from sub groups when unsubscribing.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
    - Fix for duplicate playlists after sync.
    - Playlist id saving for exports, fixing duplicates when you first import and then sync (only works for new backups).
    - Crashfix on stopping StateSync #2302.
    - Crashfix related to PiP #2041.
  • 313

    Features
    - Added article support.
    - Added web content support.
    - Add Crunchyroll.
    - Downloads size ordering.
    - Added view license in settings.
    
    Improvements
    - Fixed playback stutter when switching between background (audio only) and foreground play.
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    - Some settings are now hidden under advanced settings.
    - Subscription is now removed from sub groups when unsubscribing.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
    - Fix for duplicate playlists after sync.
    - Playlist id saving for exports, fixing duplicates when you first import and then sync (only works for new backups).
    - Crashfix on stopping StateSync #2302.
    - Crashfix related to PiP #2041.
  • 312

    Features
    - Added article support.
    - Added web content support.
    - Add Crunchyroll.
    - Downloads size ordering.
    - Added view license in settings.
    
    Improvements
    - Fixed playback stutter when switching between background (audio only) and foreground play.
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    - Some settings are now hidden under advanced settings.
    - Subscription is now removed from sub groups when unsubscribing.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
    - Fix for duplicate playlists after sync.
    - Playlist id saving for exports, fixing duplicates when you first import and then sync (only works for new backups).
    - Crashfix on stopping StateSync #2302.
    - Crashfix related to PiP #2041.
  • 311

    Features
    - Article support.
    - Add Crunchyroll
    
    Improvements
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Added web content support.
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
  • 310

    Features
    - Article support.
    - Add Crunchyroll
    
    Improvements
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Added web content support.
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
    - Made task handler and retry dialogs more robust.
  • 309

    Features
    - Article support.
    - Add Crunchyroll
    
    Improvements
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection.
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Added web content support.
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
    - Fixed Chromecast position not updating on Grayjay side.
    - Fixed Chromecast not reconnecting properly.
    - Fixed AirPlay/Chromecast position not being reflected in history.
  • 308

    916d0526 · Updated submodules. ·
    Features
    - Article support.
    - Add Crunchyroll
    
    Improvements
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection. 
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Added web content support.
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
  • 307

    916d0526 · Updated submodules. ·
    Features
    - Article support.
    - Add Crunchyroll
    
    Improvements
    - Improved spacing consistency in bottom bar.
    - Audio is now saved as m4a instead of mp4.
    - Made chromecast more robust.
    - Improvements to IPv6 handling of casting devices.
    - Casting to a link local address it will now use a most likely candidate IP.
    - Improved channel search to be more intuitive.
    - Added separate error status code for transport rejection. 
    - Improve messaging and warnings for sync feature.
    - Button incognito is now visible but translated when minimized.
    - Added missing checks for polycentric enabled.
    - Keep live chat open when minimizing. #2227
    - Improved sync send efficiency.
    - Added client sided sync ping loops to prevent inactive channels.
    - Fix link typo for Script Signing.
    - Add a setting to adjust player seek duration.
    - Made HLS downloading more robust.
    - Self update is not less verbose for specific android versions.
    - Brightness restore on app close.
    
    Fixes
    - Removed drag handles when searching in playlist.
    - Tab changes no longer fill up navigation history.
    - Potential fix for WebSocket not being closed in time when unloading plugins
    - Potential fix for crash that happens in ShapeableImageView.
    - Fixed typo in download error by.
    - Fixed issue where plugins could not use a new http client (due to ReturnType).
    - Added web content support.
    - Theoretical crashfix for the case where activity does not successfully resume before handleUrl is invoked #2245.
    - Fixed UI mode changes causing app restarts.
    - Improved exception handling for sync relay loop.
    - Fixed issue where loop video would not reset when opening a playlist, causing the video to loop without being able to disable it.
    - Check to see if an HLS playlist is a master playlist before parsing it, fixing some HLS audio downloads.
    - Fix for throttled networks (airplane wifi) freezing app opening downloaded content.
    - Updated default price.
    - Fix "previous song" button playing always from unshuffled queue, even when shuffle is used
    - Fixed app restart when keyboard|keyboardHidden config changes happen.
    - Fixed issue where private mode would not re-appear after closing the video.
    - Fixed fullscreen UI glitch
  • 306

    48a67e51 · Various fixes. ·
    Features
     - Implemented a button on picture in picture allowing you to switch to background play.
     - History now has a list of filters to filter specific plugins.
     - Added Curiosity Stream plugin.
    
    Improvements
     - History now filters out videos of plugins that are not enabled.
     - History now shows an icon of which platform a specific history video is on.
     - Confirming sync now brings you back to the device list.
     - Added progress bar to playlist items.
    
    Fixes
     - Added insensitivity to base64 formats for sync.
     - Fixed datetime checking related to playlists on android.
     - Private mode visibility no longer overlays pip/minimized video.
     - Fixed issue where video was removed from watch later when delete from watch later was false.
     - Prevent going into picture in picture when clicking add sources.
     - Fixed device vanishing while still being there in the case the device is blacklisted from starting a relay.
     - Fixed crash in SyncHome whenever recovering from screen timeout.
     - Migrate stores is now performed asynchronously.
     - StateSync connect using remote connection info now uses IPv4 over IPv6.
  • 305

    5052bad8 · Updated submodules. ·
    Features
     - Implemented a button on picture in picture allowing you to switch to background play.
     - History now has a list of filters to filter specific plugins.
     - Added Curiosity Stream plugin.
    
    Improvements
     - History now filters out videos of plugins that are not enabled.
     - History now shows an icon of which platform a specific history video is on.
     - Confirming sync now brings you back to the device list.
     - Added progress bar to playlist items.
    
    Fixes
     - Added insensitivity to base64 formats for sync.
     - Fixed datetime checking related to playlists on android.
     - Private mode visibility no longer overlays pip/minimized video.
     - Fixed issue where video was removed from watch later when delete from watch later was false.
     - Prevent going into picture in picture when clicking add sources.
     - Fixed device vanishing while still being there in the case the device is blacklisted from starting a relay.
     - Fixed crash in SyncHome whenever recovering from screen timeout.
     - Migrate stores is now performed asynchronously.
     - StateSync connect using remote connection info now uses IPv4 over IPv6.
  • 304

    5052bad8 · Updated submodules. ·
    Features
     - Implemented a button on picture in picture allowing you to switch to background play.
     - History now has a list of filters to filter specific plugins.
     - Added Curiosity Stream plugin.
    
    Improvements
     - History now filters out videos of plugins that are not enabled.
     - History now shows an icon of which platform a specific history video is on.
     - Confirming sync now brings you back to the device list.
     - Added progress bar to playlist items.
    
    Fixes
     - Added insensitivity to base64 formats for sync.
     - Fixed datetime checking related to playlists on android.
     - Private mode visibility no longer overlays pip/minimized video.
     - Fixed issue where video was removed from watch later when delete from watch later was false.
     - Prevent going into picture in picture when clicking add sources.
     - Fixed device vanishing while still being there in the case the device is blacklisted from starting a relay.
  • 303

    Features
     - Implemented a button on picture in picture allowing you to switch to background play.
     - History now has a list of filters to filter specific plugins.
    
    Improvements
     - History now filters out videos of plugins that are not enabled.
     - History now shows an icon of which platform a specific history video is on.
     - Confirming sync now brings you back to the device list.
     - Added progress bar to playlist items.
    
    Fixes
     - Added insensitivity to base64 formats for sync.
     - Fixed datetime checking related to playlists on android.
     - Private mode visibility no longer overlays pip/minimized video.
     - Fixed issue where video was removed from watch later when delete from watch later was false.
     - Prevent going into picture in picture when clicking add sources.
  • 302

    Improvements
     - Sync is now disabled by default and the user will be prompted to enable it when using the feature
     - Improved sync pairing UI
     - Added toggle to be able to disable local functionality for sync
     - Sync pairing dialog now automatically closes when pairing is successful
     - Casting devices more clearly communicate when not ready
     - Implemented backoffs for SyncServer
     
    Fixes
     - IPv6 casting now works properly when the IP contains a scope id
     - Various fixes to Sync protocol
     - Fixed synced ImageVariables showing black images
     - Fixed sync gzip compression
     - Fix race condition causing watch later to be re-added when removed when using sync