• v1.0.0 995ccb50bb

    v1.0.0
    Release / build-and-push (push) Successful in 2m36s
    Stable

    john-okeefe released this 2026-08-20 09:31:39 -04:00 | 31 commits to main since this release

    Bug Fixes

    • (sync) Web annotations never reached KOReader — bind 400s + unresolvable locators (f6e257e)
    • (sync) Synced highlights painted nowhere — degenerate range ends + color model mismatch (6e9b352)
    • (reader) Render device-synced highlights — synthesize range CFIs (50ec2be)
    • (sync) Echo dedup + color semantics + classification for KOReader round-trips (dafcadd)

    Features

    • (db) Locator columns for tombstoned annotations (0670d90)
    • (reader) Send end-anchor CFI for EPUB highlights (97e546b)
    • (sync) Serve web highlight colors to KOReader (mapped to its palette) (178fb2e)

    Other

    • Merge branch 'sync-annotations-fix': bidirectional annotation sync for KOReader

    Server-side (8 commits): web annotations finally reach KOReader and
    vice versa. Fixed the 400 bind failures on every annotation-carrying
    push (loose client types), resolved device-native pos0 locators for
    every source (device xpointers pass through round-trip identical,
    web CFIs convert to CRE xpointers with text-search anchoring, PDF
    anchors map to pages), derived degenerate range ends from selection
    length, echo-deduplication via served dedup keys (pull→push cycles
    converge instead of minting duplicates), web↔device color mapping at
    both boundaries with echo suppression (web colors flow to devices,
    round-trips never drift them, device edits win), drawer-based
    annotation classification, and tombstone propagation that can't
    cross-delete. Perf: parsed-EPUB converter cache (bounded, locked).

    Plugin-side (bookhoard.koplugin @ 4ea3966): dual-model annotation
    store (KOReader 2024.07+ v2 ui.annotation + legacy v1), thin-client
    collection (no per-annotation CRE lookups), dedup-key identity
    matching, device-default coloring for applied highlights with
    datetime_updated-based echo suppression, and native-shaped
    AnnotationsModified dispatches (fixes a ReaderThumbnail crash and
    paints immediately instead of after restart). (f07c93e)

    • Merge branch 'test-fixture-cleanup': book-agnostic CFI converter tests (995ccb5)

    Performance

    • (sync) Share parsed EPUBs across conversions, make converters concurrency-safe (1585aa1)

    Tests

    • (sync) Replace book-specific CFI converter fixtures with a synthetic EPUB (4ab947f)
    Downloads