Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions content/en/releases/5_3_2.md
Original file line number Diff line number Diff line change
@@ -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)
1 change: 1 addition & 0 deletions content/en/releases/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading