Exposure Notifications document change log

This document covers the high-level changes made in topics throughout this site. Refer back to this page for guidance on what documentation topics to revisit for new and updated content.

2021-04-19 Added provide_diagnosis_key_interval_minutes to the telemetry table

Updated Exposure Notifications telemetry design by adding an entry for provide_diagnosis_key_interval_minutes.

2021-04-05 Added promo_shown_count to the telemetry table

Updated Exposure Notifications telemetry design by adding an entry for promo_shown_count.

2021-03-02 Updated direction on submitting calibration data

Updated Exposure Notifications BLE RSSI calibration procedure to reflect changes to how data is generated and should be submitted. Also updated the APK for the calibration app.

2021-03-01 Added release notes for v1.8 of the API

Added content to the release notes for the release of v1.8 of the Exposure Notifications API.

2021-02-22 Added more apps to the list

Added more apps to the Publicly-available Exposure Notifications apps topic.

2021-02-08 Added information about debug mode

Added an explanation to Exposure Notifications debug mode about how turning debug mode off doesn't cause the device to behave exactly like a consumer device.

2021-02-04 Added a section about handling API timeouts

Added the section Handle API timeouts to the API topic and updated the Exposure Notifications implementation guide with references to the added section.

2020-12-02 Updated the definition of the telemetry data structure

We updated the definition of the data structure for telemetry data gathered for Exposure Notifications. The following fields were added for Exposure Notifications:

  • UserAction.event_type values:
    • PROMO_NOTIFICATION_IMPRESSION_FLP
    • PROMO_NOTIFICATION_IMPRESSION_IPGEO
    • PROMO_ACTIVITY_IMPRESSION
    • PROMO_NOTIFICATION_DISMISSED
    • PROMO_ACTIVITY_DISMISSED
    • PROMO_CONTINUED
    • PROMO_INSTALLED
  • ApiMethod.method_name(GET_VERSION)
  • MatchingState.matching_result, with the values:
    • UNKNOWN_MATCHING_RESULT
    • SUCCESS
    • TIMEOUT
    • SIGNATURE_VERIFICATION_ERROR
    • KEY_FILE_CORRUPTION
    • CRYPTO_ERROR
    • STORAGE_ERROR
    • FAILED_TO_LOAD_NATIVE_LIBRARY
  • MacRpiOverlapPebblePercentage.percentage
  • rejected_key_files_count
  • attempted_key_files_count

The following fields were added for Exposure Notifications Express:

  • rpc_call.RpcCallType.RPC_TYPE_ENPA_REMOTE_CONFIG_FETCH
  • work_manager_task.WorkerTask fields:
    • TASK_SUBMIT_PRIVATE_ANALYTICS
    • TASK_COUNTRY_CHECKING
    • TASK_FIRELOG_ANALYTICS
  • work_manager_task.Status and its fields:
    • STATUS_UNKNOWN
    • STATUS_STARTED
    • STATUS_SUCCESS
    • STATUS_TIMEOUT
    • STATUS_FAIL
    • STATUS_ABANDONED

2020-11-02 List of Exposure Notifications apps

Added a list of publicly-available Exposure Notifications apps.

2020-10-02 API version 1.7

Version 1.7 of the Exposure Notifications API corresponds to the following changes and additions to the documentation:

  • Updated the documentation regarding available modes:

    • Added new details to explain the rationale for migrating from the legacy v1 mode to ExposureWindow mode.

    • Replaced all references to v1 mode with the legacy v1 mode.

  • Added documentation for the new getStatus() method, which gets the current Exposure Notifications status and returns an ExposureNotificationStatus value.

  • Updated the descriptions of the ExposureWindow class to reflect new behavior: exposures to other users should not contribute to the risk value if their diagnosis keys are mapped by configuration to either of the following values:

    • infectiousness=NONE
    • reportType=REVOKED
  • Corrected the provideDiagnosisKeys() documentation to note that, in the legacy v1 mode, the method can insert multiple batches of files containing key information into the on-device database. Previously, the number of diagnosis keys that could be passed in this mode was incorrectly listed as one.

  • Updated the description of getTemporaryExposureKeyHistory() to note new behavior supported by allowlisted apps.

  • Corrected the description of daysSinceExposureThreshold to reflect existing behavior.

2020-09-11 Added export file validation guide

Added the Exposure key export file format and validation guide. Also added a section to the Exposure Notifications implementation guide.

2020-09-10 Expanded definitions of totalRiskScore and minimumRiskScore

Updated the definitions of totalRiskScore and minimumRiskScore to clarify how to handle matches for which the minimum risk score threshold has not been met.

2020-09-09 Updated code sample

Replaced ExistingPeriodicWorkPolicy.KEEP with ExistingPeriodicWorkPolicy.REPLACE in the code sample in Best practices for background work. This resolves an issue with WorkManager sometimes not adding a job to the system job scheduler.

2020-09-02 Time data corrected

Updated the API documentation to show the correct quota reset time (00:00 UTC) in the provideDiagnosisKeys() method.

2020-07-24 Quota information updated

Added further explanation of quotas to Exposure Notifications API:

  • The word "day" was defined as "midnight to midnight of the device's local time zone."
  • The quota was updated for allowlisted accounts from 1,000 per day to 1,000,000 per day.

2020-07-20 Google Play services snippets

Added Google Play services snippets and Telemetry design to the site. These topics and the exposure-notifications-internals GitHub repository provide information about the Google Play services layer of the Exposure Notifications system.

2020-07-07 API version 1.5

Version 1.5 of the Exposure Notifications API corresponds to the following changes and additions to the documentation:

  • Introduction of tokens to switch between working in ExposureWindow mode and v1 mode.
  • ExposureWindows, a new way of determining the risk associated with an exposure. And when using the ExposureWindow mode:

2020-07-07 Debug mode changes with API version 1.5

The Debug mode changed with version 1.5 of the API. You can read more about the changes in the Debug mode options in API version 1.5 section of the topic.

2020-07-02 Error handling documentation

The documentation covering error-handling in the framework was expanded.

20202-06-22 Bluetooth LE attenuation documentation

Three topics covering aspects of Bluetooth LE (BLE) attenuation were published:

2020-06-14 Exposure Notification Verification System documentation released

Documentation covering the Exposure Notifications verification server was published. This server validates positive diagnoses of COVID-19 when users consent to uploading their status.