Skip to content

Releases: van-geaux/lagrange-reader

Lagrange 1.2.3

Choose a tag to compare

@github-actions github-actions released this 25 Jul 05:48

Lagrange Reader 1.2.3 Release Notes

Breaking change

  • The Android application id / package name changed from com.bookorbit.android to com.vangeaux.lagrange. com.bookorbit.android was left over from before the app was rebranded to Lagrange: early development happened under the working name "bookorbit-android," and the package name was simply never updated when the app was renamed. It was not an intentional use of the BookOrbit name, and this app has never been affiliated with or endorsed by BookOrbit. We apologize for having shipped prior releases with com.bookorbit.android as the application id at all. The id is changed now to remove any appearance of ownership over, or affiliation with, the third-party BookOrbit service this app connects to as an independent client.
  • Because applicationId changed, Android treats this as a different app from prior installs. Upgrading in place is not possible: uninstall any previous com.bookorbit.android install first, then install this release. Local app preferences (server URL, theme, and other in-app settings) are not carried over and will need to be re-entered after reinstalling.
  • The Gradle root project name also changed from bookorbit-android to lagrange-reader to match the GitHub repository name. This has no effect on the installed app.

Validation

  • Full JVM gate passes: 324 tests across 53 suites, zero failures/errors/skips.
  • Debug, Android-test, and signed release APKs all assemble successfully under the new application id.

Known limitations and deferred work

  • Physical-device confirmation of the release-notification dialog's presentation, scrolling, Markdown rendering, and Download/Ignore behavior remains intentionally deferred.
  • Exact cross-client CFI interoperability with BookOrbit/Foliate full CFIs remains deferred.
  • Direct OIDC/SSO authentication remains deferred pending a confirmed BookOrbit provider and redirect contract.

Upgrade notes

  • Release APKs are distributed as GitHub Release assets rather than committed to the repository.
  • This tag uses the signed GitHub Actions release workflow.
  • See the breaking-change note above: this release requires uninstalling any previous com.bookorbit.android install before installing.

Lagrange 1.2.2

Choose a tag to compare

@github-actions github-actions released this 24 Jul 16:16

Lagrange Reader 1.2.2 — Release Notes

Improvements

  • The "new version available" dialog now renders release notes as formatted Markdown (headers, bullet lists, inline code, bold) instead of raw plaintext.
  • Replaced the Acknowledge button with Download, which opens the GitHub release page directly.
  • Ignore now actually sticks: it persists the ignored release tag to app preferences, so a dismissed release stays suppressed even after fully closing and reopening the app, rather than reappearing on the next launch. Download still only dismisses the notice for the current session, so it can reappear on a later cold launch if the app has not actually been updated yet.

Validation

  • Full JVM gate passes: 324 tests across 53 suites, zero failures/errors/skips.
  • Lint reports zero errors.
  • Debug, Android-test, and signed release APKs all assemble successfully.

Known limitations and deferred work

  • Physical-device confirmation of the release-notification dialog's presentation, scrolling, Markdown rendering, and Download/Ignore behavior remains intentionally deferred.
  • Exact cross-client CFI interoperability with BookOrbit/Foliate full CFIs remains deferred.
  • Direct OIDC/SSO authentication remains deferred pending a confirmed BookOrbit provider and redirect contract.

Upgrade notes

  • Release APKs are distributed as GitHub Release assets rather than committed to the repository.
  • This tag uses the signed GitHub Actions release workflow.

Lagrange 1.2.1

Choose a tag to compare

@github-actions github-actions released this 24 Jul 15:29

Lagrange Reader 1.2.1 — Release Notes

Fixes

  • Fixed resume position being stale on normal online book opens: the app now synchronizes pending progress and refreshes authoritative server progress (ebook GET .../progress or audiobook GET .../audio-progress) before opening the reader, instead of relying only on local/cached data. This applies to ebooks, audiobooks, PDFs, and comics alike.
  • Fixed PDF, CBZ, CBR, and CB7 resume landing on the wrong page: an EPUB-only one-based page-number conversion was previously applied to all media types, off-by-one against BookOrbit's zero-based page numbers. Only EPUB's legacy chapter/page fallback still applies that conversion.
  • Fixed EPUB resume opening at the start of the current chapter instead of the actual reading position, most noticeable right after a fresh install. Normal EPUB Read now selects the real generated Readium position at or immediately before the authoritative server percentage instead of estimating position from equal-sized chapters.

Validation

  • JVM parser, coordinator, and reader-routing regressions pass.
  • Confirmed on a physical device: a newly installed app now resumes an EPUB away from the chapter start at the expected position.

Known limitations and deferred work

  • Exact cross-client CFI interoperability with BookOrbit/Foliate full CFIs remains deferred; EPUB position selection uses Readium's generated positions rather than an exact CFI conversion.
  • Direct OIDC/SSO authentication remains deferred pending a confirmed BookOrbit provider and redirect contract.

Upgrade notes

  • Release APKs are distributed as GitHub Release assets rather than committed to the repository.
  • This tag uses the signed GitHub Actions release workflow.

Lagrange 1.2.0

Choose a tag to compare

@github-actions github-actions released this 24 Jul 07:06

Lagrange Reader 1.2.0 — Release Notes

Highlights

  • Added complete Book Detail reading-status controls with Mark as... and all BookOrbit statuses: Unread, Want to read, Reading, Rereading, On hold, Abandoned, Read, and Skimmed.
  • Added direct Book Detail author navigation to the corresponding Authors screen.
  • Added editable five-star personal ratings with optimistic updates, authoritative reconciliation, rollback on failure, and offline safeguards.
  • Added device-only audiobook Session history with timestamps, exact playback positions, clear-history support, and resume/seek actions.
  • Added persistent global Library card sizing: Small, Medium, and Large across libraries, grids, and shelves.
  • Added release-update checking with release notes, Acknowledge/link launch, Ignore behavior, and offline-safe failure handling.
  • Added automatic tagged-release publishing through GitHub Releases with signed APK assets.

Reader and playback improvements

  • Improved Currently reading resume behavior after app update or reopen by refreshing authoritative server detail before normal online opens.
  • Added reliable Android audiobook controls for Back 10, Play/Pause, and Forward 30.
  • Improved audiobook preparation, cleanup, Browser-first restoration, speed persistence, and compact-player behavior.
  • Expanded reader support and validation across EPUB, PDF, CBZ, CBR, CB7, and supported audiobook formats.
  • Added per-library reader preferences and Paginated/Continuous layout options for EPUB, PDF, and comics.
  • Improved cover aspect-ratio handling, catalog caching, library navigation, jump rails, series navigation, and local-book actions.

UX and accessibility

  • Refined Book Detail actions, status/progress placement, More-sheet behavior, metadata hierarchy, and cover presentation.
  • Added or improved responsive layouts, large-text behavior, themes, orientation persistence, Reduce motion handling, reader tutorials, and accessibility semantics.
  • Added About content, release-notification presentation, achievements cards, and destination-specific navigation icons.

Validation

  • JVM, lint, compilation, debug APK, and Android-test APK verification completed across the implemented work.
  • User-confirmed physical validation covers the supported reader/media, layout, accessibility, responsive, theme, resume, Preview, offline, and edge-state matrix.

Known limitations and deferred work

  • Direct OIDC/SSO authentication remains deferred pending a confirmed BookOrbit provider and redirect contract.
  • Offline RAR/7z extraction for downloaded CBR/CB7 remains optional; server-backed extraction is required where applicable.
  • Physical validation of the release-update overlay presentation and Book Detail app-navigation behavior remains intentionally deferred.

Lagrange Reader 1.1.0

Choose a tag to compare

@van-geaux van-geaux released this 22 Jul 08:17

Lagrange Reader 1.1.0

New features

  • Persistent audiobook compact player with saved playback position and speed.
  • Audiobook chapter selection, seeking, playback speed, Preview isolation, and background playback.
  • Book Detail Play prepares in the background and autoplays when ready.
  • Audiobook sessions restore after app restart in a paused state.
  • Continuous CBZ/CBR reading with adaptive bitmap caching and page prefetching.
  • Lazy online comic page loading for CBZ, CBR, and CB7.
  • Reading-state shelves including Currently Reading, On Deck, Want to Read, and Recently Read.
  • Library-specific cover aspect ratios and improved cover alignment.
  • Authors jump rail and improved library navigation.
  • Multi-select and batch delete for local books.
  • Persistent orientation lock.
  • Improved library browsing controls and filtering.

Fixes and improvements

  • Improved remote audiobook streaming with authenticated byte-range requests.
  • Fixed audiobook preparation failures and stale session restoration.
  • Improved reader layout around the compact player.
  • Improved comic scroll-back smoothness and cache reuse.
  • Improved progress synchronization and offline recovery.
  • Improved destination icons, tutorial behavior, and reader controls.

This release is intended for personal and community testing. Broader device and format validation remains ongoing.

Lagrange Reader v1.0.0

Choose a tag to compare

@van-geaux van-geaux released this 21 Jul 06:26

Lagrange Reader 1.0.0

This is the first release-ready version of Lagrange Reader, an independent Android client for BookOrbit. It began as a personal project because I love BookOrbit and wanted a reliable way to read my library offline.

Highlights

  • Offline-first library browsing and local books
  • Two-way reading and listening progress synchronization
  • Automatic replay of progress recorded during offline sessions after reconnecting
  • EPUB, KEPUB, PDF, and CBZ reading
  • Online CBR/CB7 preparation through the BookOrbit server
  • Audiobook playback with chapters, seeking, speed control, and resume
  • Reader themes, margins, text sizing, orientation lock, and keep-awake mode
  • Multiple app themes, achievements, download policies, cache management, and server switching

Known limitations

  • MOBI, AZW, AZW3, and FB2 are not currently supported.
  • Offline CBR/CB7 still requires the BookOrbit server for RAR/7z extraction.
  • Direct OIDC/SSO is not implemented.
  • Wider device, accessibility, and unusual-format validation will continue after this release.

This project is AI-assisted and is not affiliated with or endorsed by the BookOrbit maintainers. The project uses a custom personal and non-commercial source-available license; see the included LICENSE file.