diff --git a/content/en/releases/5_3_2.md b/content/en/releases/5_3_2.md new file mode 100644 index 000000000..934617d61 --- /dev/null +++ b/content/en/releases/5_3_2.md @@ -0,0 +1,87 @@ +--- +title: "5.3.2 release notes" +linkTitle: "5.3.2" +sidebar: + exclude: true +description: + Released 2026-10-16 +--- + +## Highlights + +5.3.2 is a patch release with two fixes for Nouveau, the CouchDB search service that drives user replication and server-side purging. It also fixes a 5.3.0 regression in how reports display their subject. + +### CouchDB 3.5.3 + +The CHT upgrades CouchDB to 3.5.3. This version fixes upstream bugs ([apache/couchdb#6118](https://github.com/apache/couchdb/issues/6118)) that caused Nouveau index rebuilds to fail after documents were purged from the database, for example with the [archiving endpoint](/technical-overview/data/performance/archiving/). Without that index, users can't sync ([#11456](https://github.com/medic/cht-core/issues/11456)). + +### Smaller Nouveau queries + +API and Sentinel request at most {{< format-number 20_000 >}} results per page from the `docs_by_replication_key` Nouveau index, down from {{< format-number 200_000 >}}. CouchDB sends the limit to every shard, so the old value could exhaust the Nouveau heap during server-side purging and leave the index unusable until Nouveau restarted. Replication authorization pages through larger result sets instead of requesting them all at once ([#11490](https://github.com/medic/cht-core/issues/11490)). + +### Report subjects with an empty `patient_id` + +When an offline user creates a person and then submits a report about them before syncing, the person has no shortcode yet, so the report saves an empty `fields.patient_id`. Since 5.3.0, the reports list and report detail showed these reports' subject as plain text with no link to the contact, and showed the submitter's lineage instead of the subject's. With this fix, the CHT correctly falls back to `fields.patient_uuid` when `fields.patient_id` is empty, so these reports display their subject correctly ([#11500](https://github.com/medic/cht-core/issues/11500)). This matches the behavior of CHT versions prior to 5.3.0. + +## Known issues + +Check the repository for the [latest known issues](https://github.com/medic/cht-core/issues?q=is%3Aissue+label%3A%22Affects%3A+5.3.2%22). + +## Upgrade notes + +### Instances with a broken Nouveau index + +All instances currently running 5.3.0 or 5.3.1 should upgrade to 5.3.2 first before upgrading to any later release. + +If you are running a CHT version prior to 5.3.0 OR if offline users can successfully sync, your Nouveau indexes have not been affected by the [#11456](https://github.com/medic/cht-core/issues/11456) bug and you can upgrade to 5.3.2 as usual. + +If you are running CHT 5.3.0 or 5.3.1 AND users are unable to sync due to the [#11456](https://github.com/medic/cht-core/issues/11456) bug additional steps are required to successfully upgrade. That issue affects the CHT instance's ability to rebuild Nouveau indexes. Trying to upgrade an affected instance to a new CHT version will fail because the Nouveau indexes are not available and cannot be rebuilt. The issue with the Nouveau indexes must be resolved prior to upgrading. + +The simplest way to fix the Nouveau indexes is to run the the [repair script](https://gist.github.com/jkuester/6ab703b2d12265d2b181bc020b73571b) in your Couch container. (Note that the current version of the script only supports single-node Couch instances, but can be easily customized for a multi-node deployment.) See the documentation on the script for more details. + +### Breaking changes + +None. + +### UI/UX changes + +None. + + + +## And more... + +### Features + +None. + +### Improvements + +None. + +### Security fixes + +None. + +### Performance improvements + +None. + +### Bug fixes + +- [#11456](https://github.com/medic/cht-core/issues/11456): Syncing issues with rebuilt Nouveau index after archiving +- [#11490](https://github.com/medic/cht-core/issues/11490): Server-side purging requests 200k hits per shard from `docs_by_replication_key`, exhausting Nouveau heap +- [#11500](https://github.com/medic/cht-core/issues/11500): Report subject is not linked and shows the submitter's lineage when `fields.patient_id` is an empty string (regression in 5.3.0) + +### Technical improvements + +None. + + + +## Contributors + +Thanks to all who committed changes for this release! + +- [Tom Wier](https://github.com/witash) +- [Binod Adhikary](https://github.com/binokaryg) diff --git a/content/en/releases/_index.md b/content/en/releases/_index.md index ddfcc7693..d41992439 100644 --- a/content/en/releases/_index.md +++ b/content/en/releases/_index.md @@ -96,6 +96,7 @@ Devices with more navigation systems are more likely to get a more accurate loca ## Release Notes ### 5.x +- [5.3.2](/releases/5_3_2) - 2026-10-16 - [5.3.1](/releases/5_3_1) - 2026-09-15 - [5.3.0](/releases/5_3_0) - 2026-08-31 - [5.2.0](/releases/5_2_0) - 2026-06-26