1.34.0 (2026-10-05)
Bug Fixes
- Abandon the install session when the copy into it is cancelled (96211bd)
- Base the patch update badge and its changelog on the same releases (936daf5)
- Keep one home card per install when a patched build is patched again or listed by a source (b57e5c8)
- Keep the dev builds of the current cycle in the prerelease changelog history (2e9790c)
- Lead the file picker's folder trail with a chip back to the list of storages (9d4f3ae)
- Leave pre-release builds out of the stable patches changelog (9d882e5)
- Load picked images in the icon and header creators (ff09b5c)
- Open the in-app updater from the "Update required" dialog (#1104) (369d2ae)
- Queue an app once when two of its cards stand for the same install (c19a335)
- redux: decouple channel send from mutex and ensure action runner resets on error (#1097) (6837f7e)
- Show every release since the patched version in the prerelease changelog (4cf0f5b)
- Show the icon of a disabled or renamed install when no APK is saved (513734f)
- Translate through a second Google endpoint when the first one turns the app away (eae76ff)
- Update to latest patcher (0d68bb3)
- worker: prevent work collisions and ensure thread-safe worker inputs (#1094) (7c47566)
- Write root module APKs through staging file and validate package names (#1096) (d0fb6ed)
Features
- Add a copy button for the APK download link (41c8745)
- Animate the installed app details as they load (4055fb8)
- Count performance changes in the changelog summary (21cb821)
- Cut the status mark out of the patched app's icon (d11ed9a)
- Draw an even outline around solid-colored app cards (dcc5466)
- Guide and restore app links for re-signed apps (#1100) (8ef213a)
- Load patch sources from private GitHub repositories with the configured PAT (bf4729c)
- Mark the patches version an app was patched with in its changelog (028c20c)
- Return to the patch selection after a failed run (7eff321)
Performance Improvements
- Bound package manager queries in installed app picker (#1073) (d32c1eb)
- Check manual sources for updates outside the store queue (7a22e4b)
- Cut per-frame work on the patcher screen and guard large image decoding (#1087) (35ba7e6)
- Incremental log processing and throttled auto-scroll in expert patcher panel (#1083) (310a010)
- Keep the manager responsive while patch sources load (55804c6)
- Move temporary input APK into repository on patch success (#1072) (704a787)
- Move the install copy off the main thread and harden two failure paths (#1086) (7ac18ef)
- Optimize changelog fetching, avatar caching and streaming timeouts (#1095) (3d3b985)
- Purge temporary storage asynchronously at startup via atomic directory rename (#1081) (ea746d6)
- Read the scroll fade alpha only while drawing (#1099) (24faa4f)
- Reuse resources APK directly to avoid redundant input copies (#1075) (cef596a)
- Sign patched APKs in place with a preloaded key (#1088) (fb3bfc9)