Releases: fabiodalez-dev/Pinakes-Android
Release list
Pinakes Android v1.3.1 (debug)
Debug build 1.3.1 (versionCode 7).
Fix
- TLS: connect to instances with an incomplete certificate chain. Self-hosted servers behind a QNAP/Synology reverse proxy often serve a TLS chain that is missing an intermediate CA. Browsers fetch the missing piece automatically (via the certificate's AIA URL); the app previously did not, and failed onboarding at Discover library with "Couldn't reach that address" / "Trust anchor for certification path not found" even for a valid Let's Encrypt certificate. The app now completes the chain the same way a browser does. Validation is not weakened — the system trust store still makes the final decision.
Verified against a real QNAP-hosted instance: discovery and login now succeed.
Install
Uninstall any previous version first if you hit a signature mismatch, then install the attached pinakes-v1.3.1-debug.apk.
Pinakes Android v1.3.0 (debug)
Debug build off main — the latest app with the Book Club integration and the insecure-HTTP onboarding option.
What's new since 1.2.1
- Book Club — the plugin now surfaces in the app (server-driven, feature-flagged): home cards, club detail, polls, RSVP, reading progress, with graceful degradation when the plugin is turned off server-side.
- "Allow insecure HTTP" onboarding opt-in (issue #16) — connect to a self-hosted instance served over plain HTTP (no TLS). Off by default; the app stays HTTPS-only unless you enable it on the "Connect your library" screen. The cleartext gate covers the API, book covers (Coil) and the in-app PDF reader, so plain HTTP is only ever used for an instance you explicitly accepted.
- Review/UX fixes: 401 → re-login handling, poll-deadline timezone correctness, empty-state refresh, snackbar de-dup, safer envelope parsing, slug URL-encoding, and more.
Verified
build-and-test green on CI; smoke-tested on an android-35 emulator (boot, authenticated catalog + Book Club load, onboarding toggle, HTTP loopback discovery 200, opt-in gate on/off).
Debug-signed APK — for testing/self-hosting, not a Play Store build.
Pinakes Android 1.2.1 (test build)
Test build of the Pinakes Android app (v1.2.1, versionCode 5).
What's in this build
- Complete Hilt dependency-injection migration (ServiceLocator removed; all 12 ViewModels @Inject-constructed).
- Cleanup: removed the dead
bookIdparameter fromBookDetailScreen(the ViewModel reads it fromSavedStateHandle).
Artifact
pinakes-1.2.1-release-debugsigned.apk— R8 minified + resource shrinking (~9.4 MB).- Debug-signed (
CN=Android Debug): installable for testing only, NOT for the Play Store. A release keystore is needed for store distribution.
Verified
assembleReleasebuilds cleanly (R8).- On-device smoke test of the minified build: launch, onboarding, login, home shelf, catalog, and book detail all work — no R8 / serialization / Hilt runtime breakage.
Pre-release: test artifact from the
feat/hilt-dibranch, not yet merged to main.
Pinakes Android v1.1.1 (debug)
Pinakes Android 1.1.1 — companion app for the Pinakes ILS.
New in 1.1.1
- App icon is now the Pinakes palm (pink palm on white), replacing the generic book glyph. Proper adaptive icon (with a themed/monochrome variant for Android 13+) plus square + round legacy icons for older Android.
Everything from 1.1.0 (in-app registration, password recovery, feature-flag gating, security hardening) is included.
Install
Debug-signed APK for direct sideloading (not a Play Store build). Download pinakes-android-v1.1.1-debug.apk, enable "install from unknown sources", and open it. versionCode 3 installs over the previous build in place.
Point it at your library: enable the bundled Mobile API plugin on the server (Mobile API → Settings → enable app access), then enter your instance URL in the app.
Pinakes Android v1.1.0 (debug)
Pinakes Android 1.1.0 — companion app for the Pinakes ILS.
Point it at your library's instance URL (enable the bundled Mobile API plugin on the server, then Mobile API → Settings → enable app access) and your members can browse the catalog, check real availability, borrow & reserve, read ebooks / listen to audiobooks, and manage their loans.
New in 1.1.0
- In-app registration — create an account directly from the app, with client-side validation and the same privacy-acceptance requirement as the website.
- Password recovery — request a reset link from the login screen.
- Feature-flag gating — the UI follows each instance's settings (e.g. catalogue-only mode hides loan/reserve actions) and refreshes them on launch/login.
- Security hardening — duplicate-submit guard on registration, no account enumeration on password recovery, and the password confirmation is carried end to end.
Built against the realigned Mobile API contract shipped in Pinakes 0.7.23 (reachable plugin settings, loan-vs-reservation parity, normalised availability calendar).
Install
This is a debug-signed APK for direct sideloading (not a Play Store build). Download pinakes-android-v1.1.0-debug.apk, enable "install from unknown sources", and open it. versionCode 2 installs over the previous 1.0.0 build in place.
Debug builds permit cleartext HTTP only for loopback / the emulator; real instances must be served over HTTPS. The bearer token is stored in
EncryptedSharedPreferences.
Pinakes Android v1.0.0 (debug)
Debug build of the Pinakes Android client. Install with adb install -r pinakes-debug.apk (or open on your phone), then point it at your Pinakes instance URL on first launch. Requires the instance to have the Mobile API + app access enabled.