Releases: advplyr/audiobookshelf
Releases Β· advplyr/audiobookshelf
v2.9.0
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
v2.8.1
Added
- Book library setting to skip earlier books in Continue Series home page shelf #2687 by @justcallmelarry in #2737
- Sorting options to authors page #2547 by @KeyboardHammer in #2580
- Keyboard navigation for multi-select dropdown inputs #2555 by @mikiher in #2721
- Book library filters for "Has no ebook" and "Has no supplementary ebook" #1889 by @Teekeks in #2677
- Abridged checkbox to batch edit page overwrite map details box #2695
- Traditional Chinese translations by @den13501 in #2732
- Vietnamese translations (thanks saigonviral in Discord!) by @nichwall @2726
- Hungarian translations by @megamegax in #2636
- Estonian translations by @RasmusKoit in #2644
Fixed
- Applying backups not overwriting an existing sqlite db file and not resetting API cache after applied
- Web client audio player handling HLS transcodes #2748 #2720
- Chapters modal not always scrolling to the current chapter
- Audible match provider incorrect series sequence parsing (now pulls first number) #2710 by @mikiher in #2734
- Author text input getting clipped in edit book details modal #2700 by @mikiher in #2714
- Resizing page not updating chapter ticks in audio player #2707
- Podcast schedule max new episodes unable to set to 0 #2680
- After cover update, cover appears broken until page is reloaded #2556 #2593 by @mikiher in #2573
- Logger showing incorrect error source by @lkiesow in #2692
- File names with URL control characters improperly encoded (specific to XAccel) by @lkiesow in #2691
- Broken BinaryManager.isBinaryGood test by @mikiher in #2742
- Server crash when matching a book and store cover with item is enabled (race condition) #2693 by @mikiher in #2724
- Server crash during quick match (from duplicate authors) #2650 by @mikiher in #2659
- Server crash on logout with OIDC and logout URL is not set by @Sapd in #2738
Changed
- Login page includes logo and improved UI #2682 by @mfcar in #2688
- Custom metadata provider allows for ISBN searching by @kaldigo in #2733
- Setting Cache-Control for cover image requests (client side cover image caching) by @mikiher in #2694
- Increased OIDC request timeouts to 10s (from 3.5s) #2669
- Login page username/password leading and trailing whitespace #2628
- Binary manager for windows installer set to use ffmpeg/ffprobe v5.1 (fixes #2689)
- Login form inputs include "name" attributes to assist password managers by @Schiriki123 in #2740
- Included robots.txt disallow all and noindex meta tag
- SKIP_BINARIES_CHECK env variable is supported (fixes #2741)
- Included Unit tests github workflow by @mikiher in #2745
- More strings translated
- Traditional Chinese by @den13501 in #2732
- Vietnamese by @nichwall in #2726
- Hungarian by @megamegax in #2636
- Estonian by @RasmusKoit in #2644
- Italian by @burghy86 in #2629
- Portuguese (Brazil) by @pmangro in #2634 #2639 #2676 #2699
- German by @lonezel @Teekeks @JBlond in #2635 #2641 #2657
- Spanish by @DownloadableFox in #2638
- French by @Machou in #2673
New Contributors
- @lonezel made their first contribution in #2635
- @megamegax made their first contribution in #2636
- @DownloadableFox made their first contribution in #2638
- @RasmusKoit made their first contribution in #2644
- @KeyboardHammer made their first contribution in #2580
- @den13501 made their first contribution in #2732
- @justcallmelarry made their first contribution in #2737
- @Schiriki123 made their first contribution in #2740
Full Changelog: v2.8.0...v2.8.1
v2.8.0
Note: ARMv7 Docker images are no longer supported (drops support for all 32bit OS docker installs)
Added
- Allow adding a custom message on login page (from auth config page) #2552
- Ability to add custom metadata providers (from item metadata utils) by @Dewyer @FlyinPancake in #2486
- Crash logs are stored in
/metadata/logs/crash_logs.txt
(fixes #706) - Portuguese (Brazil) translations by @pmangro in #2620
- Podcast library setting to set iTunes search region (currently only US and China) by @liaochuan in #2491
- OpenID: Edit user modal shows button to unlink user from OpenID #2587
Fixed
- Rich text editor labels not being translated
- Raw cover art shown on lockscreen by @ipcintron in #2567
- Return PNG from audiobookcovers.com search by @Weldawadyathink in #2570
- Mobile offline listening sessions storing incorrect last update timestamp
- Global search menu width on mobile screen size
- Audio player buttons to be proper HTML buttons for screen readers #2599
- Trim whitespace for ASIN chapter lookups #2605
- Year in Review page crashes server (when item has a null genre) #2623
- Logging out and logging into new user not reconnecting socket
- Library filter data cache not clearing on updates #2527 #2597
Changed
- Dropped support for ARMv7 Docker images
- Updated to Node 20
- Author matching uses closest levenshtein distance match #2624
- Library item description and author description are clamped to 4 lines with read more button #2614
- OpenID: Implement Logout + Fix state + Fix URL Regex by @Sapd in #2553
- Binary manager for windows install checks for ffmpeg v5.1 and v6.x by @mikiher in #2554
- Podcast episode downloads show progress in debug logs and show full ffmpeg debug log output on failures
- PWA iOS app icon to match icon used in the iOS app #2520 by @ipcintron in #2617
- PWA theme color matches appbar color #2618 by @ipcintron in #2619
- Audiobook RSS feeds only use chapter titles for episodes if all audio tracks match chapter times #2543
- Readme update with HAProxy example by @Torstein-Eide in #2510
- More strings translated
New Contributors
- @Torstein-Eide made their first contribution in #2510
- @bloodscript made their first contribution in #2559
- @Teekeks made their first contribution in #2564
- @ipcintron made their first contribution in #2567
- @Dewyer made their first contribution in #2486
- @pmangro made their first contribution in #2620
- @liaochuan made their first contribution in #2491
Full Changelog: v2.7.2...v2.8.0
v2.7.2
Added
- Scanner parses epub metadata and extracts cover art #1479
- Scanner parses comic metadata (limited) and extracts cover art #1837
- Playlist button to podcast episodes on latest page #2455
- Binary manager for Windows install by @mikiher in #2391
Fixed
- Library folder browser for Debian installs
- Refresh podcast episode table when new episodes are downloaded
- Improve performance for podcast rss feed episodes modal with large rss feeds
- Export OPML not escaping characters #2487
- Parse series sequence from OPF in specific cases #2505
- Specific podcast rss feed cannot be fetched due to Accept header #2446
- Comic reader page menu highlighting the wrong current page
Changed
- Media session uses raw cover art #2514
- Library item & podcast episode cards with truncated titles show tooltip on hover #2451
- Add tini as PID 1 handler in container image by @FreedomBen in #2488
- Update logger to replace dev logs with debug by @FreedomBen in #2506
- Hide audiobook management tools for Windows installs
- More strings translated
New Contributors
- @FreedomBen made their first contribution in #2488
Full Changelog: v2.7.1...v2.7.2
v2.7.1
Fixed
- Podcast performance server side: Slow queries for podcasts with many episodes #2073
- Podcast performance client side: Slow/unusable podcast page when podcast has many episodes (added lazy loading) #1549
- Playlist navigation button not showing on mobile screens #2469
- Server crash when file is added and removed quickly #2332 by @thevoltagesource in #2465
- Merging chapters from multiple audio files when audio files have the same chapter titles #2461
- Unable to fetch RSS feed for specific podcasts (updated request header) #2446
- Book scanner not updating sequence if only the sequence was changed
- Podcast episode showing 0 seconds remaining when toggling finished
Changed
- OPF file supports multiple series by @jedrus2000 in #2444
- Add a SIGINT handler for proper server shutdown by @mikiher in #2445 #2454
- CORS for /cover API endpoint for use in canvas in the mobile apps
New Contributors
- @jedrus2000 made their first contribution in #2444
- @thevoltagesource made their first contribution in #2465
Full Changelog: v2.7.0...v2.7.1
v2.7.0
Note: OpenID Connect Authentication requires mobile app v0.9.70-beta or up
Added
- Year in review stats images to user stats page #2373
- Ability to fetch book data in uploader by @kieraneglin in #2333
- Zoom controls to comic reader by @pablojimenezmateo in #2431
Fixed
- Vulnerability report GHSA-gjgj-98v3-47pg and GHSA-jhjx-c3wx-q2x7
- Cache not clearing for homepage shelves when media progress is updated #2392
- Narrators page 404 on page reload #2359
- Hide Change Password when Password Authentication is disabled #2367
- Server crash when user created through OIDC attempts password login #2378
- Issue parsing some RSS feeds that require accept header #2401
- RSS feeds for collections not updating when adding/removing books #2414
- Cover size widget hidden behind audio player #2443
Changed
- Listening sessions table allows multi-select to delete, sorting with column headers & changing rows per page
- Initial startup database cleanup includes removing playback sessions that have a listening time of 3s or less
- Sort audible match results by closest duration #2238 and other match improvements by @mikiher in #2400
- Audible series sequences that include spaces will only take the first part of the string (and commas removed) #2380
- SSO/OpenID: Use a mobile-redirect route (Fixes #2379 and #2381) by @Sapd in #2386
- SSO/OpenID: Provide error messages to logs by @Sapd in #2365
- Sample Docker Compose file comments by @nichwall in #2415
- Readme update for synology reverse proxy by @treyg in #2420
- More strings translated
New Contributors
- @Sapd made their first contribution in #2365
- @kieraneglin made their first contribution in #2333
- @nichwall made their first contribution in #2415
- @treyg made their first contribution in #2420
- @pablojimenezmateo made their first contribution in #2431
Full Changelog: v2.6.0...v2.7.0
v2.6.0
Added
- SSO via OpenID Connect authentication #998 by @lukeIam and @Sapd in #1636 Guide
- Simple API caching for /libraries* requests by @mikiher in #2343
- NFO files as book metadata source by @mikiher in #2305
- Czech translations
- Swedish translations
Fixed
- Server crash when matching specific characters in author names #2265
- Podcast episode cron not adding/removing library items #2277
- Watcher fails to add single audio file to library if library is audiobooks-only #2282 by @mikiher in #2283
Changed
- Library scanner settings metadata precedence reversed in the UI to be more intuitive (1 is highest priority)
- Podcast "Search" page renamed to "Add" #2301
- "Delete from file system" checkbox in delete modal persists locally #1689
- "Full Path" option for tables persists locally #2285
- Generated RSS feed updates to support certain podcast apps by @clement-dufour in #2272
- Collection table rows hide duration if 0 #2278 by @brianjaustin in #2291
- Log lines include milliseconds by @lkiesow in #2325
- Unit testing implemented by @mikiher in #2300
- Multiple items added socket event inserts items to recently added shelf on the home page instead of refreshing all shelves #2323
- Env flag to enable dev logs in production by @lkiesow in #2326
- More strings translated
New Contributors
- @clement-dufour made their first contribution in #2272
- @radekmuhlfeit2 made their first contribution in #2274
- @Plazec made their first contribution in #2276
- @ScuttleSE made their first contribution in #2288
- @brianjaustin made their first contribution in #2291
Full Changelog: v2.5.0...v2.6.0
v2.5.0
Added
- Scanner settings tab in the edit library modal to manage the scanners metadata precedence (See scanner guide)
- Tools tab in the edit library modal to batch remove all
metadata.json
ormetadata.abs
files in library folders - Support for pasting semicolon separated strings into multi-select inputs #1198
- Scanner recognizes ASIN when inside brackets. e.g.
[B002UZJGYY]
#1852 - Epub ereader setting to change font family (serif/sans-serif) by @MxMarx in #2253
- Epub ereader search for text within epubs in the TOC sidemenu #2045 by @MxMarx in #2255
- Ereader device setting to allow users to send ebooks to device #1982
- API endpoint to post file changes to the watcher #2204 by @mikiher in #2249
- API endpoints for uploading and removing an author image
- Danish translations
Fixed
- Vulnerability report GHSA-mgj7-rfx8-vhpr
- Server crash when scanner find covers fails #2164
- Server crash when searching for a cover without an author #2174
- Server crash when downloading book that is a file in the folder root directory #2199
- Server crash when removing the last item of a playlist #2211
- Server crash when searching for episodes of certain RSS feeds #1996
- Old streams stored in
/metadata/streams
not being cleaned up on server initialization #2209 - Local playback sessions from mobile not showing in stats chart #2168
- Global search not working with non-ASCII characters due to capitalization #2187
- Scanner not detecting file renames #1161
- Line breaks not showing for author description #2218
- Patreon RSS feeds not showing already downloaded episodes #2207
- Book scanner not setting item as missing when it has no media files #2226
- Different aspect ratio for author images being used on authors landing page (now using 1:1.25) #2227
- Version in bottom left side rail overlapping navigation buttons #2195
- Watcher selecting incorrect folder due to incorrect subpath check #2244 by @mikiher in #2245
- Authors still being shown to users when they have no access to the books by that author #2250
- Watcher triggering scan before file is fully copied to folder #1362
- Opening an RSS feed for a collection or series doesn't respect prevent indexing flag #2047
Changed
- Removed support for
metadata.abs
files (upgrade createsmetadata.json
files if they don't exist) - Clicking the cover image on the library item page or the audio player opens shows an enlarged view #1853 by @MxMarx in #2246
- Replaced cover path inputs in the library item and author modal with an input to download image via URL from the web
- Removed server settings for "Prefer OPF metadata", "Prefer audio metadata" and "Prefer overdrive media markers"
- Improved fuzzy matching by @mikiher in #2186
- Book match list items shows a comparison of the current books duration #1803
- HLS transcoder always falls back to forcing AAC for AAC supported files #2157 by @Alistair1231 in #2171
- Library scan toast notification replaced with task shown in the notification widget #1279
- Watcher scans are shown in the notification widget
- Library item page description width matches the width of the library file tables
- Scan button is displayed on the libraries table
- Help icons added in admin config pages to link to docs or guides
- More strings translated
- Spanish by @MarshDeer in #2175
- Simplified Chinese by @springsunx in #2215
- German by @JBlond @Hallo951 in #2229 #2233
New Contributors
- @MarshDeer made their first contribution in #2175
- @MxMarx made their first contribution in #2253
Full Changelog: v2.4.4...v2.5.0
v2.4.4
Added
- Fuzzy matching for metadata providers #396 by @mikiher in #2099
- Norwegian translations by @husjon in #2138
- Delete author button shown on edit author modal #2124
Fixed
- (improved) Home page & library item page loading speeds #2073
- Scanner overwriting user edited details when metadata file is not stored with media #2155
- Books with ebook not setting the ebookType correctly (causing mobile pages not to load) #2126
- Book rescan extracting cover from audio file again #2110
- Open RSS feeds not updating with new feed episodes #2139
- Search metadata providers incorrectly encoding inputs #2128 by @mikiher in #2129
- Scanner never finishing when running a quick match on a library with no items #2118
- Collapse sub-series showing JSON object on hover instead of series name #2140
- Listening sessions config page showing wrong user on open sessions when filtering by user #2136
- Scanned in OPF files creating empty tags and genres #2142
- Adding a new podcast with auto download enabled not setting the schedule correctly #2160
- Newest episodes home page shelf not showing episodes #2119
- Recent series home page shelf shows single book series when "hide single book series" library setting is enabled #2134
- Downloading podcast episodes creating duplicates #2122
- Bad backup file causing other backup files to not be displayed on backup page #1961
- x-accel: encode all paths to URIs by @itzexor in #2120
Changed
- Backup page shows location path & downloads show filename #2043 by @mfcar in #2133
- Authors page shows authors with no books (previously filtered out)
- Library folder path in library edit modal is editable until submit #2150
- Add ability to enable DEV logs of Sqlite queries by @selfhost-alt in #2102
- More strings translated
New Contributors
- @itzexor made their first contribution in #2120
- @mikiher made their first contribution in #2129
- @husjon made their first contribution in #2138
Full Changelog: v2.4.3...v2.4.4
v2.4.3
Fixed
- Duplicate authors and series being created #2106
- Scanner purge old cover image cache when new cover is found
- Slow queries on server init that check for invalid db records by @selfhost-alt in #2103
- Server crash when parsing full names by @selfhost-alt in #2101
- Server crash when removing an item from a playlist #2115
Full Changelog: v2.4.2...v2.4.3