Releases
v3.3.0
Compare
Sorry, something went wrong.
No results found
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 )
You can’t perform that action at this time.