New features
- style: new player layout and various UI improvements by @Bnyro in #5301
- feat: support close video on MiniPlayer swipe down by @RafaelsRamos in #5392
- feat: new sleep timer (integrated into the player UI) by @Bnyro in #5204
- feat: quick actions to add a channel to a group by @Bnyro in #5334
- feat: separate landscape grid columns pref + more impacted adapters by @Bnyro in #5359
- feat: show instance regions, uptime and registration status in settings by @Bnyro in #5344
- feat: automatically play the next downloaded video in offline audio mode by @Bnyro in #5286
- feat: add copy video ID button in stats sheet by @FineFindus in #5364
- feat: add preset to use 1.75x playback speed by @Bnyro in #5358
- feat: add Rich caption rendering setting by @RafaelsRamos in #5371
Bug fixes
- fix: add to playlist dialog doesnt show any playlists by @Bnyro in #5383
- fix: audio player stuck when swipe up, correct transition duration by @Azuras03 in #5339
- fix: can't play videos when Piped proxy disabled by @Bnyro in #5297
- fix: clicking now playing notification in offline player opens audio player by @Bnyro in #5381
- fix: crash in add to playlist dialog if playlists empty by @Bnyro in #5369
- fix: crash in channel fragment when binding already recycled by @Bnyro in #5309
- fix: crash when deleting account by @Bnyro in #5228
- fix: crash when player fragment is being destroyed by @Bnyro in #5283
- fix: crash when playing deleted playlist in background by @Bnyro in #5382
- fix: don't auto-add live videos to the playing queue by @Bnyro in #5399
- fix: don't fail to load channel page when auth instance down by @Bnyro in #5248
- fix: don't use dead fallback instances api anymore by @Bnyro in #5340
- fix: download sheet share dialog shares channel instead of video by @Bnyro in #5328
- fix: ensure correct persistent notification lifecycle by @RafaelsRamos in #5388
- fix: Error on Settings > Player > Playback speed by @RafaelsRamos in #5357
- fix: home tab content not included in preferences backup by @Bnyro in #5311
- fix: improve constrast between background and buttons by @RafaelsRamos in #5366
- fix: improve download speeds and anonymity by @Bnyro in #5300
- fix: Increase subtitle font size in fullscreen by @saymanrifat in #5200
- fix: Make setting's descriptions more consistent by @RafaelsRamos in #5378
- fix: oldest videos repeatedly displayed when loading channel videos by @RafaelsRamos in #5386
- fix: player resolution updates upexpectedly on fullscreen change by @Bnyro in #5219
- fix: properly display tags in description by @FineFindus in #5365
- fix: regressions by persistent notification lifecycle fix by @Bnyro in #5402
- fix: text animation slowly fades out when collapsing description by @HritikBhat in #5236
- fix: fix black screen and delay when unsetting fullscreen by @IndusAryan in #5367
Refactor
- refactor: base option sheets selections on their string resource ids by @Bnyro in #5341
- refactor: Improve view binding by @Isira-Seneviratne in #5290
- refactor: match the size of continue watching and related streams by @Bnyro in #5299
- refactor: remove bottom reached toast and show progress indicator instead by @Bnyro in #5229
- refactor: simplify channel page and tabs logic by @Bnyro in #5250
- refactor: simplify the dropdown menu component by @Bnyro in #5370
- refactor: support outdated Piped instance versions by @Bnyro in #5285
- refactor: Use batch notification API by @Isira-Seneviratne in #5212
- refactor: Use Navigation Safe Args by @Isira-Seneviratne in #5380
- refactor: Use SoftwareKeyboardControllerCompat by @Isira-Seneviratne in #5385
- refactor: Use TypedArray.use() extension by @Isira-Seneviratne in #5305
- style: also apply new player design to landscape layout by @Bnyro in #5332
- style: various player UI improvements, fix navigation bar color by @Bnyro in #5331
- refactor: start playing video when using add to queue action if queue empty by @Bnyro in #5400
Chore
- chore: add abort on lint function by @IndusAryan in #5234
- chore(CI/CD): clean up code by @XelXen in #5207
- chore(CI/CD): Fix unknown function error by @XelXen in #5227
- chore: fix ci builds by @Bnyro in #5235
- chore: fix nightly builds by @Bnyro in #5240
- chore: improve the License section in readme by @o0nd7ots in #5276
- chore: properly name the ci config file by @Bnyro in #5241
- chore(roadmap): add direct use of NPE, YTjs as not planned by @Pamilg8 in #5314
New Contributors
- @saymanrifat made their first contribution in #5200
- @HritikBhat made their first contribution in #5236
- @o0nd7ots made their first contribution in #5276
- @Pamilg8 made their first contribution in #5314
- @Azuras03 made their first contribution in #5339
- @RafaelsRamos made their first contribution in #5357
Full Changelog: v0.20.1...v0.21.0