8
Notable changes in version 8:
- almost entirely rewritten backend and frontend code providing substantially better robustness and features
- atomic multi-package installation support used to install a package and all dependencies together in one atomic package manager operation in order to avoid incomplete updates where dependencies have been updated beyond what's supported, especially since the overall package installation could fail and leave things in a broken state
- full split package (split APK) support able to install only the required language, density and ABI splits
- substantially restructured/reorganized user interface
- substantially improved error reporting in the user interface
- fully parallelized package downloads, decompression, verification and installation
- package downloads can now be cancelled by the user
- background jobs now respect dynamic network changes, such as the network type changing while the job is running to one that no longer matches the required type configured by the user
- remove support for directly uninstalling apps and instead always use the request uninstall dialog provided by the OS
- hide option to uninstall updates for system apps when no updated package is installed
- always show standard package installation prompt to allow users to cancel installation and to toggle the Network permission at install time on GrapheneOS (Apps configures the PackageInstaller UI to still consider this a first party app installation when Apps is a first party app store despite not using the unattended install packages API)
- build with API 33 SDK
- raise target API level to 33
- add Android 13 themed icon support
- only include resources for supported languages to avoid partial translations
- disable shrinking / obfuscating non-library code for simpler bug reporting mainly due to the major rewrite and minor (~1%) size increase (all code optimizations are still performed)
- update Android build tools to 33.0.1
- update AndroidX Kotlin core library to 1.9.0
- update AndroidX appcompat library to 1.5.1
- update AndroidX activity library to 1.6.1
- update Android fragment library to 1.5.4
- update AndroidX navigation libraries to 2.5.3
- update Material UI library to 1.7.0
- update Bouncy Castle library to 1.72
- update Kotlin coroutine libraries to 1.6.4
- update Android lifecycle libraries to 2.5.1
A full list of changes from the previous release (version 7) is available through the Git commit log between the releases.
Apps is the client for the GrapheneOS app repository. It's included in GrapheneOS but can also be used on other Android 12+ operating systems. Our app repository currently only provides our standalone apps and a mirror of the core Google Play apps to make it easy for GrapheneOS users to use sandboxed Google Play with versions of the Google Play apps we've tested with our sandboxed Google Play compatibility layer.
Note: this major rewrite of Apps is not ready for GrapheneOS users on legacy 3rd generation Pixels and is only being provided as an over-the-air update for users on GrapheneOS with API 33+ (Android 13+). Support for legacy 3rd generation Pixels will be added later. Installing it on 3rd generation Pixels will make the Google Play mirrors in the app repository unavailable until Apps is downgraded to version 7.