Repository navigation
Releases: Belphemur/Xerif-eReader
Release list
Xerif v2.12.1
Personal fork release. See README fork notice. OTA is signed (Ed25519); verify before flashing.
Changelog
Range: v2.11.0..v2.12.1
Features
- docs
- fonts
- raise TTF hinting to the TT bytecode interpreter on x4pro/x4c (#255)
- lib/GfxRenderer
- Bluetooth quick toggle (crosspoint-reader#4187)
- plugins
- Make session recording more robust (crosspoint-reader#3869)
Bug Fixes
- config
- silence usb_product unknown-option warnings via [base] vars
- dict
- strip CJK blanket-like punctuations (crosspoint-reader#4177)
- docs
- never abort the X3 when the web server cannot be allocated
- keep X3 from rebooting when clock sync runs low on memory
- correct hyphenation with dropcaps (crosspoint-reader#4173)
- lib/EpdFont
- resolve the remaining cppcheck 2.22 findings from the CI scan
- resolve all cppcheck 2.22 findings in code
- lib/FsHelpers
- ignore system folders in Library (crosspoint-reader#4184)
- lib/I18n
- Text Settings do not render correctly in landscape mode (crosspoint-reader#4172)
- add hold-to-uninstall for plugins (crosspoint-reader#4100)
- plugins
- paginate static catalogs after compatibility filtering (crosspoint-reader#4170)
- ruby
- better handle the case when ruby text is less wide than its base text (crosspoint-reader#4162)
- scripts
- sync the SdFat FAT cache before directory data (crosspoint-reader#4150)
- src/activities
- OPDS crashes on the book details screen (crosspoint-reader#4165)
- use icons instead of text labels in FrontlightPanel (crosspoint-reader#4176)
- refresh book stats on normal exits and at completion
- Adds support for new Picco & Sticky displays (crosspoint-reader#4146)
- src/network
- connect before adding plugin request headers (crosspoint-reader#4167)
Performance
- lib/EpdFont
- reduce font download heap (crosspoint-reader#4124)
- share SD font interval tables across loaded fonts (crosspoint-reader#4145)
- src/activities
- drop fixed bookmark cache reserve (crosspoint-reader#4121)
Documentation
- docs
- reading stats on the sleep cover + pages-left semantics
- other
- rework pronunciation into its own top README section
- add rebrand announcement and pronunciation section at README top
Tests
- sync-gate fixes for the upstream merge
Build
- other
- deduplicate simulator_x4_pro environment
- add simulator_x4_pro environment
- scripts
- add native simulator environment
CI
- pin the pioarduino penv core so hybrid release builds survive PyPI drift
- bump tool-cppcheck to 2.22 and return cppcheck job to ubuntu-latest
- pin cppcheck job to ubuntu-24.04
Chores
- deps
- release
- bump version to 2.12.1
- bump version to 2.12.0
- src/activities
- promote web-server heap breadcrumbs to info with max-block size
- sync
- merge upstream/develop into develop
- merge upstream/develop into develop
- merge upstream/develop into develop
Other
- fonts
- TTF faces back to Light hinting — native bytecode looks worse on-device
- other
- Merge remote-tracking branch 'origin/develop' into develop
- Merge commit '0727f9f0' into develop
- Merge commit '72ca92fe' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'origin/develop' into develop
- Merge upstream/develop into develop (fork precedence: keep fork's SDK pin 3f2d9ba, TTF-guarded KOSync ctor + progress-save shape, plain new/delete[] SdCardFont allocation, TTF-reader TU gate; adopt upstream's cross-font SharedIntervals refcount registry (crosspoint-reader#4145) replacing the per-file intervalsShared aliasing, BwFrameKeeper folded into displayImageWithGrayscale (Picco crosspoint-reader#4146), KOSync pluginEventsOnly flush mode (crosspoint-reader#3869), WiFi settings pre-sleep load)
- src/main.cpp
- Load WiFi settings from file before sleep mode
Xerif v2.11.0
Personal fork release. See README fork notice. OTA is signed (Ed25519); verify before flashing.
Changelog
Range: v2.10.0..v2.11.0
Features
- rebrand XPoint to Xerif eReader
Bug Fixes
- dictionary
- support multiple idx entries with same string (crosspoint-reader#4110)
- docs
- corrects spacing in justified EPUB text (crosspoint-reader#4142)
- font
- use the compacted style API in the advance-table scan (crosspoint-reader#4134)
- lib/EpdFont
- draw corrupt .cpfont glyph entries as missing (crosspoint-reader#4091)
- other
- build develop again after crosspoint-reader#3948 and crosspoint-reader#4114 (crosspoint-reader#4132)
- src/network
- web UI dropdown chevron inset (crosspoint-reader#4090)
Performance
- allocate BiDi workspace on first use (crosspoint-reader#4116)
Tests
- fix two host-test failures on macOS and under parallel ctest (crosspoint-reader#4130)
Chores
- deps
- release
- bump version to 2.11.0
- sync
- merge upstream/develop into develop
- merge upstream/develop into develop
- workflows
- run check on push to develop branch (crosspoint-reader#4143)
Other
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
XPoint v2.10.0
Changelog
Range: v2.9.1..origin/develop
Bug Fixes
- docs
- keep FreeType hinting enabled through the book-open path (#240)
- lib/Epub
- free the spine href index after the TOC pass (crosspoint-reader#4095)
- src/CrossPointSettings.cpp
- keep 1.1/1.2 line spacing for .cpfont fonts (crosspoint-reader#4013)
- src/activities
- preserve UTF-8 when masking passwords (crosspoint-reader#4106)
- show cache-clear warning inside the dialog (crosspoint-reader#4105)
Performance
- lib/EpdFont
- skip the advance-table scan once the table is full (crosspoint-reader#3948)
- reuse loaded UI font for CSS variants (crosspoint-reader#4117)
- store only present SD font styles (crosspoint-reader#4114)
- lib/Epub
- scan CJK break offsets without staging (crosspoint-reader#4126)
- finish chapter pagination in idle time (crosspoint-reader#4040)
- other
- disable unused Expat input context (crosspoint-reader#4118)
Chores
- deps
- sync
- merge upstream/develop into develop
Other
- docs
- Add finish-reading prompt at 10/5/1% remaining progress (#238)
- other
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
XPoint v2.9.1
Personal fork release. See README fork notice. OTA is signed (Ed25519); verify before flashing.
Changelog
Range: v2.8.1..v2.9.1
Features
- docs
- recursive dictionary lookup (crosspoint-reader#4063)
- Add support for BOOX Picco device (crosspoint-reader#3947)
- support static GIF images in EPUBs (crosspoint-reader#2299)
- Improve epub rendering (crosspoint-reader#3891)
- Settings grouping (crosspoint-reader#3862)
- add global plugin system toggle and optional plugin hub bootstrap (crosspoint-reader#3877)
- lib/BlePageTurner
- Bluetooth page turner for X3/X4 (one module owns the BLE radio) (crosspoint-reader#3785)
- lib/EpdFont
- move NotoSerif to optional SD font (crosspoint-reader#4022)
- lib/Epub
- Adds OPDS 2.0 support (crosspoint-reader#3629)
- src/activities
- hide dictionary entry when none configured (crosspoint-reader#3990)
Bug Fixes
- dict
- show all matching
.syndefinitions instead of stopping at 1st one (crosspoint-reader#3980) - adapt heap-gate tests to fork thresholds; host stub for poolMaxAllocFor
- show all matching
- docs
- allow deleting hidden files in the web UI (crosspoint-reader#4031)
- preserve explicit CSS font inheritance (crosspoint-reader#4072)
- flush pending word before a block opens (crosspoint-reader#4030)
- preserve CSS styles under low memory (crosspoint-reader#4032)
- refresh Library after plugin book installs (crosspoint-reader#3997)
- dictionary back overflow bug (crosspoint-reader#3987)
- layout
- allow breaking line after hyphens, dashes (crosspoint-reader#3883)
- lib/BlePageTurner
- keep the BLE radio off in a book when no remote is chosen (crosspoint-reader#4074)
- lib/EpdFont
- use Ubuntu for the small UI font (crosspoint-reader#4026)
- lib/Epub
- reduce protected-book and clipping sync memory usage (crosspoint-reader#4081)
- recognize AES-256-CBC manifests (crosspoint-reader#4016)
- keep cumulative spine sizes in book.bin instead of RAM (crosspoint-reader#3784)
- lib/I18n
- translate complete confirmation questions (crosspoint-reader#4097)
- lib/LibraryIndex
- XTCH books missing from library, XTC books show filename and unknown author (crosspoint-reader#4023)
- opds
- feed-inline fallback fills the detail publication, not a discarded local
- release
- repair picco release matrix + bump freeink-sdk (TMA525C touch, BLE HID, GT911 guard)
- scripts
- self-heal stripped bt framework includes
- src/CrossPointSettings.cpp
- prevent font-size crash in the Text panel (crosspoint-reader#4041)
- src/SettingsList.cpp
- keep the tilt setting when the IMU probe fails (crosspoint-reader#4078)
- src/activities
- pin finished books to 100% in reading stats
- persist terminal progress when the end-of-book screen shows
- save terminal reading progress when a book finishes
- merge sleep image directory pools (crosspoint-reader#4025)
- Hide long-press menu setting on Home-key and Picco boards (crosspoint-reader#4019)
- highlight current selection in font downloader (crosspoint-reader#4101)
- delete clipping popup blinks (crosspoint-reader#4093)
- truncate the Wi-Fi SSID by width, not bytes (crosspoint-reader#4079)
- defines incomplete-type owner lifecycles out of line (crosspoint-reader#2643)
- avoid restoring stale home cover pixels (crosspoint-reader#4076)
- add sleep screen confirmation (crosspoint-reader#3994)
- Respect content area insets and corner radius in UI (crosspoint-reader#3986)
- src/main.cpp
- Add WiFi TX power limit configuration (crosspoint-reader#3993)
- sync
- restore resourceLimitHit lost in the DictHtmlPages merge; host fallback for poolMaxAllocFor
- test
- realign popup + recursive-dictionary host harnesses with merged upstream code
- add lib/Memory include dir to GifSupportTest (fork PoolBytes PixelCache)
- time
- Use RTC for plugin time (crosspoint-reader#3879)
Performance
- fonts
- gate legacy cpfont path on TTF boards
- lib/EpdFont
- drop 5 KB reserve in SD font registry (crosspoint-reader#4094)
- src/CrossPointSettings.cpp
- stop keeping the settings list in heap after boot and save 10KB (crosspoint-reader#4085)
Refactors
- docs
- remove unused rectangle touch helper (crosspoint-reader#4058)
- lib/Epub
- remove unused image existence helper (crosspoint-reader#4060)
- lib/I18n
- decouple sleep overlay from sleep mode (crosspoint-reader#3770)
- lib/InflateReader
- remove unused zlib header helper (crosspoint-reader#4057)
- src/components
- remove unused checkbox icon helper (crosspoint-reader#4059)
- src/network
- Implement dialogs, consistent promps, polish js logic (crosspoint-reader#3984)
Documentation
- explain IPA in dictionary pronunciations (crosspoint-reader#4034)
Style
- lib/Epub
- clang-format pass over merged files (upstream sync 3438f614)
- src/SettingsList.cpp
- clang-format pass over merged dictionary/settings files (upstream sync 535728d)
- src/SettingsList.h
- drop stray blank line left by upstream sync 5407ffc resolution
- src/activities
- clang-format saveFinishedProgress wrap
- src/fontIds.h
- drop stray blank line in generated fontIds.h (clang-format gate)
Tests
- clipping
- keep line terminator on sliced harness methods
- other
- run standalone UI regressions with CTest (crosspoint-reader#3991)
CI
- restore FREEINK_LCP_RELEASE_KEY enrollment gate in release.yml
Chores
- deps
- update freeink-sdk digest to d7f9d0a (#236)
- update step-security/harden-runner action to v2.22.2 (#235)
- update freeink-sdk digest to 91e73b0 (#234)
- update freeink-sdk digest to b8d457f
- update freeink-sdk digest to 449645b (#232)
- update freeink-sdk digest to c6c070e (#231)
- update freeink-sdk digest to a865cec (#230)
- update freeink-sdk digest to 78d4ecc (#229)
- update freeink-sdk digest to dee98fa (#228)
- other
- Fix README.md missing bolds (crosspoint-reader#4087)
- update README to release 2.0.0 (crosspoint-reader#4084)
- release
- bump version to 2.9.1
- bump version to 2.9.0
- sync
- merge upstream/develop into develop
- untrack CTest LastTest.log runtime artifact
- merge upstream/develop into develop
- merge upstream/develop into develop
- merge upstream/develop into develop
Other
- docs
- Update Plugin Hub repository references
- other
- Revert "chore(deps): update freeink-sdk digest to d7f9d0a (#236)"
- Merge upstream/develop into develop (fork precedence: keep fork's commitRecent shutdown gating and framed shutdown scene; combine fork displayImageWithGrayscale helper with upstream cover-compositing beginOverlayGrayPlane, two-dir sleep pool, COVER_TRANSPARENT crosspoint-reader#3770 crosspoint-reader#4025)
- Merge upstream/develop into develop (fork precedence: keep fork pin 91e73b0f0c; drop upstream's STR_LONG_PRESS_MENU SettingsList filter — fork ships no longPressMenuFunction row/field, upstream #5407ffcd)
- Merge upstream/develop into develop (fork precedence: keep fork's homeButtonLongPressAction confirmLongPressThreshold; upstream crosspoint-reader#4019 guard targets dropped longPressMenuFunction)
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Add support for Picco display variant
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge commit '0305aaa6' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Change de-link project link to Silkscreen
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge upstream OPDS 2.0 (f2120a3): token auth, LCP passphrase DRM, rewritten OPDS browser
- Merge upstream/develop: RTC plugin time, library refresh after plugin installs, EEGO A4 touch calibration
- Touch calibration for EEGO A4
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge upstream fix(layout): allow breaking line after hyphens, dashes (crosspoint-reader#3883)
- src/SettingsList.h
- Consolidate touch board settings filtering logic
- src/activities
- Reset publication object using uniform initialization
XPoint v2.8.1
Changelog
Range: v2.8.0..v2.8.1
Bug Fixes
- quick font preview shows only the current page and restores your reading position
Documentation
- clarify scope for reusable downstream primitives (crosspoint-reader#3821)
Chores
- deps
- update freeink-sdk digest to 0f65066 (#226)
- release
- bump version to 2.8.1
- sync
- merge upstream/develop into develop
XPoint v2.8.0
Changelog
Range: v2.7.2..origin/develop
Features
- lib/AsciiText
- Add custom HTTP headers for OPDS and KOReader Sync (crosspoint-reader#3016)
- lib/EpdFont
- offer Libron in Manage Fonts downloads (crosspoint-reader#3971)
- src/CrossPointSettings.cpp
- Add "Footnotes and links" option to long press menu button (crosspoint-reader#3851)
- src/MappedInputManager.cpp
- Swipe to delete (crosspoint-reader#3712)
Bug Fixes
- reader
- restore framebuffer after the idle prewarm render (#225)
- src/activities
- wrap plugin event disclosures to fit screen (crosspoint-reader#3837)
- src/network
- normalize web upload filenames to NFC (crosspoint-reader#3961)
- prevent FilesPage modal from closing when selecting text (crosspoint-reader#3931)
- test
- add lib/AsciiText to section_incremental include paths
Performance
- scan the central directory in one read per entry (crosspoint-reader#3955)
Documentation
- list Paper Mono in frontlight guide (crosspoint-reader#3968)
Chores
- deps
- update freeink-sdk digest to 52a201b (#224)
- sync
- merge upstream/develop into develop
- merge upstream/develop into develop
- merge upstream/develop into develop
- merge upstream/develop into develop
- merge upstream/develop into develop
Other
- Merge remote-tracking branch 'upstream/develop' into develop
XPoint v2.7.2
Changelog
Range: v2.7.1..origin/develop
Bug Fixes
- lib/Epub
- Sub-chapter contents navigation (crosspoint-reader#3946)
- other
- update SDK to resolve X3 anti-aliasing freeze (crosspoint-reader#3960)
- reader
- honor the saved reading position across layout generation bumps (#223)
Style
- refresh device web UI (crosspoint-reader#3950)
Chores
- deps
- other
- yet more refinment of agents guidelines (crosspoint-reader#3951)
- sync
- merge upstream/develop into develop
- merge upstream/develop into develop
Other
- lib/hal
- Check for gyroscope presence in tilt sensor init
- other
- Merge remote-tracking branch 'upstream/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
XPoint v2.7.1
Changelog
Range: v2.7.0..origin/develop
Bug Fixes
- lib/I18n
- say why an OPDS feed fetch failed (crosspoint-reader#3872)
- src/activities
- align cover-grid tab bar with the home menu model (#220)
Documentation
- add 'What XPoint changes from CrossPoint' summary section
Other
- Merge remote-tracking branch 'upstream/develop' into develop
XPoint v2.7.0
Faster book opens
Returning to a book you were already reading now paints the page in a fraction of the previous wait. The reader used to re-read its chapter position table from the SD card in hundreds of tiny chunks on every open; it now reads the same data in a few batches, cutting that part of a warm open from about two seconds to well under a tenth of it on long chapters. You notice it the moment you tap a book: the page appears almost as soon as the display allows.
What else is fixed
- Dictionary definitions stored as HTML now render through the styled layout even when the dictionary file mislabels them, so you get proper formatting instead of raw markup.
- Screen long-press now follows your
touchLongPressActionbutton remapping, not just physical buttons. - Metalio E-Ink 4 powers off fully when it sleeps instead of drawing power.
Update
- OTA: Settings → System → Check for updates (signed manifest, verified on-device).
- Manual flash:
xpoint-2.7.0-x4pro.binfrom this release for the X4 Pro; every supported board has its own.binhere.
Changelog
Range: v2.6.1..origin/develop
Bug Fixes
- dict
- route HTML-content definitions through styled layout despite sametypesequence=x (#217)
- lib/hal
- Metalio E-Ink 4 powers off fully when it sleeps (crosspoint-reader#3944)
- reader
- honor touchLongPressAction for screen long-press routing (#215)
Performance
- speed up warm book open by batching FIBP index reads (#218)
Chores
- deps
- update freeink-sdk digest to bfe4d29 (#214)
- other
- further refine agents guidelines
- sync
- merge upstream/develop into develop
Other
- Merge remote-tracking branch 'origin/develop' into develop
- Merge remote-tracking branch 'upstream/develop' into develop
XPoint v2.6.1
Changelog
Range: v2.6.0..origin/develop
Features
- support looking up multiple tokens using clipping feature (crosspoint-reader#3932)
Bug Fixes
- kosync
- advertise percentage progress support (crosspoint-reader#3219)
- lib/GfxRenderer
- add non-CJK GUI fallback font support (crosspoint-reader#3484)
- reader
- do not rebuild when a restore is already covered by the index (#213)