Releases: crosspoint-reader/crosspoint-reader
v1.1.1
v1.1.0
Summary
We're back again with another release, as per usual there have been some incredible additions from the community. With 81 changes from 32 contributors (17 of which were new!), there was a lot to cover. Here are some of the highlights:
🖼️ Images in EPUBs
JPG and PNG images are now supported in EPUBs, you shouldn't need to change anything, should just work out of the box. There are a few limitation still, in some cases where the format isn't supported (like GIFs or progressive JPGs) or the images are extremely large, we'll continue to fall back to the [Image] placeholder. However, for the majority of images in most EPUBs, this should work a treat!
💅 New Lyra screens
The home screen has had another overhaul. Thanks to the community's feedback, The default Lyra theme drops the recent book count down from 3 to 1, and stacks the home screen options vertically. If you liked the 3 covers style of Lyra, you can head to settings and select "Lyra Extended". Additionally, several more screens CrossPoint have Lyra support now, which is making the whole experience feel really consistent.
⚙️ Web-based settings editor
Entering URLs on the X4 is a real pain. As of v1.1.0, you can edit your settings directly from the web, saving all those clicks around the onscreen keyboard for your OPDS and KOReader settings.
🗺️ Multi-language support
Thanks to all the native speakers who have jumped in and added translations for the core interface in CrossPoint. You can now experience CrossPoint in English, Spanish, French, German, Czech, Portuguese, Russian, and Swedish. This will have no effect on the contents of your books, just the UI of CrossPoint.
Along with all of the above, there are plenty of other great additions like better hyphenation support for non-English languages, basic table support in EPUBs, better handling of HTML entities in EPUBs, and a long list of small fixes and improvements.
For a full list of the changes, feel free to take a look at the list below.
What's Changed
Features
- feat(ux): invert BACK button behavior in reader activities by @osteotek in #726
- feat: A web editor for settings by @obra in #667
- feat: Add Italian hyphenation support by @drbourbon in #584
- feat: unify navigation handling with system-wide continuous navigation by @istiak-tridip in #600
- feat: use natural sort in file browser by @ThatCrispyToast in #722
- feat: Connect to last wifi by default by @el in #752
- feat: add png jpeg support by @martinbrook in #556
- feat: Add PNG cover image support for EPUB books by @casualducko in #827
- feat: User-Interface I18n System by @Uri-Tauber in #728
- feat: Tweak Lyra popup UI by @bramschulting in #768
- feat: Added Ukrainian language hyphenation support by @saslv in #646
- feat: Lyra screens by @CaptainFrito in #732
- feat: Lyra Icons by @CaptainFrito in #725
- feat: Add 4bit bmp support by @jpirnay in #944
- feat: increase keyboard font size for classic theme by @ariel-lindemann in #897
- feat: Scale cover images up if they're smaller than the device resolution by @sam-lord in #964
- feat: Basic table support by @allgoewer in #980
Fixes
- fix: Add EPUB 3 cover image detection by @itsthisjustin in #760
- fix(ui): Add Back label in KOReader Sync screen by @Eloren1 in #770
- fix: Prevent sleeping when in OPDS browser / downloading books by @daveallie in #818
- fix: Reduce MIN_SIZE_FOR_POPUP to 10KB by @jonasdiemer in #809
- fix: Manually trigger GPIO update in File Browser mode by @daveallie in #819
- fix: Show "Back" in file browser if not in root, "Home" otherwise. by @jonasdiemer in #822
- fix: Account for
nbsp;character as non-breaking space by @jdk2pq in #757 - fix: Correct multiple author display by @jpirnay in #856
- fix: Implement guide-based cover image fallback by @itsthisjustin in #830
- fix: Removed white boxes extending passed the bounds of the empty button icon when hint text is blank/null by @Levrk in #884
- fix: added cover image outlines to improve legibility by @Levrk in #907
- fix: align battery icon based on context (UI / Reader) by @pablohc in #796
- chore: improve Russian language support by @mrtnvgr in #926
- fix: Added missing up/down button labels by @znelson in #935
- fix: Don't extract unsupported formats by @jpirnay in #977
- fix: Correct word width and space calculations by @znelson in #963
- fix: Fix kosync repositioning issue by @jpirnay in #783
- fix: Skip large CSS files to prevent crashes by @sam-lord in #952
- fix: go to prev page on the first one, get teleported to the end of book by @mrtnvgr in #970
- fix: Crash (Load access fault) when indexing chapters containing characters unsupported by bold/italic font variants by @Uri-Tauber in #997
- fix: Increase PNGdec buffer size to support wide images by @osteotek in #995
- fix: Fix dangling pointer by @Uri-Tauber in #1010
- fix: re-implementing Cover Outlines for the new Lyra Themes by @Levrk in #1017
- fix: use double FAST_REFRESH to prevent washout on large grey images by @martinbrook in #957
- fix: Fixed Image Sizing When No Width is Set by @DestinySpeaker in #1002
- fix: Strip unused CSS rules by @daveallie in #1014
- fix: continue reading card classic theme by @pablohc in #990
- fix: Destroy CSS Cache file when invalid by @daveallie in #1018
- fix: Shorten "Forget Wifi" button labels to fit on button by @lukestein in #1045
- fix: improve Spanish translations by @pablohc in #1054
- fix: Fixed book title in home screen by @DestinySpeaker in #1013
- fix: Fix hyphenation and rendering of decomposed characters by @jpirnay in #1037
Internal
- feat: add HalStorage by @ngxson in #656
- fix: issue if book href are absolute url and not relative to server by @harshit181 in #741
- docs: Update USER_GUIDE.md by @jonasdiemer in #808
- feat: Extend python debugging monitor functionality (keyword filter / suppress) by @jpirnay in #810
- docs: Update USER_GUIDE.md by @jonasdiemer in #817
- fix: chore: make all debug messages uniform by @jpirnay in #825
- feat: more power saving on idle by @ngxson in #801
- feat: Allow screenshot retrieval from device by @jpirnay in #820
- feat: Add central logging pragma by @jpirnay in #843
- docs: Add requirement device be on when flashing by @mhstoller in #877
- feat: use pre-compressed HTML pages by @ngxson in #861
- perf: Improve large CSS files handling by @jdk...
v1.0.0
Summary
Note
If you're coming from version 0.16, you should be able to use the in-firmware updater to jump to this version (and future ones), you shouldn't need to connect your X4 to your computer to update anymore.
Based on the goals listed in #186, we've finally reached v1.0! There's plenty of juicy stuff 🍑 in this release, so I'll just call out a few new bits:
💅 New default theme: Lyra
There's going to be more and more screens with Lyra support in the near future, but for now the main screens where you'll see Lyra are the Home and Settings screens. Shoutout to @CaptainFrito for the implementation work here and yago.faris + rubybuilds in Discord for the design work. You can still revert back to the original theme from settings, but I'd encourage you to stick with Lyra as there'll be more updates coming to it soon.
📄 CSS support
CrossPoint now supports some basic CSS parsing, ensuring that things like underscores, bolding, italics, and margins are now correctly applied as the book intended. Thanks to @jdk2pq for the lift here. You can toggle them off in settings if need be, but it has been tested a fair bit and holds up.
💅 New logo
Gone is the confusing X when you turn on your X4 and CrossPoint boots up, the new logo by @lepislepis is in the firmware.
⚙️ Button remapping
You can now remap your buttons to set them in your exact preferred setup. Your previous button configuration should carry across, but if not, setting them up is very simple.
🌞 Sunlight fading software patch
There have been users reporting fading text on white X4 devices when exposed to direct sunlight. There is now a setting to completely power down the screen between page turns which prevents fading. The cost is that screen refreshes and page turns are a tiny bit slower.
We may be at v1.0, but there's plenty more to come! Images in EPUBs, more work on Lyra, and plenty more things are in the works! Huge thanks to those of you who jumped on the release candidate to help test out these features ahead of time, and as always, all the developers and maintainers who made this release possible.
What's Changed
Features
- feat: add HalDisplay and HalGPIO by @ngxson in #522
- feat: Add reading menu and delete cache function by @jonasdiemer in #433
- feat(ui): change popup logic by @osteotek in #442
- feat: Debugging monitor script by @Uri-Tauber in #555
- feat: Add CSS parsing and CSS support in EPUBs by @jdk2pq in #411
- feat: UI themes, Lyra by @CaptainFrito in #528
- feat: front button remapper by @osteotek in #664
- feat: holding back button while booting, boots to home screen as a mean of escaping boot loop by @GenesiaW in #587
- feat(settings): add "Cover + Custom" sleep screen mode by @mrtnvgr in #582
- feat: quick rotate option in epub reader menu by @osteotek in #685
- feat: Calibre Web Automated (CWA) koreader sync server support by @drbourbon in #594
- feat: Go To Position for epubs by @osteotek in #666
- feat: Implement fix for sunlight fading issue by @allgoewer in #603
- feat: rename and move in file manager by @Tritlo in #630
- feat: add shift lock to KeyboardEntryActivity by @whyte-j in #513
- feat: Move Sync feature to menu by @danoooob in #680
- feat: Add Chapter Progress Bar status bar option by @lukestein in #636
- feat: Add Settings for toggling CSS on or off by @jdk2pq in #717
- feat: optimize fillRectDither by @ngxson in #737
- feat: wakeup target detection by @osteotek in #731
- feat: Add percentage support to CSS properties by @jdk2pq in #738
Fixes
- fix: don't wake up after USB connect by @osteotek in #576
- Revert "fix: don't wake up after USB connect" by @daveallie in #643
- fix: don't wake up after USB connect by @osteotek in #644
- fix: WiFi error screen text clarifications by @lukestein in #612
- fix: Hide button hints in landscape CW mode by @nscheung in #637
- fix: custom sleep not showing image at index 0 by @gasparzilla in #639
- fix: truncating chapter titles using UTF-8 safe function by @osteotek in #599
- fix: webserver folder creation regex change by @aaroncunliffe in #653
- fix: Increase network SSID display length by @aaroncunliffe in #670
- fix: Correct instruction text to match actual button text by @lukestein in #672
- fix: Correct
debugging_monitor.pyscript instructions by @jdk2pq in #676 - fix: Artifacts on Thumb on Home Screen by @jonasdiemer in #662
- fix: prevent spurious spaces before attaching punctuation by @jdk2pq in #694
- fix: Lag before displaying covers on home screen by @CaptainFrito in #721
- fix: Remove separations after style changes by @jdk2pq in #720
- fix: increase lyra sideButtonHintsWidth to 30 by @whyte-j in #727
- fix: Scrolling page items calculation by @CaptainFrito in #716
Internal
- docs: Update USER_GUIDE.md by @akumanara in #625
- docs: Add small SCOPE.md and GOVERNANCE.md documents by @daveallie in #640
- fix: move http upload state to heap by @ngxson in #657
- chore: CI Build Summary - firmware stats, firmware artifact by @osteotek in #601
- chore: Add CI check job to consolidate status by @daveallie in #696
- chore: Add PR title check on sync by @daveallie in #698
- fix: debug printf of cover name by @jonasdiemer in #690
- chore: Swap logo by @daveallie in #699
- perf: optimize drawPixel() by @ngxson in #748
- refactor: Rename "Embedded Style" to "Book's Embedded Style" by @jdk2pq in #746
- fix: Allow OTA update from RC build to full release by @daveallie in #778
Full Changelog: 0.16.0...1.0.0
v0.16.0
Summary
Calibre Wireless Device syncing got a rework, the process has been changed, you'll now need the CrossPoint Reader Calibre plugin to connect to your device. Additionally OPDS syncing (previously known as Calibre Web) got a small face lift, including removing the default /opds path which was incompatible with several servers. Support for extremely large books (1000+ chapters) got a lot more stable and faster! There are plenty more changes which I didn't call out, have a read below.
This release also fixes the OTA Updater, so moving forward all future updates can be downloaded directly on the device within a few minutes and applied without the need for a computer. You'll still need to get to this release though and reflashing via computer is the easiest way. Moving from 0.16.0 to newer builds after this one will be OTA friendly.
Note
If you were using OPDS/Calibre Web, the /opds path extension is no longer auto-added on your URL. You'll need to go into settings to add it on manually.
What's Changed
Features
- feat: add new configuration for front buttons, more usable on landscape ccw by @borisfaure in #460
- feat: treat .md files as .txt by @osteotek in #498
- Refactors Calibre Wireless Device & Calibre Library by @itsthisjustin in #404
- feat: Extract author from XTC/XTCH files by @daveallie in #563
- feat: Add status bar option "Full w/ Progress Bar" by @alexfaria in #438
- feat(ux): page turning on button pressed if long-press chapter skip is disabled by @osteotek in #451
- feat: Add support to B&W filters to image covers by @el in #476
- feat: Add Spanish hyphenation support by @la-lo-go in #558
- perf: optimize large EPUB indexing from O(n^2) to O(n) by @DChells in #458
Fixes
- fix: Allow line break after ellipsis and underscore by @lukestein in #425
- fix: #348 fit cover artifacts 2 by @jonasdiemer in #465
- fix: remove decimal places from progress % by @treetrum in #507
- fix: Chapter Selection UI bugs when koreader sync is enabled, and clarify default kosync URL by @lukestein in #501
- UX improvment to Forget Network page by @olearycrew in #484
- fix: line break by @vjapolitzer in #525
- fix: short-press power button to wakeup by @ngxson in #482
- fix: goes to relative position when reader settings are changed by @GenesiaW in #486
- fix: Make sure img alt text is treated as separate text block by @jonasdiemer in #497
- fix: Fix KOReader document md5 calculation for binary matching progress sync by @carsonhicks in #529
- fix: add txt books to recent tab by @mrtnvgr in #526
- fix: Validate settings on read. by @jonasdiemer in #492
- refactor: Re-work for OTA feature by @embedded4ever in #509
- fix: Render keyboard entry over multiple lines by @daveallie in #567
- fix: Correctly render italics on image alt placeholders by @daveallie in #569
Internal
- fix: Add .vs folder to .gitignore by @Eloren1 in #466
- docs: Update README with supported languages for EPUB by @Eloren1 in #530
- docs: add font generation commands to builtin font headers by @borisfaure in #547
- fix: rotate origin in drawImage by @maeveynot in #557
- fix: missing front layout in mapLabels() by @osteotek in #564
- chore: .gitignore: add compile_commands.json & .cache by @borisfaure in #568
New Contributors
- @Eloren1 made their first contribution in #466
- @borisfaure made their first contribution in #460
- @vjapolitzer made their first contribution in #525
- @ngxson made their first contribution in #482
- @carsonhicks made their first contribution in #529
- @mrtnvgr made their first contribution in #526
- @alexfaria made their first contribution in #438
- @el made their first contribution in #476
- @la-lo-go made their first contribution in #558
- @DChells made their first contribution in #458
Full Changelog: 0.15.0...0.16.0
v0.15.0
Summary
Few exciting changes in this release, hyphenation support has been added. There's a new setting in the settings (which is now in settings categories) where you can enable hyphenation, if it's enabled, you'll get hyphenated content (honoring your paragraph layout settings). If it's left disabled, it'll only be used to split a word if it goes past the end of the line. Along with this change, KOReader Sync support was added which can be configured in settings and syncs can be triggered from the chapter select screen within a book. As of this version, we also show the alt text of images (in place of them) and let you know when a table omitted (as they are currently not rendered). The books home page item has been renamed to My Library and contains recent books and the old file browser.
There are plenty of small fixes as well in this release! Take a look at the full list below.
Basically everything in this release was added by the community with 8(!) new contributors. I am still playing catch up on the community's work as it continues to flood in, sorry for the delay if I said I'd get back to you or work on specific things. There are some big features in the review queue which should be able to make it out into a release next week.
Thanks again to those in the community who have added these amazing features, and those who are stepping up to help manage, triage, and review changes to CrossPoint, your help means we can continue to move quickly!
What's Changed
Features
- feat: Add EPUB table omitted placeholder by @efenner in #372
- Feature: Show img alt text by @jonasdiemer in #168
- feat: Add MAC address display to WiFi Networks screen by @lukestein in #381
- feat: Change keyboard "caps" to "shift" & Wrap Keyboard by @Nathanjms in #377
- Adds KOReader Sync support by @itsthisjustin in #232
- feat: dict based Hyphenation by @osteotek in #305
- feat: adding categories to settings screen by @DJPoulter in #331
- My Library: Tab bar w/ Recent Books + File Browser by @codebykenny in #250
- feat: Include superscripts and subscripts in fonts by @daveallie in #463
Fixes
- fix: draw button hints correctly if orientation is not portrait by @maeveynot in #363
- fix: also apply longPressChapterSkip setting to xtc reader by @Nathanjms in #378
- fix: XTC 1-bit thumb BMP polarity inversion by @eunchurn in #373
- fix: Invert colors on home screen cover overlay when recent book is selected by @lukestein in #390
- fix: render U+FFFD replacement character instead of ? by @maeveynot in #366
- fix: truncate chapter names that are too long by @GenesiaW in #422
- Reclaim space if we don't show battery Percentage by @jonasdiemer in #352
- fix: Skip negative screen coordinates only after we read the bitmap row. by @jonasdiemer in #431
- fix: hard reset via RTS pin after flashing firmware by @osteotek in #437
- feat: invalidate cache on web uploads and opds downloads and add Clear Cache action by @lgarbarini in #393
- fix: OPDS browser OOM by @KasyanDiGris in #403
Internal
- docs: Update User Guide to reflect release 0.14.0 by @lukestein in #376
- docs: Add detailed webserver documentation by @yeyeto2788 in #446
New Contributors
- @efenner made their first contribution in #372
- @Nathanjms made their first contribution in #378
- @GenesiaW made their first contribution in #422
- @DJPoulter made their first contribution in #331
- @codebykenny made their first contribution in #250
- @lgarbarini made their first contribution in #393
- @yeyeto2788 made their first contribution in #446
- @KasyanDiGris made their first contribution in #403
Full Changelog: 0.14.0...0.15.0
v0.14.0
Summary
The WiFi file upload functionality got a huge stability boost and a modest speed boost. For the purpose of 1.0, I am considering the stability there ticked off. Additionally, in this release your book's cover image will show up on the home screen, and you can now read TXT files.
Along with all that, there are some more ongoing QoL changes, like a new setting for disabling long-press chapter skip, and several tweaks to some rendered text in the reader.
Unrelated to the release, I'm currently looking for a few volunteers to help out with managing and maintaining CrossPoint. If you're interested, take a peek here.
What's Changed
Features
- Add cover image display in Continue Reading card with framebuffer caching by @eunchurn in #200
- Add TXT file reader support by @eunchurn in #240
- feat: Add setting to toggle long-press chapter skip by @armandocerna in #341
- Turbocharge WiFi uploads with WebSocket + watchdog stability by @swwilshub in #364
Fixes
- Ensure new custom sleep image every time by @duh102 in #300
- Skip BOM character (sometimes used in front of em-dashes) by @jonasdiemer in #340
- Fixes issue with Calibre web expecting SSL by @itsthisjustin in #347
- Only indent paragraphs for justify/left-align by @maeveynot in #367
- Add a bullet to the beginning of any
- by @maeveynot in #368
Internal
- ci: add PR format check workflow by @andrewb1269 in #328
- ifdef around optional fonts to reduce flash size/time. by @jonasdiemer in #339
- Update User Guide to reflect release 0.13.1 by @lukestein in #337
New Contributors
- @duh102 made their first contribution in #300
- @armandocerna made their first contribution in #341
- @swwilshub made their first contribution in #364
Full Changelog: 0.13.1...0.14.0
v0.13.1
Summary
Fixes an issue in 0.13.1 where the home screen could crash.
What's Changed
Fixes
- fix: Increase home activity stack size by @daveallie in #333
Full Changelog: 0.13.0...0.13.1
v0.13.0
Caution
Move up to v0.13.1 as there is a crashing issue on the home screen of v0.13.0.
Summary
It's been a moment, but we're back! Things have slowed down a bit with day jobs coming back in style, but still plenty of great new adds over the last week or so. The biggest headlines this release are Calibre Web and Calibre Wireless Device syncing support. It's a little finicky to enter your URL, but you can now enter an OPDS URL to be able to browse and download files to your device remotely or do it directly from within Calibre if you're on the same network.
Few notable fixes in this release include some better file handling (both extensions and length), some fixes to EPUB 3 chapter parsing, and some general usability/QoL improvements.
Moving forwards, I am going to try to be a little more diligent about a regular (will test out weekly or fortnightly) release schedule while changes are still coming in.
What's Changed
Features
- Add blank sleep screen option by @khromov in #242
- add settings for reader screen margin by @fischer-hub in #223
- Cover crop mode by @jonasdiemer in #225
- Calibre Web Epub Downloading + Calibre Wireless Device Syncing by @itsthisjustin in #219
- Allow disabling anti-aliasing via a setting by @khromov in #241
- Add navigation hints to ChapterSelectionActivities by @selunders in #294
- Add page turn on power button press by @fischer-hub in #286
- Add option to hide battery percentage. by @jonasdiemer in #297
Fixes
- Improved battery symbol by @jonasdiemer in #228
- Remove authentication type from hotspot QR code by @daveallie in #235
- Fix scrolling wrap-around in settings menu by @justinluque in #249
- Remember parent folder index in menu when ascending folders by @justinluque in #260
- Make extension checks case-insensitive by @daveallie in #273
- Support up to 500 character file names by @daveallie in #275
- Move battery status on home screen to top left by @jonasdiemer in #253
- Generate different .bmp for cropped covers so settings have effect. by @jonasdiemer in #330
- fix: Wi-Fi Selection on Calibre Library launch by @danoooob in #313
- Fix BMP rendering gamma/brightness by @jonasdiemer in #302
- fix: Handle EPUB 3 TOC to spine mapping when nav file in subdirectory by @daveallie in #332
Internal
- Update User Guide to reflect release 0.12.0 by @lukestein in #269
- Remove HTML entity parsing by @daveallie in #274
- Docs: Add instructions for file management via curl by @lukestein in #282
- Updated user guide (sleep screens list) by @carpentiers in #293
- Update formatting in github workflows by @andrewb1269 in #320
New Contributors
- @justinluque made their first contribution in #249
- @khromov made their first contribution in #242
- @fischer-hub made their first contribution in #223
- @itsthisjustin made their first contribution in #219
- @carpentiers made their first contribution in #293
- @selunders made their first contribution in #294
- @andrewb1269 made their first contribution in #320
- @danoooob made their first contribution in #313
Full Changelog: 0.12.0...0.13.0
v0.12.0
Summary
EPUB 3 Support has been added in this release, along with a handful of new settings: Set Paragraph Alignment will allow you to left/center/right align text instead of the default justification, Sleep and Refresh Options to update default auto-sleep and pages turns between refreshes. All these settings have be auto defaulted to the existing behaviour, so there's no action needed until you want to tweak them.
Several fixes are also in this release, including preventing sleeping during wifi operations, and a fix to the keyboard on the wifi selection screen which was causing the screen to lock up.
You can find more details about the other fixes and internal changes below!
What's Changed
Features
- Add EPUB 3 nav.xhtml TOC support by @bigbag in #197
- Add paragraph alignment setting (justify/left/center/right) by @maeveynot in #191
- Add support for uploading multiple epubs by @JakeLDev in #202
- Feat/sleep and refresh settings by @juicecultus in #209
Fixes
- Prevent device sleep during WiFi file transfer and OTA updates by @bigbag in #203
- Fix race condition with keyboard and Wifi entry by @olearycrew in #204
- Skip soft hyphens. by @jonasdiemer in #195
- Show "Entering Sleep" on black, so it's quicker to notice (in book). by @jonasdiemer in #181
- Add buton hints to keyboard screen by @olearycrew in #205
Internal
- Enhance USER_GUIDE with links and clarifications by @lukestein in #185
- Use sane smaller data types for data in section.bin by @daveallie in #188
- Replace book and section bin format images with ImHex hexpat definition by @daveallie in #189
- Subtract time it took reaching the evaluation from the press duration. by @jonasdiemer in #208
- Refactor semantic version comparison for OTA updates by @embedded4ever in #216
New Contributors
- @lukestein made their first contribution in #185
- @bigbag made their first contribution in #203
- @maeveynot made their first contribution in #191
- @JakeLDev made their first contribution in #202
- @embedded4ever made their first contribution in #216
- @juicecultus made their first contribution in #209
Full Changelog: 0.11.2...0.12.0
v0.11.2
Summary
A few more fixes for 0.11. Critically, this should allow files with non-ASCII characters in their filenames to be opened again.
What's Changed
Features
- Show book title instead of "Select Chapter". by @jonasdiemer in #169
Fixes
- Fix file browser navigation for non-ASCII folder names by @eunchurn in #178
- Update button hints on OTA update screen and update user guide to reflect current settings by @dangson in #183
- Hide "System Volume Information" folder by @daveallie in #184
Internal
Full Changelog: 0.11.1...0.11.2