Skip to content

Releases: readest/readest

Readest 0.10.6

13 Apr 10:56
1088af0

Choose a tag to compare

Release Highlight

  • Library: Much faster browsing for large collections
  • Reading: Added an option to keep the book's original paragraph layout
  • Reading: Fixed page navigation for Arabic books
  • PDF: Fixed TTS reading interruptions at line breaks in PDFs
  • PDF: You can now apply your chosen theme colors to PDFs
  • Sync: Added HTTP Basic auth support for CWA
  • Sync: Improved progress sync with Hardcover.app
  • OPDS: You can now edit your registered catalogs, with better handling of download filenames
  • Speed Reading: Your reading position now syncs across devices
  • Platform: Fixed window buttons on macOS, reduced crashes on iOS

What's Changed

  • fix(ui): restore highlight options layout and clean up color name editing by @chrox in #3776
  • feat(library): align grid hover highlight corner radius by @WhiteHades in #3774
  • Updating Hardcover progress sync logic (Issue #3775) by @AnandakrishnanV in #3777
  • fix(dictionary): add Chinese dictionary lookup with pinyin support by @pythontyphon in #3784
  • fix(style): clamp oversized hardcoded pixel widths and fix browser test flakiness by @chrox in #3785
  • docs: add threat model and incident response plan to SECURITY.md by @chrox in #3788
  • Use key attrs to prevent form field issues by @zb140 in #3791
  • Support HTTP Basic auth for kosync connections by @zb140 in #3792
  • fix(security): prevent SSRF in kosync proxy by @chrox in #3793
  • chore(security): update CodeQL workflow to remove languages by @chrox in #3794
  • fix(pdf): add an option to apply theme colors to PDF, closes #3778 by @chrox in #3799
  • refactor(sidebar): replace react-window and OverlayScrollbars with react-virtuoso and CSS scrollbars by @lexm2 in #3798
  • Potential fix for code scanning alert no. 19: DOM text reinterpreted as HTML by @chrox in #3802
  • Potential fix for code scanning alert no. 12: Use of externally-controlled format string by @chrox in #3803
  • chore(deps): bump actions/checkout from 4 to 6 in the github-actions group by @dependabot[bot] in #3805
  • Potential fix for code scanning alert no. 11: Incomplete multi-character sanitization by @chrox in #3804
  • fix: complete multi-character sanitization for HTML comments in txt.ts by @chrox in #3806
  • fix: add explicit permissions to GitHub Actions workflows by @chrox in #3807
  • fix(annotator): fixed instant annotation in scrolled mode, closes #3769 by @chrox in #3808
  • refactor(reader): priority-based touch interceptor for gesture handling by @chrox in #3809
  • feat(rsvp): sync reading position to cloud via book_configs by @lexm2 in #3801
  • fix(opds): handle spaces and quotes in Content-Disposition filename p… by @zeedif in #3812
  • chore(scripts): add worktree management for isolated PR review and feature work by @chrox in #3810
  • fix(layout): fix off-by-one page count on fractional DPR devices by @chrox in #3813
  • fix(tts): skip br elements in PDF text layer to prevent TTS interruptions, closes #3771 by @chrox in #3811
  • fix(opds): improve robustness of Content-Disposition filename parsing by @zeedif in #3816
  • feat(opds): allow editing of registered catalogs by @zeedif in #3814
  • fix(rtl): fix page navigation for Arabic books by @lexm2 in #3817
  • fix: apply disable click to paginate also for non-iframe clicks by @chrox in #3818
  • feat(tts): support edge tts on cloudflare worker by @chrox in #3819
  • fix(eink): remove scroll animation in eink mode and optimize eink detection by @chrox in #3822
  • fix(layout): fixed bleed layout of images by @chrox in #3823
  • fix(library): restore breadcrumb 'All' navigation broken by next-view-transitions by @chrox in #3829
  • perf: optimize library operations for large collections by @lexm2 in #3827
  • fix(library): fixed the All button in groups breadcrumbs navigation bar, closes #3782 by @chrox in #3832
  • feat(library): navigate to previous group with the Back button on Android, closes #2675 by @chrox in #3833
  • perf(library): virtualize grid and list of book items when rendering library page by @chrox in #3835
  • fix(deps): resolve 13 Dependabot security alerts by @chrox in #3840
  • fix(deps): add pnpm override for qs >=6.14.2 by @chrox in #3841
  • fix(ios): reduce GPU memory to prevent WebKit crash on library navigation by @chrox in #3842
  • fix(macOS): don't show window button when traffic lights are on the header, closes #3831 by @chrox in #3843
  • Update package installation for Linux-x64 by @Drsheppard01 in #3845
  • chore(agent): use claude in chrome for web based qa by @chrox in #3847
  • fix(ux): optimize scrolling UX for the bookshelf and sidebar content by @chrox in #3849
  • feat(annotator): support instant copy operation for selected text, closes #3828 by @chrox in #3854
  • refactor(settings): persist the apply-globally toggle per book by @chrox in #3856
  • fix(settings): fixed color picker for custom highlight colors, closes #3796 by @chrox in #3857
  • feat(settings): add an option to avoid overriding paragraph layout, closes #3824 by @chrox in #3858
  • fix(android): use stable safe area insets to avoid unnecessary layout shift, closes #3670 by @chrox in #3859
  • release: version 0.10.6 by @chrox in #3861

New Contributors

Full Changelog: v0.10.4...v0.10.6

Readest 0.10.4

05 Apr 17:57
3174e34

Choose a tag to compare

Release Highlight

  • Annotations: You can now name your highlight colors, and your custom names sync across devices
  • Annotations: Fixed highlights that stayed on the page after being deleted from the sidebar
  • Speed Reading: Added an option to split long words, a faster countdown
  • Text-to-Speech: Fixed double playback when tapping the play button in quick succession
  • Accessibility: Dropdown menus now open reliably when activated with the keyboard
  • Reading: Background textures now display correctly when you override the theme background color
  • Translation: Temporarily disabled the Yandex provider while its service is unavailable

What's Changed

  • fix(hardcover): use Tauri HTTP plugin to bypass CORS and coerce search IDs by @chrox in #3752
  • feat(i18n): add Hungarian translation by @chrox in #3753
  • feat: add named highlight colors with sync and picker ux fixes by @WhiteHades in #3741
  • feat(rsvp): split words option, faster countdown, and skip pages RSVP cant open by @lexm2 in #3755
  • chore(deps): bump Next.js to version 16.2.2 by @chrox in #3757
  • fix: clear highlight overlay when deleting annotation from sidebar, closes #3756 by @chrox in #3758
  • fix(layout): use mobile footer bar in portrait mode without regressing phone panel animation by @chrox in #3759
  • fix(sync): show last push time as the last sync time by @chrox in #3760
  • fix(style): let background texture take precedence over overridden background color by @chrox in #3761
  • fix(a11y): fixed keyboard activation of dropdown menu by @chrox in #3762
  • fix(tts): prevent double playback on rapid TTS icon clicks by @chrox in #3764
  • fix(translate): disable yandex provider while upstream relay is down by @chrox in #3765
  • release: version 0.10.4 by @chrox in #3767

Full Changelog: v0.10.2...v0.10.4

Readest 0.10.2

04 Apr 19:26
531dbe5

Choose a tag to compare

Release Highlight

  • Reading: Added single section scroll option, keyboard shortcuts help dialog, and reading ruler improvements
  • Reading: Fixed Adobe font deobfuscation and applied theme colors to PDFs
  • Reading: Fixed paginator freeze, image sizing on resize, and vertical writing mode compatibility
  • Annotations: Fixed annotations grouped under wrong chapter and added highlight opacity setting
  • Text-to-Speech: Added dedicated TTS settings tab with highlight opacity and keyboard shortcuts for navigation
  • Sync: Added Hardcover.app sync integration and improved KOSync progress accuracy
  • KOReader Plugin: Added full annotation sync option and fixed sync-related crashes
  • OPDS: Added custom catalog headers with web proxy consent and fixed feed display issues
  • Speed Reading: Added per-chapter progress bar and speed selector dropdown
  • Android: Added D-pad navigation for Android TV remote controller
  • Theme: Added atmosphere Easter egg with video overlay and ambient audio

What's Changed

  • fix(release): skip architecture check for 32-bit ARM by @chrox in #3589
  • chore(release): disable linux-arm build for now as turso can't work on it for now by @chrox in #3590
  • chore(release): generate changelog from release notes for google play by @chrox in #3591
  • fix(koplugin): fixed koreader crash on logout, closes #3598 by @chrox in #3603
  • fix(pdf): apply theme colors for PDFs, closes #3593 by @chrox in #3626
  • fix(library): mixed sorting for group and ungroupped books, closes #3596 by @chrox in #3627
  • compat(android): disable native long-click on the WebView to prevent the system image context menu, closes #3629 by @chrox in #3630
  • chore(deps): bump android-actions/setup-android from 3 to 4 in the github-actions group by @dependabot[bot] in #3631
  • fix(koplugin): prevent resurrecting deleted highlights and duplicate overlays on notes pull by @leekaize in #3639
  • chore: bump next.js, opennextjs and wrangler to the latest versions by @chrox in #3642
  • fix: show proper background images in continuous scrolled mode, closes #3638 by @chrox in #3645
  • fix(android): never try to fight with the navigation bar on Android ever, closes #3618 by @chrox in #3646
  • chore: bump turso to the latest version by @chrox in #3650
  • feat(tts): add shortcuts to navigate and play/pause in TTS mode, closes #3620 by @chrox in #3651
  • feat: add keyboard shortcuts help dialog by @chrox in #3653
  • fix(eink): disable range editor loupe for annotations on Eink devices, closes #3655 by @chrox in #3656
  • fix(opds): fixed image download from ODPS server on the web, closes #3649 by @chrox in #3658
  • feat(android): add foss flavor build without gms services by @chrox in #3666
  • feat(scroll): add single section scroll option, closes #3663 by @chrox in #3668
  • chore(release): exclude turso wasm in app builds by @chrox in #3674
  • chore(fdroid): get rid of wasm binaries in fdroid build by @chrox in #3677
  • chore(fdroid): build qcms wasm for fdroid by @chrox in #3680
  • css: add css selector for status badge, closes #3678 by @chrox in #3684
  • layout: don't truncate remaining progress info without status info, closes #3678 by @chrox in #3685
  • fix(layout): fixed infinite expand calls and freeze in the paginator, closes #3683 by @chrox in #3690
  • fix(layout): fixed infinite expand calls and freeze in the paginator, closes #3683 by @chrox in #3692
  • fix(shortcuts): change bookmark shortcut from Ctrl+D to Ctrl+B by @chrox in #3691
  • chore(deps): bump vulnerable dependencies to address Dependabot alerts by @chrox in #3693
  • chore: migrate from ESLint to Biome for linting by @chrox in #3694
  • fix(fonts): fix Adobe font deobfuscation and CSS var fallbacks by @chrox in #3696
  • i18n: update translations for aria label by @chrox in #3697
  • fix(layout): fix primary view detection on fractional DPR devices, closes #3681 by @chrox in #3701
  • fix(iOS): use correct system theme mode in auto mode on iOS, closes #3698 by @chrox in #3704
  • fix(opds): fix Copyparty books showing as "Untitled" in mixed feeds, closes #3667 by @chrox in #3705
  • fix(annotations): fix all annotations grouped under last chapter for fragment-href TOCs by @chrox in #3706
  • feat(settings): add TTS settings tab and highlight opacity, closes #3661 by @chrox in #3712
  • chore(test): add unit tests and enforce dash-case naming for test files by @chrox in #3715
  • feat(i18n): add Romanian (ro) translation by @teodorcosma in #3708
  • chore(bump): bump Tauri to the latest version by @chrox in #3716
  • fix(library): always sort series books by index ascending, closes #3709 by @chrox in #3717
  • feat(sync): add full sync option for annotations in koplugin by @chrox in #3718
  • fix(storage): paginate stats query and align file size formatting by @chrox in #3720
  • chore(agent): update agent skills and memories by @chrox in #3721
  • feat: make reading ruler selection and step navigation coherent by @WhiteHades in #3722
  • feat(rsvp): progress bar per chapter, speed selector dropdown, and UX improvements by @lexm2 in #3723
  • feat(theme): add atmosphere easter egg with video overlay and ambient audio by @chrox in #3727
  • fix(android): auto-shutdown native TTS engine after idle to save battery by @chrox in #3728
  • fix(layout): fixed static image size and layout shift on window resize, closes #3634 by @chrox in #3729
  • fix: preserve paragraph mode reading layouts and other UI/UX fixes by @WhiteHades in #3730
  • feat: Hardcover.app Sync by @AnandakrishnanV in #3724
  • fix(kosync): don't normalize xpointer for more accurate progress sync, closes #3672 and closes #3616 by @chrox in #3733
  • fix(paginator): fixed paginator section preloading, closes #3600 and closes #3601 by @chrox in #3734
  • fix: fixed status info layout in vertical mode, fixed Android build by @chrox in #3735
  • feat(opds): support custom catalog headers with web proxy consent by @ShunnyBunny in #3740
  • compat(vertical): check writing mode also for child element of body, closes #3583 by @chrox in #3743
  • fix(android): get rid of the outline on the header and footer bar when using remote control to turn page by @chrox in #3744
  • feat(android): add D-pad navigation for Android TV remote controller by @chrox in #3745
  • fix(android): use mobile footer bar in portrait mode, closes #3742 by @chrox in #3746
  • fix(tts): avoid race condition in preloadNextSSML causing wrong highlights by @chrox in #3748
  • fix(layout): fixed layout of progress bar in vertical mode by @chrox in #3749
  • release: version 0.10.2 by @chrox in #3750

New Contributors

Full Changelog: v0.10.1...v0.10.2

Readest 0.10.1

22 Mar 12:30
c11f79e

Choose a tag to compare

Release Highlight

  • Reading: Added continuous scroll and spread layout support for EPUBs
  • Reading: Added current time and battery display in footer
  • Reading: Added TTS, annotation support, pinch-to-zoom, and scroll mode for PDFs
  • Library: Added backup/restore to a zip file and batch metadata refresh
  • KOReader: Added bookmark and annotation sync between KOReader and Readest devices
  • Footnotes: Added back navigation with link history and more responsive popup sizing
  • Annotations: Added loupe display when selecting text in instant annotation mode
  • Text-to-Speech: Fixed TTS reading position tracking in scrolled mode

What's Changed

  • chore(agents): add AGENTS.md for readest-app by @chrox in #3415
  • fix(linux): avoid transitions API on WebKitGTK on Linux by @chrox in #3417
  • fix(layout): responsive layout for OPDS catalogs and download button by @chrox in #3418
  • chore: bump dependencies to resolve Dependabot alerts by @chrox in #3421
  • fix(translation): resolve DeepL translation failure with auto-detection by @bfcs in #3412
  • fix(translation): reduce initial layout shift in the translation view, closes #3078 by @chrox in #3428
  • fix(layout): respect grid insets for the zoom controller, closes #3426 by @chrox in #3430
  • feat(footnote): add back navigation for footnote popup with link history, closes #3420 by @chrox in #3434
  • fix(translation): handle missing Cloudflare context on non-Cloudflare deployments (e.g., Vercel) by @bfcs in #3433
  • fix(gallery): support displaying svg image in image gallery mode, closes #3427 by @chrox in #3435
  • Update translation.json by @StepanSad in #3423
  • Fix: Non-ASCII characters break OPDS Catalog auth by @IGCFck in #3436
  • feat(font): support loading custom font if embedded fonts in EPUBs are missing by @chrox in #3439
  • compat(css): support duokan-page-fullscreen in spine to display cover image in fullscreen, closes #3424 by @chrox in #3443
  • fix(css): properly constrain the max width and height of images, closes #3432 by @chrox in #3444
  • fix(toc): correct TOC grouping to prevent unnecessary nested layers by @chrox in #3445
  • fix(txt): more robust chapter extractor for TXT by @chrox in #3446
  • fix(css): unset padding and margin in body, closes #3441 by @chrox in #3452
  • feat(footnote): make popup window size more responsive for longer footnotes, closes #3425 by @chrox in #3454
  • i18n: add translations for Slovenian(sl), closes #3453 by @chrox in #3455
  • fix(tts): handle documents without lang attribute or XHTML namespace, closes #3291 by @chrox in #3456
  • fix(css): unset hardcoded calibre color and background color, closes #3448 by @chrox in #3457
  • feat(reader): adding current Time and Battery to Footer (#3306) by @scinac in #3402
  • Added <0> and <1> tags to the Slovenian translation by @Blyrium in #3460
  • chore: bump turso to 0.5.0 by @chrox in #3475
  • chore(database): unit testing and feature detect for fts and vector search by @chrox in #3476
  • fix(metadata): parse series info from epub only when book series info not available by @chrox in #3478
  • fix(footnote): add overflow-wrap to footnote popup to prevent long words from overflowing by @chrox in #3479
  • chore(testing): add Tauri integration tests and E2E test infrastructure by @chrox in #3483
  • feat(database): support turso fts in tauri apps by @chrox in #3484
  • feat(database): add platform-agnostic schema migration system by @chrox in #3485
  • chore: experimental vinext build by @chrox in #3486
  • feat(setting) impl settings option: hide Scrollbar of scroll mode (#3480) by @srsng in #3481
  • fix(sidebar): use position fixed and transform for mobile sidebar by @chrox in #3490
  • feat(pdf): support TTS and annotation on PDFs, closes #2149 & #3462 by @chrox in #3493
  • fix(layout): update safe insets in reader page, closes #3469 by @chrox in #3497
  • fix(css): apply Line Spacing to list elements, closes #3494 by @chrox in #3498
  • fix(macOS): fix traffic light visibility in sidebar, closes #3488 by @chrox in #3499
  • chore(ci): fix rust cache by @chrox in #3500
  • compat(android): show button navigation bar on Android, closes #3466 by @chrox in #3501
  • fix(txt): add stream() to RemoteFile to fix large TXT import on desktop by @chrox in #3502
  • fix(layout): add top/bottom margin to container in scrolled mode, closes #3463 by @chrox in #3504
  • fix(reader): apply alwaysOnTop to all windows and on reader init, closes #3482 by @chrox in #3505
  • fix(a11y): improve TOC screen reader accessibility for NVDA, closes #3477 by @chrox in #3509
  • feat(reader): tap notch area to scroll to top in scrolled mode, closes #3474 by @chrox in #3510
  • feat(a11y): show prev/next section buttons for screen reader, closes #3290 by @chrox in #3511
  • fix(layout): make horizontal scroll bar visible in fixed-layout EPUB, closes #3506 by @chrox in #3512
  • fix(pdf): show search results when navigating to new page, closes #3148 by @chrox in #3513
  • feat(pdf): support pitch to zoom and scroll mode for PDFs, closes #3461 by @chrox in #3520
  • fix(i18n): handle POSIX locale values in getLocale(), closes #3518 by @chrox in #3522
  • compat(footnote): support more footnote selectors, closes #3515 by @chrox in #3523
  • fix(library): improve sorting and grouping interaction, closes #3517 by @chrox in #3524
  • fix(link): prevent opening duplicate browser tabs on Tauri, closes #3514 by @chrox in #3525
  • Update docker db schema to match FileRecords by @azeemba in #3527
  • feat(rsvp): add persistent context, display settings, and layout improvements, closes #3333 by @chrox in #3528
  • fix(opds): more accurate error message when downloading books, closes #2656 by @chrox in #3529
  • feat(node): refactor appService into focused service modules and add app service for Node runtime by @chrox in #3530
  • doc(agent): add rules files that are automatically loaded into context alongside CLAUDE.md by @chrox in #3532
  • chore: bump dependencies for Dependabot alerts by @chrox in #3533
  • feat(booshelf): dedupe books with the same meta hash by @chrox in #3535
  • fix(export): apply block quote syntax to every line in annotation export, closes #3534 by @chrox in #3536
  • feat(epub): support continuous scroll and spread layout for EPUBs, closes #3419 and closes #1745 by @chrox in #3546
  • refactor(reader): extract shared panel drag hooks and add vertical drag to Notebook by @chrox in #3548
  • fix(layout): fix parallel read layout on smaller screens by @chrox in #3549
  • fix(progress): show remaining pages for current section instead of all loaded sections by @chrox in #3550
  • fix(android): fix page navigation layer z-index, closes #3511 by @chrox in #3552
  • fix(ios): decode percent-encoded file URIs in copy_uri_to_path by @chrox in #3553
  • feat: scroll to the nearest search results or annotation lists by @chrox in #3555
  • compat(css): fix table layout regression issue, closes #3551 by @chrox in #3556
  • chore(agent): add gstack skills by @chrox in #3557
  • fix(layout): more responsive layout for the transfer queue by @chrox in #3558
  • fix(ios): resolve stale closure crash preventing highlight popup on iOS by @chrox in #3559
  • fix(layout): fixed header background color on mobile devices by @chrox in https://github.com/readest/readest/pull/...
Read more

Readest 0.9.101

28 Feb 08:51
66d2fdf

Choose a tag to compare

Release Highlight

  • Text-to-Speech: Fixed an issue where TTS could not continue to the next chapter
  • Reading: Fixed an issue importing very large TXT files on iOS
  • Reading: Fixed the layout of the reading ruler in scrolled mode
  • Reading: Smoother page-turn animations for a more fluid experience
  • Reading: Added a gallery mode to zoom and browse images within books
  • Annotations: Page numbers are now displayed and exported with highlights and notes
  • Annotations: Added support for exporting highlights to Readwise
  • OPDS: Fixed missing book descriptions in OPDS feeds
  • Android: Improved compatibility with older WebView versions on Android

What's Changed

  • fix: reader ruler disabled in scroll mode by @WhiteHades in #3288
  • fix(annotator): update highlight style, color and range handlers when showing different annotations, closes #3286 by @chrox in #3289
  • fix: highlight in dark mode eink by @WhiteHades in #3299
  • fix(tts): fixed an issue where starting TTS from the annotation tool did not work, closes #3292 by @chrox in #3303
  • feat: remaining time in TTS mode by @WhiteHades in #3300
  • fix(layout): container layout for dimmed area of reading ruler, closes #3304 by @chrox in #3313
  • fix(reader): clamp reading ruler within viewport by @WhiteHades in #3314
  • feat(docker/podman): self-hosting with docker/podman compose by @aniketkotal in #3312
  • feat(ui): image viewing mode support by @JustADeer in #3328
  • feat: Readwise highlights sync by @8bitgentleman in #3311
  • fix: case-insensitive handling in iframeEventHandlers by @JustADeer in #3349
  • fix(epub): replace background also for scrolled mode, closes #3344 by @chrox in #3350
  • fix: add classes for progress info labels, closes #3343 by @chrox in #3353
  • fix(layout): consistent padding and radius for the dialog header, closes #3352 by @chrox in #3356
  • compat(layout): fix insane block display for tables, closes #3351 by @chrox in #3358
  • fix(layout): also scale table with parent width, closes #3284 by @chrox in #3359
  • fix: empty paragraphs not skipped in paragraph mode by @WhiteHades in #3361
  • feat: add directional view transitions with scroll preservation in library view, closes #3357 by @chrox in #3362
  • compat(css): unset font-family for body when set to serif or sans-serif, closes #3334 by @chrox in #3363
  • feat(translator): add Khmer in translator target languages, closes #3323 by @chrox in #3364
  • fix(css): override inline image background color only when overriding book color, closes #3316 by @chrox in #3365
  • compat(webview): compat with older webview for iterating gamepads by @chrox in #3366
  • Allow CSS targeting of the "NUMBER pages left in chapter" label via <Trans> component by @Blyrium in #3368
  • chore: add husky pre-commit and pre-push hooks by @chrox in #3372
  • compat(css): unset none user-select in some EPUBs, closes #3370 by @chrox in #3374
  • fix: delay context menu to prevent broken input loop on macOS, closes #3324 by @chrox in #3378
  • compat(css): only override img background when overriding book color, closes #3377 by @chrox in #3379
  • compat: add target class to hide import icon in the bookshelf, closes #3376 by @chrox in #3380
  • fix: more sensitive paging without snapping animation, closes #3310 by @chrox in #3381
  • fix(notebook): close searchbar when adding or editing an annotation by @AlanSilvaaa in #3384
  • perf: use GPU-accelerated scroll for smoother paging animation by @chrox in #3385
  • fix(txt): stabilize iOS large TXT import and decode picker paths by @royisme in #3320
  • fix(layout): float the annotation navigation bar, closes #3386 by @chrox in #3387
  • fix(layout): enlarge hit area for slider input on iOS, closes #3382 by @chrox in #3389
  • fix(ui): show progress 100% at the last page, closes #3383 by @chrox in #3390
  • fix: fixed all progress at the last page of the book, closes #3383 by @chrox in #3391
  • fix(tts): set document lang attribute when missing or invalid for TTS, closes #3291 by @chrox in #3393
  • Fix generic font family keywords bypassing user font settings by @Blyrium in #3394
  • fix(iOS): correct sidebar insets on iPad and resolve occasional stale safe area inset on iOS by @chrox in #3395
  • fix(tts): also show highlight when navigating in paused mode and improve abbreviations processing by @chrox in #3396
  • fix(toc): fix phantom subchapter TOC item by @chrox in #3397
  • fix: make touchpad scrolling respect the system’s natural scrolling settings, closes #3127 by @chrox in #3398
  • feat(annotator): add page number for annotations, closes #3082 by @chrox in #3405
  • fix: respect fixed translation quota in UI stats and DeepL provider by @bfcs in #3404
  • fix(tts): dispose of the TTS view when shutting down the TTS controller, closes #3400 by @chrox in #3406
  • fix(opds): add missing book description in OPDS feed by @chrox in #3408
  • fix(annotator): add page number in highlight export to Readwise by @chrox in #3409
  • release: version 0.9.101 by @chrox in #3410

New Contributors

Full Changelog: v0.9.100...v0.9.101

Readest 0.9.100

12 Feb 17:09
f647394

Choose a tag to compare

Release Highlight

  • Text-to-Speech: Automatically moves to the next chapter when the current chapter finishes
  • Reading: Fixed the reading ruler on Android
  • Reading: Improved RSVP layout and stability
  • Reading: Fixed an issue where some EPUB books could not adjust font size
  • Annotations: Added a magnifier (loupe) when adjusting text selection
  • Annotations: Text selection now snaps to word boundaries for better accuracy
  • Annotations: Custom highlight colors now apply correctly in the sidebar
  • Dictionary: Added a back button for easier navigation
  • Dictionary: Fixed an issue where Dictionary and Wikipedia could not open on Android
  • Metadata: Added collapsible sections in Book Details
  • Metadata: Added support for parsing series information from Calibre-exported EPUB files
  • Eink: Improved component layout and colors in E-ink mode
  • Layout: Sidebar toggle button position is now persistent

What's Changed

  • fix(layout): show navigation buttons with higher z-index, closes #3201 by @chrox in #3204
  • fix: reader ruler unresponsive in android by @WhiteHades in #3210
  • fix: para mode nav buttons issue in eink by @WhiteHades in #3212
  • i18n: add support for Hebrew, closes #3216 by @chrox in #3218
  • feat: back button dictionary by @WhiteHades in #3220
  • fix: status button eink compatible by @WhiteHades in #3223
  • fix(android): fixed some annotation tools not responsive to tap on Android, closes #3225 by @chrox in #3229
  • feat(l10n): format sync date time with current locale, closes #3219 by @chrox in #3230
  • fix(progress): show physical left pages instead of estimated ones, closes #3213 and closes #3200 by @chrox in #3231
  • doc: update toubleshooting and features list, closes #3224 by @chrox in #3232
  • fix: fixed docker build by including some dist files in docker image, closes #3233 by @chrox in #3241
  • feat(metadata): collapsible sections in book details, closes #3217 by @chrox in #3243
  • compat: compatibility with older webview on Android, closes #3245 by @chrox in #3249
  • fix: don't cache section content when updating subitems, closes #3242 and closes #3206 by @chrox in #3250
  • fix(layout): workaround for hardcoded table layout, closes #3205 by @chrox in #3251
  • feat(annotator): rounded highlight style for horizontal and vertical layout, closes #3208 by @chrox in #3252
  • fix(layout): fixed some layout issues for RSVP, closes #3199 by @chrox in #3254
  • fix(tts): fix paused tts will still read to the end of the current paragraph, closes #3244 by @chrox in #3256
  • feat(annotator): add a loupe when adjusting text selection range, closes #3001 by @chrox in #3261
  • fix(eink): more legibility for the dictionary and wikipedia popups on Eink devices, closes #3258 by @chrox in #3262
  • feat(annotator): snap text selection to word boundary, closes #3234 by @chrox in #3265
  • fix: expose srcdoc also for html sections, closes #3264 by @chrox in #3266
  • feat(metadata): support parsing series info from calibre exported EPUBs, closes #3259 by @chrox in #3267
  • fix(layout): persistent location for the sidebar toggle, closes #3193 by @chrox in #3269
  • doc: update sponsor link in README by @chrox in #3275
  • fix(tts): navigate to follow the current TTS location for the next section, closes #3198 by @chrox in #3276
  • fix(layout): respect image dimension attribute, closes #3274 by @chrox in #3277
  • fix(annotator): apply custom highlight colors in sidebar, closes #3273 by @chrox in #3278
  • release: version 0.9.100 by @chrox in #3279

Full Changelog: v0.9.99...v0.9.100

Readest 0.9.99

06 Feb 17:52
83f0d13

Choose a tag to compare

Release Highlight

  • Reading: Added a reading ruler (line highlight) to help guide your eyes while reading
  • Reading: Added paragraph-by-paragraph reading mode for more focused navigation
  • Reading: Added a speed reading mode to support faster reading workflows
  • Reading: Added support for gamepad input to turn pages
  • Accessibility: Improved TalkBack support in dropdown menus for smoother navigation
  • Accessibility: Page navigation buttons are now always visible to screen readers
  • Accessibility: Reading progress is now updated correctly when navigating with screen readers
  • Annotations: Expanded highlight customization with more color options
  • Annotations: Added an option to export annotations as plain text
  • Library: Added grouping by author and series for better library organization
  • Library: Added support of marking books as finished
  • Search: Added fuzzy search to quickly find settings even with partial keywords
  • Table of Contents: Added page numbers for nested TOC entries
  • Text-to-Speech: Added navigation controls to return to the current reading position
  • Linux: Added an in-app updater for AppImage builds
  • E-ink: Improved color support for color E-ink devices to display richer highlights

What's Changed

  • fix(account): redirect to auth page if unauthed user is in user page by @chrox in #3008
  • Prevent caching from blocking code updates in dev environment by @j-v in #3010
  • feat(ui): switch typography to Inter by @Whitestar14 in #3009
  • chore: enforce prettier, ignore submodules and vendor files by @Whitestar14 in #3018
  • chore(opds): disable popular online opds catalogs in certain regions on App Store by @chrox in #3031
  • fix(layout): correctly constrain the maximum width of fixed-layout tables, closes #3028 and closes #3017 by @chrox in #3032
  • fix(shortcuts): prevent system search bar from showing with ctrl+f, closes #3013 by @chrox in #3033
  • fix(layout): more responsive layout on smaller screens, closes #3029 by @chrox in #3034
  • fix(sync): hotfix for the initial race condition for books sync by @chrox in #3038
  • fix(sync): correctly update last sync timestamp when the bookshelf has no books yet by @chrox in #3039
  • fix(tts): set playback rate after play only on Linux by @chrox in #3040
  • fix(annotator): fix instant action on Android by @chrox in #3042
  • fix(sanitizer): add XHTML11 doc type to recognize nbsp entity, closes #3024 by @chrox in #3043
  • feat(ai): AI reading assistant phase 2 by @WhiteHades in #3023
  • chore: fix patched dependencies by @chrox in #3053
  • chore: refresh pnpm lockfile by @chrox in #3054
  • chore: pin pnpm version for vercel and cloudflare deployment by @chrox in #3055
  • chore: less build concurrency on cloudflare to get rid of build container OOM by @chrox in #3056
  • chore: update wrangler and next config by @chrox in #3058
  • feat(annotation): export annotations with style and color fields in annotation template, closes #1734 by @chrox in #3060
  • feat(ai): AI reading assistant phase 2.1 (minor UI/UX updates) by @WhiteHades in #3059
  • chore: fix nunjucks bundling by @chrox in #3061
  • refactor: rename components/ui to components/primitives by @chrox in #3064
  • feat: line highlight to guide reading (reading ruler) by @WhiteHades in #3063
  • feat: more highlight colours by @WhiteHades in #3062
  • chore: fix dockerfile by @chrox in #3067
  • layout: don't show upload icon if auto upload is disabled for cleaner UI by @chrox in #3068
  • doc: update donation link via Stripe by @chrox in #3071
  • feat(updater): in-app updater for AppImage by @chrox in #3072
  • feat(gamepad): support gamepad input to paginate, closes #2432 by @chrox in #3073
  • feat(eink): support color E-ink mode to display more colors, closes #3037 by @chrox in #3074
  • feat(ruler): support vertical ruler and transparent ruler by @chrox in #3076
  • feat: auto position reader ruler to top of page and some fixes by @WhiteHades in #3075
  • fix(bookshelf): fixed conflicts of group names with common prefix by @chrox in #3084
  • feat: add fuzzy search for searching across all settings by @WhiteHades in #3085
  • Add embedding model option to AIPanel by @lilozz2 in #3090
  • chore: bump opennextjs and wrangler to the latest versions by @chrox in #3092
  • fix(css): no default mix blend mode for hr, closes #3086 by @chrox in #3093
  • feat: toggle finished manually by @WhiteHades in #3091
  • fix(iOS): disable online catalogs on iOS from appstore channel by @chrox in #3102
  • chore: bump next.js to the latest version by @chrox in #3106
  • fix(bookshelf): don't show badge or progress for unread book, closes #3103 by @chrox in #3107
  • fix(sync): more robust books sync for stale library, closes #3099 by @chrox in #3108
  • fix(sync): escape unsafe character in filename by @chrox in #3109
  • refactor: responsive SetStatusAlert on smaller screens by @chrox in #3110
  • fix(css): mix blend only inline images, closes #3112 by @chrox in #3116
  • feat: paragraph by paragraph reading mode by @WhiteHades in #3096
  • fix(layout): fixed layout of book reading progress and reader footer bar by @chrox in #3117
  • fix(layout): fixed layout of book reading progress and reader footer bar by @chrox in #3125
  • fix(a11y): fix accessibility in dropdown menus for TalkBack, closes #3035 by @chrox in #3126
  • fix(macOS): fix traffic lights position and visibility on macOS, closes #3129 by @chrox in #3130
  • feat(sync): more intuitive pull down to sync gesture and toast info, closes #3128 by @chrox in #3131
  • feat(gesture): support two finger swipe left/right to paginate on trackpad, closes #3127 by @chrox in #3132
  • fix(layout): fix centered dropdown menu by @chrox in #3133
  • fix(opds): more robust parsing for authors in metadata, closes #3120 by @chrox in #3134
  • fix(layout): fix z index for dropdown by @chrox in #3135
  • Feature/rsvp speed reading by @boludo00 in #3121
  • Change setup command for vendors in CONTRIBUTING.md to reflect additional vendor files by @charrondev in #3139
  • fix(toc): prevent unintentional scrolling in the TOC, closes #3124 by @chrox in #3144
  • fix(progress): show correct progress info for subsections in FB2, closes #3136 by @chrox in #3145
  • fix(a11y): add missing aria labels and fix iOS safe insets by @chrox in #3149
  • Add enhanced grouping and sorting functionality to the library view by @charrondev in #3146
  • fix(layout): fix aligment of options in settings menu, closes #3151 by @chrox in #3163
  • fix(layout): responsive select mode actions on smaller screens by @chrox in #3164
  • feat(export): add an option to export annotations as plain text, closes #3147 by @chrox in #3165
  • fix(kosync): don't show conflict prompt when progress diff is less than 0.01% by @chrox in #3166
  • feat(a11y): always show page navigation buttons in reader page for screen readers, closes #3036 by @chrox in #3167
  • fix(bookshelf): merge groups and ungrouped books then sort them together by @chrox in #3169
  • compat(iOS): disable native CompressionStream/DecompressionStream API in zip.js for iOS 15.x by @chrox in #3170
  • feat(toc): add page number for nested TOC items, closes #2953 by @chrox in #3174
  • feat(sync): add manual books sync in the main menu by @chrox in #3175
  • fix(layout): move sync options inside of account section in settings menu by @c...
Read more

Readest 0.9.98

20 Jan 17:55
0c25b85

Choose a tag to compare

Release Highlight

  • Bookshelf: Added the ability to export original book files directly from the book details dialog
  • Bookshelf: Added a new sorting option to organize books by publish date
  • Bookshelf: Improved performance for large library with faster and more stable imports
  • OPDS: Improved download reliability by correctly detecting filenames for PDF and CBZ files
  • Proofreading: Added support for whole-word replacement to make text corrections more precise
  • Notes: Added the ability to export notes using a customizable template
  • PDF: Added support for panning within PDF documents for easier navigation
  • PDF: Improved performance by pre-rendering the next page for smoother page transitions
  • Text-to-Speech: Added support for word replacement to improve pronunciation during playback
  • Text-to-Speech: Fixed an issue where playback speed settings were not applied correctly on Linux
  • E-ink: Improved reading stability by preventing unwanted scrolling when animations are disabled or on e-ink devices
  • Discord: Added Discord Rich Presence to display your current reading status on Desktop platforms
  • Android: Fixed an issue that could cause occasional crashes during app startup
  • Fonts: Improved web font loading for faster and more stable text rendering

What's Changed

  • fix(settings): avoid stale viewSettings after saving, closes #2912 by @chrox in #2916
  • feat: add support for exporting book files in book details dialog, closes #2919 by @chrox in #2930
  • fix(android): avoid occasional crash on start on Android by @chrox in #2931
  • fix(opds): probe filename when downloading PDFs and CBZ files, closes #2921 by @chrox in #2932
  • feat(proofread): add an option for whole word replacement, closes #2934 by @chrox in #2938
  • fix(android): only dismiss unpinned sidebar and notebook with back key, closes #2920 by @chrox in #2939
  • chore(unittest): test makeSafeFilename by @chrox in #2943
  • fix(fonts): fix CORS access error 403 of deno.dev with Origin: tauri://localhost by @chrox in #2944
  • perf(fonts): cache first for font cache by @chrox in #2945
  • fix(android): fix annotator on Android, closes #2927 by @chrox in #2946
  • fix(ios): fix wakelock on iOS, closes #2453 by @chrox in #2948
  • feat(bookshelf): add an option to sort books by publish date, closes #2925 by @chrox in #2949
  • feat(tts): replace words for TTS, closes #2057 by @chrox in #2952
  • feat(sync): cloud deletion in transfer queue by @chrox in #2964
  • fix(proofread): support replace text with space by @chrox in #2965
  • fix(tts): fix setting playback rate on Linux, closes #2950 by @chrox in #2966
  • fix(eink): avoid scrolling if animation is turned off or in eink mode, closes #2957 by @chrox in #2967
  • fix(flathub): use custom dbus id for single instance on Linux by @chrox in #2971
  • fix(import): read permissions of nested directories when importing books, closes #2954 by @chrox in #2972
  • fix: remove non-breaking space in book title by @chrox in #2974
  • chore: bump tauri to latest dev by @chrox in #2975
  • compat(opds): parse attachment filename from download requests, closes #2969 by @chrox in #2976
  • feat(pdf): support panning on PDFs by @chrox in #2981
  • chore: bump pdf.js to the latest version by @chrox in #2982
  • perf(pdf): pre-render next page for PDFs by @chrox in #2984
  • fix(linux): use new AppImage format on Linux, closes #190 by @chrox in #2985
  • fix(portable): in-app update the portable version app, closes #2983 by @chrox in #2988
  • feat(notes): export notes with custom template, closes #1734 by @chrox in #2989
  • feat(bookshelf): show one line of book description in list view of the bookshelf, closes #2955 by @chrox in #2990
  • fix(eink): resolved an issue where the dropdown menu would occasionally fail to expand on some Eink devices by @chrox in #2991
  • fix(a11y): add missing aria labels for some buttons on TTS panel by @chrox in #2994
  • feat(account): support social login with Discord account by @chrox in #2995
  • feat(discord): support show reading status with Discord Rich Presence, closes #1538 by @chrox in #2998
  • fix(perf): replace JS recursion with native Rust walkdir for imports by @Whitestar14 in #2993
  • chore(doc): update sponsors info by @chrox in #3002
  • chore(doc): use png resources for sponsors logo by @chrox in #3003
  • fix(fonts): host fonts in Readest CDN for more stable web fonts distribution by @chrox in #3005
  • release: version 0.9.98 by @chrox in #3006

New Contributors

Full Changelog: v0.9.97...v0.9.98

Readest 0.9.97

10 Jan 14:52
f53cee9

Choose a tag to compare

Release Highlight

  • Annotations: Added annotation bubble icons directly on text with instant note popups
  • Annotations: Enabled quick highlighting when selecting text
  • Annotations: Added the ability to edit the text range of existing highlights
  • Annotations: Added an annotation navigation bar for easier browsing
  • OPDS: Fixed an issue where CBZ files could not be downloaded from OPDS catalogs
  • OPDS: Improved compatibility with Komga OPDS servers
  • OPDS: Added support for OPDS servers using self-signed SSL certificates
  • PDF: Fixed an issue where some PDF files failed to open
  • E-ink: Optimized colors and layout for improved e-ink device readability
  • Search: Added search term history for quicker repeated searches
  • Text-to-Speech: Reduced excessive pauses between sentences for smoother playback
  • File Transfer: Introduced a background transfer queue for uploading and downloading books
  • Proofreading: Added a proofread tool that can replace text directly within books

What's Changed

  • chore: update app metainfo by @chrox in #2744
  • fix(tts): prompt users to log in to use Edge TTS on the web version by @chrox in #2749
  • compat(layout): grid layout with fit covers on older browsers, closes #2745 by @chrox in #2756
  • fix(pdf): avoid frequent eviction of chunk cache from worker thread, closes #2757 by @chrox in #2759
  • refactor(file): avoid eviction race of chunks cache by @chrox in #2761
  • chore(pwa): migrate from next-pwa to serwist by @chrox in #2762
  • feat(font): support OpenType feature of vrt2 and vert for vertical replacement of some punctuations by @chrox in #2764
  • fix(layout): tweak insets for vertical layout by @chrox in #2767
  • fix(layout): workaround for hardcoded image container by @chrox in #2769
  • fix(opds): correctly parse file extension for CBZ files from OPDS servers, closes #2765 by @chrox in #2771
  • refactor(proofread): refactor UI and i18n for proofread tool by @chrox in #2783
  • fix(sw): use NetworkFirst for navigation to prevent blank page on updates by @chrox in #2784
  • fix(layout): fixed line clamp for config items on small screens by @chrox in #2792
  • fix(annotator): adjust underline position to the center of two lines, closes #2772 by @chrox in #2793
  • feat(annotator): show notes popup when annotation bubble icon is clicked, closes #1845 by @chrox in #2798
  • fix(layout): dismiss annotation popup on mobile when navigating by @chrox in #2799
  • feat(annotator): support rendering vertical annotation bubbles by @chrox in #2801
  • fix(settings): override book text align of left by @chrox in #2802
  • compat(epub): detect missing writing direction for some EPUBs by @chrox in #2803
  • chore(ios): drop support for iOS below 15.0 by @chrox in #2804
  • chore: bump tauri to latest dev by @chrox in #2805
  • chore: bump opennext, wrangler and serwist to the latest versions by @chrox in #2807
  • fix(css): only override background color of hr when it has background image by @chrox in #2808
  • feat(annotator): support quick actions for text selection, closes #2505 by @chrox in #2813
  • fix(annotator): delay highlight action to prevent immediate onShowAnnotation trigger by @chrox in #2820
  • feat(transfer): add a background transfer queue system for book uploads/downloads by @chrox in #2821
  • fix(settings): ensure global settings sync across all open panes by @aangelinsf in #2818
  • fix(library): upload files also for open with import and opds import, closes #2826 by @chrox in #2827
  • fix(metadata): fixed sometimes svg book cover is rendered blank by @chrox in #2829
  • feat(css): support overriding link color by @chrox in #2830
  • fix(ios): fixed error when importing file with urlencoded names by @chrox in #2831
  • fix(layout): set image width for vertical inline images by @chrox in #2832
  • fix(android): don't navigate back with the back button for more predictable navigation by @chrox in #2835
  • feat(search): add search results navigation bar, closes #1183 by @chrox in #2842
  • fix(tts): reduce the pause duration between sentences in Edge TTS, closes #2837 by @chrox in #2844
  • feat(search): add annotations navigation bar, closes #2060 by @chrox in #2849
  • compat(opds): support Komga OPDS v1.2 and v2, closes #2839 by @chrox in #2851
  • compat(footnote): support alt footnote inside placeholder anchor by @chrox in #2858
  • feat(search): support search terms history, closes #2836 by @chrox in #2859
  • perf(search): use cache for search results by @chrox in #2861
  • fix(search): should be able to terminate search when sidebar is invisible by @chrox in #2863
  • refactor(annotatot): more cleaner text selector on Android by @chrox in #2867
  • feat(annotator): support editing text range of highlights by @chrox in #2870
  • fix(login): Fix login message field by @lcd1232 in #2879
  • feat(annotator): instant highlighting with mouse, touch or pen by @chrox in #2881
  • feat(annotator): support vertical layout for annotation editor by @chrox in #2882
  • fix: avoid hydration mismatch for tauri app by @chrox in #2884
  • feat(eink): optimize color and layout for e-ink mode by @chrox in #2887
  • TTS: footnotes anchors and superscript filtering by @Hermotimus in #2890
  • feat(config): add an option to toggle footbar by tapping on the footbar by @chrox in #2891
  • perf(sync): persist partial library sync to prevent full retry on failure by @chrox in #2892
  • fix(sanitizer): normalize non-breaking spaces for WebView compatibility by @chrox in #2893
  • fix(proofread): support text replacement for text with no word boundaries, closes #2889 by @chrox in #2894
  • fix(css): table and header layout, closes #2874 by @chrox in #2896
  • fix(metadata): no need to download book to display book details, closes #2857 by @chrox in #2897
  • fix(opds): temporary workaround for self-signed cert for OPDS server, closes #2871 by @chrox in #2900
  • fix(windows): update shortcut to point to current installation, closes #2878 by @chrox in #2901
  • fix(windows): update shortcut to point to current installation, closes #2878 by @chrox in #2902
  • fix(css): respect css for page break and minimum font size, closes #2895 by @chrox in #2903
  • fix(css): primary btn style for e-ink mode by @chrox in #2905
  • fix(fonts): update font CDN links to use deno.dev for improved reliability by @KonghaYao in #2906
  • fix(settings): correctly setting configs for selected book in parallel read, closes #2825 by @chrox in #2908
  • release: version 0.9.97 by @chrox in #2909

New Contributors

Full Changelog: v0.9.96...v0.9.97

Readest 0.9.96

19 Dec 02:54
c853957

Choose a tag to compare

Release Highlight

  • TTS: Resolved an issue where Edge TTS was blocked in certain regions
  • OPDS: Improved compatibility with older versions of Calibre Web
  • OPDS: Added an instant search bar for faster browsing in OPDS catalogs
  • OPDS: Added a curated book catalog from Standard Ebooks
  • Bookshelf: Added a “Group Books” action to the context menu
  • Comics: Fixed layout issues to improve comic book reading
  • Layout: Footnote popups now adapt correctly to different screen sizes
  • Layout: Fixed an issue where the maximum inline width was not applied to EPUBs
  • Sync: Improved file downloading by correctly handling special characters in filenames
  • UI: Added an option to temporarily dismiss the reading progress bar
  • Settings: Screen brightness adjustments now apply only to the reader view
  • iOS: You can now open files directly in Readest from the Files app
  • macOS: Added a global menu option to open files with Readest

What's Changed

  • feat: refresh account info after managing cloud storage by @chrox in #2648
  • fix(macOS): delay writing to clipboard to ensure it won't be overridden by system clipboard actions, closes #2647 by @chrox in #2649
  • add rust and node deps to the nix devshell by @jpetrucciani in #2655
  • fix(footnote): add custom attributes for footnote in sanitizer, closes #2651 by @chrox in #2657
  • refactor(layout): refactor page margins for pixel precision, closes #2652 by @chrox in #2663
  • compat(opds): fallback to Basic auth if no WWW-Authenticate challenge in the response headers, closes #2656 by @chrox in #2673
  • chore: repackaging readest koplugin for updater, closes #2669 by @chrox in #2676
  • fix(iap): don't initialize billing on Android without google play service, closes #2630 by @chrox in #2677
  • fix(tts): avoid false default en language code for TTS by @chrox in #2678
  • chore(koplugin): add version info in the meta file by @chrox in #2679
  • fix(comic): fixed layout for comic books, closes #2672 by @chrox in #2680
  • feat(opds): added books catalog from standardebooks.org by @chrox in #2681
  • fix(opds): select proper opds search link by @chrox in #2683
  • chore(pwa): more aggressive offline cache for the web version by @chrox in #2686
  • fix(pwa): don't cache api requests and cache client-side navigation routes by @chrox in #2687
  • fix(layout): fix responsive layout for footnote popup by @chrox in #2688
  • chore: bump tauri to the latest dev branch by @chrox in #2690
  • fix(sync): handle special characters in filenames when downloading by @chrox in #2694
  • feat(ui): progress info with cycleable display modes by @mikepmiller in #2682
  • fix(layout): fixed the layout of the selector of the translator providers by @chrox in #2701
  • chore: bump next.js to version 16.0.10 by @chrox in #2702
  • fix(web): fixed router glitches for library page after returned from reader by @chrox in #2703
  • feat(iOS): support open file with Readest in Files App, closes #2334 by @chrox in #2705
  • feat(macOS): add open file global menu for macOS, closes #2692 by @chrox in #2708
  • fix(layout): fixed max inline width not applied for EPUBs, closes #2706 by @chrox in #2711
  • fix(layout): make sure annotation popups can be accessible in some edge cases, closes #2704 by @chrox in #2713
  • feat(opds): instant search bar for opds catalog, closes #2707 by @chrox in #2714
  • fix(opds): expose X-Content-Length header for CORS requests by @chrox in #2715
  • feat(bookshelf): add group books button in context menu, closes #2698 by @chrox in #2718
  • chore(deps): bump actions/cache from 4 to 5 in the github-actions group by @dependabot[bot] in #2719
  • fix(settings): screen brightness setting only applies to the reader page, closes #2717 by @chrox in #2720
  • fix: add stats API and fix fd leak, closes #2323 by @chrox in #2723
  • fix(layout): fix bleed layout for images by @chrox in #2729
  • fix: make sidebar and notebook pin states persist after refresh by @chrox in #2730
  • fix(layout): line clamp opds url, closes #2726 by @chrox in #2731
  • feat(replacement): text replacement feature for EPUB books by @qianxuege in #2725
  • fix(tts): resolve Edge TTS being blocked in certain regions by @chrox in #2741
  • refactor: temporarily disable the proofreading feature for a hotfix release ahead of a major refactor by @chrox in #2742
  • release: version 0.9.96 by @chrox in #2743

New Contributors

Full Changelog: v0.9.95...v0.9.96