Added
- OpenID Connect Auth supports setting user type and permissions #2523 (also fix #2440) by @Sapd in #2769
- OpenID Connect Auth supports setting signing algorithm by @apocer in #2820
- Podcast library filter for language
- Support for webp images in cbz/cbr comic files #2792
- Hebrew translations by @arcmagedr #2756
- Ukrainian translations by @cor-bee in #2757
- Bengali translations by @soaibsafi in #2840
Fixed
- Podcast episode downloads failing to download with some embedded cover art (now excluding non-audio streams) #2858
- Library "Match Books" only running on first 100 books #2096
- metadata.json files not being updated when using item metadata utils #2837
- Enabling/disabling library watcher not taking effect until server restart #2775
- Local (offline) listening sessions from mobile clients set on the wrong day #2795
- Scanner issue after renaming/moving files #2686 #2767 by @mikiher in #2773
- Server crash when scanning bad epub file #2856
- Server crash when matching an item with cover and cover fails to download #2857
- Server crash when using a custom metadata provider by @rasmuslos in #2784
- Server crash when matching a book and the author name ends in a comma #2796
- "Skip earlier books in Continue Series" library setting returning less than 10 books by @justcallmelarry in #2789
- Podcast episode audio file meta tag for "subtitle" being used for episode description over "description" meta tag #2843
- UI/UX: Home page default view always showing horizontal scrollbar
- UI/UX: Audio player playback icons overlapping on smaller screen #2799
- UI/UX: Multiple series on book page not showing comma separator by @lkiesow in #2821
Changed
- ASINs are case insensitive when matching #2849
- Transcoder falls back to forcing AAC (to handle bad m4b encodes) #2720
- UI/UX: Updated UI to support RTL languages by @mikiher in #2797
- UI/UX: Audiobook page shows chapters table above tracks table (matching mobile apps) #2778
- UI/UX: Listening sessions table & modal shows client name by @rasmuslos in #2805
- UI/UX: Edit item modal cover tab cleaned up for small screens #2832
- UI/UX: Show language detail on podcast/book item page #2834
- UI/UX: "Tags Accessible to User" setting shows tags in alphabetical order #2667
- UI/UX: Library stats page formats number strings based on locale + cleanup #2861
- API Update: Removed old/unused "missingParts" and "invalidAudioFiles" from Book object and "invalid" from AudioFile object
- More strings translated
- Bengali by @soaibsafi in #2840
- Simplified Chinese by @springsunx in #2817
- Italian by @burghy86 in #2777
- Ukrainian by @cor-bee in #2757
- Portuguese (Brazil) by @pmangro in #2760 #2802
- Hebrew by @arcmagedr in #2756
Internal
- Implementing OpenAPI spec for Author API endpoints by @nichwall in #2803
- Github workflow for validating i18n files by @nichwall in #2780 #2841
- Readme includes translations guide by @nichwall in #2787
- Github workflow fix for unit tests on PRs by @mikiher in #2757
- Github workflow to trigger Windows tray app releases by @mikiher in #2791
- Github workflow for CodeQL by @jorgectf in #1888
New Contributors
- @arcmagedr made their first contribution in #2756
- @cor-bee made their first contribution in #2772
- @jorgectf made their first contribution in #1888
- @soaibsafi made their first contribution in #2840
- @apocer made their first contribution in #2820
Full Changelog: v2.8.1...v2.9.0