Releases: libre-tube/LibreTube
v31.4
Note
Release Highlights
Fixed issues with video playback and channel pages due to recent YouTube API changes.
π§ Chores
af33190- update NewPipeExtractor (commit by @FineFindus)4547208- bump version to v31.4 (commit by @FineFindus)
v31.3
Note
Release Highlights
This release fixes that channel videos and the feed don't load.
The cause are breaking changes made by YouTube in their API.
Big thanks to https://github.com/AudricV and https://github.com/Ecomont for working on the fixes upstream!
π§ Chores
v31.2
Note
Release Highlights
This release includes mostly bugfixes.
Most importantly this fixes that:
- the keyboard opened after you left a fullscreen video
- local streams/feed extraction was not enabled by default, which is very inconvenient for new users
- subtitles automatically disabled themselves when the video was buffering
β¨ New Features
456d63e- SponsorBlock: addselfpromofull video label (commit by @FineFindus)20cebd3- SponsorBlock: display icon in full video labels (commit by @FineFindus)2638ad0- SponsorBlock: set tooltip of thumbnail badge (commit by @FineFindus)
π Bug Fixes
02e9d75- Search: show deletion icon only for previous searches (commit by @FineFindus)a92a15a- crash when leaving subscriptions after refreshing feed (commit by @Bnyro)55a9dc4- keyboard opens when leaving fullscreen (commit by @Bnyro)5de6691- Shortcuts: run blocking method on IO dispatcher (commit by @FineFindus)5f941db- allow opening youtube-nocookie.com links (commit by @j-lakeman)960de4e- Player: check if correct preference when stopping fast-forward (commit by @FineFindus)9939714- crash when using Picture in Picture buttons before player is loaded (commit by @Bnyro)04d9cc5- local streams/feed extraction is not enabled by default (commit by @Bnyro)8f33d6b- crash when switching from audio player to video player while loading (commit by @Bnyro)05d0252- pause button instead of play button shown when switching from paused video to audio mode (commit by @Bnyro)eedb7e0- subtitles automatically disable when buffering (commit by @Bnyro)0e8eee2- don't invoke media 3's onUpdateNotification directly (commit by @Bnyro)72f09d8- blank space in live video search results with no views information (commit by @Bnyro)3fc3fd8- home: feed filters (e.g. shorts only) not applied when feed is cached (commit by @Bnyro)
β»οΈ Refactors
859bf30- use PlayerData for passing player arguments and fix downloads shuffling (commit by @Bnyro)
π§ Chores
v31.1
Note
Release Highlights
This is a hotfix release for v31.0.
Most noteworthy new features of v31.0:
- 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 ...
Please see the changelog of the v31.0 release for more information.
π Bug Fixes
b1a5f6f- app crashes when swiping to fullscreen while video loading (commit by @Bnyro)c61bd48- selecting channel group shows videos from the channel group after it (off-by-one) (commit by @Bnyro)a76324f- can't disable captions anymore after enabling captions once (commit by @Bnyro)e33d70b- player view doesn't update (duration, play/pause button, ...) (commit by @Bnyro)
π§ Chores
v31.0
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](https://github.com/libre-tube...
v0.30.0
Important
We dropped support for split-ABI APKs. If you're using and automated tool to download APKs, please adjust as necessary.
Note
Release Highlights
- Fixed an error with playing videos
- Removed split-abi-apks
- Always remember playback speed
- Fast forward video on long press
- Improved sleeptimer with slow volume fade-out and quick-select buttons
- Display video chapters in timebar
- Include filtered search history in search suggestion
- Prefer untranslated video title if available
- Many more bug fixes and performance improvement
β¨ New Features
0e9c0ca- remove release action (commit by @FineFindus)e9759bd- video player: improve touch gesture handling (commit by @dhanuarf)4491a42- video player: increase center screen gesture detection area (commit by @dhanuarf)5ef3d89- fast forward video on long press (commit by @Bilal-Ahmad123)6d4f3d6- DASH: remove unsatisfiable filter (commit by @FineFindus)79548a9- Backup: notify user about result of backup creation (commit by @FineFindus)463b77f- Preferences: remove unused preferences (commit by @FineFindus)a7bb77b- LocalFeed: prefer untranslated video title if available (commit by @FineFindus)947727a- Preferences: remove codec preferences (commit by @FineFindus)c9e22dc- video player: add visual feedback when fullscreen gesture is in progress (commit by @dhanuarf)d013ccb- video player: allow swipe up on the entire view to enter fullscreen (commit by @dhanuarf)a1c4772- always remember playback speed (commit by @FineFindus)6cbd129- generate content-bound poToken (commit by @FineFindus)4cd6507- sleep-timer: show minutes left in player menu (PR #8034 by @PavelStefanov)33448b7- Player: display chapters in timebar (commit by @FineFindus)2decf2b- Player: center chapter breaks (commit by @FineFindus)993888a- improve sleep timer with smooth player volume fade out (commit by @PavelStefanov)944f04f- add quick-select chips to sleep timer (commit by @PavelStefanov)e2f42f8- SleepTimer: start timer immediately when selecting chip (commit by @FineFindus)1cdb3e0- SleepTimer: allow chip scrolling beyond screen-edges (commit by @FineFindus)a4f440e- SleepTimer: center buttons (commit by @FineFindus)381538a- include filtered search history in search suggestion (commit by @dhanuarf)
π Bug Fixes
856b8fd- LocalFeedRepository: update subscribed channels (commit by @FineFindus)d72cd60- video player: preview frame jumping around the screen when seeking (commit by @dhanuarf)dd7fa6c- Import: allow subtitles without URL (commit by @Bilal-Ahmad123)5c3694d- deps: update dependency androidx.swiperefreshlayout:swiperefreshlayout to v1.2.0 (commit by @renovate[bot])87d004c- occasional crash when opening YouTube link (commit by @Bnyro)019b216- crash when clicking chapters/switch to video in audio player before video loaded (commit by @Bnyro)1411fcf- switching video in audio only mode opens video player instead of audio player (commit by @Bnyro)2e41934- initializebrightnessHelperbeforeplayerGestureController(commit by @FineFindus)2ff9120- Crash when starting online stream while offline stream in progress (commit by @shantanu1k)435cf50- deps: update media3 to v1.9.0 (commit by @renovate[bot])8018b1d- deps: update dependency com.google.android.material:material to v1.14.0-alpha08 (commit by @renovate[bot])845cd79- video player: glitch when exiting from fullscreen on short videos (commit by @dhanuarf)53b95e2- avoid leakingSubscriptionsFragment(commit by @FineFindus)c50592d- prevent videos from moving to start when re-adding them to a local playlist (PR #8061 by @PavelStefanov)14f2b3b- subscriptions button reset its state when scrolling (commit by @dhanuarf)bb0ad22- deps: update media3 to v1.9.1 (commit by @renovate[bot])ccad908- search query being added to history on back navigation (commit by @dhanuarf)fc1c5d8- ignore missingre2jclasses (commit by @FineFindus)
β‘ Performance Improvements
b7669eb- avoid second database call (commit by @FineFindus)
β»οΈ Refactors
752c4f8- remove local feed videos when unsubscribing (commit by @FineFindus)0a95d96- remove unnecessarythis(commit by @FineFindus)823ce93- simplify findingPlayerFragmentmethod inCustomExoPlayerView(commit by @dhanuarf)d9710c8- implement video player gesture directly inonTouchEvent()(commit by @dhanuarf)08e4f12- move some initializations to constructor level inCustomExoPlayerView(commit by @dhanuarf)cc2585e- simplify some functions that has default parameters (commit by @dhanuarf)37cd5e7- define some constants incompanion object(commit by @dhanuarf)b0e2ddb- remove unnecessary null assertion (commit by @FineFindus)61f3201- remove unnecessarylateinitmodifier (commit by @FineFindus)3eb429f- use elvis operator for early ret...
v0.29.1
Note
This is a bugfix release to fix some small issues with the recent 0.29.0 release.
To see the release notes of the 0.29.0 release, please see https://github.com/libre-tube/LibreTube/releases/tag/v0.29.0.
Small new features
- feat(SponsorBlock): add Hook/Greetings category by @FineFindus in #7845
- feat: make audio quality preference support different languages by @Bnyro in #7874
- feat(timebar): re-implement the ability to cancel seeking by @dhanuarf in #7881
Bug fixes
- fix: shared url not being retrieved properly by @dhanuarf in #7830
- fix: sorting queue displays wrong current video by @Bnyro in #7873
- fix(TimeBar): listener not being properly removed causing them to accumulate by @dhanuarf in #7841
- fix: copying reply text to clipboard copies comment text by @Bnyro in #7885
- fix: popup menu (three dots) background in pure theme by @Bnyro in #7886
- fix: ugly race-condition when starting to load two videos at the same time by @Bnyro in #7887
- fix: featured content section on home page doesn't respect all feed filters by @Bnyro in #7895
Internal changes
- feat(Player): remove external player button by @FineFindus in #7837
- build: update NewPipeExtractor by @FineFindus in #7843
- feat: drop LBRY HLS support by @FineFindus in #7844
- feat(Preferences): remove unused hidden quality settings by @FineFindus in #7872
- chore: remove unused strings and icons by @FineFindus in #7875
- refactor: migrate search suggestions data to viewmodel / flows by @Bnyro in #7888
Full Changelog: v0.29.0...v0.29.1
v0.29.0
Note
After half a year of work, this is perhaps one of our biggest releases ever (more than 500 commits), including
- a full app redesign using Material 3 Expressive
- Edge to Edge support
- proper predictive back support
- and a lot more: see the detailed list below
Thanks to all contributors that made this release possible!
For those who want to financially support the development, it's now also possible to donate via crypto currencies
- Monero (XMR): 47jAx7jMFo5iqy9VgDH98qL1bSK4kr6Pxi7HKWcRwsxbVYJdjxJtyrwXeAUa5MutvcQUmWMBfvAKnPAutDHvWEymUgLm5v8
- Ethereum (ETH): 0x599909f54CdC18B997Be8F032341d1Fb14BF4F39
Enjoy the new app version!
Major new features
- feat: update ui components to material 3 expressive by @Bnyro in #7444
- feat: add support for viewing downloaded playlists by @Bnyro in #7810
- feat: support for trending categories (gaming, trailers, ...) by @Bnyro in #7592
- feat: use system default animations by @Pittvandewitt in #7053
- feat: display search suggestion / typo correction in results page by @Bnyro in #7780
- feat: support edge to edge by @Bnyro in #7507
- feat: new semitone mode in playback options sheet by @dhanuarf in #7579
- feat: filter members-only videos from channel tab by @FineFindus in #7677
- feat: keep queue history when opening new video by @Bnyro in #7676
Small new features / Quality of Life changes
- feat: add 'change region' button in TrendsFragment by @dhanuarf in #7816
- feat: add delays between subscription imports to avoid rate limits by @Bnyro in #7693
- feat: add toggle to include timestamp in playlists/subscriptions expo⦠by @Bnyro in #7691
- feat: allow drag-to-seek like YouTube by @osamasayed585 in #7757
- feat: automatically pause downloads when network changes to metered by @Bnyro in #7696
- feat: display title of downloading video by @FineFindus in #7578
- feat: show download playlist name by @Elolcol in #7768
- feat: dynamically scale landscape player based on screen size by @Bnyro in #7477
- feat: enable edge-to-edge in bottom sheets by @FineFindus in #7574
- feat: extract playlist name from filename at YouTube CSV imports by @Bnyro in #7481
- feat: disable video track when minimized while PiP is off by @dhanuarf in #7601
- feat: list all added custom instances in link share dialog by @Bnyro in #7652
- feat: load cached and downloaded images even if data saver mode disabled by @Bnyro in #7396
- feat: logarithmic brightness scaling by @Bnyro in #7536
- feat: request user confirmation before clearing playback queue by @Bnyro in #7752
- feat: separate 'clone' and 'create' when creating a new playist by @dhanuarf in #7597
- feat(subscriptions sheet): filter list by currently selected group by @dhanuarf in #7702
- feat: support for setting locale in Android settings for app (A13+) by @Bnyro in #7512
- feat: show snackbar when unsubscribing by @FineFindus in #7679
- feat: show toolbar when scrolling up in subscriptions feed for better accessibility by @dhanuarf in #7673
Layout changes
- feat: improve channel row layout by @Elolcol in #7769
- feat: improve comments row, replies and sheet styles and layout by @Elolcol in #7774
- feat: improve dialogs buttons style by @Elolcol in #7726
- feat: improve filter sort sheet ux by @Elolcol in #7775
- feat: improve description style and layout by @Elolcol in #7782
- feat: library text style and layout by @Elolcol in #7784
- feat: improve playlist layout by @Elolcol in #7766
- feat: improve playlist thumnail card by @Elolcol in #7724
- feat: replace image buttons with material 3 expressive icon buttons by @Bnyro in #7709
- feat: style of the sort button for download content by @Elolcol in #7733
- feat: subscription layout by @Elolcol in #7783
Bug Fixes
- fix: disable 'Add to playlist' button and spinner when there is no playlist available by @dhanuarf in #7603
- fix(player): move screenshot writing task to background thread by @dhanuarf in #7735
- fix(player ui): better control overlays visibility by @dhanuarf in #7636
- fix: appbar and bottom navigation paddings not properly applied by @dhanuarf in #7623
- fix: audio player autoplay doesn't work if autoplay countdown enabled by @Bnyro in #7480
- fix: auth api not immediately updated after selecting instance by @Bnyro in #7566
- fix: auto-fullscreen on shorts stopped working by @Bnyro in #7638
- fix: autoplay countdown appears when manually skipping to next video by @Bnyro in #7674
- fix: channel page scroll position reset when entering fullscreen by @Bnyro in #7811
- fix: collapse description when loading new video by @FineFindus in #7553
- fix(Comments): decrease intensity of creator badge by @FineFindus in #7809
- fix: comments sheet not dismissed when next video starts by @Bnyro in #7437
- fix: comment time not localized by @Bnyro in #7509
- fix: crash in trends when uploader url is unknown by @Bnyro in #7750
- fix: crash when deleting subsequent downloads by @Bnyro in #7567
- fix: crash when loading dearrow in search result by @dhanuarf in #7717
- fix: crash when opening app with no internet connection by @dhanuarf in #7718
- fix: crash when opening other video while in background player by @Bnyro in #7455
- fix: crash when setting video title with dearrow by @Bnyro in #7778
- Fix crash when streams size > 1MB by @Pittvandewitt in #7530
- fix: create playlist dialog shows URL instead of name text input field by default by @Bnyro in #7621
- fix: display
ContentItems withUNKNOWNavailability by @FineFindus in #7813 - fix: don't cancel subscriptions import if some channels can't be imported by @Bnyro in #7692
- fix: filter only
StreamInfoItems for availability by @FineFindus in #7684 - Fix: floating buttons by @Elolcol in #7725
- fix: hide channel avatar if there's none by @Bnyro in #7751
- fix(Home): hide Trending category by @FineFindus in #7675
- fix: home screen error not shown if homepage fails to load by @Bnyro in #7776
- fix: icon color of subscriptions toggle button by @Bnyro in #7777
- fix: image loading issues when scrolling too fast on a list by @dhanuarf in #7649
- Fix initial video player margin issue in PlayerFragment by @101paul in #7753
- fix: instance selection dialog not updated after modifying custom instances by @Bnyro in #7565
- fix: keyboard showing up in player screen by @dhanuarf in #7662
- fix: last selected playlist is not remembered in AddToPlaylistDialog by @Bnyro in #7527
- fix: library buttons overflowing in some languages by @Bnyro in #7747
- fix: localization of comment time by @Bnyro in #7748
- fix: location ca...
v0.28.1
Bug fixes
- fix: update NewPipeExtractor fork to latest version to fix playback issues by @Bnyro in #7381
- fix: support for adding downloads to playback queue by @Bnyro in #7348
- fix: don't block ui thread while filtering watched videos by @Bnyro in #7332
- fix: confirm unsubscribe preference only works if disabled instead of enabled by @Bnyro in #7345
- fix: channel avatar missing in subscriptions list when subbed from search by @Bnyro in #7360
- fix(Backup): use channel URL for subscription export by @FineFindus in #7368
- fix: SponsorBlock segments of previous video not cleared when starting next by @Bnyro in #7382
- fix: always use account subscriptions repository if logged in to Piped by @Bnyro in #7350
- fix: automatically log user out when enabling full local mode and no auth instance set by @Bnyro in #7351
- fix: add missing dearrow calls to playlist fragment and video player by @Bnyro in #7347
Chores and Refactors
- ci: fix codeql by @Bnyro in #7339
- chore: update app descriptions in fastlane metadata by @Bnyro in #7338
- refactor: cleanup and simplify SponsorBlock code by @Bnyro in #7375
- refactor: simplify theme and dark/light mode logic by @Bnyro in #7377
Full Changelog: v0.28.0...v0.28.1
0.28.0
Note
This release adds a new option called "Full Local Mode", which allows you to use LibreTube completely independent of Piped and do all API requests directly to YouTube's servers, similar to NewPipe. This wouldn't be possible without the help of the NewPipe Extractor library, credits to its maintainers.
Thereby I also want to welcome @FineFindus to the LibreTube organization and thank him for contributing and helping with the development a lot recently, without his help many bugs would probably not have been spotted early enough before the release :)
New features
- feat: add "full local mode" to use the app without Piped by @Bnyro in #7151 and #7225
- feat: add progress indicator for local feed extraction by @Bnyro in #7145
- feat: implement local extraction support for SponsorBlock and DeArrow by @FineFindus in #7195
- feat: locally store channel info when local streams extraction enabled by @Bnyro in #7190
- feat: rebuild custom instances dialogs for better UX by @Bnyro in #7166
- feat(StreamsExtractor): generate PoToken by @FineFindus in #7069
Smaller new features
- feat: make player default settings behavior more intuitive by @Bnyro in #7277
- feat: smoothen background player -> new video player and video player -> new background player transitions by @Bnyro in #7323
- feat: smoother, frictionless transition between audio and video mode by @Bnyro in #7261
- feat: Implement splash screen for older Android versions by @Isira-Seneviratne in #7154
- feat: increase corner-radius of watch-progressbar by @FineFindus in #7165
- feat(LocalFeedRepository): filter members only videos by @FineFindus in #7113
- feat: fallback to markdown instances list instead of hardcoded list by @Bnyro in #7290
- feat(feed): update local feed data when watching video by @FineFindus in #7141
Bug fixes
- fix: automatically resume next paused download item after finishing previous one by @Bnyro in #7259
- fix: background shuffle mode doesn't builder a proper queue by @Bnyro in #7270
- fix: bound time remaining to mark a video as watched by @clarfonthey in #7173
- fix: can't load music playlists using local extraction by @Bnyro in #7210
- fix: comment count doesn't reset to 0 if comments disabled by @Bnyro in #7254
- fix: current playlist doesn't close after deletion by @Bnyro in #7226
- fix: display unstarted downloads in videos tab instead of hiding them by @Bnyro in #7256
- fix: download fragment buttons overlap miniplayer by @Bnyro in #7269
- fix: download tab scrolls to bottom when entered by @Bnyro in #7255
- fix(Feed): extract shorts uploadDate from feedInfo by @FineFindus in #7142
- fix(Feed): only update
LastFeedWatchedTimewhen update time is newer by @FineFindus in #7320 - fix: infinitely looping channel tab items when using full local npe by @Bnyro in #7158
- fix: label of sleep timer input field overlapping by @Bnyro in #7212
- fix(Local): encode nextpage data as base64 by @FineFindus in #7244
- fix(Local): set channelOwner for Comments by @FineFindus in #7246
- fix: manual sponsorblock skip button not showing up by @Bnyro in #7177
- fix: max amount of concurrent download is ignored for playlists by @Bnyro in #7222
- fix: missing item metadata when playing download containing video AND audio by @Bnyro in #7288
- fix: missing playlist name in search results using local extraction by @Bnyro in #7211
- fix: only enable full local mode by default on new installations by @Bnyro in #7326
- fix(Player): hide sponsorblock skip button on video end by @FineFindus in #7185
- fix: playlist download service crashes for video titles with invalid filename characters by @Bnyro in #7180
- fix: properly open current video from media notification by @Bnyro in #7266
- fix: regressions from recent splash screen addition for Android < 11 by @Bnyro in #7224
- fix: remove unnecessary whitespaces at instances list fallback by @Bnyro in #7291
- fix: scroll state not reset to latest video after refreshing feed/subscriptions by @Bnyro in #7310
- fix: selected caption option not properly showing current selection by @Bnyro in #7176
- fix: skip already downloaded videos when downloading playlists by @Bnyro in #7287
- fix: sort channels alphabetically on client side by @Bnyro in #7191
- fix: subscription button state not updated after starting next video by @Bnyro in #7307
- fix: subscriptions feed scroll state reset after rotating phone by @Bnyro in #7268
- fix: subscriptions feed scroll state reset after switching tabs by @Bnyro in #7267
- fix: thumbnails of videos containing '#' can't be downloaded by @Bnyro in #7260
- fix(ui): standardize logo design across all app instances by @handokota in #7280
- fix: update checker doesn't detect new releases properly by @Bnyro in #7143
- fix: urls with timestamps don't work properly by @Bnyro in #7237
- fix: various bugs when deleting single or all downloads by @Bnyro in #7181
- fix: video sort order not preserved when starting video from sorted playlist by @Bnyro in #7286
- fix(WatchHistory): always show filter bar by @FineFindus in #7258
- fix: watch position saved on video end even if disabled by @Bnyro in #7242
- fix: wrong initial state of hide watched videos from feed filter by @Bnyro in #7175
- fix(Welcome): center mode group by @FineFindus in #7292
Refactor
- refactor: enable full local mode by default by @Bnyro in #7325
- refactor: merge OfflinePlayerService with VideoOfflinePlayerService by @Bnyro in #7262
- refactor: move watch history logic to view model by @Bnyro in #7169
- refactor: remove channel info api calls when subscribing to channels locally by @Bnyro in #7215
- refactor: re-use app icon header in about, welcome and help activity by @Bnyro in #7289
- refactor: split video and trending layout into different adapters by @Bnyro in #7308
- refactor: use paging adapter for channel content items by @Bnyro in #7157
- perf(LocalFeedRepository): speed up local feed extraction by @FineFindus in #7214
Chore
- chore: remove alternative videos layout option by @Bnyro in #7276
- chore: remove app/release folder from git by @Bnyro in #7138
- chore: remove unnecessary authApi uses for playlist nextpages by @Bnyro in #7149
- chore: small code cleanups related to playing queue by @Bnyro in #7278
- chore: update language name in settings for korean by @bermount in #7236
- chore: update privacy policy due to recent addition of full local data extraction by @Figim in #7206
- chore: update readme to reflect recent addition of full local extraction by @Bnyro in #7213
- chore: update roadmap due to implemented local NewPipe extractor feature by @Figim in #7161
- build: use NewPipeExtractor fork by @FineFindus in https://github.com/libre-tube...