Releases: ed-fruty/crosslingua-reader
Release list
CrossLingua v1.2.0+crosspoint.1.5.0
1.2.0+crosspoint.1.5.0 - 2026-07-30
🚀 Features
- Access text settings from epub reader (crosspoint-reader#2788)
🐛 Bug Fixes
- Restrict CrossPoint position extension to official server (crosspoint-reader#2790)
- Clean image page after sync return (crosspoint-reader#2747)
- Restore spaces between CJK words (crosspoint-reader#2768)
- Derive file-transfer WebSocket port from HTTP (crosspoint-reader#2729)
- Gyro not powering down on x3 and newer x4 battery latch issues (crosspoint-reader#2774)
- Treat
in CJK flowing text as a paragraph separator (crosspoint-reader#2710) - (ui) Add spacing below CrossLingua branding
💼 Other
- Merge upstream develop
- Add long-press translation toggle for interlinear mode
- Use EdsLab 11pt for primary UI text
⚡ Performance
- Skip ruby scratch allocations on ruby-less lines (crosspoint-reader#2735)
- Drop all-empty ruby vectors from TextBlock (crosspoint-reader#2772)
📚 Documentation
- Remove premature X4 Pro support claims
- Add instructions to fix a bricked Xteink (crosspoint-reader#2622) (crosspoint-reader#2682)
⚙️ Miscellaneous Tasks
- Remove redundant wolfSSL TLS defines (crosspoint-reader#2727)
CrossLingua v1.1.3+crosspoint.1.5.0
1.1.3+crosspoint.1.5.0 - 2026-07-27
🚀 Features
- Add packages to nix dev shell required for clang-format-fix and… (crosspoint-reader#2695)
🐛 Bug Fixes
- TextSettingsActivity default to selected font (crosspoint-reader#2739)
- Bind settings labels to enum values (crosspoint-reader#2644)
- Name dictionary lookup failures (low-memory vs decompress vs read) instead of 'Not found' (crosspoint-reader#2706)
- Fixing german translation inconsistencies (crosspoint-reader#2702)
- Translate BMP viewer error messages (crosspoint-reader#2730)
💼 Other
- Merge upstream develop into CrossLingua
📚 Documentation
- Add StarDict sources list
🧪 Testing
- Repair malformed section-break EPUB fixture (crosspoint-reader#2728)
🎨 Styling
- (ui) Use EdsLab as the default interface font
⚙️ Miscellaneous Tasks
- Update czech.yaml (crosspoint-reader#2726)
CrossLingua v1.1.2+crosspoint.1.5.0
1.1.2+crosspoint.1.5.0 - 2026-07-27
💼 Other
- Release CrossLingua 1.1.2
CrossLingua v1.1.1+crosspoint.1.5.0
1.1.1+crosspoint.1.5.0 - 2026-07-27
💼 Other
- Release CrossLingua 1.1.1
- Update CrossLingua boot branding
⚙️ Miscellaneous Tasks
- Clean legacy release assets last
CrossLingua v1.1.0+crosspoint.1.5.0
CrossLingua 1.1.0
Based on CrossPoint Reader 1.5.0.
This release introduces CrossLingua as a bilingual-first e-reader firmware: translate books directly on the device or prepare them with Calibre, then choose how the original and translated text should appear.
🌐 On-device translation
- Translate only the current chapter or the entire book directly on the reader.
- Chapter translation typically takes 1–3 minutes.
- Full-book translation typically takes 10–30 minutes.
- Translation results are cached on the SD card for offline reading.
- The original EPUB remains unchanged.
- Added live progress reporting for chapter and full-book translation.
- Added retry and backoff handling for rate-limited translation providers.
- Added safer recovery from interrupted or incomplete translations.
- Improved memory management during network-heavy translation operations.
Translation time depends on Wi-Fi connectivity, translation-engine availability and the amount of text.
🤖 Translation engines
- Google v2
- Google v1 / HTML
- Google legacy compatibility mode
- Azure
- DeepL
- DeepL Pro
- OpenAI
- DeepSeek
- Gemini
API keys are configured separately for engines that require them.
📖 Lingua reading modes
Added eight ways to display bilingual content:
- Interlinear — compact translation annotations above their corresponding source lines.
- Side by Side — synchronized source and translation columns.
- Interleaved — alternating original and translated paragraphs.
- Tooltip — sentence translations displayed in a small overlay while reading.
- Page Translation — a larger translation overlay for the current page.
- Original Only — source text without visible translations.
- Translation Only — translated text as a clean monolingual book.
- Normal — original and translated paragraphs rendered in the EPUB’s regular flow.
Mode-specific settings include:
- Translation text size.
- Translation colour: Black, Grey or Light Grey.
- Front or side buttons for Tooltip and Page Translation controls.
- Tooltip looping or automatic continuation onto the next page.
- Independent translation-column colouring in Side by Side.
- Landscape and portrait bilingual layouts.
The display mode can be changed without translating the text again.
🔌 Calibre bilingual EPUB support
- Added support for translations embedded directly into EPUB files.
- CrossLingua recognizes language-tagged translated paragraphs.
- Bilingual EPUBs prepared with the Ebook Translator Calibre plugin can use the same Lingua reading modes without translating the book again on the device.
📚 Bookshelf
- Added an optional cover-based Bookshelf interface.
- Added a 3×3 book and folder grid.
- Added progressive EPUB cover generation in the background.
- Generated cover previews are cached on the SD card.
- Added series and folder navigation.
- Hidden and system folders are filtered according to file-browser settings.
- Improved cover-generation performance and reliability.
🔤 EdsLab font
- Added EdsLab, a custom reading font developed specifically for CrossLingua.
- EdsLab is built into the firmware and used as the default reading font.
- Custom
.cpfontfamilies can still be installed from the SD card. - Improved font caching and prewarming for bilingual overlays.
📖 Reading improvements
- Added direct access to Text Settings from the reader menu.
- Preserved the reading position when chapter layout must be rebuilt.
- Improved position recovery after font, layout or Lingua-mode changes.
- Improved translated-text hyphenation and Ukrainian extended-Cyrillic handling.
- Improved footnote placement in Interlinear and Side by Side modes.
- Improved RTL handling in bilingual layouts.
- Improved sentence splitting for Unicode whitespace and paragraph boundaries.
- Improved overlay sizing, paragraph indentation and page refresh behaviour.
🌍 Interface and localization
- Added Lingua and Bookshelf interface strings across supported UI languages.
- Reorganized Lingua settings into mode-specific submenus.
- Added clearer translation progress, fallback and error dialogs.
- Renamed older experimental terminology to the final CrossLingua mode names.
📱 Device support
CrossLingua supports:
- Xteink X3
- Xteink X4
📦 Release infrastructure
-
Added independent CrossLingua versioning alongside the upstream CrossPoint version.
-
Introduced release tags in the following format:
v<crosslingua-version>+crosspoint.<upstream-version>
CrossLingua v1.0.0
1.0.0 - 2026-07-16
CrossLingua 1.0.0
The first public release of CrossLingua — a bilingual-focused fork of CrossPoint Reader.
CrossLingua combines the regular CrossPoint reading experience with on-device book translation, multiple bilingual layouts, embedded translation support, a visual book library and a custom reading font.
🌐 On-device translation
- Added translation directly on the reader over Wi-Fi.
- Added translation of the current chapter.
- Added full-book translation.
- Added source and target language selection.
- Added batched translation requests to reduce network overhead.
- Translation results are stored in the book cache on the SD card.
- The original EPUB remains unchanged.
- Added translation progress, cancellation and error screens.
- Added recovery and memory safeguards for large chapters and books.
🤖 Translation engines
Initial translation-engine support includes:
- Google legacy
- Google v2
- Google HTML
- DeepL
- DeepL Pro
- OpenAI
- DeepSeek
- Gemini
API keys can be configured for providers that require them.
📖 Bilingual reading modes
Added several ways to read original and translated text:
- Normal — original and translated paragraphs in the regular EPUB flow.
- Dimmed — translations displayed using grey ink.
- Dimmed Light — translations displayed using lighter grey ink.
- Original Only — only the source-language text is visible.
- Translation Only — only the translated text is visible.
- Side by Side — source and translation displayed in parallel columns.
- Tooltip — sentence-by-sentence translations displayed in a small overlay.
- Page Translation — translation for the current page displayed in a larger overlay.
Tooltip and Page Translation support configurable front or side button controls.
🔌 Embedded bilingual EPUB support
- Added detection of translated paragraphs embedded directly in EPUB files.
- Added support for language-tagged translation content.
- Bilingual EPUBs prepared outside the reader can use CrossLingua display modes without translating the book again on the device.
- Compatible with books prepared using tools such as the Ebook Translator Calibre plugin.
📚 Visual library
- Added a cover-based library interface.
- Added a grid layout for books and folders.
- Added lightweight EPUB metadata loading.
- Added EPUB cover extraction and preview generation.
- Added folder navigation and menu icons.
- Improved cover rendering and caching.
- Added hidden-file controls and delete confirmation to the file browser.
🔤 Fonts and typography
- Introduced EdsLab, a custom reading font developed for CrossLingua.
- Added dedicated EdsLab regular, bold and italic styles.
- Added Caecilia, Literata and GPro as selectable reading fonts.
- Added configurable font, text size and horizontal spacing controls directly to the reader menu.
- Added Full, Half and None horizontal-spacing options.
- Expanded built-in glyph coverage and improved the fallback-font chain.
- Added Ukrainian hyphenation support.
- Added CSS text-colour handling.
🎨 Interface improvements
-
Added icon-based lists and menus.
-
Reworked the Lyra interface theme.
-
Added configurable long-press actions in the reader.
-
Added additional status-bar layouts:
- Total progress with book progress bar.
- Total progress with chapter progress bar.
-
Improved settings organization and access to common reading controls.
🛠️ Stability and performance
- Prevented cache corruption and reading-progress loss when the device enters sleep.
- Added guards against corrupted serialized book data.
- Prevented rendering failures from causing boot loops.
- Reduced memory usage when parsing translated EPUB content.
- Added a streaming translation parser for large chapters.
- Improved JPEG cover decoding and transparent image rendering.
- Added additional safeguards for partial paragraphs and page boundaries.
📱 Device support
Initial device support includes:
- Xteink X3
- Xteink X4
📦 Release infrastructure
- Added the first tag-triggered CrossLingua release pipeline.
- Added automatically generated release notes.
- Added reproducible firmware builds from a clean repository checkout.
This is the initial CrossLingua release and therefore does not have a previous CrossLingua version for comparison.