Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: adds 4.3.0 release notes #1148

Merged
merged 10 commits into from
Aug 18, 2023
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
117 changes: 117 additions & 0 deletions content/en/core/releases/4.3.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
---
title: "4.3.0 release notes"
linkTitle: "4.3.0"
weight:
description: >
relevantLinks: >
toc_hide: true
---

## Known issues

Check the repository for the [latest known issues](https://github.com/medic/cht-core/issues?q=is%3Aissue+label%3A%22Affects%3A+4.3.0%22).

## Upgrade notes

Continuous downwards replication (the algorithm through which offline users download docs from the server) has been completely rewritten. This change required a high number of view updates, which implies that staging this upgrade and indexing views before upgrading will be a lengthy process - depending on the size of the database. Additionally, the server might need additional storage while this process is ongoing.
Users will receive the usual upgrade popup, and they will need to reload the app in order to resume replication.

### Breaking changes

None.

### UI/UX changes

None.

## Highlights

### Adding phone numbers to patients when registering via SMS

The registration transition now supports storing a phone number field for new patients. This is achieved through an additional field in the SMS form, which can be configured to be parsed and validated as a correct and, optionally unique, phone number. You can read more about it in [the registration configuration]({{< relref "apps/reference/app-settings/transitions#registration" >}})

### Performance improvement for downwards replication

Downwards replication has been completely rewritten to improve performance, reduce complexity, remove the necessity of deleted documents tombstones and progress towards supporting eventual consistency, in order to allow for the CHT to work seamlessly with CouchDb high availability setups (multiple replicas).
There are no UI/UX changes associated with this update, however users will need to reload the app after the upgrade was successful and they receive the notification popup, in order to resume replication using the new algorithm. The endpoints that the previous replication algorithm was using have been updated or disabled.
dianabarsan marked this conversation as resolved.
Show resolved Hide resolved

Look at this performance comparison table:

| # docs | # purged docs | # docs on device | # downloaded docs | Before(avg) | After(avg) | Difference |
|--------|---------------|---------------|---------------------|----------------|----------------|------------|
| 11000 | 0 | 11000 | 0 | 1.4s | 2.1s | 0.6 |
| 37000 | 0 | 37000 | 0 | 5s | 8s | 0.6 |
| 58000 | 0 | 58000 | 0 | 12s | 10s | 1.2 |
| 58000 | 25000 | 33000 | 0 | 10s | 11s | 0.8 |
| 58000 | 25000 | 33000 | 500 | 39s | 14s | 2.7 |
| 58000 | 43000 | 15000 | 0 | 10s | 11s | 0.8 |
| 58000 | 43000 | 15000 | 500 | 34.5s | 15.5s | 2.2 |
| 58000 | 43000 | 15000 | 1000 | 60s | 15.5s | 3.7 |


### New Prometheus API endpoint

A new API endpoint now allows exporting API request performance. The output is formatted for the Prometheus Data Model. The endpoint is available without requiring authentication and is used by CHT-Watchdog. [More details are available in API reference docs]({{< relref "apps/reference/api#get-apiv1express-metrics" >}}).

## And more...
### Features

- [#8204](https://github.com/medic/cht-core/issues/8204): Support adding phone number when registering patients via SMS
- [#8311](https://github.com/medic/cht-core/issues/8311): Show password when clicking on the eye icon
- [#8328](https://github.com/medic/cht-core/issues/8328): Show reports of online user's associated place and below
- [#8426](https://github.com/medic/cht-core/issues/8426): Expose an API with endpoint performance metrics

### Improvements

- [#7163](https://github.com/medic/cht-core/issues/7163): Make the CHT Script API available for Purge.js
- [#8039](https://github.com/medic/cht-core/issues/8039): Allow users to report client-side crashes via screenshots
- [#8162](https://github.com/medic/cht-core/issues/8162): Monitoring sentinel when "Transitions are disabled" is difficult
- [#8185](https://github.com/medic/cht-core/issues/8185): Remove Guided Tour and Welcome message
- [#8280](https://github.com/medic/cht-core/issues/8280): Set default CouchDb log level to `info` or `debug`
- [#8389](https://github.com/medic/cht-core/issues/8389): Improve Nepali translation
- [#8416](https://github.com/medic/cht-core/issues/8416): Include formatted date in API morgan logging
- [#8447](https://github.com/medic/cht-core/issues/8447): Support Nepali digits in Medic ID and LMP Date

### Security fixes

- [#6505](https://github.com/medic/cht-core/issues/6505): Prevent users from opening and filling forms they're not authorized to see/fill
- [#8335](https://github.com/medic/cht-core/issues/8335): Use modern TLS versions

### Performance improvements

- [#8296](https://github.com/medic/cht-core/issues/8296): Refactor downwards continuous replication following the Nairobi protocol

### Bug fixes

- [#6963](https://github.com/medic/cht-core/issues/6963): Mark for outbound might create tasks for already sent jobs
- [#7250](https://github.com/medic/cht-core/issues/7250): Race condition in loading contacts can cause previously selected contact to load
- [#7356](https://github.com/medic/cht-core/issues/7356): Online user stuck in loading screen when offline
- [#7363](https://github.com/medic/cht-core/issues/7363): Crash in Tasks/Targets system not creating feedback documents
- [#7651](https://github.com/medic/cht-core/issues/7651): Tasks content page sometimes throws ExpressionChangedAfterItHasBeenCheckedError
- [#8022](https://github.com/medic/cht-core/issues/8022): Angular's `ExpressionChangedAfterItHasBeenCheckedError` exception in Reports and Contacts tabs
- [#8160](https://github.com/medic/cht-core/issues/8160): Duplicate outbound requests are sent when a document matches multiple config options
- [#8242](https://github.com/medic/cht-core/issues/8242): Hovering over dates throws error, and default tooltip is displayed
- [#8355](https://github.com/medic/cht-core/issues/8355): Fix reports review title in modal
- [#8371](https://github.com/medic/cht-core/issues/8371): Upgrade cannot be initiated when there are no past `upgrade_log` entries
- [#8385](https://github.com/medic/cht-core/issues/8385): Show password icon not cached by service-worker
- [#8396](https://github.com/medic/cht-core/issues/8396): Next page not loading properly after clicking on the back button
- [#8401](https://github.com/medic/cht-core/issues/8401): Clicking on report `case_id` does not apply search filter
- [#8457](https://github.com/medic/cht-core/issues/8457): API fails to start because of large form attachments exceed POST allowed payload
- [#8463](https://github.com/medic/cht-core/issues/8463): Offline users stuck on spinner on load until certain views are indexed

### Technical improvements

- [#7017](https://github.com/medic/cht-core/issues/7017): Use the Node eslint plugin to lint api and sentinel
- [#7796](https://github.com/medic/cht-core/issues/7796): Clean up gruntfile obsolete tasks
- [#8150](https://github.com/medic/cht-core/issues/8150): Investigate npm workspaces for monorepo
- [#8184](https://github.com/medic/cht-core/issues/8184): Update initial replication scalability suite post initial replication rewrite
- [#8190](https://github.com/medic/cht-core/issues/8190): Remove configuration wizard
- [#8244](https://github.com/medic/cht-core/issues/8244): Upgrade e2e test fails on betas
- [#8252](https://github.com/medic/cht-core/issues/8252): Flaky: ci-e2e-integration - token login
- [#8273](https://github.com/medic/cht-core/issues/8273): Add git pre-commit hooks to stop accidental pushes to `master` as GitHub admins
- [#8281](https://github.com/medic/cht-core/issues/8281): Change upgrade e2e test to start upgrade from latest release instead of `master`
- [#8317](https://github.com/medic/cht-core/issues/8317): Split up the ci-webdriver-default action
- [#8367](https://github.com/medic/cht-core/issues/8367): Webapp watch not publishing changes
- [#8404](https://github.com/medic/cht-core/issues/8404): Flaky test: API changes feed should respond to changes even after services are restarted
- [#8412](https://github.com/medic/cht-core/issues/8412): Flaky test: Submit a death report Should verify that the counter for the Deaths was updated.
- [#8420](https://github.com/medic/cht-core/issues/8420): Flaky test: ongoing replication "before all" hook for ongoing replication
6 changes: 4 additions & 2 deletions content/en/core/releases/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@ It is recommended that all projects update regularly multiple times a year to ge

| Version | Status | Release date | End of life |
|----|----|--------------|-------------|
| 4.2.x | Current | 25-May-2023 | TBA |
| 4.1.x | Current | 12-Dec-2022 | 25-Aug-2023 |
| 4.3.x | Current | 18-Aug-2023 | TBA |
| 4.2.x | EOL | 25-May-2023 | 18-Nov-2023 |
| 4.1.x | EOL | 12-Dec-2022 | 25-Aug-2023 |
| 4.0.x | EOL | 03-Nov-2022 | 12-Mar-2023 |
| 3.17.x | Current | 11-Oct-2022 | 03-Nov-2023 |
| 3.16.x | EOL | 3-Aug-2022 | 11-Jan-2023 |
Expand Down Expand Up @@ -86,6 +87,7 @@ Devices with more navigation systems are more likely to get a more accurate loca

### 4.x

- [4.3.0]({{% ref "core/releases/4.3.0.md" %}})
- [4.2.2]({{% ref "core/releases/4.2.2.md" %}})
- [4.2.1]({{% ref "core/releases/4.2.1.md" %}})
- [4.2.0]({{% ref "core/releases/4.2.0.md" %}})
Expand Down
Loading