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 https://github.com/libre-tube/LibreTube/pull/7151 and https://github.com/libre-tube/LibreTube/pull/7225
- feat: add progress indicator for local feed extraction by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7145
- feat: implement local extraction support for SponsorBlock and DeArrow by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7195
- feat: locally store channel info when local streams extraction enabled by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7190
- feat: rebuild custom instances dialogs for better UX by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7166
- feat(StreamsExtractor): generate PoToken by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7069
Smaller new features
- feat: make player default settings behavior more intuitive by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7277
- feat: smoothen background player -> new video player and video player -> new background player transitions by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7323
- feat: smoother, frictionless transition between audio and video mode by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7261
- feat: Implement splash screen for older Android versions by @Isira-Seneviratne in https://github.com/libre-tube/LibreTube/pull/7154
- feat: increase corner-radius of watch-progressbar by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7165
- feat(LocalFeedRepository): filter members only videos by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7113
- feat: fallback to markdown instances list instead of hardcoded list by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7290
- feat(feed): update local feed data when watching video by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7141
Bug fixes
- fix: automatically resume next paused download item after finishing previous one by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7259
- fix: background shuffle mode doesn't builder a proper queue by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7270
- fix: bound time remaining to mark a video as watched by @clarfonthey in https://github.com/libre-tube/LibreTube/pull/7173
- fix: can't load music playlists using local extraction by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7210
- fix: comment count doesn't reset to 0 if comments disabled by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7254
- fix: current playlist doesn't close after deletion by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7226
- fix: display unstarted downloads in videos tab instead of hiding them by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7256
- fix: download fragment buttons overlap miniplayer by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7269
- fix: download tab scrolls to bottom when entered by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7255
- fix(Feed): extract shorts uploadDate from feedInfo by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7142
- fix(Feed): only update
LastFeedWatchedTimewhen update time is newer by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7320 - fix: infinitely looping channel tab items when using full local npe by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7158
- fix: label of sleep timer input field overlapping by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7212
- fix(Local): encode nextpage data as base64 by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7244
- fix(Local): set channelOwner for Comments by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7246
- fix: manual sponsorblock skip button not showing up by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7177
- fix: max amount of concurrent download is ignored for playlists by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7222
- fix: missing item metadata when playing download containing video AND audio by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7288
- fix: missing playlist name in search results using local extraction by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7211
- fix: only enable full local mode by default on new installations by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7326
- fix(Player): hide sponsorblock skip button on video end by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7185
- fix: playlist download service crashes for video titles with invalid filename characters by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7180
Refactor
- refactor: enable full local mode by default by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7325
- refactor: merge OfflinePlayerService with VideoOfflinePlayerService by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7262
- refactor: move watch history logic to view model by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7169
- refactor: remove channel info api calls when subscribing to channels locally by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7215
- refactor: re-use app icon header in about, welcome and help activity by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7289
- refactor: split video and trending layout into different adapters by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7308
- refactor: use paging adapter for channel content items by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7157
- perf(LocalFeedRepository): speed up local feed extraction by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7214
Chore
- chore: remove alternative videos layout option by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7276
- chore: remove app/release folder from git by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7138
- chore: remove unnecessary authApi uses for playlist nextpages by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7149
- chore: small code cleanups related to playing queue by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7278
- chore: update language name in settings for korean by @bermount in https://github.com/libre-tube/LibreTube/pull/7236
- chore: update privacy policy due to recent addition of full local data extraction by @Figim in https://github.com/libre-tube/LibreTube/pull/7206
- chore: update readme to reflect recent addition of full local extraction by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7213
- chore: update roadmap due to implemented local NewPipe extractor feature by @Figim in https://github.com/libre-tube/LibreTube/pull/7161
- build: use NewPipeExtractor fork by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7293
New Contributors
- @Figim made their first contribution in https://github.com/libre-tube/LibreTube/pull/7161
- @clarfonthey made their first contribution in https://github.com/libre-tube/LibreTube/pull/7173
- @handokota made their first contribution in https://github.com/libre-tube/LibreTube/pull/7280
Full Changelog: https://github.com/libre-tube/LibreTube/compare/v0.27.1...v0.28.0