Releases: advplyr/audiobookshelf
Releases · advplyr/audiobookshelf
v2.27.0
Important: New authentication system was added in v2.26.0. See #4460 for details.
Added
- Book library sort option for progress last updated #1215 (in #4542)
- Sepia theme in epub e-reader #4407 by @michaeldvinci in #4534
Fixed
- All e-reader devices visible to non-admin users #4529 (in #4530)
- UI/UX: Edit chapter page lookup modal showing incorrect duration when removing branding by @chriscam85 in #4551
- UI/UX: Cursor pointer for version in side rail by @FelixSche in #4528
- UI/UX: Sessions table overflowing horizontally on mobile
Changed
- UI/UX: Localized user stats heatmap tooltip #4550
- More strings translated
- Belarusian by @i-Nosferatu-i
- Chinese (Simplified Han script) by @FiendFEARing
- Danish by @MikkelOlesen
- Dutch by @RemcoSchrijver @Pepsicola1995
- German by @B0rax @Vito0912 @networksecurityvodoo
- Hebrew by @enosh
- Hungarian by @ugyes @Kabika82
- Russian by @GrakovNe
- Slovenian by @thehijacker
- Swedish by @Cotignac
- Ukrainian by @Maksim2005UA2
New Contributors
- @FelixSche made their first contribution in #4528
- @michaeldvinci made their first contribution in #4534
- @chriscam85 made their first contribution in #4551
Full Changelog: v2.26.3...v2.27.0
v2.26.3
Important: New authentication system was added in v2.26.0. See #4460 for details.
Fixed
- Some podcast episodes always transcoding (in #4520)
- Unable to change root user password when not set #4522 (in #4523)
Changed
- More strings translated
- Chinese (Simplified Han script) by @FiendFEARing
- German by @Dalabad
- Russian by @Nab0y
- Ukrainian by @Maksim2005UA2
Full Changelog: v2.26.2...v2.26.3
v2.26.2
Important: New authentication system was added in v2.26.0. See #4460 for details.
Fixed
Changed
- Audible match results return match confidence score, shows in match results by @mikiher in #4319
- More strings translated
- Chinese (Simplified Han script) by @springsunx @FiendFEARing
- Croatian by @biuklija
- Czech by @kuci-JK
- Italian by @Prangel85
- Turkish by @SerhatGulasti
- Ukrainian by @Maksim2005UA2
Full Changelog: v2.26.1...v2.26.2
v2.26.1
Important: New authentication system was added in v2.26.0. See #4460 for details.
Fixed
Changed
- UI/UX: Localize listening time on sessions table (in #4493)
- UI/UX: Sessions modal shows username instead of user id #4496 (in #4503)
- UI/UX: Show deprecated warning message on legacy API token on user page (in #4503)
- API:
/api/sessions
and/api/users/:id/listening-sessions
endpoints always return a user object on sessions (in #4503) - More strings translated
- Chinese (Simplified Han script) by @FiendFEARing
- Croatian by @biuklija
- German by @networksecurityvodoo
- Swedish by @Cotignac @Landrash
- Ukrainian by @Maksim2005UA2
Full Changelog: v2.26.0...v2.26.1
v2.26.0
Important: New authentication system
- A more secure authentication system has been added, see #4460 for details
- All users are required to re-login to the web client to start using the new authentication system
- The old authentication system will continue to function and be removed from the server no earlier than September 30, 2025 to allow 3rd party apps time to update
Added
- JWT authentication with refresh tokens to replace old authentication system (See #4460) (in #4444)
- API Key config page for managing configurable API Keys that act on behalf of users (See #4460) (in #4444)
- Session model for managing sessions in the new auth system (See #4460) (in #4444)
- Rate limiter for authentication endpoints (See #4460) (in #4444)
- Explicit filter for books & podcasts (only shows if user has access) #2114 by @Vito0912 in #4425
Fixed
- Scanner re-adding single-file audiobooks in folder root when they are deleted through the web ui #4459 (in #4469)
- Continue listening items not updating due to
updatedAt
timestamp not updating for mobile local syncs #4366 (in #4454) - Dockerfile
NUSQLITE3_PATH
build arg not configurable by @HadrienPatte in #4413 - Book author secondary sort by title not respecting ignore prefixes when sorting setting #4414 (in #4417)
- Server crash when FantLab metadata provider requests time out #4410
Changed
- Remove
TOKEN_SECRET
environment variable (See #4460 for new vars) (in #4444) - UI/UX: Timestamps in podcast episode description are clickable to open player at time (in #4419)
- UI/UX: Podcast episode view modal shows duration & episode feed modal shows duration & size (in #4422)
- UI/UX: Book narrators page, narrator name links to library filtered by narrator
- API: Update password change endpoint (
/api/me/password
) to return error status codes - Server init database cleanup removes duplicate media progress rows
- More strings translated
- Chinese (Simplified Han script) by @springsunx @FiendFEARing
- Croatian by @biuklija
- Czech by @petr-prikryl
- Danish by @DavidMunch @Strit
- Dutch by @matieke @DavevanIersel
- German by @B0rax @Dalabad @Eragos @Vito0912
- Hungarian by @Kabika82
- Italian by @burghy86
- Slovenian by @thehijacker
- Ukrainian by @buzzik @Maksim2005UA2
Internal
- Env variable override to use experimental React client (in #4430)
New Contributors
- @HadrienPatte made their first contribution in #4413
Full Changelog: v2.25.1...v2.26.0
v2.25.1
Note: v2.25.0 had a bug that I caught immediately so release notes were never drafted
Added
- Notifications for podcast episode check failed and disabled due to too many failed attempts #4377 by @Vito0912 in #4378
- Support env variable MAX_FAILED_EPISODE_CHECKS for podcast episode check cron job by @Vito0912 in #4370
Fixed
- Follow-up security fix for uploader pathexists check (in #4393) (See GHSA-xjqw-8829-qmm6)
- M4B encoder ignoring custom values #4359 by @Vito0912 in #4361
- M4B encoder backup file with the same name overwriting the original file (in #4361)
- Potential fix with podcast episode check cron job getting stuck #4098 by @Vito0912 in #4373
- All file attachments were not being removed from rich text editor by @Vito0912 in #4374
- API:
/api/filesystem/pathexists
and/api/upload
not respecting user library access permissions (in #4398) - UI/UX: Alignment issue in chapters table on audiobook tools page
Changed
- Improve podcast episode matching using Fuse.js #4382 by @JKubovy in #4383
- Audible provider now returns ISBN if available by @Vito0912 in #4394
- Podcast episode downloads now use a fallback user agent to handle some podcast servers that block requests #4401 (in #4404)
- Book library page sorting by author now uses title as the secondary sort #4380 (in #4388)
- More strings translated
- Arabic by @UsamaFoad
- Czech by @Plazec
- Danish by @DavidMunch
- Dutch by @rekentek
- German by @Sh4tterh4nd @Dalabad
- Hungarian by @ugyes
- Norwegian Bokmål by @anorm
- Russian by @GrakovNe @renesat
- Slovenian by @thehijacker
- Ukrainian by @Maksim2005UA
New Contributors
Full Changelog: v2.24.0...v2.25.1
v2.24.0
Added
- Podcast library filter "RSS Feed Open" #4335
- Arabic language option
Fixed
- Security fix for uploader pathexists check in #4342 (See GHSA-xj8h-wrw2-g829)
- Rich text editor allowing images when copy/pasted from browser in #4349
- M4b encoder bit rate preset selection not working with bit rates higher than 192k #4337
- Unable to fetch podcast RSS feed when it has episodes with an empty guid #4325
- Media progress updates will use the
lastUpdate
value passed into the request (for local progress sync) in #4326 - UI/UX: Descriptions with html lists causing overlapping text when expanding (iOS/Safari specific) #4348
Changed
- Series sequence does not allow spaces #4314
- Update max allowed JSON request size #4250 in #4318
- API:
/api/filesystem/pathexists
requiresdirectory
andfolderPath
in #4342 - API: Updating library item descriptions and podcast episode descriptions sanitize the HTML in #4355
- More strings translated
- Arabic by @UsamaFoad
- Bulgarian by @antoniy
- Catalan by @fitojb
- Chinese (Simplified Han script) by @springsunx @FiendFEARing
- Croatian by @biuklija
- Czech by @kuci-JK
- German by @Vito0912 @schoenfeldj
- Italian by @ilbebinonessuno
- Slovak by @pecer
- Slovenian by @thehijacker
- Spanish by @fitojb
- Ukrainian by @Maksim2005UA
Full Changelog: v2.23.0...v2.24.0
v2.23.0
Added
- Support for searching episode titles in podcast libraries #3301 in #4293
- Support listening on unix socket #3819 by @balki in #4166
Fixed
- Docker image not including nunicode in #4299
Changed
- More strings translated
- Arabic by @UsamaFoad
- Catalan by @fitojb
- Croatian by @biuklija
- German by @cebo29
- Russian by @renesat
- Slovak by @pecer
- Slovenian by @thehijacker
- Spanish by @fitojb
- Ukrainian by @Maksim2005UA
New Contributors
Full Changelog: v2.22.0...v2.23.0
v2.22.0
Added
- Audiobook chapter lookup support for removing Audible intro/outro branding #4152 by @Vito0912 in #4226
- API: New endpoint for direct playing audio files using session ID (now preferred method see #4263) #4259 in #4263
Fixed
- Server crash when updating the "Ignore prefixes when sorting" setting #4221 in #4234
- .ignore file causing ignores outside the directory by @nschum in #4261
- Users without access to any book in a series still able to find the series in search results #3736
- UI/UX: Share audio player track bar tooltip overflowing page (now hidden on mobile) in #4241
- API: Library stats endpoint returning null instead of 0 for some stats #4251
Changed
- Audiobook m4b encoder uses smarter presets for codec, bitrate and channels #4169 #1257 in #4253
- Improve Year in Review display logic by @josh-vin in #4240
- Improve file watcher to re-scan library items when non-media file only updates are made #4245 in #4249
- Podcast episode table uses a secondary sort when sorting #4262 in #4270
- M4b encoder option is now shown for all audiobooks (previously hidden for single file m4b audiobooks) in #4274
- UI/UX: Audiobook tools page revamped in #4253
- UI/UX: Authentication config page shows "restart server" message when OIDC is enabled #4064
- API: HLS stream endpoint no longer requires user token in URL in #4266
- More strings translated
- Catalan by @fitojb
- Finnish by @SUPERHAMSTERI
- German by @Azorimor
- Italian by @burghy86
- Russian by @thatguy7
- Slovak by @pecer @jborza
- Slovenian by @thehijacker
- Spanish by @fitojb
- Ukrainian by @Maksim2005UA
Internal
New Contributors
- @josh-vin made their first contribution in #4240
- @nschum made their first contribution in #4261
- @pinjeff made their first contribution in #4150
Full Changelog: v2.21.0...v2.22.0
v2.21.0
Added
Fixed
- Validate uploads endpoint request (See GHSA-47g3-c5hx-2q3w)
- Incorrect items count on library page for users with item restricting permissions #4163 in #4164
- Book tools page, chapter edit page and library stats page not setting the current library properly on refresh #4170
- Podcast library item size not updating when downloading episodes #4180
- Inconsistent order of multiple authors on a book #4177
- Re-scanning podcast items can result in inaccurate episode counts. in #4195
- Socket events for library item updates not respecting users item restricting permissions #4199 in #4200
- Server crash when requesting an RSS feed for a collection with no books by @Vito0912 in #4223
- UI/UX: Library item page details overflowing text for some translations #4187
Changed
- Filename sanitization normalization to NFC & debug logs for sanitization #4121
- Added support for multiple series in series & series-part meta tags (semicolon separated) #4136
- Uploader checks if a library item exists in a subdirectory before uploading #4146
- PSC chapters are now parsed from podcast feeds when downloading episodes
- Latest episodes page shows 50 latest (was 25) #3343
.aif
audio files are now supported #4211 by @Nishantsingh11 in #4212- UI/UX: Better error messaging for chapter lookup errors #4210 by @nichwall in #4213
- UI/UX: Podcast episode download modal has option to toggle episode pub date sort descending/ascending #4073
- UI/UX: Use keyboard to toggle checkboxes and show outline when buttons are focused #4140
- UI/UX: Stats page "items finished" icon switched to material symbols by @Toby222 in #4162
- UI/UX: Covers tab in item edit modal showing error image when cover is not set
- UI/UX: Changing the cover image of a library item now updates the cover image of the item in the player #4025
- API: Local session sync endpoints no longer require
mediaMetadata
by @Vito0912 in #3690 - More strings translated
- Catalan by @fitojb @markstor
- Chinese (Simplified Han script) by @springsunx
- Croatian by @biuklija
- Czech by @petr-prikryl @kuci-JK
- Danish by @MikkelOlesen @Andersborrits
- Finnish by @Ricky-Tigg
- German by @confusedalex @Cramcon @cebo29
- Hungarian by @Kabika82
- Norwegian Bokmål by @dvc05
- Portuguese (Brazil) by @alghostzx @jpmaior
- Russian by @NickSkier @stokito
- Slovak by @pecer @mbalko
- Slovenian by @thehijacker
- Spanish by @fitojb
- Swedish by @Cotignac @Landrash @stolpee
Internal
- Update tailwindcss to v4 by @mikiher in #4126
- Github workflow to run frontend component tests by @mikiher in #4151
- Docker build workflows updated to use ubuntu-24.04
New Contributors
- @Toby222 made their first contribution in #4162
- @Nishantsingh11 made their first contribution in #4212
Full Changelog: v2.20.0...v2.21.0