* Add performance and stylus debugging logs
* Refactor and decouple UI models from `MainViewModel`
* Refactor library state management and projection logic
* Implement desktop shell using Compose Multiplatform
* Implement desktop shell using Compose Multiplatform
* Implement desktop shell using Compose Multiplatform
* Introduce ReaderEngine and enhance EPUB reader features in windows app
* Move core paginated reader logic to a Kotlin Multiplatform `shared` module and introduce experimental desktop support.
* Implement PDF rendering and text extraction for desktop using Pdfium
* Add `NonReaderScreens.kt` and UI dependencies
* Refactor and centralize library state management and models to improve cross-platform consistency
* Implement JSON persistence for desktop library and enhance library management features including shelf CRUD, tagging, and metadata editing
* Implement PDF annotation system and enhanced zoom controls for the desktop viewer
* Implement WebView-based EPUB rendering for desktop using CEF and embedded resources
* Optimize UI state projection, navigation state handling, and main screen pager performance
* Implement Bring Your Own Key (BYOK) support for AI features in OSS version
* Support Gemini-based Cloud TTS with BYOK support for OSS builds
* Refactor table cell image sizing in `PaginatedReader` and improve `MobiParser` native library loading and error handling.
* crash fixes
* Enhance navigation stability with lifecycle-aware safety checks and update `navigation-compose` to 2.9.6
* Implement dynamic bottom padding for the page info bar to account for device rounded corners
* Implement bidirectional jump history navigation and replace the jump-back pill with a dedicated `PdfJumpHistoryBar`
* Optimize PDF tiling performance and refine pan-and-fling gesture handling
* Implement customizable toolbars with drag-and-drop reordering and placement for PDF and EPUB readers
* Updated UI for customize toolbar
* Refine drag-and-drop reordering and section assignment for PDF and EPUB reader controls
* restructure PDF viewer UI component hierarchy to fix verifier crash
* Implement separate text dimming factors for light and dark themes
* Synchronize Pdfium access and improve resource lifecycle safety across Kotlin and native layers
* Enhance image alignment in paginated and EPUB readers through anchor detection and style-based positioning
* Centralize file type resolution logic and implement HTML sanitization during import
* Introduce vertical margin customization and configurable progress bar positioning
* texture support in epub reader
* Enhance TTS session management, progress tracking, and diagnostic logging
* Optimize library state projection and folder synchronization performance by refactoring collection lookups and refining metadata extraction logic.
* Refine TTS page mapping for PDF and overhaul TTS control UI
* Implement natural session completion logic in `TtsPlaybackManager` for cloud tts
* Replace Snackbar with `CustomTopBanner` for notifications in `PdfViewerScreen`
* Refine TTS playback continuity across PDF pages and improve state management for session transitions
* Implement global texture transparency and enhance textured theme support across PDF and EPUB readers.
* Update reader themes and improve texture rendering in page animations, EPUB UI, and immersive mode
* Add Support Project screen
* Optimize library performance via projection caching, batch database updates, and scoped folder synchronization.
* Enhance folder synchronization with fallback query mechanisms and refactor annotation sidecar importing logic
* Bump version to 1.0.47 (51)
* Remove custom-onnxruntime-arm64.aar
* Refactor remaining, hardcoded UI strings into localizable resources and added French and Russian to language list
* Fix background auto-advance for Text-to-Speech (TTS)
* Add OPDS catalog support for book discovery and downloading
* Implement OPDS search, improved book discovery, and enhanced UI details.
* Improve OPDS search and catalog management
* Add authentication support and extended metadata to the OPDS reader.
* Add support for OPDS 2.0 (JSON) feeds
* Enhance OPDS book downloading with progress tracking and multi-format support.
* Enhance OPDS book management and UI
* Add support for OPDS-PSE (Page Streaming Extension) streaming
* Improve OPDS streaming and catalog management
* Improve PDF rendering quality and performance.
- Set `FilterQuality.High` when drawing base bitmaps and high-res tiles in `PdfPageComposable`.
- Implement `inSampleSize` calculation in `UniversalDocument` to optimize memory usage during region decoding.
- Enhance bitmap drawing quality by adding `ANTI_ALIAS_FLAG` and `DITHER_FLAG` to the paint configuration.
* Implement custom reader themes for PDF viewer.
This change integrates the `ReaderThemePanel` and theme management logic into the PDF viewer, allowing users to apply preset or custom themes. Previously, the PDF viewer only supported a simple dark mode toggle.
Specific changes:
- Moved `ReaderTheme`, `ReaderTexture`, and theme-related utility functions from `EpubReaderScreen.kt` to `Common.kt` to allow sharing between EPUB and PDF readers.
- Updated `PdfPageComposable` to use `activeTheme` instead of `isDarkMode`, implementing a `ColorMatrix` to apply custom background and text colors to PDF pages.
- Replaced the dark mode toggle in `PdfViewerScreen` with a theme selection button that opens `ReaderThemePanel`.
- Introduced `PdfBuiltInThemes` to provide PDF-specific theme presets.
* Reset page transformation on constraint changes and refine tile rendering logic.
- Reset scale to 1.0 and offset to zero in `PdfPageComposable` when constraints change.
- Update `UniversalDocument` to use floating-point precision for source rectangle calculations and `RectF` for destination mapping to improve rendering accuracy.
* Improve eraser hit detection and visual thickness settings in PDF reader.
* Added support for FB2 book format
* Add support for CBZ files by introducing a `ReaderDocument` abstraction.
Key changes:
- Defined `ReaderDocument`, `ReaderPage`, and `ReaderTextPage` interfaces to provide a unified API for different document types.
- Implemented `PdfDocumentWrapper` and `CbzDocumentWrapper` to handle PDF and CBZ files respectively.
- Updated `PdfViewerScreen`, `PdfPageComposable`, and `MainViewModel` to use the new unified document interfaces.
- Added CBZ file type detection and cover generation logic.
* Add support for CBR and CB7 comic book formats
- Add `me.zhanghai.android.libarchive` dependency to support RAR and 7z archives.
- Implement `ArchiveDocumentWrapper` using `libarchive` to handle CBZ, CBR, and CB7 files uniformly, replacing the previous CBZ-only implementation.
- Update `MainViewModel` and `DocumentFactory` to recognize and process `.cbr` and `.cb7` extensions and their associated MIME types.
- Add support for extracting and caching cover images from CBR and CB7 archives.
- Update UI components (`HomeScreen`, `LibraryScreen`, `AppNavigation`) to handle the new comic book file types.