# koreader: what changed from 2025 to 2026
- Product: koreader (https://whatsnew.fyi/product/koreader)
- Vendor: koreader
- Range: changelog entries numbered after v2025.10 up to and including v2026.07.1, stable releases only
- Entries below: 3 releases (newest first)
- Resolved: 2025 is v2025.10 and 2026 is v2026.07.1, the newest stable release of each major we track
- Carrying security changes: 0 · CVEs mentioned: 0 · Mentioning breaking changes: 0 · Removing or deprecating something: 0
- Page: https://whatsnew.fyi/product/koreader/compare/2025...2026
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'.
## What changed (47 changes, grouped by kind)
### Added
#### v2026.07 (2026-07-26)
- Background cleanup for PDFs with Mask and SMask to remove backgrounds without preprocessing
- Support for Kobo v5 devices
- Improved support for PocketBook Era Lite, reMarkable Paper Pure, newer Onyx Android devices, and some Kindle models
- Single-key shortcuts support in the hotkeys plugin
- Built-in support to delete plugins
- Cloud storage plugin with uploading, downloading, and deleting selected files, configurable servers and upload folders, natural sorting, and improved WebDAV handling
- OPDS 2.0 basic support
- Option to justify text in footnote popup
- Capability to search within dictionary definitions in HtmlBoxWidget and DictQuickLookup
- Default book source option in bookmark browser
- Support for ::first-line CSS pseudo element
- COLRv0 color font rendering support
- Support for float/clear CSS properties with inline-start/inline-end values
- Highlight export filters
- Alternative mime type for fb2 format
#### v2026.03 (2026-03-17)
- Stable pages in file browser
- Gestures and profiles allow disabling popup messages
- Remarkable support refresh levels
- Add Japanese reader.dict monolingual dictionary
- Pinned page exact location
- Status bar External content item
### Changed
#### v2026.07.1 (2026-08-01)
- Support tolino firmware version 5.18 and later
#### v2026.07 (2026-07-26)
- SyncService replaced by new Cloud storage plugin
- Improved Chinese encoding handling in CHM files
- Fixed background color propagation among inlines in renderFinalBlock()
#### v2026.03 (2026-03-17)
- Upgrade desktop platform from SDL2 to SDL3
- Exporter uses number of stable pages
- Remarkable full refresh enabled by default for appload-based setup
- Exporter enhanced title and author parsing from MyClippings
- RenderImage improve JPEG handling
### Fixed
#### v2026.07.1 (2026-08-01)
- Fix OPDS 2.0 http header
- Maintain scroll offset for a kept open, multi-page QuickMenu
- Keep attribute values that are not ASCII in luxl
- Fix author in OPDS 2.0
- Skip archive directory in recursive scan for Wallabag
#### v2026.07 (2026-07-26)
- End of Document status change in ReaderStatus
- Cover image rotation to only update when rotate image is enabled
- Kindle warmth settings to not break incremental settings when setting absolute warmth
#### v2026.03 (2026-03-17)
- Fix two bugs with statusbar presets
- NewsDownloader removes multiple unwanted selectors
- Screensaver skips showing without UI instance
- Status bar fixed loading preset on empty items
- Calibre does not use stale list
- Fix crash on Kindle when both AutoSuspend and KeepAlive are on
- Fix Kindle crash on AutoSuspend while charging
- Android fix possible run target error
- Exporter correct MyClipping page value parsing
## Release notes
### 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]_