Releases: libre-tube/LibreTube
Releases Β· libre-tube/LibreTube
0.25.2
New features
- feat: download support for local streams extractor by @Bnyro in #6416
- feat: support download of private playlists via external downloader by @Bnyro in #6414
Bug fixes
- fix: related streams published 54 years ago with local extractor by @Bnyro in #6415
- fix: retain exoplayer on orientation change by @Pittvandewitt in #6428
- fix: videos in watch history uploaded in 1970 by @Bnyro in #6439
- fix: duplicated slash in custom instance's share url by @Bnyro in #6438
- fix: issues with channel name caused by textIsSelectable by @Bnyro in #6449
- fix: laggy behavior when using back gesture to minimize player by @Bnyro in #6448
Full Changelog: v0.25.1...v0.25.2
0.25.1
Most importantly, this release contains a workaround for the recent AntiBot protection changes by YouTube.
FAQ about the current situation
- Help! I can't play videos? If you rely on public Piped instances, go to
Settings
->Instance
and enableDisable Piped proxy
as well asLocal streams extraction
. Disclaimer: The bot-blocked API call will now be done directly from your IP address, which is obviously less privacy-friendly. Using a VPN is recommended, but might not always work since YouTube blocks IPs of VPN providers as well. - Help! I can't add videos to a playlist? If you're using the app with a Piped account, it's sometimes not possible to add videos to a playlist due to Piped. If you don't use a Piped account, playlists should work as expected after this release.
- If you're self-hosting a private Piped instance, everything is most likely still working normally anyways.
- Why did it take two weeks to publish a fix? Because open source developers also have a private life and do all that work in their free time without any monetary compensation.
- If you consider this project useful, please consider making a small donation to show your appreciation via https://liberapay.com/Bnyro or https://github.com/sponsors/Bnyro. Thank you!
- Can we expect more such breaking changes in the future? Only YouTube knows.
New features
- feat: local streams extraction by @Bnyro in #6381
- feat: quick share action to add video to playlist by @Bnyro in #6219
- feat: share dialog redesign (including copy link feature) by @Bnyro in #6236
- feat: show total playlist duration by @Bnyro in #6240
- feat: button to screenshot/capture current frame by @Bnyro in #6304
- feat: improve about activity and device info dialog by @Bnyro in #6269
- feat: button to play recent videos from a channel by @Bnyro in #6218
- feat: button to swap sponsorblock segment start and end time by @Bnyro in #6237
- feat: make video, playlist, channel title/description selectable by @Bnyro in #6272
- feat: support for directly playing urls inserted in search bar by @Bnyro in #6300
- feat: use watch position as timestamp when sharing by @Bnyro in #6382
- feat: watch history pagination by @Bnyro in #6339
- feat: added sorting method in downloads by @amandeepsinghjamwal in #6194
- feat: allow timestamp inputs in dearrow submit dialog by @Bnyro in #6238
Bug fixes
- fix: bugs in time parsing logic causing false (milli) second count by @Bnyro in #6239
- fix: crash when search view destroyed before suggestions fetched by @Bnyro in #6335
- fix: download fails due to filename length by @Bnyro in #6337
- fix: improve exoplayer scoping by @Pittvandewitt in #6307
- fix: same videos in channel fragment repeating 3/4 times by @Bnyro in #6273
- fix: scroll state of trends not preserved by @Bnyro in #6271
- fix: visibility of UI elements in Downloads by @nik-conder in #6314
- fix: welcome activity text in light mode by @Bnyro in #6268
Refactor
- refactor: Simplify serializable extensions by @Isira-Seneviratne in #6343
- refactor: add donation button to action menu by @Bnyro in #6386
- refactor: improve bookmarks performance and reliability by @Bnyro in #6385
- refactor: reduce amount of api calls for adding video to playlist by @Bnyro in #6384
- refactor: simplify ProxyHelper.kt by @Bnyro in #6383
Chore
- chore: optimize imports by @Bnyro in #6274
- chore: remove no longer needed safe dot calls by @Bnyro in #6220
- chore: shorten Picture in Picture string in player menu by @Bnyro in #6301
New Contributors
- @amandeepsinghjamwal made their first contribution in #6194
Full Changelog: v0.24.0...v0.25.1
0.25.0
Most importantly, this release contains a workaround for the recent AntiBot protection changes by YouTube.
FAQ about the current situation
- Help! I can't play videos? If you rely on public Piped instances, go to
Settings
->Instance
and enableDisable Piped proxy
as well asLocal streams extraction
. Disclaimer: The bot-blocked API call will now be done directly from your IP address, which is obviously less privacy-friendly. Using a VPN is recommended, but might not always work since YouTube blocks IPs of VPN providers as well. - Help! I can't add videos to a playlist? If you're using the app with a Piped account, it's sometimes not possible to add videos to a playlist due to Piped. If you don't use a Piped account, playlists should work as expected after this release.
- If you're self-hosting a private Piped instance, everything is most likely still working normally anyways.
- Why did it take two weeks to publish a fix? Because open source developers also have a private life and do all that work in their free time without any monetary compensation.
- If you consider this project useful, please consider making a small donation to show your appreciation via https://liberapay.com/Bnyro or https://github.com/sponsors/Bnyro. Thank you!
- Can we expect more such breaking changes in the future? Only YouTube knows.
New features
- feat: local streams extraction by @Bnyro in #6381
- feat: quick share action to add video to playlist by @Bnyro in #6219
- feat: share dialog redesign (including copy link feature) by @Bnyro in #6236
- feat: show total playlist duration by @Bnyro in #6240
- feat: button to screenshot/capture current frame by @Bnyro in #6304
- feat: improve about activity and device info dialog by @Bnyro in #6269
- feat: button to play recent videos from a channel by @Bnyro in #6218
- feat: button to swap sponsorblock segment start and end time by @Bnyro in #6237
- feat: make video, playlist, channel title/description selectable by @Bnyro in #6272
- feat: support for directly playing urls inserted in search bar by @Bnyro in #6300
- feat: use watch position as timestamp when sharing by @Bnyro in #6382
- feat: watch history pagination by @Bnyro in #6339
- feat: added sorting method in downloads by @amandeepsinghjamwal in #6194
- feat: allow timestamp inputs in dearrow submit dialog by @Bnyro in #6238
Bug fixes
- fix: bugs in time parsing logic causing false (milli) second count by @Bnyro in #6239
- fix: crash when search view destroyed before suggestions fetched by @Bnyro in #6335
- fix: download fails due to filename length by @Bnyro in #6337
- fix: improve exoplayer scoping by @Pittvandewitt in #6307
- fix: same videos in channel fragment repeating 3/4 times by @Bnyro in #6273
- fix: scroll state of trends not preserved by @Bnyro in #6271
- fix: visibility of UI elements in Downloads by @nik-conder in #6314
- fix: welcome activity text in light mode by @Bnyro in #6268
Refactor
- refactor: Simplify serializable extensions by @Isira-Seneviratne in #6343
- refactor: add donation button to action menu by @Bnyro in #6386
- refactor: improve bookmarks performance and reliability by @Bnyro in #6385
- refactor: reduce amount of api calls for adding video to playlist by @Bnyro in #6384
- refactor: simplify ProxyHelper.kt by @Bnyro in #6383
Chore
- chore: optimize imports by @Bnyro in #6274
- chore: remove no longer needed safe dot calls by @Bnyro in #6220
- chore: shorten Picture in Picture string in player menu by @Bnyro in #6301
New Contributors
- @amandeepsinghjamwal made their first contribution in #6194
Full Changelog: v0.24.0...v0.25.0
0.24.0
New Features
- feat: changed chips in channels to swipable tabs by @amandeepsinghjamwal in #6026
- feat: download popup that can be displayed over other apps by @Bnyro in #6034
- feat: support for external download apps by @Bnyro in #6084
- feat: remember selected channel group across app restarts by @Bnyro in #6132
- feat: support for duration inputs in submit segment dialog by @Bnyro in #6172
UI/UX improvements
- style: make audio player align with status bar color by @Bnyro in #6170
- style: minor channel page header redesign by @Bnyro in #6123
Bug Fixes
- fix: button to play previous video doesnt work when repeat enabled by @Bnyro in #6035
- fix: can't add channel to group if more than ~10 groups by @Bnyro in #6175
- fix: chapters dont work in audio mode by @Bnyro in #6055
- fix: Clear notification when app is killed from recent tasks. by @nur-shuvo in #6063
- fix: crash when destroying activity after media session by @Bnyro in #6190
- fix: crash when different threads access playing queue by @Bnyro in #6083
- fix: crash when entering audio mode via pip by @Bnyro in #6171
- fix: crash when playing video without upload date by @Bnyro in #6168
- fix: crash when refreshing channel page by @Bnyro in #6120
- fix: default value in behavior when minimized preference by @Bnyro in #6118
- fix: dismiss fullscreen dialog when activity gets destroyed by @Bnyro in #6212
- fix: download activity not dismissed when dialog closed by @Bnyro in #6054
- fix: explicitely set status bar color after app start by @Bnyro in #6080
- fix: hide add to group button when not subscribed by @Bnyro in #6166
- fix: input method for submitting sponsorblock segments by @Bnyro in #6215
- fix: misalignment of channel fragment header by @Bnyro in #6135
- fix: navigation bar color when pure theme disabled by @Bnyro in #6029
- fix: navigation bar missing nav items after closing player by @Bnyro in #6122
- fix: notification bell shown even though notifications disabled by @Bnyro in #6133
- fix: remembered channel group resets when switching fragment by @Bnyro in #6167
- fix: repeat current doesn't work if autoplay disabled by @Bnyro in #6032
- fix: respect sort order when playing private playlist by @Bnyro in #6199
- fix: search results scroll state not preserved when rotating by @Bnyro in #6033
- fix(SubscriptionsFragment): use null safe call by @FineFindus in #6142
- fix: use correct fragment manager for result callbacks by @Bnyro in #6067
- fix: use string ressource for channel video tab by @FineFindus in #6065
- fix: video codec preference doesn't work when HLS enabled by @Bnyro in #6200
Code refactor
- refactor: improve the structure of PreferenceKeys.kt by @Bnyro in #6131
- refactor: Use parcelable extensions with channel tabs by @Isira-Seneviratne in #6138
Chore
- chore: dont share with time code by default by @Bnyro in #6036
- ci: drop ktlint by @Bnyro in #6136
- ci: fix builds by @Bnyro in #6176
New Contributors
- @nur-shuvo made their first contribution in #6063
Full Changelog: v0.23.2...v0.24.0
0.23.2
Bug fixes
- fix: comments reloading on sheet reopen and scroll position not restored by @Bnyro in #5962
- fix: status bar doesn't follow app theme by @Bnyro in #5978
- fix: dearrow for playing video and watch history by @Bnyro in #5983
- fix: crash when trying to dearrow feed items by @Bnyro in #5989
- fix: auto fullscreen causes player layout issues by @Bnyro in #5992
- fix: crash when ending player service / fragment by @Bnyro in #5998
- fix: enter PiP mode when clicking link in description by @Bnyro in #5999
- fix: navigation bar missing when closing player in fullscreen by @Bnyro in #6000
- fix: welcome activity does not permit auto rotation by @Bnyro in #5974
- fix: http logging in debug builds not working due to cronet by @Bnyro in #5979
- fix: don't crash app when cronet thread fails by @Bnyro in #5981
- fix: only catch exceptions on okhttp dispatcher threads by @Bnyro in #5982
New features
- feat: implement collapsable toolbar in welcome activity by @Bnyro in #5973
- feat: add pagination to dearrow in feed by @Bnyro in #5984
Code changes
Full Changelog: v0.23.0...v0.23.2
0.23.1
Bug fixes
- fix: comments reloading on sheet reopen and scroll position not restored by @Bnyro in #5962
- fix: status bar doesn't follow app theme by @Bnyro in #5978
- fix: dearrow for playing video and watch history by @Bnyro in #5983
- fix: crash when trying to dearrow feed items by @Bnyro in #5989
- fix: auto fullscreen causes player layout issues by @Bnyro in #5992
- fix: crash when ending player service / fragment by @Bnyro in #5998
- fix: enter PiP mode when clicking link in description by @Bnyro in #5999
- fix: navigation bar missing when closing player in fullscreen by @Bnyro in #6000
- fix: welcome activity does not permit auto rotation by @Bnyro in #5974
- fix: http logging in debug builds not working due to cronet by @Bnyro in #5979
- fix: don't crash app when cronet thread fails by @Bnyro in #5981
- fix: only catch exceptions on okhttp dispatcher threads by @Bnyro in #5982
New features
- feat: implement collapsable toolbar in welcome activity by @Bnyro in #5973
- feat: add pagination to dearrow in feed by @Bnyro in #5984
Code changes
Full Changelog: v0.23.0...v0.23.1
0.23.0
New features
- feat: support for contributing to DeArrow by @Bnyro in #5889
- feat: support for importing temporary playlists from YouTube by @Bnyro in #5870
- feat: chapters support for downloaded videos by @Bnyro in #5871
- feat: now playing notification for downloaded videos by @Bnyro in #5924
- feat: pip controls for offline player by @Bnyro in #5923
- feat: preference to force maximum audio quality by @Bnyro in #5934
- feat: respect swipe controls option in audio mode by @Bnyro in #5850
- feat: automatically scroll to current chapter by @Bnyro in #5933
Bug fixes
- fix: activity is sometimes unnecessarily restarted by @Bnyro in #5949
- fix: change DeArrow title submission default by @ajayyy in #5909
- fix: crash in DownloadService if trying to read dead download item by @Bnyro in #5903
- fix: crash when importing subscriptions list with invalid avatars by @bodaciousbiscuits in #5931
- fix: default quality setting should respect video aspect ratio by @manish99verma in #5797
- fix: don't show autoplay countdown controls in PiP mode by @Bnyro in #5905
- fix: DownloadPlaylistDialog overflowing on small devices by @Bnyro in #5891
- fix: missing horizontal player spacing with display cutout by @Bnyro in #5948
- fix: missing spacing in comment info row by @Bnyro in #5927
- fix: options menu background color in pure black theme by @Bnyro in #5887
- fix: remove setUsePlatformDiagnostics being called twice by @FireMasterK in #5937
- fix: remove unnecessary margin at search results recycler view by @Bnyro in #5853
- fix: Respect USE_HLS_OVER_DASH preference when playing in audio mode by @0x24D in #5862
- fix: scroll state not preserved after rotation change at some places by @Bnyro in #5950
- fix: submit segment dialog closes when there are no segments yet by @Bnyro in #5902
- fix: thumbnail time defaults in contribute to DeArrow dialog by @Bnyro in #5907
- fix: video links dont open on android 10 and below by @Bnyro in #5951
- fix: wrong navigation bar color by @Bnyro in #5952
- fix: cronet not being used because of httpClient by @FireMasterK in #5936
- fix: properly apply pure black/white themes to navigation bar by @Bnyro in #5881
Refactor
- refactor: combine submitting and voting SponsorBlock segments into one dialog by @Bnyro in #5888
- refactor: enable http logging in debug builds by @Bnyro in #5849
- refactor: simplify notification/player actions logic by @Bnyro in #5925
Chore
- chore: fix typo by @FineFindus in #5834
- chore: enable hls for streaming by default by @Bnyro in #5953
- chore: remove example unit/instrumentation tests by @cortinico in #5860
- chore: Update Screenshots and Added Screenshot.md by @ARBoyGo in #5910
New Contributors
- @cortinico made their first contribution in #5860
- @ajayyy made their first contribution in #5909
- @bodaciousbiscuits made their first contribution in #5931
Full Changelog: v0.22.2...v0.23.0
0.22.2
What's Changed
- fix: unable to view subscribed channels by @Bnyro in #5823
- fix: channel groups duplicated after updating name by @Bnyro in #5825
- fix: autofullscreen stops working after orientation change by @Bnyro in #5827
- fix: various comment/replies related issues by @Bnyro in #5830
- feat: improve video end screen by @FineFindus in #5817
- feat: show confirm modal before deleting channel group by @Bnyro in #5826
- feat: dismiss keyboard at back press on search page by @Bnyro in #5828
- chore: use hls if piped proxy disabled, remove piped proxy fallback option by @Bnyro in #5829
Full Changelog: v0.22.1...v0.22.2
0.22.1
Bug fixes
- fix: back gesture doesn't work on some devices by @Bnyro in #5777
- fix: autoplay stops after turning screen off by @Bnyro in #5776
- fix: auto rotation stops working after having entered the fullscreen player by @Bnyro in #5771
- fix: comment expands when tapping in timestamp by @Bnyro in #5773
- fix: crashes during pagination on server side cancelled requests by @Bnyro in #5781
- fix: hide thumbnail space, buttons and filters when playlist empty by @nik-conder in #5759
- fix: icon color of toggle comments button by @Bnyro in #5761
- fix: importing backup doesn't immediately cancel/update notification worker by @Bnyro in #5782
- fix: respect feed filter on home tab by @Bnyro in #5772
- fix: search is showing inappropriate results by @Isira-Seneviratne in #5779
Full Changelog: v0.22.0...v0.22.1
0.22.0
v0.22.0 - Performance π, User Experience β¬οΈ
This release contains lots of performance improvements as well as many other quality of life changes and often-requested new featured.
Please consider making a small donation via
to support LibreTube's development. Thank you!
New major features
- feat: support for downloading whole playlist at once by @Bnyro in #5525
- feat(player): support for keyboard navigation by @Bnyro in #5641
- feat: support for exporting and importing channel groups by @Bnyro in #5482
- feat: support for filtering by group in subscription channels by @Bnyro in #5658
- feat: Support multiple filter selection by @RafaelsRamos in #5478
- feat(ui): option for automatic update checks by @IndusAryan in #5668
- feat: option to shuffle downloads in background by @Bnyro in #5505
- feat: add 'hide watched videos' to feed filter options by @Bnyro in #5494
Small new features
- feat(ui): save scroll position in trends by @IndusAryan in #5515
- feat: Display tooltips on Android versions below 8.0 by @Isira-Seneviratne in #5719
- feat: watch positions support for downloaded media by @Bnyro in #5669
- feat: stop loading after long unsuccessful buffering by @manish99verma in #5587
- feat: support for albums channel tab, drop discontinued channels tab by @Bnyro in #5735
- feat: button to delete all downloads by @thevedantchourey in #5531
- feat: display currently selected instance as grayed out if not available by @Bnyro in #5624
- feat: don't seek after scrubbing when stopping gesture above timebar by @Bnyro in #5700
- feat: make LibreTube app backups import-compatible with Piped by @Bnyro in #5667
- feat: Improve new user experience + adjust home load by @RafaelsRamos in #5491
- feat: show duration in downloads and improve downloads UI by @Bnyro in #5464
- feat: show repeat button in audio player when playback finished by @Bnyro in #5463
- feat: add option to also clear watch positions when clearing history in the watch history screen by @arkibax in #5565
- feat: (re)add player actions for external player and pip by @Bnyro in #5619
Bug fixes
- fix: android back button doesn't work due to dependency upgrade by @Bnyro in #5653
- fix: bad performance when scrolling in subscriptions feed by @Bnyro in #5655
- fix: clearing watch positions doesn't works sometimes by @manish99verma in #5557
- fix: clear views on VideoAdapter's onBindViewHolder by @RafaelsRamos in #5497
- fix: correctly display colors in system panel by @nik-conder in #5575
- fix: crash after resuming from locked screen with comments/chapters opened by @Bnyro in #5730
- fix: crash when importing a playlist whose id already exists by @Bnyro in #5585
- fix: crash when subscription avatar is null on export by @Bnyro in #5733
- fix: don't show history when closing video on channel page by @abGit9 in #5486
- fix: don't toggle system bars in player fragment when locking player by @Bnyro in #5559
- fix: Erratic navbar and miniplayer behaviour. by @RafaelsRamos in #5460
- fix: false message about no comments and scroll to top button by @Bnyro in #5751
- fix: going back from a video shows search history instead of playlist by @Bnyro in #5724
- fix: homepage not loading when trends disabled by @Bnyro in #5602
- fix: improve solo queue repetition performance and make independent of autoplay by @Bnyro in #5461
- fix: items cut off in watch history by @Bnyro in #5749
- fix: miniplayer minimized when opening video via link by @Bnyro in #5698
- fix: mini player overlaps navigation bar by @KhubaibKhan4 in #5694
- fix: paused video autoplays when unlock screen after few minutes locked by @Bnyro in #5697
- fix: placeholders not properly shown at fast scrolling by @Bnyro in #5654
- fix: playback pauses after orientation change by @Bnyro in #5750
- fix: player seekbar can be hard to grab by @Bnyro in #5561
- fix: playing queue actions still visible after miniplayer closed by swipe by @Bnyro in #5560
- fix: poor subscriptions filter options menu performance by @Bnyro in #5725
- fix: properly vertically center align channel search results by @Bnyro in #5481
- fix: reduce concurrency of playlist import api calls by @Bnyro in #5620
- fix: Remove inappropriate runBlocking call by @Isira-Seneviratne in #5591
- fix: replay video from notification player by @manish99verma in #5542
- fix: ResettableLazyManager not being reset on changing instances. by @RafaelsRamos in #5480
- fix: resolve stuttering when scrolling to the bottom of channel/playlist videos list by @abGit9 in #5607
- fix: set music playback speed only once by @FineFindus in #5634
- fix: settings activity quickly switches to landscape mode before returning to portrait mode by @Bnyro in #5729
- fix: some livestreams are not filtered out in videos filter by @Bnyro in #5623
- fix: SponsorBlock UserID field only accepts numeric inputs by @Bnyro in #5613
- fix: stuttering when scrolling in watch history by @Bnyro in #5657
- fix: switch back to home bookmarks layout on home screen by @Bnyro in #5534
Refactor
- refactor: Add parcelableArrayList extension by @Isira-Seneviratne in #5543
- refactor: Avoid boxing for segment pair by @Isira-Seneviratne in #5569
- refactor: don't recreate player on orientation change by @Bnyro in #5635
- refactor: Improve HDR check by @Isira-Seneviratne in #5483
- refactor: remember video feed, don't auto reload by @Bnyro in #5521
- refactor: Rewrite comments fragments using Paging library by @Isira-Seneviratne in #5589
- refactor: Rewrite search functionality using Paging by @Isira-Seneviratne in #5528
- refactor: settings reorganization to improve UX by @Bnyro in #5603
- refactor: Simplify ContentFilter toggling by @Isira-Seneviratne in #5544
- refactor: Simplify dearrow process by @Isira-Seneviratne in #5529
- refactor: Simplify getVideoIdFromUrl by @Isira-Seneviratne in #5578
- refactor: simplify initalization of MutableLiveData in PlayerViewModel.kt by @Bnyro in #5512
- refactor: Simplify NetworkHelper by @Isira-Seneviratne in #5484
- refactor: simplify NowPlayingNotification.kt by @Bnyro in #5637
- refactor: simplify scrolling logic by @Bnyro in #5656
- refactor: simplify watch position timer tasks by @Bnyro in #5672
- refactor: store notification ids in an enum by @Bnyro in #5533
- refactor: seperate trends fragment into a viewmodel to improve ux by @IndusAryan in #5498
Chore
- chore: add baseline profile generation by @Isira-Seneviratne in #5414
- chore:...