Note
- This release removes support for using public Piped instances, as there haven't been any working ones in a while - you may however still add your custom instance in the settings.
- Our versioning scheme changed to be more concise - I.e., we dropped the useless 0 in front of the version numbers, and directly jumped from 0.30.0 to this release, 31.0.
Release Highlights
Most noteworthy new features:
- Big downloads player refactor: We now use the same player for downloads as for online streaming, so you can use much more features than with the old downloads player.
- Add search functionality for playlists and downloads
- Support for SponsorBlock's exclusive content and self promotion - in your feed, you can now see if a video is a fully sponsored video at first glance due to a marker on the video thumbnail
- SponsorBlock support for downloads
- And a lot more ...
As we have a zero-tolerance AI policy, all the changes were done by real humans and took real efforts. So thank you everyone who contributed to this release, and enjoy the release everyone else!
✨ New Features
2d2142d- add more sorting options to downloads fragment, e.g. size, channel, ... (PR #7986 by @SE-Bilal-Ahmad)13d811b- fast forward action now increases playback speed instead of skipping frames (commit by @Bnyro)e783411- also show language setting on A13+ by opening the per-app language settings (commit by @Bnyro)141b5fb- support predictive back animations in settings (PR #8111 by @Pittvandewitt)906fd0a- use RYD Proxy API (commit by @FineFindus)cb4b089- enable memory tagging (commit by @FineFindus)5944117- automatically select newly created playlist in AddToPlaylistDialog (commit by @Bnyro)e9fd702- Player: enable fast-forward with double tap to seek (commit by @FineFindus)5b3c520- automatically display player controls when 'play automatically' is disabled (commit by @Bnyro)c94bd6d- allow seeking with single tap after first double click (commit by @Bnyro)8a4b09d- Dismiss chapters sheet when hidden (commit by @alihrhera)4312efd- store sponsorblock segments in database (commit by @Bnyro)19b48b5- DeArrow: cache response (commit by @FineFindus)35690b8- Instances: always show hard-coded fallback instances (commit by @FineFindus)51af8b4- use online player for playing offline videos (commit by @Bnyro)04cd435- offline player: support for captions, SponsorBlock, chapters and video frame preview (commit by @Bnyro)bf430d6- playback-options: add additional suggested speed chips (commit by @FineFindus)13ec1ef- video player: properly increase timebar touch area (commit by @dhanuarf)e312f92- store and support navigation for subscriptions and views info for offline content (PR #8230 by @shantanu1k)9be0925- already set auto-fullscreen on shorts before rendering starts (commit by @Bnyro)d4d6d71- playback-options: set speed steps to 0.25 (commit by @FineFindus)ccbc1c4- default to local extraction (commit by @FineFindus)06894c8- remove support for public piped instances (commit by @FineFindus)013040e- remove WelcomeActivity (commit by @FineFindus)4b47746- add 'Add Instance' button to instance dialog (commit by @FineFindus)abcf1dc- Preference: remove Piped Proxy setting (commit by @FineFindus)7e82bff- VideoCardsAdapter: display icon for fully sponsored videos (commit by @FineFindus)da6df39- cache SponsorBlock video labels (commit by @FineFindus)c7bc653- use background to show selected items in bottomsheet (commit by @FineFindus)bce7bf0- use primary color for creator comments (commit by @FineFindus)04d148d- channel groups: add extra-category to show all ungrouped subscriptions (commit by @Bnyro)761b946- add option to disable fast forward on long press player action (commit by @Bnyro)78b8305- add support for opening youtube-nocookie.com URLs with LibreTube (commit by @Bnyro)31b9c73- automatically start playback in audio mode, no matter if 'play automatically' is enabled (commit by @Bnyro)4fd873d- SponsorBlock: add icons for exclusive access and self promotion (commit by @FineFindus)a7c42cd- search: add search actions to downloads and playlist fragment (commit by @Bnyro)e98dd08- search: add support for searching through downloaded videos and playlists (commit by @Bnyro)3bd7e7d- add search support to playlists (commit by @Bnyro)f5c1fa4- add toolbar and download search functionality to offline/no internet activity (commit by @Bnyro)
🐛 Bug Fixes
a35967b- deps: update dependency com.google.android.material:material to v1.14.0-alpha09 (commit by @renovate[bot])3b2c1bf- deps: update dependency androidx.paging:paging-runtime-ktx to v3.4.0 (commit by @renovate[bot])df0e562- playing queue doesn't work in download playlists fragment (commit by @Bnyro)04bb5e0- playing from download tab doesn't respect sort order (commit by @Bnyro)719c751- Local/RYD: use correct API URL (commit by @FineFindus)34f2f8e- Player: allow fast-forward for all playback speeds (commit by @FineFindus)13a6af4- allow multiline titles in checkbox preferences (commit by @Bnyro)774c85e- Fix keyboard hotkeys not being binded (commit by @ionjsepulveda)3c778c0- next download isn't always starting automatically (commit by @bermount)a69a197- subscription list is displaying outdated data (commit by @dhanuarf)e2cbc0e- player: fullscreen handling and display related streams (commit by @Bnyro)2116c64- offline audio player transition, offline PiP/fullscreen (commit by @Bnyro)ffc4a04- switching from online video to offline video (or vice-versa) doesn't work (commit by @Bnyro)a8505ce- offline player: hide unavailable channel information (avatar, subscriptions count) (commit by @Bnyro)4323f78- prevent playlist download from stalling on unavailable videos (commit by @bermount)310b49f- audio player: chapters button is always visible (commit by @Bnyro)01ac1ac- auto short fullscreen doesn't work when using full local mode (commit by @Bnyro)b77a95f- default resolution is not applied when the player first created (commit by @dhanuarf)d6a0673- SponsorBlock: show video label only if SponsorBlock is enable (commit by @FineFindus)349aa59- avoid low-contrast situation by selecting an appropriate text color (commit by @FineFindus)cda4a81- Import/FreeTube: filter empty lines (commit by @FineFindus)92abf4b- local Return YouTube dislike option not usable when full local mode enabled (commit by @Bnyro)6825551- laggy show/hide animation in subscriptions load progress indicator (commit by @Bnyro)5477ca2- crash when rotating screen while video is loading (commit by @Bnyro)49f67df- crash when initializing video preview while loading (commit by @Bnyro)d78182c- audio player doesn't open when switching from downloaded video to downloaded audio (commit by @Bnyro)
♻️ Refactors
8e30596- change playback speed relatively to current speed in fast forward action (commit by @Bnyro)cb2ed75- mark required SponsorBlock properties as non-null (commit by @FineFindus)e463bce- simplify dearrow requests by only accepting a single video id (commit by @FineFindus)6d98c98- avoid unnecessary function override (commit by @FineFindus)6295cb7- DeArrow: simplify cache (commit by @FineFindus)35f52e8- offline player: make compatible with no internet activity (commit by @Bnyro)b00fa5e- simplify and perf-improve PlayOfflineDialog logic (commit by @Bnyro)48d6cf7- cleanup public method API of CustomExoPlayerView (commit by @Bnyro)94fe6ac- move from buildscript to plugins block (commit by @Pittvandewitt)3dac5ad- migrate and simplify playlist adapter to ListAdapter (commit by @Bnyro)
🔧 Chores
49d14f6- readme: clarify use case of supported external APIs (commit by @Bnyro)d68b53e- add summary to 'automatically check for updates' option (commit by @Bnyro)5ba9eb5- fix builds (commit by @Bnyro)2adea6a- update NewPipeExtractor (commit by @FineFindus)3282b69- bump version to v31.0 (commit by @Bnyro)