Summary
Library view
Recent Books has grown into a powerful way to browse your entire collection on your SD card. Sort by recently added, title, or author, or just search for the book you want.
TTF support
Devices with external RAM (X4Pro, Sticky, X4C, PaperMono) can now use TrueType (.ttf) fonts directly — no need to convert them to CrossPoint's .cpfont format first. Drop your fonts into /fonts/ or /.fonts/ on the SD card, restart the reader, and pick them from the text settings. If a family has separate regular, bold, italic, and bold-italic files, put them together in one family folder.
.cpfont fonts still work everywhere, including on devices without external RAM. OpenType (.otf) fonts are also supported, though compatibility may vary.
Cover Grid home theme
The new Cover Grid theme displays your recent books as a grid of covers on the home screen. This theme is not available on x3 and the original x4.
More control over reading
New word and character spacing controls let you adjust how tightly text sits on the page, alongside the existing line-spacing settings. Footnote navigation now highlights references directly on the reading page and and bookmarks can finally be renamed.
Touch controls and navigation
Touch devices gain configurable tap and swipe gestures for turning pages. Headers now have back buttons, and fixes improve scrolling in reader lists and settings. X4pro also gain configurable shortcuts for Home button.
X4 Classic support
The ESP32-S3-based X4 Classic is now officially supported. Get one now
Sleep Screens
Sleep screens across all devices now show drastically higher quality grays. On the X4 and certain Pro display variants they push the quality to the max. Transparent pngs got a nice quality bump as well.
Clock & About
You can now view the clock on the home screen! In addition, the old utc offset picker is gone and is replaced with auto DST and a list of cities to pick from when setting the time. This setting has moved to the more obvious system settings. You'll also find a new About option in the system settings as well which is useful for identifying display controllers during debugging.
Everything else
Files can be renamed straight from the file browser. Portuguese gets hyphenation support, Korean text justification stretches spaces between words rather than within them, and the keyboard gains an Arabic layout.
KOSync now sends more precise EPUB reading positions. Fixes also address EPUB lists, hidden content, chapter-position displays, and end-of-book navigation.
This release reduces font and EPUB memory pressure, fixes USB drive disconnection, improves web file-transfer safety, and prevents EPUBs that fail to render their first page from reopening automatically after wake.
What's Changed
- chore: update pioarduino to 55.03.311 by @serialx in #3397
- fix: Fixes KOSync memory checks and reduces memory pressure by @itsthisjustin in #3412
- fix: pack font manifest catalog into one arena by @fain182 in #3398
- docs(issue forms): Correct links to scope/roadmap by @cassidyjames in #3433
- fix(reader): synchronize end-of-book menu selection by @Daviex in #3418
- fix: render NFD Hangul filenames from macOS transfers by @serialx in #3036
- fix: reader's menu book chapter current position by @unnamedd in #3437
- fix: stabilize X3 EPUB anti-aliasing by @uxjulia in #3439
- fix(input): wake the idle poll on raw button contact so short presses register by @Techneaux in #3463
- feat: HTTP serve static with Cache-Control and ETag headers by @shirok1 in #2560
- chore: add direct download links for PR artifacts by @Uri-Tauber in #3389
- fix(webserver): normalize every user-supplied path and escape file names in the files page by @s0lness in #3353
- chore: Consolidates grayscale capability checks and enables absolute grayscale for supported screens by @itsthisjustin in #3478
- fix: don't display elements with hidden HTML attribute by @jjharpham in #3390
- fix(KOSync): compare mapped KOReader sync positions by @WhoTheHeck in #3111
- fix: update OTA to recognize the new format by @Uri-Tauber in #3493
- fix(debugging_monitor): if PSRAM is logged, add subplot by @olifre in #3490
- fix(KOSync): preserve precise KOSync upload progress positions by @WhoTheHeck in #3174
- refactor: reduce EPUB heap fragmentation with unique ownership by @serialx in #3518
- fix: reduce font-cache heap fragmentation by @serialx in #3521
- fix: release font caches before EPUB chapter layout by @serialx in #3527
- chore: add x4 Classic to CI pipelines by @Uri-Tauber in #3532
- docs: make roadmap easier to scan by @fain182 in #3517
- fix: number ordered lists and fix list container indents by @jan-xyz in #3500
- fix: dropped presses while a list repaints by @Techneaux in #3534
- perf: batch SdFat's SPI transfers on ESP32 by @osakanataro in #3501
- fix: USB OTG not disconnected when you unplug the cable by @itsthisjustin in #3538
- feat: Library view by @Uri-Tauber in #3366
- fix: Skip bw rendering on sleep images & fix white as transparent for sleep covers by @itsthisjustin in #3541
- chore: Resolve CI Node.js warning by @Uri-Tauber in #3545
- fix: Let OPDS catalog screens auto-sleep by @Uri-Tauber in #3547
- feat: Rename bookmarks by @Uri-Tauber in #3549
- fix: handle progressive JPEGs with separated component scans by @lpla in #2925
- fix: warp lists in library by @Uri-Tauber in #3556
- feat: add home button shortcuts by @uxjulia in #3516
- feat: Add AboutActivity for device information display by @itsthisjustin in #3563
- perf: keep settings list at its initial allocation by @serialx in #3569
- feat: Replace UTC offset with timezone and DST settings by @itsthisjustin in #3562
- perf: reduce image related heap fragmentation by @lpla in #2332
- fix: preserve frontlight state across silent restarts by @uxjulia in #3575
- feat(keyboard): add an Arabic layout by @rxmmah in #3430
- chore: Update license by @Uri-Tauber in #3578
- Swaps IMU direction on Sticky for proper gyro tilts by @itsthisjustin in #3583
- fix: clear ligature views when releasing SD font caches by @serialx in #3581
- fix: restore space widths on partial cache misses by @serialx in #3585
- fix(ci): pin pioarduino core inside the platform penv by @serialx in #3594
- feat: rename files by @Uri-Tauber in #3572
- fix: Re-Enable toolbar reader menu on button-only devices by @itsthisjustin in #3603
- fix: stop materializing every File Browser row (FUI list rowProvider) by @itsthisjustin in #3600
- fix: tear down WiFi when leaving the Settings network screen by @uxjulia in #3613
- feat: choose which UI languages are compiled in by @eszter007 in #3618
- chore: Update German translation by @BlueDragon333 in #3621
- fix: restore NFC composition in File Browser rows by @serialx in #3630
- feat: add word and character spacing controls by @serialx in #3528
- feat: refresh library by @Uri-Tauber in #3608
- fix: unblock X4 Pro frontlight double-click when short power press = Sleep, add Home key option by @naydichev in #3089
- feat: Adds Cover Grid UI Theme for PSRAM capable devices by @itsthisjustin in #3657
- feat: Add CrossInk style swipe and tap controls by @itsthisjustin in #3586
- perf: reduce per-pixel overhead in font rendering by @serialx in #3633
- feat: Convert slider dialogs to popups over current page by @itsthisjustin in #3669
- fix(settings): fix list scrolling by @brianhuster in #3668
- fix: Split navigation modes for cover grid & add selected states by @itsthisjustin in #3670
- fix: stop duplicating identical interval tables across font styles by @eszter007 in #3616
- fix: wrap OTA completion power-on hint by @lpla in #3632
- feat: Add TrueType fonts on PSRAM boards by @itsthisjustin in #3646
- fix: Sticky env missing ram stats by @Uri-Tauber in #3683
- fix: Reader list not scrollable with touch by @itsthisjustin in #3693
- feat: add Portuguese hyphenation support by @type0labs-dev in #3643
- chore: address Python Sonar warnings by @lpla in #2515
- feat: better footnotes navigation by @Uri-Tauber in #3682
- fix: Switch tap zones for RTL books by @Uri-Tauber in #3709
- fix: justify Korean text by word spaces only by @serialx in #3700
- feat: add back buttons to the header and unify all theme headers by @itsthisjustin in #3689
- fix: Remove loading icon display during startup by @itsthisjustin in #3671
- fix: release SD-font caches on reader exit by @serialx in #3699
- perf: avoid main-loop contention during EPUB rendering by @serialx in #3652
- fix: Toolbar menu in landscape mode + TTF font sizes by @Uri-Tauber in #3748
- fix: don't reopen unreadable EPUB on wake by @SurayaAtouraya in #3724
- fix: Remove article stripping logic by @Uri-Tauber in #3749
- chore: Update translations by @Uri-Tauber in #3396
- fix: don't cut screenshot folder names mid-letter by @SurayaAtouraya in #3750
- fix: speed up long status titles by @Uri-Tauber in #3573
New Contributors
- @cassidyjames made their first contribution in #3433
- @Daviex made their first contribution in #3418
- @unnamedd made their first contribution in #3437
- @Techneaux made their first contribution in #3463
- @shirok1 made their first contribution in #2560
- @s0lness made their first contribution in #3353
- @jjharpham made their first contribution in #3390
- @olifre made their first contribution in #3490
- @osakanataro made their first contribution in #3501
- @eszter007 made their first contribution in #3618
- @naydichev made their first contribution in #3089
- @type0labs-dev made their first contribution in #3643
- @SurayaAtouraya made their first contribution in #3724
Full Changelog: 1.6.0...1.6.5
Downloads
crosspoint-1.6.5-papermono.bin
crosspoint-1.6.5-sticky.bin
crosspoint-1.6.5-x3-x4.bin
crosspoint-1.6.5-x4c.bin
crosspoint-1.6.5-x4pro.bin