Repository navigation
Releases: KNITIPKA/frog-reader
Release list
Beta 2
FrogReader's second beta delivers major reader performance optimizations, an advanced typography and custom-font engine, a redesigned floating selection context menu, an overhauled Quotes & Bookmarks screen, image and SVG rendering enhancements, and refined application settings. This release covers all changes since BETA 1.
Install and upgrade
Download FrogReader-BETA-2.apk from the assets below. The accompanying SHA256SUMS.txt records the APK checksum.
Export a backup in Settings → Backup before upgrading. Beta 2 preserves the application ID and signing certificate from Beta 1 and Alpha 3, allowing in-place updates without losing library metadata, reading history, or userdata. Existing per-book settings and appearance choices are retained. Backup format remains 2.
This APK retains the original Android Debug certificate for update compatibility. The release build requires an explicit legacy-signing opt-in; source builds can instead use an external signing key or produce an unsigned release.
What's new
- Redesigned text selection context menu. A sleek floating bubble with a directional pointer arrow, quick highlight color pickers, and organized action cards for Copy, Quote, Translate, Dictionary, and Web Search.
- Overhauled Quotes & Bookmarks. Redesigned screen featuring a collapsible book header with nested scroll handoff, live book search, streamlined tabs, and refined passage cards.
- Image & SVG performance and raster caching. Introduced an asynchronous disk cache for rasterized SVGs with coalesced decoding and background prefetching (ahead and behind the viewport in both scroll and paged reading modes), eliminating scrolling stutters on vector illustrations.
- Fixed dark-mode image Auto Invert. Fixed image inversion logic to accurately respect publisher dark-mode rules, author-specified dark backgrounds, and reader themes.
- Dedicated defaults for plain text and Markdown. Reading
.txtand.mdfiles now opens with optimized defaults: Sans typography, 15 sp text size, 1.5 line height, 14 dp margins, unhyphenated body, and continuous scroll mode. - Advanced typography engine and custom fonts. Support for importing and managing custom OTF, TTF, and WOFF2 fonts, bundled Liberation fonts (Sans, Serif, Mono), font face resolution, numeric font weights, font variation settings, and glyph coverage checks.
- Custom page counter styles. Choose between Page only, Page / Total, and Chapter counters with visual preview cards in the reader settings panel.
- Press-and-hold stepper repetition. Font size, line spacing, and margin adjustment buttons now feature accelerating continuous repeats on long press.
- Granular side margin adjustments. Margins can now be stepped incrementally from 8 to 48 dp in 2 dp increments.
- Animated segmented controls. Interactive sliding capsules across reader panels, quotes tabs, and settings with real-time drag previews.
- Reorganized application settings. Cleanly categorized into distinct sections: Panels and menus, Controls and gestures, Selected text, and Screen and startup.
- External text actions. Configure default applications for translation, dictionary lookups, and web search directly in settings with custom app selectors.
- Library animation optimizations. Dynamic graphics layer allocations during shelf and tile arrivals, keeping draw and recomposition costs minimal.
The full changelog includes detailed parser, caching, and technical changes.
Known limits
Beta 2 remains a prerelease. Dedicated Statistics, Achievements and profile-wide search remain disabled Coming soon placeholders; profile activity, goals, the reading queue, log, and saved passages are fully active.
PDF, KFX, DRM-protected books, full fixed-layout EPUB/KF8 rendering, vertical writing, and embedded audio/video are unsupported. CSS, MathML, and ruby support are bounded native subsets with readable fallbacks. See the EPUB audit for rendering details.
JVM checks, release assembly, and native desktop previews do not establish physical-device gesture smoothness, full-book visual fidelity, TalkBack behavior, or performance across all Android vendors.
Verification
- Local JVM suite: 1,927 passed, 8 skipped, 0 failures, 0 errors.
- Debug and optimized release assembly succeeded with R8 code optimization and resource shrinking enabled.
- Debug and release Android lint completed with 0 errors.
- APK alignment (
zipalign -c -P 16 -v 4) and signature verification (apksigner verify) passed. Certificate matches the published Alpha 3 / Beta 1 APK. - The release APK is confirmed non-debuggable with
versionCode = 6andversionName = BETA 2.
Source and license
The application is licensed under GPL-3.0-only. See third-party notices for bundled external material. Source for this binary is available at the exact beta-2 tag, including build instructions and pinned dependencies. GitHub provides the matching source ZIP and source tarball.
Please report bugs or feedback via Telegram (@knitipka), Signal (direct message), Email (knitipka@proton.me) or GitHub Issues.
Beta 1
Frog Reader BETA 1
2026-10-11 · Android 8.0+ · Version code 4 · GPL-3.0-only
FrogReader's first public beta brings a personal reading hub, a reading queue, separate reading histories, new page-turn renderers and a substantial publisher rendering update. This release covers the changes since ALPHA 3.
Install and upgrade
Download FrogReader-BETA-1.apk from the Beta 1 release assets. The accompanying SHA256SUMS.txt records the APK checksum.
Export a backup in Settings → Backup before upgrading. Beta 1 keeps the application ID and signing certificate used by the published Alpha 3 APK, so it can update that installation while retaining app data. Existing per-book settings and appearance choices are preserved; Welcome runs on new release installations rather than replaying after an update. Backup format remains 2.
This APK retains the original Android Debug certificate for update compatibility. The release build requires an explicit legacy-signing opt-in; source builds can instead use an external signing key or produce an unsigned release. A differently signed installed copy cannot be updated in place with this APK.
What's new
- A personal reading hub. Editable profile name/avatar, last-read time, weekly activity, streak and daily reading goal, with direct access to the queue, log and saved passages.
- Reading Queue. Prioritize books with drag ordering, notes and optional file attachments. Start reading directly from the queue, or remove a book with Undo. Attached files enter the library when you start them.
- Reading Log. Keep one record per reading, including paper books and books read in another app. Record status, exact or partial dates, half-star ratings, reviews and covers. Filter/sort history, reorder eligible same-date entries, and add/edit through full-screen forms.
- Rereads and safe history. Continue an abandoned reading or start a fresh one without losing the old record. Browse completed books without altering history. Completion saves on exit, even without a review. Active progress and abandoned stopping percentages are shown in the log; deletion and Undo respect newer readings and annotation edits.
- Quotes & Bookmarks. Search and manage saved passages, edit notes, copy/share, delete with Undo and return to the text. Quote colors support nested and overlapping highlights.
- New reading controls. Floating/Classic layouts and Slide, Stack, Page curl or None page turns. Paper curl follows the finger, supports cancellation and rapid consecutive gestures, and mirrors for RTL books. A page-counter toggle and per-chapter remaining-page choice give control over the footer.
- Chapter-aware progress. Expanded active-chapter segments, live captions, haptics and a readable linear fallback for densely divided books.
- Typography fixes. Independent settings for each book, bundled IBM Plex Sans alongside Literata, and publisher heading alignment without the retired global centering override.
- More faithful publisher rendering. Structural CSS, whitespace, hidden text, embedded inline fonts, poetry, image bounds and dark artwork handling. Long dialogue tables retain their rows; supported narrow table layouts stack cleanly. Native MathML fractions/roots/scripts and above-base ruby readings share layout geometry with pagination and selection.
- App polish. Welcome setup, refined Light/Beige themes, unified Book Info/Edit, library/reader motion, dock/Add transitions, route-aware predictive Back and themed notifications with accessible timeouts.
- GPL 3. Application code now uses GPL-3.0-only, with offline in-app license access. Bundled fonts, libraries and other external resources keep their own licenses and notices.
The full changelog includes the storage, parser, performance and compatibility changes.
Known limits
Beta 1 remains a prerelease. Dedicated Statistics, Achievements and profile-wide search are disabled Coming soon controls; profile activity, goals, the queue, log and saved passages work now.
PDF, KFX, DRM-protected books, full fixed-layout EPUB/KF8 rendering, vertical writing and embedded audio/video are unsupported. CSS, MathML and ruby support are bounded native subsets with readable fallbacks. Paragraphs containing native inline objects have documented justification/line-breaking compromises. See the EPUB audit for rendering details.
JVM checks, release assembly and native desktop previews do not establish physical-device gesture smoothness, full-book visual fidelity, TalkBack behavior or performance across Android vendors. No new device interaction testing is claimed for this release.
Verification
- Local JVM suite: 1,579 passed, 5 skipped, no failures or errors.
- Debug and optimized release assembly succeeded; R8 code optimization and resource shrinking ran for the release APK.
- Debug and release Android lint completed with 0 errors. Existing warnings remain (dependency advisories, unused resources and API/style suggestions).
- Seven native About previews were checked, including narrow and large-text layouts. Licence viewer headers were checked; full asynchronous text loading and physical-device interactions were not visually verified.
- The release APK's version, non-debuggable manifest, alignment, signature and packaged licence texts are checked before upload. Its certificate matches the published Alpha 3 APK.
Source and license
The application is licensed under GPL-3.0-only. See third-party notices for bundled external material. Source for this binary is available at the exact beta-1 tag, including build instructions and pinned dependencies. GitHub provides the matching source ZIP and source tarball.
Please report bugs or feedback via Telegram (@knitipka), Signal (direct message), Email (knitipka@proton.me) or GitHub Issues. Including diagnostic info from the app (Settings → About → Copy diagnostic info) and any sample book file (any source, public or pirated) that triggers the bug is welcome and appreciated.
Alpha 3
FrogReader Alpha 3
Alpha 3 expands FrogReader with native Plain Text and Markdown reading, in-file metadata editing for EPUB, FB2, and MOBI/KF8, publisher layout and heading typography refinements, hierarchical table of contents, and remembered translation flows.
Highlights
- Native TXT and Markdown book support — import
.txt,.md, and.markdownvia file picker, folder scans, or file intents. Includes robust encoding detection (UTF-8, UTF-16 with BOM, and Windows-1251 fallback for legacy Cyrillic files), CommonMark/GFM formatting (headings, lists, quotes, tables, code, strikethrough), and auto-generated Contents from Markdown headings. - In-file metadata editing & cover management — edit title, authors, description, genres, series, volume index, publisher, year, ISBN, translators, language, and cover image directly inside EPUB, FB2, and MOBI/KF8 files. Uses safe copy-on-write rewriting with generation checks, preserving your bookmarks, quotes, reading progress, reviews, and embedded fonts.
- Dedicated Book Info & file sharing — comprehensive book information screen with detailed metadata and direct export/sharing via Android sharesheet.
- Publisher layout geometry & typography polish — reworked publisher margins, padding, alignment, line spacing, inline images, tables, SVG, and drop caps. Preserves publisher line-box leading at paragraph boundaries to maintain proper vertical rhythm with zero-margin paragraphs.
- Heading alignment & "Center headings" setting — shared H1–H6 font-relative hierarchy. Headings default to logical start alignment while respecting explicit publisher styles; ornament-only headings receive a centered default. A new global setting allows overriding heading alignment across all books.
- Hierarchical Contents & navigation polish — structured table of contents tree with expand/collapse navigation. Smarter "Back to page" return history with a 15-second accessible auto-hide timeout (configurable in settings) and decoupled reader chrome controls.
- Remembered text translator — quick-translate remembers your preferred translator app instead of showing the system chooser every time, with a settings toggle under Application settings → Reading → Default translator to switch or reset handlers.
- Library progress & backup hardening — fixed list-mode reading progress bars (respects RTL and active theme palette). Backup archives now detect physical ZIP truncation during import.
Verification
- 920 unit tests passing (0 failures, 5 skipped diagnostics).
- Android Lint: 0 errors.
- Target & Minimum SDK: minSdk 26 (Android 8.0 Oreo+), targetSdk 36, compileSdk 37.
- Release APK: Signed and verified with APK Signature Scheme v2.
Known limitations
Fixed-layout EPUB/KF8, KFX, vertical writing, audio, video, and KF8 panel magnification are not enabled yet. RTL shaping, animated GIFs, and embedded fonts on older devices should receive physical-device verification.
Download and install FrogReader-alpha-3.apk on Android 8.0 or newer.
Alpha 2
FrogReader Alpha 2
Alpha 2 is a major upgrade to FrogReader’s reading engine, navigation, and format fidelity.
Highlights
- Smart “Back to page” navigation — return to the exact previous position after links, search, contents, bookmarks, quotes, progress scrubbing, and long continuous scrolling. Works in paged and continuous modes.
- Right-to-left reading preview — RTL-aware Arabic and Hebrew text, mixed-direction content, page progression, tap zones, selection, tables, links, and logical alignment.
- Major format-engine upgrade — substantially improved parity across FB2, EPUB, MOBI6, and KF8/AZW3.
- Correct H1–H6 headings — all six heading levels now have distinct sizes and preserve rich inline formatting.
- Rich footnotes — notes can contain headings, lists, poems, tables, images, styles, and nested links without the previous length limit.
- Improved publisher styling — better CSS, embedded fonts, colors, backgrounds, spacing, drop caps, tables, inline images, SVG, and legacy HTML formatting.
- MathML and EPUB 2 DTBook — readable native mathematical notation and improved compatibility with older accessible EPUB publications.
- Stronger reliability — extensive limits and validation for archives, fonts, CSS, SVG, MOBI/KF8 structures, and damaged book resources.
Known limitations
Fixed-layout EPUB/KF8, KFX, vertical writing, audio, video, and KF8 panel magnification are not enabled yet. RTL shaping, animated GIFs, and embedded fonts on older devices should still receive physical-device verification.
Requires Android 8.0 or newer.
Alpha 1
FrogReader Alpha 1
FrogReader is a modern, high-performance native Android e-book reader built with Kotlin 2.x and Jetpack Compose (Material 3 Expressive).
Highlights
- Multi-Format Parser Engine: High-fidelity support for EPUB 2/3, FB2 (ZIP/FB2.ZIP), and MOBI (MOBI6, KF8/AZW3).
- Custom Typography Engine: WOFF2 font decoding via Brotli, custom font rendering, and font de-obfuscation.
- Custom Pagination: Off-thread pagination calculation with side-box layout support.
- Cross-Page Selection: Precise text selection across page boundaries with floating action pill and quotes/bookmarks.
- Library & Shelf UI: Modern shelf grid, cover flow carousel, folder management, and duplicate resolution dialog.
- Three-Tier Atomic Persistence:
library.json,userdata.json, andprogress.jsonwith.tmp->fsync->.bakatomic safety. - Decoupled Backups: Automated backups and ZIP backup archive export/import.
Installation
Download and install FrogReader-alpha-1.apk on Android 8.0+ (API 26+).