Android Packages Apps GmsCore Versions Save

Free implementation of Play Services

v0.3.1.240913

3 weeks ago

Changelog

  • Add support for license verification. Thanks @fynngodau
  • Add experimental support for in-app billing. Thanks @DaVinci9196
  • Add support for PoTokens. Thanks @DaVinci9196
  • Add support for MLKit Barcode Scanning.
  • Improve support for sign-in to Google account. Thanks @DaVinci9196
  • Adjust theme for Material 3. Thanks @theimpulson
  • Improve Google Account management in microG settings. Thanks @theimpulson
  • Various fixes and improvements. Thanks @fynngodau @VxlerieUwU @Uldiniad @matejbart @DaVinci9196 @jonathanklee @ale5000-git
  • New/Updated translations for Italian, Polish, Asturian, Norwegian, Romanian, Swedish, Japanese, German, Simplified Chinese, Serbian, Ukrainian, French, Spanish, Belarusian, Brazilian Portuguese, Russian, Traditional Chinese. Thanks @Fs00 @SpacingBat3 @enolp @comradekingu @ygorigor @eson57 @s1204IT @MiepHD @Dedicatus5457 @nexiRS @Atalanttore @bittin @Kefir2105 @brewcoua @hustler-not-chatty @Vavun @LucasMZReal @DaVinci9196 @jonathanklee

New Contributors


Full Changelog: https://github.com/microg/GmsCore/compare/v0.3.0.233515...v0.3.1.240913

v0.3.0.233515

5 months ago

Changelog

  • Move microG Companion (previously "FakeStore") into GmsCore repository. Starting now, version names of both packages will be synced and both will be released together.
  • Allow sign-in without linking device. Useful for devices that are not qualified to run Google Play Services (e.g. because of Huawei ban)
  • Declare com.google.android.providers.gsf.permission.READ_GSERVICES permission (#2035). Thanks @ale5000-git.
  • Fix issues with new map style (#2055). Thanks @fynngodau
  • Fix issues with custom device profile (#2062, #2064). Thanks @jonathanklee
  • Improve handling of settings activity. Thanks @ale5000-git
  • Small fixes for Games (#2068). Thanks @js6pak
  • Add support for FusedLocationManager.getCurrentLocation() method
  • Small improvements for Games and Google Account management.
  • New/Updated translations for German, Norwegian, Polish, Romanian, Serbian, Simplified Chinese, Spanish, Ukrainian. Thanks @Kefir2105, @Atalanttore, @comradekingu, @gnu-ewm, @ygorigor, @nexiRS, @hustler-not-chatty.
  • If you haven't upgraded to v0.2.28.231657 or v0.2.29.233013 before, check their respective release notes.

Notes

  • The name of the APK file after build is now automatically set to <package-name>-<version-code>.apk (e.g. com.google.android.gms-233515000.apk or com.android.vending-83752400.apk).
  • This is the first release to provide -hw and -lh test builds. Those are currently not meant for use except if explicitly instructed.

New Contributors


Full Changelog: https://github.com/microg/GmsCore/compare/v0.2.29.233013...v0.3.0.233515

v0.2.29.233013

7 months ago

New features

Sign-In

microG now supports signing into apps and games that use Google as one or their only sign-in options. This features is still experimental and doesn't work for all apps.

SMS retriever API

microG now supports the SMS retriever API. Apps can use the SMS retriever API to automatically fill confirmation codes received by SMS contains an app specific token or the user confirms that the app shall be allowed to read the SMS content. This API does not requires the app to have access to your SMS (but microG needs such access).

Google Account configuration

microG now allows to configure various settings, privacy options and manage account links of your Google account. You can open the settings from system settings or directly from various Google Apps.

microG now fully supports opening short dynamic links created for sharing in various apps or statically by the app developer. These links typically end in .page.link or .app.goo.gl. microG will open the corresponding app if installed or fallback to either the corresponding web site (if available) or the app page in the installed app store.

Changelog

  • Maps:
    • Various improvements and bug fixes (#1977, #1978, #2017, #2032). Thanks @fynngodau, @VxlerieUwU
    • Significantly improved performance and reduces memory and CPU usage
    • Move to Stadia as a map data source. This changes a little bit which things (like POI) are displayed on lower zoom levels, but shouldn't have any major impact on app usage.
  • Location:
    • Add ability to learn wi-fi and mobile network locations from GPS
    • Support more "moving wi-fis" (locate based on in-train/flight/bus wi-fi network)
  • Fido:
    • Updated for the current API version, thereby adding support for WebAuthn in current Firefox for Android.
  • SafeParcel:
    • Move SafeParcel into play-services-basement
    • Add support for shorts (#2019). Thanks @chirayudesai
    • Add annotation processor to generate CREATOR at compile-time (rather than using reflection)
  • Push notifications:
    • Reduce maximum heartbeat interval to reduce risk of unintentional disconnect (#1985). Thanks @t-m-w
  • Improve support for old Android versions (#2025, #2028). Thanks @ale5000-git
  • Compress native libraries to reduce file size (#2000). Thanks @ale5000-git
  • Fix configuration issues (#1981, #1998). Thanks @vincentvidal, @t-m-w

Notes

  • The build artifacts name has been changed. withVtm has been renamed to vtm, withMapbox was renamed to mapbox. To disable the nearby module one has to set modules.nearby=false via local.properties.
  • microG additionally requests the android.permission.RECEIVE_SMS permission to access SMS for implementing the SMS retriever API.
  • Exposure Notifications settings no longer show up if it's disabled and wasn't enabled or accessed for more than 14 days

New Contributors


Full Changelog: https://github.com/microg/GmsCore/compare/v0.2.28.231657...v0.2.29.233013

v0.2.28.231657

10 months ago

Changelog

  • Entirely new, rewritten location stack
  • Major update to maps implementation. Thanks @fynngodau
  • Support for reCAPTCHA Enterprise API
  • Various compatibility improvements

Notes

  • The new location stack does not support UnifiedNlp modules anymore. This was a step necessary to take to get locations properly working on latest Android versions. This means that some features previously available through UnifiedNlp modules do no longer exist. The goal is to merge the most important of those features into GmsCore. For now, the new locations stack is relying exclusively on Mozilla Location Service for network based location.
  • microG GmsCore now requests a few additional privileged permissions. As always, privileged permissions are optional for microG and you can continue using microG as an unprivileged app with only minor downsides. The new privileged permissions are:
    • android.permission.LOCATION_HARDWARE
    • android.permission.MODIFY_PHONE_STATE
    • android.permission.NETWORK_SCAN
    • android.permission.UPDATE_DEVICE_STATS
    • android.permission.WATCH_APPOPS

Full Changelog: https://github.com/microg/GmsCore/compare/v0.2.27.223616...v0.2.28.231657

v0.2.27.223616

1 year ago

Changelog

  • Use MapLibre instead of Mapbox. Thanks @fynngodau
  • Add minor missing features to Maps, Location, Fido and Recaptcha APIs
  • Restructure modules to reproduce library structure of Google Play Services
  • Various bug fixes. Thanks @hustler-not-chatty, @ale5000-git
  • Updated Translations. Thanks @Fs00, @hustler-not-chatty

Notes

  • Previous versions accidentally enabled device registration by default on some systems. This has been reverted. Please verify the device registration setting is as intended after upgrade.
  • Developers that use the microG client library or parts of microG as a bundled service need to review the new module structure.
    • Most -api modules are merged in the corresponding library module.
    • -core-ui packages are merged into the corresponding -core module.
    • The safe-parcel library is now bundled into play-services-basement.
    • Some classes have been moved to a different module.

Full Changelog: https://github.com/microg/GmsCore/compare/v0.2.26.223616...v0.2.27.223616

v0.2.26.223616

1 year ago

Changelog

This maintenance release fixes

  • issues in the new Fido implementation (#1806, #1821)
  • crashes in the microG user interfaces (#1800, #1813, #1816)

New Contributors


Full Changelog: https://github.com/microg/GmsCore/compare/v0.2.25.223616...v0.2.26.223616

v0.2.25.223616

1 year ago

Changelog

  • NEW: Fido API (#849)
  • Push notifications
    • Fix lifting idle restrictions on Android 12. Thanks @grote
    • Fallback to port 443 in restricted networks. Thanks @matttbe
  • Exposure Notifications
    • Add required exports and flags for Android 12 to nearby-core. Thanks @fynngodau
    • Show weekday for reported exposures (#1743)
    • Move location permissions out of nearby-core to allow using the neverForLocation assertion in apps using it (#1796)
  • Device attestation
    • Add UI listing apps using SafetyNet. Thanks @iTrooz
  • Client Library
    • Add play-services-fido, play-services-oss-licenses and play-services-safetynet client library
  • Translations:
    • Add simplified chinese. Thanks @hustler-not-chatty
    • Update russian and belarusian. Thanks @Vavun
  • Improvements and bug fixes (as always). Thanks @christophehenry, @ale5000-git, @relan, @tol4711

New features

Fido

The newly added Fido API allows using U2F and Fido devices via USB or NFC with supported Browsers (Chromium and Firefox) and to sign into your Google Account in microG. Additionally, on supported hardware and when a PIN/password is configured, the secure key storage can be used as a virtual Fido device. Note that some devices are still not fully supported.

Due to lack of open-source client library, open-source variants of browsers (Bromite, Fennec, etc) currently do not support this API. This release also provides an open-source play-services-fido library, which open-source browsers can use instead of the proprietary Google version to add support for microG's Fido API.

New Contributors


Full Changelog: https://github.com/microg/GmsCore/compare/v0.2.24.214816...v0.2.25.223616

v0.2.24.214816

2 years ago

This is a maintenance release to fix a few issues slipped into the last release.

Changelog

Exposure Notifications:

  • Fix invalid RSSI calculation (Thanks @transistortim)

Device profiles:

  • Apply profile to User-Agent used in WebViews

Location:

  • Fix bug in UnifiedNlp causing configuration changes not being reflected until reboot.

v0.2.23.214816

2 years ago

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

2 years ago

Maintenance release with a few bug fixes.

See: commits since v0.2.21.212158