Added
- Podcast episode table sorting option for filename + show filename when sorting by it #3637 by @4ch1m in #4030
Fixed
- Possible to queue multiple of the same episode for download #2672 #4036 by @nichwall in #4041
- Scanning epub not using first image for cover in some cases #4105 by @Roukanken42 in #4106
- Publish year not saving when matching with OpenLibrary #4114 by @GabrielGavrilov in #4118
- UI/UX: Whitespace in custom metadata provider inputs not being trimmed #4069
- UI/UX: RTL support on podcast episodes table rows by @mikiher in #4082
Changed
- Improved book library page performance for author sort by @mikiher in #4080
- Improved podcast latest episodes page performance #4043 by @mikiher in #4080
- Podcast page play button plays first incomplete episode in the table by @nichwall in #4035
- Playing episodes from the podcast page populates the player queue based on the order in the table by @nichwall in #4035
- Migration manager ignores non-js files #4042 in #4078
- Update OPF file parser to support OPF v3 refines meta elements #4109 in #4113
- UI/UX: Rename setting "Enable Watcher" to "Automatically scan libraries for changes" #4095
- UI/UX: Rename setting "Enable automatic backups" to "Automatic backups" #4095
- UI/UX: Search/download podcast episodes modal indicates episodes that are queued for download
- UI/UX: Update native browser confirm prompts to use our custom confirm modal
- UI/UX: Podcast page improvements for screen readers
- UI/UX: Spelling by @gitting in #4093
- API: Support custom createdAt and finishedAt timestamps when creating media progress by @justcallmelarry in #3546
- API: Support custom finishedAt timestamp when updating media progress #4094 by @Vito0912 in #4097
- API: Custom metadata provider responses are sanitized and validated by @Vito0912 in #4075
- More strings translated
- Belarusian by @i-Nosferatu-i
- Chinese (Simplified Han script) by @springsunx
- Croatian by @biuklija
- Danish by @MorellReng
- Dutch by @ranforingus
- Finnish by @Ricky-Tigg @phewi
- German by @schoenfeldj
- Hindi by @prashant-mhatre
- Japanese by @Xeratone
- Slovak by @pecer
- Slovenian by @thehijacker
- Swedish by @Krissse10 @Cotignac @Landrash
- Ukrainian by @Maksim2005UA
Internal
- Fix 2.15.0 migration test by @nichwall in #4055
- Cleanup Logger by @nichwall in #4089
- Use transactions when removing empty series and authors with no books by @nichwall in #4088
- ci: update actions by @jfrazx in #4119
New Contributors
- @gitting made their first contribution in #4093
- @Roukanken42 made their first contribution in #4106
- @GabrielGavrilov made their first contribution in #4118
Full Changelog: v2.19.5...v2.20.0