Skip to content

v3.3.0

Choose a tag to compare

@github-actions github-actions released this 21 Oct 20:28
· 95 commits to master since this release

3.3.0 (2026-10-21)

Features

  • shared: let a bookmark be only in KOReader's form (468fd55)
  • web: open a book at its bookmark's KOReader form (a37ee9b)

Bug Fixes

  • accept Dropbox credentials without a refresh token (622af61)
  • api: sync WebDAV servers that only accept Digest auth (8e1e0bf)
  • shared: ignore the KOReader form a cleared bookmark leaves behind (0c14d92)
  • web: keep the reader closed for a book missing from the database (2df8d83)
  • web: keep the settings query live when its document is missing (1353225)
  • web: label sources whose connector URL is a host and port (f4caed9)
  • web: name plugins by their display name in popups (1d82297)
  • web: toast a failed selection save once (5ec7533)

Security

  • api: verify email-link tokens with the public key (3810ae4)

Performance Improvements

  • api: skip Google title queries that repeat the last one (391aca9)

Code Refactoring

  • api: stop listing Google Books as a series source (70e5788)
  • web: read the pushed KOReader position through getBookmark (184efac)
  • web: tell useCreateReader to open at the start with a null book (6f9bf7c)
  • web: upload to the server plugin through the WebDAV steps (50cbc0e)
  • web: use CancelButton, Page and formatList where they are still rebuilt (4aff538), closes mbret/oboku#805

Chores

  • deps: take reactjrx 2.1.1 (835644b)
  • deps: upgrade reactjrx to 2.0 (ee3159b)

Tests

  • web: check each plugin hook gets the popup named after it (7f43b7f)
  • web: check useEnsureQueryData$ against a real live query (3c636a4)
  • web: fill in a KOReader-only bookmark's cfi without moving it (7088510)
  • web: wait for the live query's render before checking the freeze (f80a06b)