New features
- feat: support for DeArrow by @Bnyro in #4276
- feat: support hardware/bluetooth keys for playback control by @andrew-ld in #4405
- feat: Video chapters redesign by @Bnyro in #4372
- feat: Support for different audio track types by @AudricV in #4240
- feat: seekbar preview for downloaded videos by @Bnyro in #4337
- feat: support for video meta info by @Bnyro in #4394
- feat: add 'Continue watching' section to home tab by @Bnyro in #4262
- feat(queue): options to mark as (un)watched, and remove watched videos by @Bnyro in #4415
Minor new features
- feat: option to add whole playlist to current queue by @Bnyro in #4414
- feat: option to force lowest audio quality by @Bnyro in #4267
- feat: Show channel icons for stream notifications by @Isira-Seneviratne in #4423
- feat: show subscribed channels count in subscriptions fragment by @Bnyro in #4384
- feat: minimalistic Settings Button in Player by @IndusAryan in #4416
- feat: swipe to delete downloads by @Bnyro in #4269
- feat: remember position and tab in subscriptions fragment by @Bnyro in #4274
- feat: search intent support by @Bnyro in #4338
- feat: preference to force landscape as orientation by @Bnyro in #4386
- feat: controls to order queue by date, uploader or views by @Bnyro in #4371
- feat: control to clear entire playing queue by @Bnyro in #4356
- feat: download option in audio player by @Bnyro in #4443
- feat: forward and rewind controls for audio player by @Bnyro in #4367
- feat: hide status bar if player locked by @Bnyro in #4398
- feat: move playlists sort order to library tab by @Bnyro in #4442
Bug fixes
- fix: add bottom margin to subscriptions when mini player visible by @Bnyro in #4247
- fix: crash when closing player via x on top left by @Bnyro in #4381
- fix: crash when download file doesn't exist by @Bnyro in #4369
- fix: crash when pip not supported by @Bnyro in #4370
- fix: don't load audio player thumbnail when data saver mode is on by @Bnyro in #4433
- fix: download success notification by @Bnyro in #4268
- fix: duplicate comments by @salahmak in #4422
- fix: fullscreen orientation after shorts video by @Bnyro in #4296
- fix: hide add to queue option for playlists when queue empty by @Bnyro in #4432
- fix: improve contrast of watch progress on thumbnails by @Bnyro in #4297
- fix: improve filtering of DeArrow titles and thumbnails by @Bnyro in #4286
- fix: only add videos to watch history if playback started by @Bnyro in #4366
- fix: playback of live videos by @Bnyro in #4395
- fix: play video's default audio track by default by @Bnyro in #4351
- fix: preserve the video order of imported playlists by @Bnyro in #4339
- fix: queue when not starting with first playlist/channel video by @Bnyro in #4397
- fix: regression from fixing auto rotation for auto play by @Bnyro in #4299
- fix: regressions introduced by new chapters layout by @Bnyro in #4377
- fix: respect preference to not start playing automatically everywhere by @Bnyro in #4368
- fix: show progress bar while search in progress by @Bnyro in #4319
- fix: show search history when clearing query by @Bnyro in #4383
- fix: Sort local playlists based on selected preference by @0x24D in #4328
- fix: Sort videoIds before performing DeArrow fetch by @FireMasterK in #4290
- fix: SponsorBlock preferences UX improvements by @Bnyro in #4341
- fix: string capitalization by @Isira-Seneviratne in #4424
- fix: use Files.createDirectories() by @Isira-Seneviratne in #4307
- fix: wrong indicated download progress by @Bnyro in #4447
Refactor / code changes
- refactor: change skip silence button from switch to checkbox by @Bnyro in #4444
- refactor: cleanup CommentsSheet by @Bnyro in #4340
- refactor: cleanup subscriptions fragment by @Bnyro in #4275
- refactor: cleanup subtitle logic by @Bnyro in #4353
- refactor: let player handle video codecs pref and support it with HLS by @Bnyro in #4264
- refactor: replace View#setVisibility with kotlin visibility extension by @Bnyro in #4355
- refactor: Use LocalDate.ofInstant() by @Isira-Seneviratne in #4430
Chore
- chore: Add AGP to version catalog by @Isira-Seneviratne in #4313
- chore: add script to generate hard coded instances by @Bnyro in #4249
- chore: fix location of player settings icon by @IndusAryan in #4420
- chore: fix project formatting by @Bnyro in #4277
- chore: only show subscriptions count when subs are visible by @Bnyro in #4388
- chore: remove unneeded type annotations by @Bnyro in #4354
- chore: simplify RecyclerView.Adapter#getItemCount where possible by @Bnyro in #4379
- chore: trim search history entries before saving by @Bnyro in #4446
New Contributors
- @IndusAryan made their first contribution in #4317
- @0x24D made their first contribution in #4328
- @salahmak made their first contribution in #4422
- @andrew-ld made their first contribution in #4405
Full Changelog: v0.16.1...v0.17.0