| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| app-arm64-v8a-release.apk | 2025-10-26 | 9.2 MB | |
| app-armeabi-v7a-release.apk | 2025-10-26 | 9.2 MB | |
| app-universal-release.apk | 2025-10-26 | 9.2 MB | |
| app-x86_64-release.apk | 2025-10-26 | 9.2 MB | |
| app-x86-release.apk | 2025-10-26 | 9.2 MB | |
| README.md | 2025-10-26 | 18.2 kB | |
| v0.29.0 source code.tar.gz | 2025-10-26 | 7.2 MB | |
| v0.29.0 source code.zip | 2025-10-26 | 7.8 MB | |
| Totals: 8 Items | 61.2 MB | 9 | |
[!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 https://github.com/libre-tube/LibreTube/pull/7444
- feat: add support for viewing downloaded playlists by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7810
- feat: support for trending categories (gaming, trailers, ...) by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7592
- feat: use system default animations by @Pittvandewitt in https://github.com/libre-tube/LibreTube/pull/7053
- feat: display search suggestion / typo correction in results page by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7780
- feat: support edge to edge by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7507
- feat: new semitone mode in playback options sheet by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7579
- feat: filter members-only videos from channel tab by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7677
- feat: keep queue history when opening new video by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7676
Small new features / Quality of Life changes
- feat: add 'change region' button in TrendsFragment by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7816
- feat: add delays between subscription imports to avoid rate limits by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7693
- feat: add toggle to include timestamp in playlists/subscriptions expo… by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7691
- feat: allow drag-to-seek like YouTube by @osamasayed585 in https://github.com/libre-tube/LibreTube/pull/7757
- feat: automatically pause downloads when network changes to metered by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7696
- feat: display title of downloading video by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7578
- feat: show download playlist name by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7768
- feat: dynamically scale landscape player based on screen size by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7477
- feat: enable edge-to-edge in bottom sheets by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7574
- feat: extract playlist name from filename at YouTube CSV imports by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7481
- feat: disable video track when minimized while PiP is off by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7601
- feat: list all added custom instances in link share dialog by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7652
- feat: load cached and downloaded images even if data saver mode disabled by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7396
- feat: logarithmic brightness scaling by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7536
- feat: request user confirmation before clearing playback queue by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7752
- feat: separate 'clone' and 'create' when creating a new playist by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7597
- feat(subscriptions sheet): filter list by currently selected group by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7702
- feat: support for setting locale in Android settings for app (A13+) by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7512
- feat: show snackbar when unsubscribing by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7679
- feat: show toolbar when scrolling up in subscriptions feed for better accessibility by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7673
Layout changes
- feat: improve channel row layout by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7769
- feat: improve comments row, replies and sheet styles and layout by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7774
- feat: improve dialogs buttons style by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7726
- feat: improve filter sort sheet ux by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7775
- feat: improve description style and layout by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7782
- feat: library text style and layout by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7784
- feat: improve playlist layout by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7766
- feat: improve playlist thumnail card by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7724
- feat: replace image buttons with material 3 expressive icon buttons by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7709
- feat: style of the sort button for download content by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7733
- feat: subscription layout by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7783
Bug Fixes
- fix: disable 'Add to playlist' button and spinner when there is no playlist available by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7603
- fix(player): move screenshot writing task to background thread by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7735
- fix(player ui): better control overlays visibility by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7636
- fix: appbar and bottom navigation paddings not properly applied by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7623
- fix: audio player autoplay doesn't work if autoplay countdown enabled by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7480
- fix: auth api not immediately updated after selecting instance by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7566
- fix: auto-fullscreen on shorts stopped working by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7638
- fix: autoplay countdown appears when manually skipping to next video by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7674
- fix: channel page scroll position reset when entering fullscreen by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7811
- fix: collapse description when loading new video by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7553
- fix(Comments): decrease intensity of creator badge by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7809
- fix: comments sheet not dismissed when next video starts by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7437
- fix: comment time not localized by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7509
- fix: crash in trends when uploader url is unknown by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7750
- fix: crash when deleting subsequent downloads by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7567
- fix: crash when loading dearrow in search result by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7717
- fix: crash when opening app with no internet connection by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7718
- fix: crash when opening other video while in background player by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7455
- fix: crash when setting video title with dearrow by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7778
- Fix crash when streams size > 1MB by @Pittvandewitt in https://github.com/libre-tube/LibreTube/pull/7530
- fix: create playlist dialog shows URL instead of name text input field by default by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7621
- fix: display
ContentItems withUNKNOWNavailability by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7813 - fix: don't cancel subscriptions import if some channels can't be imported by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7692
- fix: filter only
StreamInfoItems for availability by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7684 - Fix: floating buttons by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7725
- fix: hide channel avatar if there's none by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7751
- fix(Home): hide Trending category by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7675
- fix: home screen error not shown if homepage fails to load by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7776
- fix: icon color of subscriptions toggle button by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7777
- fix: image loading issues when scrolling too fast on a list by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7649
- Fix initial video player margin issue in PlayerFragment by @101paul in https://github.com/libre-tube/LibreTube/pull/7753
- fix: instance selection dialog not updated after modifying custom instances by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7565
- fix: keyboard showing up in player screen by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7662
- fix: last selected playlist is not remembered in AddToPlaylistDialog by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7527
- fix: library buttons overflowing in some languages by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7747
- fix: localization of comment time by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7748
- fix: location category is empty on A13+ by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7688
- fix: offline player video title not updating when playing next video by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7439
- fix: PiP button not working as intended by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7622
- fix(player): clear current stream when closing player by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7429
- fix: player not paused when switching to other apps while pauseOnQuit is on by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7615
- fix(player ui): seek and skip buttons appear at opposite side in rtl mode by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7635
- fix: playlist/subscription imports don't complete for larger data by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7440
- fix: prevent accidential navigation to the uploader instead of video by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7817
- fix: queue missing when playing playlist video in background by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7456
- fix: remove HLS message by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7564
- fix: repeat mode doesn't work in offline player by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7438
- fix: reset to previous pitch value if input is empty by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7606
- fix: screen turns off while player active after switching to video mode by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7479
- fix: seek buttons always visible if double tap to seek disabled by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7573
- fix: seek buttons still visible when player locked by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7639
- fix: select main video language in download dialog by default by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7510
- fix: Show a blank video when transitioning to a new video, just to inform the user that the new video is being loaded by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7526
- fix: 'show in seekbar' sponsorblock option causes app to crash by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7388
- fix: shuffling downloads leaves queue empty if insertRelatedStreams disabled by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7593
- fix: SponsorBlock segments skipped even if temporarily allowed by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7395
- fix(sponsorblock): segment time not properly parsed if exceeds 1 hour by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7637
- fix(SubscriptionsFragment): reset scroll position when switching Chan… by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7808
- fix(trending): 'Trailers' and 'Podcasts' content got swapped by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7758
- fix: trends fragment contains only first 10 items by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7695
- fix(UI/Comments): only show creator reply indicator for the initial comment by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7613
- fix: videos added to watch history even though history is disabled by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7760
- fix: enable legacy TTML subtitle decoding support in Media3 by @Bilal-Ahmad123 in https://github.com/libre-tube/LibreTube/pull/7492
- fix: improve landscape player UI by @bermount in https://github.com/libre-tube/LibreTube/pull/7475
- fix: fetch dearrow via background thread in VideoCardsAdapter by @dhanuarf in https://github.com/libre-tube/LibreTube/pull/7795
Refactor
- refactor: provide service type via startForeground compat method by @Pittvandewitt in https://github.com/libre-tube/LibreTube/pull/7739
- refactor: refactor comments logic by @Pittvandewitt in https://github.com/libre-tube/LibreTube/pull/7076
- refactor: improve sizes in home layout by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7767
- refactor: load deArrow when video gets visible for better loading times by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7694
- refactor: make feed notifications more robust against subscription changes by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7376
- refactor: merge general and advanced settings categories by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7687
- refactor: move player related sub-views to its own binding by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7550
- refactor(Preferences): use
MIGRATIONlength as version by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7442 - refactor: re-use cached home page trends in trends fragment for faster load times by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7600
- refactor: slightly simplify usages of onScrollStateChanged by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7812
- refactor: some small padding changes by @Elolcol in https://github.com/libre-tube/LibreTube/pull/7785
- refactor: unify error handling to be more robust by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7618
- refactor: use enum for top-level destinations by @osamasayed585 in https://github.com/libre-tube/LibreTube/pull/7762
- refactor: use
videoIdfor storing downloaded files by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7576 - revert: downgrade media3 by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7595
- refactor(Preferences/SponsorBlock): drop
VISIBLEoption by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7434 - refactor: remove download title by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7575
- refactor: remove legacy subscription view by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7406
Chores
- build: keep NewPipeExtractor auto-generated proto classes by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7571
- build: update NewPipeExtractor by @FineFindus in https://github.com/libre-tube/LibreTube/pull/7458
- chore: fix images in readme by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7738
- chore: remove accidentially commited file by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7518
- Chore: Remove context parameter from InstanceRepository by @SEKI-YUTA in https://github.com/libre-tube/LibreTube/pull/7466
- chore: remove hls over dash preference by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7508
- Chore: Remove unused imports whole application by @SEKI-YUTA in https://github.com/libre-tube/LibreTube/pull/7468
- chore: revert Improve landscape UI by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7476
- chore: update media3 to v1.7.1 by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7617
- chore: update newpipeextractor to latest version by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7779
- chore: update npe fork by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7568
- chore: use ListAdapter#currentList instead of manual items impl by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7452
- chore: use sentence case in settings and remove ampersand by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7435
- ci: replace deprecated wrapper-validation action by @Bnyro in https://github.com/libre-tube/LibreTube/pull/7511
New Contributors
- @SEKI-YUTA made their first contribution in https://github.com/libre-tube/LibreTube/pull/7466
- @Bilal-Ahmad123 made their first contribution in https://github.com/libre-tube/LibreTube/pull/7492
- @dhanuarf made their first contribution in https://github.com/libre-tube/LibreTube/pull/7526
- @Elolcol made their first contribution in https://github.com/libre-tube/LibreTube/pull/7726
- @osamasayed585 made their first contribution in https://github.com/libre-tube/LibreTube/pull/7762
- @101paul made their first contribution in https://github.com/libre-tube/LibreTube/pull/7753
Full Changelog: https://github.com/libre-tube/LibreTube/compare/v0.28.1...v29.0