Releases: microg/GmsCore
v0.2.23.214816
Changelog
- Exposure Notifications:
- Add support for validating signatures on key files (only for DE and CH for now). Thanks @cgrigis
- Add support for more detailed API and use Advertisement version 1.1. Thanks @Elsensee
- Improve permission checks, especially for Android 12. Thanks @Bubu, @fynngodau
- Cloud Messaging:
- Improve reconnecting logic. Thanks @grote
- SafetyNet / DroidGuard:
- Implement DroidGuard without additional helper.
- Allow using external DroidGuard via network
- Easy check for SafetyNet functionality in settings
- Device profiles:
- Allow to spoof device identity
- Import device details from profile file
- Location:
- Update UnifiedNlp to v2.0-alpha7
- Improved reliability of service
- Improvements and bug fixes (as always)
New features
SafetyNet / DroidGuard
The updated SafetyNet implementation runs proprietary DroidGuard code privileged in the com.google.android.gms
package name. This is required on at least some devices to pass SafetyNet. However this features is disabled by default. If you don't want to run proprietary code by Google on your device do not enabled SafetyNet.
As of now, microG SafetyNet implementation, once enabled, should work on all devices and ROMs that would pass SafetyNet attestation with original Google Play Services. This means that ROMs that are rooted (= come with a su
binary that allow privilege escalation), with unlocked bootloader, or for some other reason do not pass the CTS or trigger the SafetyNet system will fail SafetyNet attestation. Hiding or spoofing such details from DroidGuard/SafetyNet is out of scope for this project, but techniques to allow passing SafetyNet on custom ROMs should equally work with microG.
Device profiles
This features is mostly useful for Huawei devices or other devices that are banned from accessing Google services. Choosing a profile of a non-banned device should allow using the device with Google services.
For now, two device profiles are included with microG (Nexus 5X with Android 8.1.0 and Moto G with LineageOS 14.1).
If you are a developer, you can easily create a device profiles based on data gathered from a device. See this file for a sample device profile. Once created, you can import device profiles in microG settings (under "Device registration") to test the profile.
If you are a custom ROM developer, you can add a custom device profile for your ROM by placing an appropriate device profile in /system/etc/microg_device_profile.xml
. This can be useful to spoof the details of the original vendor ROM.
v0.2.22.212658
Maintenance release with a few bug fixes.
v0.2.21.212158
This release fixes two major bugs introduced with v0.2.20.212158.
Notice regarding updates from v0.2.20.212158
If you already updated to v0.2.20.212158 and you can't install the update to v0.2.21.212158 the usual way, you may need to connect your device to a compute with adb
installed and invoke the following commands in a shell:
adb push path/to/play-services-core-212158042.apk /data/local/tmp/play-services-core-212158042.apk
adb shell pm install-create -r --staged # This returns a session id in brackets
adb shell pm install-write *session-id* base /data/local/tmp/play-services-core-212158042.apk
adb shell pm install-commit *session-id*
adb shell rm /data/local/tmp/play-services-core-212158042.apk
adb reboot
If this doesn't work, you might need to directly update the .apk
on your /system
-partition or wait for the ROM developer to update to v0.2.21.212158.
v0.2.20.212158
- Add support for Cronet. Thanks @dimaryaz.
- Add dummy code for
- Font provider. Thanks @grote.
- Credentials API
- TapAndPay API
- Improvements and bug fixes
Important Notice: Some users reported issues with this release when using a system that has #microG installed on /system partition (including problems up- or downgrading after installing v0.2.20) or when using apps that make use of a Google account.
v0.2.19.211515
This release includes several bug fixes and improvements for Exposure Notification API integration with CCTG.
v0.2.18.204714
- Exposure Notifications: Adjustments for API 1.8 See Google release notes.
- Small bugfixes
v0.2.17.204714
- Bug fixes for Exposure Notifications API
- Improve translations. Thanks @heyarne (de), @Vavun (be, ru), @oscfdezdz (es)
v0.2.16.204713
v0.2.15.204713
Vision Barcode API:
- Support for Vision Barcode API in GmsCore (#395, #670, #1211, #1297, thanks @lfxgroove)
- Implementation of Vision Barcode API as client library
Exposure Notification API:
- Allow exporting collected IDs for analysis with third party apps (like Warn-App-Companion, thanks @tlambertz)
- Correctly support uploading of intra-day TEK
- Update device calibration data and adjust announced transmission power
- Display notification when user turns off bluetooth or location, ask to enable bluetooth and location before enabling EN (#1306)
- Various bug fixes and improvements (#1290, #1300, and more)
Other:
- Fix crash in cross-architecture apps using GMS Conscrypt (#1285)
- Fix crash in apps using legacy versions of Firebase Auth client library (#1254, #1276)
- Fix crash in Google Mail app (#1052)
- Work-around for bug in Android 8.0.0 that can cause system crashes (#1312)
- Translation update for Russian, Belarusian (thanks @Vavun), Italian (thanks @Pdevo, @Fs00), Japanese (thanks @yuk7)
v0.2.14.204215
- Exposure Notifications
- Support for ExposureWindow mode
- Allows using SwissCovid 1.2.0 and future releases of EN apps
- Support for correctly reading the new (specification not yet published) bluetooth AEM format
- See https://github.com/google/exposure-notifications-internals/issues/22
- As the new format is already used in the wild by some devices, it might have resulted in warning not being shown. This release clears the key comparison cache so that all old keys are checked again. This might cause a timeout with the next key update.
- Initial support for using microG EN as a library
- Support for ExposureWindow mode
- Security provider installer
- Updated Conscrypt to 2.5.1
- Using custom build of Conscrypt for better compatibility, see microg/conscrypt-gmscore
- This fixes some apps that previously had timeouts or waited indefinitely when requesting data from servers
- Wallet API: Stub isReadyToPay()
- This fixes some apps that waited indefinitely during payment process and/or when displaying payment options
- Bump version to 20.24.15
- Use UnifiedNlp 2.0 alpha 5
- Fixes upgrades from older versions of UnifiedNlp