Important
We dropped support for split-ABI APKs. If you're using and automated tool to download APKs, please adjust as necessary.
Note
Release Highlights
- Fixed an error with playing videos
- Removed split-abi-apks
- Always remember playback speed
- Fast forward video on long press
- Improved sleeptimer with slow volume fade-out and quick-select buttons
- Display video chapters in timebar
- Include filtered search history in search suggestion
- Prefer untranslated video title if available
- Many more bug fixes and performance improvement
✨ New Features
0e9c0ca- remove release action (commit by @FineFindus)e9759bd- video player: improve touch gesture handling (commit by @dhanuarf)4491a42- video player: increase center screen gesture detection area (commit by @dhanuarf)5ef3d89- fast forward video on long press (commit by @Bilal-Ahmad123)6d4f3d6- DASH: remove unsatisfiable filter (commit by @FineFindus)79548a9- Backup: notify user about result of backup creation (commit by @FineFindus)463b77f- Preferences: remove unused preferences (commit by @FineFindus)a7bb77b- LocalFeed: prefer untranslated video title if available (commit by @FineFindus)947727a- Preferences: remove codec preferences (commit by @FineFindus)c9e22dc- video player: add visual feedback when fullscreen gesture is in progress (commit by @dhanuarf)d013ccb- video player: allow swipe up on the entire view to enter fullscreen (commit by @dhanuarf)a1c4772- always remember playback speed (commit by @FineFindus)6cbd129- generate content-bound poToken (commit by @FineFindus)4cd6507- sleep-timer: show minutes left in player menu (PR #8034 by @PavelStefanov)33448b7- Player: display chapters in timebar (commit by @FineFindus)2decf2b- Player: center chapter breaks (commit by @FineFindus)993888a- improve sleep timer with smooth player volume fade out (commit by @PavelStefanov)944f04f- add quick-select chips to sleep timer (commit by @PavelStefanov)e2f42f8- SleepTimer: start timer immediately when selecting chip (commit by @FineFindus)1cdb3e0- SleepTimer: allow chip scrolling beyond screen-edges (commit by @FineFindus)a4f440e- SleepTimer: center buttons (commit by @FineFindus)381538a- include filtered search history in search suggestion (commit by @dhanuarf)
🐛 Bug Fixes
856b8fd- LocalFeedRepository: update subscribed channels (commit by @FineFindus)d72cd60- video player: preview frame jumping around the screen when seeking (commit by @dhanuarf)dd7fa6c- Import: allow subtitles without URL (commit by @Bilal-Ahmad123)5c3694d- deps: update dependency androidx.swiperefreshlayout:swiperefreshlayout to v1.2.0 (commit by @renovate[bot])87d004c- occasional crash when opening YouTube link (commit by @Bnyro)019b216- crash when clicking chapters/switch to video in audio player before video loaded (commit by @Bnyro)1411fcf- switching video in audio only mode opens video player instead of audio player (commit by @Bnyro)2e41934- initializebrightnessHelperbeforeplayerGestureController(commit by @FineFindus)2ff9120- Crash when starting online stream while offline stream in progress (commit by @shantanu1k)435cf50- deps: update media3 to v1.9.0 (commit by @renovate[bot])8018b1d- deps: update dependency com.google.android.material:material to v1.14.0-alpha08 (commit by @renovate[bot])845cd79- video player: glitch when exiting from fullscreen on short videos (commit by @dhanuarf)53b95e2- avoid leakingSubscriptionsFragment(commit by @FineFindus)c50592d- prevent videos from moving to start when re-adding them to a local playlist (PR #8061 by @PavelStefanov)14f2b3b- subscriptions button reset its state when scrolling (commit by @dhanuarf)bb0ad22- deps: update media3 to v1.9.1 (commit by @renovate[bot])ccad908- search query being added to history on back navigation (commit by @dhanuarf)fc1c5d8- ignore missingre2jclasses (commit by @FineFindus)
⚡ Performance Improvements
b7669eb- avoid second database call (commit by @FineFindus)
♻️ Refactors
752c4f8- remove local feed videos when unsubscribing (commit by @FineFindus)0a95d96- remove unnecessarythis(commit by @FineFindus)823ce93- simplify findingPlayerFragmentmethod inCustomExoPlayerView(commit by @dhanuarf)d9710c8- implement video player gesture directly inonTouchEvent()(commit by @dhanuarf)08e4f12- move some initializations to constructor level inCustomExoPlayerView(commit by @dhanuarf)cc2585e- simplify some functions that has default parameters (commit by @dhanuarf)37cd5e7- define some constants incompanion object(commit by @dhanuarf)b0e2ddb- remove unnecessary null assertion (commit by @FineFindus)61f3201- remove unnecessarylateinitmodifier (commit by @FineFindus)3eb429f- use elvis operator for early return (commit by @FineFindus)344c781- Player/ChapterTimeBar: initialize immutable variables once (commit by @FineFindus)f20defa- create sleep timer chips programmatically (commit by @PavelStefanov)fb23776- move quick-select chips above time input field (commit by @PavelStefanov)
🔧 Chores
b75dd6e- mark notification frequency values as translatable (commit by @FineFindus)b9f1b2e- remove dead piped instances linking (commit by @FineFindus)3864e6d- deps: update gradle to v9.2.1 (commit by @renovate[bot])1cbec1f- deps: update actions/checkout action to v6 (commit by @renovate[bot])90b5271- deps: update actions/upload-artifact action to v6 (commit by @renovate[bot])ae69dc4- remove no longer needed changelog script (commit by @Bnyro)fc9c639- deps: update ilharp/sign-android-release action to v2 (commit by @renovate[bot])0807875- bump version to v0.30.0 (commit by @FineFindus)