3.12.0 release notes

Known issues

None.

Upgrade notes

  • This upgrade can be rolled out remotely. Users will download the new version in the background and be prompted to reload the app when it’s ready. A small amount of data will be needed to download the new version.
  • Upgrading to this version does not require other applications to be upgraded. This release does not drop support for any hardware or software that works with the previous version.
  • This release modifies some CouchDB view definitions, so we recommend you Stage the upgrade and wait for the views to be rebuilt before rolling it out to minimize downtime.
  • It is recommended to test the upgrade on a clone of your server first to ensure it works well for your application.

Breaking changes

None.

Supported software

There are no required changes to the supported software matrix from 3.0.0.

NodeCouchDBBrowsersSMS bridgeAndroidmedic-androidmedic-couch2pg
8.11+2.1+Chrome 53+, Firefox latestmedic-gateway4.4+0.4.5+3.0+

UI/UX changes

None.

Highlights

Telemetry

The CHT-Core increased the frequency of telemetry data collection from monthly to daily, this new level of granularity is going to boost the metrics accuracy. Additionally, CHT-Core is gathering new information to support research initiatives, to help monitor and detect errors earlier and to contribute to the analysis of document replication.

Check the telemetry documentation for more details.

  • #6300: The difference between the client datetime and the server datetime, it helps to detect user’s clock errors.
  • #6915: Access to granular telemetry data in daily frequency for post-hoc analysis, monitoring & research initiatives.
  • #6354: Access to replication information.

Monitoring

The Monitoring API version 1 (/api/v1/monitoring) is now deprecated, but will continue to work. The version 2 (/api/v2/monitoring) is introduced with improvements in the returned data structure and new metrics available.

Check the Monitoring API documentation for more details.

  • #6607: The number of users that have connected to the api in a given number of days, it helps to detect when users are unable to connect to the server.
  • #6572: Outgoing messages information, it helps to determine the SMS failures rate.

Contact summary, targets and tasks

The contact summary, targets and tasks now have more data available and a new CHT API with useful functions.

Check the contact summary, targets and tasks documentation for more details.

  • #6914: Ability to verify user’s permissions from contact summary, targets and tasks by using the CHT API.
  • #6919: Access to UHC “home visits” information from contact summary.

SMS

The CHT-Core will send a SMS when the origin phone number is not registered in the app:

  • #6650: Send an error message to users when sys.facility_not_found is generated.

Muting

Muting and unmuting are now performed on-device for offline users. Previously, muting and unmuting were performed only on the server which meant that offline users would not see the results of submitting mute/unmute reports until they were synced and processed by the server.

Check the Muting documentation for more details.

  • #6737: Improve how Muting is handled on device before syncs.

And more…

Features

  • #6300: Add offline clock error detection to telemetry data.
  • #6607: Detect and report when users are unable to connect to the server.
  • #6650: Send an error message to users when sys.facility_not_found is generated.
  • #6690: Expose task ID to Enketo.
  • #6914: Ability to verify user’s permissions from contact summary, targets and tasks by using the CHT API.
  • #6915: Access to granular telemetry data for post-hoc analysis, monitoring & research initiatives.
  • #6919: Access to UHC “home visits” information from contact summary.

Improvements

  • #6354: Add user telemetry for replication requests.
  • #6572: Allow for monitoring and alerting of SMS failure rate.
  • #6737: Improve how Muting is handled on device before syncs.
  • #6741: Add version of android app in the about page and in telemetry.

Security fixes

None.

Performance improvements

None.

Bug fixes

  • #6479: Remove redirect from log out.
  • #6485: Getting contact summary cards displayed that should not on a profile.
  • #6602: Triggering a stage for a package that doesn’t exist causes the upgrade page to freeze.
  • #6626: 80% of BRAC feedback documents have cause “Possibly unhandled rejection: {“status”:404,“name”:“not_found”,“message”:“missing”,“error”:true}".
  • #6634: Schedules depending on later library might not run when expected.
  • #6718: Default config delivery form saves incorrect baby uuid.
  • #6972: Remove ability to set user language in database.
  • #7066: Sort form filter and translation timing.
  • #7068: Remove the ability to set the user’s language via the API.
  • #7091: Can’t submit forms against muted contacts.
  • #7100: Loading the About page throws an error.
  • #7113: Monitoring sentinel backlog values are wrong.
  • #7137: Tasks fail to load when priority labels are empty.
  • #7169: API or CouchDB can return 401 status code for valid sessions under load, forcing users to be logged out.
  • #7183: Disable Node HTTP request timeout.

Technical improvements

  • #6969: Update dependencies for 3.12.0.
  • #7084: Upgrade MomentJS in CHT-Core and resolve conflicts.
  • #7103: Flaky e2e test “Creating contacts with standard config”.
  • #7118: Flaky e2e test “Export Data V2.0”.
  • #7124: Some e2e tests are breaking consistently.