Releases: advplyr/audiobookshelf
Releases · advplyr/audiobookshelf
v2.13.0
Added
- Mark as Finished button on podcast latest page #3321
- Notification events for backup successful and failed #3158 by @nichwall in #3225
Fixed
- Create library API endpoint not restricted to admin users CVE-2024-43797 (fixes GHSA-gg56-vj58-g5mc)
- Authors with 0 books (and no ASIN, image and description) not being removed
- Embedding metadata on single file audiobooks in library root folder #3323 by @mikiher in #3329
- Server crash when calling M4B merge on a book already being merged #3331
- Server crash when requesting author image was that doesnt exist #3267 by @mikiher in #3313
- Server crash on library scan - close archiver after extracting comic #2750 by @nichwall in #3312
- Restoring backups was not purging cache #3272 by @nichwall in #3311
- Container not starting - Skip BinaryManager for Docker installs #3266
- Series page not showing collapse subseries #3278 by @mikiher in #3288
- Audible book match search fails when query resembles ASIN #3314
- Downloading M4B files on Apple mobile device incorrectly interprets content-type #3310 by @chancez in #3319
- UI/UX: Keyboard controls for dropdown menus #3286 by @mikiher in #3294
- UI/UX: Series and collection items not respecting library aspect ratio by @mikiher in #3328
Changed
- Memorystore refactored and set as default session store #2538 by @itzexor in #3332
- Podcast episode audio file meta tag uses album-artist for author (falls back to artist tag) #3315
- Next Chapter button plays next item in queue when at end of current item #3299
- Log local auth attempts for failed and successful logins #2533 #2579
- Revert BinaryManager to use ffbinaries by @mikiher in #3278
- Server code cleanup to remove old data model objects (Author, Library, Folder, User & MediaProgress)
- UI/UX: Authors page number of books sort falls back to author name
- UI/UX: Author in global search result & author name on library stats page links to author page
- UI/UX: Prevent line breaks in file sizes by @faush01 in #3271
- UI/UX: Material symbols font clean up
- More strings translated
Internal
- Update api linting workflow by @nichwall in #3305
- Config issue workflow by @nichwall in #3348
- Cleanup translation strings for Weblate by @nichwall in #3350
New Contributors
Full Changelog: v2.12.3...v2.13.0
v2.12.3
Fixed
- Server crash with SQLITE_CORRUPT error (reverted unicode extension) #3241
Changed
- Localization for year in review images by @Vito0912 in #3262
- Add log for library item download by @ic1415 in #3245
- Reverted accent-insensitive search (original issue #2678)
New Contributors
Full Changelog: v2.12.2...v2.12.3
v2.12.2
Fixed
- Revert session MemoryStore back to default #3251
- Podcast episode download request failing due to user-agent string #3246
- UNC path normilization #640 by @mikiher in #3254
Changed
- Changelog modal shows all releases with the same major/minor version #3250
- Random sort option skips caching #3249
- More strings translated #3247
- Simplified Chinese by @springsunx
Full Changelog: v2.12.1...v2.12.2
v2.12.1
Fixed
- Server crash loading unicode.so sqlite extension #3231 by @devnoname120 in #3236
Changed
- More strings translated
- Simplified Chinese by @springsunx
- German by @Vito0912
New Contributors
- @devnoname120 made their first contribution in #3236
Full Changelog: v2.12.0...v2.12.1
v2.12.0
Note: New required binary added for unicode support in sqlite (auto-downloaded on server start) (source: sqlean). See #3199
Added
- Player setting to set the skip forward/backward time #1995 by @glorenzen in #3113
- Player "End of chapter" option for sleep timer #2059 by @glorenzen in #3151
- Progress percentage for book m4b merge and metadata embed tools #1986 by @mikiher in #3182
- Random sort for book/podcast library and series #3166
- Support for accent-insensitive search #2678 by @mikiher in #3199
- UI/UX: Book library setting to show subtitles on book cards (in toolbar context menu) #2774 by @mikiher in #3117
Fixed
- Filter data not populated when opening item page directly #3209 by @mikiher in #3212
- Podcast episode match not encoding search query #3177
- Series and collection RSS feeds maintaining book order #3137
- Server crash on duplicate series in OPF #3123 by @mikiher in #3152
- M4B merge and embed tools check folder permissions #3143 by @mikiher in #3182
- M4B merge and embed tools stripping file permissions #3146 by @mikiher in #3204
- Switching libraries while on search page losing search query
- Backups not restoring properly (ensure metadata paths exist before restoring) #2904 by @nichwall in #3186
- Series & collection RSS feeds not setting cover image #3193
- Media item shares unable to be set more than 24 days duration #3164
- Debian/PPA re-downloading ffmpeg/ffprobe on every reinstall #633
- UI/UX: Changelog not shown when opening from settings page #3232
- UI/UX: Series bookshelf row padding when using ignore prefixes setting #3169
Changed
- Debian package downloads dependencies when necessary on server start (instead of Debian preinstall)
- Debian/PPA: The old location of ffmpeg/ffprobe at
/usr/lib/audiobookshelf-ffmpeg
is no longer used and can be removed
- Debian/PPA: The old location of ffmpeg/ffprobe at
- Global library search includes genres #2937 by @mikiher in #3185
- OPML import now runs in the background to prevent timeouts #3118
- Fetch more home page items on wide screens #2518 by @glorenzen in #3160
- Backup settings allow for unlimited size with "0" #3157 by @ajyey in #3163
- NFO metadata parser now supports language by @ajvgwu in #3170
- Improved epub scanner to pull the correct cover image and parse OPF metadata #3201
- M4b merge tool persist advanced encoding settings by @faush01 in #3214
- Log when an ebook is downloaded #3215 by @ic1415 in #3217
- Replace default session memorystore with stable memorystore #2538
- UI/UX: Match tab supports clicking on current value to set it #3200
- UI/UX: Simplify ItemSearchCard component logic by @mikiher in #3195
- UI/UX: Format numbers in user stats page based on language locale #3187
- UI/UX: Library stats page moved to library siderail (also stayed in the settings nav for now) #3134
- UI/UX: Update material icons font to material symbols by @glorenzen in #3138
- More strings translated
Internal
- Add: workflow to close issues on release by @nichwall in #3208
- Move cypress to optionalDependencies #3183 by @brendans-bits in #3184
- OpenAPI schema updates by @nichwall in #3139 #3140 #3179
- devcontainer dev.js defaults to not skip binaries anymore
- Removed all references to the Matrix server
New Contributors
- @glorenzen made their first contribution in #3138
- @ajyey made their first contribution in #3163
- @ajvgwu made their first contribution in #3170
- @brendans-bits made their first contribution in #3184
- @faush01 made their first contribution in #3214
- @ic1415 made their first contribution in #3217
Full Changelog: v2.11.0...v2.12.0
v2.11.0
Added
- Create book share links with expiration (admin users only) #1768
- Email settings option to enable/disable rejecting unauthorized certificates (default enabled) #3030
- Support for disabling SSRF request filter with env variable (DISABLE_SSRF_REQUEST_FILTER=1) #2549
- Support for custom backup path on backups config page or with env variable (BACKUP_PATH=/path/to/backups) #2973
- Epub ereader setting for font boldness #3020 by @BimBimSalaBim in #3040
- Finnish translations
Fixed
- Casting podcast episodes #3044
- Match all authors hitting rate limit #1570 by @jfrazx in #2188
- Scheduled library scans using old copy of library #3079 #2894
- Changing author name in edit author modal not updating metadata JSON files #3060
- AB merge tool not working in Debian pkg due to ffmpeg v7 #3029
- Download file ssrfFilter URL by @dbrain in #3043
- Overdrive mediamarkers incorrect timestamp parsing #3068 by @nichwall in #3078
- Unhandled exception syncing user progress by @taxilian in #3086
- Server crash from library scanner race condition by @taxilian in #3107
- UI/UX: PDF reader flickering #2279
- UI/UX: Audio player long author name overflowing #3038
- UI/UX: Audio player long chapter name overflowing
Changed
- Replace Tone with Ffmpeg for embedding metadata by @mikiher in #3111
- Playback sessions are closed after 36 hours of inactivity
- User agent string for podcast RSS feed and file download requests by @mattbasta in #3099
- Increased time delay between when watcher detects a file and when it scans the folder
- Prevent editing backup path if it is set using env variable by @nichwall in #3122
- UI/UX: Show publish date in changelog modal #3124 by @nichwall in #3125
- UI/UX: Chapters table "End" column changed to a "Duration" column #3093
- UI/UX: Bookshelf refactor for consistent scaling by @mikiher in #3037
- UI/UX: Cleaner error page for 404s
- More strings translated
- Bulgarian by @lembata
- Croatian by @Smoukus @Sara492
- Czech by @Plazec @kuci-JK
- Danish by @nightgolfer
- Finnish by @spetke @phewi
- French by @Machou
- German by @JBlond @Dalabad @Vito0912 @valenbar
- Italian by @burghy86 @zichichi
- Lithuanian by @petras-sukys
- Norwegian by @comradekingu
- Polish by @ahetek
- Portuguese (Brazil) by @pmangro
- Russian by @Nab0y
- Simplified Chinese by @springsunx
- Spanish by @diamondtipdr
- Ukrianian by @cor-bee
Internal
- Update i18n workflow to 1.3.0 by @nichwall in #3063
- Translation readme update by @nichwall in #3054
- OpenAPI schema updates by @nichwall in #3095 #3116
- Replace pkg with @yao-pkg/pkg and target node20 by @mikiher in #3126
New Contributors
- @dbrain made their first contribution in #3043
- @BimBimSalaBim made their first contribution in #3040
- @jfrazx made their first contribution in #2188
- @weblate made their first contribution in #3053
- @taxilian made their first contribution in #3086
- @mattbasta made their first contribution in #3099
Full Changelog: v2.10.1...v2.11.0
v2.10.1
Fixed
Changed
- Improved performance for loading playlists #2852
- More strings translated
New Contributors
Full Changelog: v2.10.0...v2.10.1
v2.10.0
Added
- Library setting to enable scripted content in epub ereader (previously enabled by default)
- Bulgarian translations by @lembata in #2966
Fixed
- Users unable to edit their playlists #3016 by @nichwall in #3017
- Embedded chapters not sorted when probed from audio files #3007
- Image in fullscreen cover modal not updating on cover change #2900
- Switching libraries while viewing a series page shows "No results" (now redirects to series home) #2902
- Users created with leading/trailing whitespace cannot login (usernames are now trimmed) #2882
- Email settings not using port 465 failing to connect #2765
- Server crash when transcodes fail to write concat file
- Inconsistent progress bars shown on series & collapsed series #2921 by @mikiher in #2954
- Incorrect order of author names on book cards #2859
- Multi select inputs allow inserting items consisting of only whitespace
- Collapse series and filter by "No series" shows no results #2976
- Podcast episode downloader downloading duplicate epsiodes if enclosure url changed #2986
- UI/UX: Chapter editor time input skipped when tabbing #2685 by @nichwall in #3009
- UI/UX: Ebook only book card more menu jumping to the top of the screen on hover #2980
- UI/UX: Author image not updating on author page when changed until page refresh #2934
- UI/UX: Audio player cover art aspect ratio changing to match current library #2870
Changed
- Security update: Scripted content in epub ereader is disabled by default GHSA-7j99-76cj-q9pg
- Tags & Narrators on the Match tab show as multi-select inputs by @BrianCArnold in #3014
- Matching providers have a 30s timeout #3000
- Podcast library setting for iTunes search region now supports all regions by @v3DJG6GL #2877
- Improve performance on library stats page by updating author queries by @CoffeeKnyte in #2896
- Environment variable supported to enable CORS (ALLOW_CORS=1)
- API endpoint added to get listening sessions for a specific item by @rasmuslos in #2920
- UI/UX: Ereader devices table shows "Accessible by" column #2990 #2991 by @nichwall in #3010
- UI/UX: Upload page shows media item name in success/failure alerts #2958
- UI/UX: Include link to email settings guide on email settings page #2917 by @nichwall in #2929
- UI/UX: Include link to logs guide on logs page #2932 by @nichwall in #2933
- UI/UX: Close book edit modal when pressing chapter edit button and already on chapter edit page #2915
- UI/UX: Users table highlights disabled users as red #2876
- UI/UX: Decrease breakpoint on audio player before switching to mobile mode #2868
- UI/UX: Use "×" instad of lowercase x for image resolutions #2888
- UI/UX: Padding between new & current cover image in Match tab #2889 by @nichwall in #2930
- More strings translated
Internal
- Cleanup custom metadata provider schema by @ahobsonsayers in #2891
- Add client component testing framework and tests by @mikiher in #2853
- Update editor config formatting by @ahobsonsayers
- Bug report issue template improved by @nichwall in #2927
- Feature request issue template improved by @nichwall in #2955
- devcontainer skips binaries check
New Contributors
- @v3DJG6GL made their first contribution in #2877
- @ahobsonsayers made their first contribution in #2891
- @Myticktack made their first contribution in #2916
- @CoffeeKnyte made their first contribution in #2896
- @MarcinKlejna made their first contribution in #2967
- @lembata made their first contribution in #2966
- @diamondtipdr made their first contribution in #3002
- @BrianCArnold made their first contribution in #3014
Full Changelog: v2.9.0...v2.10.0
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