4.5.0 release notes

Known issues

Check the repository for the latest known issues.

Upgrade notes

Breaking changes


UI/UX changes

  • #8513: Align “Target” components with Material design guidelines
  • #8541: Options with long names look wrong in enketo selects


Schedules can be created by passing array on start_from

It is now possible to configure the start_from property to accept array of fields while configuring SMS schedules. This allows users to pass multiple fields and the first existing field will be used to create schedules. Read more about schedules in the documentation.

Target components are updated to match material design

The targets UI has been updated to match material design. This is the next step in transitioning to using a modern and intuitive design throughout the UI. Many other components were updated in 4.4.0.

Outbound tasks can be configured on a schedule

The CHT now supports scheduling when outbound push tasks are run based on a cron expression. Read about how to set this up in the outbound push documentation.




  • #8229: Send outbound tasks on a schedule
  • #8433: Add Enketo telemetry events for contact forms
  • #8513: Align “Target” components with Material design guidelines
  • #8633: Allow schedule to start with multiple fields

Security fixes

  • #8564: Improve masking of passwords in log files

Performance improvements

  • #8576: Low performance in Reports tab for users with thousands of places

Bug fixes

  • #7148: Document update conflict reported in feedback docs
  • #7616: Telemetry records not logged for every day FCHVs are active
  • #7670: Same patient id assigned to multiple patients in a same instance
  • #8089: Caught errors do not generate feedback documents.
  • #8471: Filter section on Reports tab not closing on first tap
  • #8502: Upgrading instance through webapp fails for the first time.
  • #8520: Action button uses wrong font
  • #8541: Options with long names look wrong in enketo selects
  • #8566: Sentinel stuck in infinite loop when 100 sequential docs fail to execute transitions
  • #8589: Users unable to edit the report they created
  • #8669: Enketo labels are not interactable
  • #8686: Fix target UI to match Figma

Technical improvements

  • #7370: Uplift messageformat to @messageformat/core
  • #7600: Add additional tests for Enketo Form functionality
  • #8237: Upgrade webapp to Angular 16
  • #8375: Flaky test: Muting for an offline user
  • #8501: Remove upgrade e2e’s temporary modal logic
  • #8535: Flaky e2e test: Testing Incorrect locale should work with incorrect locale
  • #8538: Flaky test: Service worker cache adding new languages triggers login page refresh
  • #8549: Update dependencies in scripts folder
  • #8554: Angular testing passes but logs thousands of lines of errors
  • #8556: xpath extensions tests fail locally in my timzone
  • #8578: Scalability workflow failed waiting for CHT to be up.
  • #8582: improve nginx config to avoid “listen … http2 directive is deprecated” warning
  • #8583: Ongoing replication e2e test is flaky
  • #8592: Flaky e2e integration test: Sentinel transition error log error for unknown transition:
  • #8621: Update WDIO
  • #8622: Update sinon and rewire
  • #8671: Flaky test: feedback docs should stop creating feedback docs once the db has over 1000 feedback docs
  • #8685: Chrome 118 broke e2e testing
  • #8692: Flaky e2e test: Default navigation hamburger menu spec failing: Hamburger Menu tests “before all” hook