Skip to content

Release v3.0.0

Choose a tag to compare

@github-actions github-actions released this 15 Aug 12:09
· 135 commits to master since this release

Changelog

✨ New sources & captcha handling

  • Added three new APK sources: Evozi (APKCube), Mi9, and APK Downloader.
  • In-app captcha browser — any captcha-gated download (Cloudflare "Just a moment", Turnstile) can be solved inside an embedded WebView; the download it produces is captured and run through the normal validate-and-return pipeline. Offered on resolved candidates for every source except Aurora/Play.
  • Mi9 Recommended + History tabs — open the real version-history page in the in-app browser, so Mi9's full version list is reachable and downloadable.
  • Sources that can't serve versions honestly hide their dead tabs (Evozi History, APK Downloader Recommended/History).

⚡ Fast Mode

  • New Fast Mode: auto-finds the exact requested version (name and code, format-agnostic) walking sources in order — APKMirror → Uptodown → APKPure → APKCombo → Aptoide — downloads it and returns it to Morphe automatically.
  • Live progress card on the home screen (source being checked, download %, final result) with a Cancel button.
  • Version-code mismatch now asks "Use this version / Skip to next source" — before downloading when the source reports the code, and after validation when the code is only in the file. A stale-instance guard ensures the question always reaches the right screen.
  • Toggle: ⚡ bolt button in the header (with toast) + Settings toggle.

🔧 Reliability & fixes

  • Stale "Download complete" notifications no longer return the previous app's APK to a new request; completion events are consumed per-request.
  • Multi-format requests (e.g. apk/apks/apkm/xapk) resolve correctly instead of false "mismatch" dead-ends.
  • APKMirror: honest "not found" instead of a fake green candidate; mismatched-format variants offered.
  • APKCombo: file type from variant badge, Referer fix, captcha-gated downloads surfaced instead of "not found".
  • APKPure / Aptoide / Uptodown fallbacks and honest captcha messaging; Play Store listings no longer treated as direct downloads.
  • Validation picks the real base APK inside split containers (APKS/APKM/XAPK).
  • Rate-limit bundle: per-source request pacing, abort on 429, skip fetches for absent apps, capped version history.
  • Full Logcat logging of every query, result, and HTTP request/response (per-source prefix, status, content-type, body size).

🎨 UI & UX

  • Settings split into separate per-group cards; cache size shown and cleared with one tap; clearer save-options naming; dark-theme selection fill.
  • Open-link-only candidates render as bare buttons (no card); Manual-mode links stay card-free.
  • Version history browsing for APKMirror, Uptodown, APKPure, APKCombo, Aptoide; dead rows flip to "Open link" instead of looping.
  • Source pills auto-fit, swipeable pages, jump-to-distant-source; Manual/Recommended/Latest/History sub-tabs with flow info cards.
  • Redesigned App info card (collapsible, section titles); header shows the version; download history with Show/Hide toggles and re-share.
  • Downloads run in a foreground service with progress notification, retry-with-backoff, and resume.

🔗 Morphe integration

  • "Open Morphe Manager" button on the empty state; falls back to GitHub releases, then morphe.software.