Files
crosspoint-reader-mod/lib/I18n/translations/danish.yaml

293 lines
10 KiB
YAML
Raw Normal View History

_language_name: "Dansk"
_language_code: "DA"
_order: "15"
STR_CROSSPOINT: "CrossPoint"
STR_BOOTING: "STARTER"
STR_SLEEPING: "HVILE"
STR_ENTERING_SLEEP: "Går i hvile"
STR_BROWSE_FILES: "Gennemsøg filer"
STR_FILE_TRANSFER: "Filoverførelse"
STR_SETTINGS_TITLE: "Indstillinger"
STR_CONTINUE_READING: "Fortsæt med at læse"
STR_NO_OPEN_BOOK: "Ingen åben bog"
STR_START_READING: "Start læsning nedenfor"
STR_NO_FILES_FOUND: "Ingen filer fundet"
STR_SELECT_CHAPTER: "Vælg kapitel"
STR_NO_CHAPTERS: "Ingen kapitler"
STR_END_OF_BOOK: "Bogen er færdig"
STR_EMPTY_CHAPTER: "Tomt kapitel"
STR_INDEXING: "Indekserer"
STR_MEMORY_ERROR: "Hukommelsesfejl"
STR_PAGE_LOAD_ERROR: "Fejl ved sideindlæsning"
STR_EMPTY_FILE: "Tom fil"
STR_OUT_OF_BOUNDS: "Uden for grænsen"
STR_LOADING: "Indlæser..."
STR_LOADING_POPUP: "Indlæser"
STR_WIFI_NETWORKS: "Trådløse netværk"
STR_NO_NETWORKS: "Intet netværk fundet"
STR_NETWORKS_FOUND: "%zu netværk fundet"
STR_SCANNING: "Skanner..."
STR_CONNECTING: "Forbinder..."
STR_CONNECTED: "Forbundet!"
STR_CONNECTION_FAILED: "Forbindelsen mislykkedes"
STR_FORGET_NETWORK: "Glem netværk?"
STR_SAVE_PASSWORD: "Gem adgangskode til næste gang?"
STR_PRESS_OK_SCAN: "Tryk OK for at scanne igen"
STR_JOIN_NETWORK: "Tilslut netværk"
STR_CREATE_HOTSPOT: "Opret Hotspot"
STR_JOIN_DESC: "Opret forbindelse til et eksisterende WiFi-netværk"
STR_HOTSPOT_DESC: "Opret et WiFi-netværk andre kan tilslutte sig"
STR_STARTING_HOTSPOT: "Starter Hotspot..."
STR_HOTSPOT_MODE: "Hotspot-tilstand"
STR_CONNECT_WIFI_HINT: "Opret forbindelse fra din enhed til dette WiFi-netværk"
STR_OPEN_URL_HINT: "Åbn denne URL i din browser"
STR_OR_HTTP_PREFIX: "eller http://"
STR_SCAN_QR_HINT: "eller scan QR-kode med din telefon:"
STR_CALIBRE_WIRELESS: "Calibre Wireless"
STR_CALIBRE_WEB_URL: "Calibre Web URL"
STR_NETWORK_LEGEND: "* = Krypteret | + = Gemt"
STR_MAC_ADDRESS: "MAC-adresse:"
STR_CHECKING_WIFI: "Tjekker WiFi..."
STR_ENTER_WIFI_PASSWORD: "Indtast WiFi-adgangskode"
STR_TO_PREFIX: "til "
STR_CALIBRE_RECEIVING: "Modtager: "
STR_CALIBRE_RECEIVED: "Modtaget: "
STR_CALIBRE_INSTRUCTION_1: "1) Installer CrossPoint Reader-plugin"
STR_CALIBRE_INSTRUCTION_2: "2) Vær på det samme WiFi-netværk"
STR_CALIBRE_INSTRUCTION_3: "3) I Calibre: \"Send til enhed\""
STR_CALIBRE_INSTRUCTION_4: "\"Hold denne skærm åben under afsendelse\""
STR_CAT_DISPLAY: "Skærm"
STR_CAT_READER: "Læser"
STR_CAT_CONTROLS: "Brugerflade"
STR_CAT_SYSTEM: "System"
STR_SLEEP_SCREEN: "Hvile-skærm"
STR_SLEEP_COVER_MODE: "Hvile-skærm omslag-tilstand"
STR_HIDE_BATTERY: "Skjul batteri %"
STR_EXTRA_SPACING: "Ekstra afsnitsafstand"
STR_TEXT_AA: "Tekst Anti-Aliasing"
chore(release): 1.2.0 Release Candidate (#1483) ## Summary It's been a little while since the last release, but the community has been incredibly busy. With 155 changes from 48 contributors (30 of which were new!), there was a lot to cover. Here are some of the highlights: **🔤 Kerning, Ligatures, and Font Improvements** Text rendering gets a significant upgrade with proper kerning and ligature support, fixed-point fractional x-advance for more accurate character placement, and font compression improvements that reduce flash usage. **📝 Footnotes** Footnote anchor navigation lets you select a footnote reference and jump to the footnote text, then jump back. Slim footnotes support is also available for books that use inline footnotes. **📖 EPUB Optimizer** A new integrated EPUB optimizer can clean up and reprocess books for better compatibility with the reader, directly from the device. **🔋 Battery Charging Indicator** You can now see when your device is actively charging, with a visual indicator on the battery icon. **💾 Crash Diagnostics** When something goes wrong, the firmware now dumps a crash report to the SD card — even without USB plugged in. This makes it much easier to report and diagnose issues. **🌐 New Languages** The community continues to expand language support. New in this release: Turkish, Danish, Finnish, Polish, Dutch, Belarusian, Italian, Ukrainian, Romanian, Catalan, Vietnamese, and Kazakh — along with significant improvements to existing translations. **📂 File Management** Multi-select file deletion, BMP image viewer in the file browser, hidden directory browsing, and long-click file deletion from the file browser. **⚡ Performance** Under the hood, text layout switched from `std::list` to `std::vector`, HTML entity lookups are now O(log(n)), font rendering is faster, image decode is 5-20% faster with per-pixel overhead eliminated, and multiple string allocation hot paths were eliminated. Pre-indexing of the next chapter also reduces page-turn latency at chapter boundaries. --- Along with all of the above, there are many other additions including **WebDAV support**, **auto page turn**, **QR code for current page**, **split status bar settings**, **screenshot capture**, **JSON-based settings migration**, **light/dark theme groundwork**, and a long list of stability fixes and translation improvements. ## What's Changed ### Features * feat: Support for kerning and ligatures by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/873 * feat: footnote anchor navigation by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1245 * feat: slim footnotes support by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1031 * feat: integrated epub optimizer by @zgredex and @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 * feat: battery charging indicator (mirroring PR #537) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1427 * feat: dump crash report to sdcard by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1145 * feat: Implement silent pre-indexing for the next chapter in EpubReaderActivity by @LSTAR1900 in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * feat: upgrade platform and support webdav by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * feat: Auto Page Turn for Epub Reader by @GenesiaW in https://github.com/crosspoint-reader/crosspoint-reader/pull/1219 * feat: enhance file deletion functionality with multi-select by @Jessica765 in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * feat: Long Click for File Deletion through File Browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/909 * feat: Take screenshots by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/759 * feat: Current page as QR by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1099 * feat: Download links for web server by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1039 * feat: Added BmpViewer activity for viewing .bmp images in file browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/887 * feat: User setting for image display by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1291 * feat: Show hidden directories in browser by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1288 * feat: Prefer ".sleep" over "sleep" for custom image directory by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/948 * feat: Allow a local configuration file for custom compiles by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/879 * feat: Migrate binary settings to json by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/920 * feat: split status bar setting by @whyte-j in https://github.com/crosspoint-reader/crosspoint-reader/pull/733 * feat: wrapped text in GfxRender, implemented in themes so far by @iandchasse in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * feat: Themed language screen by @CaptainFrito in https://github.com/crosspoint-reader/crosspoint-reader/pull/1020 * feat: set WiFi hostname to CrossPoint-Reader-XXXXXXXXXXXX by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1107 * feat: Add maxAlloc to memory information by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1152 * feat: replace picojpeg with JPEGDEC for JPEG image decoding by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1136 * feat: Add git branch to version information on settings screen by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1225 * feat: sort languages in selection menu by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1071 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1157 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1167 * feat: Vietnamese glyphs support by @danoooob in https://github.com/crosspoint-reader/crosspoint-reader/pull/1147 * feat: add Turkish translation by @barbarhan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * feat: add full Danish translation by @hajisan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * feat: Add Finnish translations by @plahteenlahti in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * feat: Add Polish Language by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * feat: add Dutch translation by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * feat: add Belarusian translation by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1120 * feat: Add full Italian translations by @andreaturchet in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * feat: add Ukrainian translation by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * feat: Add Kazakh (kk) language support by @fsocietyipa in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * feat: added Romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/987 * feat: add Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * feat: Make directories stand out more in local file browser: "[dir]" instead of "dir" by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1339 * feat: Add Polish strings for commits #1219,#1169,#1031 +tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1227 * feat: Polish translation tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1193 ### Fixes * fix: Fix img layout issue / support CSS display:none for elements and images by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1443 * fix: Overlapping battery percentage on image pages with anti-aliasing by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1452 * fix: Fix prewarm perf when a page contains many styles by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1451 * fix: use sleep routine from the original firmware by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1298 * fix: Prevent line breaks on common English contractions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1405 * fix: Build with -fno-exceptions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1412 * fix: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * fix: jpeg resource cleanup by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1320 * fix: back button in settings returns to tab bar first by @Cache8063 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * fix: Init lastSleepImage (edge case) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1360 * fix: Add special handling for apostrophe hyphenation by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1318 * fix: Fix inter-word spacing rounding error in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1311 * fix: load access fault crash by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1370 * fix: Fix bootloop logging crash by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1357 * fix: dump crash log without usb plugged, bump release log to INFO by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1332 * fix: avoid zip filename overflow by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1321 * fix: Hanging indent (negative text-indent) and em-unit sizing by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1229 * fix: Use fixed-point fractional x-advance and kerning for better text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1168 * fix: use HTTPClient::writeToStream for downloading files from OPDS by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1207 * fix: make file system operations thread-safe (HalFile) by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1212 * fix: properly implement requestUpdateAndWait() by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1218 * fix: prevent infinite render loop in Calibre Wireless after file transfer by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1070 * fix: WiFi lifecycle and hyphenation heap defragmentation for KOReader sync by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1151 * fix: Fix coverRendered flag by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1154 * fix: Handle non-ASCII characters in sanitizeFilename by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1132 * fix: Update activity was missing "Back" button label by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1128 * fix: force auto-hinting for Bookerly to fix inconsistent stem widths by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1098 * fix: image centering bleed by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1096 * fix: double free WebDAVHandler by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1093 * fix: Consider extra quotation styles when hyphenating quoted words by @cbix in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * fix: acquire power lock before sleeping by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1125 * fix: Unify inconsistent Wi-Fi/WiFi in Czech translation by @pepastach in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * fix: sdfat warning about redefinition of macro by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1135 * fix: Close leaked file descriptors in SleepActivity and web server by @brbla in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * fix: Enable DESTRUCTOR_CLOSES_FILE flag by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1075 * fix: Change "UI Font Size" to "Reader Font Size" by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1171 * fix: Hide unusable button hints when viewing empty directory by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1253 * fix: broken translations in status bar settings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1188 * fix: clarity issue with ambiguous string `SET` by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1169 * fix: Crash (Load access fault) when indexing chapters containing characters unsupported by bold/italic font variants by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/997 * fix: Increase PNGdec buffer size to support wide images by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/995 * fix: Use HalPowerManager for battery percentage by @vjapolitzer in https://github.com/crosspoint-reader/crosspoint-reader/pull/1005 * fix: Fix dangling pointer by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1010 * fix: re-implementing Cover Outlines for the new Lyra Themes by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1017 * fix: use double FAST_REFRESH to prevent washout on large grey images by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/957 * fix: Fixed Image Sizing When No Width is Set by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * fix: Strip unused CSS rules by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1014 * fix: continue reading card classic theme by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/990 * fix: Destroy CSS Cache file when invalid by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1018 * fix: Shorten "Forget Wifi" button labels to fit on button by @lukestein in https://github.com/crosspoint-reader/crosspoint-reader/pull/1045 * fix: improve Spanish translations by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1054 * fix: Fixed book title in home screen by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1013 * fix: Fix hyphenation and rendering of decomposed characters by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1037 * fix: Improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1338 * fix: improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * fix: improve and add Swedish translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * fix: Extend missing / amend existing German translations by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1226 * fix: update french.yaml file to have a better French translation of the CFW by @Spigaw in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * fix: added romanian translation to new strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1105 * fix: add missing romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1187 * fix: add new Ukrainian translation line for STR_SCREENSHOT_BUTTON by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1149 * fix: Dutch translation prefix correction by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1223 * fix: Small typo in i18n.md regarding C++ identifiers by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * fix: typo in USER_GUIDE.md by @arnaugamez in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * fix: add missing keyboard metrics to Lyra3CoversTheme by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1101 ### Internal * perf: font-compression improvements by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1056 * perf: Improve font drawing performance by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/978 * perf: Replace std::list with std::vector in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1038 * perf: Optimize HTML entities lookup to O(log(n)) by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1194 * perf: UITheme::getMetrics const and const-ref usage by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1094 * perf: Avoid creating strings for file extension checks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1303 * perf: Eliminate per-pixel overheads in image rendering by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1293 * perf: Update github actions for optimal performance with pioarduino by @Jason2866 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * style: Phase 1 - Simple light dark themes by @cdmoro in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * refactor: implement ActivityManager by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1016 * refactor: Simplify REPLACEMENT_GLYPH fallback by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1119 * refactor: Simplify new setting introduction by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1086 * refactor: Use std binary search algorithms for font lookups by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1202 * refactor: rename MyLibrary to FileBrowser by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1260 * refactor: Avoid rebuilding cache path strings by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1300 * refactor: reader utils by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1329 * chore: Remove miniz and modularise inflation logic by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1073 * chore: Resolve several build warnings by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1076 * chore: Removed generated language headers by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1156 * chore: Added generated lang headers to .gitignore by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1158 * chore: remove redundant xTaskCreate by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1264 * chore: Removed unused PlatformIO include directory placeholder by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1417 * chore: micro-optimisation: early exit on fillUncompressedSizes by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1322 * chore: change label while on settings tab actions by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1325 * chore: add firmware size history script by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1235 * chore: Add powershell script for clang-formatting by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1472 * chore: Removed unused ConfirmationActivity member by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1234 * chore: Update russian.yaml by @madebyKir in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * chore: new Ukrainian translation lines by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1199 * chore: new Ukrainian localization strings by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1270 * chore: Polish localization for STR_DELETE by @JonaszPotoniec in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * chore: Image settings Polish localization by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1299 * chore: add missing Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1302 * chore: add missing translations for Romanian by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1265 * chore: Add Portuguese (Portugal) translator to the list by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1211 * chore: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * docs: Add lightweight contributor onboarding documentation by @bilalix in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * docs: ActivityManager migration guide by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1222 * docs: USER_GUIDE.md update for 1.1.0 by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * docs: add quick KOReader sync setup guide by @wjhrdy in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * docs: image support marked as completed by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1008 * feat: aiagent context definition by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/922 * chore: Update SKILL.md to reflect generated i18n files are gitignored by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1423 * fix: ActivityManager tweaks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1220 * fix: Correct relative file paths in SKILL.md documentation by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1304 * fix: add Technically Unsupported section to SCOPE.md by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1295 ## New Contributors * @DestinySpeaker made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * @arnaugamez made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * @angeldenom made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * @cdmoro made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * @bilalix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * @Jessica765 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * @brbla made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * @dexif made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * @mirus-ua made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * @cbix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * @divinitycove made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * @pepastach made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * @Jason2866 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * @andreaturchet made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * @Spigaw made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * @iandchasse made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * @th0m4sek made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * @plahteenlahti made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * @hajisan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * @madebyKir made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * @victordomingos made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * @basvdploeg made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * @wjhrdy made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * @DaniPhii made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * @steka made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * @barbarhan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * @JonaszPotoniec made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * @Cache8063 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * @fsocietyipa made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * @LSTAR1900 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * @zgredex made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 **Full Changelog**: https://github.com/crosspoint-reader/crosspoint-reader/compare/1.1.1...release/1.2.0 --------- Co-authored-by: jpirnay <jens@pirnay.com> Co-authored-by: Dani Poveda <daniphii@outlook.com> Co-authored-by: Baris Albayrak <80099286+barbarhan@users.noreply.github.com> Co-authored-by: Barış Albayrak <barisa@pop-os.lan> Co-authored-by: Stefan Blixten Karlsson <sbkarlsson@gmail.com> Co-authored-by: Àngel <153315454+angeldenom@users.noreply.github.com> Co-authored-by: Jonasz Potoniec <jonasz@potoniec.eu> Co-authored-by: Егор Мартынов <martynovegorOF@yandex.ru> Co-authored-by: Mirus <mirusim@gmail.com> Co-authored-by: Spigaw <73850535+Spigaw@users.noreply.github.com> Co-authored-by: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Co-authored-by: Nima Salami <54304457+hajisan@users.noreply.github.com> Co-authored-by: Arthur Tazhitdinov <lisnake@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Bas van der Ploeg <bas@basvanderploeg.nl> Co-authored-by: martin brook <martin.brook100@googlemail.com>
2026-04-03 17:33:02 -05:00
STR_IMAGES: "Billeder"
STR_IMAGES_DISPLAY: "Vis"
STR_IMAGES_PLACEHOLDER: "Pladsholder"
STR_IMAGES_SUPPRESS: "Skjul"
STR_SHORT_PWR_BTN: "Kort tryk på tænd/sluk-knap"
STR_ORIENTATION: "Læseretning"
STR_SIDE_BTN_LAYOUT: "Knaplayout på siden (læser)"
STR_LONG_PRESS_SKIP: "Langt tryk spring kapitel over"
STR_FONT_FAMILY: "Læser skrifttype"
chore(release): 1.2.0 Release Candidate (#1483) ## Summary It's been a little while since the last release, but the community has been incredibly busy. With 155 changes from 48 contributors (30 of which were new!), there was a lot to cover. Here are some of the highlights: **🔤 Kerning, Ligatures, and Font Improvements** Text rendering gets a significant upgrade with proper kerning and ligature support, fixed-point fractional x-advance for more accurate character placement, and font compression improvements that reduce flash usage. **📝 Footnotes** Footnote anchor navigation lets you select a footnote reference and jump to the footnote text, then jump back. Slim footnotes support is also available for books that use inline footnotes. **📖 EPUB Optimizer** A new integrated EPUB optimizer can clean up and reprocess books for better compatibility with the reader, directly from the device. **🔋 Battery Charging Indicator** You can now see when your device is actively charging, with a visual indicator on the battery icon. **💾 Crash Diagnostics** When something goes wrong, the firmware now dumps a crash report to the SD card — even without USB plugged in. This makes it much easier to report and diagnose issues. **🌐 New Languages** The community continues to expand language support. New in this release: Turkish, Danish, Finnish, Polish, Dutch, Belarusian, Italian, Ukrainian, Romanian, Catalan, Vietnamese, and Kazakh — along with significant improvements to existing translations. **📂 File Management** Multi-select file deletion, BMP image viewer in the file browser, hidden directory browsing, and long-click file deletion from the file browser. **⚡ Performance** Under the hood, text layout switched from `std::list` to `std::vector`, HTML entity lookups are now O(log(n)), font rendering is faster, image decode is 5-20% faster with per-pixel overhead eliminated, and multiple string allocation hot paths were eliminated. Pre-indexing of the next chapter also reduces page-turn latency at chapter boundaries. --- Along with all of the above, there are many other additions including **WebDAV support**, **auto page turn**, **QR code for current page**, **split status bar settings**, **screenshot capture**, **JSON-based settings migration**, **light/dark theme groundwork**, and a long list of stability fixes and translation improvements. ## What's Changed ### Features * feat: Support for kerning and ligatures by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/873 * feat: footnote anchor navigation by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1245 * feat: slim footnotes support by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1031 * feat: integrated epub optimizer by @zgredex and @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 * feat: battery charging indicator (mirroring PR #537) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1427 * feat: dump crash report to sdcard by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1145 * feat: Implement silent pre-indexing for the next chapter in EpubReaderActivity by @LSTAR1900 in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * feat: upgrade platform and support webdav by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * feat: Auto Page Turn for Epub Reader by @GenesiaW in https://github.com/crosspoint-reader/crosspoint-reader/pull/1219 * feat: enhance file deletion functionality with multi-select by @Jessica765 in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * feat: Long Click for File Deletion through File Browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/909 * feat: Take screenshots by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/759 * feat: Current page as QR by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1099 * feat: Download links for web server by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1039 * feat: Added BmpViewer activity for viewing .bmp images in file browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/887 * feat: User setting for image display by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1291 * feat: Show hidden directories in browser by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1288 * feat: Prefer ".sleep" over "sleep" for custom image directory by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/948 * feat: Allow a local configuration file for custom compiles by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/879 * feat: Migrate binary settings to json by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/920 * feat: split status bar setting by @whyte-j in https://github.com/crosspoint-reader/crosspoint-reader/pull/733 * feat: wrapped text in GfxRender, implemented in themes so far by @iandchasse in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * feat: Themed language screen by @CaptainFrito in https://github.com/crosspoint-reader/crosspoint-reader/pull/1020 * feat: set WiFi hostname to CrossPoint-Reader-XXXXXXXXXXXX by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1107 * feat: Add maxAlloc to memory information by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1152 * feat: replace picojpeg with JPEGDEC for JPEG image decoding by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1136 * feat: Add git branch to version information on settings screen by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1225 * feat: sort languages in selection menu by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1071 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1157 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1167 * feat: Vietnamese glyphs support by @danoooob in https://github.com/crosspoint-reader/crosspoint-reader/pull/1147 * feat: add Turkish translation by @barbarhan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * feat: add full Danish translation by @hajisan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * feat: Add Finnish translations by @plahteenlahti in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * feat: Add Polish Language by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * feat: add Dutch translation by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * feat: add Belarusian translation by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1120 * feat: Add full Italian translations by @andreaturchet in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * feat: add Ukrainian translation by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * feat: Add Kazakh (kk) language support by @fsocietyipa in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * feat: added Romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/987 * feat: add Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * feat: Make directories stand out more in local file browser: "[dir]" instead of "dir" by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1339 * feat: Add Polish strings for commits #1219,#1169,#1031 +tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1227 * feat: Polish translation tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1193 ### Fixes * fix: Fix img layout issue / support CSS display:none for elements and images by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1443 * fix: Overlapping battery percentage on image pages with anti-aliasing by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1452 * fix: Fix prewarm perf when a page contains many styles by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1451 * fix: use sleep routine from the original firmware by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1298 * fix: Prevent line breaks on common English contractions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1405 * fix: Build with -fno-exceptions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1412 * fix: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * fix: jpeg resource cleanup by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1320 * fix: back button in settings returns to tab bar first by @Cache8063 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * fix: Init lastSleepImage (edge case) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1360 * fix: Add special handling for apostrophe hyphenation by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1318 * fix: Fix inter-word spacing rounding error in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1311 * fix: load access fault crash by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1370 * fix: Fix bootloop logging crash by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1357 * fix: dump crash log without usb plugged, bump release log to INFO by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1332 * fix: avoid zip filename overflow by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1321 * fix: Hanging indent (negative text-indent) and em-unit sizing by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1229 * fix: Use fixed-point fractional x-advance and kerning for better text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1168 * fix: use HTTPClient::writeToStream for downloading files from OPDS by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1207 * fix: make file system operations thread-safe (HalFile) by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1212 * fix: properly implement requestUpdateAndWait() by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1218 * fix: prevent infinite render loop in Calibre Wireless after file transfer by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1070 * fix: WiFi lifecycle and hyphenation heap defragmentation for KOReader sync by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1151 * fix: Fix coverRendered flag by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1154 * fix: Handle non-ASCII characters in sanitizeFilename by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1132 * fix: Update activity was missing "Back" button label by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1128 * fix: force auto-hinting for Bookerly to fix inconsistent stem widths by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1098 * fix: image centering bleed by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1096 * fix: double free WebDAVHandler by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1093 * fix: Consider extra quotation styles when hyphenating quoted words by @cbix in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * fix: acquire power lock before sleeping by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1125 * fix: Unify inconsistent Wi-Fi/WiFi in Czech translation by @pepastach in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * fix: sdfat warning about redefinition of macro by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1135 * fix: Close leaked file descriptors in SleepActivity and web server by @brbla in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * fix: Enable DESTRUCTOR_CLOSES_FILE flag by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1075 * fix: Change "UI Font Size" to "Reader Font Size" by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1171 * fix: Hide unusable button hints when viewing empty directory by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1253 * fix: broken translations in status bar settings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1188 * fix: clarity issue with ambiguous string `SET` by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1169 * fix: Crash (Load access fault) when indexing chapters containing characters unsupported by bold/italic font variants by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/997 * fix: Increase PNGdec buffer size to support wide images by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/995 * fix: Use HalPowerManager for battery percentage by @vjapolitzer in https://github.com/crosspoint-reader/crosspoint-reader/pull/1005 * fix: Fix dangling pointer by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1010 * fix: re-implementing Cover Outlines for the new Lyra Themes by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1017 * fix: use double FAST_REFRESH to prevent washout on large grey images by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/957 * fix: Fixed Image Sizing When No Width is Set by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * fix: Strip unused CSS rules by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1014 * fix: continue reading card classic theme by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/990 * fix: Destroy CSS Cache file when invalid by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1018 * fix: Shorten "Forget Wifi" button labels to fit on button by @lukestein in https://github.com/crosspoint-reader/crosspoint-reader/pull/1045 * fix: improve Spanish translations by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1054 * fix: Fixed book title in home screen by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1013 * fix: Fix hyphenation and rendering of decomposed characters by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1037 * fix: Improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1338 * fix: improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * fix: improve and add Swedish translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * fix: Extend missing / amend existing German translations by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1226 * fix: update french.yaml file to have a better French translation of the CFW by @Spigaw in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * fix: added romanian translation to new strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1105 * fix: add missing romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1187 * fix: add new Ukrainian translation line for STR_SCREENSHOT_BUTTON by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1149 * fix: Dutch translation prefix correction by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1223 * fix: Small typo in i18n.md regarding C++ identifiers by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * fix: typo in USER_GUIDE.md by @arnaugamez in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * fix: add missing keyboard metrics to Lyra3CoversTheme by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1101 ### Internal * perf: font-compression improvements by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1056 * perf: Improve font drawing performance by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/978 * perf: Replace std::list with std::vector in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1038 * perf: Optimize HTML entities lookup to O(log(n)) by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1194 * perf: UITheme::getMetrics const and const-ref usage by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1094 * perf: Avoid creating strings for file extension checks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1303 * perf: Eliminate per-pixel overheads in image rendering by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1293 * perf: Update github actions for optimal performance with pioarduino by @Jason2866 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * style: Phase 1 - Simple light dark themes by @cdmoro in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * refactor: implement ActivityManager by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1016 * refactor: Simplify REPLACEMENT_GLYPH fallback by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1119 * refactor: Simplify new setting introduction by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1086 * refactor: Use std binary search algorithms for font lookups by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1202 * refactor: rename MyLibrary to FileBrowser by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1260 * refactor: Avoid rebuilding cache path strings by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1300 * refactor: reader utils by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1329 * chore: Remove miniz and modularise inflation logic by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1073 * chore: Resolve several build warnings by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1076 * chore: Removed generated language headers by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1156 * chore: Added generated lang headers to .gitignore by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1158 * chore: remove redundant xTaskCreate by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1264 * chore: Removed unused PlatformIO include directory placeholder by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1417 * chore: micro-optimisation: early exit on fillUncompressedSizes by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1322 * chore: change label while on settings tab actions by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1325 * chore: add firmware size history script by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1235 * chore: Add powershell script for clang-formatting by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1472 * chore: Removed unused ConfirmationActivity member by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1234 * chore: Update russian.yaml by @madebyKir in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * chore: new Ukrainian translation lines by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1199 * chore: new Ukrainian localization strings by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1270 * chore: Polish localization for STR_DELETE by @JonaszPotoniec in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * chore: Image settings Polish localization by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1299 * chore: add missing Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1302 * chore: add missing translations for Romanian by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1265 * chore: Add Portuguese (Portugal) translator to the list by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1211 * chore: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * docs: Add lightweight contributor onboarding documentation by @bilalix in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * docs: ActivityManager migration guide by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1222 * docs: USER_GUIDE.md update for 1.1.0 by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * docs: add quick KOReader sync setup guide by @wjhrdy in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * docs: image support marked as completed by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1008 * feat: aiagent context definition by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/922 * chore: Update SKILL.md to reflect generated i18n files are gitignored by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1423 * fix: ActivityManager tweaks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1220 * fix: Correct relative file paths in SKILL.md documentation by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1304 * fix: add Technically Unsupported section to SCOPE.md by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1295 ## New Contributors * @DestinySpeaker made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * @arnaugamez made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * @angeldenom made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * @cdmoro made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * @bilalix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * @Jessica765 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * @brbla made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * @dexif made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * @mirus-ua made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * @cbix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * @divinitycove made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * @pepastach made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * @Jason2866 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * @andreaturchet made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * @Spigaw made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * @iandchasse made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * @th0m4sek made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * @plahteenlahti made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * @hajisan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * @madebyKir made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * @victordomingos made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * @basvdploeg made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * @wjhrdy made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * @DaniPhii made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * @steka made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * @barbarhan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * @JonaszPotoniec made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * @Cache8063 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * @fsocietyipa made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * @LSTAR1900 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * @zgredex made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 **Full Changelog**: https://github.com/crosspoint-reader/crosspoint-reader/compare/1.1.1...release/1.2.0 --------- Co-authored-by: jpirnay <jens@pirnay.com> Co-authored-by: Dani Poveda <daniphii@outlook.com> Co-authored-by: Baris Albayrak <80099286+barbarhan@users.noreply.github.com> Co-authored-by: Barış Albayrak <barisa@pop-os.lan> Co-authored-by: Stefan Blixten Karlsson <sbkarlsson@gmail.com> Co-authored-by: Àngel <153315454+angeldenom@users.noreply.github.com> Co-authored-by: Jonasz Potoniec <jonasz@potoniec.eu> Co-authored-by: Егор Мартынов <martynovegorOF@yandex.ru> Co-authored-by: Mirus <mirusim@gmail.com> Co-authored-by: Spigaw <73850535+Spigaw@users.noreply.github.com> Co-authored-by: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Co-authored-by: Nima Salami <54304457+hajisan@users.noreply.github.com> Co-authored-by: Arthur Tazhitdinov <lisnake@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Bas van der Ploeg <bas@basvanderploeg.nl> Co-authored-by: martin brook <martin.brook100@googlemail.com>
2026-04-03 17:33:02 -05:00
STR_FONT_SIZE: "Læser skriftstørrelse"
STR_LINE_SPACING: "Linjeafstand"
STR_SCREEN_MARGIN: "Skærmmargen"
STR_PARA_ALIGNMENT: "Afsnitsjustering"
STR_HYPHENATION: "Orddeling"
STR_TIME_TO_SLEEP: "Tid til hvile"
chore(release): 1.2.0 Release Candidate (#1483) ## Summary It's been a little while since the last release, but the community has been incredibly busy. With 155 changes from 48 contributors (30 of which were new!), there was a lot to cover. Here are some of the highlights: **🔤 Kerning, Ligatures, and Font Improvements** Text rendering gets a significant upgrade with proper kerning and ligature support, fixed-point fractional x-advance for more accurate character placement, and font compression improvements that reduce flash usage. **📝 Footnotes** Footnote anchor navigation lets you select a footnote reference and jump to the footnote text, then jump back. Slim footnotes support is also available for books that use inline footnotes. **📖 EPUB Optimizer** A new integrated EPUB optimizer can clean up and reprocess books for better compatibility with the reader, directly from the device. **🔋 Battery Charging Indicator** You can now see when your device is actively charging, with a visual indicator on the battery icon. **💾 Crash Diagnostics** When something goes wrong, the firmware now dumps a crash report to the SD card — even without USB plugged in. This makes it much easier to report and diagnose issues. **🌐 New Languages** The community continues to expand language support. New in this release: Turkish, Danish, Finnish, Polish, Dutch, Belarusian, Italian, Ukrainian, Romanian, Catalan, Vietnamese, and Kazakh — along with significant improvements to existing translations. **📂 File Management** Multi-select file deletion, BMP image viewer in the file browser, hidden directory browsing, and long-click file deletion from the file browser. **⚡ Performance** Under the hood, text layout switched from `std::list` to `std::vector`, HTML entity lookups are now O(log(n)), font rendering is faster, image decode is 5-20% faster with per-pixel overhead eliminated, and multiple string allocation hot paths were eliminated. Pre-indexing of the next chapter also reduces page-turn latency at chapter boundaries. --- Along with all of the above, there are many other additions including **WebDAV support**, **auto page turn**, **QR code for current page**, **split status bar settings**, **screenshot capture**, **JSON-based settings migration**, **light/dark theme groundwork**, and a long list of stability fixes and translation improvements. ## What's Changed ### Features * feat: Support for kerning and ligatures by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/873 * feat: footnote anchor navigation by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1245 * feat: slim footnotes support by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1031 * feat: integrated epub optimizer by @zgredex and @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 * feat: battery charging indicator (mirroring PR #537) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1427 * feat: dump crash report to sdcard by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1145 * feat: Implement silent pre-indexing for the next chapter in EpubReaderActivity by @LSTAR1900 in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * feat: upgrade platform and support webdav by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * feat: Auto Page Turn for Epub Reader by @GenesiaW in https://github.com/crosspoint-reader/crosspoint-reader/pull/1219 * feat: enhance file deletion functionality with multi-select by @Jessica765 in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * feat: Long Click for File Deletion through File Browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/909 * feat: Take screenshots by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/759 * feat: Current page as QR by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1099 * feat: Download links for web server by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1039 * feat: Added BmpViewer activity for viewing .bmp images in file browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/887 * feat: User setting for image display by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1291 * feat: Show hidden directories in browser by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1288 * feat: Prefer ".sleep" over "sleep" for custom image directory by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/948 * feat: Allow a local configuration file for custom compiles by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/879 * feat: Migrate binary settings to json by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/920 * feat: split status bar setting by @whyte-j in https://github.com/crosspoint-reader/crosspoint-reader/pull/733 * feat: wrapped text in GfxRender, implemented in themes so far by @iandchasse in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * feat: Themed language screen by @CaptainFrito in https://github.com/crosspoint-reader/crosspoint-reader/pull/1020 * feat: set WiFi hostname to CrossPoint-Reader-XXXXXXXXXXXX by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1107 * feat: Add maxAlloc to memory information by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1152 * feat: replace picojpeg with JPEGDEC for JPEG image decoding by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1136 * feat: Add git branch to version information on settings screen by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1225 * feat: sort languages in selection menu by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1071 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1157 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1167 * feat: Vietnamese glyphs support by @danoooob in https://github.com/crosspoint-reader/crosspoint-reader/pull/1147 * feat: add Turkish translation by @barbarhan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * feat: add full Danish translation by @hajisan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * feat: Add Finnish translations by @plahteenlahti in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * feat: Add Polish Language by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * feat: add Dutch translation by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * feat: add Belarusian translation by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1120 * feat: Add full Italian translations by @andreaturchet in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * feat: add Ukrainian translation by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * feat: Add Kazakh (kk) language support by @fsocietyipa in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * feat: added Romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/987 * feat: add Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * feat: Make directories stand out more in local file browser: "[dir]" instead of "dir" by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1339 * feat: Add Polish strings for commits #1219,#1169,#1031 +tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1227 * feat: Polish translation tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1193 ### Fixes * fix: Fix img layout issue / support CSS display:none for elements and images by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1443 * fix: Overlapping battery percentage on image pages with anti-aliasing by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1452 * fix: Fix prewarm perf when a page contains many styles by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1451 * fix: use sleep routine from the original firmware by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1298 * fix: Prevent line breaks on common English contractions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1405 * fix: Build with -fno-exceptions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1412 * fix: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * fix: jpeg resource cleanup by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1320 * fix: back button in settings returns to tab bar first by @Cache8063 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * fix: Init lastSleepImage (edge case) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1360 * fix: Add special handling for apostrophe hyphenation by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1318 * fix: Fix inter-word spacing rounding error in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1311 * fix: load access fault crash by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1370 * fix: Fix bootloop logging crash by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1357 * fix: dump crash log without usb plugged, bump release log to INFO by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1332 * fix: avoid zip filename overflow by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1321 * fix: Hanging indent (negative text-indent) and em-unit sizing by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1229 * fix: Use fixed-point fractional x-advance and kerning for better text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1168 * fix: use HTTPClient::writeToStream for downloading files from OPDS by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1207 * fix: make file system operations thread-safe (HalFile) by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1212 * fix: properly implement requestUpdateAndWait() by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1218 * fix: prevent infinite render loop in Calibre Wireless after file transfer by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1070 * fix: WiFi lifecycle and hyphenation heap defragmentation for KOReader sync by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1151 * fix: Fix coverRendered flag by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1154 * fix: Handle non-ASCII characters in sanitizeFilename by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1132 * fix: Update activity was missing "Back" button label by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1128 * fix: force auto-hinting for Bookerly to fix inconsistent stem widths by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1098 * fix: image centering bleed by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1096 * fix: double free WebDAVHandler by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1093 * fix: Consider extra quotation styles when hyphenating quoted words by @cbix in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * fix: acquire power lock before sleeping by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1125 * fix: Unify inconsistent Wi-Fi/WiFi in Czech translation by @pepastach in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * fix: sdfat warning about redefinition of macro by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1135 * fix: Close leaked file descriptors in SleepActivity and web server by @brbla in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * fix: Enable DESTRUCTOR_CLOSES_FILE flag by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1075 * fix: Change "UI Font Size" to "Reader Font Size" by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1171 * fix: Hide unusable button hints when viewing empty directory by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1253 * fix: broken translations in status bar settings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1188 * fix: clarity issue with ambiguous string `SET` by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1169 * fix: Crash (Load access fault) when indexing chapters containing characters unsupported by bold/italic font variants by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/997 * fix: Increase PNGdec buffer size to support wide images by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/995 * fix: Use HalPowerManager for battery percentage by @vjapolitzer in https://github.com/crosspoint-reader/crosspoint-reader/pull/1005 * fix: Fix dangling pointer by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1010 * fix: re-implementing Cover Outlines for the new Lyra Themes by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1017 * fix: use double FAST_REFRESH to prevent washout on large grey images by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/957 * fix: Fixed Image Sizing When No Width is Set by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * fix: Strip unused CSS rules by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1014 * fix: continue reading card classic theme by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/990 * fix: Destroy CSS Cache file when invalid by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1018 * fix: Shorten "Forget Wifi" button labels to fit on button by @lukestein in https://github.com/crosspoint-reader/crosspoint-reader/pull/1045 * fix: improve Spanish translations by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1054 * fix: Fixed book title in home screen by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1013 * fix: Fix hyphenation and rendering of decomposed characters by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1037 * fix: Improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1338 * fix: improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * fix: improve and add Swedish translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * fix: Extend missing / amend existing German translations by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1226 * fix: update french.yaml file to have a better French translation of the CFW by @Spigaw in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * fix: added romanian translation to new strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1105 * fix: add missing romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1187 * fix: add new Ukrainian translation line for STR_SCREENSHOT_BUTTON by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1149 * fix: Dutch translation prefix correction by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1223 * fix: Small typo in i18n.md regarding C++ identifiers by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * fix: typo in USER_GUIDE.md by @arnaugamez in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * fix: add missing keyboard metrics to Lyra3CoversTheme by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1101 ### Internal * perf: font-compression improvements by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1056 * perf: Improve font drawing performance by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/978 * perf: Replace std::list with std::vector in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1038 * perf: Optimize HTML entities lookup to O(log(n)) by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1194 * perf: UITheme::getMetrics const and const-ref usage by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1094 * perf: Avoid creating strings for file extension checks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1303 * perf: Eliminate per-pixel overheads in image rendering by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1293 * perf: Update github actions for optimal performance with pioarduino by @Jason2866 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * style: Phase 1 - Simple light dark themes by @cdmoro in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * refactor: implement ActivityManager by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1016 * refactor: Simplify REPLACEMENT_GLYPH fallback by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1119 * refactor: Simplify new setting introduction by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1086 * refactor: Use std binary search algorithms for font lookups by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1202 * refactor: rename MyLibrary to FileBrowser by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1260 * refactor: Avoid rebuilding cache path strings by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1300 * refactor: reader utils by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1329 * chore: Remove miniz and modularise inflation logic by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1073 * chore: Resolve several build warnings by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1076 * chore: Removed generated language headers by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1156 * chore: Added generated lang headers to .gitignore by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1158 * chore: remove redundant xTaskCreate by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1264 * chore: Removed unused PlatformIO include directory placeholder by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1417 * chore: micro-optimisation: early exit on fillUncompressedSizes by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1322 * chore: change label while on settings tab actions by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1325 * chore: add firmware size history script by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1235 * chore: Add powershell script for clang-formatting by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1472 * chore: Removed unused ConfirmationActivity member by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1234 * chore: Update russian.yaml by @madebyKir in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * chore: new Ukrainian translation lines by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1199 * chore: new Ukrainian localization strings by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1270 * chore: Polish localization for STR_DELETE by @JonaszPotoniec in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * chore: Image settings Polish localization by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1299 * chore: add missing Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1302 * chore: add missing translations for Romanian by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1265 * chore: Add Portuguese (Portugal) translator to the list by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1211 * chore: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * docs: Add lightweight contributor onboarding documentation by @bilalix in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * docs: ActivityManager migration guide by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1222 * docs: USER_GUIDE.md update for 1.1.0 by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * docs: add quick KOReader sync setup guide by @wjhrdy in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * docs: image support marked as completed by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1008 * feat: aiagent context definition by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/922 * chore: Update SKILL.md to reflect generated i18n files are gitignored by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1423 * fix: ActivityManager tweaks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1220 * fix: Correct relative file paths in SKILL.md documentation by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1304 * fix: add Technically Unsupported section to SCOPE.md by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1295 ## New Contributors * @DestinySpeaker made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * @arnaugamez made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * @angeldenom made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * @cdmoro made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * @bilalix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * @Jessica765 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * @brbla made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * @dexif made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * @mirus-ua made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * @cbix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * @divinitycove made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * @pepastach made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * @Jason2866 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * @andreaturchet made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * @Spigaw made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * @iandchasse made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * @th0m4sek made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * @plahteenlahti made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * @hajisan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * @madebyKir made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * @victordomingos made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * @basvdploeg made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * @wjhrdy made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * @DaniPhii made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * @steka made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * @barbarhan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * @JonaszPotoniec made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * @Cache8063 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * @fsocietyipa made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * @LSTAR1900 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * @zgredex made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 **Full Changelog**: https://github.com/crosspoint-reader/crosspoint-reader/compare/1.1.1...release/1.2.0 --------- Co-authored-by: jpirnay <jens@pirnay.com> Co-authored-by: Dani Poveda <daniphii@outlook.com> Co-authored-by: Baris Albayrak <80099286+barbarhan@users.noreply.github.com> Co-authored-by: Barış Albayrak <barisa@pop-os.lan> Co-authored-by: Stefan Blixten Karlsson <sbkarlsson@gmail.com> Co-authored-by: Àngel <153315454+angeldenom@users.noreply.github.com> Co-authored-by: Jonasz Potoniec <jonasz@potoniec.eu> Co-authored-by: Егор Мартынов <martynovegorOF@yandex.ru> Co-authored-by: Mirus <mirusim@gmail.com> Co-authored-by: Spigaw <73850535+Spigaw@users.noreply.github.com> Co-authored-by: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Co-authored-by: Nima Salami <54304457+hajisan@users.noreply.github.com> Co-authored-by: Arthur Tazhitdinov <lisnake@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Bas van der Ploeg <bas@basvanderploeg.nl> Co-authored-by: martin brook <martin.brook100@googlemail.com>
2026-04-03 17:33:02 -05:00
STR_SHOW_HIDDEN_FILES: "Vis skjulte filer"
STR_REFRESH_FREQ: "Opdateringsfrekvens"
STR_KOREADER_SYNC: "KOReader Sync"
STR_CHECK_UPDATES: "Søg efter opdateringer"
STR_LANGUAGE: "Sprog"
STR_CLEAR_READING_CACHE: "Ryd læsecache"
STR_USERNAME: "Brugernavn"
STR_PASSWORD: "Adgangskode"
STR_SYNC_SERVER_URL: "Synkroniseringsserver-URL"
STR_DOCUMENT_MATCHING: "Dokumentsammenkobling"
STR_AUTHENTICATE: "Godkend"
STR_KOREADER_USERNAME: "KOReader brugernavn"
STR_KOREADER_PASSWORD: "KOReader adgangskode"
STR_FILENAME: "Filnavn"
STR_BINARY: "Binær"
STR_SET_CREDENTIALS_FIRST: "Angiv legitimationsoplysninger først"
STR_WIFI_CONN_FAILED: "WiFi-forbindelsen mislykkedes"
STR_AUTHENTICATING: "Godkender..."
STR_AUTH_SUCCESS: "Godkendt!"
STR_KOREADER_AUTH: "KOReader-godkendelse"
STR_SYNC_READY: "KOReader-synkronisering er klar til brug"
STR_AUTH_FAILED: "Godkendelse mislykkedes"
STR_DONE: "Færdig"
STR_CLEAR_CACHE_WARNING_1: "Dette vil rydde alle cachelagrede bogdata."
STR_CLEAR_CACHE_WARNING_2: "Al læsefremskridt vil gå tabt!"
STR_CLEAR_CACHE_WARNING_3: "Bøger skal indekseres igen"
STR_CLEAR_CACHE_WARNING_4: "når de åbnes igen."
STR_CLEARING_CACHE: "Rydder cache..."
STR_CACHE_CLEARED: "Cache ryddet"
STR_ITEMS_REMOVED: "elementer fjernet"
STR_FAILED_LOWER: "mislykkedes"
STR_CLEAR_CACHE_FAILED: "Kunne ikke rydde cache"
STR_CHECK_SERIAL_OUTPUT: "Tjek serielt output for detaljer"
STR_DARK: "Mørk"
STR_LIGHT: "Lys"
STR_CUSTOM: "Brugerdefineret"
STR_COVER: "Omslag"
STR_NONE_OPT: "Ingen"
STR_FIT: "Tilpas"
STR_CROP: "Beskær"
STR_NEVER: "Aldrig"
STR_IN_READER: "I læseren"
STR_ALWAYS: "Altid"
STR_IGNORE: "Ignorer"
STR_SLEEP: "Hvile"
STR_PAGE_TURN: "Sideskift"
STR_PORTRAIT: "Portræt"
STR_LANDSCAPE_CW: "Liggende med uret"
STR_INVERTED: "Inverteret"
STR_LANDSCAPE_CCW: "Liggende mod uret"
STR_PREV_NEXT: "Forrige/Næste"
STR_NEXT_PREV: "Næste/Forrige"
STR_BOOKERLY: "Bookerly"
STR_NOTO_SANS: "Noto Sans"
STR_OPEN_DYSLEXIC: "Open Dyslexic"
STR_SMALL: "Lille"
STR_MEDIUM: "Mellem"
STR_LARGE: "Stor"
STR_X_LARGE: "Ekstra stor"
STR_TIGHT: "Tæt"
STR_NORMAL: "Normal"
STR_WIDE: "Bred"
STR_JUSTIFY: "Justeret"
STR_ALIGN_LEFT: "Venstre"
STR_CENTER: "Centreret"
STR_ALIGN_RIGHT: "Højre"
STR_MIN_1: "1 min"
STR_MIN_5: "5 min"
STR_MIN_10: "10 min"
STR_MIN_15: "15 min"
STR_MIN_30: "30 min"
STR_PAGES_1: "1 side"
STR_PAGES_5: "5 sider"
STR_PAGES_10: "10 sider"
STR_PAGES_15: "15 sider"
STR_PAGES_30: "30 sider"
STR_UPDATE: "Opdater"
STR_CHECKING_UPDATE: "Søger efter opdatering..."
STR_NEW_UPDATE: "Ny opdatering tilgængelig!"
STR_CURRENT_VERSION: "Nuværende version: "
STR_NEW_VERSION: "Ny version: "
STR_UPDATING: "Opdaterer..."
STR_NO_UPDATE: "Ingen opdatering tilgængelig"
STR_UPDATE_FAILED: "Opdatering mislykkedes"
STR_UPDATE_COMPLETE: "Opdatering færdig"
STR_POWER_ON_HINT: "Hold tænd/sluk-knappen nede for at tænde igen"
STR_NO_ENTRIES: "Ingen poster fundet"
STR_DOWNLOADING: "Downloader..."
STR_DOWNLOAD_FAILED: "Download mislykkedes"
STR_ERROR_MSG: "Fejl:"
STR_UNNAMED: "Unavngivet"
STR_NO_SERVER_URL: "Ingen server-URL konfigureret"
STR_FETCH_FEED_FAILED: "Kunne ikke hente feed"
STR_PARSE_FEED_FAILED: "Kunne ikke fortolke feed"
STR_NETWORK_PREFIX: "Netværk: "
STR_IP_ADDRESS_PREFIX: "IP-adresse: "
STR_ERROR_GENERAL_FAILURE: "Fejl: Generel fejl"
STR_ERROR_NETWORK_NOT_FOUND: "Fejl: Netværk ikke fundet"
STR_ERROR_CONNECTION_TIMEOUT: "Fejl: Forbindelses timeout"
STR_SD_CARD: "SD-kort"
STR_BACK: "« Tilbage"
STR_EXIT: "« Afslut"
STR_HOME: "« Hjem"
STR_SELECT: "Vælg"
chore(release): 1.2.0 Release Candidate (#1483) ## Summary It's been a little while since the last release, but the community has been incredibly busy. With 155 changes from 48 contributors (30 of which were new!), there was a lot to cover. Here are some of the highlights: **🔤 Kerning, Ligatures, and Font Improvements** Text rendering gets a significant upgrade with proper kerning and ligature support, fixed-point fractional x-advance for more accurate character placement, and font compression improvements that reduce flash usage. **📝 Footnotes** Footnote anchor navigation lets you select a footnote reference and jump to the footnote text, then jump back. Slim footnotes support is also available for books that use inline footnotes. **📖 EPUB Optimizer** A new integrated EPUB optimizer can clean up and reprocess books for better compatibility with the reader, directly from the device. **🔋 Battery Charging Indicator** You can now see when your device is actively charging, with a visual indicator on the battery icon. **💾 Crash Diagnostics** When something goes wrong, the firmware now dumps a crash report to the SD card — even without USB plugged in. This makes it much easier to report and diagnose issues. **🌐 New Languages** The community continues to expand language support. New in this release: Turkish, Danish, Finnish, Polish, Dutch, Belarusian, Italian, Ukrainian, Romanian, Catalan, Vietnamese, and Kazakh — along with significant improvements to existing translations. **📂 File Management** Multi-select file deletion, BMP image viewer in the file browser, hidden directory browsing, and long-click file deletion from the file browser. **⚡ Performance** Under the hood, text layout switched from `std::list` to `std::vector`, HTML entity lookups are now O(log(n)), font rendering is faster, image decode is 5-20% faster with per-pixel overhead eliminated, and multiple string allocation hot paths were eliminated. Pre-indexing of the next chapter also reduces page-turn latency at chapter boundaries. --- Along with all of the above, there are many other additions including **WebDAV support**, **auto page turn**, **QR code for current page**, **split status bar settings**, **screenshot capture**, **JSON-based settings migration**, **light/dark theme groundwork**, and a long list of stability fixes and translation improvements. ## What's Changed ### Features * feat: Support for kerning and ligatures by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/873 * feat: footnote anchor navigation by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1245 * feat: slim footnotes support by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1031 * feat: integrated epub optimizer by @zgredex and @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 * feat: battery charging indicator (mirroring PR #537) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1427 * feat: dump crash report to sdcard by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1145 * feat: Implement silent pre-indexing for the next chapter in EpubReaderActivity by @LSTAR1900 in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * feat: upgrade platform and support webdav by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * feat: Auto Page Turn for Epub Reader by @GenesiaW in https://github.com/crosspoint-reader/crosspoint-reader/pull/1219 * feat: enhance file deletion functionality with multi-select by @Jessica765 in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * feat: Long Click for File Deletion through File Browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/909 * feat: Take screenshots by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/759 * feat: Current page as QR by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1099 * feat: Download links for web server by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1039 * feat: Added BmpViewer activity for viewing .bmp images in file browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/887 * feat: User setting for image display by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1291 * feat: Show hidden directories in browser by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1288 * feat: Prefer ".sleep" over "sleep" for custom image directory by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/948 * feat: Allow a local configuration file for custom compiles by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/879 * feat: Migrate binary settings to json by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/920 * feat: split status bar setting by @whyte-j in https://github.com/crosspoint-reader/crosspoint-reader/pull/733 * feat: wrapped text in GfxRender, implemented in themes so far by @iandchasse in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * feat: Themed language screen by @CaptainFrito in https://github.com/crosspoint-reader/crosspoint-reader/pull/1020 * feat: set WiFi hostname to CrossPoint-Reader-XXXXXXXXXXXX by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1107 * feat: Add maxAlloc to memory information by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1152 * feat: replace picojpeg with JPEGDEC for JPEG image decoding by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1136 * feat: Add git branch to version information on settings screen by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1225 * feat: sort languages in selection menu by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1071 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1157 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1167 * feat: Vietnamese glyphs support by @danoooob in https://github.com/crosspoint-reader/crosspoint-reader/pull/1147 * feat: add Turkish translation by @barbarhan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * feat: add full Danish translation by @hajisan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * feat: Add Finnish translations by @plahteenlahti in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * feat: Add Polish Language by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * feat: add Dutch translation by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * feat: add Belarusian translation by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1120 * feat: Add full Italian translations by @andreaturchet in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * feat: add Ukrainian translation by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * feat: Add Kazakh (kk) language support by @fsocietyipa in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * feat: added Romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/987 * feat: add Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * feat: Make directories stand out more in local file browser: "[dir]" instead of "dir" by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1339 * feat: Add Polish strings for commits #1219,#1169,#1031 +tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1227 * feat: Polish translation tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1193 ### Fixes * fix: Fix img layout issue / support CSS display:none for elements and images by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1443 * fix: Overlapping battery percentage on image pages with anti-aliasing by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1452 * fix: Fix prewarm perf when a page contains many styles by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1451 * fix: use sleep routine from the original firmware by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1298 * fix: Prevent line breaks on common English contractions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1405 * fix: Build with -fno-exceptions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1412 * fix: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * fix: jpeg resource cleanup by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1320 * fix: back button in settings returns to tab bar first by @Cache8063 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * fix: Init lastSleepImage (edge case) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1360 * fix: Add special handling for apostrophe hyphenation by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1318 * fix: Fix inter-word spacing rounding error in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1311 * fix: load access fault crash by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1370 * fix: Fix bootloop logging crash by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1357 * fix: dump crash log without usb plugged, bump release log to INFO by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1332 * fix: avoid zip filename overflow by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1321 * fix: Hanging indent (negative text-indent) and em-unit sizing by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1229 * fix: Use fixed-point fractional x-advance and kerning for better text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1168 * fix: use HTTPClient::writeToStream for downloading files from OPDS by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1207 * fix: make file system operations thread-safe (HalFile) by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1212 * fix: properly implement requestUpdateAndWait() by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1218 * fix: prevent infinite render loop in Calibre Wireless after file transfer by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1070 * fix: WiFi lifecycle and hyphenation heap defragmentation for KOReader sync by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1151 * fix: Fix coverRendered flag by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1154 * fix: Handle non-ASCII characters in sanitizeFilename by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1132 * fix: Update activity was missing "Back" button label by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1128 * fix: force auto-hinting for Bookerly to fix inconsistent stem widths by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1098 * fix: image centering bleed by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1096 * fix: double free WebDAVHandler by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1093 * fix: Consider extra quotation styles when hyphenating quoted words by @cbix in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * fix: acquire power lock before sleeping by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1125 * fix: Unify inconsistent Wi-Fi/WiFi in Czech translation by @pepastach in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * fix: sdfat warning about redefinition of macro by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1135 * fix: Close leaked file descriptors in SleepActivity and web server by @brbla in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * fix: Enable DESTRUCTOR_CLOSES_FILE flag by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1075 * fix: Change "UI Font Size" to "Reader Font Size" by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1171 * fix: Hide unusable button hints when viewing empty directory by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1253 * fix: broken translations in status bar settings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1188 * fix: clarity issue with ambiguous string `SET` by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1169 * fix: Crash (Load access fault) when indexing chapters containing characters unsupported by bold/italic font variants by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/997 * fix: Increase PNGdec buffer size to support wide images by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/995 * fix: Use HalPowerManager for battery percentage by @vjapolitzer in https://github.com/crosspoint-reader/crosspoint-reader/pull/1005 * fix: Fix dangling pointer by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1010 * fix: re-implementing Cover Outlines for the new Lyra Themes by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1017 * fix: use double FAST_REFRESH to prevent washout on large grey images by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/957 * fix: Fixed Image Sizing When No Width is Set by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * fix: Strip unused CSS rules by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1014 * fix: continue reading card classic theme by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/990 * fix: Destroy CSS Cache file when invalid by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1018 * fix: Shorten "Forget Wifi" button labels to fit on button by @lukestein in https://github.com/crosspoint-reader/crosspoint-reader/pull/1045 * fix: improve Spanish translations by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1054 * fix: Fixed book title in home screen by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1013 * fix: Fix hyphenation and rendering of decomposed characters by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1037 * fix: Improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1338 * fix: improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * fix: improve and add Swedish translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * fix: Extend missing / amend existing German translations by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1226 * fix: update french.yaml file to have a better French translation of the CFW by @Spigaw in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * fix: added romanian translation to new strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1105 * fix: add missing romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1187 * fix: add new Ukrainian translation line for STR_SCREENSHOT_BUTTON by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1149 * fix: Dutch translation prefix correction by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1223 * fix: Small typo in i18n.md regarding C++ identifiers by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * fix: typo in USER_GUIDE.md by @arnaugamez in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * fix: add missing keyboard metrics to Lyra3CoversTheme by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1101 ### Internal * perf: font-compression improvements by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1056 * perf: Improve font drawing performance by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/978 * perf: Replace std::list with std::vector in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1038 * perf: Optimize HTML entities lookup to O(log(n)) by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1194 * perf: UITheme::getMetrics const and const-ref usage by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1094 * perf: Avoid creating strings for file extension checks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1303 * perf: Eliminate per-pixel overheads in image rendering by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1293 * perf: Update github actions for optimal performance with pioarduino by @Jason2866 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * style: Phase 1 - Simple light dark themes by @cdmoro in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * refactor: implement ActivityManager by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1016 * refactor: Simplify REPLACEMENT_GLYPH fallback by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1119 * refactor: Simplify new setting introduction by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1086 * refactor: Use std binary search algorithms for font lookups by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1202 * refactor: rename MyLibrary to FileBrowser by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1260 * refactor: Avoid rebuilding cache path strings by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1300 * refactor: reader utils by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1329 * chore: Remove miniz and modularise inflation logic by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1073 * chore: Resolve several build warnings by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1076 * chore: Removed generated language headers by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1156 * chore: Added generated lang headers to .gitignore by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1158 * chore: remove redundant xTaskCreate by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1264 * chore: Removed unused PlatformIO include directory placeholder by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1417 * chore: micro-optimisation: early exit on fillUncompressedSizes by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1322 * chore: change label while on settings tab actions by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1325 * chore: add firmware size history script by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1235 * chore: Add powershell script for clang-formatting by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1472 * chore: Removed unused ConfirmationActivity member by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1234 * chore: Update russian.yaml by @madebyKir in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * chore: new Ukrainian translation lines by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1199 * chore: new Ukrainian localization strings by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1270 * chore: Polish localization for STR_DELETE by @JonaszPotoniec in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * chore: Image settings Polish localization by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1299 * chore: add missing Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1302 * chore: add missing translations for Romanian by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1265 * chore: Add Portuguese (Portugal) translator to the list by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1211 * chore: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * docs: Add lightweight contributor onboarding documentation by @bilalix in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * docs: ActivityManager migration guide by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1222 * docs: USER_GUIDE.md update for 1.1.0 by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * docs: add quick KOReader sync setup guide by @wjhrdy in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * docs: image support marked as completed by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1008 * feat: aiagent context definition by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/922 * chore: Update SKILL.md to reflect generated i18n files are gitignored by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1423 * fix: ActivityManager tweaks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1220 * fix: Correct relative file paths in SKILL.md documentation by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1304 * fix: add Technically Unsupported section to SCOPE.md by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1295 ## New Contributors * @DestinySpeaker made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * @arnaugamez made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * @angeldenom made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * @cdmoro made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * @bilalix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * @Jessica765 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * @brbla made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * @dexif made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * @mirus-ua made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * @cbix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * @divinitycove made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * @pepastach made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * @Jason2866 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * @andreaturchet made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * @Spigaw made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * @iandchasse made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * @th0m4sek made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * @plahteenlahti made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * @hajisan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * @madebyKir made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * @victordomingos made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * @basvdploeg made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * @wjhrdy made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * @DaniPhii made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * @steka made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * @barbarhan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * @JonaszPotoniec made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * @Cache8063 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * @fsocietyipa made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * @LSTAR1900 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * @zgredex made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 **Full Changelog**: https://github.com/crosspoint-reader/crosspoint-reader/compare/1.1.1...release/1.2.0 --------- Co-authored-by: jpirnay <jens@pirnay.com> Co-authored-by: Dani Poveda <daniphii@outlook.com> Co-authored-by: Baris Albayrak <80099286+barbarhan@users.noreply.github.com> Co-authored-by: Barış Albayrak <barisa@pop-os.lan> Co-authored-by: Stefan Blixten Karlsson <sbkarlsson@gmail.com> Co-authored-by: Àngel <153315454+angeldenom@users.noreply.github.com> Co-authored-by: Jonasz Potoniec <jonasz@potoniec.eu> Co-authored-by: Егор Мартынов <martynovegorOF@yandex.ru> Co-authored-by: Mirus <mirusim@gmail.com> Co-authored-by: Spigaw <73850535+Spigaw@users.noreply.github.com> Co-authored-by: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Co-authored-by: Nima Salami <54304457+hajisan@users.noreply.github.com> Co-authored-by: Arthur Tazhitdinov <lisnake@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Bas van der Ploeg <bas@basvanderploeg.nl> Co-authored-by: martin brook <martin.brook100@googlemail.com>
2026-04-03 17:33:02 -05:00
STR_SELECTED: "Valgt"
STR_TOGGLE: "Skift"
STR_CONFIRM: "Bekræft"
STR_CANCEL: "Annuller"
STR_CONNECT: "Forbind"
STR_OPEN: "Åbn"
STR_DOWNLOAD: "Download"
STR_RETRY: "Prøv igen"
STR_YES: "Ja"
STR_NO: "Nej"
chore(release): 1.2.0 Release Candidate (#1483) ## Summary It's been a little while since the last release, but the community has been incredibly busy. With 155 changes from 48 contributors (30 of which were new!), there was a lot to cover. Here are some of the highlights: **🔤 Kerning, Ligatures, and Font Improvements** Text rendering gets a significant upgrade with proper kerning and ligature support, fixed-point fractional x-advance for more accurate character placement, and font compression improvements that reduce flash usage. **📝 Footnotes** Footnote anchor navigation lets you select a footnote reference and jump to the footnote text, then jump back. Slim footnotes support is also available for books that use inline footnotes. **📖 EPUB Optimizer** A new integrated EPUB optimizer can clean up and reprocess books for better compatibility with the reader, directly from the device. **🔋 Battery Charging Indicator** You can now see when your device is actively charging, with a visual indicator on the battery icon. **💾 Crash Diagnostics** When something goes wrong, the firmware now dumps a crash report to the SD card — even without USB plugged in. This makes it much easier to report and diagnose issues. **🌐 New Languages** The community continues to expand language support. New in this release: Turkish, Danish, Finnish, Polish, Dutch, Belarusian, Italian, Ukrainian, Romanian, Catalan, Vietnamese, and Kazakh — along with significant improvements to existing translations. **📂 File Management** Multi-select file deletion, BMP image viewer in the file browser, hidden directory browsing, and long-click file deletion from the file browser. **⚡ Performance** Under the hood, text layout switched from `std::list` to `std::vector`, HTML entity lookups are now O(log(n)), font rendering is faster, image decode is 5-20% faster with per-pixel overhead eliminated, and multiple string allocation hot paths were eliminated. Pre-indexing of the next chapter also reduces page-turn latency at chapter boundaries. --- Along with all of the above, there are many other additions including **WebDAV support**, **auto page turn**, **QR code for current page**, **split status bar settings**, **screenshot capture**, **JSON-based settings migration**, **light/dark theme groundwork**, and a long list of stability fixes and translation improvements. ## What's Changed ### Features * feat: Support for kerning and ligatures by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/873 * feat: footnote anchor navigation by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1245 * feat: slim footnotes support by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1031 * feat: integrated epub optimizer by @zgredex and @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 * feat: battery charging indicator (mirroring PR #537) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1427 * feat: dump crash report to sdcard by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1145 * feat: Implement silent pre-indexing for the next chapter in EpubReaderActivity by @LSTAR1900 in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * feat: upgrade platform and support webdav by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * feat: Auto Page Turn for Epub Reader by @GenesiaW in https://github.com/crosspoint-reader/crosspoint-reader/pull/1219 * feat: enhance file deletion functionality with multi-select by @Jessica765 in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * feat: Long Click for File Deletion through File Browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/909 * feat: Take screenshots by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/759 * feat: Current page as QR by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1099 * feat: Download links for web server by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1039 * feat: Added BmpViewer activity for viewing .bmp images in file browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/887 * feat: User setting for image display by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1291 * feat: Show hidden directories in browser by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1288 * feat: Prefer ".sleep" over "sleep" for custom image directory by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/948 * feat: Allow a local configuration file for custom compiles by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/879 * feat: Migrate binary settings to json by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/920 * feat: split status bar setting by @whyte-j in https://github.com/crosspoint-reader/crosspoint-reader/pull/733 * feat: wrapped text in GfxRender, implemented in themes so far by @iandchasse in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * feat: Themed language screen by @CaptainFrito in https://github.com/crosspoint-reader/crosspoint-reader/pull/1020 * feat: set WiFi hostname to CrossPoint-Reader-XXXXXXXXXXXX by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1107 * feat: Add maxAlloc to memory information by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1152 * feat: replace picojpeg with JPEGDEC for JPEG image decoding by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1136 * feat: Add git branch to version information on settings screen by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1225 * feat: sort languages in selection menu by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1071 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1157 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1167 * feat: Vietnamese glyphs support by @danoooob in https://github.com/crosspoint-reader/crosspoint-reader/pull/1147 * feat: add Turkish translation by @barbarhan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * feat: add full Danish translation by @hajisan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * feat: Add Finnish translations by @plahteenlahti in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * feat: Add Polish Language by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * feat: add Dutch translation by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * feat: add Belarusian translation by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1120 * feat: Add full Italian translations by @andreaturchet in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * feat: add Ukrainian translation by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * feat: Add Kazakh (kk) language support by @fsocietyipa in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * feat: added Romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/987 * feat: add Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * feat: Make directories stand out more in local file browser: "[dir]" instead of "dir" by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1339 * feat: Add Polish strings for commits #1219,#1169,#1031 +tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1227 * feat: Polish translation tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1193 ### Fixes * fix: Fix img layout issue / support CSS display:none for elements and images by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1443 * fix: Overlapping battery percentage on image pages with anti-aliasing by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1452 * fix: Fix prewarm perf when a page contains many styles by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1451 * fix: use sleep routine from the original firmware by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1298 * fix: Prevent line breaks on common English contractions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1405 * fix: Build with -fno-exceptions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1412 * fix: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * fix: jpeg resource cleanup by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1320 * fix: back button in settings returns to tab bar first by @Cache8063 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * fix: Init lastSleepImage (edge case) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1360 * fix: Add special handling for apostrophe hyphenation by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1318 * fix: Fix inter-word spacing rounding error in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1311 * fix: load access fault crash by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1370 * fix: Fix bootloop logging crash by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1357 * fix: dump crash log without usb plugged, bump release log to INFO by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1332 * fix: avoid zip filename overflow by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1321 * fix: Hanging indent (negative text-indent) and em-unit sizing by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1229 * fix: Use fixed-point fractional x-advance and kerning for better text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1168 * fix: use HTTPClient::writeToStream for downloading files from OPDS by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1207 * fix: make file system operations thread-safe (HalFile) by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1212 * fix: properly implement requestUpdateAndWait() by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1218 * fix: prevent infinite render loop in Calibre Wireless after file transfer by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1070 * fix: WiFi lifecycle and hyphenation heap defragmentation for KOReader sync by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1151 * fix: Fix coverRendered flag by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1154 * fix: Handle non-ASCII characters in sanitizeFilename by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1132 * fix: Update activity was missing "Back" button label by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1128 * fix: force auto-hinting for Bookerly to fix inconsistent stem widths by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1098 * fix: image centering bleed by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1096 * fix: double free WebDAVHandler by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1093 * fix: Consider extra quotation styles when hyphenating quoted words by @cbix in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * fix: acquire power lock before sleeping by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1125 * fix: Unify inconsistent Wi-Fi/WiFi in Czech translation by @pepastach in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * fix: sdfat warning about redefinition of macro by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1135 * fix: Close leaked file descriptors in SleepActivity and web server by @brbla in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * fix: Enable DESTRUCTOR_CLOSES_FILE flag by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1075 * fix: Change "UI Font Size" to "Reader Font Size" by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1171 * fix: Hide unusable button hints when viewing empty directory by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1253 * fix: broken translations in status bar settings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1188 * fix: clarity issue with ambiguous string `SET` by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1169 * fix: Crash (Load access fault) when indexing chapters containing characters unsupported by bold/italic font variants by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/997 * fix: Increase PNGdec buffer size to support wide images by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/995 * fix: Use HalPowerManager for battery percentage by @vjapolitzer in https://github.com/crosspoint-reader/crosspoint-reader/pull/1005 * fix: Fix dangling pointer by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1010 * fix: re-implementing Cover Outlines for the new Lyra Themes by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1017 * fix: use double FAST_REFRESH to prevent washout on large grey images by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/957 * fix: Fixed Image Sizing When No Width is Set by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * fix: Strip unused CSS rules by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1014 * fix: continue reading card classic theme by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/990 * fix: Destroy CSS Cache file when invalid by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1018 * fix: Shorten "Forget Wifi" button labels to fit on button by @lukestein in https://github.com/crosspoint-reader/crosspoint-reader/pull/1045 * fix: improve Spanish translations by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1054 * fix: Fixed book title in home screen by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1013 * fix: Fix hyphenation and rendering of decomposed characters by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1037 * fix: Improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1338 * fix: improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * fix: improve and add Swedish translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * fix: Extend missing / amend existing German translations by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1226 * fix: update french.yaml file to have a better French translation of the CFW by @Spigaw in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * fix: added romanian translation to new strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1105 * fix: add missing romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1187 * fix: add new Ukrainian translation line for STR_SCREENSHOT_BUTTON by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1149 * fix: Dutch translation prefix correction by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1223 * fix: Small typo in i18n.md regarding C++ identifiers by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * fix: typo in USER_GUIDE.md by @arnaugamez in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * fix: add missing keyboard metrics to Lyra3CoversTheme by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1101 ### Internal * perf: font-compression improvements by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1056 * perf: Improve font drawing performance by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/978 * perf: Replace std::list with std::vector in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1038 * perf: Optimize HTML entities lookup to O(log(n)) by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1194 * perf: UITheme::getMetrics const and const-ref usage by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1094 * perf: Avoid creating strings for file extension checks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1303 * perf: Eliminate per-pixel overheads in image rendering by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1293 * perf: Update github actions for optimal performance with pioarduino by @Jason2866 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * style: Phase 1 - Simple light dark themes by @cdmoro in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * refactor: implement ActivityManager by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1016 * refactor: Simplify REPLACEMENT_GLYPH fallback by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1119 * refactor: Simplify new setting introduction by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1086 * refactor: Use std binary search algorithms for font lookups by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1202 * refactor: rename MyLibrary to FileBrowser by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1260 * refactor: Avoid rebuilding cache path strings by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1300 * refactor: reader utils by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1329 * chore: Remove miniz and modularise inflation logic by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1073 * chore: Resolve several build warnings by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1076 * chore: Removed generated language headers by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1156 * chore: Added generated lang headers to .gitignore by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1158 * chore: remove redundant xTaskCreate by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1264 * chore: Removed unused PlatformIO include directory placeholder by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1417 * chore: micro-optimisation: early exit on fillUncompressedSizes by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1322 * chore: change label while on settings tab actions by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1325 * chore: add firmware size history script by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1235 * chore: Add powershell script for clang-formatting by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1472 * chore: Removed unused ConfirmationActivity member by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1234 * chore: Update russian.yaml by @madebyKir in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * chore: new Ukrainian translation lines by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1199 * chore: new Ukrainian localization strings by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1270 * chore: Polish localization for STR_DELETE by @JonaszPotoniec in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * chore: Image settings Polish localization by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1299 * chore: add missing Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1302 * chore: add missing translations for Romanian by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1265 * chore: Add Portuguese (Portugal) translator to the list by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1211 * chore: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * docs: Add lightweight contributor onboarding documentation by @bilalix in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * docs: ActivityManager migration guide by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1222 * docs: USER_GUIDE.md update for 1.1.0 by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * docs: add quick KOReader sync setup guide by @wjhrdy in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * docs: image support marked as completed by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1008 * feat: aiagent context definition by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/922 * chore: Update SKILL.md to reflect generated i18n files are gitignored by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1423 * fix: ActivityManager tweaks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1220 * fix: Correct relative file paths in SKILL.md documentation by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1304 * fix: add Technically Unsupported section to SCOPE.md by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1295 ## New Contributors * @DestinySpeaker made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * @arnaugamez made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * @angeldenom made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * @cdmoro made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * @bilalix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * @Jessica765 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * @brbla made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * @dexif made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * @mirus-ua made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * @cbix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * @divinitycove made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * @pepastach made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * @Jason2866 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * @andreaturchet made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * @Spigaw made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * @iandchasse made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * @th0m4sek made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * @plahteenlahti made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * @hajisan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * @madebyKir made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * @victordomingos made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * @basvdploeg made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * @wjhrdy made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * @DaniPhii made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * @steka made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * @barbarhan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * @JonaszPotoniec made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * @Cache8063 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * @fsocietyipa made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * @LSTAR1900 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * @zgredex made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 **Full Changelog**: https://github.com/crosspoint-reader/crosspoint-reader/compare/1.1.1...release/1.2.0 --------- Co-authored-by: jpirnay <jens@pirnay.com> Co-authored-by: Dani Poveda <daniphii@outlook.com> Co-authored-by: Baris Albayrak <80099286+barbarhan@users.noreply.github.com> Co-authored-by: Barış Albayrak <barisa@pop-os.lan> Co-authored-by: Stefan Blixten Karlsson <sbkarlsson@gmail.com> Co-authored-by: Àngel <153315454+angeldenom@users.noreply.github.com> Co-authored-by: Jonasz Potoniec <jonasz@potoniec.eu> Co-authored-by: Егор Мартынов <martynovegorOF@yandex.ru> Co-authored-by: Mirus <mirusim@gmail.com> Co-authored-by: Spigaw <73850535+Spigaw@users.noreply.github.com> Co-authored-by: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Co-authored-by: Nima Salami <54304457+hajisan@users.noreply.github.com> Co-authored-by: Arthur Tazhitdinov <lisnake@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Bas van der Ploeg <bas@basvanderploeg.nl> Co-authored-by: martin brook <martin.brook100@googlemail.com>
2026-04-03 17:33:02 -05:00
STR_SHOW: "Vis"
STR_HIDE: "Skjul"
STR_STATE_ON: "TÆNDT"
STR_STATE_OFF: "SLUKKET"
STR_NOT_SET: "Ikke indstillet"
STR_DIR_LEFT: "Venstre"
STR_DIR_RIGHT: "Højre"
STR_DIR_UP: "Op"
STR_DIR_DOWN: "Ned"
STR_OK_BUTTON: "OK"
STR_SLEEP_COVER_FILTER: "Hvile-skærm omslag-filter"
STR_FILTER_CONTRAST: "Kontrast"
chore(release): 1.2.0 Release Candidate (#1483) ## Summary It's been a little while since the last release, but the community has been incredibly busy. With 155 changes from 48 contributors (30 of which were new!), there was a lot to cover. Here are some of the highlights: **🔤 Kerning, Ligatures, and Font Improvements** Text rendering gets a significant upgrade with proper kerning and ligature support, fixed-point fractional x-advance for more accurate character placement, and font compression improvements that reduce flash usage. **📝 Footnotes** Footnote anchor navigation lets you select a footnote reference and jump to the footnote text, then jump back. Slim footnotes support is also available for books that use inline footnotes. **📖 EPUB Optimizer** A new integrated EPUB optimizer can clean up and reprocess books for better compatibility with the reader, directly from the device. **🔋 Battery Charging Indicator** You can now see when your device is actively charging, with a visual indicator on the battery icon. **💾 Crash Diagnostics** When something goes wrong, the firmware now dumps a crash report to the SD card — even without USB plugged in. This makes it much easier to report and diagnose issues. **🌐 New Languages** The community continues to expand language support. New in this release: Turkish, Danish, Finnish, Polish, Dutch, Belarusian, Italian, Ukrainian, Romanian, Catalan, Vietnamese, and Kazakh — along with significant improvements to existing translations. **📂 File Management** Multi-select file deletion, BMP image viewer in the file browser, hidden directory browsing, and long-click file deletion from the file browser. **⚡ Performance** Under the hood, text layout switched from `std::list` to `std::vector`, HTML entity lookups are now O(log(n)), font rendering is faster, image decode is 5-20% faster with per-pixel overhead eliminated, and multiple string allocation hot paths were eliminated. Pre-indexing of the next chapter also reduces page-turn latency at chapter boundaries. --- Along with all of the above, there are many other additions including **WebDAV support**, **auto page turn**, **QR code for current page**, **split status bar settings**, **screenshot capture**, **JSON-based settings migration**, **light/dark theme groundwork**, and a long list of stability fixes and translation improvements. ## What's Changed ### Features * feat: Support for kerning and ligatures by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/873 * feat: footnote anchor navigation by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1245 * feat: slim footnotes support by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1031 * feat: integrated epub optimizer by @zgredex and @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 * feat: battery charging indicator (mirroring PR #537) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1427 * feat: dump crash report to sdcard by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1145 * feat: Implement silent pre-indexing for the next chapter in EpubReaderActivity by @LSTAR1900 in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * feat: upgrade platform and support webdav by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * feat: Auto Page Turn for Epub Reader by @GenesiaW in https://github.com/crosspoint-reader/crosspoint-reader/pull/1219 * feat: enhance file deletion functionality with multi-select by @Jessica765 in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * feat: Long Click for File Deletion through File Browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/909 * feat: Take screenshots by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/759 * feat: Current page as QR by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1099 * feat: Download links for web server by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1039 * feat: Added BmpViewer activity for viewing .bmp images in file browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/887 * feat: User setting for image display by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1291 * feat: Show hidden directories in browser by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1288 * feat: Prefer ".sleep" over "sleep" for custom image directory by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/948 * feat: Allow a local configuration file for custom compiles by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/879 * feat: Migrate binary settings to json by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/920 * feat: split status bar setting by @whyte-j in https://github.com/crosspoint-reader/crosspoint-reader/pull/733 * feat: wrapped text in GfxRender, implemented in themes so far by @iandchasse in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * feat: Themed language screen by @CaptainFrito in https://github.com/crosspoint-reader/crosspoint-reader/pull/1020 * feat: set WiFi hostname to CrossPoint-Reader-XXXXXXXXXXXX by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1107 * feat: Add maxAlloc to memory information by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1152 * feat: replace picojpeg with JPEGDEC for JPEG image decoding by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1136 * feat: Add git branch to version information on settings screen by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1225 * feat: sort languages in selection menu by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1071 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1157 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1167 * feat: Vietnamese glyphs support by @danoooob in https://github.com/crosspoint-reader/crosspoint-reader/pull/1147 * feat: add Turkish translation by @barbarhan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * feat: add full Danish translation by @hajisan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * feat: Add Finnish translations by @plahteenlahti in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * feat: Add Polish Language by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * feat: add Dutch translation by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * feat: add Belarusian translation by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1120 * feat: Add full Italian translations by @andreaturchet in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * feat: add Ukrainian translation by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * feat: Add Kazakh (kk) language support by @fsocietyipa in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * feat: added Romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/987 * feat: add Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * feat: Make directories stand out more in local file browser: "[dir]" instead of "dir" by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1339 * feat: Add Polish strings for commits #1219,#1169,#1031 +tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1227 * feat: Polish translation tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1193 ### Fixes * fix: Fix img layout issue / support CSS display:none for elements and images by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1443 * fix: Overlapping battery percentage on image pages with anti-aliasing by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1452 * fix: Fix prewarm perf when a page contains many styles by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1451 * fix: use sleep routine from the original firmware by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1298 * fix: Prevent line breaks on common English contractions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1405 * fix: Build with -fno-exceptions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1412 * fix: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * fix: jpeg resource cleanup by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1320 * fix: back button in settings returns to tab bar first by @Cache8063 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * fix: Init lastSleepImage (edge case) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1360 * fix: Add special handling for apostrophe hyphenation by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1318 * fix: Fix inter-word spacing rounding error in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1311 * fix: load access fault crash by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1370 * fix: Fix bootloop logging crash by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1357 * fix: dump crash log without usb plugged, bump release log to INFO by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1332 * fix: avoid zip filename overflow by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1321 * fix: Hanging indent (negative text-indent) and em-unit sizing by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1229 * fix: Use fixed-point fractional x-advance and kerning for better text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1168 * fix: use HTTPClient::writeToStream for downloading files from OPDS by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1207 * fix: make file system operations thread-safe (HalFile) by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1212 * fix: properly implement requestUpdateAndWait() by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1218 * fix: prevent infinite render loop in Calibre Wireless after file transfer by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1070 * fix: WiFi lifecycle and hyphenation heap defragmentation for KOReader sync by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1151 * fix: Fix coverRendered flag by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1154 * fix: Handle non-ASCII characters in sanitizeFilename by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1132 * fix: Update activity was missing "Back" button label by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1128 * fix: force auto-hinting for Bookerly to fix inconsistent stem widths by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1098 * fix: image centering bleed by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1096 * fix: double free WebDAVHandler by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1093 * fix: Consider extra quotation styles when hyphenating quoted words by @cbix in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * fix: acquire power lock before sleeping by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1125 * fix: Unify inconsistent Wi-Fi/WiFi in Czech translation by @pepastach in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * fix: sdfat warning about redefinition of macro by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1135 * fix: Close leaked file descriptors in SleepActivity and web server by @brbla in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * fix: Enable DESTRUCTOR_CLOSES_FILE flag by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1075 * fix: Change "UI Font Size" to "Reader Font Size" by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1171 * fix: Hide unusable button hints when viewing empty directory by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1253 * fix: broken translations in status bar settings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1188 * fix: clarity issue with ambiguous string `SET` by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1169 * fix: Crash (Load access fault) when indexing chapters containing characters unsupported by bold/italic font variants by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/997 * fix: Increase PNGdec buffer size to support wide images by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/995 * fix: Use HalPowerManager for battery percentage by @vjapolitzer in https://github.com/crosspoint-reader/crosspoint-reader/pull/1005 * fix: Fix dangling pointer by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1010 * fix: re-implementing Cover Outlines for the new Lyra Themes by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1017 * fix: use double FAST_REFRESH to prevent washout on large grey images by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/957 * fix: Fixed Image Sizing When No Width is Set by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * fix: Strip unused CSS rules by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1014 * fix: continue reading card classic theme by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/990 * fix: Destroy CSS Cache file when invalid by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1018 * fix: Shorten "Forget Wifi" button labels to fit on button by @lukestein in https://github.com/crosspoint-reader/crosspoint-reader/pull/1045 * fix: improve Spanish translations by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1054 * fix: Fixed book title in home screen by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1013 * fix: Fix hyphenation and rendering of decomposed characters by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1037 * fix: Improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1338 * fix: improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * fix: improve and add Swedish translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * fix: Extend missing / amend existing German translations by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1226 * fix: update french.yaml file to have a better French translation of the CFW by @Spigaw in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * fix: added romanian translation to new strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1105 * fix: add missing romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1187 * fix: add new Ukrainian translation line for STR_SCREENSHOT_BUTTON by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1149 * fix: Dutch translation prefix correction by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1223 * fix: Small typo in i18n.md regarding C++ identifiers by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * fix: typo in USER_GUIDE.md by @arnaugamez in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * fix: add missing keyboard metrics to Lyra3CoversTheme by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1101 ### Internal * perf: font-compression improvements by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1056 * perf: Improve font drawing performance by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/978 * perf: Replace std::list with std::vector in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1038 * perf: Optimize HTML entities lookup to O(log(n)) by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1194 * perf: UITheme::getMetrics const and const-ref usage by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1094 * perf: Avoid creating strings for file extension checks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1303 * perf: Eliminate per-pixel overheads in image rendering by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1293 * perf: Update github actions for optimal performance with pioarduino by @Jason2866 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * style: Phase 1 - Simple light dark themes by @cdmoro in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * refactor: implement ActivityManager by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1016 * refactor: Simplify REPLACEMENT_GLYPH fallback by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1119 * refactor: Simplify new setting introduction by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1086 * refactor: Use std binary search algorithms for font lookups by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1202 * refactor: rename MyLibrary to FileBrowser by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1260 * refactor: Avoid rebuilding cache path strings by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1300 * refactor: reader utils by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1329 * chore: Remove miniz and modularise inflation logic by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1073 * chore: Resolve several build warnings by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1076 * chore: Removed generated language headers by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1156 * chore: Added generated lang headers to .gitignore by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1158 * chore: remove redundant xTaskCreate by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1264 * chore: Removed unused PlatformIO include directory placeholder by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1417 * chore: micro-optimisation: early exit on fillUncompressedSizes by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1322 * chore: change label while on settings tab actions by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1325 * chore: add firmware size history script by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1235 * chore: Add powershell script for clang-formatting by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1472 * chore: Removed unused ConfirmationActivity member by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1234 * chore: Update russian.yaml by @madebyKir in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * chore: new Ukrainian translation lines by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1199 * chore: new Ukrainian localization strings by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1270 * chore: Polish localization for STR_DELETE by @JonaszPotoniec in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * chore: Image settings Polish localization by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1299 * chore: add missing Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1302 * chore: add missing translations for Romanian by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1265 * chore: Add Portuguese (Portugal) translator to the list by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1211 * chore: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * docs: Add lightweight contributor onboarding documentation by @bilalix in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * docs: ActivityManager migration guide by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1222 * docs: USER_GUIDE.md update for 1.1.0 by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * docs: add quick KOReader sync setup guide by @wjhrdy in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * docs: image support marked as completed by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1008 * feat: aiagent context definition by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/922 * chore: Update SKILL.md to reflect generated i18n files are gitignored by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1423 * fix: ActivityManager tweaks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1220 * fix: Correct relative file paths in SKILL.md documentation by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1304 * fix: add Technically Unsupported section to SCOPE.md by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1295 ## New Contributors * @DestinySpeaker made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * @arnaugamez made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * @angeldenom made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * @cdmoro made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * @bilalix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * @Jessica765 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * @brbla made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * @dexif made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * @mirus-ua made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * @cbix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * @divinitycove made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * @pepastach made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * @Jason2866 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * @andreaturchet made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * @Spigaw made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * @iandchasse made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * @th0m4sek made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * @plahteenlahti made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * @hajisan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * @madebyKir made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * @victordomingos made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * @basvdploeg made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * @wjhrdy made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * @DaniPhii made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * @steka made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * @barbarhan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * @JonaszPotoniec made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * @Cache8063 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * @fsocietyipa made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * @LSTAR1900 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * @zgredex made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 **Full Changelog**: https://github.com/crosspoint-reader/crosspoint-reader/compare/1.1.1...release/1.2.0 --------- Co-authored-by: jpirnay <jens@pirnay.com> Co-authored-by: Dani Poveda <daniphii@outlook.com> Co-authored-by: Baris Albayrak <80099286+barbarhan@users.noreply.github.com> Co-authored-by: Barış Albayrak <barisa@pop-os.lan> Co-authored-by: Stefan Blixten Karlsson <sbkarlsson@gmail.com> Co-authored-by: Àngel <153315454+angeldenom@users.noreply.github.com> Co-authored-by: Jonasz Potoniec <jonasz@potoniec.eu> Co-authored-by: Егор Мартынов <martynovegorOF@yandex.ru> Co-authored-by: Mirus <mirusim@gmail.com> Co-authored-by: Spigaw <73850535+Spigaw@users.noreply.github.com> Co-authored-by: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Co-authored-by: Nima Salami <54304457+hajisan@users.noreply.github.com> Co-authored-by: Arthur Tazhitdinov <lisnake@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Bas van der Ploeg <bas@basvanderploeg.nl> Co-authored-by: martin brook <martin.brook100@googlemail.com>
2026-04-03 17:33:02 -05:00
STR_CUSTOMISE_STATUS_BAR: "Tilpas statuslinje"
STR_CHAPTER_PAGE_COUNT: "Kapitelsidetæller"
STR_BOOK_PROGRESS_PERCENTAGE: "Bogfremskridtsprocent"
STR_PROGRESS_BAR: "Fremskridtslinje"
STR_PROGRESS_BAR_THICKNESS: "Fremskridtslinjens tykkelse"
STR_PROGRESS_BAR_THIN: "Tynd"
STR_PROGRESS_BAR_MEDIUM: "Mellem"
STR_PROGRESS_BAR_THICK: "Tyk"
STR_BOOK: "Bog"
STR_CHAPTER: "Kapitel"
STR_EXAMPLE_CHAPTER: "Kapitel 21"
STR_EXAMPLE_BOOK: "Bogtitel"
STR_PREVIEW: "Forhåndsvisning"
STR_TITLE: "Titel"
STR_BATTERY: "Batteri"
STR_UI_THEME: "Brugergrænseflade tema"
STR_THEME_CLASSIC: "Klassisk"
STR_THEME_LYRA: "Lyra"
STR_THEME_LYRA_EXTENDED: "Lyra Extended"
STR_SUNLIGHT_FADING_FIX: "Sollysfading-rettelse"
STR_REMAP_FRONT_BUTTONS: "Omtildel frontknapper"
STR_OPDS_BROWSER: "OPDS Browser"
STR_COVER_CUSTOM: "Omslag + Brugerdefineret"
STR_MENU_RECENT_BOOKS: "Seneste bøger"
STR_NO_RECENT_BOOKS: "Ingen seneste bøger"
STR_CALIBRE_DESC: "Brug Calibre trådløs enhedsoverførelse"
STR_FORGET_AND_REMOVE: "Glem netværk og fjern gemt adgangskode?"
STR_FORGET_BUTTON: "Glem"
STR_CALIBRE_STARTING: "Starter Calibre..."
STR_CALIBRE_SETUP: "Opsætning"
STR_CALIBRE_STATUS: "Status"
STR_CLEAR_BUTTON: "Ryd"
STR_DEFAULT_VALUE: "Standard"
STR_REMAP_PROMPT: "Tryk på en frontknap for hver rolle"
STR_UNASSIGNED: "Ikke tildelt"
STR_ALREADY_ASSIGNED: "Allerede tildelt"
STR_REMAP_RESET_HINT: "Sideknap op: Nulstil til standardlayout"
STR_REMAP_CANCEL_HINT: "Sideknap ned: Annuller omtildeling"
STR_HW_BACK_LABEL: "Tilbage (1. knap)"
STR_HW_CONFIRM_LABEL: "Bekræft (2. knap)"
STR_HW_LEFT_LABEL: "Venstre (3. knap)"
STR_HW_RIGHT_LABEL: "Højre (4. knap)"
STR_GO_TO_PERCENT: "Gå til %"
STR_GO_HOME_BUTTON: "Gå til start"
STR_SYNC_PROGRESS: "Synkroniser fremskridt"
STR_DELETE_CACHE: "Slet bogcache"
chore(release): 1.2.0 Release Candidate (#1483) ## Summary It's been a little while since the last release, but the community has been incredibly busy. With 155 changes from 48 contributors (30 of which were new!), there was a lot to cover. Here are some of the highlights: **🔤 Kerning, Ligatures, and Font Improvements** Text rendering gets a significant upgrade with proper kerning and ligature support, fixed-point fractional x-advance for more accurate character placement, and font compression improvements that reduce flash usage. **📝 Footnotes** Footnote anchor navigation lets you select a footnote reference and jump to the footnote text, then jump back. Slim footnotes support is also available for books that use inline footnotes. **📖 EPUB Optimizer** A new integrated EPUB optimizer can clean up and reprocess books for better compatibility with the reader, directly from the device. **🔋 Battery Charging Indicator** You can now see when your device is actively charging, with a visual indicator on the battery icon. **💾 Crash Diagnostics** When something goes wrong, the firmware now dumps a crash report to the SD card — even without USB plugged in. This makes it much easier to report and diagnose issues. **🌐 New Languages** The community continues to expand language support. New in this release: Turkish, Danish, Finnish, Polish, Dutch, Belarusian, Italian, Ukrainian, Romanian, Catalan, Vietnamese, and Kazakh — along with significant improvements to existing translations. **📂 File Management** Multi-select file deletion, BMP image viewer in the file browser, hidden directory browsing, and long-click file deletion from the file browser. **⚡ Performance** Under the hood, text layout switched from `std::list` to `std::vector`, HTML entity lookups are now O(log(n)), font rendering is faster, image decode is 5-20% faster with per-pixel overhead eliminated, and multiple string allocation hot paths were eliminated. Pre-indexing of the next chapter also reduces page-turn latency at chapter boundaries. --- Along with all of the above, there are many other additions including **WebDAV support**, **auto page turn**, **QR code for current page**, **split status bar settings**, **screenshot capture**, **JSON-based settings migration**, **light/dark theme groundwork**, and a long list of stability fixes and translation improvements. ## What's Changed ### Features * feat: Support for kerning and ligatures by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/873 * feat: footnote anchor navigation by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1245 * feat: slim footnotes support by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1031 * feat: integrated epub optimizer by @zgredex and @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 * feat: battery charging indicator (mirroring PR #537) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1427 * feat: dump crash report to sdcard by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1145 * feat: Implement silent pre-indexing for the next chapter in EpubReaderActivity by @LSTAR1900 in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * feat: upgrade platform and support webdav by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * feat: Auto Page Turn for Epub Reader by @GenesiaW in https://github.com/crosspoint-reader/crosspoint-reader/pull/1219 * feat: enhance file deletion functionality with multi-select by @Jessica765 in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * feat: Long Click for File Deletion through File Browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/909 * feat: Take screenshots by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/759 * feat: Current page as QR by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1099 * feat: Download links for web server by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1039 * feat: Added BmpViewer activity for viewing .bmp images in file browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/887 * feat: User setting for image display by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1291 * feat: Show hidden directories in browser by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1288 * feat: Prefer ".sleep" over "sleep" for custom image directory by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/948 * feat: Allow a local configuration file for custom compiles by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/879 * feat: Migrate binary settings to json by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/920 * feat: split status bar setting by @whyte-j in https://github.com/crosspoint-reader/crosspoint-reader/pull/733 * feat: wrapped text in GfxRender, implemented in themes so far by @iandchasse in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * feat: Themed language screen by @CaptainFrito in https://github.com/crosspoint-reader/crosspoint-reader/pull/1020 * feat: set WiFi hostname to CrossPoint-Reader-XXXXXXXXXXXX by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1107 * feat: Add maxAlloc to memory information by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1152 * feat: replace picojpeg with JPEGDEC for JPEG image decoding by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1136 * feat: Add git branch to version information on settings screen by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1225 * feat: sort languages in selection menu by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1071 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1157 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1167 * feat: Vietnamese glyphs support by @danoooob in https://github.com/crosspoint-reader/crosspoint-reader/pull/1147 * feat: add Turkish translation by @barbarhan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * feat: add full Danish translation by @hajisan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * feat: Add Finnish translations by @plahteenlahti in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * feat: Add Polish Language by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * feat: add Dutch translation by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * feat: add Belarusian translation by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1120 * feat: Add full Italian translations by @andreaturchet in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * feat: add Ukrainian translation by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * feat: Add Kazakh (kk) language support by @fsocietyipa in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * feat: added Romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/987 * feat: add Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * feat: Make directories stand out more in local file browser: "[dir]" instead of "dir" by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1339 * feat: Add Polish strings for commits #1219,#1169,#1031 +tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1227 * feat: Polish translation tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1193 ### Fixes * fix: Fix img layout issue / support CSS display:none for elements and images by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1443 * fix: Overlapping battery percentage on image pages with anti-aliasing by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1452 * fix: Fix prewarm perf when a page contains many styles by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1451 * fix: use sleep routine from the original firmware by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1298 * fix: Prevent line breaks on common English contractions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1405 * fix: Build with -fno-exceptions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1412 * fix: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * fix: jpeg resource cleanup by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1320 * fix: back button in settings returns to tab bar first by @Cache8063 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * fix: Init lastSleepImage (edge case) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1360 * fix: Add special handling for apostrophe hyphenation by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1318 * fix: Fix inter-word spacing rounding error in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1311 * fix: load access fault crash by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1370 * fix: Fix bootloop logging crash by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1357 * fix: dump crash log without usb plugged, bump release log to INFO by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1332 * fix: avoid zip filename overflow by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1321 * fix: Hanging indent (negative text-indent) and em-unit sizing by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1229 * fix: Use fixed-point fractional x-advance and kerning for better text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1168 * fix: use HTTPClient::writeToStream for downloading files from OPDS by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1207 * fix: make file system operations thread-safe (HalFile) by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1212 * fix: properly implement requestUpdateAndWait() by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1218 * fix: prevent infinite render loop in Calibre Wireless after file transfer by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1070 * fix: WiFi lifecycle and hyphenation heap defragmentation for KOReader sync by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1151 * fix: Fix coverRendered flag by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1154 * fix: Handle non-ASCII characters in sanitizeFilename by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1132 * fix: Update activity was missing "Back" button label by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1128 * fix: force auto-hinting for Bookerly to fix inconsistent stem widths by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1098 * fix: image centering bleed by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1096 * fix: double free WebDAVHandler by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1093 * fix: Consider extra quotation styles when hyphenating quoted words by @cbix in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * fix: acquire power lock before sleeping by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1125 * fix: Unify inconsistent Wi-Fi/WiFi in Czech translation by @pepastach in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * fix: sdfat warning about redefinition of macro by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1135 * fix: Close leaked file descriptors in SleepActivity and web server by @brbla in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * fix: Enable DESTRUCTOR_CLOSES_FILE flag by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1075 * fix: Change "UI Font Size" to "Reader Font Size" by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1171 * fix: Hide unusable button hints when viewing empty directory by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1253 * fix: broken translations in status bar settings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1188 * fix: clarity issue with ambiguous string `SET` by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1169 * fix: Crash (Load access fault) when indexing chapters containing characters unsupported by bold/italic font variants by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/997 * fix: Increase PNGdec buffer size to support wide images by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/995 * fix: Use HalPowerManager for battery percentage by @vjapolitzer in https://github.com/crosspoint-reader/crosspoint-reader/pull/1005 * fix: Fix dangling pointer by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1010 * fix: re-implementing Cover Outlines for the new Lyra Themes by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1017 * fix: use double FAST_REFRESH to prevent washout on large grey images by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/957 * fix: Fixed Image Sizing When No Width is Set by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * fix: Strip unused CSS rules by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1014 * fix: continue reading card classic theme by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/990 * fix: Destroy CSS Cache file when invalid by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1018 * fix: Shorten "Forget Wifi" button labels to fit on button by @lukestein in https://github.com/crosspoint-reader/crosspoint-reader/pull/1045 * fix: improve Spanish translations by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1054 * fix: Fixed book title in home screen by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1013 * fix: Fix hyphenation and rendering of decomposed characters by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1037 * fix: Improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1338 * fix: improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * fix: improve and add Swedish translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * fix: Extend missing / amend existing German translations by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1226 * fix: update french.yaml file to have a better French translation of the CFW by @Spigaw in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * fix: added romanian translation to new strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1105 * fix: add missing romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1187 * fix: add new Ukrainian translation line for STR_SCREENSHOT_BUTTON by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1149 * fix: Dutch translation prefix correction by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1223 * fix: Small typo in i18n.md regarding C++ identifiers by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * fix: typo in USER_GUIDE.md by @arnaugamez in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * fix: add missing keyboard metrics to Lyra3CoversTheme by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1101 ### Internal * perf: font-compression improvements by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1056 * perf: Improve font drawing performance by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/978 * perf: Replace std::list with std::vector in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1038 * perf: Optimize HTML entities lookup to O(log(n)) by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1194 * perf: UITheme::getMetrics const and const-ref usage by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1094 * perf: Avoid creating strings for file extension checks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1303 * perf: Eliminate per-pixel overheads in image rendering by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1293 * perf: Update github actions for optimal performance with pioarduino by @Jason2866 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * style: Phase 1 - Simple light dark themes by @cdmoro in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * refactor: implement ActivityManager by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1016 * refactor: Simplify REPLACEMENT_GLYPH fallback by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1119 * refactor: Simplify new setting introduction by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1086 * refactor: Use std binary search algorithms for font lookups by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1202 * refactor: rename MyLibrary to FileBrowser by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1260 * refactor: Avoid rebuilding cache path strings by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1300 * refactor: reader utils by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1329 * chore: Remove miniz and modularise inflation logic by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1073 * chore: Resolve several build warnings by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1076 * chore: Removed generated language headers by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1156 * chore: Added generated lang headers to .gitignore by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1158 * chore: remove redundant xTaskCreate by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1264 * chore: Removed unused PlatformIO include directory placeholder by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1417 * chore: micro-optimisation: early exit on fillUncompressedSizes by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1322 * chore: change label while on settings tab actions by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1325 * chore: add firmware size history script by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1235 * chore: Add powershell script for clang-formatting by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1472 * chore: Removed unused ConfirmationActivity member by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1234 * chore: Update russian.yaml by @madebyKir in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * chore: new Ukrainian translation lines by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1199 * chore: new Ukrainian localization strings by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1270 * chore: Polish localization for STR_DELETE by @JonaszPotoniec in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * chore: Image settings Polish localization by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1299 * chore: add missing Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1302 * chore: add missing translations for Romanian by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1265 * chore: Add Portuguese (Portugal) translator to the list by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1211 * chore: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * docs: Add lightweight contributor onboarding documentation by @bilalix in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * docs: ActivityManager migration guide by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1222 * docs: USER_GUIDE.md update for 1.1.0 by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * docs: add quick KOReader sync setup guide by @wjhrdy in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * docs: image support marked as completed by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1008 * feat: aiagent context definition by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/922 * chore: Update SKILL.md to reflect generated i18n files are gitignored by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1423 * fix: ActivityManager tweaks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1220 * fix: Correct relative file paths in SKILL.md documentation by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1304 * fix: add Technically Unsupported section to SCOPE.md by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1295 ## New Contributors * @DestinySpeaker made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * @arnaugamez made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * @angeldenom made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * @cdmoro made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * @bilalix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * @Jessica765 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * @brbla made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * @dexif made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * @mirus-ua made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * @cbix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * @divinitycove made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * @pepastach made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * @Jason2866 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * @andreaturchet made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * @Spigaw made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * @iandchasse made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * @th0m4sek made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * @plahteenlahti made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * @hajisan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * @madebyKir made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * @victordomingos made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * @basvdploeg made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * @wjhrdy made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * @DaniPhii made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * @steka made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * @barbarhan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * @JonaszPotoniec made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * @Cache8063 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * @fsocietyipa made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * @LSTAR1900 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * @zgredex made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 **Full Changelog**: https://github.com/crosspoint-reader/crosspoint-reader/compare/1.1.1...release/1.2.0 --------- Co-authored-by: jpirnay <jens@pirnay.com> Co-authored-by: Dani Poveda <daniphii@outlook.com> Co-authored-by: Baris Albayrak <80099286+barbarhan@users.noreply.github.com> Co-authored-by: Barış Albayrak <barisa@pop-os.lan> Co-authored-by: Stefan Blixten Karlsson <sbkarlsson@gmail.com> Co-authored-by: Àngel <153315454+angeldenom@users.noreply.github.com> Co-authored-by: Jonasz Potoniec <jonasz@potoniec.eu> Co-authored-by: Егор Мартынов <martynovegorOF@yandex.ru> Co-authored-by: Mirus <mirusim@gmail.com> Co-authored-by: Spigaw <73850535+Spigaw@users.noreply.github.com> Co-authored-by: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Co-authored-by: Nima Salami <54304457+hajisan@users.noreply.github.com> Co-authored-by: Arthur Tazhitdinov <lisnake@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Bas van der Ploeg <bas@basvanderploeg.nl> Co-authored-by: martin brook <martin.brook100@googlemail.com>
2026-04-03 17:33:02 -05:00
STR_DELETE: "Slet"
STR_DISPLAY_QR: "Vis side som QR"
STR_CHAPTER_PREFIX: "Kapitel: "
STR_PAGES_SEPARATOR: " sider | "
STR_BOOK_PREFIX: "Bog: "
STR_CALIBRE_URL_HINT: "Tilføj /opds til din URL for Calibre"
STR_PERCENT_STEP_HINT: "Venstre/Højre: 1% Op/Ned: 10%"
STR_SYNCING_TIME: "Synkroniserer tid..."
STR_CALC_HASH: "Beregner dokument-hash..."
STR_HASH_FAILED: "Kunne ikke beregne dokument-hash"
STR_FETCH_PROGRESS: "Henter fjernfremskridt..."
STR_UPLOAD_PROGRESS: "Uploader fremskridt..."
STR_NO_CREDENTIALS_MSG: "Ingen legitimationsoplysninger konfigureret"
STR_KOREADER_SETUP_HINT: "Opsæt KOReader-konto i Indstillinger"
STR_PROGRESS_FOUND: "Fremskridt fundet!"
STR_REMOTE_LABEL: "Ekstern:"
STR_LOCAL_LABEL: "Lokal:"
STR_PAGE_OVERALL_FORMAT: "Side %d, %.2f%% samlet"
STR_PAGE_TOTAL_OVERALL_FORMAT: "Side %d/%d, %.2f%% samlet"
STR_DEVICE_FROM_FORMAT: " Fra: %s"
STR_APPLY_REMOTE: "Anvend fjernfremskridt"
STR_UPLOAD_LOCAL: "Upload lokalt fremskridt"
STR_NO_REMOTE_MSG: "Ingen fjernfremskridt fundet"
STR_UPLOAD_PROMPT: "Upload nuværende position?"
STR_UPLOAD_SUCCESS: "Fremskridt uploadet!"
STR_SYNC_FAILED_MSG: "Synkronisering mislykkedes"
STR_SECTION_PREFIX: "Afsnit "
STR_UPLOAD: "Upload"
STR_BOOK_S_STYLE: "Bogens stil"
STR_EMBEDDED_STYLE: "Indlejret stil"
STR_OPDS_SERVER_URL: "OPDS Server URL"
chore(release): 1.2.0 Release Candidate (#1483) ## Summary It's been a little while since the last release, but the community has been incredibly busy. With 155 changes from 48 contributors (30 of which were new!), there was a lot to cover. Here are some of the highlights: **🔤 Kerning, Ligatures, and Font Improvements** Text rendering gets a significant upgrade with proper kerning and ligature support, fixed-point fractional x-advance for more accurate character placement, and font compression improvements that reduce flash usage. **📝 Footnotes** Footnote anchor navigation lets you select a footnote reference and jump to the footnote text, then jump back. Slim footnotes support is also available for books that use inline footnotes. **📖 EPUB Optimizer** A new integrated EPUB optimizer can clean up and reprocess books for better compatibility with the reader, directly from the device. **🔋 Battery Charging Indicator** You can now see when your device is actively charging, with a visual indicator on the battery icon. **💾 Crash Diagnostics** When something goes wrong, the firmware now dumps a crash report to the SD card — even without USB plugged in. This makes it much easier to report and diagnose issues. **🌐 New Languages** The community continues to expand language support. New in this release: Turkish, Danish, Finnish, Polish, Dutch, Belarusian, Italian, Ukrainian, Romanian, Catalan, Vietnamese, and Kazakh — along with significant improvements to existing translations. **📂 File Management** Multi-select file deletion, BMP image viewer in the file browser, hidden directory browsing, and long-click file deletion from the file browser. **⚡ Performance** Under the hood, text layout switched from `std::list` to `std::vector`, HTML entity lookups are now O(log(n)), font rendering is faster, image decode is 5-20% faster with per-pixel overhead eliminated, and multiple string allocation hot paths were eliminated. Pre-indexing of the next chapter also reduces page-turn latency at chapter boundaries. --- Along with all of the above, there are many other additions including **WebDAV support**, **auto page turn**, **QR code for current page**, **split status bar settings**, **screenshot capture**, **JSON-based settings migration**, **light/dark theme groundwork**, and a long list of stability fixes and translation improvements. ## What's Changed ### Features * feat: Support for kerning and ligatures by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/873 * feat: footnote anchor navigation by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1245 * feat: slim footnotes support by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1031 * feat: integrated epub optimizer by @zgredex and @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 * feat: battery charging indicator (mirroring PR #537) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1427 * feat: dump crash report to sdcard by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1145 * feat: Implement silent pre-indexing for the next chapter in EpubReaderActivity by @LSTAR1900 in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * feat: upgrade platform and support webdav by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * feat: Auto Page Turn for Epub Reader by @GenesiaW in https://github.com/crosspoint-reader/crosspoint-reader/pull/1219 * feat: enhance file deletion functionality with multi-select by @Jessica765 in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * feat: Long Click for File Deletion through File Browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/909 * feat: Take screenshots by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/759 * feat: Current page as QR by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1099 * feat: Download links for web server by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1039 * feat: Added BmpViewer activity for viewing .bmp images in file browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/887 * feat: User setting for image display by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1291 * feat: Show hidden directories in browser by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1288 * feat: Prefer ".sleep" over "sleep" for custom image directory by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/948 * feat: Allow a local configuration file for custom compiles by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/879 * feat: Migrate binary settings to json by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/920 * feat: split status bar setting by @whyte-j in https://github.com/crosspoint-reader/crosspoint-reader/pull/733 * feat: wrapped text in GfxRender, implemented in themes so far by @iandchasse in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * feat: Themed language screen by @CaptainFrito in https://github.com/crosspoint-reader/crosspoint-reader/pull/1020 * feat: set WiFi hostname to CrossPoint-Reader-XXXXXXXXXXXX by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1107 * feat: Add maxAlloc to memory information by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1152 * feat: replace picojpeg with JPEGDEC for JPEG image decoding by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1136 * feat: Add git branch to version information on settings screen by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1225 * feat: sort languages in selection menu by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1071 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1157 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1167 * feat: Vietnamese glyphs support by @danoooob in https://github.com/crosspoint-reader/crosspoint-reader/pull/1147 * feat: add Turkish translation by @barbarhan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * feat: add full Danish translation by @hajisan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * feat: Add Finnish translations by @plahteenlahti in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * feat: Add Polish Language by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * feat: add Dutch translation by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * feat: add Belarusian translation by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1120 * feat: Add full Italian translations by @andreaturchet in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * feat: add Ukrainian translation by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * feat: Add Kazakh (kk) language support by @fsocietyipa in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * feat: added Romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/987 * feat: add Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * feat: Make directories stand out more in local file browser: "[dir]" instead of "dir" by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1339 * feat: Add Polish strings for commits #1219,#1169,#1031 +tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1227 * feat: Polish translation tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1193 ### Fixes * fix: Fix img layout issue / support CSS display:none for elements and images by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1443 * fix: Overlapping battery percentage on image pages with anti-aliasing by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1452 * fix: Fix prewarm perf when a page contains many styles by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1451 * fix: use sleep routine from the original firmware by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1298 * fix: Prevent line breaks on common English contractions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1405 * fix: Build with -fno-exceptions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1412 * fix: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * fix: jpeg resource cleanup by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1320 * fix: back button in settings returns to tab bar first by @Cache8063 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * fix: Init lastSleepImage (edge case) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1360 * fix: Add special handling for apostrophe hyphenation by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1318 * fix: Fix inter-word spacing rounding error in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1311 * fix: load access fault crash by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1370 * fix: Fix bootloop logging crash by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1357 * fix: dump crash log without usb plugged, bump release log to INFO by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1332 * fix: avoid zip filename overflow by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1321 * fix: Hanging indent (negative text-indent) and em-unit sizing by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1229 * fix: Use fixed-point fractional x-advance and kerning for better text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1168 * fix: use HTTPClient::writeToStream for downloading files from OPDS by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1207 * fix: make file system operations thread-safe (HalFile) by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1212 * fix: properly implement requestUpdateAndWait() by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1218 * fix: prevent infinite render loop in Calibre Wireless after file transfer by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1070 * fix: WiFi lifecycle and hyphenation heap defragmentation for KOReader sync by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1151 * fix: Fix coverRendered flag by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1154 * fix: Handle non-ASCII characters in sanitizeFilename by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1132 * fix: Update activity was missing "Back" button label by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1128 * fix: force auto-hinting for Bookerly to fix inconsistent stem widths by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1098 * fix: image centering bleed by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1096 * fix: double free WebDAVHandler by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1093 * fix: Consider extra quotation styles when hyphenating quoted words by @cbix in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * fix: acquire power lock before sleeping by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1125 * fix: Unify inconsistent Wi-Fi/WiFi in Czech translation by @pepastach in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * fix: sdfat warning about redefinition of macro by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1135 * fix: Close leaked file descriptors in SleepActivity and web server by @brbla in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * fix: Enable DESTRUCTOR_CLOSES_FILE flag by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1075 * fix: Change "UI Font Size" to "Reader Font Size" by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1171 * fix: Hide unusable button hints when viewing empty directory by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1253 * fix: broken translations in status bar settings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1188 * fix: clarity issue with ambiguous string `SET` by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1169 * fix: Crash (Load access fault) when indexing chapters containing characters unsupported by bold/italic font variants by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/997 * fix: Increase PNGdec buffer size to support wide images by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/995 * fix: Use HalPowerManager for battery percentage by @vjapolitzer in https://github.com/crosspoint-reader/crosspoint-reader/pull/1005 * fix: Fix dangling pointer by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1010 * fix: re-implementing Cover Outlines for the new Lyra Themes by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1017 * fix: use double FAST_REFRESH to prevent washout on large grey images by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/957 * fix: Fixed Image Sizing When No Width is Set by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * fix: Strip unused CSS rules by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1014 * fix: continue reading card classic theme by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/990 * fix: Destroy CSS Cache file when invalid by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1018 * fix: Shorten "Forget Wifi" button labels to fit on button by @lukestein in https://github.com/crosspoint-reader/crosspoint-reader/pull/1045 * fix: improve Spanish translations by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1054 * fix: Fixed book title in home screen by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1013 * fix: Fix hyphenation and rendering of decomposed characters by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1037 * fix: Improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1338 * fix: improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * fix: improve and add Swedish translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * fix: Extend missing / amend existing German translations by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1226 * fix: update french.yaml file to have a better French translation of the CFW by @Spigaw in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * fix: added romanian translation to new strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1105 * fix: add missing romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1187 * fix: add new Ukrainian translation line for STR_SCREENSHOT_BUTTON by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1149 * fix: Dutch translation prefix correction by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1223 * fix: Small typo in i18n.md regarding C++ identifiers by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * fix: typo in USER_GUIDE.md by @arnaugamez in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * fix: add missing keyboard metrics to Lyra3CoversTheme by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1101 ### Internal * perf: font-compression improvements by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1056 * perf: Improve font drawing performance by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/978 * perf: Replace std::list with std::vector in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1038 * perf: Optimize HTML entities lookup to O(log(n)) by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1194 * perf: UITheme::getMetrics const and const-ref usage by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1094 * perf: Avoid creating strings for file extension checks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1303 * perf: Eliminate per-pixel overheads in image rendering by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1293 * perf: Update github actions for optimal performance with pioarduino by @Jason2866 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * style: Phase 1 - Simple light dark themes by @cdmoro in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * refactor: implement ActivityManager by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1016 * refactor: Simplify REPLACEMENT_GLYPH fallback by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1119 * refactor: Simplify new setting introduction by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1086 * refactor: Use std binary search algorithms for font lookups by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1202 * refactor: rename MyLibrary to FileBrowser by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1260 * refactor: Avoid rebuilding cache path strings by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1300 * refactor: reader utils by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1329 * chore: Remove miniz and modularise inflation logic by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1073 * chore: Resolve several build warnings by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1076 * chore: Removed generated language headers by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1156 * chore: Added generated lang headers to .gitignore by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1158 * chore: remove redundant xTaskCreate by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1264 * chore: Removed unused PlatformIO include directory placeholder by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1417 * chore: micro-optimisation: early exit on fillUncompressedSizes by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1322 * chore: change label while on settings tab actions by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1325 * chore: add firmware size history script by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1235 * chore: Add powershell script for clang-formatting by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1472 * chore: Removed unused ConfirmationActivity member by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1234 * chore: Update russian.yaml by @madebyKir in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * chore: new Ukrainian translation lines by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1199 * chore: new Ukrainian localization strings by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1270 * chore: Polish localization for STR_DELETE by @JonaszPotoniec in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * chore: Image settings Polish localization by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1299 * chore: add missing Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1302 * chore: add missing translations for Romanian by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1265 * chore: Add Portuguese (Portugal) translator to the list by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1211 * chore: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * docs: Add lightweight contributor onboarding documentation by @bilalix in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * docs: ActivityManager migration guide by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1222 * docs: USER_GUIDE.md update for 1.1.0 by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * docs: add quick KOReader sync setup guide by @wjhrdy in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * docs: image support marked as completed by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1008 * feat: aiagent context definition by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/922 * chore: Update SKILL.md to reflect generated i18n files are gitignored by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1423 * fix: ActivityManager tweaks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1220 * fix: Correct relative file paths in SKILL.md documentation by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1304 * fix: add Technically Unsupported section to SCOPE.md by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1295 ## New Contributors * @DestinySpeaker made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * @arnaugamez made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * @angeldenom made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * @cdmoro made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * @bilalix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * @Jessica765 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * @brbla made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * @dexif made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * @mirus-ua made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * @cbix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * @divinitycove made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * @pepastach made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * @Jason2866 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * @andreaturchet made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * @Spigaw made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * @iandchasse made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * @th0m4sek made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * @plahteenlahti made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * @hajisan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * @madebyKir made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * @victordomingos made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * @basvdploeg made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * @wjhrdy made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * @DaniPhii made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * @steka made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * @barbarhan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * @JonaszPotoniec made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * @Cache8063 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * @fsocietyipa made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * @LSTAR1900 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * @zgredex made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 **Full Changelog**: https://github.com/crosspoint-reader/crosspoint-reader/compare/1.1.1...release/1.2.0 --------- Co-authored-by: jpirnay <jens@pirnay.com> Co-authored-by: Dani Poveda <daniphii@outlook.com> Co-authored-by: Baris Albayrak <80099286+barbarhan@users.noreply.github.com> Co-authored-by: Barış Albayrak <barisa@pop-os.lan> Co-authored-by: Stefan Blixten Karlsson <sbkarlsson@gmail.com> Co-authored-by: Àngel <153315454+angeldenom@users.noreply.github.com> Co-authored-by: Jonasz Potoniec <jonasz@potoniec.eu> Co-authored-by: Егор Мартынов <martynovegorOF@yandex.ru> Co-authored-by: Mirus <mirusim@gmail.com> Co-authored-by: Spigaw <73850535+Spigaw@users.noreply.github.com> Co-authored-by: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Co-authored-by: Nima Salami <54304457+hajisan@users.noreply.github.com> Co-authored-by: Arthur Tazhitdinov <lisnake@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Bas van der Ploeg <bas@basvanderploeg.nl> Co-authored-by: martin brook <martin.brook100@googlemail.com>
2026-04-03 17:33:02 -05:00
STR_FOOTNOTES: "Fodnoter"
STR_NO_FOOTNOTES: "Ingen fodnoter på denne side"
STR_LINK: "[link]"
STR_SCREENSHOT_BUTTON: "Tag skærmbillede"
chore(release): 1.2.0 Release Candidate (#1483) ## Summary It's been a little while since the last release, but the community has been incredibly busy. With 155 changes from 48 contributors (30 of which were new!), there was a lot to cover. Here are some of the highlights: **🔤 Kerning, Ligatures, and Font Improvements** Text rendering gets a significant upgrade with proper kerning and ligature support, fixed-point fractional x-advance for more accurate character placement, and font compression improvements that reduce flash usage. **📝 Footnotes** Footnote anchor navigation lets you select a footnote reference and jump to the footnote text, then jump back. Slim footnotes support is also available for books that use inline footnotes. **📖 EPUB Optimizer** A new integrated EPUB optimizer can clean up and reprocess books for better compatibility with the reader, directly from the device. **🔋 Battery Charging Indicator** You can now see when your device is actively charging, with a visual indicator on the battery icon. **💾 Crash Diagnostics** When something goes wrong, the firmware now dumps a crash report to the SD card — even without USB plugged in. This makes it much easier to report and diagnose issues. **🌐 New Languages** The community continues to expand language support. New in this release: Turkish, Danish, Finnish, Polish, Dutch, Belarusian, Italian, Ukrainian, Romanian, Catalan, Vietnamese, and Kazakh — along with significant improvements to existing translations. **📂 File Management** Multi-select file deletion, BMP image viewer in the file browser, hidden directory browsing, and long-click file deletion from the file browser. **⚡ Performance** Under the hood, text layout switched from `std::list` to `std::vector`, HTML entity lookups are now O(log(n)), font rendering is faster, image decode is 5-20% faster with per-pixel overhead eliminated, and multiple string allocation hot paths were eliminated. Pre-indexing of the next chapter also reduces page-turn latency at chapter boundaries. --- Along with all of the above, there are many other additions including **WebDAV support**, **auto page turn**, **QR code for current page**, **split status bar settings**, **screenshot capture**, **JSON-based settings migration**, **light/dark theme groundwork**, and a long list of stability fixes and translation improvements. ## What's Changed ### Features * feat: Support for kerning and ligatures by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/873 * feat: footnote anchor navigation by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1245 * feat: slim footnotes support by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1031 * feat: integrated epub optimizer by @zgredex and @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 * feat: battery charging indicator (mirroring PR #537) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1427 * feat: dump crash report to sdcard by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1145 * feat: Implement silent pre-indexing for the next chapter in EpubReaderActivity by @LSTAR1900 in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * feat: upgrade platform and support webdav by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * feat: Auto Page Turn for Epub Reader by @GenesiaW in https://github.com/crosspoint-reader/crosspoint-reader/pull/1219 * feat: enhance file deletion functionality with multi-select by @Jessica765 in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * feat: Long Click for File Deletion through File Browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/909 * feat: Take screenshots by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/759 * feat: Current page as QR by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1099 * feat: Download links for web server by @el in https://github.com/crosspoint-reader/crosspoint-reader/pull/1039 * feat: Added BmpViewer activity for viewing .bmp images in file browser by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/887 * feat: User setting for image display by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1291 * feat: Show hidden directories in browser by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1288 * feat: Prefer ".sleep" over "sleep" for custom image directory by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/948 * feat: Allow a local configuration file for custom compiles by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/879 * feat: Migrate binary settings to json by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/920 * feat: split status bar setting by @whyte-j in https://github.com/crosspoint-reader/crosspoint-reader/pull/733 * feat: wrapped text in GfxRender, implemented in themes so far by @iandchasse in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * feat: Themed language screen by @CaptainFrito in https://github.com/crosspoint-reader/crosspoint-reader/pull/1020 * feat: set WiFi hostname to CrossPoint-Reader-XXXXXXXXXXXX by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1107 * feat: Add maxAlloc to memory information by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1152 * feat: replace picojpeg with JPEGDEC for JPEG image decoding by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1136 * feat: Add git branch to version information on settings screen by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1225 * feat: sort languages in selection menu by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1071 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1157 * feat: Latin Extended-B European glyphs by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1167 * feat: Vietnamese glyphs support by @danoooob in https://github.com/crosspoint-reader/crosspoint-reader/pull/1147 * feat: add Turkish translation by @barbarhan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * feat: add full Danish translation by @hajisan in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * feat: Add Finnish translations by @plahteenlahti in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * feat: Add Polish Language by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * feat: add Dutch translation by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * feat: add Belarusian translation by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1120 * feat: Add full Italian translations by @andreaturchet in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * feat: add Ukrainian translation by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * feat: Add Kazakh (kk) language support by @fsocietyipa in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * feat: added Romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/987 * feat: add Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * feat: Make directories stand out more in local file browser: "[dir]" instead of "dir" by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1339 * feat: Add Polish strings for commits #1219,#1169,#1031 +tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1227 * feat: Polish translation tweaks by @th0m4sek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1193 ### Fixes * fix: Fix img layout issue / support CSS display:none for elements and images by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1443 * fix: Overlapping battery percentage on image pages with anti-aliasing by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1452 * fix: Fix prewarm perf when a page contains many styles by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1451 * fix: use sleep routine from the original firmware by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1298 * fix: Prevent line breaks on common English contractions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1405 * fix: Build with -fno-exceptions by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1412 * fix: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * fix: jpeg resource cleanup by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1320 * fix: back button in settings returns to tab bar first by @Cache8063 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * fix: Init lastSleepImage (edge case) by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1360 * fix: Add special handling for apostrophe hyphenation by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1318 * fix: Fix inter-word spacing rounding error in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1311 * fix: load access fault crash by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1370 * fix: Fix bootloop logging crash by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1357 * fix: dump crash log without usb plugged, bump release log to INFO by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1332 * fix: avoid zip filename overflow by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1321 * fix: Hanging indent (negative text-indent) and em-unit sizing by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1229 * fix: Use fixed-point fractional x-advance and kerning for better text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1168 * fix: use HTTPClient::writeToStream for downloading files from OPDS by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1207 * fix: make file system operations thread-safe (HalFile) by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1212 * fix: properly implement requestUpdateAndWait() by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1218 * fix: prevent infinite render loop in Calibre Wireless after file transfer by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1070 * fix: WiFi lifecycle and hyphenation heap defragmentation for KOReader sync by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1151 * fix: Fix coverRendered flag by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1154 * fix: Handle non-ASCII characters in sanitizeFilename by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1132 * fix: Update activity was missing "Back" button label by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1128 * fix: force auto-hinting for Bookerly to fix inconsistent stem widths by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1098 * fix: image centering bleed by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1096 * fix: double free WebDAVHandler by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1093 * fix: Consider extra quotation styles when hyphenating quoted words by @cbix in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * fix: acquire power lock before sleeping by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1125 * fix: Unify inconsistent Wi-Fi/WiFi in Czech translation by @pepastach in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * fix: sdfat warning about redefinition of macro by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1135 * fix: Close leaked file descriptors in SleepActivity and web server by @brbla in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * fix: Enable DESTRUCTOR_CLOSES_FILE flag by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1075 * fix: Change "UI Font Size" to "Reader Font Size" by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1171 * fix: Hide unusable button hints when viewing empty directory by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1253 * fix: broken translations in status bar settings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1188 * fix: clarity issue with ambiguous string `SET` by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1169 * fix: Crash (Load access fault) when indexing chapters containing characters unsupported by bold/italic font variants by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/997 * fix: Increase PNGdec buffer size to support wide images by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/995 * fix: Use HalPowerManager for battery percentage by @vjapolitzer in https://github.com/crosspoint-reader/crosspoint-reader/pull/1005 * fix: Fix dangling pointer by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1010 * fix: re-implementing Cover Outlines for the new Lyra Themes by @Levrk in https://github.com/crosspoint-reader/crosspoint-reader/pull/1017 * fix: use double FAST_REFRESH to prevent washout on large grey images by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/957 * fix: Fixed Image Sizing When No Width is Set by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * fix: Strip unused CSS rules by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1014 * fix: continue reading card classic theme by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/990 * fix: Destroy CSS Cache file when invalid by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1018 * fix: Shorten "Forget Wifi" button labels to fit on button by @lukestein in https://github.com/crosspoint-reader/crosspoint-reader/pull/1045 * fix: improve Spanish translations by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1054 * fix: Fixed book title in home screen by @DestinySpeaker in https://github.com/crosspoint-reader/crosspoint-reader/pull/1013 * fix: Fix hyphenation and rendering of decomposed characters by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1037 * fix: Improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1338 * fix: improve and add Spanish translations by @DaniPhii in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * fix: improve and add Swedish translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * fix: Extend missing / amend existing German translations by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1226 * fix: update french.yaml file to have a better French translation of the CFW by @Spigaw in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * fix: added romanian translation to new strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1105 * fix: add missing romanian strings by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1187 * fix: add new Ukrainian translation line for STR_SCREENSHOT_BUTTON by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1149 * fix: Dutch translation prefix correction by @basvdploeg in https://github.com/crosspoint-reader/crosspoint-reader/pull/1223 * fix: Small typo in i18n.md regarding C++ identifiers by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * fix: typo in USER_GUIDE.md by @arnaugamez in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * fix: add missing keyboard metrics to Lyra3CoversTheme by @dexif in https://github.com/crosspoint-reader/crosspoint-reader/pull/1101 ### Internal * perf: font-compression improvements by @adriancaruana in https://github.com/crosspoint-reader/crosspoint-reader/pull/1056 * perf: Improve font drawing performance by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/978 * perf: Replace std::list with std::vector in text layout by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1038 * perf: Optimize HTML entities lookup to O(log(n)) by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1194 * perf: UITheme::getMetrics const and const-ref usage by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1094 * perf: Avoid creating strings for file extension checks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1303 * perf: Eliminate per-pixel overheads in image rendering by @martinbrook in https://github.com/crosspoint-reader/crosspoint-reader/pull/1293 * perf: Update github actions for optimal performance with pioarduino by @Jason2866 in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * style: Phase 1 - Simple light dark themes by @cdmoro in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * refactor: implement ActivityManager by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1016 * refactor: Simplify REPLACEMENT_GLYPH fallback by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1119 * refactor: Simplify new setting introduction by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1086 * refactor: Use std binary search algorithms for font lookups by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1202 * refactor: rename MyLibrary to FileBrowser by @osteotek in https://github.com/crosspoint-reader/crosspoint-reader/pull/1260 * refactor: Avoid rebuilding cache path strings by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1300 * refactor: reader utils by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1329 * chore: Remove miniz and modularise inflation logic by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1073 * chore: Resolve several build warnings by @daveallie in https://github.com/crosspoint-reader/crosspoint-reader/pull/1076 * chore: Removed generated language headers by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1156 * chore: Added generated lang headers to .gitignore by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1158 * chore: remove redundant xTaskCreate by @ngxson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1264 * chore: Removed unused PlatformIO include directory placeholder by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1417 * chore: micro-optimisation: early exit on fillUncompressedSizes by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1322 * chore: change label while on settings tab actions by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1325 * chore: add firmware size history script by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1235 * chore: Add powershell script for clang-formatting by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/1472 * chore: Removed unused ConfirmationActivity member by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1234 * chore: Update russian.yaml by @madebyKir in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * chore: new Ukrainian translation lines by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1199 * chore: new Ukrainian localization strings by @mirus-ua in https://github.com/crosspoint-reader/crosspoint-reader/pull/1270 * chore: Polish localization for STR_DELETE by @JonaszPotoniec in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * chore: Image settings Polish localization by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1299 * chore: add missing Catalan strings by @angeldenom in https://github.com/crosspoint-reader/crosspoint-reader/pull/1302 * chore: add missing translations for Romanian by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1265 * chore: Add Portuguese (Portugal) translator to the list by @victordomingos in https://github.com/crosspoint-reader/crosspoint-reader/pull/1211 * chore: Reduce flash usage by cleaning up I18n translations by @steka in https://github.com/crosspoint-reader/crosspoint-reader/pull/1401 * docs: Add lightweight contributor onboarding documentation by @bilalix in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * docs: ActivityManager migration guide by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1222 * docs: USER_GUIDE.md update for 1.1.0 by @divinitycove in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * docs: add quick KOReader sync setup guide by @wjhrdy in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * docs: image support marked as completed by @ariel-lindemann in https://github.com/crosspoint-reader/crosspoint-reader/pull/1008 * feat: aiagent context definition by @jpirnay in https://github.com/crosspoint-reader/crosspoint-reader/pull/922 * chore: Update SKILL.md to reflect generated i18n files are gitignored by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1423 * fix: ActivityManager tweaks by @znelson in https://github.com/crosspoint-reader/crosspoint-reader/pull/1220 * fix: Correct relative file paths in SKILL.md documentation by @pablohc in https://github.com/crosspoint-reader/crosspoint-reader/pull/1304 * fix: add Technically Unsupported section to SCOPE.md by @Uri-Tauber in https://github.com/crosspoint-reader/crosspoint-reader/pull/1295 ## New Contributors * @DestinySpeaker made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1002 * @arnaugamez made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1036 * @angeldenom made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1049 * @cdmoro made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1006 * @bilalix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/894 * @Jessica765 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/682 * @brbla made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/869 * @dexif made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1047 * @mirus-ua made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1065 * @cbix made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1077 * @divinitycove made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1108 * @pepastach made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1138 * @Jason2866 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1080 * @andreaturchet made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1144 * @Spigaw made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1130 * @iandchasse made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1141 * @th0m4sek made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1155 * @plahteenlahti made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1133 * @hajisan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1146 * @madebyKir made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1198 * @victordomingos made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1210 * @basvdploeg made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1204 * @wjhrdy made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1181 * @DaniPhii made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1254 * @steka made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1317 * @barbarhan made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1192 * @JonaszPotoniec made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1323 * @Cache8063 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1354 * @fsocietyipa made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1377 * @LSTAR1900 made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/979 * @zgredex made their first contribution in https://github.com/crosspoint-reader/crosspoint-reader/pull/1224 **Full Changelog**: https://github.com/crosspoint-reader/crosspoint-reader/compare/1.1.1...release/1.2.0 --------- Co-authored-by: jpirnay <jens@pirnay.com> Co-authored-by: Dani Poveda <daniphii@outlook.com> Co-authored-by: Baris Albayrak <80099286+barbarhan@users.noreply.github.com> Co-authored-by: Barış Albayrak <barisa@pop-os.lan> Co-authored-by: Stefan Blixten Karlsson <sbkarlsson@gmail.com> Co-authored-by: Àngel <153315454+angeldenom@users.noreply.github.com> Co-authored-by: Jonasz Potoniec <jonasz@potoniec.eu> Co-authored-by: Егор Мартынов <martynovegorOF@yandex.ru> Co-authored-by: Mirus <mirusim@gmail.com> Co-authored-by: Spigaw <73850535+Spigaw@users.noreply.github.com> Co-authored-by: ariel-lindemann <41641978+ariel-lindemann@users.noreply.github.com> Co-authored-by: Nima Salami <54304457+hajisan@users.noreply.github.com> Co-authored-by: Arthur Tazhitdinov <lisnake@gmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Bas van der Ploeg <bas@basvanderploeg.nl> Co-authored-by: martin brook <martin.brook100@googlemail.com>
2026-04-03 17:33:02 -05:00
STR_AUTO_TURN_ENABLED: "Automatisk sidevendning aktiveret: "
STR_AUTO_TURN_PAGES_PER_MIN: "Automatisk vending (sider per minut)"