v1.4.0-rc
Pre-releaseThis release candidate is up to date with the develop branch of Crosspoint as of 7:20pm EDT July 4, 2026
Warning
Firmware build variants are being simplified and the built-in ChareInk font is being removed
With SD card font downloads working more reliably, CrossInk is starting a phased move toward a single firmware build. no_emoji has already been dropped. The next build being phased out is teensy, therefore this release does not include it. See the following discussion for more info. I've included zip files for all built-in fonts (Bitter, ChareInk, Lexand Deca) across all build size variants pre-compiled as .cpfont files for your convenience. Download, unzip, and drop them into your .fonts/fonts folder to get all 8 font sizes (8pt through 20pt) for each font face.
The built-in ChareInk font is also being removed from this release to reduce firmware size so that future dictionary support can fit. ChareInk is available to download via Settings > Reader > Font Options > Manage Fonts, or you can download the .zip file included in this release's assets.
Release Notes
New
- Added a new home screen theme called "Dashboard" that displays the current book cover alongside reading stats.
- Added Nearby Position Sync for sending or applying your EPUB reading position between two CrossInk devices. It uses the same file matching method (binary or filename) set in your KOReader sync settings. Get to it from the book's reader menu > bookmark icon >
Nearby Position Sync. - EPUBs optimized via the built-in web uploader will see a new option to display
Stable Page Numberswhen customizing the in-reader status bar. Stable Page Numbers stay the same regardless of font size, margins, etc. and is good for comparing pages read across different books. This works in a similar way to KOReader's Stable Page Numbers and defaults to 1500 characters per page (roughly 230-300 words per page). You can adjust the number of characters to use in the EPUB optimizer's advanced settings. - Added reading stats support for XTC and XTCH files.
- Incremental chapter indexing (a feature merged in from the latest Crosspoint
developbranch) lands in this release. Instead of indexing the entire chapter/section at once, the parser will now only index a few pages ahead. This means that total chapter pages are an estimate until the entire chapter has been indexed. If you haveChapter Page Counton, you will see a tilde~in front of the chapter count when the chapter pages are an estimate.
Improved
- OPDS download speeds should be faster now (addresses #309)
Fixed
- Auto Turn settings opened from long-press shortcuts now stay open after releasing the shortcut button (fixes #337)
- Font selection no longer reopens the font preview after choosing a font.
- Chinese and other large SD-card font EPUBs no longer overlap characters after font or line-spacing changes (fixes #321).
- EPUB clipping selection is more reliable with custom fonts and now follows right-to-left line order for Hebrew and other RTL text (fixes #327).
- EPUB chapters with many inline anchors or footnote links are less likely to fail with memory errors (fixes #318)
- Lyra Carousel no longer shows a blank carousel after performing some actions (fixes #317).
- KOSync failures when too many SD card fonts are installed (fixes #340)
Other notable upstream Crosspoint updates that land in this release:
- feat: Selection popups (#2358)
- feat(reader): End of Book next-book suggestions (#2532)
- fix: x4 sleep/boot ghosting (#2471) - Note: This causes visible flashing on wake and sleep.
Tip
If you experience any problems, please clear your caches before opening an issue. Start with the least invasive and work your way down to the most invasive if problems persist after each step.
- Delete book cache (In-reader menu >
Delete book cache) - From your SD card: Delete the individual
.crosspoint/epub_<hash>folder for the book giving you issues - Delete all reading cache (
Settings > System > Files & Cache > Clear Reading Cache) - From your SD card: Delete ALL
.crosspoint/epub_<hash>folders andrecent.jsonandstate.json - Back up your
global_stats.binand then delete the entire.crosspoint/folder