OpenCRVS
v1.4
v1.4
  • 👋Welcome!
  • CRVS Systems
    • Understanding CRVS
    • Effective digital CRVS systems
    • OpenCRVS within a government systems architecture
    • OpenCRVS Value Proposition
  • Product Specifications
    • Functional Architecture
    • Workflow management
    • Status Flow Diagram
    • Users
      • Examples
    • Core functions
      • 1. Notify event
      • 2. Declare event
      • 3. Validate event
      • 4. Register event
      • 5. Print certificate
      • 6. Issue certificate
      • 7. Search for a record
      • 8. View record
      • 9. Correct record
      • 10. Verify record
      • 11. Archive record
      • 12. Vital statistics export
    • Support functions
      • 13. Login
      • 14. Audit
      • 15. Deduplication
      • 16. Performance management
      • 17. Payment
      • 18. Learning
      • 19. User support
      • 20. User onboarding
    • Admin functions
      • 21. User management
      • 22. Comms management
      • 23. Content management
      • 24. Config management
    • Data functions
      • 25. Legacy data import
      • 26. Legacy paper import
  • Technology
    • Architecture
      • Performance tests
    • Standards
      • FHIR Documents
        • Event Composition
        • Person
        • Registration Task
        • Event Observations
        • Locations
    • Security
    • Interoperability
      • Create a client
      • Authenticate a client
      • Event Notification clients
      • Record Search clients
      • Webhook clients
      • National ID client
      • FHIR Location REST API
      • Other ways to interoperate
  • Default configuration
    • Intro to Farajaland
    • Civil registration in Farajaland
    • OpenCRVS configuration in Farajaland
      • Application settings
      • User / role mapping
      • Declaration forms
      • Certificate templates
    • Business process flows in Farajaland
  • Setup
    • 1. Planning an OpenCRVS Implementation
    • 2. Establish project and team
    • 3. Gather requirements
      • 3.1 Mapping business processes
      • 3.2 Mapping offices and user types
      • 3.3 Define your application settings
      • 3.4 Designing event declaration forms
      • 3.5 Designing a certificate template
    • 4. Installation
      • 4.1 Set-up a local development environment
        • 4.1.1 Install the required dependencies
        • 4.1.2 Install OpenCRVS locally
        • 4.1.3 Starting and stopping OpenCRVS
        • 4.1.4 Log in to OpenCRVS locally
        • 4.1.5 Tooling
          • 4.1.5.1 WSL support
      • 4.2 Set-up your own, local, country configuration
        • 4.2.1 Fork your own country configuration repository
        • 4.2.2 Set up administrative address divisions
          • 4.2.2.1 Prepare source file for administrative structure
          • 4.2.2.2 Prepare source file for statistics
        • 4.2.3 Set up CR offices and Health facilities
          • 4.2.3.1 Prepare source file for CRVS Office facilities
          • 4.2.3.2 Prepare source file for health facilities
        • 4.2.4 Set up employees & roles for testing or production
          • 4.2.3.1 Prepare source file for employees
          • 4.2.3.2 Configure role titles
        • 4.2.5 Set up application settings
          • 4.2.5.1 Managing language content
            • 4.2.5.1.1 Informant and staff notifications
          • 4.2.5.2 Configuring Metabase Dashboards
        • 4.2.6 Configure certificate templates
        • 4.2.7 Configure declaration forms
          • 4.2.7.1 Configuring an event form
        • 4.2.8 Seeding & clearing your local databases
        • 4.2.9 Countryconfig API endpoints explained
      • 4.3 Set-up a server-hosted environment
        • 4.3.1 Verify servers & create a "provision" user
        • 4.3.2 HTTPS & Networking
        • 4.3.3 Create a Github environment
          • 4.3.3.1 Environment secrets and variables explained
        • 4.3.4 Provision environments
          • 4.3.4.1 Building, pushing & releasing your countryconfig code
        • 4.3.5 Deploy
    • 5. Functional configuration
      • 5.1 Configure application settings
      • 5.2 Configure registration periods and fees
      • 5.3 Managing system users
    • 6. Quality assurance testing
    • 7. Go-live
      • 7.1 Pre-Deployment Checklist
    • 8. Operational Support
    • 9. Monitoring
      • 9.1 Application logs
      • 9.2 Infrastructure health
      • 9.3 Routine monitoring checklist
      • 9.4 Setting up alerts
      • 9.5 Managing a Docker Swarm
  • General
    • Community
    • Contributing
    • Releases
      • v1.4.1: Release notes
      • v1.4.0 to v1.4.1 Migration notes
      • v1.4.0 Release notes
      • v1.3.* to v1.4.* Migration notes
      • v1.3.5: Release notes
      • v1.3.4: Release notes
      • v1.3.3: Release notes
      • v1.3.1: Release notes
      • v1.3.* to v1.3.* Migration notes
      • v1.3.0: Release notes
      • v1.2.* to v1.3.* Migration notes
        • v1.2 to v1.3: Form migration
      • v1.2.1: Release notes
      • Patch: Elasticsearch 7.10.2
      • v1.2.0: Release notes
      • v1.1.* to v1.2.* Migration notes
      • v.1.1.2: Release notes
      • v.1.1.1: Release notes
      • v1.1.0: Release notes
    • Interoperability roadmap
    • Product roadmap
Powered by GitBook
On this page
  • Documentation updates
  • Major Features
  • Known issues
  1. General
  2. Releases

v1.1.0: Release notes

Previousv.1.1.1: Release notesNextInteroperability roadmap

Last updated 1 month ago

OpenCRVS v1.1.0-stable is a minor release marking the commencement of a standardised for OpenCRVS. This release will be maintained for 6 months by the core development team.

The v1.1.0 release includes collective hotfixes to stabilise the previous v1.0.1 minor patch release.

Upgrading from v1.0.1 to v1.1.0 requires the upgrade to be followed precisely.

It is to be used in conjunction with a forked country configuration release

We strongly recommend that all implementers currently running v1.0.1 perform the upgrade to v1.1.0 as soon as possible.

Documentation updates

The following pages in our documentation have been corrected and updated due to the requirements of the new features.

Major Features

The following explains in more detail each major feature that has been included in this release.

Migration microservice

UI updates for new users

Previously the create and edit user flow and the onboarding flow were not utilising the new Content UI components from the storybook. These flows have been refactored.

Dependency upgrades

Miscellaneous bugfixes and refactor

A host of bugfixes were discovered and prioritsed by our QA team to stabilise OpenCRVS v1.0.1 .In future, non-breaking change bugfixes will be released as v1.1.<PATCH> hotfix releases.

Breaking changes - core

v1.1.0 includes the following improvements which are breaking changes. Core migrations are performed automatically when you upgrade and run this release as explained in the migration notes.

  • An automatic migration adds a new channel /confirm/registration to OpenHIM so that the payload between country configuration BRN generation and core workflow service can be monitored in OpenHIM. Additionally log retention for all OpenHIM channels is hardocded to 30 days. This saves approximately 20GB of storage space on a production server every year.

Breaking changes - country configuration

v1.1.0 includes the following configuration improvements which are breaking changes. You must merge all changes from the Farajaland master branch into your country configuration fork to retrieve all these updates as explained in the migration notes.

  • The country configuration now loads the JWT public key from core from a new endpoint in the auth microservice "/.well-known". This improves our security processes as we can now rotate the public key without taking the stack down. An additional benefit of this change is this also allows development teams to start the country configuration server with just yarn dev, rather than previously the v1.0.1 requirement to run yarn dev <-- path to the core directory -->.

  • We fixed a bug in our provided Github Action deploy.yml.

  • Docker Compose yml files have all been updated to support bugfixes in core.

  • The core emergency-backup-metadata.sh and emergency-restore-metadata.sh scripts contained bugs which have been resolved and these scripts are now located in the country configuration server.

  • The following translation keys have been added:

"config.application.updatingeMessage": "Updating..."
"constants.requestReason": "Reason for request"
"form.field.label.updatingUser": "Updating user"
"form.field.label.creatingNewUser": "Creating new user"
"form.section.user.preview.title": "Confirm details"
"record.certificate.collectedInAdvance": "Printed in advance by"

Known issues

v1.1.0-stable:

bash deploy.sh --clear-data=${{ env.FACTORY_RESET }} --restore-metadata=${{ env.FACTORY_RESET }} --update-metadata=no ...

to:

bash deploy.sh --clear-data=${{ env.FACTORY_RESET }} --restore-metadata=${{ env.FACTORY_RESET }} ...

In this release a new "migration" microservice has been introduced to core to support a simper upgrade procedure for system administrators. This microservice utilises the package and performs automatic breaking change core migrations. This means that a system implementer will never need to manually install, store and run database migration files.

In this release, no major components have been upgraded. In December's release v1.2.0 Create React App has been replaced with , we have introduced an S3 compatible document store and are upgrading a host of dependencies.

Bugfix : When registering a birth, a document "Legal Guardian Proof" was entered into the database mistakenly as "Informant's Birth Certificate". An automatic migration finds any such entries and correctly labels the document.

Bugfix related to : When improving our demo data generator script to more accurately reflect "real" Field Agent performance, we noticed that the timestamp saved to InfluxDB marking when the Field Agent commenced the application was incorrectly set to the timestamp associated with the last edit on the application. An automatic migration finds any such entries and correctly sets the timestamp.

The Ansible playbooks in core, now extend an additional playbook.yml in the country configuration. This allows application secrets that encrypt the manager node databases' /data folder to be configured as you wish. The prop encrypt_passphrase has been renamed to disk_encryption_key to more accurately reflect the use case of this value. The disk__encryption__key is saved into a file at the location root/disk-encryption-key.txt The script decrypt.sh is run on a system reboot, as we noticed that on reboot the data folder would not mount until it is decrypted. Mongo DB and Elasticsearch passwords are saved into an example text file opencrvs.secrets inside the encrypted data/ folder.

PRODUCTION NOTE: In production, you will need to provision a and amend the country configuration , , and scripts at the linked locations in order to change the approach to storing and accessing the and . Our supplied approach is not production ready. Secure secret storage is currently outside the scope of OpenCRVS.

In the December OpenCRVS release v.1.2.0 we intend to show an example of how an HSM could be configured. In the meantime, MOSIP's documentation on the requirements of a is useful reading.

For full details of all product updates, visit

Deployment script: This issue is resolved in . We deprecated the --update-metadata parameter which is passed to deploy.sh from the Github Action. The country configuration Github Action file deploy.yml still attempts to pass this parameter to deploy.sh. This causes the deploy script to fail. To resolve this issue, please edit the Github Action deploy.yml in your country configuration in lines 90, 112 and 134 from:

release process
Migration Notes
v1.1.0
Specified upgraded Ubuntu version and increased diskspace for servers
Supported Node version updated for development environments
Simpler command to start country configuration server
Improved instructions for forking in order to make migration simpler
Information on how to encrypt and safely store application secrets required by Ansible
Missing A record in DNS settings and wildcard option
Requirement to duplicate Github Actions for deployment in a forked repo
migrate-mongo
Vite
Min.io
OCRVS-3561
OCRVS-2641
LUKS
Hardware Security Module
playbook.yml
decrypt.sh
emergency-backup-metadata.sh
emergency-restore-metadata.sh
disk_encryption_key
MongoDB and Elasticsearch passwords
Hardware Security Module
https://github.com/opencrvs/opencrvs-core/releases
v1.1.1
Deploy