Skip to content

Releases: doodersrage/shelf

Shelf 2.17.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 21:17

Fixed

  • Not found suggests on PostgreSQL too: on a shelf using PostgreSQL, the page for an address with nothing at it was sent before its suggestions were found, so it offered only the search; they are now found before the page is drawn.

Shelf 2.17.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 20:31

Added

  • A page for addresses with nothing at them: instead of a blank page, a browser is shown where it may have meant to go: a page whose address is a letter or two off (/libary), your books, authors, series, places, and collections matching the address's words, as Go to finds them, and the book at /book/42; with a search of the library filled in from the address, and links to Home, Library, Trash & undo, and Help. Signed out, it offers to sign in and says nothing of any shelf. It answers 404, and the API and anything not asking for a page keep their plain 404.

Shelf 2.16.2

Choose a tag to compare

@github-actions github-actions released this 15 Oct 18:49

Fixed

  • Big open shelves open: another reader's open shelf is searched, sorted, and shown as your library is, as covers, a list, or a compact table, 60 books at a time: by title, author, series, or ISBN, sorted by author, title, series, year, or the most recently added, narrowed to those not lent out or with an e-book or audiobook, and to an author or a series from their names (never by the owner's statuses, stars, or tags), reading only the page shown from the database, where before every book was read and drawn at once and a shelf of 80,000 timed out. A reader's shelf on a linked Shelf is shown the same way, and asked for a page at a time and for the one book asked to borrow; a linked Shelf from before sends its whole shelf as it did, and the page is cut from it here.

Shelf 2.16.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 18:03

Fixed

  • Turnstile refusals say why: a form Turnstile turns down, while the widget shows its tick, is logged with the reason and shown on Server health until a check passes: a token made on a host the shelf doesn't expect (with the host it came from and the ones expected), a secret key Cloudflare doesn't know, a token made for another form, one expired or used already, or Cloudflare out of reach. Before, Server health said only that Turnstile was on.

Shelf 2.16.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 15:28

Added

  • Help in the app: a Help page, under Settings and at the foot of the menu (and found by Go to as "help", "docs", or "manual"), lists the guides in plain words and says who looks after the shelf; a ? beside the name of many pages opens the guide to that page; Server health links each fix to how to make it; and the sign-in page links to help with signing in. DocsUrl points them at a shelf's own copy of the guides.

  • Features: a page of the documentation showing everything Shelf does, part by part, with screenshots, and screenshots in the guides beside what they describe: the library, Go to, the compact table, the reader, the player, loans, book clubs, adding books, devices, notifications and their emails, accounts, Shelf admin, invitations, and Server health.

  • More from Audiobookshelf: an import brings, if you like, your bookmarks, your listening history (so Insights, goals, and the streak include it), the days you started and finished each book, and your collections and playlists as collections, besides where you stopped; and all of it for books already on your shelf, without their files coming again. An admin of both can bring every Audiobookshelf user's books and reading to the shelf of the reader they are here, matched by email or name, only the books each started or every book, inviting those not here yet.

Fixed

  • "This page's buttons cannot reach Shelf" when nothing was wrong: the banner is for a live connection that never comes up (an extension or privacy setting blocking it). It also showed when a working connection dropped and was slow to come back, as after a laptop sleeps, a phone changes networks, or a tab sits in the background, and then stayed even once the connection was back. Now a dropped connection is left to Blazor's own reconnecting bar, a connection that comes up late takes the banner away, and time a tab spends hidden doesn't count.

Shelf 2.15.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 13:59

Added

  • Cloudflare Turnstile on signing in, signing up, and asking for a password reset, once Turnstile:SiteKey and Turnstile:SecretKey are set from a widget of your own. Each token is checked with Cloudflare by the server, for its own form and the shelf's own host names (Turnstile:Hostnames, or the host of Email:PublicAddress); a check that fails or cannot finish is refused. Server health says whether it is on.

  • Shelf admin, the old Readers page in tabs: Readers, Backups, System, and Activity.

    • Invitations: invite people by email, up to fifty at once; each link makes an account with that address, confirmed, even when sign-up is closed. Send again, or withdraw.
    • Who may sign up: anyone, only people invited, or no one new, chosen on the page.
    • A list of readers to search and sort, with each one's address, whether it is confirmed, two-step sign-in, books, and when they were last seen; and for each, Rename, change their address, Sign out everywhere, and Suspend, which stops every way of signing in and keeps their shelf.
    • Background work to run now, a test email with the server's answer, and an announcement at the top of every page, and by email if you like.
  • More from your book clubs: members hear when the club moves to its next book, when a meeting is called off, a day and an hour before each meeting, and when they are taken out of a club or it ends.

  • An ask turned down is told to whoever asked, so they are not left waiting.

  • Emails about your account: a changed email address (told to the old one), a changed or reset password, two-step sign-in turned off, a new passkey, and a sign-in from a device not seen before each come by email, whatever you chose to hear about, with what to do if it wasn't you.

  • For admins: a new reader signing up, and anything going wrong on Server health, each told once, under a new kind on Notifications.

Changed

  • Emails look the part: every email Shelf sends, from password resets and address confirmations to notifications, series news, and Send to Kindle, comes in the shelf's own colours under its mark, with the subject as a heading, links as buttons, and why it came set apart at the foot. A plain-text copy goes with each, for mail apps that prefer it.

Shelf 2.14.2

Choose a tag to compare

@github-actions github-actions released this 15 Oct 12:38

Fixed

  • Email with a named sender: Email:From written with a name, such as Shelf <shelf@example.org> or "My Shelf" <shelf@example.org>, stopped every email from going; it now sends, under that name.
  • An email that does not go is logged with the mail server's answer, and Server health shows it ("The last email did not go: …") until one goes, rather than saying email is set up.
  • A mail server that refuses an email no longer breaks signing up, asking for a password reset, changing an address, or Send a test email, which now says what the server answered.

Shelf 2.14.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 11:57

Added

  • Notifications by email: with a mail server set up, notifications go to the address a reader signs in with, for every reader until they untick Email me at … under Notifications, and for the kinds they chose. The daily loan email is now one of them.
  • Confirmed addresses: with a mail server and Email:PublicAddress, a new or changed address is the reader's only once they open the link sent to it, so no one can take an address that isn't theirs. A reader can sign in with it while it waits, and Send the link again is on Account.
  • A kinder audiobook player: after a pause the book picks up a few seconds back, more the longer it was away (5 to 20 seconds, never before the chapter's start; off under Player settings); a move to another chapter, along the scrubber, or to a bookmark can be taken back with Back to … for ten seconds; and the sleep timer fades the sound out over its last half minute.
  • Where two readers share a name, the lists for lending, shelf checks, and book clubs tell them apart with a hint of each address, such as s…m@example.org.

Changed

  • Sign in with your email address. Making an account asks for an email address, which no two readers may share; names may now repeat, and other readers still see only the name. Accounts made before keep signing in by name until their reader adds an address, and an address already given for reminders works for signing in from the first start. A child's account still signs in by name, which no other reader may have. A name only one reader has still works on the sign-in page, for KOReader's progress sync, and for Audiobookshelf apps. --reset-password and --make-admin take an email address or a name.
  • An address can be changed on Account to one no other reader has, but no longer removed.

Removed

  • The separate daily reminder email and its checkbox: loans due and overdue come with the other notifications, by email among them.

Shelf 2.14.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 16:54

Added

  • Compact library: a third way to see the library, beside covers and the list: a table, one line a book, holding every book that matches with only the lines in view drawn, so 70,000 books scroll as easily as 70. Columns chooses what it shows beside the title and author (status, series, year, format, place, rating, pages, added, finished, on loan), kept for next time; ?view=compact opens it.
  • Keyboard shortcuts: "?" lists every key Shelf answers to, anywhere, the reader and player included; so does Keyboard shortcuts at the foot of the menu.

Changed

  • One box to search or go to: the menu's search box and Go to are one. Typing there opens Go to, whose first answer, and Enter, searches the library, unless what was typed is the very name of a page or book; the arrows reach the pages and books it finds. Without scripts it still searches the library.
  • In the covers and the list, books far off screen are no longer laid out or painted until they come near, so a long scroll stays quick.

Shelf 2.13.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 16:37

Added

  • Go to… (Ctrl K, ⌘ K, or "/"): any page by its name or what it's for ("goodreads", "passkeys", "dark"), and any of your books, authors, series, places, and collections by a few letters, chosen with the arrow keys. Also GET /books/jump?q=.
  • Add & import: every way to bring books in on one page, a book at a time, a shelf at a time, from another app, or something new. The add-book form and a new shelf's welcome lead there, and the welcome now offers scanning your shelves.
  • A menu of your own: under Account, Menu leaves out the pages you don't use; Go to still finds them.
  • Undo, there and then: a change to many books, from the library or a scanning run, is undone from the message that reports it, without going to Trash & undo.
  • Recent places in Go to: before anything is typed, the pages and books opened lately on this device come first.
  • Changing many books in the library's list can now put them at a place, and choose every book the filter matches (up to a thousand), not only those shown.
  • Add on a phone opens a short list: scan books, type a title or ISBN, or more ways to add.

Changed

  • The menu, regrouped around what you do: Your books, Your reading, Discover, Insights, Your copies, Settings, and Admin, in place of one long Browse.
  • A book's page in tabs: Reading, Details, Your copy, and History. Account in tabs: You, Sign-in & security, Connections, and Notifications. Links to a part of either page open the tab it's in, and ?tab= chooses one; after uploading a file, cover, or picture, the book opens on Your copy. Only the tab shown is drawn, so the pages open faster.
  • Nine pages that only show things (years, a year, reading DNA, what to read next, the map, the calendar, shelves, condition, recommenders) are plain pages, with no live connection to start or lose.
  • The same message, done or a problem, on every page that reports one.
  • The library's Show more is pressed for you as you scroll near it, so a big library reads as one list; so is a place's.
  • Seven more pages work as plain pages, their buttons as forms: Authors (Follow), a shared shelf and a linked one (Ask to borrow), Book clubs, Collections, the Reference desk, and Server health.
  • Reading DNA, What to read next, a year's review, and Your collection over time show their heading and a placeholder at once, and the rest when it's worked out.
  • Recent activity on Account is under Sign-in & security; a book kept for offline reading says so beside the button, wherever the tab.

Fixed

  • Compiler warnings: a buffer allocated on the stack inside a loop when reading a WAV file's length, and two never-used fields on Up next.