Skip to content

Release v1.6.0 - #753

Merged
uxjulia merged 1955 commits into
mainfrom
release/v1.6.0
Sep 21, 2026
Merged

uxjulia merged 1955 commits into
mainfrom
release/v1.6.0

Conversation

@uxjulia

@uxjulia uxjulia commented Sep 21, 2026

Copy link
Copy Markdown
Owner

New

  • Xteink X4 Classic support
  • Hidden folders can be created from the web UI now.
  • You can now set how many decimal points the book progress percentage displays as (up to 2 decimal places) in Customize Status Bar > Percentage Format.
  • You can toggle two-finger screen rotation on or off now.
  • If you have optimized your EPUB with Inky, you can now jump to a specific Stable Page via Go to Stable Page in the reader menu.

Changed

  • When queuing multiple page turns, anti-aliasing and image loading are skipped to speed things up.
  • Grayscale image rendering on sleep screens is improved on certain UC8179 display models.
  • EPUB images and styles load more efficiently when optimized via Inky or the built-in web optimizer.
  • Sleep screen images use improved grayscale rendering.

Fixed

Notable features from upstream Crosspoint:

  • File Browser rename actions that keep reading progress, bookmarks, clippings, and recent-book entries linked to the renamed file.

uxjulia and others added 30 commits September 2, 2026 12:31
Cache X3 USB power state for one second in the main loop, avoiding repeated BQ27220 I2C reads while preserving direct startup and render-time probes.

Adapted from Sichroteph/YACP under the MIT license.

Adapted-from: Sichroteph/YACP@6d1f10f

Co-authored-by: Totofaki <Christophe.Jeannette@gmail.com>
Load Recent Books and KOReader credentials on first use, skip the unchanged recents update on direct sleep resumes, and avoid no-op recent-book writes.

Adapted from Sichroteph/YACP under the MIT license, while preserving CrossInk cover-state metadata and network-resume behavior.

Adapted-from: Sichroteph/YACP@20af8ae

Co-authored-by: Totofaki <Christophe.Jeannette@gmail.com>
Compare an existing daily backup in a fixed 64-byte buffer and avoid replacing it when the current stats file is identical.

Adapted from Sichroteph/YACP under the MIT license.

Adapted-from: Sichroteph/YACP@20af8ae

Co-authored-by: Totofaki <Christophe.Jeannette@gmail.com>
…#3355)

## Summary

* **What is the goal of this PR?**
* Restore CSS superscript and subscript styling on internal EPUB links,
including the footnote markers commonly written as `<a
style="vertical-align: super">1</a>`.

* **What changes are included?**
* Apply resolved `vertical-align: super/sub` styles when parsing
internal link elements, matching the existing generic inline-style
behavior.
* Bump `section.bin` to version 45 so cached layouts created before the
fix are automatically rebuilt.
* Add a generated EPUB fixture plus focused host tests covering both
superscript and subscript internal links. The tests verify the text
style and retained link target/ID.
## Additional Context

* The regression was limited to the parser’s internal-link branch: it
preserved the link and underline but returned before applying
`vertical-align`.
…rosspoint-reader#3364)

## Summary

* **What is the goal of this PR?** Make two settings-screen lookup
tables' compile-time/flash placement standard-guaranteed instead of
compiler-observed, per this repo's "`constexpr` First" coding standard
(CLAUDE.md rule #6).
* **What changes are included?**
- `SettingsActivity::categoryNames` and `OpdsServerListActivity`'s
`formatLabels` converted from `static const` to `static constexpr`
- Removed the now-unnecessary out-of-line `.cpp` definition for
`categoryNames` (replaced by an inline `constexpr` initializer in the
header)

## Scope Check

CrossPoint is intentionally narrow. See
[SCOPE.md](../blob/master/SCOPE.md) and
[ROADMAP.md](../blob/master/ROADMAP.md).
Please confirm:

- [x] I have read SCOPE.md and ROADMAP.md.
- [x] This PR is **not** a new built-in theme (themes are temporarily
closed pending the move to SD-loaded themes).
- [x] This PR is **not** a new external network connector (sync engine,
cloud storage, remote file access, etc.).
- [x] This PR is **not** an interactive app, writing tool,
RSS/news/browser, media playback, or PDF feature.
- [x] The stock firmware does not already handle this well, **and** no
other popular CrossPoint fork already does
(n/a — this is an internal code-quality refactor, not a user-facing
feature).
- [x] If this PR touches `freeink-sdk/`, `lib/hal/`, the bootloader,
OTA, or recovery code, I have coordinated with
the relevant maintainer. (n/a — this PR only touches
`src/activities/settings/`.)

## Additional Context

* No behavior, control flow, or memory layout change. `static const`
already landed in flash in practice on this
toolchain; `constexpr` makes that guaranteed by the standard instead of
compiler-observed, and enables
compile-time evaluation for these two small (12-byte and 16-byte)
literal `StrId` tables.
* Verified via `pio run` (build succeeds) and `pio check` (cppcheck: no
defects found).

---

### AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? **YES** — implemented with
Claude Code (Sonnet 5): code analysis, the
edits, build/check verification, and this PR description.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01GnQV6onyMxKHxpRAjnuLL6

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: metoli86 <startangledbanner@gmail.com>
Co-authored-by: Leopoldo Pla Sempere <leopoldo.pla@treelogic.com>
Co-authored-by: Georgi Valchanov <138367360+iggydob@users.noreply.github.com>
Co-authored-by: Alexander Matthes <ziz@mailbox.org>
Co-authored-by: winst0niuss <chumachenko.vadym@gmail.com>
Co-authored-by: Sara Zeaiter <zeaiter@condogroup.de>
Co-authored-by: Stefan Blixten Karlsson <sbkarlsson@gmail.com>
Co-authored-by: Matteo Scopel <matteo@scopel.email>
Co-authored-by: Leopoldo Pla Sempere <leopoldoplasempere@gmail.com>
Co-authored-by: crs <44726838+crsBug@users.noreply.github.com>
Co-authored-by: muhas <muhas@muhas.ru>
uxjulia and others added 18 commits September 20, 2026 11:47
Co-authored-by: Uri Tauber <uritaube@gmail.com>

Co-authored-by: Sylve <43751434+s0lness@users.noreply.github.com>
Adapted from crosspoint-reader/crosspoint-reader@8c84ef3 (crosspoint-reader#3630), including the required Hangul composition behavior from f437bb5 (crosspoint-reader#3036).

Co-authored-by: Justin Mitchell <justin@jmitch.com>

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 63ad4ede49

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/activities/reader/EpubReaderActivity.cpp Outdated
Comment thread src/activities/reader/BookReadingStats.cpp Outdated
Comment thread lib/Epub/Epub/parsers/ChapterHtmlSlimParser.cpp
Comment thread src/activities/reader/EpubReaderActivity.cpp
Comment thread src/activities/home/FileBrowserActivity.cpp
Comment thread src/CrossPointSettings.h Outdated
Comment thread src/util/BookMoveUtils.cpp Outdated
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-21T15:48:22.718954Z 63ad4ed PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@uxjulia
uxjulia merged commit 31ce770 into main Sep 21, 2026
6 checks passed
@uxjulia
uxjulia deleted the release/v1.6.0 branch September 21, 2026 19:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment