2.13.0 release notes

Migration notes

  • #2635 changes the context available to the configured contact summary script. The contact parameter no longer has information about parents. This information is now in an array called lineage. More information is available in the configuration documentation.
  • #3546 changes the implementation of the contact_summary so instead of declaring the output on the last line of the script, now you have to return the output. Usually this is as easy as adding a return on the last line, so output; becomes return output;. More information is available in the configuration documentation.


  • multi_report_alerts transition added to sentinel. See the documentation in cht-docs. Issue: #3416
  • Specify which forms can be downloaded using Collect. Issue: #3607
  • Validate sentinel transition configs at transition load time. Issue: #3585
  • Information from the contact-summary is now available as input to forms. Issue: #3413
  • Allow users to enter Bikram Sambat dates in Enketo forms on Android phones. Issue: #3513
  • Allow users to enter Bikram Sambat dates in Enketo forms in the web app. Issue: #3404
  • Registration of a person from a report/action form is now possible. Issue: #2912

Bug fixes

  • Couch responds with 200 when a bad app_settings file is uploaded. Issue: #3674
  • Select All in bulk delete doesn’t work. Issue: #3646
  • Only serve collect-specific XML forms to collect. Issue: #3642
  • Exporting when filtered by report type exports more reports than are displayed in the web app. Issue: #3615
  • Bulk delete fails when deleting more than a few hundred records. Issue: #3605
  • Exporting reports filtered by place results in an empty xml. Issue: #3593
  • Requesting forms should respond with 4xx on client error. Issue: #3569
  • Can’t view contacts for restricted user. Issue: #3517
  • Bad error message when associated contact is not available in the local DB. Issue: #3499
  • Gardener bug on startup when module_name is undefined. Issue: #3481
  • Reports list showing when user doesn’t have proper permission. Issue: #3452
  • select2 in a repeat group does not work as expected in an Xform. Issue: #3430
  • {{patient_name}} not found when patient was created by xform. Issue: #3419
  • Search doesn’t work in Nepali or with accented characters. Issue: #3392
  • Remove nested contacts. Issue: #2635

UI/UX improvements

  • Sync status cut off in mobile view. Issue: #3703
  • Hide Collect XForms from filter list in History tab. Issue: #3625
  • Split the form configuration page into JSON and XML tabs. Issue: #3559
  • Wrap text in tasks list. Issue: #3525
  • Task summary screen looks ugly on desktop. Issue: #3521
  • Send Report dropdown menu items are misaligned. Issue: #3469
  • Disable tasks tour for admins. Issue: #3144
  • Confirmation popup should not show on ‘Error loading form’. Issue: #3045
  • ‘May lose data’ warning displayed when form has no fields. Issue: #1601

Performance improvements

  • Remove modules.js attachment. Issue: #3684
  • Use alternative pagination method for running batched migrations. Issue: #3553
  • The read status of documents is now stored in a user specific database to reduce unnecessary doc updates. Issue: #2418


  • Password validation so when creating or updating users the new passwords have to be at least 8 characters long and reasonably complex. Issue: #1472
  • Don’t eval() user input. Issue: #3546
  • Set Secure setting on AuthSession cookie for HTTPS pages. Issue: #3182