Repository navigation
Highlights
Upcoming releases, in the player and your calendar
- See what's coming in the series you listen to. Home has a Coming up in your series shelf, and Upcoming lists preorders, recent releases and the volumes your server is missing. Series pages show release dates on the books you don't have yet. Covers come through your server, so your device doesn't contact the sites they came from.
- Add release days to your calendar. Upcoming gives you a private subscription link for Apple Calendar, Google Calendar, Outlook and other calendar apps. Books with an exact release day appear as all-day events; a changed date moves the event, and adding the book to your server removes it. Keep the link private: anyone with it can read that feed. Resetting it stops the old link.
- Your server checks the community catalogue daily, for series it already holds. Dates are the earliest audiobook release the catalogue knows, which can differ from your local store. A cloud calendar needs to reach your server at a public HTTPS address with a trusted certificate. Kids' accounts don't see Upcoming or its calendar.
See Upcoming releases.
Sync v2: listening across devices and offline
- Your devices now send what you listened to, rather than just a position. Listening waits on the device while it's offline and joins up when the server is reachable again. History, the Journal and stats count it on the day you listened, and a repeated upload is counted once.
- Choose where to carry on. When two devices listened without seeing each other's place, the server keeps the place further on and remembers the other. The player offers Jump or Stay, naming the device, rather than silently moving you back. A finished book stays finished until you deliberately start it again.
- See what has reached your server. Home and your account page show listening waiting to sync. The account page lists anything the server couldn't accept, with its reason. For books in several files, listening also records the file and the position within it, so an older download's file order can be reconciled with the server's.
These changes need the 2.6.0 player. Older apps keep saving their place as before.
Apple Watch support, with app availability to follow
- The Apple Watch companion is implemented for the 2.6.0 iPhone update. It plays books downloaded to the watch without the phone, and sends its listening directly to your server when it can connect. Set it up from your iPhone, use Send to watch on a book, and see or remove its books in the iPhone's Downloads. The watch also offers downloads from Continue listening.
- The watch needs watchOS 11 or later, the 2.6.0 iPhone app, and server 2.6.0 with ffmpeg. The server prepares smaller audio copies for it. It holds one account and plays books; podcasts and library browsing stay on your other devices.
- This server release does not announce App Store availability. The production watch checks and store release are separate gates. Watch availability will be announced after those are complete.
See Apple Watch.
Audible on the Bridge: accounts, backups and listening places
- Sign in on the Bridge's Accounts tab. Each Audible account belongs to a person on your server and a books library. The server's Settings > Audible lists its titles, which are already here, why others weren't matched, and where a backup would go. Amazon credentials stay sealed on the Bridge.
- Back up books you bought into your library. Choose a title, Back up everything, or a policy for future purchases: every new book, or new books in series you already have. The Bridge saves an M4B without re-encoding the audio, keeps its chapters and asks the server to index it. Placement can follow your existing series folders, a template or a destination you choose. It never replaces an existing file. Automatic policies cover new purchases; use Back up everything for the books the account already had.
- Places can travel both ways. Turn on Sync listening places with Audible for an account. The Bridge checks Audible about every 15 minutes and brings forward a place further on. After your AudioSilo place has stayed still for three minutes, it can send it back to Audible. Don't sync excludes an individual title. This moves places only: Audible listening adds nothing to AudioSilo's history or stats.
- A known limitation: the Audible app can still resume at an older place after the Bridge reports a successful push. Reasserting a place after Audible overwrites it is still deferred (Bridge #51).
Audible needs Bridge v0.6.0 and server 2.6.0 together, with the Audible module enabled. Backups also need a mapped, writable library. See Audible.
Follow the narration in the player
- The player's Text tab follows the ebook sentence by sentence, highlighting what you hear and turning the pages. Tap a sentence to seek there; turn away to browse and Back to narration brings you back. The full-screen ebook reader has Follow narration too.
- A downloaded book keeps its read-along with its ebook for offline use. Following doesn't move your separate reading place. A missing or out-of-date read-along isn't offered to listeners; an admin can make one from the player with a suitable Bridge.
- Making a read-along still needs Bridge v0.5.0 or later and the matching EPUB. Following it needs the 2.6.0 player; use server 2.6.0 for this release's player features.
See Text in the player.
Smarter matching, with less waiting
-
Better use of the facts your files already have. Matching uses narrator, language, series position and running time alongside title and author. ASIN and ISBN tags are hints to check, so a stray identifier in a file doesn't mark it matched on its own. A decisive identifier hit whose recording fits no longer gets stuck behind an almost-equal runner-up, while very weak guesses stay out of the review pile.
-
Cleaner titles without losing your edits. Fill in what's missing can remove a series label, book number or edition clutter from a confidently matched title. Your own edits stay locked, and matching doesn't rewrite your audio tags.
-
Online match runs make fewer requests. With an updated community service, the match and its details arrive together instead of needing several round trips per book. Runs check six books at once, pace their requests and retry temporary rate-limit or busy responses.
-
Further edition and series safeguards. A number in a title is distinguished from a stated series position; a well-supported series position can settle a messy title. Recording choice takes more care with running time and dramatizations, and a library's clearly dominant tagged language can help when a book has none. A recording up to 20% different in length can fit when the book's named narrator reads that recording.
-
Books without an ASIN or ISBN can be matched too. A confident store-listing match can apply automatically when the full author and series position agree and both running times are known and within 2%. The candidate must still meet the confidence score and lead clearly over alternatives.
-
A community match is remembered per book. Accepting or automatically applying a match records its community work and recording, even without an ASIN or ISBN. It counts as Matched, survives scans and index rebuilds, and later match runs skip it. Refresh can look up an identifier-free match by its recorded work. For those identifier-free matches, the console's Community card shows what it is matched to, how and when; Unlink removes the match and its community-supplied values and cover, preserving your own edits.
-
A known limitation: reverting a community ASIN on a matched book does not reject the match, and a later refresh can write the ASIN back. Unlink first to remove the recorded match (server #330).
Help fill gaps in the community catalogue, if you choose
- Help complete the community database is a new, off-by-default switch in Settings > Community metadata. Once enabled, a daily job checks ASINs from your books and reports the ones the community catalogue doesn't know.
- The report contains ASINs only, without filenames, paths, people, listening history or a server identifier. It uses HTTPS outside loopback; the receiving service can still see the request's IP address. Reports also work in mirror mode, where the checks stay local and only the unknown-ASIN report goes out.
Faster database work on Linux
- The Docker image and native Linux downloads now use the native SQLite engine, with prepared statements reused across requests and a faster matching path. macOS and Windows downloads keep the pure-Go engine. The database format is the same, and Linux builds retain the pure-Go engine as a fallback.
Folder names that state their series
- A book named
Author; Series; Book 02; Titlesupplies its series and number. The scanner reads that information from the book's own folder or filename when tags leave it out. Ranges such asBook 01-03are supported;Book XXandBook 00supply the series without a position. - An album tag that's only the series name no longer hides the book's title. The scanner uses the title tag or the title from the path instead. Existing affected books are picked up by the next scan, with admin edits preserved.
Fixes
- Changing an existing password ends the other sessions, while keeping the device that changed it signed in. Admin password resets and Sign out everywhere also end the relevant sessions and pairing/recovery codes. Setting a first password doesn't sign other devices out. Personal API keys and calendar links keep working.
- Android: very long single-file M4B/M4A books no longer exhaust memory at chapter changes. Files too large for chapter clipping play as a whole-file item in the system player; chapter navigation inside AudioSilo still works.
- Listening sync keeps a device's chain of listening across separate uploads, protects a cold resume from overwriting a newer place, and keeps deliberate backward seeks from native lock-screen and headphone controls.
- Offline read-alongs keep the map belonging to the downloaded ebook, rather than pairing that ebook with a newer map from the server.
- Characters and recaps follow your copy's chapters. Community positions are mapped onto the book's own chapter list; unknown offsets aren't treated as the end, and an appearance past the last chapter reads Near the end.
- Dramatized recordings are chosen more carefully. Matching checks production hints, narrator and running time. When a work has only dramatizations, a very close running time can identify the production; unresolved edition choices stay for review.
- Community matches are safer to remove and refresh. Unlink is refused while a match run is matching or applying, so the run cannot write the match back after you remove it. Match requests with a missing, null or whitespace-only work ID are rejected; only an explicitly empty work ID unlinks a book. If the community catalogue does not know a matched book's ASIN or ISBN, refresh can use its recorded work and follow a retired work's redirect, while skipping that fallback for identifiers you edited yourself.
- Audible matches handle competing titles more carefully, including series numbers, and show the contested book and planned destination. Placeholder release dates far in the future no longer make an old purchase look like a preorder. The Bridge uses Audible's current device profile and redacts sensitive details from errors.
After updating
-
Eleven database migrations run on first start after v2.5.1. Before they run, the server copies the database into the backups folder; the newest three upgrade copies are kept:
- 0059: upcoming series, releases and notification bookkeeping.
- 0060: one active calendar-feed token per person.
- 0061: listening events and the other-device place.
- 0062: a device's listening chain across sync uploads.
- 0063: Audible accounts and their titles.
- 0064: Audible backup policies, placement templates and pending preorders.
- 0065: planned backup destinations and contested matches.
- 0066: Audible place sync and reliable ordering of changed places. Audible sync starts off for every account.
- 0067: ASIN, ISBN and language tag hints for matching.
- 0068: bookkeeping for the optional unknown-ASIN report.
- 0069: remembered community work and recording matches, including books without an ASIN or ISBN.
-
New defaults: Upcoming checks are on while community metadata is on, with a 90-day recent-release window. The first full check normally runs about an hour after start. The console's Check for upcoming releases switch applies live (
upcoming.enabledin configuration); changingupcoming.window_daysis configuration-only and needs a restart. The unknown-ASIN report (metadata.report_unknown) is off, the Audible module starts off, and Audible place sync needs enabling separately for each account. -
Linux database engine: Docker and native Linux builds select native SQLite automatically. Set
AUDIOSILO_SQLITE=moderncand restart to use the pure-Go fallback on the same database. Docker needs 20.10.10 or newer; older Docker can stop the new binary at startup. The glibc source and relinking information is in NOTICE. -
Run a scan to pick up tag hints, the corrected title rule and series information from
Author; Series; Book 02; Titlenames on existing books. You don't need to rebuild the library index. -
Update the Bridge to v0.6.0 alongside the server for Audible. The new Audible job parameters and progress feed need both versions; don't mix versions for that work. Older Bridges retain their previous jobs, and making read-alongs still has v0.5.0 as its Bridge minimum. Accounts created with an older Audible device profile may need Sign in again on the Bridge, then another Back up for failed titles.
-
Minimum app version is unchanged for existing listening. Older iOS and Android apps keep working. Upcoming, Sync v2 and following read-alongs need app 2.6.0 or the bundled web player. Apple Watch also needs the 2.6.0 iPhone update and its separate store/device gates; a server update doesn't install it.
-
If you host your own metaserve, deploy v0.25.5 or later as well as refreshing its data. Remote matching needs that service code for the numbered-title and series-position rules; refreshing a catalogue artifact alone doesn't update the matcher. In mirror mode, server 2.6.0 includes those rules through its audiosilo-meta v0.25.5 dependency.
Every change to the player API is additive, so existing iOS, Android and web players keep working. New: Upcoming, calendar management and its feed and covers under /me/upcoming; POST /me/listening/sync and additional progress fields; watch rendition preparation/status and ?rendition=watch streams; and their capability flags in /server. Existing progress routes remain supported.
Bundled web player 2.6.0:
- Upcoming releases and calendar subscriptions, Sync v2 with other-device place choices and offline listening history, the Text tab and Follow narration with offline read-alongs, clearer password-change results, and corrected character/recap positions.
Native builds embed the web player; ffmpeg/ffprobe are found locally or
auto-downloaded on first use. Prefer Docker for advanced / multi-user
setups: ghcr.io/kodestar/audiosilo-server.
AudioSilo server is licensed under AGPL-3.0 (see
LICENSE).
The Linux binaries and the Docker image use the native SQLite engine, a
static binary linked against the GNU C Library (LGPL-2.1-or-later; source and
relinking: NOTICE).
In Docker it needs Docker 20.10.10 or newer: older Docker blocks the system call
glibc starts threads with, and the server stops at start-up.
AudioSilo is free; sponsors keep it going:
GitHub Sponsors.