Skip to content

This release adds 5 notable features for engineering teams evaluating rollout.

Published 23d Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

audiobook-player digital-library docker ebook-reader library-management metadata-management
+5 more
nestjs oidc-single-sign-on opds self-hosted vue

Summary

AI summary

Broad release touches Highlights, Bug Fixes, https://github.com/bookorbit/bookorbit/issues/504, and Swagger.

Full changelog

Highlights

  • KOReader plugin improvements - Several quality-of-life additions to the KOReader plugin: bulk book selection and download in the catalog, skip automatic progress sync when offline, a system action shortcut to jump to your BookOrbit dashboard, device removal and unmatched book tracking surfaced in the settings panel, and manual book hash linking to resolve unmatched books without a full rescan.

  • Custom icons support - Libraries, shelves, and collections can now display custom icons, letting you personalise your library at a glance.

  • Rich text description formatting bar - The book description editor now has a formatting toolbar. Bold, italic, links, and lists are all available without leaving the metadata panel.

  • Kobo device sync history - A new sync history view in the Kobo settings panel shows the timestamp and outcome of every past sync session, making it easy to diagnose sync problems.

  • Import Booklore reading state - Users migrating from Booklore can now import their reading progress and history directly, so your reading journey carries over intact.

  • Custom metadata fields in table view - Custom fields defined for a library now appear as sortable columns in the book table view.

  • Book Dock work queue and adaptive heap - Book Dock processing now runs through a managed work queue to prevent pipeline overload. The Node.js heap is also auto-sized based on available memory, reducing OOM crashes on memory-constrained servers.

  • Public API documentation (Swagger) - A Swagger UI is now available at /api/docs for exploring and testing the public REST API.


Features

  • icons: add custom icons support (e6380c8) by @neonsolstice
  • books: add rich text description formatting bar (3093713) by @neonsolstice, closes #460
  • books: surface custom metadata fields in table view (527fb3c) by @neonsolstice, closes #465
  • client: expand global search to display all matching books (54e228e) by @neonsolstice, closes #480
  • kobo: add catalog bulk download and selection to KOReader plugin (c0adecd) by @neonsolstice, closes #478
  • kobo: add device sync history tracking (7699719) by @neonsolstice
  • kobo: add manual KOReader book hash linking and unmatched tracking (1c15bc5) by @neonsolstice, closes #458
  • koreader: add option to skip auto-sync when offline (4472501) by @neonsolstice, closes #471
  • koreader: add system action to open dashboard in koreader plugin (d215c8b) by @neonsolstice, closes #449
  • library: allow renaming books into existing folders (e18d7fe) by @neonsolstice, closes #523
  • metadata: allow manual search with providers outside field rules (89275ac) by @neonsolstice
  • metadata: parse Calibre #extra_tags custom column into book tags (#476) ([0a4df27]
  • reader: add KOReader device removal and unmatched book tracking (28f6dff) by @neonsolstice, closes #504
  • reader: add persistent sidebar pin (d573f3a) by @neonsolstice, closes #497
  • reader: support single-page mode for fixed-layout epubs (ccc7d70) by @neonsolstice, closes #487
  • scanner: add work queue for book dock pipeline and auto-size node heap (1f7620a) by @neonsolstice, closes #441
  • server: add swagger setup for public api documentation (ae74b35) by @neonsolstice, closes #399
  • server: import Booklore reading state (702b4eb) by @neonsolstice, closes #482 #483
  • smart-scope: support provider filtering for community ratings (046dd0f) by @neonsolstice, closes #477
  • stats: demote reading source in default charts and breakdowns (691f1d2) by @neonsolstice
  • users: allow setting default library access for new users (169b775) by @neonsolstice, closes #486

Bug Fixes

  • aladin: use ItemLookUp for ISBN search instead of keyword lookup (#470) (5e3b18e) by @kyungw00k, closes #437
  • authors: chunk inserts to prevent call stack overflow on backfill (cb4edec) by @neonsolstice, closes #452
  • authors: wire author book delete action (d38b7c6) by @neonsolstice, closes #211
  • books: cast date offset to int to fix smart scope crash (c4e6125) by @neonsolstice, closes #508
  • books: restore metadata editing for multiple selected books (7d37c12) by @neonsolstice, closes #455
  • client: prevent cached state leaking across user sessions (54178fc) by @neonsolstice, closes #510
  • dashboard: exclude active and read books from discover something new (76aabcb) by @neonsolstice, closes #484
  • library: rename all audio tracks of multi-file audiobooks (61c5f9f) by @neonsolstice, closes #521
  • metadata: add poppler pdfinfo fallback for pdf metadata parsing (aa5eed5) by @neonsolstice, closes #491
  • metadata: avoid search reruns on provider filters (ab317ba) by @neonsolstice
  • metadata: persist Hardcover edition ID during automatic refresh (665b6d4) by @neonsolstice, closes #440
  • reader: prevent tracking progress out of bounds or non-finite (da48fb4) by @neonsolstice, closes #479
  • reader: reconcile remote progress before manual KOReader book sync (adfeb6a) by @neonsolstice, closes #461
  • reader: refresh access token when loading epub chapters (d8d0095) by @neonsolstice, closes #446
  • reader: respect epub page progression direction (08b7f0e) by @neonsolstice, closes #444
  • reader: support loading cbz files larger than 2gb (9528071) by @neonsolstice, closes #457
  • series: resolve missing series in koreader catalog by id (73e7c81) by @neonsolstice, closes #466
  • server: batch migration queries to prevent parameter limit errors (979ec27) by @neonsolstice, closes #504
  • server: encode non-ASCII filenames in download headers (209bec1) by @neonsolstice, closes #448
  • stats: use local timezone for peak reading hours (efdffbd) by @neonsolstice, closes #513

Docker

docker pull ghcr.io/bookorbit/bookorbit:2.1.0

Multi-arch: linux/amd64 and linux/arm64.

Full diff

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track bookorbit/bookorbit](https:

Get notified when new releases ship.

Sign up free

About bookorbit/bookorbit](https:

All releases →

Related context

Beta — feedback welcome: [email protected]