This version fixes nearly all reported issues. We have implemented significant UI and logic changes to ensure behavior remains consistent with v4 and to preserve existing user workflows. Additionally, we addressed several underlying performance issues, resulting in noticeably smoother UI navigation. Support for TV and Android Auto has also been restored.
If no major issues are discovered within the next 1-2 weeks, we plan to officially release version 5.0. Version 5.0 will continue to use the old package name.
Please note: Although login support is included in this version, recent changes by YouTube imply that our extractor currently cannot function while logged in. We are actively working on a solution.
Changes
- feat: add missing queue item operations
- feat: add pin video to top pref
- feat: clear all logs
- feat: download subtitles
- feat: old style play queue
- feat: optimize android auto experience
- feat: right swipe to remove queue item
- feat: settings of enable advanced formats
- feat: show player control when playback finish
- feat: subtitle setting not preserved
- feat: support add playlist to local
- feat: support android auto
- feat: support auto-enqueue
- feat: support batch download
- feat: support channel tabs
- feat: support config feed tabs
- feat: support config trending country
- feat: support danmaku settings
- feat: support download start/pause/cancel all
- feat: support feed grid layout setting
- feat: support history settings
- feat: support landscape view of video detail page
- feat: support language settings
- feat: support login
- feat: support long-click copy comment text
- feat: support mark as watched
- feat: support remove duplicates
- feat: support remove watched
- feat: support set playlist cover
- feat: support share playlist url list
- feat: support start in fullscreen
- feat: support swipe to enqueue
- feat: support system subtitle
- feat: support video tabs customization
- feat: support YT music
- feat: swipe to seek
- feat: tv support
- perf: fix laggy video player control
- perf: improve download loading speed by using fetched streamInfo
- perf: significantly improve performance of player control animation
- prf: prevent download screen refresh too frequently
- UI: remove all downloads tab
- UI: reorder drawer
- UI: reorder some items
- UI: support a more intrinsic slide animation
- UI: support channel grid layout & optimize subscription screen
- UI: update strings
- UI: use fadein instead of slidein for systemBar
- fix: advanced formats not correctly applied
- fix: bottom player status not handled correctly in enqueue and playall logic
- fix: can not bookmark new remote playlists
- fix: cannot select resolution sometimes
- fix: can not swipe down to minimize sometimes
- fix: caption & audio languages are not localized
- fix: channel grid layout
- fix: channel videos are not in grid
- fix: correctly use preferred audio language
- fix: danmaku not correctly rendererd
- fix: danmaku should not be shown in pip mode
- fix: dashboard route not get removed
- fix: ERROR_CODE_UNSPECIFIED shouldn't be catched
- fix: error message not correctly use serviceName
- fix: failed to video title correctly if title includes hashtag (YouTube)
- fix: feed doesn't fetch live tab
- fix: FilterByChannelScreen using FitlerByKeyword title
- fix: hint still showed even playback speed gesture is disabled
- fix: history mode "on_play" not working
- fix: import error
- fix: incorrect autoplay
- fix: incorrect mediaController access
- fix: incorrect playback mode
- fix: incorrect system bar handling
- fix intent
- fix: items get removed unexpectly
- fix: language codes not correctly localized
- fix: media prepare infinity loop under certain conditions
- fix: minimize_on_exit_none_key should pause the playback
- fix: minimize to bottom player should change playback to audio mode unless the video is playing
- fix: music mode should not be enabled in feed page
- fix: no animation in AppearanceSettingsScreen.kt
- fix: only restore playback position in video mode
- fix & optimize download
- fix: playback behavior bugs
- fix: player black screen
- fix: player can not restore from mediaCodecError
- fix: player control incorrect drawing
- fix: player control incorrect system bar handling
- fix: player control invisible when loading
- fix: player control not shown correctly in rtl
- fix: Player controls auto-hide unexpectedly
- fix: player layout is not correctly updated in rotation
- fix: player view not rendered correctly
- fix: playFromStreamInfo shouldn't update history
- fix: playlist doesn't load more in grid mode
- fix: play queue should hide when back to app
- fix: play queue sometimes get dropped unexpectly
- fix: progress not correctly resumed
- fix: remove gms dependency passed by filekit
- fix: removeItemByUuid must be called in main scope
- fix: search screen not using grid
- fix: showAsBottomTask not always get triggered
- fix: sleep timer not working under certain conditions
- fix: some video's view count is not correctly parsed (YouTube)
- fix sponsorblock issue and also remove autoload logic from PlaybackService.kt
- fix: sponsorblock segments not correctly submitted
- fix: sponsorblock skip button not disappear
- fix: sponsorblock skip toggle not working
- fix: sponsorblock timestamp not clickable
- fix: swipe enqueue get triggered too many times
- fix: tab configs are not correctly applied
- fix: trending get refreshed unexpectedly
- fix: uncatched exception if failed to update ytdlp
- fix: video detail not refreshed
- fix: video detail page should save current tab index
- fix: video label not correct under certain condition
- fix: videos not showing progress in search/channel/remote playlists
- fix: video titles get auto-translated (YouTube)
- fix: wrong logic in play queue scree
- behavior: drop dashboard
- behavior: optimize bottom player UI logic
- dev: refactor downloadFormatDialog
- dev: refactor playqueue
- dev: refactor sponsorblock