KOReader 2025.10 “Ghost”
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 (
) → 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:
- Publisher page numbers (℗): normally equivalent to a specific physical edition. Only available if supplied by the publisher.
- 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 (#14076) @hius07
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #14192
- bump base for various updates (#14177, #14261, #14341, #14353, #14354, #14469, #14503, #14525) @benoit-pierre
- CloudStorage: add action in Dispatcher (#14189) @hius07
- Add support for character-by-character highlighting for partial word translation (#14153) @adva-cg
- Fix(OPDS): Ensure downloaded files have a file extension (#14199) @zeedif
- expandString(): replace patterns with data (#14181) @hius07
- File browser: make the Plus menu user-patchable (#14197) @hius07
- Collections: option to skip scanning folder (#14203) @hius07
- fix/remarkable: remove disable xochitl autosuspend and add explicit qtfb-shim check (#14211, #14217, #14222) @NoaHimesaka1873 @benoit-pierre
- Export highlights: customizable export filename (#14212) @hius07
- ReaderHighlight: fix long-press with Do nothing (#14227) @hius07
- ReaderFooter: skip dynamic filler in items cycling (#14232) @hius07
- Wallabag: fix archive_finished initialization logic (#14221) @Frenzie
- Add Hungarian keyboard layout (#14237) @koma52
- Kobo: Don’t send
PowerPresstwice when fudging page turn button events forpageturn_power(#14216) @NiLuJe - [Device, Kindle] early return if kindleGetCurrentProfile() is nil (#14219) @Commodore64user
- Invert progress bar direction, independently of UI layout (LTR/RTL) (#13382) @Commodore64user
- Add .htmlz to supported filetypes (#14240) @Frenzie
- kodev: fix
run -g(#14257) @benoit-pierre - OPDS: URL encode search (#14248) @Frenzie
- [BookMapWidget] NT: add new method GoToFocusedPage (#14225) @Commodore64user
- Export highlights: export backlinks to markdown (#14233) @hius07
- Fix downloading of PDFs with non-standard mimetype from wallabag (#14271) @harmtemolder
- feat/remarkable: Initial reMarkable Paper Pro Move support (#14284) @NoaHimesaka1873
- Fulltext search: skim mode (#14267) @hius07
- calibre: handle a missing inbox folder (#14293) @benoit-pierre
- [KeyValuePage] back button returns to parent (#14270) @Commodore64user
- ReadTimer: use previous scheduled instance (#14280) @hius07
- feat: add reader.dict monolingual dictionaries (#14302) @BoboTiG
- NewsDownloader: log deserialization error (#14282) @Frenzie
- [plugin] OPDS: ignore query string in file extension workaround (#14304) @Frenzie
- Fix hibreak/bigme b7 buttons being inverted when the device is rotated (#14317) @xeropresence
- ReadTimer + Profiles auto-exec (#14309) @hius07
- plugin handlers traceback (#13677) @edoput
- [plugin] NewsDownloader: add HTTP basic authentication (#14303) @Frenzie
- [CalendarView] bug fix: fix keyboard hold events targeting wrong item (#14314) @Commodore64user
- Added shell.nix and updated Building.md (#14019) @MartV0
- ReaderPaging: fix page turn by keys (#14324) @hius07
- Add “pages left in chapter” option to custom footer text (#14327) @JasonInOttawa
- Export highlights: secure export filename (#14325) @hius07
- Add separator to custom footer text item (#14328) @JasonInOttawa
- Autodetect OCR language support files (#13004) @Frenzie
- ProgressbarDialog: fix progress bar fill color (#14182) @benoit-pierre
- Add Serbian keyboard layout (#14338) @eevan78
- [SortWidget] bug fix: Fix keyboard hold events targeting wrong item (#14252) @Commodore64user
- Fix typo (#14345) @Eloitor
- Collections: fix crash after folder connection (#14346) @hius07
- [ReaderDictionary] Offer fuzzy search when dict query fails [to find a match] (#14343) @Commodore64user
- appimage: support aarch64 (#14351) @benoit-pierre
- InputText: remove single keypress addChars only on hasDPad restriction (#14360) @Frenzie
- PluginLoader: call stop method on plugin when disabling (#14318) @Frenzie
- DjVu: flatten nested text layer (#14350) @Frenzie
- tools/mkrelease: handle corner case (#14369) @benoit-pierre
- SSH: fix typo, ‘show’ not ‘Show’ (#14370) @Frenzie
- android: minor cleanups (#14368) @benoit-pierre
- Android: auto-grant MANAGE_EXTERNAL_STORAGE for faster dev testing (#14366) @Frenzie
- appimage: fix architecture (#14374) @benoit-pierre
- Reference pages: improve Toc and status bar (#14363) @hius07
- BookInfo: minor fixes (#14373) @hius07
- feat/remarkable: rMPPM support part 2 and unified manifest with rm-appload 0.3.0 (#14288) @NoaHimesaka1873
- [NewsDownloader] Block CSS elements (#14383) @nuxa17
- bump crengine: word expansion and doc fonts tweaks (#14392) @poire-z
- [Kindle] Add missing Colorsoft serial snippets (#14393) @scamdotnet
- [ScreenSaver] allow sleep screen message to be placed anywhere on screen (#14371) @Commodore64user
- NewsDownloader: fix bug on parsing (#14394) @nuxa17
- Sleep screen: fix image in landscape mode (#14402) @hius07
- Statistics: add reference pages support (#14388) @hius07
- Screensaver: fix showing sleep screen on poweroff, reboot (#14253) @hius07
- Bug fix: Change condition for message height calculation (#14403) @Commodore64user
- Update supported languages and fix language codes (#14406) @cor-bee
- [ReaderDictionary] offer search with presets when dict fails to find match (#14399) @Commodore64user
- bump base (mupdf, harfbuzz…) and crengine (pagemap tweaks) (#14411) @poire-z
- fix/remarkable: event_map remapping fix (#14415) @NoaHimesaka1873
- Statistics: fix using reference pages (#14416) @hius07
- fix/remarkable: remove duplicated RM2FB check in koreader.sh (#14421) @NoaHimesaka1873
- Sleep screen: fix rotation for lock screen (#14417) @hius07
- OPDS: fix Search (#14425) @hius07
- fix: Corrected AutoSuspend logic for Kindles (#14430) @DemonicSavage
- Statistics: screen pages only (#14435) @hius07
- bump base (openssh, build…) and crengine (pagemap tweaks) (#14446) @poire-z
- ci/macos: update workflow to match base (#14447) @benoit-pierre
- [Readtimer] bug fix: fix focus when setting a timer. (#14420) @Commodore64user
- [ReaderHighlight] preserve highlight when using highlight dialogue (#14437) @Commodore64user
- Reference pages: add synthetic pagemap (#14405) @hius07
- Replace checkboxes with Radio buttons (#14431) @Commodore64user
- [DocSettingTweak] add doc tweaks to kindle NT (#14412) @Commodore64user
- Exporter: XMNote support exporting read time and mark book source (#14144) @Merpyzf
- [DocSettingTweak] Use absolute path for document settings (#14418) @DemonicSavage
- [Plugin] Statistics plugin calendar and timeline view changed to use color when color rendering is being used (#13453) @ReneeIbeji
- fontlist: support WOFF and WOFF2 fonts (#14455) @benoit-pierre
- ‘Set typography language’ action in Dispatcher (#14465) @hius07
- bump base & crengine: fix buildSyntheticPageMap() (#14476) @poire-z
- HTMLBoxWidget: add setRawContent() (#14480) @Frenzie
- Stable page numbers 2 (#14473) @hius07
- Pinned page (#14483) @hius07
- TouchMenu: fix empty submenu (#14489) @hius07
- Profiles: auto-exec delay (#14490) @hius07
- Statistics: fix disabling for PIC documents (#14508) @hius07
- tools/mkrelease: miscellaneous improvements (#14514) @benoit-pierre
- Fixes for Nextcloud highlights export (#14517) @wylanswets
- [Screensaver] add a cap to the number of random images processed (#14521, #14522) @Commodore64user
- ReaderHandMade: fix handmade hidden flow starting from page 1 (#14502) @hius07
- Status bar fixes (#14518) @hius07
- BookMap: add indicator for pinned page (#14510) @hius07
- Exporter: separate books in markdown export (#14531) @hius07
- Dispatcher: enable dithering change by gesture/profile (#14532) @hius07
- Profiles: remove executing on long-press (#14530) @hius07
- Book info: more informative Pages infomessage (#14493) @hius07
New Contributors
- @adva-cg made their first contribution in #14153
- @koma52 made their first contribution in #14237
- @BoboTiG made their first contribution in #14302
- @xeropresence made their first contribution in #14317
- @MartV0 made their first contribution in #14019
- @eevan78 made their first contribution in #14338
- @Eloitor made their first contribution in #14345
- @nuxa17 made their first contribution in #14383
- @scamdotnet made their first contribution in #14393
- @cor-bee made their first contribution in #14406
- @DemonicSavage made their first contribution in #14430
- @wylanswets made their first contribution in #14517
Full Changelog: v2025.08...v2025.10 — closed milestone issues
Installation instructions: Android • Cervantes • ChromeOS • Kindle • Kobo • PocketBook • ReMarkable • Desktop Linux • MacOS
