KOReader 2026.07 "Sailing Walrus"
- 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
- SyncService replaced by new Cloud storage plugin
- Improved Chinese encoding handling in CHM files
- Fixed background color propagation among inlines in renderFinalBlock()
- 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
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.
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.
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-lineCloses #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.
- https://github.com/koreader/crengine/pull/656
-
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.
- https://github.com/koreader/crengine/pull/661
-
[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
- 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.sharguments 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_hgenerator 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 ldomWordfindText(): 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:
2 others commented out would give:
-- 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_DIACRITICSThese 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 insensitiveis 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:
SetAliascleanup https://github.com/koreader/crengine/pull/678 - lvfntman: synthetic small caps https://github.com/koreader/crengine/pull/680 Closes #13563.
- lvfntman: fix duplicated
@font-facehandling 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-weights 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
- lvfntman:
-
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_hrework + useffi/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_cleanupcheck (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
Installation instructions: Android • Cervantes • ChromeOS • Kindle • Kobo • PocketBook • ReMarkable • Desktop Linux • MacOS