Repository navigation
Releases
Shelfkeeper 1.0.2
Shelfkeeper 1.0.2
A full audit: the Authors page tested with 80 authors, the Collection's Google lookup with every light novel / manga series of a real library, and two code reviews of the window and the Sorter's file handling.
Sorter: safer files
- Undo never deletes the only copy of a book. After a Copy sort whose original was removed from Incoming since, Undo used to delete the library copy - now it puts that copy back where the original was.
- Copies of read-only files can be undone; a book that fails halfway marks only the steps it really put back, so Undo can still remove the rest.
- Fix xHE-AAC / Repair damaged audio leave no second audio file next to the book when the original is open in a player (or streamed by Audiobookshelf).
- With Keep old copies in Done off, an ebook lying directly in an author folder only takes the files named like it - never other files of that folder. Leftovers are never deleted for good on a drive without a Recycle Bin (they go to Done).
- A book's folder can't end up inside another book's folder ('Dune' and 'Dune\2 - Dune Messiah').
Ray Bradbury\Fahrenheit 451 - Ray Bradbury.epubis the book 'Fahrenheit 451', not series 'Fahrenheit' #451.- The check whether a series' other volumes are called '..., Vol. N' works again (its folder names follow).
- Undo keeps a new m4b only when that book's own original was deleted; two runs started in the same second get their own history; a Move between two volumes behind one drive letter copies instead of failing.
Authors page
- Google's 'Accel World, Vol. 1 (light novel): Kuroyukihime's Return' and 'Sword Art Online 10: Alicization Running' are volumes of their series (with their titles), not works of their own.
- English editions only (other languages and scripts left out); single chapters and box sets / 'Vol 17-22' sets aren't volumes.
- Volumes you have always count as existing; a manga AniList knows counts as manga (One Piece), a volume past the light novels is the manga's.
- An unnumbered book named like its series is no extra volume (spin-off books like Recollections stay); a shop's lone volume subtitle ('The Red Storm Princess') is no work of its own.
- One author, two spellings: 'Fujino Omori' = 'Fujino Oomori'.
Collection
- More volumes from Google Books (116 of 181 series in the test), English editions only, no bundles.
- Closing during Check online never saves a half-checked series; when one Google search doesn't answer, last time's volumes are kept; 'too many requests' stops Google for the round.
Window
- A click on the tab you're on leads back from Tools / Settings / History.
- Column widths are remembered from your own drags only (a table's first look fits the window again).
🤖 Generated with Claude Code
Shelfkeeper 1.0.1
Shelfkeeper 1.0.1
A new layout
- Tabs across the top: Sorter / Collection / Authors (Ctrl+1 / 2 / 3). One sidebar whose part follows the tab - the Collection's buttons and filters live in it now. Closing Settings or History takes you back to the tab you came from.
- Sorting options are switches: Keep old copies, MP3 → M4B and M4B → M4B each have an on / off switch (gold knob on the right = on; dashed when it doesn't apply). Two-way choices like Copy | Move show a check mark on the chosen side.
- Columns can be dragged wider or narrower on the Authors page and the Collection's volume, calendar and standalone tables, and the widths are remembered. Tables, lists and trees scroll smoothly instead of jumping a whole column left or right.
Authors page, reworked
- The works list is a tree: spin-offs, manga adaptations and side stories fold under their main series ("Sword Art Online +30").
- A tab per kind on the right (Audiobook / Light novel / Manga / Ebook, with counts) listing # / Title / Have / Release, and a "you have N, M missing, from ..." line.
- Better counts: volumes between listed ones count (Open Library's 12, 14 ... 26 is 1-26); a finished series' AniList count wins; MangaDex gives manga counts AniList lacks; a count alone lists its volumes.
- One work per series, also under its other names (AniList's romaji and English names, shown in English). A volume Audible lists without its series joins it by its title ("..., Vol. 5").
- A work that no source lists volumes for says so ("?" in the list, an explanation on the right) instead of showing an empty table.
- "All / You have some / New to you" filter (remembered), and recent authors in the sidebar.
Google Books works again
- Google answers "503 Service Unavailable" now and then: the same question is asked again a moment later (this helps every online source).
inauthor:/intitle:searches find nothing at Google these days, so the Authors page, the Collection and the Sorter's gap filler search in plain words. The Collection also searches as " light novel" / " manga" (Goblin Slayer: 0 → 12 volumes found).- When Google doesn't answer, the Collection keeps the volumes it found last time.
README
- New screenshots of the Sorter, Collection, Authors, Tools and Themes.
🤖 Generated with Claude Code
Shelfkeeper 1.0.0
Shelfkeeper 1.0.0
AudioBooks & EBook Sorter is now Shelfkeeper - and the Book Collection Checker is part of it.
Upgrading
Put Shelfkeeper.exe where BookSorter.exe was and start it. Your BookSorter-data folder (or %APPDATA%\BookSorter / %LOCALAPPDATA%\BookSorter) is renamed to Shelfkeeper-data on the first start, and the paths saved inside are updated, so History / Undo of older runs keeps working. Then delete BookSorter.exe. A Book Collection Checker's settings, saved lookups and Google key are taken over the first time you open Collection.
New: your library (left menu, LIBRARY)
- Collection - every series you have, read from Audiobookshelf: per kind (🎧 audiobook, 📖 light novel, 🗯 manga, 📘 ebook) how many you have and how many are missing (✗, in red), what's coming soon and a release calendar. Check online asks Audible, AniList and Google Books what each series has.
- Authors - type an author (it suggests the ones in your library) and press Look up: every series and book Audible, AniList, Google Books and Open Library know of them, next to what you have. Select a row for its volumes, release dates and links.
- More by - right-click a book or a Collection series to open Authors for its author.
Sorting
- Soundbooth's Dungeon Crawler Carl: Audio Immersion Tunnel seasons sort by themselves (series, season number, author, publisher); a season in episode pieces gets one chapter per episode.
- One-word pen names that Audible doubles ("zaifyr zaifyr") match; "Series Two" / "Series 3" are Vol. 2 / Vol. 3.
- A title that is the series name keeps it ("1 - Dungeon Crawler Carl"); ", Vol. 1" only when the other volumes are numbered.
- A cut-off series folder in the library is never reused for new volumes; series ranges from Audiobookshelf ("#01-07") are read.
Safer (a full audit of the app)
- Files: a book inside a protected library is never sorted or unzipped from there · a book that fails halfway is put back as it was · an undo with failed steps can be retried · copies to another drive are recorded before the original goes · ffmpeg can't hang on a damaged file · a locked file fails one book, not the whole sort · duplicates with the same name don't clash · drives without a Recycle Bin are treated as such.
- Privacy: API keys are never stored in the cache · the Audiobookshelf key is only kept in one settings file · settings are saved safely, a damaged settings file is kept instead of replaced by defaults.
- Window: one job at a time (Tools, menus and the auto-sort timer wait) · sort-after-look-up stays busy between its steps · book-list shortcuts only act on the book list · closing stops every lookup and keeps what Collection found.
- Matching: a garbled answer from a website is just "no answer" · no rename rule from reordering co-authors · translations don't fill empty fields · an AniList title by someone else isn't used · the AI retries on every lookup and its names must really appear in the evidence.
🤖 Generated with Claude Code
v0.3.11
Fixes
- One-word pen names that Audible doubles ("zaifyr zaifyr") now match your book's "zaifyr". Before, no Audible match counted as sure, so a book could end up with no series (All the Dust That Falls, Book 1). The author folder keeps the single name your files use.
- A tag with title and subtitle together ("All the Dust That Falls Two: An Isekai LitRPG Adventure") matches Audible's title + subtitle.
- A number word after the series name ("All the Dust That Falls Two", "... Four") is the volume: the folder is
2 - All the Dust That Falls, Vol. 2, like the rest of the series.
🤖 Generated with Claude Code
v0.3.10
New
-
Soundbooth's Dungeon Crawler Carl Audio Immersion Tunnel sorts by itself. A download whose folder, file or title says "Audio Immersion Tunnel" gets:
- series Dungeon Crawler Carl: Audio Immersion Tunnel with its season number (from "Season 4" or
S04E01); - title …, Season N, author Matt Dinniman, publisher Soundbooth Theater;
- the title of book N as its subtitle, when your Audiobookshelf has that book.
These seasons aren't sold on Audible, so the Audible lookup and the AI no longer change them (before, a season could be matched to an unrelated book). A season with no number in any name is flagged for you to check.
- series Dungeon Crawler Carl: Audio Immersion Tunnel with its season number (from "Season 4" or
-
A season in episode pieces (
S02E01 - 001.mp3,S02E01 - 007Closing Credits.mp3,S02E02 - …) gets one chapter per episode when it's made into an m4b.
🤖 Generated with Claude Code
v0.3.9
Fixes
- No more PermissionError after a sort: when a duplicate's better copy is already in a protected library folder (found through Audiobookshelf), that copy is only read and never written to.
- "(Manga)" only once: a series whose name already ends in "(Manga)" no longer gets a
... (Manga) (Manga)folder. - Box sets: a trilogy or duology box set (The Complete Trilogy) counts for its books in the "already in your library" check.
- Check Audiobookshelf now also flags one ASIN shared by different books (a wrong ASIN: Audible and the sorter see them as the same book).
🤖 Generated with Claude Code
v0.3.8
Changes
- One Incoming folder: audiobooks, ebooks and manga can all arrive in the same folder - the app tells them apart by their files. The second "Books incoming" setting is gone (an old one keeps working until you save Settings).
- One Sorted folder: Settings has a single Sorted folder with
AudioBooks\,Books\andSvenska\inside, and shows how books are laid out in it. "Swedish audiobooks apart" is a checkbox now. - The "Put all sorted output in one folder…" button is gone - one Sorted folder does that.
When you update: open Settings, check the Incoming and Sorted folders, and click OK. Point your download client at the Incoming folder.
🤖 Generated with Claude Code
v0.3.7
Fixes
- Duplicates after a sort: a book that had only just finished downloading when you scanned was left in Incoming (the 2-minute "still downloading?" wait). After a sort you start, every book you scanned counts as finished - unless its file changed after the scan or a part file is next to it - so its extra copy goes to Duplicates too. Auto-sort keeps the 2-minute wait.
🤖 Generated with Claude Code
v0.3.6
Fixes
- New volumes join the series folder your library already uses. When your Audiobookshelf keeps a series in a folder spelled differently from its name (Classroom of the Elite - Year 2 for the series Classroom of the Elite (Year 2)), new volumes now go into that folder instead of starting a second one. Per format and kind: audiobooks follow your audiobook folder, ebooks your ebook folder.
🤖 Generated with Claude Code
v0.3.5
Fixes
- Series numbers from Audible's series list also match volume subtitles (Campfire Cooking… Volume 7 = Red Meat Steak and the Creator God's Judgement), and a series that was only guessed from the folder is confirmed by the list: Check → Ready.
- Box sets count: a library book Hell's Rejects, Books 1-4 (or a folder
1-4 - …) covers volumes 1–4, so new single copies of them are flagged as already in your library. - Side series stay apart: when Audible files a book under the main series without a number (Adachi and Shimamura: Short Stories), the book's own series and title are kept, so it no longer lands on the main series' Vol. 1 / 2.
- A store as the author (BOOK☆WALKER Global): a book in a folder full of one series takes that folder's author and series, with the number from its file name (
v04.6). - Library naming style: a new Year / Part / Season is written like the ones you have (Classroom of the Elite (Year 3) next to (Year 2)); an anthology next to its main series gets its subtitle as the folder name; a title that is just the series name gets
Vol. N. - Duplicates: chapters count, so a slightly longer copy without chapters no longer beats one with them.
🤖 Generated with Claude Code