Tags

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

    33d3d9a2 · Improved locking ·
    Features:
     - Plugins can now request to reload the source
     - Plugins can now clear cookies on http clients
    
    Improvements:
     - V8 update
     - Hold playback speed is now a configurable setting
     - HLS qualities are now ordered descending resolution order
     - Add to WatchLater now informs you if already in list
     - Setting to add new watch later entries at end instead of beginning
     - Minor scrolling improvement on sources page if lots of plugins are enabled
    
    Fixes:
     - Fix crash when attempting to install a plugin with an invalid signature
     - Fix for fullscreen behavior for weird phone resolution (foldables)
     - Fix plugin issue where returning the same object twice could cause a native crash
     - Various fixes to the plugin http package
  • 322

    7e837935 · Submods ·
    Features:
     - Plugins can now request to reload the source
     - Plugins can now clear cookies on http clients
    
    Improvements:
     - V8 update
     - Hold playback speed is now a configurable setting
     - HLS qualities are now ordered descending resolution order
     - Add to WatchLater now informs you if already in list
     - Setting to add new watch later entries at end instead of beginning
     - Minor scrolling improvement on sources page if lots of plugins are enabled
    
    Fixes:
     - Fix crash when attempting to install a plugin with an invalid signature
     - Fix for fullscreen behavior for weird phone resolution (foldables)
     - Fix plugin issue where returning the same object twice could cause a native crash
     - Various fixes to the plugin http package
  • 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.