KOReader
org.koreader.launcher
Zapstore _@zapstore.dev Republished from GitHub / F-Droid by the Zapstore main account.
First release: Aug 16, 2025, 5 total releases.
Most recent release: Aug 1, 2026.
Appears in 3 app stacks.
0 sats / 0 zaps received in the past year.
Sats Received
Underlying data available via MCP: app_zaps, app_releases.
Zap Count
Underlying data available via MCP: app_zaps, app_releases.
Releases
- Aug 1, 2026 v2026.07.1Minor bug fixes, mainly for some virtual artifacts in rounded corners (#15753). ## What's Changed * Fix OPDS 2.0 http header (https://github.com/koreader/koreader/pull/15751) @hius07 * bump base (https://github.com/koreader/koreader/pull/15746) @benoit-pierre * Maintain scroll offset for a kept open, multi-page QuickMenu (https://github.com/koreader/koreader/pull/15756) @asz3 * luxl: keep attribute values that are not ASCII (https://github.com/koreader/koreader/pull/15758) @iav * Support tolino fw >=5.18 (https://github.com/koreader/koreader/pull/15759) @beedaddy * OPDS2.0: fix author (https://github.com/koreader/koreader/pull/15770) @hius07 * Wallabag: skip archive dir in recursive scan (https://github.com/koreader/koreader/pull/15767) @liskin
More…
## New Contributors * @asz3 made their first contribution in https://github.com/koreader/koreader/pull/15756 **Full Changelog**: https://github.com/koreader/koreader/compare/v2026.07...v2026.07.1 - Jul 26, 2026 v2026.07<a href="https://github.com/user-attachments/assets/1cf9f7af-77be-41fa-b8d5-41bc60d2f9e3"><img width="2098" height="1610" alt="koreader-2026-07-sailing-walrus-fs8" src="https://github.com/user-attachments/assets/e274968e-f199-4353-afdc-e073fa456fa8" /></a> It's been about four months since the previous release, so it's about time, isn't it? One very interesting addition is background cleanup for PDFs with Mask and SMask, which is technobabble for backgrounds (particularly in Archive.org PDFs, <https://github.com/koreader/koreader/pull/15401>). It means you might not need preprocessing to be able to open them on your ereader without having to be fairly patient when turning pages, though the usual warnings apply: backgrounds are not *just* the yellowish color of paper, but they might also contain most of the non-textual content, if any. Kobo v5 support was finally merged (<https://github.com/koreader/koreader/pull/12401>), and will also reach the nightly builds server soon. There's also new or improved support for the PocketBook Era Lite, reMarkable Paper Pure, newer Onyx Android devices, and some Kindle models. The hotkeys plugin now supports single-key shortcuts (https://github.com/koreader/koreader/pull/14867), and speaking of plugins, there is now built-in support to delete them (https://github.com/koreader/koreader/pull/15240). SyncService is replaced by the new Cloud storage plugin (https://github.com/koreader/koreader/pull/15210). It supports uploading, downloading, and deleting selected files, configurable servers and upload folders, natural sorting, and improved WebDAV handling.
More…
And last but not least, there's now OPDS 2.0 basic support (https://github.com/koreader/koreader/pull/15696). This month's logo was contributed by [@thunder_clud](https://www.instagram.com/thunder_clud/). We'd like to thank all contributors for their efforts. Some highlights since the previous release include: * [doc] Add DataStorage developer docs (https://github.com/koreader/koreader/pull/15121) @TechnoCode44 * linux: fix metadata to match our flatpak package (https://github.com/koreader/koreader/pull/15126) @benoit-pierre * otamanager: honor http proxy (https://github.com/koreader/koreader/pull/15131) @benoit-pierre * [Kindle] fix setting absolute warmth without breaking incremental settings (https://github.com/koreader/koreader/pull/13344) @mergen3107 * tools: fix update-metadata (https://github.com/koreader/koreader/pull/15132) @benoit-pierre * Export highlights: filters (https://github.com/koreader/koreader/pull/15003) @hius07 * Fix sdl3 lib path in nix shell (https://github.com/koreader/koreader/pull/15142) @j-v * Footnote popup: add option to justify (or not) text (https://github.com/koreader/koreader/pull/15129) @poire-z * [HtmlBoxWidget, DictQuickLookup] add capability to search within dictionary definitions (https://github.com/koreader/koreader/pull/15001) @Commodore64user * Bookmark browser: default book source (https://github.com/koreader/koreader/pull/15143) @hius07 * bump base (https://github.com/koreader/koreader/pull/15153) @benoit-pierre - libarchive: ensure FFI cdecls are the same on all platforms (koreader/koreader-base#2305) * pocketbook: inkview handling rework (https://github.com/koreader/koreader/pull/15087) @benoit-pierre * bump crengine: support ::first-line, COLRv0 fonts, CHM and CSS fixes (https://github.com/koreader/koreader/pull/15155) @poire-z Includes: - https://github.com/koreader/crengine/pull/656 - CHM: improve Chinese encoding handling Closes #15079. - https://github.com/koreader/crengine/pull/653 - `renderFinalBlock()`: fix background color propagation among inlines - first-letter: resets some CSS, ignore invisible, stop on `<br/>` - CSS: support for pseudo element `::first-line` Closes #14391. - CSS: add support for `float/clear`: `inline-start/inline-end` - https://github.com/koreader/crengine/pull/654 - lvfntman, lvdrawbuf: add COLR v0 color font rendering support Also add style tweaks to disable first-letter and first-line. * css_tweaks: fix typo in Disable first-line tweak name (https://github.com/koreader/koreader/pull/15161) @poire-z * bump base (https://github.com/koreader/koreader/pull/15172) @benoit-pierre - pocketbook: rework the inkview handling rework… (koreader/koreader-base#2307, close #15156) - fi/util: prevent util.runInSubProcess children from running atexit handlers (koreader/koreader-base#2308, close #15167) * ReaderStatus: fix End of Document status change (https://github.com/koreader/koreader/pull/15159) @hius07 * coverimage: only update on rotation if rotate image enabled (https://github.com/koreader/koreader/pull/15179) @liskin * Cloud storage+ (https://github.com/koreader/koreader/pull/15150) @hius07 * [DictQuickLookup] detection and key-event injection for SDL devices (https://github.com/koreader/koreader/pull/15158) @Commodore64user * Collections update (https://github.com/koreader/koreader/pull/15175, https://github.com/koreader/koreader/pull/15193) @hius07 * File browser: fix "Folders and files mixed" menu item (https://github.com/koreader/koreader/pull/15202) @hius07 * bugfix: check for current directory in webdav listing (https://github.com/koreader/koreader/pull/15192) @rolurq * SyncService is replaced by Cloud storage plugin (https://github.com/koreader/koreader/pull/15210) @hius07 * pocketbook: drop redundant trace (https://github.com/koreader/koreader/pull/15222) @benoit-pierre * Status bars: fix showing additional content (https://github.com/koreader/koreader/pull/15218) @hius07 * feat: add alternative mime type for fb2 (https://github.com/koreader/koreader/pull/15231) @legokol * Book status: reset rating (https://github.com/koreader/koreader/pull/15227) @hius07 * Cloud storage: default server (https://github.com/koreader/koreader/pull/15226) @hius07 * PluginLoader: use directory name for enabled/disabled, deprecate metadata name (https://github.com/koreader/koreader/pull/15096) @Frenzie * Feature: Implement the ability to delete plugins (https://github.com/koreader/koreader/pull/15240) @Saterz * [MultiInputDialog] split password field and checkbox (https://github.com/koreader/koreader/pull/15234) @Commodore64user * Cloud storage: upload selected files (https://github.com/koreader/koreader/pull/15243) @hius07 * [Android] Bump luajit-launcher (https://github.com/koreader/koreader/pull/15251) @Frenzie * EventReceiver: use Unix domain sockets instead of mkfifo() <https://github.com/koreader/android-luajit-launcher/pull/580> * Fix Crema Soundup menu flickering due to unsupported GLR16 waveform <https://github.com/koreader/android-luajit-launcher/pull/582> * Add support for ONYX_GO7 device ID <https://github.com/koreader/android-luajit-launcher/pull/584> * Add ONYX_PALMA2_PRO to color device IDs <https://github.com/koreader/android-luajit-launcher/pull/588> * ReaderBookmark, BookmarkBrowser: unified bookmark details window (https://github.com/koreader/koreader/pull/15250) @hius07 * InputText: delete selection; undo last deletion (https://github.com/koreader/koreader/pull/15238) @hius07 * Fix language matching logic (https://github.com/koreader/koreader/pull/15267) @PauLuke * fix(pocketbook): Networking and DNS resolution during early boot (https://github.com/koreader/koreader/pull/15244) @ananyatimalsina * macos: tweak release 7z name (https://github.com/koreader/koreader/pull/15284) @benoit-pierre * Minor Wikipedia & highlighting fixes, add "Toggle hanging punctuation" to dispatcher (https://github.com/koreader/koreader/pull/15285) @poire-z * Profiles: keep settings in the base class (https://github.com/koreader/koreader/pull/15270) @hius07 * Cloud storage: keep settings in the base class (https://github.com/koreader/koreader/pull/15274) @hius07 * OPDS: load settings when needed only (https://github.com/koreader/koreader/pull/15283) @hius07 * Add python to shell.nix (https://github.com/koreader/koreader/pull/15296) @RoadRoller01 * vocabbuilder.koplugin: Add 'forgot' button in "Vocabulary exists" popup window (https://github.com/koreader/koreader/pull/15297) @weijiuqiao * handle multiple args in common/koreader.sh (https://github.com/koreader/koreader/pull/15271) @liskin * Read timer: start action, expiry message (https://github.com/koreader/koreader/pull/15289) @hius07 * UI: Capitalize Bulgarian language name in language menu (https://github.com/koreader/koreader/pull/15303) @d0nizam * [KeyValuePage] Fix keyboard hold events targeting wrong item (https://github.com/koreader/koreader/pull/15305) @Commodore64user * MoveToArchive: load settings when needed only (https://github.com/koreader/koreader/pull/15302) @hius07 * bump base (https://github.com/koreader/koreader/pull/15308) @benoit-pierre - feat: Kindle: add uevent listener for input device hotplug (koreader/koreader-base#2327) - ffi/util,SDL3: stop SDL3 gamepad thread around fork() to fix Linux UI freeze (koreader/koreader-base#2332) * bump crengine: MOBI and CSS fixes ; add getNearestWordFromPosition() (https://github.com/koreader/koreader/pull/15310) @poire-z #### bump crengine: MOBI and CSS fixes Includes: - https://github.com/koreader/crengine/pull/661 - pdbfmt: don't overwrite extracted metadata - pdbfmt: extract more metadata from MOBI EXTH - pdbfmt: extract MOBI non-EXTH title if necessary - https://github.com/koreader/crengine/pull/662 - CSS first-line: fix possible crash - CSS width: fit-content: account for the element padding - getNodeByPoint(): improve fallback check #### cre.cpp: add getNearestWordFromPosition() Useful for improve text selection using DPAD/arrow keys. Requested along https://github.com/koreader/crengine/issues/659. * [PocketBook] Respect input_ignore_gsensor setting (https://github.com/koreader/koreader/pull/15304) @jannickfahlbusch * [doc] Add IconWidget developer docs (#15253) (https://github.com/koreader/koreader/pull/15276) @TechnoCode44 * Feature: Add a two different submenus for built-in and user plugins (https://github.com/koreader/koreader/pull/15245) @Saterz * plugins: avoid legacy use of double quoted sqlite strings (https://github.com/koreader/koreader/pull/15318) @benoit-pierre * BookStatusWidget: improve note gesture handling (https://github.com/koreader/koreader/pull/15311) @Frenzie * [Hotkeys] add single-key shortcuts (https://github.com/koreader/koreader/pull/14867) @Commodore64user * Gestures: keep settings in the base class (https://github.com/koreader/koreader/pull/15278) @hius07 * DocSettings: fix moving doc setting to 'hash' location (https://github.com/koreader/koreader/pull/15319) @hius07 * Collections: fix renaming folder (https://github.com/koreader/koreader/pull/15320) @hius07 * KOSync: optionally send document metadata with progress sync (https://github.com/koreader/koreader/pull/15306) @nperez0111 * Feat: KS3 & KSC support (https://github.com/koreader/koreader/pull/15256) @ThatHackerDudeFromCyberspace * Book metadata archive (https://github.com/koreader/koreader/pull/15264) @hius07 * Book metadata archive: 'restore from archive' wording (https://github.com/koreader/koreader/pull/15326) @hius07 * feat: ExternalKeyboard: allow plugin to load on Kindle (https://github.com/koreader/koreader/pull/15248) @zampierilucas * Folder shortcuts: standard folders (https://github.com/koreader/koreader/pull/15323) @hius07 * NewsDownloader: per-feed max_age option (https://github.com/koreader/koreader/pull/15322) @vandot * Profiles: external auto-exec triggers (https://github.com/koreader/koreader/pull/15329) @hius07 * [DictQuickLookup] add custom button layout (https://github.com/koreader/koreader/pull/15184) @Commodore64user * Sort by rating (https://github.com/koreader/koreader/pull/15327) @hius07 * ReaderView: fix highlight in night mode (https://github.com/koreader/koreader/pull/15336) @hius07 * Bug fix: ensure default_layout is up to date when generating menu (https://github.com/koreader/koreader/pull/15340) @Commodore64user * ci/macos: add workflow dispatch (https://github.com/koreader/koreader/pull/15346) @benoit-pierre * feat: add Lemma Greek-English dictionary (https://github.com/koreader/koreader/pull/15357) @ciscoriordan * fix: bump Lemma Greek-English Dictionary URL to v1.3.3 (https://github.com/koreader/koreader/pull/15359) @ciscoriordan * Plugin disable dialog (https://github.com/koreader/koreader/pull/15341) @hius07 * Tweak document settings: open settings file when needed only (https://github.com/koreader/koreader/pull/15355) @hius07 * kindle: add SSH server support to KUAL extension (https://github.com/koreader/koreader/pull/15352) @benoit-pierre * Plugins' menu items (https://github.com/koreader/koreader/pull/15360) @hius07 * datetime: add gettext context to abbreviated months (https://github.com/koreader/koreader/pull/15369) @ichnilatis-gr * Fix opening file with associated provider (https://github.com/koreader/koreader/pull/15367) @hius07 * VocabBuilder: sync action; enable deleting settings (https://github.com/koreader/koreader/pull/15372) @hius07 * HttpInspector: enable deleting plugin settings (https://github.com/koreader/koreader/pull/15373) @hius07 * QR from clipboard: enable highlight button on devices without clipboard (https://github.com/koreader/koreader/pull/15363) @hius07 * Hide parent folder (https://github.com/koreader/koreader/pull/15374) @hius07 * BatteryStat: enable deleting plugin settings (https://github.com/koreader/koreader/pull/15378) @hius07 * KoSync: enable deleting plugin settings (https://github.com/koreader/koreader/pull/15379) @hius07 * Wallabag: settings fixes (https://github.com/koreader/koreader/pull/15383) @hius07 * NewsDownloader: enable deleting plugin settings (https://github.com/koreader/koreader/pull/15382) @hius07 * OPDS: 'crawlable' relation (https://github.com/koreader/koreader/pull/15384) @hius07 * kobo: Fix detection of 'Kobo mode' of Tolino devices (https://github.com/koreader/koreader/pull/15389) @AlexanderS * Perception expander: minor fixes (https://github.com/koreader/koreader/pull/15364) @hius07 * plugins/calibre: preserve author_sort in slim metadata (https://github.com/koreader/koreader/pull/15398) @AndyHazz * BookShortcuts: fix settings (https://github.com/koreader/koreader/pull/15392) @hius07 * TouchMenu: allow mousewheel scrolling; fix possible crash when highlighting (https://github.com/koreader/koreader/pull/15402) @poire-z * getHomeFolder() (https://github.com/koreader/koreader/pull/15400) @hius07 * Increase viewport for PB743K3 (https://github.com/koreader/koreader/pull/15410) @SilverGreen93 * Bump base (https://github.com/koreader/koreader/pull/15411) @Frenzie * Support SDL3 pen events (koreader/koreader-base#2351) * Isolate PDF SMask (koreader/koreader-base#2361) * #7992 Isolate PDF SMask (https://github.com/koreader/koreader/pull/15401) @kerivin * fix: wikipedia enforced image step sizes (https://github.com/koreader/koreader/pull/15399) @oscargolding * Add support for Pocketbook Era Lite (https://github.com/koreader/koreader/pull/15415) @Kulllerkeks * Statistics: fix pic documents; enable deleting settings (https://github.com/koreader/koreader/pull/15387) @hius07 * CloudStorage: save 'upload folder' (https://github.com/koreader/koreader/pull/15408) @hius07 * ReaderHighlight: clear selection after showing OCR infomessage (https://github.com/koreader/koreader/pull/15213) @Frenzie * bump base (https://github.com/koreader/koreader/pull/15418) @benoit-pierre - KOPTContext: add white threshold (koreader/koreader-base#2363) * [DictQuickLookUp] bug_fix: don't mutate default_layout (https://github.com/koreader/koreader/pull/15422) @Commodore64user * Add white threshold for paged documents (https://github.com/koreader/koreader/pull/15412) @kerivin * bump base & crengine: support for initial-letter, and other fixes (https://github.com/koreader/koreader/pull/15429) @poire-z Includes: - fix GCC 16 warnings (-Wunused-but-set-variable) https://github.com/koreader/crengine/pull/663 - https://github.com/koreader/crengine/pull/666 : - ldomXRange::getRangeText(): newline on <br/> - createXPointer(pt)/getRect(): use formatter src->t.text - getRect(): unify one-char-long word width handling - CSS ::first-letter: use non-letter char if no letter in first text node - CSS ::first-line: properly handle inline-block - createXPointer(pt): return source text node on pseudoElem[FirstLetter] - getSegmentRects(): compare .bottom additionally to .top - lvfntman: add getCapHeight() - CSS initial-letter: add CSS parsing and style slot - CSS initial-letter: render ::first-letter via inline-box Also includes: - MuPDF: check if page has smask before applying it https://github.com/koreader/koreader-base/pull/2364 credocument: fix call cache statistics (not updated after the bit time.lua refactor years ago - https://github.com/koreader/koreader/pull/15377#discussion_r3261339666). * QRClipboard: fix extending highlight to sentence (https://github.com/koreader/koreader/pull/15431) @hius07 * doc: update build requirements (https://github.com/koreader/koreader/pull/15437) @benoit-pierre * sdl: better init trace (https://github.com/koreader/koreader/pull/15438) @benoit-pierre * Flat file list (no subfolders) (https://github.com/koreader/koreader/pull/15425) @hius07 * Profiles: auto-executing list; path patterns (https://github.com/koreader/koreader/pull/15439) @hius07 * drop remains of non-functional Ubuntu Touch target (https://github.com/koreader/koreader/pull/15442) @benoit-pierre * feat: saturation control (https://github.com/koreader/koreader/pull/15381) @NoaHimesaka1873 * mxcfb: fix kobo FFI cdecls (https://github.com/koreader/koreader/pull/15446) @benoit-pierre * ReadCollection: fix per-collection write filter typo on removeItem (https://github.com/koreader/koreader/pull/15454) @AndyHazz * Tweak document settings: path patterns (https://github.com/koreader/koreader/pull/15440) @hius07 * fix: missing saturation in copyPageState (https://github.com/koreader/koreader/pull/15455) @NoaHimesaka1873 * Add WikDict bilingual dictionaries (https://github.com/koreader/koreader/pull/15456) @karlb * feat: add turkish reader.dict monolingual dictionary (https://github.com/koreader/koreader/pull/15457) @BoboTiG * Add some Wiktionary StarDict files (https://github.com/koreader/koreader/pull/15451) @xxyzz * feat: QTFB input/framebuffer support (https://github.com/koreader/koreader/pull/15461) @NoaHimesaka1873 * Book metadata archive: fix saving (https://github.com/koreader/koreader/pull/15445) @hius07 * feat: reMarkable Paper Pure support (https://github.com/koreader/koreader/pull/15463) @NoaHimesaka1873 * [ReaderKeySelection] NT: improved text selection with cursor keys (https://github.com/koreader/koreader/pull/15377) @Commodore64user * ReaderDictionary: prettify dict download list (https://github.com/koreader/koreader/pull/15452) @hius07 * fix `common/koreader.sh` arguments handling on restart (https://github.com/koreader/koreader/pull/15312) @benoit-pierre * make: change android targets to `android-xxx` (https://github.com/koreader/koreader/pull/15351) @benoit-pierre * generate new ota packages (https://github.com/koreader/koreader/pull/15236) @benoit-pierre * Screensaver: don't load the module on unsupported devices (https://github.com/koreader/koreader/pull/15465) @hius07 * fix: appload quirk workaround (https://github.com/koreader/koreader/pull/15475) @NoaHimesaka1873 * [TextBoxWidget] Find in definition (wiki edition) (https://github.com/koreader/koreader/pull/15356) @Commodore64user * Highlights: pre-highlighting prompt (https://github.com/koreader/koreader/pull/15473) @hius07 * SDL: shell-escape openLink and external dict lookup args (https://github.com/koreader/koreader/pull/15491) @Booyaka101 * Open file: more honor associated provider (https://github.com/koreader/koreader/pull/15489) @hius07 * Exporter: exclude page bookmarks (https://github.com/koreader/koreader/pull/15493) @hius07 * [DictQuick, Paging, Rolling] Eclectic fixes for 'find In Definition' and key Events (https://github.com/koreader/koreader/pull/15498) @Commodore64user * Highlights: temporary highlight color (https://github.com/koreader/koreader/pull/15486) @hius07 * Menu widget: search next entry (https://github.com/koreader/koreader/pull/15502) @hius07 * [TextViewer] NT: add page turn events for easier navigation (https://github.com/koreader/koreader/pull/15504) @Commodore64user * [SDL,plugin/hotkeys] Process gamepad events (https://github.com/koreader/koreader/pull/15449) @Frenzie * Screen rotation: always show rotation mode options (https://github.com/koreader/koreader/pull/15505) @chofuhoyu * BookShortcuts: fix open folder from Reader (https://github.com/koreader/koreader/pull/15517) @hius07 * Cloud storage: download/delete selected files (https://github.com/koreader/koreader/pull/15522) @hius07 * fix(cloudstorage): webdav not listing folders (https://github.com/koreader/koreader/pull/15532) @Skittyblock * fix(cloudstorage): choose folder not showing for empty dirs (https://github.com/koreader/koreader/pull/15533) @Skittyblock * vocabbuilder.koplugin: Add "got it" button in "Vocabulary exists" popup window (https://github.com/koreader/koreader/pull/15534) @weijiuqiao * [reMarkable] fix: native QTFB OTA update (https://github.com/koreader/koreader/pull/15538) @NoaHimesaka1873 * fix(vocabbuilder): leaked db conn breaking sync (https://github.com/koreader/koreader/pull/15531) @Skittyblock * bump base & crengine, enhanced search on CreDocuments (https://github.com/koreader/koreader/pull/15543) @poire-z #### bump base: ffi-cdecl and ffi tweaks and updates Also: - ffi/loadlib: fix loading SSL library in monolibtic mode - ci/circle: bump docker images (new ffi-cdecl version) - ffi/zstd: allow setting compression level - ffi/hashoir: new module for hashing memory - ffi/util: add bidirectional support to `runInSubProcess` - utils: improve `inkview_h` generator script (Too many PRs to add links to each of them :/ :)) #### bump crengine: enhanced findText(); Malayalam hypnehation Includes: - TextLang, hyphenation: add Malayalam (ml) https://github.com/koreader/crengine/pull/672 - https://github.com/koreader/crengine/pull/673 - `findText()`: return list of ldomXRange instead of ldomWord - `findText()`: implement tweakable enhanced search - https://github.com/koreader/koreader-base/pull/2411 - cre.cpp findText() and findAllText(): Updated to handle returned ldomXRange instead of ldomWord, and added optional searchFlags params. ReaderTypography: add Malayalam to the list of supported languages. #### ReaderSearch: enhanced search on CreDocuments See https://github.com/koreader/koreader/issues/10366#issuecomment-4642735530 (flags re-ordered since this post - don't trust them there). I settled on: <img width="544" height="245" alt="image" src="https://github.com/user-attachments/assets/3725c972-943e-4424-8d64-a09f256b66ec" /> 2 others commented out would give: <img width="546" height="313" alt="image" src="https://github.com/user-attachments/assets/6957ab49-e2aa-42e0-b40d-b91fbfae91a7" /> ```lua -- For CreDocuments, different search features are available: -- Enhanced search flags: -- MATCH_ACROSS_TEXT_NODES = 0x0001 -- COLLAPSE_CONSECUTIVE_SPACES = 0x0002 -- NORMALIZE_CANONICAL = 0x0004 -- NORMALIZE_COMPATIBILITY = 0x0008 -- IGNORE_FORMAT_CONTROL_CHARS = 0x0010 -- FOLD_SPACES = 0x0020 -- FOLD_APOSTROPHES = 0x0040 -- FOLD_HYPHENS = 0x0080 -- IGNORE_DIACRITICS = 0x0100 -- Make a few types of search available as radion buttons -- (These are available to be updated/extended by user-patches) search_types = { -- Title of the radio button , search_flags, use_regex { _("Ignore accents / stress marks"), 0x01FF, false }, -- { _("As typed"), 0x0017, false }, -- { _("Legacy search"), 0x0000, false }, { _("Regular expression (long-press for help)"), 0x0001, true }, }, default_search_type = { "", 0x00FF, false }, -- Most except IGNORE_DIACRITICS ``` These Radio buttons (each setting a set of flags) are mutually exclusive, but they can also be all unchecked (in which case, we use the defaults we seem to have all agreed on). `Case insensitive` is an independant one that works with all others (and the default of none). **Should they be squared checkboxes ?** * bump crengine: refactor Font Manager, support for variable fonts (https://github.com/koreader/koreader/pull/15553) @poire-z Includes https://github.com/koreader/crengine/pull/669: - lvfntman: Refactor Font Manager; Add variable fonts - CSS font-optical-sizing - lvfntman: Docs and tests for refactor Thanks to @spfenwick . Closes #12800 (might have been about the UI fonts, but well, it's more valuable in crengine, and we got it there, so closing). * fix(language): remove duplicate Vietnamese language entry (https://github.com/koreader/koreader/pull/15552) @gaunh0 * Page overlap: no indicator; actions for gestures/profiles (https://github.com/koreader/koreader/pull/15541) @hius07 * Enable 'Saturation' option if 'Color rendering' is on (https://github.com/koreader/koreader/pull/15542) @kerivin * Malayalam Keyboard (FUTO layout) (https://github.com/koreader/koreader/pull/15560) @NalrTynhe * [ReaderKeySelection] NT: add indicator overlay (https://github.com/koreader/koreader/pull/15547) @Commodore64user * kindle: fix possible crash when not connected to a network but wifi is on (https://github.com/koreader/koreader/pull/15519) @benoit-pierre * QuickMenu: rename actions (https://github.com/koreader/koreader/pull/15564) @hius07 * [ReaderKeySelection] flash word when starting indicator (https://github.com/koreader/koreader/pull/15571) @Commodore64user * Check code type before HTTP error handling (https://github.com/koreader/koreader/pull/15578) @lyluqo * Reworked the Wallabag plugin to recursively scan the download directory (https://github.com/koreader/koreader/pull/15558) @evmcl * Collections: fix removing book from collections via file popup dialog (https://github.com/koreader/koreader/pull/15577) @hius07 * screensaver: add option for extra refreshes to avoid sleep screen ghosting (https://github.com/koreader/koreader/pull/15568) @ahmadadam96 * minor wording and button corrections (https://github.com/koreader/koreader/pull/15582) @Commodore64user * bump base & crengine: Font Manager enhancements and fixes (https://github.com/koreader/koreader/pull/15587) @poire-z Includes: - lvfntman: `SetAlias` cleanup https://github.com/koreader/crengine/pull/678 - lvfntman: synthetic small caps https://github.com/koreader/crengine/pull/680 Closes #13563. - lvfntman: fix duplicated `@font-face` handling https://github.com/koreader/crengine/pull/682 - lvfntman: resurrect `getFontFileNameAndFaceIndex()` https://github.com/koreader/crengine/pull/683 Closes #15574. Closes #15581. - CSS: allow arbitrary `font-weight`s https://github.com/koreader/crengine/pull/681 Closes #4174. - DrawBuf: allow drawing colors inverted https://github.com/koreader/crengine/pull/677 Closes #15544. Also: cre.cpp: `drawCurrentPage()` set invert_colors when invert_images provided. Also: feat(ffi): invert screenshots in night mode https://github.com/koreader/koreader-base/pull/2401 * kindle: fix issues when running from nonstandard location (https://github.com/koreader/koreader/pull/15579) @ThatHackerDudeFromCyberspace * feat: add dutch reader.dict monolingual dictionary (https://github.com/koreader/koreader/pull/15589) @BoboTiG * CloudStorage: fix servers order when adding new server (https://github.com/koreader/koreader/pull/15580) @hius07 * NewsDownloader: check relative urls using socket.url.parse() (https://github.com/koreader/koreader/pull/15595) @zikasak * NewsDownloader: fix for shadowing _() (https://github.com/koreader/koreader/pull/15597) @zikasak * TextViewer: view html, markdown (https://github.com/koreader/koreader/pull/15588) @hius07 * `ffi/posix_h` rework + use `ffi/netinfo` (https://github.com/koreader/koreader/pull/15556) @benoit-pierre * move kosync plugin settings into a separate file (https://github.com/koreader/koreader/pull/15591) @zikasak * Disable external plugins and user-patches (https://github.com/koreader/koreader/pull/15593) @hius07 * kindle: More non-standard installation fixes and default NO_EIPS_SLEEP when not launched from KUAL (https://github.com/koreader/koreader/pull/15601) @ThatHackerDudeFromCyberspace * Background cleanup over dewatermark (https://github.com/koreader/koreader/pull/15555) @kerivin * kindle: Stop awesome regardless whether KOReader was launched from KUAL or not (https://github.com/koreader/koreader/pull/15608) @ThatHackerDudeFromCyberspace * [InputDialog] NT: remove separator from widget's layout (https://github.com/koreader/koreader/pull/15602) @Commodore64user * Highlights: note format (https://github.com/koreader/koreader/pull/15599) @hius07 * [ReaderLink, Back] clear page links with Back key (https://github.com/koreader/koreader/pull/15613) @Commodore64user * kindle: Fix launch script path detection issues on older firmwares (https://github.com/koreader/koreader/pull/15625) @ThatHackerDudeFromCyberspace * NetworkMgr: re-DHCP after Wi-Fi network switch on Kobo (#14790) (https://github.com/koreader/koreader/pull/15618) @Warlium * readerdictionary: fix & improve downloading dictionaries (https://github.com/koreader/koreader/pull/15642) @benoit-pierre * dictionaries: fix / update some dictionaries (https://github.com/koreader/koreader/pull/15641) @benoit-pierre * Clipboard snippets (https://github.com/koreader/koreader/pull/15627) @hius07 * document: fix crash when opening single images (https://github.com/koreader/koreader/pull/15644) @benoit-pierre * QuickMenu position (https://github.com/koreader/koreader/pull/15640) @hius07 * document: fix another `background_cleanup` check (https://github.com/koreader/koreader/pull/15648) @benoit-pierre * Add hall_file support to KindleTouch and KindleBasic4 (https://github.com/koreader/koreader/pull/15654) @evankrummel * NetworkListener: guard against auto_disable_wifi enabled by user on unsupported devices (https://github.com/koreader/koreader/pull/15655) @Frenzie * OPDSParser: handle self-closing content tags (https://github.com/koreader/koreader/pull/15515) @Booyaka101 * SSH.koplugin: add force‑close toggle for stop (https://github.com/koreader/koreader/pull/15338) @d0nizam * fix: locale C or en_US has its own plural manipulation, the default one. (https://github.com/koreader/koreader/pull/15375) @picospuch * DjVu: preserve text-layer reading order in selection (https://github.com/koreader/koreader/pull/15298) @anaxonda * KOSync: queue failed progress updates for retry on reconnect (https://github.com/koreader/koreader/pull/15324) @collaed * Refactor DepGraph node handling (https://github.com/koreader/koreader/pull/15659) @hugo1120 * feat(reMarkable): Oxide/libblight support (https://github.com/koreader/koreader/pull/15611) @NoaHimesaka1873 * Support SDL stylus input (https://github.com/koreader/koreader/pull/15344) @HackingGate * CloudStorage: add natural sorting by name (https://github.com/koreader/koreader/pull/15662) @hius07 * [InputText] Toggle on-screen keyboard with a lone Sym/ScreenKB tap (https://github.com/koreader/koreader/pull/15669) @iav * Fix crash when opening KOReader with connected BT keyboard (https://github.com/koreader/koreader/pull/15681) @mergen3107 * Update wiktionary_stardict files (https://github.com/koreader/koreader/pull/15686) @xxyzz * add id Indonesian translation to UI (https://github.com/koreader/koreader/pull/15693) @cloned-doy * [ReaderKeySelection] rework addToMainMenu (https://github.com/koreader/koreader/pull/15685) @Commodore64user * pdfdocument: rename deleteMarkupAnnotation call to deleteAnnotation (https://github.com/koreader/koreader/pull/15672) @tomasAlabes * screensaver: improve extra flash option to fix banding (https://github.com/koreader/koreader/pull/15703) @ahmadadam96 * bump base (https://github.com/koreader/koreader/pull/15709) @benoit-pierre - libjpeg-turbo: minor cleanup (koreader/koreader-base#2451) - MuPDF: enable Background Cleanup for PDFs with Mask (not SMask) (koreader/koreader-base#2452, close #15694) - jpeg: re-enable bmp writing support + miscellaenous improvements (koreader/koreader-base#2453, close #15699) * screensaver: add default values to anti-ghosting redraws spinner (https://github.com/koreader/koreader/pull/15710) @ahmadadam96 * Kobo v5 support (https://github.com/koreader/koreader/pull/12401) @NerdyProjects * BookList: safeguard series index for sorting (https://github.com/koreader/koreader/pull/15705) @hius07 * NetworkSetting: guard against missing scan result flags (https://github.com/koreader/koreader/pull/15714) @SAY-5 * Quickstart: teach about menu search (https://github.com/koreader/koreader/pull/15712) @gilgulgamesh * BookmarkBrowser: persistent filters (https://github.com/koreader/koreader/pull/15711) @hius07 * device/kobo: add Kobo:otaModel() like on Kindle for uniformity (https://github.com/koreader/koreader/pull/15713) @Frenzie * WebDAV sync: fix infinite 412 loop on weak ETags (https://github.com/koreader/koreader/pull/15715) @Lorite * pocketbook: fix startup crash after 6.11.1480 firmware update (https://github.com/koreader/koreader/pull/15730) @9783e6 * Device:ping4: keep the native ICMP path on kernels < 2.6.27 (fix legacy Kindle UI freeze) (https://github.com/koreader/koreader/pull/15663) @iav * OPDS 2.0 basic support (https://github.com/koreader/koreader/pull/15696) @hius07 * Fix bottom menu activation (https://github.com/koreader/koreader/pull/15733) @hius07 * [DictQuickLookup] K4: use modifier to call lookupinputword widget (https://github.com/koreader/koreader/pull/15723) @Commodore64user * Flash when displaying covers to reduce ghosting (https://github.com/koreader/koreader/pull/15724) @dmalinovsky * android: set FONTDIR so MuPDF can find its fallback fonts (https://github.com/koreader/koreader/pull/15738) @jperon * fix(reMarkable): PowerD fixes for frontlight and HE sensor (https://github.com/koreader/koreader/pull/15690) @NoaHimesaka1873 ## New Contributors * @TechnoCode44 made their first contribution in https://github.com/koreader/koreader/pull/15121 * @j-v made their first contribution in https://github.com/koreader/koreader/pull/15142 * @rolurq made their first contribution in https://github.com/koreader/koreader/pull/15192 * @legokol made their first contribution in https://github.com/koreader/koreader/pull/15231 * @Saterz made their first contribution in https://github.com/koreader/koreader/pull/15240 * @PauLuke made their first contribution in https://github.com/koreader/koreader/pull/15267 * @ananyatimalsina made their first contribution in https://github.com/koreader/koreader/pull/15244 * @RoadRoller01 made their first contribution in https://github.com/koreader/koreader/pull/15296 * @d0nizam made their first contribution in https://github.com/koreader/koreader/pull/15303 * @nperez0111 made their first contribution in https://github.com/koreader/koreader/pull/15306 * @ThatHackerDudeFromCyberspace made their first contribution in https://github.com/koreader/koreader/pull/15256 * @zampierilucas made their first contribution in https://github.com/koreader/koreader/pull/15248 * @vandot made their first contribution in https://github.com/koreader/koreader/pull/15322 * @ciscoriordan made their first contribution in https://github.com/koreader/koreader/pull/15357 * @AlexanderS made their first contribution in https://github.com/koreader/koreader/pull/15389 * @AndyHazz made their first contribution in https://github.com/koreader/koreader/pull/15398 * @kerivin made their first contribution in https://github.com/koreader/koreader/pull/15401 * @Kulllerkeks made their first contribution in https://github.com/koreader/koreader/pull/15415 * @karlb made their first contribution in https://github.com/koreader/koreader/pull/15456 * @xxyzz made their first contribution in https://github.com/koreader/koreader/pull/15451 * @Booyaka101 made their first contribution in https://github.com/koreader/koreader/pull/15491 * @chofuhoyu made their first contribution in https://github.com/koreader/koreader/pull/15505 * @Skittyblock made their first contribution in https://github.com/koreader/koreader/pull/15532 * @gaunh0 made their first contribution in https://github.com/koreader/koreader/pull/15552 * @NalrTynhe made their first contribution in https://github.com/koreader/koreader/pull/15560 * @lyluqo made their first contribution in https://github.com/koreader/koreader/pull/15578 * @evmcl made their first contribution in https://github.com/koreader/koreader/pull/15558 * @ahmadadam96 made their first contribution in https://github.com/koreader/koreader/pull/15568 * @Warlium made their first contribution in https://github.com/koreader/koreader/pull/15618 * @evankrummel made their first contribution in https://github.com/koreader/koreader/pull/15654 * @picospuch made their first contribution in https://github.com/koreader/koreader/pull/15375 * @anaxonda made their first contribution in https://github.com/koreader/koreader/pull/15298 * @collaed made their first contribution in https://github.com/koreader/koreader/pull/15324 * @hugo1120 made their first contribution in https://github.com/koreader/koreader/pull/15659 * @HackingGate made their first contribution in https://github.com/koreader/koreader/pull/15344 * @iav made their first contribution in https://github.com/koreader/koreader/pull/15669 * @cloned-doy made their first contribution in https://github.com/koreader/koreader/pull/15693 * @tomasAlabes made their first contribution in https://github.com/koreader/koreader/pull/15672 * @NerdyProjects made their first contribution in https://github.com/koreader/koreader/pull/12401 * @SAY-5 made their first contribution in https://github.com/koreader/koreader/pull/15714 * @gilgulgamesh made their first contribution in https://github.com/koreader/koreader/pull/15712 * @Lorite made their first contribution in https://github.com/koreader/koreader/pull/15715 * @9783e6 made their first contribution in https://github.com/koreader/koreader/pull/15730 **Full Changelog**: https://github.com/koreader/koreader/compare/v2026.03...v2026.07 — [closed milestone issues](https://github.com/koreader/koreader/milestone/79?closed=1) --- **Installation instructions**: [Android](https://github.com/koreader/koreader/wiki/Installation-on-Android-devices) • [Cervantes](https://github.com/koreader/koreader/wiki/Installation-on-BQ-devices) • [ChromeOS](https://github.com/koreader/koreader/wiki/Installation-on-Chromebook-devices) • [Kindle](https://github.com/koreader/koreader/wiki/Installation-on-Kindle-devices) • [Kobo](https://github.com/koreader/koreader/wiki/Installation-on-Kobo-devices) • [PocketBook](https://github.com/koreader/koreader/wiki/Installation-on-PocketBook-devices) • [ReMarkable](https://github.com/koreader/koreader/wiki/Installation-on-ReMarkable) • [Desktop Linux](https://github.com/koreader/koreader/wiki/Installation-on-desktop-linux) • [MacOS](https://github.com/koreader/koreader/wiki/Installation-on-MacOS) - Mar 17, 2026 v2026.03 There's a pretty big update on desktop this time around. We've upgraded from SDL2 to SDL3 (#14983). This should mean everything works the same or better, but let us know if we missed some edge case. For the nearby future it does have the side effect of always shipping along SDL3, even in the DEB packages, because only recent distros provide it out of the box. There are many other improvements, like stable pages in file browser (https://github.com/koreader/koreader/pull/14570). I won't bore you with more nonsense (read: there were some holdups with the release and my mental overview was lost), and I'll just let the PRs speak for themselves. This month's logo was contributed by @Sonnenfee We'd like to thank all contributors for their efforts. Some highlights since the previous release include:
More…
* Fix two bugs with statusbar presets (https://github.com/koreader/koreader/pull/14556) @loeffner * Exporter: use number of stable pages (https://github.com/koreader/koreader/pull/14554) @hius07 * newsdownloader: multiple unwanted selectors (https://github.com/koreader/koreader/pull/14545) @phoffmeister * Screensaver: skip showing without UI instance (https://github.com/koreader/koreader/pull/14561) @hius07 * Gestures/profiles: allow disabling popup messages (https://github.com/koreader/koreader/pull/14543) @hius07 * Status bar: fix loading preset on empty items (https://github.com/koreader/koreader/pull/14567) @hius07 * misc/remarkable: enable full refresh by default for appload-based setup (https://github.com/koreader/koreader/pull/14575) @NoaHimesaka1873 * feat/remarkable: support refresh levels (https://github.com/koreader/koreader/pull/14576) @NoaHimesaka1873 * Stable pages in file browser (https://github.com/koreader/koreader/pull/14570) @hius07 * Exporter: Enhanced title and author parsing from MyClippings (https://github.com/koreader/koreader/pull/14578) @den-is * feat: add japanese reader.dict monolingual dictionary (https://github.com/koreader/koreader/pull/14579) @BoboTiG * Calibre: do not use stale list (https://github.com/koreader/koreader/pull/14585) @hius07 * Fix crash on Kindle when both AutoSuspend and KeepAlive are on (https://github.com/koreader/koreader/pull/14594) @DemonicSavage * Pinned page exact location (https://github.com/koreader/koreader/pull/14580) @hius07 * Stable pages in file browser 2 (https://github.com/koreader/koreader/pull/14592) @hius07 * Fix Kindle crash on AutoSuspend while charging (https://github.com/koreader/koreader/pull/14604) @DemonicSavage * android: fix possible run target error (https://github.com/koreader/koreader/pull/14608) @benoit-pierre * renderimage: improve JPEG handling (https://github.com/koreader/koreader/pull/14505) @benoit-pierre * Status bar: 'External content' item (https://github.com/koreader/koreader/pull/14601) @hius07 * bump base (https://github.com/koreader/koreader/pull/14619, https://github.com/koreader/koreader/pull/14633, https://github.com/koreader/koreader/pull/14662, https://github.com/koreader/koreader/pull/14738) @benoit-pierre Several important dependencies. * Optimize doc_pages (https://github.com/koreader/koreader/pull/14614) @hius07 * android: allow calling `Device:hasColorScreen()` in a fork (https://github.com/koreader/koreader/pull/14628) @benoit-pierre * tools/logcat: improve handling of input encoding (https://github.com/koreader/koreader/pull/14629) @benoit-pierre * Exporter: Correct MyClipping Page value parsing (https://github.com/koreader/koreader/pull/14583) @den-is * SSH: add top menu checkbox (https://github.com/koreader/koreader/pull/14631) @hius07 * TouchMenu: fix menu height with/without separators (https://github.com/koreader/koreader/pull/14627) @hius07 * Exporter: fix export My Clippings (https://github.com/koreader/koreader/pull/14636) @hius07 * Profiles: auto-exec menu wordings (https://github.com/koreader/koreader/pull/14641) @hius07 * Stable pages in alt status bar (https://github.com/koreader/koreader/pull/14638) @hius07 * Show next locations in Book map and Page browser (https://github.com/koreader/koreader/pull/14643) @hius07 * Status bar: use screen pages for "time left in chapter" (https://github.com/koreader/koreader/pull/14651) @hius07 * build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in https://github.com/koreader/koreader/pull/14658 * [plugin] NewsDownloader: support content:encoded with attributes (https://github.com/koreader/koreader/pull/14660) @Frenzie * NewsDownloader: fix missing feed_config.lua options (https://github.com/koreader/koreader/pull/14396) @nuxa17 * platform: remove leftovers from old install on update (https://github.com/koreader/koreader/pull/14637) @benoit-pierre * progressbardialog: improvements (https://github.com/koreader/koreader/pull/14513) @benoit-pierre * newsdownloader - new feature: continue processing feed on download error (https://github.com/koreader/koreader/pull/14650) @MrToph * ReaderScrolling: Radio buttons for scrolling options (https://github.com/koreader/koreader/pull/14647) @jonnyl2 * Bump luajit-launcher to 75e7eaf (https://github.com/koreader/koreader/pull/14672) @hanakomisa * android: drop no longer working make target (https://github.com/koreader/koreader/pull/14673) @benoit-pierre * [Dispatcher] NT: add hidden flows toggle to dispatcher (https://github.com/koreader/koreader/pull/14682) @Commodore64user * Style tweaks, Menu, TextBoxWidget: various small fixes (https://github.com/koreader/koreader/pull/14698) @poire-z * bump base: thirdparty updates, crengine fixes (https://github.com/koreader/koreader/pull/14701) @poire-z * TextViewer: pin page (https://github.com/koreader/koreader/pull/14668) @hius07 * Sleep screen: fix unlocking (https://github.com/koreader/koreader/pull/14689) @hius07 * Sleep screen: improve 'Exit sleep screen' message (https://github.com/koreader/koreader/pull/14691) @hius07 * KoptInterface: prevent crash when word is nil 2 (https://github.com/koreader/koreader/pull/14705) @hius07 * CloudStorage: fix onClose (https://github.com/koreader/koreader/pull/14711) @hius07 * doc: fix and improve build requirements (https://github.com/koreader/koreader/pull/14713) @benoit-pierre * appimage: fix possible issue with the appimagetool binary (https://github.com/koreader/koreader/pull/14717) @benoit-pierre * kindle / pocketbook / remarkable: detect if launcher script changed (https://github.com/koreader/koreader/pull/14719) @benoit-pierre * build(deps): bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in https://github.com/koreader/koreader/pull/14726 * build(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in https://github.com/koreader/koreader/pull/14727 * Decode Serverfilename on OPDS Download (https://github.com/koreader/koreader/pull/14732) @shinobu * wallabag: fix status handling regression in article archiving (https://github.com/koreader/koreader/pull/14700) @fenuks * bump luajit-launcher (https://github.com/koreader/koreader/pull/14753) @hugleo * Kindle: Autodetect & handle the fancy `gesture_tap` input device (https://github.com/koreader/koreader/pull/14506) @NiLuJe * Book info: use screen pages for "time left in chapter" (https://github.com/koreader/koreader/pull/14754) @hius07 * bump base (https://github.com/koreader/koreader/pull/14760) @benoit-pierre - https://github.com/koreader/koreader-base/pull/2243 (close #14759) * Upper menu: change activation gesture without restart (https://github.com/koreader/koreader/pull/14771) @hius07 * "Ignore long-press on corners for time period" action (https://github.com/koreader/koreader/pull/14764) @hius07 * feat(archiveviewer): extract all files button (https://github.com/koreader/koreader/pull/14770) @xydone * bump base: thirdparty updates, crengine tweaks (https://github.com/koreader/koreader/pull/14785) @poire-z * ReaderRolling: save percent_finished on flushing settings (https://github.com/koreader/koreader/pull/14787) @hius07 * ReaderFooter: percent_finished in continious mode (https://github.com/koreader/koreader/pull/14794) @hius07 * Status bar: adjustable font face (https://github.com/koreader/koreader/pull/14755) @hius07 * improve and fix startup script change detection (https://github.com/koreader/koreader/pull/14725) @benoit-pierre * fix: 429 when querying wiki images (https://github.com/koreader/koreader/pull/14766) @oscargolding * Wikipedia: revamp languages handling (https://github.com/koreader/koreader/pull/14791) @poire-z * Update device.lua to support Tolino Vision Color (monzaKobo) (https://github.com/koreader/koreader/pull/14801) @prey87 * [plugin] Wallabag: enforce starting URL with http or https (https://github.com/koreader/koreader/pull/13948) @Frenzie * Readerlink: add notification when following internal links on pdf (https://github.com/koreader/koreader/pull/12933) @jonnyl2 * calibre: fix searching utf8 strings (https://github.com/koreader/koreader/pull/14813) @hius07 * Add error handling to Kindle Wi-Fi functions (https://github.com/koreader/koreader/pull/14817) @cb12tre * Execute multi-action gesture/profile one by one (https://github.com/koreader/koreader/pull/14803) @hius07 * kindle: fix restart on special offers devices (https://github.com/koreader/koreader/pull/14837) @benoit-pierre * feat: add lithuanian reader.dict monolingual dictionary (https://github.com/koreader/koreader/pull/14839) @BoboTiG * bump base (https://github.com/koreader/koreader/pull/14842) @benoit-pierre - https://github.com/koreader/koreader-base/pull/2256 (close #14841) * fix(opds): redraw OPDS download confirmation popup on Kindle/e-ink (https://github.com/koreader/koreader/pull/14836) @cb12tre * ReaderHighlight: fix tapping on self-overlapping highlight (https://github.com/koreader/koreader/pull/14852) @hius07 * NewsDownloader: Add URL path encoding to improve request handling (https://github.com/koreader/koreader/pull/14870) @leakspin * [ReaderDictionary] clean stress marks from selection for dict search (https://github.com/koreader/koreader/pull/14856) @Commodore64user * docs: update macOS build requirements (https://github.com/koreader/koreader/pull/14894) @benoit-pierre * [PB700] Fix auto-orientation inversion after suspension (https://github.com/koreader/koreader/pull/14895) @jannickfahlbusch * TextBoxWidget: invert images when in night mode (https://github.com/koreader/koreader/pull/14893) @poire-z * [PB700] Simplify rotation suspension fix (https://github.com/koreader/koreader/pull/14897) @jannickfahlbusch * Highlights: improve 'Set color' dialog (https://github.com/koreader/koreader/pull/14699) @hius07 * ReaderBookmark: color in bookmark list (https://github.com/koreader/koreader/pull/14714) @hius07 * util.urlEncode: encode parentheses and quote (https://github.com/koreader/koreader/pull/14718) @emdioh * [Pocketbook] Execute rotation fix also for Era Color (https://github.com/koreader/koreader/pull/14904) @jannickfahlbusch * Bookmark browser (https://github.com/koreader/koreader/pull/14899) @hius07 * FilemanagerCollection: fix disabling 'Export highlights' button (https://github.com/koreader/koreader/pull/14917) @hius07 * [InputText] decouple text input state from VirtualKeyboard visibility (https://github.com/koreader/koreader/pull/14901) @Commodore64user * Bookmark browser: fix item font size init (https://github.com/koreader/koreader/pull/14926) @hius07 * kosync.koplugin: Add custom hostname option for kosync plugin (https://github.com/koreader/koreader/pull/14172) @rspilk * [ImageViewer] add pan key_events to viewer (https://github.com/koreader/koreader/pull/14938) @Commodore64user * [TextViewer] bug fix, don't crash on Menu press (https://github.com/koreader/koreader/pull/14936) @Commodore64user * Page turns by swipes with disabled touch input (https://github.com/koreader/koreader/pull/14914) @hius07 * [InputText] decouple text input state from VirtualKeyboard visibility pt. 2 (https://github.com/koreader/koreader/pull/14937) @Commodore64user * [DictQuickLookup] NT: add key_event for following links and switching (dict-wiki) domains (https://github.com/koreader/koreader/pull/14909) @Commodore64user * [InputText, ReaderStyleTweak] add copy/paste to NT devices (https://github.com/koreader/koreader/pull/14941) @Commodore64user * Fix long-pressing on unopened book with status (https://github.com/koreader/koreader/pull/14947) @hius07 * Highlights: invert dialog colors in night mode (https://github.com/koreader/koreader/pull/14923) @hius07 * Add support for Onyx Boox Note Air 5C, Fix Onyx Boox black screen on wake after font size change (https://github.com/koreader/koreader/pull/14956) @msk * Dispatcher: add "Edit/toggle book-specific style tweak" (https://github.com/koreader/koreader/pull/14944) @poire-z * fix appstream and appimage metadata (https://github.com/koreader/koreader/pull/14957) @benoit-pierre * appimage: switch to mkappimage (https://github.com/koreader/koreader/pull/14963) @benoit-pierre * Bump base (https://github.com/koreader/koreader/pull/14964) @Frenzie * newsdownloader: fix url path separator encoding bug (https://github.com/koreader/koreader/pull/14975) @MrToph * ci: bump docker image (https://github.com/koreader/koreader/pull/14976) @benoit-pierre * bump base & crengine: CSS enhancements and other fixes (https://github.com/koreader/koreader/pull/14979) @poire-z * Wikipedia EPUBs: use 1.5x image when 2x not available (https://github.com/koreader/koreader/pull/14984) @poire-z * sdl: switch to SDL3 (3.4.0) (https://github.com/koreader/koreader/pull/14983) @benoit-pierre * Properly set bootlogo on pocketbook (https://github.com/koreader/koreader/pull/14985) @floriansnow * CoverImage: fix inconsistent vertical alignment of cover image (https://github.com/koreader/koreader/pull/14987) @msk * [ReaderHighlight, Config, Menu] NT: stop text selection before any reflow action occurs (https://github.com/koreader/koreader/pull/14949) @Commodore64user * Stable pages in file browser 3 (https://github.com/koreader/koreader/pull/14952) @hius07 * Fix max port number typo in Calibre plugin (https://github.com/koreader/koreader/pull/14991) @msk * Recurrent 429 error due to Wikipedia change (https://github.com/koreader/koreader/pull/14981) @oscargolding * calibre: use correct callback when Wi-Fi is off at connect time (https://github.com/koreader/koreader/pull/14998) @msk * [PB623] fix crashing due to NetMgrPing() missing (https://github.com/koreader/koreader/pull/14961) @tempura-san * bump base (https://github.com/koreader/koreader/pull/15000) @benoit-pierre * ReaderPagemap: fix saving page labels to sdr (https://github.com/koreader/koreader/pull/15007) @hius07 * [Hotkeys] NT: BUG correct function call (https://github.com/koreader/koreader/pull/15009) @Commodore64user * InputDialog: fix adding widget with 'use available height' (https://github.com/koreader/koreader/pull/15010) @hius07 * Bookmark browser: fix search (https://github.com/koreader/koreader/pull/15022) @hius07 * Ask to open file (https://github.com/koreader/koreader/pull/15024) @hius07 * Add translation context for bottom menu options (https://github.com/koreader/koreader/pull/15031) @SilverGreen93 * fix(coverimage): fix operator precedence and parameter usage in cache functions (https://github.com/koreader/koreader/pull/15032) @msk * InputDialog: fix adding widget with 'fullscreen' (https://github.com/koreader/koreader/pull/15028) @hius07 * File search: restore Lua patterns support (https://github.com/koreader/koreader/pull/15036) @hius07 * [DictQuickLookup] NT: fix utf8 byte drift during text selection (https://github.com/koreader/koreader/pull/15015) @Commodore64user * calibre: escape dot in gsub pattern for series index cleanup (https://github.com/koreader/koreader/pull/15037) @msk * SSH.koplugin: option to force key-only auth (https://github.com/koreader/koreader/pull/15038) @ge-roy * [Language] i18n: add Slovenian language (https://github.com/koreader/koreader/pull/15050) @Commodore64user * 'Open file' fixes (https://github.com/koreader/koreader/pull/15047) @hius07 * bump base (https://github.com/koreader/koreader/pull/15052) @benoit-pierre - Expose MuPDF's search function (koreader/koreader-base#2279) - mupdf: add getMarkupAnnotationBoxesFromPage() (koreader/koreader-base#2280) * PDF: import embedded highlights (https://github.com/koreader/koreader/pull/15040) @hius07 * BookStatusWidget: fix impossible to exit review editing due to focus loop (https://github.com/koreader/koreader/pull/15055) @Frenzie * [fix] BookStatusWidget: remove unused (https://github.com/koreader/koreader/pull/15060) @Frenzie * [Dispatcher] remove Gesture overview from non-touch devices (https://github.com/koreader/koreader/pull/15059) @Commodore64user * ci/macos: update upload-artifact action (https://github.com/koreader/koreader/pull/15046) @benoit-pierre * OPDS: fix crash on feeds with single-quoted XML attributes (https://github.com/koreader/koreader/pull/15068) @msk * KoptInterface: fix panel zooming when dewatermark is on (https://github.com/koreader/koreader/pull/15067) @Arcohol * Allow NewsDownloader plugin to download EPUB documents (https://github.com/koreader/koreader/pull/15065) @Witcher01 * [doc] Add checklist about external plugins/patches, testing nightly and searching issues to bug report template (https://github.com/koreader/koreader/pull/15072) @Frenzie * OPDS: fix off-by-one in sync sub_table access (https://github.com/koreader/koreader/pull/15073) @msk * bump base (https://github.com/koreader/koreader/pull/15080) @benoit-pierre - sdl: build our version for the linux target (koreader/koreader-base#2283) - fix: SDL3 HiDPI return value check (koreader/koreader-base#2285) - sdl: ensure we have a recent enough version (koreader/koreader-base#2288) - make: tweak setup target (koreader/koreader-base#2289) - sdl: enable mouse focus click-through (koreader/koreader-base#2291) * sdl: fix scrolling when fractional values are involved (https://github.com/koreader/koreader/pull/15077) @benoit-pierre * switch virtual keyboard default to false on hasKeyboard (https://github.com/koreader/koreader/pull/15057) @Commodore64user * Tweak bug report template: nightly test not required, avoid automatic reference to nightly ticket (https://github.com/koreader/koreader/pull/15084) @Frenzie * fix incorrect migration comment (https://github.com/koreader/koreader/pull/15086) @Commodore64user * [Calibre] preserve uuid field in calibre metadata serialisation (https://github.com/koreader/koreader/pull/15088) @Commodore64user * Update translations for v2026.03 (https://github.com/koreader/koreader/pull/15090) @Frenzie * [i18n] Add Gaelic language (https://github.com/koreader/koreader/pull/15091) @Frenzie * Add basic Dispatcher spec (https://github.com/koreader/koreader/pull/15062) @Frenzie * kopt: option to invert document in night mode (https://github.com/koreader/koreader/pull/14954) @Euphoriyy * fix(calibre-plugin): ensure size is correctly parsed as a number in book info in search (https://github.com/koreader/koreader/pull/14881) @CamilleHbp * [Kindle Scribe] Add support for kindle scribe stylus events (https://github.com/koreader/koreader/pull/14908) @k4rnaj1k * [chore] Clean up unused util in dispatcher_spec.lua (https://github.com/koreader/koreader/pull/15093) @Frenzie * Bump base for mupdf: add annotation type and contents getters (https://github.com/koreader/koreader/pull/15092) @Frenzie * fix: import embedded PDF annotations properly (https://github.com/koreader/koreader/pull/15076) @zeeyado * refactor duplication in #15088 (https://github.com/koreader/koreader/pull/15094) @Commodore64user * [ReaderFooter] Adds a fixed-width setting for progress bar alongside items (https://github.com/koreader/koreader/pull/14980) @jonnyl2 * ReaderHighlight: don't try to write page bookmarks into PDF (https://github.com/koreader/koreader/pull/15097) @hius07 * ci/macos: minor cleanup (https://github.com/koreader/koreader/pull/15103) @benoit-pierre * creopt: fix toggle order for Invert Images to be consistent (https://github.com/koreader/koreader/pull/15112) @Euphoriyy * bump base (https://github.com/koreader/koreader/pull/15117) @benoit-pierre - SDL3: track mouse pointers and finger pointers separately (koreader/koreader-base#2295) * drop `appimage` target in favor of `linux` (https://github.com/koreader/koreader/pull/15116) @benoit-pierre * git: ignore debian packages (https://github.com/koreader/koreader/pull/15118) @benoit-pierre * cervantes: split update rule (https://github.com/koreader/koreader/pull/15119) @benoit-pierre * kopt: fix Invert Document regression with Reflow/Auto Straighten (https://github.com/koreader/koreader/pull/15123) @Euphoriyy * (opds): remove redundant UTF-8 fixup (https://github.com/koreader/koreader/pull/15122) @D4n1984 ## New Contributors * @loeffner made their first contribution in https://github.com/koreader/koreader/pull/14556 * @phoffmeister made their first contribution in https://github.com/koreader/koreader/pull/14545 * @den-is made their first contribution in https://github.com/koreader/koreader/pull/14578 * @MrToph made their first contribution in https://github.com/koreader/koreader/pull/14650 * @hanakomisa made their first contribution in https://github.com/koreader/koreader/pull/14672 * @shinobu made their first contribution in https://github.com/koreader/koreader/pull/14732 * @xydone made their first contribution in https://github.com/koreader/koreader/pull/14770 * @oscargolding made their first contribution in https://github.com/koreader/koreader/pull/14766 * @prey87 made their first contribution in https://github.com/koreader/koreader/pull/14801 * @cb12tre made their first contribution in https://github.com/koreader/koreader/pull/14817 * @leakspin made their first contribution in https://github.com/koreader/koreader/pull/14870 * @jannickfahlbusch made their first contribution in https://github.com/koreader/koreader/pull/14895 * @emdioh made their first contribution in https://github.com/koreader/koreader/pull/14718 * @rspilk made their first contribution in https://github.com/koreader/koreader/pull/14172 * @msk made their first contribution in https://github.com/koreader/koreader/pull/14956 * @floriansnow made their first contribution in https://github.com/koreader/koreader/pull/14985 * @tempura-san made their first contribution in https://github.com/koreader/koreader/pull/14961 * @ge-roy made their first contribution in https://github.com/koreader/koreader/pull/15038 * @Arcohol made their first contribution in https://github.com/koreader/koreader/pull/15067 * @Witcher01 made their first contribution in https://github.com/koreader/koreader/pull/15065 * @Euphoriyy made their first contribution in https://github.com/koreader/koreader/pull/14954 * @CamilleHbp made their first contribution in https://github.com/koreader/koreader/pull/14881 * @k4rnaj1k made their first contribution in https://github.com/koreader/koreader/pull/14908 * @zeeyado made their first contribution in https://github.com/koreader/koreader/pull/15076 * @D4n1984 made their first contribution in https://github.com/koreader/koreader/pull/15122 **Full Changelog**: https://github.com/koreader/koreader/compare/v2025.10...v2026.03 — [closed milestone issues](https://github.com/koreader/koreader/milestone/78?closed=1) --- **Installation instructions**: [Android](https://github.com/koreader/koreader/wiki/Installation-on-Android-devices) • [Cervantes](https://github.com/koreader/koreader/wiki/Installation-on-BQ-devices) • [ChromeOS](https://github.com/koreader/koreader/wiki/Installation-on-Chromebook-devices) • [Kindle](https://github.com/koreader/koreader/wiki/Installation-on-Kindle-devices) • [Kobo](https://github.com/koreader/koreader/wiki/Installation-on-Kobo-devices) • [PocketBook](https://github.com/koreader/koreader/wiki/Installation-on-PocketBook-devices) • [ReMarkable](https://github.com/koreader/koreader/wiki/Installation-on-ReMarkable) • [Desktop Linux](https://github.com/koreader/koreader/wiki/Installation-on-desktop-linux) • [MacOS](https://github.com/koreader/koreader/wiki/Installation-on-MacOS) -  Apologies, I don't have much time to write release notes today. As usual there's been quite a bit of activity. One of the most visible changes is that if you like stable page numbers, artificially generated stable page numbers can now be easily configured under navigation (<img width="24" height="24" valign="middle" alt="image" src="https://github.com/user-attachments/assets/1f139c48-a3d1-433c-8531-08bc7a3e3655" />) → Settings → Stable page numbers. Keeping in tune with not spending too much time on release notes, here's a copy of the included help text: > By default, one screen equals one page. Any change in the book's formatting will therefore result in renumbering: new total pages, different chapter lengths, new locations in TOC and bookmarks, etc. > > Select stable page numbers if you prefer page numbers that are independent of layout settings and consistent across devices: > 1. Publisher page numbers (℗): normally equivalent to a specific physical edition. Only available if supplied by the publisher.
More…
> 2. Characters per page: a page will be counted for this amount of characters (sometimes called logical or synthetic page numbers). Use this if no publisher page numbers are available or if you prefer to have consistent page lengths for all books. > > Since stable page numbers can start anywhere on the screen, you can choose to display them in the margin, regardless of other settings. > > 'Stable page number list' shows a table of all stable page numbers and their corresponding screen page numbers. This month's logo was contributed by @Sonnenfee We'd like to thank all contributors for their efforts. Some highlights since the previous release include: * ReaderFooter: document position is not used (https://github.com/koreader/koreader/pull/14076) @hius07 * build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in https://github.com/koreader/koreader/pull/14192 * bump base for various updates (https://github.com/koreader/koreader/pull/14177, https://github.com/koreader/koreader/pull/14261, https://github.com/koreader/koreader/pull/14341, https://github.com/koreader/koreader/pull/14353, https://github.com/koreader/koreader/pull/14354, https://github.com/koreader/koreader/pull/14469, https://github.com/koreader/koreader/pull/14503, https://github.com/koreader/koreader/pull/14525) @benoit-pierre * CloudStorage: add action in Dispatcher (https://github.com/koreader/koreader/pull/14189) @hius07 * Add support for character-by-character highlighting for partial word translation (https://github.com/koreader/koreader/pull/14153) @adva-cg * Fix(OPDS): Ensure downloaded files have a file extension (https://github.com/koreader/koreader/pull/14199) @zeedif * expandString(): replace patterns with data (https://github.com/koreader/koreader/pull/14181) @hius07 * File browser: make the Plus menu user-patchable (https://github.com/koreader/koreader/pull/14197) @hius07 * Collections: option to skip scanning folder (https://github.com/koreader/koreader/pull/14203) @hius07 * fix/remarkable: remove disable xochitl autosuspend and add explicit qtfb-shim check (https://github.com/koreader/koreader/pull/14211, https://github.com/koreader/koreader/pull/14217, https://github.com/koreader/koreader/pull/14222) @NoaHimesaka1873 @benoit-pierre * Export highlights: customizable export filename (https://github.com/koreader/koreader/pull/14212) @hius07 * ReaderHighlight: fix long-press with Do nothing (https://github.com/koreader/koreader/pull/14227) @hius07 * ReaderFooter: skip dynamic filler in items cycling (https://github.com/koreader/koreader/pull/14232) @hius07 * Wallabag: fix archive_finished initialization logic (https://github.com/koreader/koreader/pull/14221) @Frenzie * Add Hungarian keyboard layout (https://github.com/koreader/koreader/pull/14237) @koma52 * Kobo: Don't send `PowerPress` twice when fudging page turn button events for `pageturn_power` (https://github.com/koreader/koreader/pull/14216) @NiLuJe * [Device, Kindle] early return if kindleGetCurrentProfile() is nil (https://github.com/koreader/koreader/pull/14219) @Commodore64user * Invert progress bar direction, independently of UI layout (LTR/RTL) (https://github.com/koreader/koreader/pull/13382) @Commodore64user * Add .htmlz to supported filetypes (https://github.com/koreader/koreader/pull/14240) @Frenzie * kodev: fix `run -g` (https://github.com/koreader/koreader/pull/14257) @benoit-pierre * OPDS: URL encode search (https://github.com/koreader/koreader/pull/14248) @Frenzie * [BookMapWidget] NT: add new method GoToFocusedPage (https://github.com/koreader/koreader/pull/14225) @Commodore64user * Export highlights: export backlinks to markdown (https://github.com/koreader/koreader/pull/14233) @hius07 * Fix downloading of PDFs with non-standard mimetype from wallabag (https://github.com/koreader/koreader/pull/14271) @harmtemolder * feat/remarkable: Initial reMarkable Paper Pro Move support (https://github.com/koreader/koreader/pull/14284) @NoaHimesaka1873 * Fulltext search: skim mode (https://github.com/koreader/koreader/pull/14267) @hius07 * calibre: handle a missing inbox folder (https://github.com/koreader/koreader/pull/14293) @benoit-pierre * [KeyValuePage] back button returns to parent (https://github.com/koreader/koreader/pull/14270) @Commodore64user * ReadTimer: use previous scheduled instance (https://github.com/koreader/koreader/pull/14280) @hius07 * feat: add reader.dict monolingual dictionaries (https://github.com/koreader/koreader/pull/14302) @BoboTiG * NewsDownloader: log deserialization error (https://github.com/koreader/koreader/pull/14282) @Frenzie * [plugin] OPDS: ignore query string in file extension workaround (https://github.com/koreader/koreader/pull/14304) @Frenzie * Fix hibreak/bigme b7 buttons being inverted when the device is rotated (https://github.com/koreader/koreader/pull/14317) @xeropresence * ReadTimer + Profiles auto-exec (https://github.com/koreader/koreader/pull/14309) @hius07 * plugin handlers traceback (https://github.com/koreader/koreader/pull/13677) @edoput * [plugin] NewsDownloader: add HTTP basic authentication (https://github.com/koreader/koreader/pull/14303) @Frenzie * [CalendarView] bug fix: fix keyboard hold events targeting wrong item (https://github.com/koreader/koreader/pull/14314) @Commodore64user * Added shell.nix and updated Building.md (https://github.com/koreader/koreader/pull/14019) @MartV0 * ReaderPaging: fix page turn by keys (https://github.com/koreader/koreader/pull/14324) @hius07 * Add "pages left in chapter" option to custom footer text (https://github.com/koreader/koreader/pull/14327) @JasonInOttawa * Export highlights: secure export filename (https://github.com/koreader/koreader/pull/14325) @hius07 * Add separator to custom footer text item (https://github.com/koreader/koreader/pull/14328) @JasonInOttawa * Autodetect OCR language support files (https://github.com/koreader/koreader/pull/13004) @Frenzie * ProgressbarDialog: fix progress bar fill color (https://github.com/koreader/koreader/pull/14182) @benoit-pierre * Add Serbian keyboard layout (https://github.com/koreader/koreader/pull/14338) @eevan78 * [SortWidget] bug fix: Fix keyboard hold events targeting wrong item (https://github.com/koreader/koreader/pull/14252) @Commodore64user * Fix typo (https://github.com/koreader/koreader/pull/14345) @Eloitor * Collections: fix crash after folder connection (https://github.com/koreader/koreader/pull/14346) @hius07 * [ReaderDictionary] Offer fuzzy search when dict query fails [to find a match] (https://github.com/koreader/koreader/pull/14343) @Commodore64user * appimage: support aarch64 (https://github.com/koreader/koreader/pull/14351) @benoit-pierre * InputText: remove single keypress addChars only on hasDPad restriction (https://github.com/koreader/koreader/pull/14360) @Frenzie * PluginLoader: call stop method on plugin when disabling (https://github.com/koreader/koreader/pull/14318) @Frenzie * DjVu: flatten nested text layer (https://github.com/koreader/koreader/pull/14350) @Frenzie * tools/mkrelease: handle corner case (https://github.com/koreader/koreader/pull/14369) @benoit-pierre * SSH: fix typo, 'show' not 'Show' (https://github.com/koreader/koreader/pull/14370) @Frenzie * android: minor cleanups (https://github.com/koreader/koreader/pull/14368) @benoit-pierre * Android: auto-grant MANAGE_EXTERNAL_STORAGE for faster dev testing (https://github.com/koreader/koreader/pull/14366) @Frenzie * appimage: fix architecture (https://github.com/koreader/koreader/pull/14374) @benoit-pierre * Reference pages: improve Toc and status bar (https://github.com/koreader/koreader/pull/14363) @hius07 * BookInfo: minor fixes (https://github.com/koreader/koreader/pull/14373) @hius07 * feat/remarkable: rMPPM support part 2 and unified manifest with rm-appload 0.3.0 (https://github.com/koreader/koreader/pull/14288) @NoaHimesaka1873 * [NewsDownloader] Block CSS elements (https://github.com/koreader/koreader/pull/14383) @nuxa17 * bump crengine: word expansion and doc fonts tweaks (https://github.com/koreader/koreader/pull/14392) @poire-z * [Kindle] Add missing Colorsoft serial snippets (https://github.com/koreader/koreader/pull/14393) @scamdotnet * [ScreenSaver] allow sleep screen message to be placed anywhere on screen (https://github.com/koreader/koreader/pull/14371) @Commodore64user * NewsDownloader: fix bug on parsing (https://github.com/koreader/koreader/pull/14394) @nuxa17 * Sleep screen: fix image in landscape mode (https://github.com/koreader/koreader/pull/14402) @hius07 * Statistics: add reference pages support (https://github.com/koreader/koreader/pull/14388) @hius07 * Screensaver: fix showing sleep screen on poweroff, reboot (https://github.com/koreader/koreader/pull/14253) @hius07 * Bug fix: Change condition for message height calculation (https://github.com/koreader/koreader/pull/14403) @Commodore64user * Update supported languages and fix language codes (https://github.com/koreader/koreader/pull/14406) @cor-bee * [ReaderDictionary] offer search with presets when dict fails to find match (https://github.com/koreader/koreader/pull/14399) @Commodore64user * bump base (mupdf, harfbuzz...) and crengine (pagemap tweaks) (https://github.com/koreader/koreader/pull/14411) @poire-z * fix/remarkable: event_map remapping fix (https://github.com/koreader/koreader/pull/14415) @NoaHimesaka1873 * Statistics: fix using reference pages (https://github.com/koreader/koreader/pull/14416) @hius07 * fix/remarkable: remove duplicated RM2FB check in koreader.sh (https://github.com/koreader/koreader/pull/14421) @NoaHimesaka1873 * Sleep screen: fix rotation for lock screen (https://github.com/koreader/koreader/pull/14417) @hius07 * OPDS: fix Search (https://github.com/koreader/koreader/pull/14425) @hius07 * fix: Corrected AutoSuspend logic for Kindles (https://github.com/koreader/koreader/pull/14430) @DemonicSavage * Statistics: screen pages only (https://github.com/koreader/koreader/pull/14435) @hius07 * bump base (openssh, build...) and crengine (pagemap tweaks) (https://github.com/koreader/koreader/pull/14446) @poire-z * ci/macos: update workflow to match base (https://github.com/koreader/koreader/pull/14447) @benoit-pierre * [Readtimer] bug fix: fix focus when setting a timer. (https://github.com/koreader/koreader/pull/14420) @Commodore64user * [ReaderHighlight] preserve highlight when using highlight dialogue (https://github.com/koreader/koreader/pull/14437) @Commodore64user * Reference pages: add synthetic pagemap (https://github.com/koreader/koreader/pull/14405) @hius07 * Replace checkboxes with Radio buttons (https://github.com/koreader/koreader/pull/14431) @Commodore64user * [DocSettingTweak] add doc tweaks to kindle NT (https://github.com/koreader/koreader/pull/14412) @Commodore64user * Exporter: XMNote support exporting read time and mark book source (https://github.com/koreader/koreader/pull/14144) @Merpyzf * [DocSettingTweak] Use absolute path for document settings (https://github.com/koreader/koreader/pull/14418) @DemonicSavage * [Plugin] Statistics plugin calendar and timeline view changed to use color when color rendering is being used (https://github.com/koreader/koreader/pull/13453) @ReneeIbeji * fontlist: support WOFF and WOFF2 fonts (https://github.com/koreader/koreader/pull/14455) @benoit-pierre * 'Set typography language' action in Dispatcher (https://github.com/koreader/koreader/pull/14465) @hius07 * bump base & crengine: fix buildSyntheticPageMap() (https://github.com/koreader/koreader/pull/14476) @poire-z * HTMLBoxWidget: add setRawContent() (https://github.com/koreader/koreader/pull/14480) @Frenzie * Stable page numbers 2 (https://github.com/koreader/koreader/pull/14473) @hius07 * Pinned page (https://github.com/koreader/koreader/pull/14483) @hius07 * TouchMenu: fix empty submenu (https://github.com/koreader/koreader/pull/14489) @hius07 * Profiles: auto-exec delay (https://github.com/koreader/koreader/pull/14490) @hius07 * Statistics: fix disabling for PIC documents (https://github.com/koreader/koreader/pull/14508) @hius07 * tools/mkrelease: miscellaneous improvements (https://github.com/koreader/koreader/pull/14514) @benoit-pierre * Fixes for Nextcloud highlights export (https://github.com/koreader/koreader/pull/14517) @wylanswets * [Screensaver] add a cap to the number of random images processed (https://github.com/koreader/koreader/pull/14521, https://github.com/koreader/koreader/pull/14522) @Commodore64user * ReaderHandMade: fix handmade hidden flow starting from page 1 (https://github.com/koreader/koreader/pull/14502) @hius07 * Status bar fixes (https://github.com/koreader/koreader/pull/14518) @hius07 * BookMap: add indicator for pinned page (https://github.com/koreader/koreader/pull/14510) @hius07 * Exporter: separate books in markdown export (https://github.com/koreader/koreader/pull/14531) @hius07 * Dispatcher: enable dithering change by gesture/profile (https://github.com/koreader/koreader/pull/14532) @hius07 * Profiles: remove executing on long-press (https://github.com/koreader/koreader/pull/14530) @hius07 * Book info: more informative Pages infomessage (https://github.com/koreader/koreader/pull/14493) @hius07 ## New Contributors * @adva-cg made their first contribution in https://github.com/koreader/koreader/pull/14153 * @koma52 made their first contribution in https://github.com/koreader/koreader/pull/14237 * @BoboTiG made their first contribution in https://github.com/koreader/koreader/pull/14302 * @xeropresence made their first contribution in https://github.com/koreader/koreader/pull/14317 * @MartV0 made their first contribution in https://github.com/koreader/koreader/pull/14019 * @eevan78 made their first contribution in https://github.com/koreader/koreader/pull/14338 * @Eloitor made their first contribution in https://github.com/koreader/koreader/pull/14345 * @nuxa17 made their first contribution in https://github.com/koreader/koreader/pull/14383 * @scamdotnet made their first contribution in https://github.com/koreader/koreader/pull/14393 * @cor-bee made their first contribution in https://github.com/koreader/koreader/pull/14406 * @DemonicSavage made their first contribution in https://github.com/koreader/koreader/pull/14430 * @wylanswets made their first contribution in https://github.com/koreader/koreader/pull/14517 **Full Changelog**: https://github.com/koreader/koreader/compare/v2025.08...v2025.10 — [closed milestone issues](https://github.com/koreader/koreader/milestone/77?closed=1) --- **Installation instructions**: [Android](https://github.com/koreader/koreader/wiki/Installation-on-Android-devices) • [Cervantes](https://github.com/koreader/koreader/wiki/Installation-on-BQ-devices) • [ChromeOS](https://github.com/koreader/koreader/wiki/Installation-on-Chromebook-devices) • [Kindle](https://github.com/koreader/koreader/wiki/Installation-on-Kindle-devices) • [Kobo](https://github.com/koreader/koreader/wiki/Installation-on-Kobo-devices) • [PocketBook](https://github.com/koreader/koreader/wiki/Installation-on-PocketBook-devices) • [ReMarkable](https://github.com/koreader/koreader/wiki/Installation-on-ReMarkable) • [Desktop Linux](https://github.com/koreader/koreader/wiki/Installation-on-desktop-linux) • [MacOS](https://github.com/koreader/koreader/wiki/Installation-on-MacOS) -  A random sampling from some new features: full-text search now has a start page (<https://github.com/koreader/koreader/pull/13798>); the OPDS browser has gained syncing and "facets" (<https://github.com/koreader/koreader/pull/14089>), which will allow you to change the sort order among other things on supporting feeds. Dictionaries are now more fiddly (the good kind, with presets, <https://github.com/koreader/koreader/pull/13774>), and cloud storage downloads offer a progress bar (<https://github.com/koreader/koreader/pull/13650>). CBR comics (<https://github.com/koreader/koreader/pull/13780>), and of course more supported devices as always. Also ToC search (<https://github.com/koreader/koreader/pull/13906>), improvements to footnote style tweaks (<https://github.com/koreader/koreader/pull/13554>). For more, please see below. This month's logo was contributed by @Sonnenfee We'd like to thank all contributors for their efforts. Some highlights since the previous release include: * [plugin] HttpInspector: fix crash when starting server (https://github.com/koreader/koreader/pull/13541) @JManch
More…
* bump metadata translations (https://github.com/koreader/koreader/pull/13551) @pazos * [FocusManager] correct cursor keys in RTL (https://github.com/koreader/koreader/pull/13362) @Commodore64user * Statistics: do not read settings for pic documents (https://github.com/koreader/koreader/pull/13561) @hius07 * [DictQuickLookup] make the widget's width user patchable (https://github.com/koreader/koreader/pull/13497) @Commodore64user * bump base (MuPDF 1.25.6 and others) (https://github.com/koreader/koreader/pull/13585, https://github.com/koreader/koreader/pull/13764, https://github.com/koreader/koreader/pull/13736, https://github.com/koreader/koreader/pull/13850, https://github.com/koreader/koreader/pull/13817, https://github.com/koreader/koreader/pull/13866, https://github.com/koreader/koreader/pull/13971) @benoit-pierre * NetworkManager: check if proxy URL can be parsed (https://github.com/koreader/koreader/pull/13562) @Frenzie * bump luajit-launcher for onyx boox poke6 https://github.com/koreader/android-luajit-launcher/pull/547 (https://github.com/koreader/koreader/pull/13595) @benoit-pierre * android: fix STL (https://github.com/koreader/koreader/pull/13594) @benoit-pierre * Screensaver: improve sleep screen message (https://github.com/koreader/koreader/pull/13571) @hius07 * Statistics: revert erroneous nextTick in onReaderReady() (https://github.com/koreader/koreader/pull/13592) @hius07 * Debian: misc changes (https://github.com/koreader/koreader/pull/13596) @pazos * add kindle basic 5 hall file (https://github.com/koreader/koreader/pull/13603) @jacksonhack * ReaderStatus: fix "open next file" with sort by metadata (https://github.com/koreader/koreader/pull/13621) @hius07 * Text editor: fix notebook file mess (https://github.com/koreader/koreader/pull/13624) @hius07 * add hall file for PW6 (https://github.com/koreader/koreader/pull/13615) @mergen3107 * Fix Location Stack Issues (https://github.com/koreader/koreader/pull/13607) @yparitcher * [i18n] Change Korean language name (https://github.com/koreader/koreader/pull/13634) @OctopusET * Issue template: convert to form and add log instructions for deskop (https://github.com/koreader/koreader/pull/13633, https://github.com/koreader/koreader/pull/13637) @Frenzie * reMarkable Paper Pro support (https://github.com/koreader/koreader/pull/13620) @NoaHimesaka1873 * Collections: select books (https://github.com/koreader/koreader/pull/13628) @hius07 * [ReaderLink] add missing footnote settings to NT devices (https://github.com/koreader/koreader/pull/13597) @Commodore64user * Add a new Kobo Clara BW device ID and codename (https://github.com/koreader/koreader/pull/13648) @Frenzie * [CoverImage] Add rotate image option (https://github.com/koreader/koreader/pull/13604) @apgrc * fix: missing remarkable-aarch64 make file (https://github.com/koreader/koreader/pull/13656) @NoaHimesaka1873 * NT Device: BookMap and PageBrowser (https://github.com/koreader/koreader/pull/12579) @comphilip * Add "Open (opened+unopened) random document" on long-press (https://github.com/koreader/koreader/pull/13160) @artjomsR * remarkable: factorize update rules (https://github.com/koreader/koreader/pull/13665) @benoit-pierre * android: remove vendor hacks from event_map (https://github.com/koreader/koreader/pull/13660) @pazos * Style tweaks: fix saving document settings as default (https://github.com/koreader/koreader/pull/13673) @hius07 * Status bar sort items: dim inactive items (https://github.com/koreader/koreader/pull/13682) @hius07 * Gesture intervals: adjust long- and very-long-press intervals (https://github.com/koreader/koreader/pull/13690) @hius07 * Minor changes to PageBrowser/BookMap/ReaderHandmade (https://github.com/koreader/koreader/pull/13691) @jonnyl2 * Status bar: dynamic filler (https://github.com/koreader/koreader/pull/13702) @hius07 * [ReaderFooter] add status bar presets (https://github.com/koreader/koreader/pull/13689) @Commodore64user * [screensaver_menu] QoL: make changing random folder easier (https://github.com/koreader/koreader/pull/13584) @Commodore64user * ci/macos: minor tweaks (https://github.com/koreader/koreader/pull/13725) @benoit-pierre * Add notification when toggling 'Ignore long-press on corners' via Dispatcher (https://github.com/koreader/koreader/pull/13605) @jonnyl2 * Status bar presets: action in Dispatcher (https://github.com/koreader/koreader/pull/13718) @hius07 * Collection: filter new books (https://github.com/koreader/koreader/pull/13724) @hius07 * filemanagerutil: fix path in "Choose file" dialog (https://github.com/koreader/koreader/pull/13733) @hius07 * calibre: rework connection setup (https://github.com/koreader/koreader/pull/13704) @benoit-pierre * Fix file transfer from Calibre to Remarkable Paper Pro (https://github.com/koreader/koreader/pull/13732) @gray-open * Exporter: better logs, bump deprecation message (https://github.com/koreader/koreader/pull/13659) @pazos * ReaderHighlight, ReaderBookmark: Highlight button labels, Bookmark details button order (https://github.com/koreader/koreader/pull/13735) @jonnyl2 * Status bar: dynamic filler and presets fixes (https://github.com/koreader/koreader/pull/13739) @hius07 * OPDSBrowser: fix "Downloading…" message (https://github.com/koreader/koreader/pull/13742) @hius07 * Add PocketBook Verse Lite (PB619) (https://github.com/koreader/koreader/pull/13760) @ElimGarak1 * [SDL] set useDPadAsActionKeys flag with DISABLE_TOUCH (https://github.com/koreader/koreader/pull/13769) @Commodore64user * ci: bump docker images (https://github.com/koreader/koreader/pull/13767) @benoit-pierre * cmake: bump minimum required version to 3.17.5 (https://github.com/koreader/koreader/pull/13775) @benoit-pierre * Add option to start SSH server with KOReader (https://github.com/koreader/koreader/pull/13772) @RedFox0x20 * Annotations export/import: merge (keep existing annotations) (https://github.com/koreader/koreader/pull/13751) @hius07 * CBR support (https://github.com/koreader/koreader/pull/13780) @benoit-pierre * Status bar: fixes (https://github.com/koreader/koreader/pull/13746) @hius07 * [ScreenSaver] handle case where a file is lastfile but has now been reset (https://github.com/koreader/koreader/pull/13747) @Commodore64user * reMarkable: Make sleep/waking up w/o launcher work and properly exit when KO_DONT_GRAB_INPUT is set (https://github.com/koreader/koreader/pull/13795) @NoaHimesaka1873 * [plugin] NewsDownloader: fix RSS feeds (https://github.com/koreader/koreader/pull/13799) @Frenzie * calibre: fix setting inbox from menu (https://github.com/koreader/koreader/pull/13805) @benoit-pierre * ImageViewer: small optimization (https://github.com/koreader/koreader/pull/13807) @benoit-pierre * Network timeout settings for wallabug plugin (https://github.com/koreader/koreader/pull/13786) @zikasak * android: Go Color 7 follows gravity (https://github.com/koreader/koreader/pull/13823) @ghost * [Android] Add DictTango external dictionary support (https://github.com/koreader/koreader/pull/13832) @jonnyl2 * [ReaderDictionary] Enable dictionary prioritisation via new menu (https://github.com/koreader/koreader/pull/13768) @Commodore64user * feat: add set lock orientation in dispatcher (https://github.com/koreader/koreader/pull/13835) @OGKevin * Dispatcher: update action name or value (https://github.com/koreader/koreader/pull/13831) @hius07 * Fulltext search: start page (https://github.com/koreader/koreader/pull/13798) @hius07 * Highlights: extend (https://github.com/koreader/koreader/pull/13815) @hius07 * Coverbrowser: optimize display mode switching (https://github.com/koreader/koreader/pull/13822) @hius07 * tools/mkrelease: fix bug in AWK helpers (https://github.com/koreader/koreader/pull/13847) @benoit-pierre * [MovableContainer] allow widget repositioning on non-touch devices (https://github.com/koreader/koreader/pull/13703) @Commodore64user * Fixing OPDS bulk download auth (https://github.com/koreader/koreader/pull/13851) @magebeans * style tweak: Extend inpage footnotes (https://github.com/koreader/koreader/pull/13554) @moben * [feat] Dispatcher: Add 'Set page-turn button inversion' (https://github.com/koreader/koreader/pull/13836) @OGKevin * Add periods to plugin descriptions for consistency. in https://github.com/koreader/koreader/pull/13857 * use new `Archiver` module where applicable (https://github.com/koreader/koreader/pull/13782) @benoit-pierre * macos: no need to bundle tar anymore (https://github.com/koreader/koreader/pull/13861) @benoit-pierre * battery stats - nit on wording (https://github.com/koreader/koreader/pull/13476) @mergen3107 * FileChooser: Un-blacklist 'dict' and 'custom-dict' dirs in File browser (https://github.com/koreader/koreader/pull/13829) @jonnyl2 * bump luajit-launcher (https://github.com/koreader/koreader/pull/13867) @benoit-pierre * calibre: increase no-activity timeout (https://github.com/koreader/koreader/pull/13846) @benoit-pierre * libarchive based android luajit launcher (https://github.com/koreader/koreader/pull/13796) @benoit-pierre * appimage: update appimagetool (https://github.com/koreader/koreader/pull/13885) @benoit-pierre * ota: prevent deadlock delaying an update (https://github.com/koreader/koreader/pull/13889) @benoit-pierre * tools/mkrelease: fix ZSTD compressed TAR format extension (https://github.com/koreader/koreader/pull/13887) @benoit-pierre * Profiles auto-exec "On showing folder": add "path is (not) equal" conditions (https://github.com/koreader/koreader/pull/13873) @hius07 * NewsDownloader: Include author's name in summary when "Download full article"=false (https://github.com/koreader/koreader/pull/13842) @k-leveller * Add tests for NewsDownloader (https://github.com/koreader/koreader/pull/13806) @Frenzie * Added Onyx Boox Go 7 to devices that follow gravity. (https://github.com/koreader/koreader/pull/13872) @jadehawk * [Hotkeys] bug fix: don't override readerfont when reading pdf/djvu files (https://github.com/koreader/koreader/pull/13896) @Commodore64user * Collections: fix manual sorting (https://github.com/koreader/koreader/pull/13898) @hius07 * DJVU: add getTextBoxes() (https://github.com/koreader/koreader/pull/13897) @hius07 * ButtonDialog: add widgets (https://github.com/koreader/koreader/pull/13893) @hius07 * css_tweaks: Add generic setting for smaller inpage footnotes (https://github.com/koreader/koreader/pull/13613) @moben * [DictQuickLookup] enable full-screen mode for open dictionary window (https://github.com/koreader/koreader/pull/13862) @Commodore64user * Add setting to change the category in Nextcloud notes (https://github.com/koreader/koreader/pull/13883) @schiessle * TouchMenu: optimize item removal (https://github.com/koreader/koreader/pull/13901) @hius07 * [ReaderDictionary] match words when they are Capitalised (https://github.com/koreader/koreader/pull/13884) @Commodore64user * ToC: search (https://github.com/koreader/koreader/pull/13906) @hius07 * VocabBuilder plugin: show copy button on duplication when adding (https://github.com/koreader/koreader/pull/13876) @weijiuqiao * [plugin] NewsDownloader: fix getEmptyFeed() call (https://github.com/koreader/koreader/pull/13945) @Frenzie * BookStatus widget: minor fixes (https://github.com/koreader/koreader/pull/13943) @hius07 * tests: fix newsdownloader tests isolation (https://github.com/koreader/koreader/pull/13954) @benoit-pierre * update building & testing docs + kodev tweak (https://github.com/koreader/koreader/pull/13953) @benoit-pierre * [Calibre] React to SEND_BOOK_METADATA opcode (https://github.com/koreader/koreader/pull/13920) @emrsmsrli * ReadCollection: minor speedup (https://github.com/koreader/koreader/pull/13958) @hius07 * feat: Adds progress bar to cloud storage downloads (https://github.com/koreader/koreader/pull/13650) @Linus045 * bump luajit-launcher (https://github.com/koreader/koreader/pull/13924) @hugleo * gettext: fix handling of fuzzy translations (https://github.com/koreader/koreader/pull/13966) @benoit-pierre * [Presets] add new presets.lua module and dictionary presets (https://github.com/koreader/koreader/pull/13774) @Commodore64user * [Hotkeys] remove alphabetic hotkeys from K4 (https://github.com/koreader/koreader/pull/13950) @Commodore64user * [ReaderHighlight] NT: add key event to simulate a very long press (https://github.com/koreader/koreader/pull/13914) @Commodore64user * [ReaderHighlight] NT: add better support for extending highlights (https://github.com/koreader/koreader/pull/13917) @Commodore64user * [DictQuickLookup] create addQueryWordToFirstResult method (https://github.com/koreader/koreader/pull/13911) @Commodore64user * gettext: switch to binary catalogs (https://github.com/koreader/koreader/pull/13967) @benoit-pierre * close keyboard after calling search with preset (https://github.com/koreader/koreader/pull/13976) @Commodore64user * Gesture overview (https://github.com/koreader/koreader/pull/13909) @hius07 * Enable comma in filenames (https://github.com/koreader/koreader/pull/13985) @hius07 * improve ota updates (https://github.com/koreader/koreader/pull/13888) @benoit-pierre * ci/macos: fix "Dump build timings" step (https://github.com/koreader/koreader/pull/13992) @benoit-pierre * Pass `ui` parameter to all collate `item_func` (https://github.com/koreader/koreader/pull/13981) @wfdewith * Fix wallabag directories' trailing slashes (https://github.com/koreader/koreader/pull/14001) @harmtemolder * Touchmenu: fix menu refreshing on check (https://github.com/koreader/koreader/pull/13996) @hius07 * ReaderHighlight: fix accidental tap while long-pressing (https://github.com/koreader/koreader/pull/14004) @hius07 * Add OPDS sync feature (https://github.com/koreader/koreader/pull/13946) @Volterxien * Dictionary: fix invalid highlight when switching dictionary (https://github.com/koreader/koreader/pull/14028) @TnS-hun * File browser Plus: fix add/remove folder shortcut (https://github.com/koreader/koreader/pull/14032) @hius07 * TouchMenu: optimize (<https://github.com/koreader/koreader/pull/14027>, <https://github.com/koreader/koreader/pull/14040>) @hius07 * Moving download all and remove all buttons in OPDS download menu (https://github.com/koreader/koreader/pull/14024) @Volterxien * ReaderHighlight: fix long-pressing on image (https://github.com/koreader/koreader/pull/14048) @hius07 * [plugin] wallabag - allow filtering download to starred articles (https://github.com/koreader/koreader/pull/14051) @fkaduk * [fix] Improve handling of illegal vFAT filenames. (https://github.com/koreader/koreader/pull/14043) @michal-mnich * Support Kindle Oasis (KOA) charging cover "soda" (https://github.com/koreader/koreader/pull/13133) @snajczuk * [ReaderDictionary] clean interpuncts, pipes and up arrows from text selection (https://github.com/koreader/koreader/pull/14031, #14118) @Commodore64user * [plugin] Terminal Emulator: implement delWord for terminal (https://github.com/koreader/koreader/pull/14059) @Frenzie * launch read timer with gesture (https://github.com/koreader/koreader/pull/14061) @Volterxien * ci: update build configurations (https://github.com/koreader/koreader/pull/14069) @benoit-pierre * bump base and crengine (https://github.com/koreader/koreader/pull/14068) @poire-z * Toggling Kosync auto sync from gestures (https://github.com/koreader/koreader/pull/14037) @Offlinemaker * kodev: use LLDB for debugging on macOS (https://github.com/koreader/koreader/pull/14072) @benoit-pierre * Typos (harmless) (https://github.com/koreader/koreader/pull/14079) @zwim * terminal plugin fixes (https://github.com/koreader/koreader/pull/14090) @benoit-pierre * feat(opds): add support for facets via a context menu (https://github.com/koreader/koreader/pull/14089) @zeedif * [Autowarmth] Fix nightmode only in non Expert-Mode (https://github.com/koreader/koreader/pull/14104) @zwim * Satisfy FR #13163: Option to hide the "night mode changed" warning (https://github.com/koreader/koreader/pull/13253) @ly-pa * [touchmenu] simplify code and finish early (https://github.com/koreader/koreader/pull/14113) @zwim * Add .footnote1 class to classic classname footnotes style tweak (#14119) @Frenzie * [reMarkable] Fix wifi management and add xovi env variables (#14096) @lepeli * bump luajit-launcher, Add Hyread Gaze Note Plus CC to color devices (#14125) @hugleo * [Kobo] Enable wake on page turn buttons (#13669) @kodermike * Profiles: auto exec promptly (#14133) @hius07 * readerhighlight: fix datetime_updated for new highlights (#14155) @hius07 * [Android] Add Go Color 7 II to devices that follow gravity (#14156) @Gropinou * fix/remarkable: update for new AppLoad/qtfb-shim (#14162) @NoaHimesaka1873 * fix/remarkable: proper OTA model for remarkable-aarch64, do not set 8bpp depth for rMPP (#14163) @NoaHimesaka1873 * VocabBuilder.koplugin: supports removing word in-place after addition (#14127) @weijiuqiao * OPDS Plugin: Ensure the default download filename is consistent across different platforms (#13709) @spfenwick ## New Contributors * @JManch made their first contribution in https://github.com/koreader/koreader/pull/13541 * @jacksonhack made their first contribution in https://github.com/koreader/koreader/pull/13603 * @OctopusET made their first contribution in https://github.com/koreader/koreader/pull/13634 * @NoaHimesaka1873 made their first contribution in https://github.com/koreader/koreader/pull/13620 * @apgrc made their first contribution in https://github.com/koreader/koreader/pull/13604 * @artjomsR made their first contribution in https://github.com/koreader/koreader/pull/13160 * @gray-open made their first contribution in https://github.com/koreader/koreader/pull/13732 * @RedFox0x20 made their first contribution in https://github.com/koreader/koreader/pull/13772 * @zikasak made their first contribution in https://github.com/koreader/koreader/pull/13786 * @OGKevin made their first contribution in https://github.com/koreader/koreader/pull/13835 * @magebeans made their first contribution in https://github.com/koreader/koreader/pull/13851 * @k-leveller made their first contribution in https://github.com/koreader/koreader/pull/13842 * @jadehawk made their first contribution in https://github.com/koreader/koreader/pull/13872 * @schiessle made their first contribution in https://github.com/koreader/koreader/pull/13883 * @emrsmsrli made their first contribution in https://github.com/koreader/koreader/pull/13920 * @Volterxien made their first contribution in https://github.com/koreader/koreader/pull/13946 * @fkaduk made their first contribution in https://github.com/koreader/koreader/pull/14051 * @michal-mnich made their first contribution in https://github.com/koreader/koreader/pull/14043 * @snajczuk made their first contribution in https://github.com/koreader/koreader/pull/13133 * @Offlinemaker made their first contribution in https://github.com/koreader/koreader/pull/14037 * @zeedif made their first contribution in https://github.com/koreader/koreader/pull/14089 * @ly-pa made their first contribution in https://github.com/koreader/koreader/pull/13253 **Full Changelog**: https://github.com/koreader/koreader/compare/v2025.04...v2025.08 — [closed milestone issues](https://github.com/koreader/koreader/milestone/76?closed=1) --- **Installation instructions**: [Android](https://github.com/koreader/koreader/wiki/Installation-on-Android-devices) • [Cervantes](https://github.com/koreader/koreader/wiki/Installation-on-BQ-devices) • [ChromeOS](https://github.com/koreader/koreader/wiki/Installation-on-Chromebook-devices) • [Kindle](https://github.com/koreader/koreader/wiki/Installation-on-Kindle-devices) • [Kobo](https://github.com/koreader/koreader/wiki/Installation-on-Kobo-devices) • [PocketBook](https://github.com/koreader/koreader/wiki/Installation-on-PocketBook-devices) • [ReMarkable](https://github.com/koreader/koreader/wiki/Installation-on-ReMarkable) • [Desktop Linux](https://github.com/koreader/koreader/wiki/Installation-on-desktop-linux) • [MacOS](https://github.com/koreader/koreader/wiki/Installation-on-MacOS)