Releases: libre-tube/LibreTube
Releases Β· libre-tube/LibreTube
0.16.1
New features
- feat: automatically use Material You accent on first app startup when supported by @Bnyro in #4213
- feat: Include playlist name in toast after succesfully adding video by @Bnyro in #4234
Bug fixes
- fix: too many chapters highlighted in dialog, crash on selection by @Bnyro in #4238
- fix: disabled proxy when lbry stream available by @Bnyro in #4239
- fix: watch positions don't retain by @Bnyro in #4206
- fix: Restoring SponsorBlock preferences from backup by @Bnyro in #4207
- fix: Appearance of SponsorBlock preference on small screens by @Bnyro in #4209
- fix: hide SponsorBlock skip button in miniplayer by @Bnyro in #4210
Chore
- chore: Add build and PR title instructions to README by @Bnyro in #4190
- chore: Adapt changelog script for pr title styles by @Bnyro in #4191
- refactor: Use ViewModel extension in the main activity by @Isira-Seneviratne in #4189
- chore: Add lemmy community to help activity, remove telegram by @Bnyro in #4205
- chore: Minor code cleanups and use #toUri instead of Uri#parse by @Bnyro in #4211
- chore: Update Activity and Fragment dependencies by @Isira-Seneviratne in #4220
- refactor: Replace MathUtils.clamp with Kotlin coerceIn by @TacoTheDank in #4228
New Contributors
- @TacoTheDank made their first contribution in #4228
Full Changelog: v0.16.0...v0.16.1
0.16.0
Major new features
- SponsorBlock color segments depending on what type they are by @general-a in #4055
- Add highlight from SponsorBlock to chapters by @Myzel394 in #4060
- Ability to choose what SponsorBlock categories are skipped automatically by @general-a in #4021
- Add presets/shortcuts for playback speed/pitch by @Bnyro in #4100
- Notification action to stop download by @Bnyro in #4101
- Show time left when clicking player duration by @Bnyro in #4128
- Show the comment and reply count in the comments sheet by @Bnyro in #4131
- Preference to disable search suggestions by @Bnyro in #4001
- Chapters support in audio player by @Bnyro in #4040
- Refreshed playlist row design by @Bnyro in #4048
Minor features
- Option to fall back to Piped proxy when Piped proxy disabled and video unreachable by @Bnyro in #4053
- Add support for videos count for playlist bookmarks by @Bnyro in #4150
- Chapters dialog: highlight current chapter and auto scroll to it by @Bnyro in #4090
- Improve appearance of chapter segments in video description by @Bnyro in #4092
- Make autoplay toggle in player global and remove autoplay preference by @Bnyro in #4098
- Welcome Activity: Add button to restore backup and skip instance selection by @Bnyro in #4127
Bug fixes
- Fix: Miniplayer is not showing properly in release build by @SajalRG in #4002
- Improve welcome screen in landscape by @Bnyro in #3996
- Fix watch positions while playing a playlist or using autoplay by @Bnyro in #3997
- Increase horizontal padding of player title and description by @Bnyro in #4041
- Fix subscribe button text color and increase corner radius by @Bnyro in #4043
- Fix crash when updating to new SponsorBlock system by @Bnyro in #4044
- Fix issues with welcome activity landscape layout by @Bnyro in #4045
- Reorder channel tabs in channel fragment by @Bnyro in #4046
- Hide channel name in channel tabs for shorts and livestreams by @Bnyro in #4047
- Fix overflowing text in SponsorBlock preference by @Bnyro in #4052
- Show nothing here indicator if home tab is empty by @Bnyro in #4066
- Fixed skip button not disappearing by @Bnyro in #4076
- Fix download dialog appearance with large font size by @Bnyro in #4078
- Fix that seekbar preview frames are sometimes cut off by @Bnyro in #4093
- Fix position of skip SB segment manually button by @Bnyro in #4099
- Fix that the first video using the audio player gets skipped by @Bnyro in #4173
- Fix that custom instances can't be used when the public list is down by @Bnyro in #4175
- Fix auth api url when restoring backup in welcome page by @Bnyro in #4177
- Fix crash when selecting certain pitches by @Bnyro in #4179
- Fix crash when resetting playback speed by @Bnyro in #4119
- Fix: hide the nothing here indicator when refreshing home page by @Bnyro in #4126
- Fix crash when repeatedly starting offline background player by @Bnyro in #4004
- Fix various background player UI issues by @Bnyro in #4005
- Fix crash when opening comments by @Isira-Seneviratne in #4034
- Always show mark as watched button (even if partially watched already) by @Bnyro in #4106
- Dynamically update playlist bookmark title by @Bnyro in #4102
- Audio player: only show chapters when not empty by @Bnyro in #4172
Meta / code changes
- Improve welcome flow by @Isira-Seneviratne in #4152
- Improve SponsorBlock functionality by @Isira-Seneviratne in #4158
- Use the orEmpty extension function where possible by @Bnyro in #4171
- Simplify toDownloadItems() method by @Isira-Seneviratne in #4097
- Improve DisplayHelper by @Isira-Seneviratne in #4096
- Fix lint issue. by @Isira-Seneviratne in #3987
- Add PlayerData class by @Isira-Seneviratne in #4025
- Make the Comment class parcelable by @Isira-Seneviratne in #4056
New Contributors
- @general-a made their first contribution in #4021
- @Myzel394 made their first contribution in #4060
Full Changelog: v0.15.1...v0.16.0
0.15.1
New features
- Welcome Activity to choose instance on first app startup by @Bnyro in #3915
- Significantly increase download speed using range requests by @Bnyro in #3957
- Support for editing the playlist description by @Bnyro in #3981
- Much faster audio only/background player with less buffering (using DASH) by @Bnyro in #3878
- Show currently applied playlist sort order by @Bnyro in #3907
- Preference to edit the home tab content by @Bnyro in #3866
- Show 'mark as unwatched' in video options sheet if already watched by @Bnyro in #3925
- Improve offline player appearance and behavior by @Bnyro in #3965
- Improve autoplay switch (show pause icon if disabled) by @ARBoyGo in #3952
Bug fixes
- Fix channel groups sheet buttons not visible by @Bnyro in #3865
- Fix position of FAB when mini player closed by @Bnyro in #3871
- Fix that the info in the audio player doesn't update by @Bnyro in #3875
- Fix (disable) notifications for already seen videos by @Bnyro in #3891
- Fix: MainActivity crash after icon change by @Kruna1Pate1 in #3974
- Don't show auto play countdown if queue is finished by @Bnyro in #3976
- Fix crash when restoring subscription groups by @Bnyro in #3977
- Respect queue settings when using player controls by @Bnyro in #3978
- Keep queue when switching from audio to video mode and vice versa by @Bnyro in #3979
- Hide playlist description text view if no desc available by @Bnyro in #3980
- Fix crashes when audio and video mode running simultaneously by @Bnyro in #3877
- Limit maximum video info length for video of a channel to two lines by @Bnyro in #3876
- Localize date in search results by @Bnyro in #3893
- Hide upload date for live videos by @Bnyro in #3905
- Truncate end of word in video row by @Bnyro in #3906
- Fix crash when opening description while chapter updates by @Bnyro in #3953
- Show restart dialog after restoring backup by @Bnyro in #3954
- Re-add the separator in the search results by @Bnyro in #3917
- Fix crash when long pressing share while loading by @Bnyro in #3916
Code changes
- Code refactor: Separate online and offline player by @Bnyro in #3975
- Make PreviewFrames fields non-null. by @Isira-Seneviratne in #3961
- Add data class to hold download data. by @Isira-Seneviratne in #3962
- Use the contentLength returned by the API for downloading by @Bnyro in #3956
- Remove unneeded vm policy by @Bnyro in #3892
- Don't rely on Locale#getDefault for the currently set locale by @Bnyro in #3894
- Make watch history and positions deletion function suspend by @Bnyro in #3955
Known issues
- Please be aware that the issue with the position of the mini player is still not fixed. It only occurs in release builds, but not in debug builds we use for testing new changes, which makes it very hard to identify the issue. Please be patient or feel free to help us fixing the issue if you have some knowledge concerning Android motion layouts. Thanks!
Full Changelog: v0.15.0...v0.15.1
0.15.0
New features
- Support for playlist descriptions by @Bnyro in #3818
- Support import/export for FreeTube subscriptions by @yoguut in #3798
- Support FreeTube playlists import/export by @yoguut in #3821
- Show file size in download dialog by @Bnyro in #3842
- Add feed filter for livestreams by @Bnyro in #3853
- Option to disable new video notifications for shorts videos by @Bnyro in #3731
- Convert subscription groups dialogs to bottom sheets by @Bnyro in #3733
- Navigate to channel when selected in channel groups dialog by @Bnyro in #3733
- Allow importing multiple playlists at once by @wiiznokes in #3752
- Enter/Exit fullscreen gesture on whole screen if swipe gestures disabled by @Bnyro in #3771
- Add button to close audio player by @Bnyro in #3729
Bug fixes and minor changes
- Fix the position of the SponsorBlock markers by @Bnyro in #3846
- Hide timestamp option in share dialog for channels and playlists by @Bnyro in #3851
- Update watch positions every second to avoid outdated positions by @Bnyro in #3852
- Fix the thumbnail resolution in the player notification on Android 13 and up by @Bnyro in #3779
- Disable search closing when user press back while playing video by @SajalRG in #3822
- Improve the vertical alignment and padding in the player page by @Bnyro in #3819
- Fix crash after deleting items from playlist by @Bnyro in #3780
- Fix various Picure in Picture issues by @Bnyro in #3795
- Avoid possible PIP-related exception on API levels below 33. by @Isira-Seneviratne in #3810
- Fix crash when closing player due to view bindings by @Bnyro in #3749
- Exclude HDR streams when not supported by device by @Bnyro in #3728
- Default to the current screen brightness when swipe gestures enabled by @Bnyro in #3804
- Fix issues with watch positions by @Bnyro in #3805
- ChannelFragment NPE fix by @jatzuk in #3718
- Fix importing large playlists or CSV playlist from YT by @Bnyro in #3726
- Filter shorts from featured on home fragment according to feed filter by @Bnyro in #3730
- Deselect all bottom nav items when home tab not among them by @Bnyro in #3773
- Fix crash in CommentsMainFragment by @Bnyro in #3772
- Fix deleting videos of sorted playlist by @Bnyro in #3776
- Fix search bar collapse while search in progress by @SajalRG in #3831
- Enable auto rotate by default in TV by @SajalRG in #3838
Code changes
- Replace the
PlayerNotificationManager
with a custom implementation by @Bnyro in #3813 - Migration to Media3 by @Bnyro in #3779
- Fix CI builds by migrating the code to ktlint 0.49.0 by @Bnyro in #3741
- Properly skip the new stream check. by @Isira-Seneviratne in #3745
- Upgrade to AGP 8.0. by @Isira-Seneviratne in #3585
- Improve stream notifications by @Isira-Seneviratne in #3715
- Improve and simplify sorting strings and fix playlist sorting by @Bnyro in #3774
- Improve notification creation performance by @Isira-Seneviratne in #3762
New Contributors
- @jatzuk made their first contribution in #3718
- @wiiznokes made their first contribution in #3752
- @yoguut made their first contribution in #3798
- @SajalRG made their first contribution in #3822
Full Changelog: v0.14.1...v0.15.0
0.14.1
Please note that the Discord and Reddit accounts of LibreTube are no longer affiliated with the project!
We recommend everyone who's interested in the project to instead follow LibreTube on Mastodon or join the Matrix room.
Nightly builds of the app can now be found at the NightlyBuilds repo. Everyone is invited to test recent changes there.
New features
- Display stream notification thumbnails by @Isira-Seneviratne in #3542
- Ability to interact with player while viewing comments by @xz-dev in #3624
- Sort menu for local and private playlist by @Bnyro in #3648
- Improvement to links in description and comment texts by @faisalcodes in #3660
- Remember the comments progress by @Bnyro in #3669
- Scroll to top button for comments by @Bnyro in #3669
- Unlimited search history preference by @Bnyro in #3640
- Automatically scroll to the currently playing video in the queue by @Bnyro in #3626
Bug fixes and code changes
- Fix crash in Subscriptions fragment by @Bnyro in #3647
- Fix top margin when viewing video in vertical fullscreen by @Bnyro in #3650
- Fix crash when sorting playlists by @Bnyro in #3655
- Fix that the player controls don't hide after scrubbing by @Bnyro in #3656
- Fix opening replies by clicking comment by @Bnyro in #3658
- Simplify preferences visiblity by using dependencies by @Bnyro in #3641
- Fix various crashes caused by view bindings by @Bnyro in #3639
- Fix black bar on displays with cutout/notch by @Bnyro in #3544
- Improve notification preference strings. by @Isira-Seneviratne in #3547
- Fix duplicating downloads by @Bnyro in #3553
- Fix crash in library fragment due to view bindings by @Bnyro in #3554
- Fix creating new playlist after inserting empty name by @nayeemdv in #3611
- Remove week relative strings. by @Isira-Seneviratne in #3615
- Remove unused resources. by @Isira-Seneviratne in #3621
- Fix crash when a channel doesn't have a description by @Bnyro in #3562
- Half expand comment dialog when roll player to avoid comments dialog hide the player by @xz-dev in #3632
- Improve stream notifications by @Isira-Seneviratne in #3556
- Add items to watch history when marking as watched by @Bnyro in #3574
Orga changes
- [Help section] Removed : Social Media from App by @ARBoyGo in #3644
- Removed : Social Media from Readme. by @ARBoyGo in #3630
New Contributors
Full Changelog: v0.14.0...v0.14.1
0.14.0
New features
- Subscription groups by @Bnyro in #3431
- Audio/background player for downloads by @Bnyro in #3525
- Support sharing live links to LibreTube by @Bnyro in #3435
- Preference to not play videos automatically by @Bnyro in #3479
- In-built browser intent chooser by @Bnyro in #3511
- Update displayed chapter while scrubbing time bar by @Bnyro in #3521
- Separate swipe gestures and fullscreen gestures by @Bnyro in #3523
- Improve notification grouping for new streams. by @Isira-Seneviratne in #3533
- Allow the app to being found as music player by @Bnyro in #3472
Bug fixes
- Fix displayed information in the short tabs of channels by @Bnyro in #3516
- Fix crashes caused by view bindings by @Bnyro in #3517
- Fix crashes in downloads fragment by @Bnyro in #3518
- Fix crash when adding to playlist while instance down by @Bnyro in #3519
- Quick swipeup video fullscreen error resolve by @nayeemdv in #3413
- Fix that channel group items get lost on scrolling by @Bnyro in #3480
- Fix sharing short videos to the app by @Bnyro in #3481
- Fix crash if no uploader avatar is present. by @Isira-Seneviratne in #3491
- Fix crash when restoring old backups by @Bnyro in #3436
- Fix closing video player with auto fullscreen enabled by @Bnyro in #3438
- Fix crashes in SearchResultFragment by @Bnyro in #3439
- Fix dark status bar icons when player is in fullscreen by @anilbeesetti in #3445
- Fix crash in TrendsFragment caused by bindings by @Bnyro in #3530
- Fix two taps required to interact with player when in fullscreen mode by @anilbeesetti in #3450
- Fix playback speed preference summary by @Bnyro in #3478
- Disable picture-in-picture on Android Go devices. by @Isira-Seneviratne in #3432
- Hide alternative PiP controls setting if PiP is not enabled. by @Isira-Seneviratne in #3454
- Add more options to the download options bottom sheet by @Bnyro in #3531
- Hide notification bell if notifications disabled by @Bnyro in #3520
Code changes
- Reuse PictureInPictureCompat method. by @Isira-Seneviratne in #3528
- Switch to repeatOnLifecycle extension. by @Isira-Seneviratne in #3527
- Add single item insertion methods. by @Isira-Seneviratne in #3487
- Free fragment view bindings when their fragments are destroyed. by @Isira-Seneviratne in #3502
- Use TransitionAdapter. by @Isira-Seneviratne in #3509
- Switch to AndroidX's PendingIntentCompat class. by @Isira-Seneviratne in #3510
- Reuse existing nullable binding variables. by @Isira-Seneviratne in #3475
- Use getSystemService() extension. by @Isira-Seneviratne in #3474
- Add picture-in-picture helper classes. by @Isira-Seneviratne in #3411
- Remove notification channel creation from BackgroundMode. by @Isira-Seneviratne in #3459
- Simplify isServiceRunning() method. by @Isira-Seneviratne in #3460
- Add NewApi suppressions. by @Isira-Seneviratne in #3469
- Simplify BasePreferenceFragment.kt and remove duplicated calls by @Bnyro in #3455
- Improve time check in NotificationWorker. by @Isira-Seneviratne in #3470
New Contributors
- @anilbeesetti made their first contribution in #3445
Full Changelog: v0.13.1...v0.14.0
0.13.1
Bug fixes
- Fix crash when closing mini player by @Bnyro in #3396
- Fix crash when watching geo-blocked video by @Bnyro in #3396
- Fix duplicated error messages during playlist actions by @Bnyro in #3397
- Close playlist rename dialog if name matched by @nayeemdv in #3377
- Correct Kurdish (Central) native language name by @GoRaN909 in #3375
- Fix crash when logging into account (#3406)
Minor changes
- Convert timestamp parsing method to an extension function. by @Isira-Seneviratne in #3381
- Use visibility extensions. by @Isira-Seneviratne in #3382
- Use CompactDecimalFormat to format counts. by @Isira-Seneviratne in #3385
- Make ChapterSegment parameters non-null. by @Isira-Seneviratne in #3391
- Improve visuals when library empty by @Bnyro in #3398
New Contributors
Full Changelog: v0.13.0...v0.13.1
0.13.0
New features
- Audio mini player by @Bnyro in #3335
- Option to disable Piped proxy by @Bnyro in #3290
- Current time display within the seekbar preview by @Bnyro in #3344
- Option for auto fullscreen on shorts by @Bnyro in #3366
- Selectable comments text by @Bnyro in #3285
- Hide button to delete playlist and playlist videos by @Bnyro in #3369
Bug fixes and minor changes
- Fix Shuffle Button Error by @nayeemdv in #3281
- Fix crash when clicking links in about without browser available by @Bnyro in #3284
- Fix the formatting of copied comments by @Bnyro in #3286
- Fix SponsorBlock markers and toggle by @Bnyro in #3291
- Fix closing the audio player by @Bnyro in #3292
- Fix title in the home fragment if feed or boomarks empty by @Bnyro in #3293
- Fix stats dialog in landscape mode by @Bnyro in #3315
- Fix forward and rewind buttons when player locked by @Bnyro in #3336
- Fix that queue controls are visible while player closed by @Bnyro in #3337
- Fix crash when unregistering downloads receiver by @Bnyro in #3338
- Fix crash when closing player by @Bnyro in #3341
- Fix shrinked player layout after PiP by @Bnyro in #3342
- Fix crashes on audio player transitions by @Bnyro in #3343
- Fix crash when bottom sheet is being dismissed by @Bnyro in #3368
- Move back in navigation after deleting playlist by @Bnyro in #3358
- Migrate add to playlist dialog to MD3 dropdown menu by @Bnyro in #3345
- Use only the date in relative time formatting. by @Isira-Seneviratne in #3332
- Update playlist name properly after renaming by @Bnyro in #3365
Code changes
- Convert WindowHelper to an object. by @Isira-Seneviratne in #3255
- Simplify ImageHelper IO methods. by @Isira-Seneviratne in #3251
- Move dialog bindings to onCreateDialog() methods. by @Isira-Seneviratne in #3261
- Format upload date in downloads view. by @Isira-Seneviratne in #3263
- Remove runOnUiThread(). by @Isira-Seneviratne in #3350
- Use java.nio.file APIs in the download functionality. by @Isira-Seneviratne in #3311
- Convert updateParameters() to an inline function. by @Isira-Seneviratne in #3318
- Simplify playing queue logic by @Bnyro in #3324
- Simplify number formatting by @Bnyro in #3361
- Use BufferedReader#lines(). by @Isira-Seneviratne in #3275
- Improve count formatting. by @Isira-Seneviratne in #3276
Repo changes
New Contributors
Full Changelog: v0.12.1...v0.13.0
0.12.1
New features
- Stats for nerds dialog containing video info by @Bnyro in #3156
- Support for LBRY HLS by @Bnyro in #3241
- Autoplay Countdown when the video ended by @Bnyro in #3159
- Clickable comment timestamps by @Bnyro in #3229
- Display the video category in the description by @Bnyro in #3133
- Restore the orientation when leaving PiP by @Bnyro in #3094
Minor changes
- Option to manage Playback Speed of Audio and Video Mode Separately by @Bnyro in #3097
- Use Filter chips for the search by @Bnyro in #3077
- Better login/register error messages by @Bnyro in #3112
- Better error messages when a video is unavailable by @Bnyro in #3113
- Improve the instance summary string by @Bnyro in #3150
- Disable ExoPlayer platform diagnostics by @Bnyro in #3168
- Remove the ripple effect on the video title by @Bnyro in #3109
- Remove the inbuilt updater by @Bnyro in #3095
- Improved relative date time formatting by @Bnyro in #3132
- Use MD3 dropdown menus in the download dialog by @Bnyro in #3237
Bug fixes
- Filter out null comments returned from Piped API. by @faisalcodes in #3061
- Fixes: Labels under icons are not visible by @faisalcodes in #3066
- Fix the channel name alignment in search by @Bnyro in #3110
- Fix crash when creating a playlist (closes #3102) by @Bnyro in #3111
- Fix no connection with gnirehtet reverse tethering by @Linus789 in #3119
- π Fixes crash on empty playlist shuffle and background playback by @praveenrajput in #3131
- Fix that kavin.rocks is not shown as selected by default by @Bnyro in #3145
- Fix the displayed chosen instance by @Bnyro in #3149
- Convert watch positions dao to coroutines, fix holes in the feed by @Bnyro in #3153
- Fix deletion and renaming feedback toasts for playlists by @Bnyro in #3155
- Fix position when auto-playing next video by @Bnyro in #3158
- Fix autoplay countdown crash by @Bnyro in #3171
- Fix that some videos are not playable using DASH by @Bnyro in #3172
- Fix that backup files might be empty by @Bnyro in #3186
- Fix crash when restoring legacy backup by @Bnyro in #3205
- Fix negative subscriber and views count for channels by @Bnyro in #3220
- Fix crash on some videos when the instance is down by @Bnyro in #3226
- Fix relative time formatting on Android versions below 7.0. by @Isira-Seneviratne in #3225
- Fix relative time strings. by @Isira-Seneviratne in #3233
- Fix suggestions after changing the selected video/audio quality by @Bnyro in #3238
- Remove playlists from the playing queue by @Bnyro in #3204
- Round the displayed playback speed by @Bnyro in #3130
- Close video player when entering audio mode by @Bnyro in #3227
Code changes and improvements
- Use HttpUrl in ProxyHelper. by @Isira-Seneviratne in #3052
- Use view binding extensions in PlayerFragment. by @Isira-Seneviratne in #3037
- Use view binding extensions in the search fragments. by @Isira-Seneviratne in #3053
- Clean up some extensions. by @Isira-Seneviratne in #3100
- Cleanup the instance preference by @Bnyro in #3129
- Simplify resolution display in the player view. by @Isira-Seneviratne in #3071
- Removes callbacks when player fragment is destroyed. by @faisalcodes in #3073
- Use removeIf() instead of removeAll(). by @Isira-Seneviratne in #3081
- Convert DownloadDao methods to suspend functions. by @Isira-Seneviratne in #3082
- Use isEmpty() extension functions. by @Isira-Seneviratne in #3175
- Convert PlaylistBookmarkDao methods to suspend functions. by @Isira-Seneviratne in #3173
- Remove getShareableTitle() from ShareDialog. by @Isira-Seneviratne in #3184
- Use Intent method chaining. by @Isira-Seneviratne in #3183
- Remove BaseFragment. by @Isira-Seneviratne in #3182
- Use ShortcutManagerCompat.setDynamicShortcuts(). by @Isira-Seneviratne in #3211
- Use toBitmap() extension function. by @Isira-Seneviratne in #3210
- Format watch history item dates. by @Isira-Seneviratne in #3214
- Report selected shortcut to the system. by @Isira-Seneviratne in #3222
- Simplify ShareDialog view binding. by @Isira-Seneviratne in #3202
- Use Patterns.EMAIL_ADDRESS regex. by @Isira-Seneviratne in #3128
- Convert SearchHistoryDao methods to suspend functions. by @Isira-Seneviratne in #3123
- Improve WatchPositionDao. by @Isira-Seneviratne in #3154
- Use ChronoUnit in formatRelativeDate(). by @Isira-Seneviratne in #3140
- Add trending and normal views localization strings. by @Isira-Seneviratne in #3141
- Use lifecycle coroutine scope extensions. by @Isira-Seneviratne in #3124
Repo changes
New Contributors
Full Changelog: v0.12.0...v0.12.1
0.12.0
New features
- Multi-level comments and replies display by @faisalcodes in #2890
- [Audio Player] Gesture controls on the video thumbnail by @Bnyro in #2928
- Preference to choose video codecs by @Bnyro in #2995
- Enter/Exit Fullscreen swipe gestures by @Bnyro in #3017
- Remember the last download selections by @Bnyro in #3042
- Option to mark videos as watched by @Bnyro in #3015
- Original comment as the first item in replies. by @faisalcodes in #2910
- New Autoplay switch design by @Bnyro in #2992
- Option to disable watch positions in audio mode by @Bnyro in #3035
Minor changes
- Minor downloads fragment improvements by @Bnyro in #2990
- Check if the connected network is metered in NetworkHelper. by @Isira-Seneviratne in #2868
- Improve unsupported file type message. by @Isira-Seneviratne in #3013
- Show whole title when description visible by @Bnyro in #2864
- Better download file naming scheme by @Bnyro in #2875
- Don't kill the app when closing through PiP by @Bnyro in #2880
- Keep screen on only while video is playing #2877 by @praveenrajput in #2886
- Improve home page loading behavior by @Bnyro in #3040
- Search history improvements by @Bnyro in #3032
- Open audio player from three dot menu by @Bnyro in #3033
- Button to quit the audio mode by @Bnyro in #3034
- Use POST requests for unauthenticated subscriptions by @Bnyro in #2960
- Adds more RTL languages support. by @faisalcodes in #2929
- Use an elevated surface color for the swipe to refresh by @Bnyro in #2962
- Reload playlists after successfully cloning by @Bnyro in #2925
- [Help section] Add Mastodon, remove Twitter by @Bnyro in #2937
- Improve double tap on center of player by @Bnyro in #2961
Bug fixes
- Fix crash in watch history when deleting video by @Bnyro in #2863
- Fix cloning playlists in the create playlist dialog by @Bnyro in #2889
- Fix watching unprocessed livestreams by @Bnyro in #2899
- Closes comments on auto play video change. Fixes #2898 by @praveenrajput in #2904
- Fixes: Showing progress for unwatched videos. by @faisalcodes in #2921
- Fix that auto fullscreen is shown as enabled by default by @Bnyro in #2924
- Playlist importing bug fixes and performance imporvents by @Bnyro in #2926
- Fixes: icons not showing in the player menu options. by @faisalcodes in #2957
- Crash fix on playlist background playback by @praveenrajput in #2975
- Fix single back press not closing app by @praveenrajput in #2989
- Fix that thumbnails persist after deleting a download by @Bnyro in #2997
- Fix history showing up when clearing search query by @Bnyro in #2998
- Fix the time stamp parsing in the PlayerFragment by @Bnyro in #2999
- Fix SponsorBlock segment loop at end of video by @Bnyro in #3036
- Prevent controls from disappearing while scrubbing by @Bnyro in #2991
- Made improvements to player double-tap further. by @faisalcodes in #2988
Code changes
- Minor repo structure cleanup by @Bnyro in #2927
- Use suspend functions in LocalSubscriptionDao. by @Isira-Seneviratne in #2842
- Use parseAsHtml() extension. by @Isira-Seneviratne in #2872
- Use View.updateLayoutParams() extensions. by @Isira-Seneviratne in #2873
- Use HttpUrl in TextUtils. by @Isira-Seneviratne in #2895
- Use DateTimeFormatter to create backup file timestamp. by @Isira-Seneviratne in #2893
- Use ActivityCompat.recreate(). by @Isira-Seneviratne in #2896
- Use Handler.postDelayed() extension function. by @Isira-Seneviratne in #2908
- Use Kotlin's takeWhile() extension. by @Isira-Seneviratne in #2912
- Use take() extension. by @Isira-Seneviratne in #2914
- Use awaitAll() extension. by @Isira-Seneviratne in #2913
- Convert LocalPlaylistsDao methods to suspend functions. by @Isira-Seneviratne in #2920
- Remove uses of String.all(). by @Isira-Seneviratne in #2930
- Convert ClipboardHelper to an object. by @Isira-Seneviratne in #2952
- Use Work KTX functionality. by @Isira-Seneviratne in #2951
- Remove unnecessary TextViewCompat calls. by @Isira-Seneviratne in #2958
- Use Fragment transaction extensions. by @Isira-Seneviratne in #2969
- Convert SearchAdapter to a ListAdapter. by @Isira-Seneviratne in #2968
- Make backup and restore improvements. by @Isira-Seneviratne in #2970
- Use ServiceCompat in DownloadService. by @Isira-Seneviratne in #2981
- Convert CronetHelper to an object. by @Isira-Seneviratne in #2979
- Use SparseBooleanArray in DownloadService. by @Isira-Seneviratne in #2980
- Use LifecycleService. by @Isira-Seneviratne in #2993
- Convert WatchHistoryDao methods to suspend functions. by @Isira-Seneviratne in #3012
- Simplify AudioHelper. by @Isira-Seneviratne in #3011
- Convert DatabaseHolder to an object. by @Isira-Seneviratne in #3025
- Simplify custom instance URL validation. by @Isira-Seneviratne in #3026
- Release view bindings in search fragments. by @Isira-Seneviratne in #3031
- Convert CustomInstanceDao methods to suspend functions. by @Isira-Seneviratne in #3038
- Follow-up to #2929. Simplified layouts. by @faisalcodes in #2936
- Disable R8 for debug builds by @Bnyro in #2938
- [Help & About] UI improvements and cleanup by @Bnyro in #2939
Repo changes
New Contributors
- @praveenrajput made their first contribution in #2886
Full Changelog: v0.11.1...v0.12.0