# koreader changelog
> An ebook reader application supporting PDF, DjVu, EPUB, FB2 and many more formats, running on Cervantes, Kindle, Kobo, PocketBook and Android devices
- Vendor: koreader
- Category: Media
- Official site: http://koreader.rocks/
- Tracked by: What's New (https://whatsnew.fyi/product/koreader)
- Harvested from: GitHub (koreader/koreader)
- Entries below: 10 (newest first)
What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog.
Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'.
## Releases
### v2026.07.1 — KOReader 2026.07.1
- Date: 2026-08-01
- Version: v2026.07.1
- Original notes: https://github.com/koreader/koreader/releases/tag/v2026.07.1
- Permalink: https://whatsnew.fyi/product/koreader/releases/v2026.07.1
- **fixed** — Fix OPDS 2.0 http header
- **fixed** — Maintain scroll offset for a kept open, multi-page QuickMenu
- **fixed** — Keep attribute values that are not ASCII in luxl
- **fixed** — Fix author in OPDS 2.0
- **changed** — Support tolino firmware version 5.18 and later
- **fixed** — Skip archive directory in recursive scan for Wallabag
Minor 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
##### 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
### v2026.07 — KOReader 2026.07 "Sailing Walrus"
- Date: 2026-07-26
- Version: v2026.07
- Original notes: https://github.com/koreader/koreader/releases/tag/v2026.07
- Permalink: https://whatsnew.fyi/product/koreader/releases/v2026.07
- **added** — Background cleanup for PDFs with Mask and SMask to remove backgrounds without preprocessing
- **added** — Support for Kobo v5 devices
- **added** — Improved support for PocketBook Era Lite, reMarkable Paper Pure, newer Onyx Android devices, and some Kindle models
- **added** — Single-key shortcuts support in the hotkeys plugin
- **added** — Built-in support to delete plugins
- **added** — Cloud storage plugin with uploading, downloading, and deleting selected files, configurable servers and upload folders, natural sorting, and improved WebDAV handling
- **added** — OPDS 2.0 basic support
- **added** — Option to justify text in footnote popup
- **added** — Capability to search within dictionary definitions in HtmlBoxWidget and DictQuickLookup
- **added** — Default book source option in bookmark browser
- **added** — Support for ::first-line CSS pseudo element
- **added** — COLRv0 color font rendering support
- **added** — Support for float/clear CSS properties with inline-start/inline-end values
- **added** — Highlight export filters
- **added** — Alternative mime type for fb2 format
- **changed** — SyncService replaced by new Cloud storage plugin
- **changed** — Improved Chinese encoding handling in CHM files
- **changed** — Fixed background color propagation among inlines in renderFinalBlock()
- **fixed** — End of Document status change in ReaderStatus
- **fixed** — Cover image rotation to only update when rotate image is enabled
- **fixed** — Kindle warmth settings to not break incremental settings when setting absolute warmth
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, ). 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 (), 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.
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 `
`
- 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,
_[Truncated at 4000 characters — full notes: https://github.com/koreader/koreader/releases/tag/v2026.07]_
### v2026.03 — KOReader 2026.03 "Snowflake"
- Date: 2026-03-17
- Version: v2026.03
- Original notes: https://github.com/koreader/koreader/releases/tag/v2026.03
- Permalink: https://whatsnew.fyi/product/koreader/releases/v2026.03
- **changed** — Upgrade desktop platform from SDL2 to SDL3
- **added** — Stable pages in file browser
- **fixed** — Fix two bugs with statusbar presets
- **changed** — Exporter uses number of stable pages
- **fixed** — NewsDownloader removes multiple unwanted selectors
- **fixed** — Screensaver skips showing without UI instance
- **added** — Gestures and profiles allow disabling popup messages
- **fixed** — Status bar fixed loading preset on empty items
- **changed** — Remarkable full refresh enabled by default for appload-based setup
- **added** — Remarkable support refresh levels
- **changed** — Exporter enhanced title and author parsing from MyClippings
- **added** — Add Japanese reader.dict monolingual dictionary
- **fixed** — Calibre does not use stale list
- **fixed** — Fix crash on Kindle when both AutoSuspend and KeepAlive are on
- **added** — Pinned page exact location
- **fixed** — Fix Kindle crash on AutoSuspend while charging
- **fixed** — Android fix possible run target error
- **changed** — RenderImage improve JPEG handling
- **added** — Status bar External content item
- **fixed** — Exporter correct MyClipping page value parsing

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:
* 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:/
_[Truncated at 4000 characters — full notes: https://github.com/koreader/koreader/releases/tag/v2026.03]_
### v2025.10 — KOReader 2025.10 "Ghost"
- Date: 2025-11-01
- Version: v2025.10
- Original notes: https://github.com/koreader/koreader/releases/tag/v2025.10
- Permalink: https://whatsnew.fyi/product/koreader/releases/v2025.10
- **added** — Configure artificially generated stable page numbers under navigation settings with options for publisher page numbers or characters per page
- **added** — Display stable page numbers in the margin independently of other layout settings
- **added** — View stable page number list showing a table of all stable page numbers and their corresponding screen page numbers
- **added** — Add CloudStorage action in Dispatcher
- **added** — Support character-by-character highlighting for partial word translation
- **added** — Make the Plus menu in file browser user-patchable
- **added** — Add option to skip scanning folder in Collections
- **added** — Customize export filename for highlights export
- **added** — Export backlinks to markdown in highlights export
- **added** — Add Hungarian keyboard layout
- **added** — Support .htmlz as a file type
- **added** — Add GoToFocusedPage method to BookMapWidget
- **added** — Add skim mode to fulltext search
- **added** — Add reader.dict monolingual dictionaries
- **added** — Initial reMarkable Paper Pro Move support
- **changed** — Invert progress bar direction independently of UI layout (LTR/RTL)
- **changed** — ReaderFooter skip dynamic filler in items cycling
- **changed** — ReadTimer use previous scheduled instance
- **fixed** — Ensure downloaded files from OPDS have a file extension
- **fixed** — ReaderHighlight fix long-press with Do nothing
- **fixed** — Fix downloading of PDFs with non-standard mimetype from wallabag
- **fixed** — Calibre handle a missing inbox folder
- **fixed** — ReMarkable remove disable xochitl autosuspend and add explicit qtfb-shim check
- **fixed** — Kobo don't send PowerPress twice when fudging page turn button events for pageturn_power
- **fixed** — OPDS ignore query string in file extension workaround

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:
> 1. Publisher page numbers (℗): normally equivalent to a specific physical edition. Only available if supplied by the publisher.
> 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 p
_[Truncated at 4000 characters — full notes: https://github.com/koreader/koreader/releases/tag/v2025.10]_
### v2025.08 — KOReader 2025.08 "Parasol"
- Date: 2025-08-16
- Version: v2025.08
- Original notes: https://github.com/koreader/koreader/releases/tag/v2025.08
- Permalink: https://whatsnew.fyi/product/koreader/releases/v2025.08
- **added** — Full-text search now has a start page option
- **added** — OPDS browser gained syncing and facets to change sort order on supporting feeds
- **added** — Dictionary presets for easier configuration
- **added** — Cloud storage downloads now show a progress bar
- **added** — CBR comics support
- **added** — Table of contents search functionality
- **added** — Status bar presets
- **added** — Open random document action on long-press in file manager
- **added** — Collection book selection and filtering of new books
- **added** — ReMarkable Paper Pro device support
- **added** — Kobo Clara BW device support
- **added** — NT Device BookMap and PageBrowser features
- **changed** — Footnote style tweaks improvements
- **changed** — FocusManager cursor keys corrected for RTL languages
- **changed** — DictQuickLookup widget width made user patchable
- **changed** — Gesture intervals adjusted for long-press and very-long-press
- **changed** — Status bar sort items now dim inactive items
- **changed** — Status bar now has dynamic filler
- **changed** — Calibre connection setup reworked
- **fixed** — HttpInspector crash when starting server

A random sampling from some new features: full-text search now has a start page (); the OPDS browser has gained syncing and "facets" (), 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, ), and cloud storage downloads offer a progress bar (). CBR comics (), and of course more supported devices as always. Also ToC search (), improvements to footnote style tweaks (). 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
* 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/korea
_[Truncated at 4000 characters — full notes: https://github.com/koreader/koreader/releases/tag/v2025.08]_
### v2025.04 — KOReader 2025.04 "Full Moon"
- Date: 2025-04-09
- Version: v2025.04
- Original notes: https://github.com/koreader/koreader/releases/tag/v2025.04
- Permalink: https://whatsnew.fyi/product/koreader/releases/v2025.04
- **changed** — Dictionaries with images now automatically take the res folder as their point of departure, requiring adjustment to dictionary content scripts
- **changed** — Markdown files are now rendered differently
- **removed** — Exporter plugin drops support for memos and flomo
- **removed** — Autofrontlight plugin was removed
- **removed** — Backgroundrunner plugin was removed
- **added** — Add support for KindleHF, requiring the kindlehf package for any Kindle running firmware ≥ 5.16.3
- **added** — Pocketbook now supports extended key events
- **fixed** — Screenshoter screenshot folder issue
- **added** — Add faster option to export text selections via QR codes
- **added** — Add notebook file support
- **changed** — Highlight line height adjustments
- **added** — Add search functionality to collections
- **changed** — WebDAV now shows folders with the same name as current folder
- **added** — Add dynamic battery symbol to sleep screen message in screensaver
- **changed** — AutoStandby plugin now schedules next standby on init
- **added** — Add romanizations setting in Translation settings
- **changed** — AutoSuspend day selector is now less restrictive
- **added** — KOPlugin adds custom keyboard shortcuts via hotkeys
- **added** — Allow overriding font-based normal line-height
- **changed** — CreDocument tweaks when the default font is set

The [user guide](http://koreader.rocks/user_guide/) received a big update, full changelog [here](https://github.com/koreader/koreader/issues/11147#issuecomment-2751264200).
Dictionaries with images now automatically take the `res` folder as their point of departure (#12877). This means you'll have to adjust your dictionary content scripts. If you're lucky you can simply delete them.
Markdown files are now rendered differently ().
Various changes in plugins:
- `exporter` plugin drops support for memos and flomo. You can install them from https://github.com/koreader/contrib if they work for you as is but they won't receive support here.
- `autofrontlight` plugin was removed.
- `backgroundrunner` plugin was removed. Third party plugins that rely on it to work need to be updated!
New support for KindleHF. Any Kindle running firmware ≥ 5.16.3 will need the `kindlehf` package.
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:
* bump base for many updated libraries and assorted fixes (https://github.com/koreader/koreader/pull/12759, https://github.com/koreader/koreader/pull/12761, https://github.com/koreader/koreader/pull/12773, https://github.com/koreader/koreader/pull/12780, https://github.com/koreader/koreader/pull/12796, https://github.com/koreader/koreader/pull/12956, https://github.com/koreader/koreader/pull/12822) @benoit-pierre
* pocketbook: support "extended" key events (https://github.com/koreader/koreader/pull/12707) @benoit-pierre
* Screenshoter: fix screenshot folder (https://github.com/koreader/koreader/pull/12750) @hius07
* factorize reflow code (https://github.com/koreader/koreader/pull/12729) @benoit-pierre
* add faster option to export text selections via qr codes (https://github.com/koreader/koreader/pull/12746) @Commodore64user
* Notebook file (https://github.com/koreader/koreader/pull/12699) @hius07
* Highlight: line height (https://github.com/koreader/koreader/pull/12721) @hius07
* ci/macos: fix possible issue during brew install (https://github.com/koreader/koreader/pull/12767) @benoit-pierre
* doc: minor tweak to building requirements (https://github.com/koreader/koreader/pull/12762) @benoit-pierre
* No frontlight devices - disable irrelevant plugins (https://github.com/koreader/koreader/pull/12766) @mergen3107
* android: bump luajit-launcher (https://github.com/koreader/koreader/pull/12779) @benoit-pierre
* Highlights: page boxes cache (https://github.com/koreader/koreader/pull/12768) @hius07
* tests: speedup readhistory reduce test (https://github.com/koreader/koreader/pull/12785) @benoit-pierre
* tests: speedup persist huge tables test (https://github.com/koreader/koreader/pull/12786) @benoit-pierre
* Decode wpa_supplicant SSID when already connected (https://github.com/koreader/koreader/pull/12782) @wfdewith
* [Kindle NT] fix terminal and timesync (https://github.com/koreader/koreader/pull/12765) @mergen3107
* [screensaver menu] remove gesture based option from NT devices (https://github.com/koreader/koreader/pull/12747) @Commodore64user
* make: factorize code for generating release updates (https://github.com/koreader/koreader/pull/12655) @benoit-pierre
* ci/macos: enable tests (https://github.com/koreader/koreader/pull/12784) @benoit-pierre
* webdav: show folders with same name as current folder (https://github.com/koreader/koreader/pull/12788) @BrendanL79
* screensaver: Add dynamic battery symbol to sleep screen message (https://github.com/koreader/koreader/pull/12548) @LostishCode
* switch to new meson based testsuite runner (https://github.com/koreader/koreader/pull/12789) @benoit-pierre
* Update epubdownloadbackend.lua (New logic to handle multiple selectors) (https://github.com/koreader/koreader/pul
_[Truncated at 4000 characters — full notes: https://github.com/koreader/koreader/releases/tag/v2025.04]_
### v2024.11 — KOReader 2024.11 "Slang"
- Date: 2024-11-20
- Version: v2024.11
- Original notes: https://github.com/koreader/koreader/releases/tag/v2024.11
- Permalink: https://whatsnew.fyi/product/koreader/releases/v2024.11
- **fixed** — Dictionary issues on Android
- **changed** — Wi-Fi connection reliability improved on Kobo and other platforms where KOReader manages Wi-Fi
- **added** — Color support when reflowing
- **added** — Use left and right keys for page turning option
- **changed** — Text editor speed improved when adding or deleting characters on large files
- **added** — Text editor select mode now indicated with wider cursor
- **fixed** — Annotations now allow equal datetime fields
- **fixed** — Page bookmarks now allow equal page numbers
- **added** — Read timer value added to AltStatusBar and Footer
- **added** — Author option added for alt status bar
- **changed** — Page turn vertical tap zones inverted
- **fixed** — ToggleSwitch long-press behavior
- **fixed** — ReaderAnnotation doesMatch function
- **changed** — NetworkMgr improved to handle wpa_supplicant rescans better
- **fixed** — HTTP proxy setting now applied on startup
- **changed** — Kobo frontlight state tracking improved on suspend and resume
- **fixed** — Panel zoom properly handles renderPage not rendering the whole page
- **added** — Show and hide virtual keyboard with additional keyboard shortcuts
- **fixed** — Panel-zoom tiles no longer cached to disk and caching and rendering fixed
- **changed** — Certain network features now work in Flatpak
- **fixed** — Annotations export fixed

**Note for Tolino users: this release freezes the system, see https://github.com/koreader/koreader/issues/12769 for more information. See https://github.com/koreader/koreader/issues/11068 for how to download a newer nightly build.**
Some of you on Android may have had dictionary issues. That should be fixed now.
Connecting to Wi-Fi should be more reliable on platforms where we manage it ourselves, most notably Kobo (https://github.com/koreader/lj-wpaclient/pull/11).
Color is now supported when reflowing (https://github.com/koreader/koreader/pull/12085).
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:
* Certain network features will now work in Flatpak () @kii-chan-reloaded
* 'Use left and right keys for page turning' option added (https://github.com/koreader/koreader/pull/12174) @Commodore64user
* Text editor: enhancement (https://github.com/koreader/koreader/pull/12176) @hius07
(1) Speed up adding/deleting chars (by avoiding a call of expensive splitToChars), noticeable on big files.
(2) Indicate select mode: wider cursor.
* Annotations: more fixes (https://github.com/koreader/koreader/pull/12181) @hius07
(1) Allows annotations with equal datetime fields.
(2) Allows page bookmarks with equal page numbers.
* kopt: color support (https://github.com/koreader/koreader/pull/12085) @benoit-pierre
* bump base (updated build system) & fix macOS CI (https://github.com/koreader/koreader/pull/12187) @benoit-pierre
* AltStatusBar/Footer: add the read timer value (https://github.com/koreader/koreader/pull/12002) @zwim
* bump translations (https://github.com/koreader/koreader/pull/12193) @pazos
* CRE call cache: don't wrap setViewMode (https://github.com/koreader/koreader/pull/12194) @poire-z
* bump crengine: various fixes and optimizations (https://github.com/koreader/koreader/pull/12200) @poire-z
* Add author option for alt status bar (koreader/crengine#575) (https://github.com/koreader/koreader/pull/12197) @trash-pandy
* Page turns: invert vertical tap zones (https://github.com/koreader/koreader/pull/12195) @hius07
* Annotations: pageno honors reference pages and hidden flows (https://github.com/koreader/koreader/pull/12214) @hius07
* ToggleSwitch: fix long-press (https://github.com/koreader/koreader/pull/12215) @hius07
* SDL: Return true in NetworkMgr:isConnected on !hasWifiToggle platforms (https://github.com/koreader/koreader/pull/12217) @NiLuJe
* Kobo: Refactor various aspects of the Kaleido/MTK support (https://github.com/koreader/koreader/pull/12221) @NiLuJe
* ReaderAnnotation: fix doesMatch func (https://github.com/koreader/koreader/pull/12231) @hius07
* bump base (https://github.com/koreader/koreader/pull/12241) @benoit-pierre
* NetworkMgr: Attempt to handle wpa_supplicant rescans better (https://github.com/koreader/koreader/pull/12236) @NiLuJe
* miscellaneous build system changes (https://github.com/koreader/koreader/pull/12242) @benoit-pierre
* make: handle old build data directory (https://github.com/koreader/koreader/pull/12259) @benoit-pierre
* ReaderFooter: improve (https://github.com/koreader/koreader/pull/12243) @hius07
* Annotations: fix exporting (https://github.com/koreader/koreader/pull/12261) @hius07
* make: install missing `cr3.css`… (https://github.com/koreader/koreader/pull/12262) @benoit-pierre
* [fix] NetworkMgr: apply HTTP proxy setting on startup (https://github.com/koreader/koreader/pull/12260) @Frenzie
* Kobo: Track frontlight state more accurately on suspend/resume (https://github.com/koreader/koreader/pull/12256) @NiLuJe
* Make W-Fi scan more reliable (https://github.com/koreader/koreader/pull/12265, https://github.com/koreader/lj-wpaclient/pull/11) @NiLuJe
* ReaderAnnotation
_[Truncated at 4000 characters — full notes: https://github.com/koreader/koreader/releases/tag/v2024.11]_
### v2024.07 — KOReader 2024.07 "Outside"
- Date: 2024-07-15
- Version: v2024.07
- Original notes: https://github.com/koreader/koreader/releases/tag/v2024.07
- Permalink: https://whatsnew.fyi/product/koreader/releases/v2024.07
- **added** — SortWidget: sort alphabetically
- **added** — Multiple collections
- **added** — Annotations support
- **added** — Add Czech keyboard layout
- **added** — Initial support for new Kobo Clara B/W, Clara Colour, and Libra Colour
- **added** — Gesture: Add toggle for orientation lock
- **added** — NT: add Hot swapping dictionaries button and edit button into FocusManager's layout
- **added** — Register Calibre start/stop connection actions
- **added** — Generic linux package
- **added** — Support auto-detection of input devices via fbink_input
- **added** — Page overlap: add dashed line marker
- **added** — Screenshots on Non-Touch
- **added** — Status bar: Major UI makeover
- **added** — FocusManager: enable more keyboard shortcuts by default
- **changed** — Gestures.plugin: Rotation gesture renamed
- **changed** — CoverImage: Honor rotation after opening of a book
- **changed** — Bump base, docker images, and luajit-launcher for compilation speedups
- **changed** — Bump crengine: minor fixes for ruby, crash, and non-linear flows
- **fixed** — PDF rendering edge cases fixed via MuPDF update
- **fixed** — Kindle: Fix missing Amazon UI screensaver after exiting KOreader
- **fixed** — Kindle Scribe: Fix KindleUI L and R orientations when restarting KOReader book in landscape

A big thanks to @ezdiy and @benoit-pierre for taking on the major effort of updating MuPDF (https://github.com/koreader/koreader/pull/11940). Unfortunately or hopefully you won't notice a thing, but some edge cases in PDF rendering have been fixed.
Likewise our gratitude to @Commodore64user for the many non-touch/keyboard focused improvements.
If you used the built-in update to try out a development version in the last week of June you might need to overwrite the install manually, see https://github.com/koreader/koreader/issues/12115.
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:
* SortWidget: sort alphabetically (https://github.com/koreader/koreader/pull/11705) @hius07
* bump base, docker images, and luajit-launcher: mainly compilation speedups (https://github.com/koreader/koreader/pull/11736) @benoit-pierre
* ci: fix macOS build (https://github.com/koreader/koreader/pull/11660) @benoit-pierre
* Multiple collections (https://github.com/koreader/koreader/pull/11693) @hius07
* Annotations (https://github.com/koreader/koreader/pull/11563, https://github.com/koreader/koreader/pull/11761, https://github.com/koreader/koreader/pull/11788) @hius07
* Various minor tweaks and fixes (ToC, Search, HttpInspector) (https://github.com/koreader/koreader/pull/11746) @poire-z
* [Gestures.plugin] Rotation gesture renamed (https://github.com/koreader/koreader/pull/11753) @Commodore64user
* [CoverImage] Honor rotation after opening of a book (https://github.com/koreader/koreader/pull/11752) @zwim
* Add Czech keyboard layout (https://github.com/koreader/koreader/pull/11769) @sdasda7777
* tests: fix EPUB test, again (https://github.com/koreader/koreader/pull/11776) @benoit-pierre
* Initial support for new Kobo (Clara B/W + Colour, Libra Colour) (https://github.com/koreader/koreader/pull/11737) @c0eos
* chore: remove repetitive words (https://github.com/koreader/koreader/pull/11785) @peicuiping
* fix frontend tests (https://github.com/koreader/koreader/pull/11784) @benoit-pierre
* Kindle: Fix missing Amazon UI screensaver after exiting KOreader (https://github.com/koreader/koreader/pull/11794) @shamanNS
* Gesture: Add toggle for orientation lock (https://github.com/koreader/koreader/pull/11795) @thialfi17
* [ReaderHighlight] Remove duplicated setting on NT devices (https://github.com/koreader/koreader/pull/11750) @Commodore64user
* relocatable build / install dir (https://github.com/koreader/koreader/pull/11798) @benoit-pierre
* NT: add Hot swapping dictionaries button and edit button into FocusManager's layout (https://github.com/koreader/koreader/pull/11803) @comphilip
* Register Calibre start/stop connection actions (https://github.com/koreader/koreader/pull/11806) @noxhirsch
* Check if /usr/bin symlink is present to fix instance reuse issue on older Pocketbooks (https://github.com/koreader/koreader/pull/11764) @sdasda7777
* generic linux package (https://github.com/koreader/koreader/pull/9351) @pazos
* Kindle Scribe: Fix KindleUI L and R orientations when restarting KOReader book in landscape (https://github.com/koreader/koreader/pull/11780) @mergen3107
* appimage: keep metadata in sync with flathub (https://github.com/koreader/koreader/pull/11819) @pazos
* Support auto-detection of input devices via fbink_input (https://github.com/koreader/koreader/pull/11807) @NiLuJe
* fix #11810: only set FocusManager layout if hasDPod (https://github.com/koreader/koreader/pull/11811) @comphilip
* Kindle: Don't forget about fiveways on legacy devices & fix a couple input-scan misdetections (https://github.com/koreader/koreader/pull/11827) @NiLuJe
* FileManager: safe initial path (https://github.com/koreader/koreader/pull/11774) @hius07
* Replace tweak_buttons_func with an event instead (http
_[Truncated at 4000 characters — full notes: https://github.com/koreader/koreader/releases/tag/v2024.07]_
### v2024.04 — KOReader 2024.04 "Sourdough"
- Date: 2024-04-29
- Version: v2024.04
- Original notes: https://github.com/koreader/koreader/releases/tag/v2024.04
- Permalink: https://whatsnew.fyi/product/koreader/releases/v2024.04
- **changed** — Sleep screen menu (formerly known as the screensaver menu) has been reworked
- **changed** — Use Bresenham's algorithm and anti-aliasing for rounded corners
- **added** — Allow mousewheel scrolling in Menu, DictQuickLookup, and TextViewer
- **changed** — CoverBrowser now shows cached cover of deleted file in history
- **added** — Bookmarks editing of highlighted text
- **changed** — Fulltext search default mode with fixes
- **added** — ReaderFooter chapter progress bar
- **changed** — crengine updated with better conformance to the HTML Standard rendering
- **changed** — ReaderTypeset menu logic and defaults tweaked
- **changed** — Wallabag properly deals with mimetype as content-type
- **fixed** — Screensaver shows 0% only on first page and 100% only on final page
- **changed** — ReaderZooming auto-crop default set to page content
- **added** — Wikipedia EPUBs settings for include and highres images
- **added** — Allow asymmetric margins for autocrop
- **fixed** — Dictionary download message when connection fails
- **fixed** — appimage gets full path before changing to assets directory
- **added** — Support for Linfiny eNote, Avalue ENT-13T1, and QuirkLogic Papyr on Android
- **fixed** — ReaderView ensures that the pan zoom direction is not nil
- **changed** — ReaderStatus updates status modification time
- **fixed** — ReaderLink copy link functionality

As usual, there have been so many changes that it's difficult to tell a coherent story about them. One of the more noticeable changes is that the sleep screen menu (formerly known as the screensaver menu) has been reworked (#11549). But there's also been a lot of work on the backend, updating the build infrastructure and crengine.
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:
* Input: Don't let wacom pens clobber the slot of the next contact (#11520) @NiLuJe
* Use Bresenham's algorithm and anti-aliasing for rounded corners (#11498) @zwim
* Menu, DictQuickLookup, TextViewer: allow mousewheel scrolling (#11525) @poire-z
* CoverBrowser: show cached cover of deleted file in history (#11523) @hius07
* Bookmarks: edit highlighted text (#11484) @hius07
* Fulltext search: default mode, fixes (#11507) @hius07
* ReaderFooter: chapter progress bar (#11505) @hius07
* bump crengine: better conformance to the HTML Standard rendering (#11527) @poire-z
Includes:
- Hyphenation: update French.pattern https://github.com/koreader/crengine/pull/553
- [CI] Add stylelint to help prevent typos in CSS https://github.com/koreader/crengine/pull/556
- https://github.com/koreader/crengine/pull/555 :
- In-page footnotes: better handle duplicated ids
- lvrend: handle in-page footnotes in table ``
- lvstsheet: fix compiler warnings
- LVString: ignore CJK chars in `lStr_findWordBounds()`
Closes #11478.
- lvtext: `AddLine()`: handle some CJK + space edge case
See https://github.com/koreader/koreader/issues/11478#issuecomment-1951424809.
- EPUB: look for EPUB3 cover even when EPUB2 cover advertized
See around https://github.com/koreader/koreader/pull/11491#issuecomment-1963021880.
Hat tip @DanielKauss for discussion. ^_^
- List items: proper per-specs positionning and sizing
Closed https://github.com/koreader/crengine/issues/521.
- epub.css: add/use `@media (-cr-max-cre-dom-version: 20180527)`
- fb2def.h: add more HTML element and attributes names
- CSS: generic support for handling presentational hints
Closed https://github.com/koreader/crengine/issues/551
- CSS: add support for private `-cr-apply-func`:
- ldomDocumentWriterFilter: remove attribute to CSS conversion
- lvrend: more proper rendering of block images
- lvrend: keep margin_left/right updated when "auto"
- CSS: add support for handling HTML's `align=` attribute
- lvrend: fix HR and images positionning when floats involved
- epub.css, html5.css: minor updates for easier stylesheet switch
- epub.css, html5.css: major updates for better conformance
Closes #10770.
- fb2.css: fix CI stylelint warnings
* ReaderTypeset: tweak Style> menu logic and defaults (#11527) @poire-z
* Style tweaks: add tweak to avoid some presentational hints (#11527) @poire-z
* util.prettifyCSS(): handle better :is() and similar (#11527) @poire-z
* Wikipedia: tweak EPUB css to force epub.css look (#11527) @poire-z
* Wallabag: properly deal with mimetype actually being content-type (#11532) @Frenzie
* Screensaver: 0% only on first page, 100% only on final page (#11541) @Commodore64user
* ReaderZooming: make auto-crop default be page content (#11438) @hugleo
* Book style tweak: add more suggestions in "CSS ≡" (#11533) @poire-z
* Wikipedia EPUBs: add settings for include/highres images (#11544) @poire-z
* Allow asymmetric margins for autocrop (#11540) @hugleo
* Dictionary: Fix download message when connection fails (#11548) @jovanbulck
* appimage: get full path before changing to assets dir (#11552) @pazos
* Android: Add Linfiny eNote / Avalue ENT-13T1 / QuirkLogic Papyr (#11554) @davide125
* ReaderView: ensure that the pan zoom direction is not nil (#11
_[Truncated at 4000 characters — full notes: https://github.com/koreader/koreader/releases/tag/v2024.04]_
### v2024.03.1 — KOReader 2024.03.1
- Date: 2024-03-05
- Version: v2024.03.1
- Original notes: https://github.com/koreader/koreader/releases/tag/v2024.03.1
- Permalink: https://whatsnew.fyi/product/koreader/releases/v2024.03.1
- **fixed** — Fix a crash that happens when opening the menu using a keyboard or button
Fixes a crash that happens when opening the menu using a keyboard or button (#11509).
[Full changelog](https://github.com/koreader/koreader/compare/v2024.03...v2024.03.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)