Skip to content

Commit 4e1bec8

Browse files
mrjones-plipandrablajdianabarsanCarbonauticssugat009
authored
chore(na): add 5.0 release notes (#2054)
* chore(na): add 5.0 release notes * add link to breaking change for chrome version * denote it's through the versions, not and two versions * rename ecma to what to be about the upgrade first part * Add intro to breaking changes section * add feature place hoders * make 10208 a feature not an improvement Removed duplicate feature instruction for new deployments. * rearrange so highlights is a top, flesh out highlights a bit more, update ticket title * adding charts and such, fleshing out highlights, WIP * finalize last Highlights section about new admin training cards * finalize last Highlights section about new admin training cards * minor wording and link clean up * Update content/en/releases/5_0_0.md Co-authored-by: Andra Blaj <[email protected]> * Update content/en/releases/5_0_0.md Co-authored-by: Andra Blaj <[email protected]> * Update content/en/releases/5_0_0.md Co-authored-by: Andra Blaj <[email protected]> * Update content/en/releases/5_0_0.md Co-authored-by: Andra Blaj <[email protected]> * Update content/en/releases/5_0_0.md Co-authored-by: Andra Blaj <[email protected]> * Update content/en/releases/_index.md Co-authored-by: Andra Blaj <[email protected]> * small tweak to card title * require chrome 107 * change all dates to 'tk' and update support table * add sitewide banner for 5.0 * update dependency table * fix style * add final admin training card screenshot * denote change for online search and replication not woring after upgrade * Update hugo.toml Co-authored-by: Andra Blaj <[email protected]> * Update content/en/hosting/cht/migration/preparing-for-5.md Co-authored-by: Andra Blaj <[email protected]> * Update content/en/hosting/cht/migration/preparing-for-5.md Co-authored-by: Andra Blaj <[email protected]> * Update content/en/hosting/cht/migration/preparing-for-5.md Co-authored-by: Diana Barsan <[email protected]> * Update content/en/hosting/cht/migration/preparing-for-5.md Co-authored-by: Andra Blaj <[email protected]> * Update content/en/hosting/cht/migration/preparing-for-5.md Co-authored-by: Andra Blaj <[email protected]> * Update content/en/hosting/cht/migration/preparing-for-5.md Co-authored-by: Andra Blaj <[email protected]> * Update content/en/hosting/cht/migration/preparing-for-5.md Co-authored-by: Andra Blaj <[email protected]> * call out compaction may be needed * Update content/en/hosting/cht/migration/preparing-for-5.md Co-authored-by: Andra Blaj <[email protected]> * Update hugo.toml Co-authored-by: Andra Blaj <[email protected]> * chore(#2044): update all screenshots in messaging-overview page (#2062) * update all screenshots in Messaging-Overview Page * replace cards with figure shortcode & fix links in messaging overview * ensure figures are wrapped inside <cards> shortcode for mobile-screenshots in Messaging overview * chore: hide partials from sidebar and upgrade Hugo (#2064) Co-authored-by: Sugat Bajracharya <[email protected]> * Mark prevention of duplicate sibling contact capture as UI/UX change (#2066) * chore(#2065): remove Colima as options for MacOS setup (#2068) * remove tk place holder for release date: Nov 20 --------- Co-authored-by: Andra Blaj <[email protected]> Co-authored-by: Diana Barsan <[email protected]> Co-authored-by: Pratik Nadgouda <[email protected]> Co-authored-by: Sugat Bajracharya <[email protected]> Co-authored-by: Clifton McIntosh <[email protected]>
1 parent 8375825 commit 4e1bec8

File tree

10 files changed

+227
-10
lines changed

10 files changed

+227
-10
lines changed

content/en/hosting/cht/migration/preparing-for-5.md

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,11 @@ The fix is to:
8888
Background information:
8989
* [Make declarative config mandatory](https://github.com/medic/cht-core/issues/5906)
9090

91-
### Increase ecmaVersion ES linting to version 6
91+
### CHT 4.0 - 4.4 upgrade to CHT 4.5 first
9292

9393
{{< callout type="info" >}} Applies to: CHT versions between 4.0 and 4.4 {{< /callout >}}
9494

95-
Deployments running CHT Version 4.0 and 4.4 must upgrade to version 4.5 or later before upgrading to version 5.x.
95+
Deployments running CHT Version 4.0 through 4.4 must upgrade to version 4.5 or later before upgrading to version 5.x. This accounts for changes to ecmaVersion ES linting to version 6.
9696

9797
Background information:
9898
* [Increase ecmaversion linting for ddocs](https://github.com/medic/cht-core/issues/9202)
@@ -162,5 +162,24 @@ Nouveau has the following impact on all CHT deployments upgrading to 5.0:
162162
* The Nouveau index data on the server will be stored in `${COUCHDB_DATA}/nouveau` for single-node CouchDBs and in `${DB1_DATA}/nouveau` for clustered CouchDBs.
163163
* The following `medic-client` views no longer exist. Be sure to update any custom scripts which use them: `contacts_by_freetext`, `contacts_by_type_freetext` and `reports_by_freetext` .
164164

165+
### Temporary downtime for replication and online search immediately after upgrade
166+
167+
With the addition of both [the disk use reduction](/releases/5_0_0/#reducing-hosting-total-cost-of-ownership) feature and [replication speed improvements](/releases/5_0_0/#seconds-to-synchronize-lower-is-better), two indexes need to be built in CouchDB Nouveau after the upgrade. While these indexes are being created, there's a brief initialization period where the following services will become available shortly:
168+
* Replication for offline users - Replication will start working once the indexing jobs complete. In the meantime, requests will timeout after 1h. Users will see "sync failed" messages.
169+
* Search for online users - Search functionality will return results as soon as indexing finishes.
170+
171+
The indexes build automatically; no manual intervention is required. This is a one-time process that occurs only when upgrading from 4.x to 5.0. Subsequent upgrades from 5.0 to later versions and fresh 5.0 installations are unaffected.
172+
173+
174+
What to expect:
175+
176+
- Small deployments: Indexes typically complete within minutes, and you may not notice any service interruption.
177+
- Large deployments: Index building may take up to 24 hours, depending on data volume.
178+
- All deployments: Services automatically resume normal operation once indexing completes.
179+
180+
Monitoring progress:
181+
You can track the indexing progress in real-time by navigating to Fauxton's active tasks page at `/_utils/#/activetasks` (for example, `https://cht.example.com/_utils/#/activetasks`). Once all `search_indexer` tasks have disappeared from the list, the upgrade is complete and all services are operational.
182+
165183
Background information:
166184
* [Reduce disk space with CouchDB Nouveau (TCO)](https://github.com/medic/cht-core/issues/9542)
185+
* [Temporary downtime for replication and online search immediately after 5.0 upgrade](https://github.com/medic/cht-core/issues/10460)

content/en/releases/5_0_0.md

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
2+
---
3+
title: "5.0.0 release notes"
4+
linkTitle: "5.0.0"
5+
sidebar:
6+
exclude: true
7+
description:
8+
Released 2025-11-20
9+
---
10+
11+
12+
{{< callout type="warning" >}}
13+
To prepare for this release, read through our [Preparing to Upgrade documentation](/hosting/cht/migration/preparing-for-5/) before upgrading. This guide covers each of the breaking changes in detail and which deployment versions and which hosting architectures it applies to.
14+
{{< /callout >}}
15+
16+
## Highlights
17+
18+
### Reducing hosting total cost of ownership
19+
20+
Based on the knowledge of hosting dozens of CHT instances for over a decade, Medic found disk space [to be the main cost](https://docs.google.com/presentation/d/1rbpJi654VDvm-zJnqqCO7bDZ6anA77zTPZZh9GjQSS8/) in hosting. CHT 5.0 uses [CouchDB Nouveau](https://neighbourhood.ie/blog/2024/09/23/couchdb-3-4-0-feature-nouveau) to enable disk savings in excess of 30% for large instances.
21+
22+
<!--
23+
See source for chart:
24+
https://docs.google.com/spreadsheets/d/1RBnfmH0QApvof3XXHLM2DHAtVuwYcKxvlgYvA57LCpM
25+
-->
26+
{{< cards >}}
27+
{{< card image="../images/5_0_reduction2.png" title="Up to 34% less disk used" subtitle="Chart showing disk use during a CHT upgrade going from 63.2GB on CHT 4.11 down to 41.7GB on CHT 5.0">}}
28+
{{< card image="../images/5_0_disk_use_cost2.png" method="resize" title="Cost Breakdown" subtitle="Disk 78.5%, RAM 12.8%, CPU 8.7%" >}}
29+
{{< /cards >}}
30+
31+
Deployments which don't see an immediate disk space savings, should either let run compaction run organically (this is the default configuration) or [initiate compaction manually](https://docs.couchdb.org/en/stable/maintenance/compaction.html#manual-database-compaction).
32+
33+
- [#9542](https://github.com/medic/cht-core/issues/9542): Reduce disk space with CouchDB Nouveau (TCO v1)
34+
35+
### Faster synchronization which uses less server CPU
36+
37+
As national deployments scaled to over 5,000 users, the server CPU became overburdened. Upon close inspection, one of the bottlenecks was found to be CHWs requesting the list of documents needed for replication. The API handling this request has been massively improved in CHT 5.0. This means synchronizations take less time and, in turn, reduces server load. This reduction enables the same server to handle more requests with only a software upgrade, without any hardware changes.
38+
39+
40+
#### Seconds to synchronize (lower is better)
41+
42+
<!--
43+
See source for chart:
44+
https://docs.google.com/spreadsheets/d/1RBnfmH0QApvof3XXHLM2DHAtVuwYcKxvlgYvA57LCpM
45+
-->
46+
<img class="graph-key" src="../images/5_0_4color.png" style="width:20px; " title=" CHT 4.21"> CHT 4.21
47+
<img class="graph-key" src="../images/5_0_5color.png" style="width:20px; " title=" CHT 5.0"> CHT 5.0
48+
{{< cards cols="1">}}
49+
{{< card image="../images/5_0_faster_replication.png" title="Up to 69% faster synchronization" subtitle="Chart showing users with 2.3k, 83k, 126.2k, 110.9k and 121.8k documents synchronizing against CHT 4.21 (blue) and CHT 5.0 (red)" >}}
50+
{{< /cards >}}
51+
<style>
52+
.graph-key {
53+
display: inline-block;
54+
}
55+
.content :where(.graph-key):not(:where([class~=not-prose],[class~=not-prose] *)) {
56+
margin-top: 0;
57+
margin-bottom: 0;
58+
}
59+
</style>
60+
61+
- [#10262](https://github.com/medic/cht-core/issues/10262): Improve replication performance by moving docs_by_replication_key to nouveau
62+
63+
### Welcome prompt when starting a new instance for how to easily add data
64+
65+
Administrators logging in to the CHT for the first time reported confusion about whether the app was working. They would see an error message saying `No message selected`. CHT 5.0 leverages [existing training card](/building/training/training-cards-resources/) technology to help administrators get started with adding contacts and configuring the app. This includes helpful tips:
66+
67+
> * Get started by [adding contacts and users](/building/contact-management/contact-and-users-1/)
68+
> * To configure this instance for your specific workflows, see [the documentation](/building/)
69+
70+
{{< cards cols="2">}}
71+
{{< card image="../images/5_0_welcome_message.png" title="Welcome message shown to admins logging in for the first time" >}}
72+
{{< /cards >}}
73+
74+
- [#10208](https://github.com/medic/cht-core/issues/10208): Instruct new deployments how to add data
75+
76+
77+
## Known issues
78+
79+
Check the repository for the [latest known issues](https://github.com/medic/cht-core/issues?q=is%3Aissue+label%3A%22Affects%3A+5.0.0%22).
80+
81+
## Upgrade notes
82+
83+
### Breaking changes
84+
85+
As mentioned above, be sure to review the [upgrade documentation](/hosting/cht/migration/preparing-for-5/) before upgrading to appreciate what the following changes mean for your deployment:
86+
87+
- [#10183](https://github.com/medic/cht-core/issues/10183): Replication fails to filter out reports with needs_signoff set to false
88+
- [#10429](https://github.com/medic/cht-core/issues/10429): Require Chrome 107 to support Angular uplift
89+
- [#5906](https://github.com/medic/cht-core/issues/5906): Make declarative config mandatory
90+
- [#8157](https://github.com/medic/cht-core/issues/8157): Deprecate enabling languages through generated docs
91+
- [#9202](https://github.com/medic/cht-core/issues/9202): Increase ecmaversion linting for ddocs
92+
- [#9542](https://github.com/medic/cht-core/issues/9542): Reduce disk space with CouchDB Nouveau (TCO v1)
93+
- [#9954](https://github.com/medic/cht-core/issues/9954): Hide upgrade button in admin app for k8s deployments, while still allowing staging upgrades
94+
- [#9983](https://github.com/medic/cht-core/issues/9983): Require `app_url` to be set when enabling `token_login`
95+
96+
### UI/UX changes
97+
98+
None.
99+
100+
101+
102+
## And more...
103+
104+
### Features
105+
106+
- [#10242](https://github.com/medic/cht-core/issues/10242): Display major version in admin upgrade UI so it's clear if its 4.x or 5.x (or X.x!)
107+
- [#10208](https://github.com/medic/cht-core/issues/10208): Instruct new deployments how to add data
108+
- [#8340](https://github.com/medic/cht-core/issues/8340): Add impact metrics API
109+
- [#9869](https://github.com/medic/cht-core/issues/9869): Add user storage usage to user-devices API
110+
- [#9954](https://github.com/medic/cht-core/issues/9954): Hide upgrade button in admin app for k8s deployments, while still allowing staging upgrades
111+
112+
### Improvements
113+
114+
- [#10265](https://github.com/medic/cht-core/issues/10265): Add visual indicator of Nouveau indexing progress on API startup and Admin upgrade page
115+
- [#8147](https://github.com/medic/cht-core/issues/8147): Training cards display loading error when user does not have contact
116+
- [#8348](https://github.com/medic/cht-core/issues/8348): Adding error object to logger in sentinel/server.js
117+
- [#9542](https://github.com/medic/cht-core/issues/9542): Reduce disk space with CouchDB Nouveau (TCO v1)
118+
- [#9639](https://github.com/medic/cht-core/issues/9639): Remove pre 3.x db migrations and protect `migration-log` doc from edits
119+
- [#9838](https://github.com/medic/cht-core/issues/9838): Refactor to use `cht-datasource` for reading contacts by id (both with and without lineage)
120+
121+
### Security fixes
122+
123+
None.
124+
125+
### Performance improvements
126+
127+
- [#10262](https://github.com/medic/cht-core/issues/10262): Improve replication performance by moving docs_by_replication_key to nouveau
128+
- [#10322](https://github.com/medic/cht-core/issues/10322): Identify and remove all unused couchdb views
129+
- [#10384](https://github.com/medic/cht-core/issues/10384): Using changes feed with _doc_ids filter causes performance issues.
130+
131+
### Bug fixes
132+
133+
- [#10183](https://github.com/medic/cht-core/issues/10183): Replication fails to filter out reports with needs_signoff set to false
134+
- [#10319](https://github.com/medic/cht-core/issues/10319): npm build fails on lastest master
135+
- [#8026](https://github.com/medic/cht-core/issues/8026): Admin app fails to update `branding` if existing document is malformed
136+
- [#8027](https://github.com/medic/cht-core/issues/8027): Admin app fails to update `partners` if existing document is malformed
137+
- [#9739](https://github.com/medic/cht-core/issues/9739): Can't deselect all reports after selecting all reports
138+
139+
### Technical improvements
140+
141+
- [#10023](https://github.com/medic/cht-core/issues/10023): Update `release-notes` script to include all commit co-authors in contributors list
142+
- [#10079](https://github.com/medic/cht-core/issues/10079): Update `webapp` to read contacts with cht-datasource
143+
- [#10186](https://github.com/medic/cht-core/issues/10186): Remove upgrade service from Helm charts
144+
- [#10203](https://github.com/medic/cht-core/issues/10203): Africa's Talking documentation link provided is not working
145+
- [#10206](https://github.com/medic/cht-core/issues/10206): Remove ancient/deprecated/3.x scripts
146+
- [#10294](https://github.com/medic/cht-core/issues/10294): Branch name escape logic broken for semver
147+
- [#10309](https://github.com/medic/cht-core/issues/10309): API is throwing error in latest master for SMS workflows
148+
- [#10374](https://github.com/medic/cht-core/issues/10374): Flaky e2e test: Search Reports should navigate back to list view and return results when searching by case_id
149+
- [#10375](https://github.com/medic/cht-core/issues/10375): Flaky e2e test: Bikram Sambat date display should display report list dates converted to bikram sambat
150+
- [#10420](https://github.com/medic/cht-core/issues/10420): Test Cinque & Nouveau on large production data set
151+
- [#10429](https://github.com/medic/cht-core/issues/10429): Require Chrome 107 to support Angular uplift
152+
- [#5906](https://github.com/medic/cht-core/issues/5906): Make declarative config mandatory
153+
- [#8157](https://github.com/medic/cht-core/issues/8157): Deprecate enabling languages through generated docs
154+
- [#8220](https://github.com/medic/cht-core/issues/8220): Docker image build fails for branch names with reserved characters
155+
- [#8657](https://github.com/medic/cht-core/issues/8657): Delete transition code in telemetry service
156+
- [#8787](https://github.com/medic/cht-core/issues/8787): Remove indexedDB polyfill for Firefox
157+
- [#9202](https://github.com/medic/cht-core/issues/9202): Increase ecmaversion linting for ddocs
158+
- [#9499](https://github.com/medic/cht-core/issues/9499): UI Nav Work Image Replacement - Feature Messaging
159+
- [#9720](https://github.com/medic/cht-core/issues/9720): Support stateless API docker container
160+
- [#9921](https://github.com/medic/cht-core/issues/9921): Reports search
161+
- [#9992](https://github.com/medic/cht-core/issues/9992): Remove haproxy-healthcheck service from single-node CouchDb deployments
162+
163+
164+
165+
## Contributors
166+
167+
Thanks to all who committed changes for this release!
168+
169+
- [Joshua Kuestersteffen](https://github.com/jkuester)
170+
- [Sugat Bajracharya](https://github.com/sugat009)
171+
- [Mokhtar](https://github.com/m5r)
172+
- [witash](https://github.com/witash)
173+
- [Shashi sah](https://github.com/shashi-sah2003)
174+
- [mrjones](https://github.com/mrjones-plip)
175+
- [Lorena Rodriguez](https://github.com/lorerod)
176+
- [Julio Arias](https://github.com/jarias)
177+
- [Binod Adhikary](https://github.com/binokaryg)
178+
- [Diana Barsan](https://github.com/dianabarsan)
179+
- [Andra Blaj](https://github.com/andrablaj)
180+
- [Najuna Brian](https://github.com/najuna-brian)
181+
- [Hsing Fu](https://github.com/HsingFuC)
182+
- [Ayush Singh](https://github.com/SinghCod3r)
183+
- [Luis Serrano](https://github.com/billoserra)
184+
- [Jennifer Ajoy](https://github.com/JenniAjoy)
185+
- [1yuv](https://github.com/1yuv)
186+
- [Kevin Segura](https://github.com/kevSeguraEdify)
187+
- [Steven Fonseca](https://github.com/steven-fc-edify)
188+
- [Jeferson Gómez](https://github.com/jefgmz)
189+
- ... and more

content/en/releases/_index.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ It is recommended that all projects update regularly multiple times a year to ge
2222

2323
| Version | Status | Release date | End of life |
2424
|---------|-----------|--------------|-------------|
25-
| 4.22.x | Supported | 10-Oct-2025 | TBA |
25+
| 5.0.x | Supported | 20-Nov-2025 | TBA |
26+
| 4.22.x | Supported | 10-Oct-2025 | 20-Nov-2026 |
2627
| 4.21.x | Supported | 25-Jun-2025 | 10-Jan-2026 |
2728
| 4.20.x | EOL | 04-Jun-2025 | 25-Sep-2025 |
2829
| 4.19.x | EOL | 13-May-2025 | 04-Sep-2025 |
@@ -56,13 +57,14 @@ The following table shows the dependencies for deploying the CHT.
5657

5758
| cht-core | Supported browsers | SMS bridge | Android OS | cht-android | cht-sync |
5859
|------------------|--------|---------|--------------------------------------------------------|-------------|------------|-------------|----------|
59-
| **4.20.x+** | Chrome 90+, Android System WebView 90+, Firefox latest | cht-gateway | 5.0+ | 1.5.2 + | 1.1.0+ |
60-
| **4.16.x+** | Chrome 90+, Android System WebView 90+, Firefox latest | cht-gateway | 5.0+ | 1.0+ | 1.1.0+ |
61-
| **4.4.x-4.15.x** | Chrome 90+, Android System WebView 90+, Firefox latest | cht-gateway | 5.0+ | 1.0+ | 1.1.0+ |
62-
| **4.0.x-4.3.x** | Chrome 90+, Android System WebView 90+, Firefox latest | cht-gateway | 5.0+ | 1.0+ | 1.1.0+ |
63-
| **3.x** | Chrome 53+, Firefox latest | cht-gateway | 4.4+ | 0.4.5+ | 1.1.0+ |
64-
| **2.x** | Chrome 30+, Firefox latest | cht-gateway | 4.4+ | Any | N/A |
65-
| **0.4** | Chrome 30+, Firefox latest | SMSSync | N/A | N/A | N/A |
60+
| **5.x.x+** | Chrome 107+, Android System WebView 107+, Firefox latest | cht-gateway | 5.0+ | 1.5.2 + | 1.1.0+ |
61+
| **4.20.x-4.22.x** | Chrome 90+, Android System WebView 90+, Firefox latest | cht-gateway | 5.0+ | 1.5.2 + | 1.1.0+ |
62+
| **4.16.x+** | Chrome 90+, Android System WebView 90+, Firefox latest | cht-gateway | 5.0+ | 1.0+ | 1.1.0+ |
63+
| **4.4.x-4.15.x** | Chrome 90+, Android System WebView 90+, Firefox latest | cht-gateway | 5.0+ | 1.0+ | 1.1.0+ |
64+
| **4.0.x-4.3.x** | Chrome 90+, Android System WebView 90+, Firefox latest | cht-gateway | 5.0+ | 1.0+ | 1.1.0+ |
65+
| **3.x** | Chrome 53+, Firefox latest | cht-gateway | 4.4+ | 0.4.5+ | 1.1.0+ |
66+
| **2.x** | Chrome 30+, Firefox latest | cht-gateway | 4.4+ | Any | N/A |
67+
| **0.4** | Chrome 30+, Firefox latest | SMSSync | N/A | N/A | N/A |
6668

6769
{{< see-also page="/hosting/cht/requirements" title="hosting Requirements" >}}
6870

@@ -88,6 +90,9 @@ Devices with more navigation systems are more likely to get a more accurate loca
8890

8991
## Release Notes
9092

93+
### 5.x
94+
- [5.0.0](/releases/5_0_0) - 2025-11-20
95+
9196
### 4.x
9297
- [4.22.0](/releases/4_22_0) - 2025-10-10
9398
- [4.21.1](/releases/4_21_1) - 2025-07-30
238 Bytes
Loading
239 Bytes
Loading
41.2 KB
Loading
104 KB
Loading
32.2 KB
Loading
55.3 KB
Loading

hugo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,3 +197,7 @@ display = "hover"
197197
[params.comments]
198198
enable = false
199199
type = "giscus"
200+
201+
[params.banner]
202+
key = "announcement"
203+
message = "CHT 5.0 is here! 🎉 Discover [what's new](/releases/5_0_0/)! "

0 commit comments

Comments
 (0)