Skip to content

Releases: opencrvs/opencrvs-farajaland

Release v1.6.3

14 Apr 12:05
0af875f

Choose a tag to compare

v1.6.3 (2025-04-14)

⚠ BREAKING CHANGES

  • remove unused config messages

Features

  • add missing translations for texts in correct record? modal (4a0ffdf)
  • add missing translations for texts in correct record? modal (#163) (6855381)
  • add the new required review/preview section (#137) (dfc63d5)
  • optionCondition to filter document select options (2231e6e)

Bug Fixes

  • rename geojson endpoint to not tie implementations to example country name (#168) (86eda1a)
  • v1.5.0: rename geojson endpoint to not tie implementations to example country name (#169) (84eddb0)
  • add output for reset job (#159) (de05cbc)
  • added missing await (d5145cc)
  • enable auth for certs endpoint (4b2ed8e)
  • enable auth for certs endpoint (#188) (e00238e)
  • groom & bride signature not showing up in pdf (57c72b5)
  • improve informant name formatting for inProgress declaration emails (#162) (00a9bf8)
  • improve informant name formatting for inProgress declaration emails (#162) (b6a1629)
  • ocrvs-5086: refactor getAddress to accept arrays for conditionals (13b9bee)
  • ocrvs-5086: show different label when father address matches (32dc293)
  • mutate logstash host to object before sending it to elastic (b5599b3)
  • mutate logstash host to object before sending it to elastic (d39df23)
  • remove extra divider in birth declaration form (e8bd3e3)
  • remove overshadowing rect (de13f8c)
  • skip PR creation when milestone not set (9154e29)
  • stop accessing response text multiple times (2a8e7f7)
  • stop accessing response text multiple times (#195) (7f3902d)
  • update witness section names (869f489)
  • update witness section names (#185) (3e3cf5f)
  • birth: remove unnecessary parenthesis (52c9431)
  • birth: update e2e tests to search for right match (7d6b164)
  • birth: update missing references. Remove checks for #Usual on 'No' (#1058) (72a8865)
  • ocrvs-5086: refactor getAddress to accept arrays for conditionals (3a67325)
  • ocrvs-5086: show different label when father address matches (5afc4d1)
  • ocrvs-5086: update primary address preview copy for informant and spouse (b55d3fb)
  • ocrvs-5086: update primary address preview copy for informant and spouse (d1dbf39)
  • ocrvs-7324: remove duplicate sentences from copy (12f6204)
  • ocrvs-7324: remove duplicate sentences from copy (9aad0c5)
  • bring back 2 nodes configuration (fac9cf8)
  • update template transformers for fields informantType, otherInformantType (7bc2456)
  • use form data to check if details exist (4b2d8eb)

Tests

  • only run tests from src/ (b0bb98a)

chore

  • remove unused config messages (a8da778)

Documentation

  • add breaking changes section (#207) (05ab199)
  • amend changelog for notification flag (b27279e)
  • rearrange notification flags CHANGELOG entry (f3b1665)
  • remove duplicate entries (516cf92)
  • remove duplicate entries (ee7476d)
  • update changelog (298e4ef)
  • update CHANGELOG (f5e8689)
  • update CHANGELOG (f45635c)
  • update changelog for addtion of notification flag (86d507d)
  • update changelog for updating allowed file format for signatures (4e1a8df)
  • update changelog(7464) (f12ae76)

OpenCRVS Farajaland Configuration - v1.3.5

02 May 07:56

Choose a tag to compare

This release is a reference implementation compatible with OpenCRVS version 1.3.5. Fundamentally this is equivalent to v1.3.4 and it's being released mainly for keeping the version in sync with OpenCRVS core.

OpenCRVS Farajaland Configuration - v1.3.4

17 Apr 09:29

Choose a tag to compare

What's Changed

This release is a reference implementation compatible with OpenCRVS version 1.3.4.

Bugfixes

  • Fix "Reason for delayed registration" not showing with single digit date or month in child's birthday (issue).
  • Add missing French translations (issue).

Full Changelog: v1.3.3...v1.3.4

OpenCRVS Farajaland Configuration - v1.4.1

15 Mar 12:00
fa5e808

Choose a tag to compare

This release is a reference implementation compatible with OpenCRVS version 1.4.1.

What's changed?

  • Improved logging for emails being sent

  • Updated default Metabase init file so that it's compatible with the current Metabase version

  • Deployment: Verifies Kibana is ready before setting up alert configuration

  • Deployment: Removes depends_on configuration from docker compose files

  • Deployment: Removes some deprecated deployment code around Elastalert config file formatting

  • Provisioning: Creates backup user on backup servers automatically

  • Provisioning: Update ansible Github action task version

  • Copy: All application copy is now located in src/translations as CSV files. This is so that copy would be easily editable in software like Excel and Google Sheets. After this change, AVAILABLE_LANGUAGES_SELECT doesn't need to be defined anymore by country config.

OpenCRVS Farajaland Configuration - v1.3.3

23 Feb 19:06
9331cf1

Choose a tag to compare

This release is a reference implementation compatible with OpenCRVS version 1.3.x.

What's Changed

Full Changelog: v1.3.2...v1.3.3

OpenCRVS Farajaland Configuration - v1.4.0

20 Feb 19:47
9e21669

Choose a tag to compare

An example OpenCRVS country configuration. To be used in conjunction with opencrvs-core release v1.4.0

Read the release notes!
Read the v1.3.* to v1.4.* migration notes!

What's Changed

  • Added examples for configuring HTTP-01, DNS-01, and manual HTTPS certificates. By default, development and QA environments use HTTP-01, while others use DNS-01.
  • All secrets & variables defined in Github Secrets are now passed automatically to the deployment script.
  • The VPN_HOST_ADDRESS variable is now required for staging and production installations to ensure deployments are not publicly accessible.
  • Replica limits have been removed; any number can now be deployed.
  • Each environment now has a dedicated docker-compose--deploy.yml. Use environment:init to create a new environment and generate a corresponding file for customizable configurations.
  • 🔒 OpenHIM console is no longer exposed via HTTP.
  • Ansible playbooks are refactored into smaller task files.

New features

  • We now recommend creating a new Ubuntu user provision with passwordless sudo rights for all automated operations on the server, instead of using the root user. New users for different operations will be created in future releases.
  • All human users on all servers now have their own Linux users with mandatory 2-factor authentication.
  • OpenCRVS Farajaland now has an interactive script environment:init for creating new Github environments and defining secrets. This script should also be run for existing environments to ensure all variables and secrets are defined, especially important when pulling the latest changes from the Farajaland repository to your own country resource package.
  • The environment creator script also manages the known hosts file automatically.
  • 🚰 New pipeline for automatic provisioning of Ubuntu servers (all environments).
  • 🚰 New pipeline for resetting data from an environment (non-production environments).
  • 🚰 New pipeline for resetting SSH 2FA for all environments.
  • 🚰 Development deploy pipeline now includes a "debug" option for SSHing into the action runner (non-production environments).
  • A new "staging" environment has been introduced, acting as a production environment clone that resets its data nightly to match the production environment.
  • The deployment script can now verify if there are undefined environment variables referred to in your compose files. All secrets and variables defined in Github Environments are automatically passed down to the deployment script.
  • 🔒 Backup archives are now secured with a passphrase.
  • HTTPS setup now offers three options: HTTP challenge, DNS challenge, and using a pre-issued certificate file.
  • There's now a generic purpose POST /email endpoint only available from the internal network. Elastalert2 is configured to use this endpoint instead of directly using SMTP details or the Sendgrid API key.
  • 🔒 QA environment now hosts a Wireguard server and admin panel (wg-easy). After deploying, you can access the admin panel at vpn..
  • Allow configuring additional SSH parameters globally using SSH_ARGS Github variable.

Breaking changes

  • Known hosts are now defined in the infrastructure/known-hosts file. You can clear the file and use bash infrastructure/environments/update-known-hosts.sh <domain> to add your own domains.
  • Ansible inventory files are now in .yml format. Please convert your old production.ini and similar files to this new format.
  • The authorized_keys file has been removed, and keys should now be defined in the inventory yaml files.
  • The DOCKER_PASSWORD secret has been replaced with DOCKER_TOKEN.

Note

In the next OpenCRVS release v1.5.0, there will be two significant changes:

  • The infrastructure directory and related pipelines will be moved to a new repository.
  • Both the new infrastructure repository and the OpenCRVS country resource package repositories will start following their own release cycles, mostly independent from the core's release cycle. From this release forward, both packages are released as "OpenCRVS minor compatible" releases, meaning that the OpenCRVS countryconfig 1.3.0- is compatible with OpenCRVS 1.3.0, 1.3.1, 1.3.2, etc. This allows for the release of new hotfix versions of the core without having to publish a new version of the infrastructure or countryconfig.

See Releases for release notes of older releases.

v1.4.0 (2024-02-20)

Other changes

Read more

OpenCRVS Farajaland Configuration - v1.3.2

19 Jan 13:53
33aa79f

Choose a tag to compare

This release is a reference implementation compatible with OpenCRVS version 1.3.x.

What's Changed

Full Changelog: v1.3.1...v1.3.2

OpenCRVS Farajaland Configuration - v1.3.1

16 Nov 10:58

Choose a tag to compare

What's Changed

Full Changelog: v1.3.0...v1.3.1

OpenCRVS Farajaland Configuration - v1.3.0

03 Oct 08:57
1b8ad36

Choose a tag to compare

An example OpenCRVS country configuration. To be used in conjunction with opencrvs-core release v1.3.0

Read the release notes!
v1.2 to v1.3.* migration notes

Breaking changes - country configuration

The country confguration repository has been entirely refactored. Please contact us at [email protected] if you need any help rebasing changes in this repository.

Refer to the documentation

  • Form configuration now takes place entirely by using code in this repository.
  • All databases are now seeded using the configuration and APIs here and the old backup zips have been deprecated.
  • Directory structure has been refactored entirely
  • All server configuration can now be amended in this repository without forking opencrvs-core
  • Many content keys have been created for translation requirements for the new features. These are documented below.
"buttons.editRecord": "No, make correction",
"buttons.issue": "Issue",
"buttons.saving": "Saving...",
"buttons.sendForUpdates": "Send for updates",
"certificate.receipt.amountDue": "Fee",
"certificate.receipt.deathService.before": "Death registration before {target} days of date of death",
"certificate.receipt.marriageService.after": "Marriage registration after {target} days of date of marriage",
"certificate.receipt.marriageService.before": "Marriage registration before {target} days of date of marriage",
"certificate.receipt.service": "Service",
"changeEmail.validation.msg": "Must be a valid email address",
"config.application.marriageTabTitle": "Marriage",
"config.application.marriageLegallySpecifiedDialogTitle": "Legally specified time period for marriage registration",
"config.application.marriageDelayedFeeChangeNotification": "Marriage delayed fee updated",
"config.application.marriageOnTimeFeeChangeNotification": "Marriage on time fee updated",
"config.application.marriageRegTargetChangeNotification": "Marriage registration target days updated",
"config.informantNotification.title": "Informant notifications",
"config.informantNotification.subtitle": "Select the notifications to send to the informant to keep them informed of the progress to their declaration. Your system is configured to send {communicationType}.",
"config.informantNotification.inProgressSMS": "Notification sent to Office",
"config.informantNotification.declarationSMS": "Declaration sent for review",
"config.informantNotification.registrationSMS": "Declaration registered",
"config.informantNotification.rejectionSMS": "Declaration rejected",
"config.informantNotification.success": "Informant notifications updated",
"config.userRoles.title": "User roles",
"config.userRoles.subtitle": "Map user roles to each system role so that specific permissions and privileges are correctly assigned. To learn more about the different system roles see ... {link}",
"config.userRoles.systemRoles": "SYSTEM ROLES",
"config.userRoles.systemRoleSuccessMsg": "System role updated successfully",
"config.userRoles.role": "ROLE",
"config.userRoles.roleUpdateInstruction": "Add the roles to be assigned the system role of {systemRole}",
"config.application.vsExportDownloadFailed": "Sorry! Something went wrong",
"config.certificate.template": "Template",
"config.certificate.allowPrinting": "Allow printing in advanced of issuance",
"config.certificate.options": "Options",
"config.certificate.printDescription": "Records printed off in advance of collections will be added to the ready to issue work-queue",
"config.certificate.allowPrintingNotification": "Allow printing in advance of issuance updated",
"config.certTemplate": "Certificate Template",
"config.marriageDefaultTempDesc": "Default marriage certificate template",
"config.marriageTemplate": "Marriage certificate",
"config.listTitle": "Certification",
"config.application.backgroundImageError": "Unable to change image. Please try again.",
"config.application.loginBackgroundLabel": "Login Background",
"config.application.loginImageText": "Upload an image and set how you would like it to display in the background",
"config.application.imageTabTitle": "Image",
"config.application.colourTabTitle": "Colour",
"config.application.colourTabText": "Hex code",
"config.application.backgroundImageChangeNotification": "Background image updated",
"config.application.backgroundImageFileLimitError": "Background image file must be less than 2mb",
"constants.marriage": "Marriage",
"constants.marriages": "Marriages",
"constants.duplicateOf": "Duplicate of",
"constants.matchedTo": "Matched to",
"constants.registeredAt": "Registered at",
"constants.registeredBy": "Registered by",
"constants.emailAddress": "Email Address",
"constants.user.role": "Role",
"constants.user.systemRole": "System Role",
"constants.registrationNumber": "Reg no.",
"constants.issueCertificate": "Issue Certificate",
"constants.collectorDetails": "Collector Details",
"constants.issueToMother": "Issue to informant (Mother)",
"constants.issueToFather": "Issue to informant (Father)",
"constants.issueToGroom": "Issue to informant (Groom)",
"constants.issueToBride": "Issue to informant (Bride)",
"constants.issueToSomeoneElse": "Issue to someone else",
"constants.issueToInformant": "Issue to informant",
"constants.issueConfirmationMessage": "Please confirm that the certificate has been issued to the informant or collector.",
"constants.idCheckWithoutVerify": "Continue without proof of ID?",
"constants.systemrole": "System Role",
"constants.draft": "Draft",
"verifyCertificate.loading": "Verifying certificate",
"verifyCertificate.timeOut": "You been timed out",
"verifyCertificate.successTitle": "Valid QR code",
"verifyCertificate.successMessage": "Compare the partial details of the record below against those against those recorded on the certificate",
"verifyCertificate.errorTitle": "Invalid QR code",
"verifyCertificate.errorMessage": "The certificate is a potential forgery please...",
"verifyCertificate.successUrl": "URL Verification",
"verifyCertificate.fullname": "Full name",
"verifyCertificate.dateOfBirth": "Date of birth",
"verifyCertificate.dateOfDeath": "Date of death",
"verifyCertificate.sex": "Sex",
"verifyCertificate.placeOfBirth": "Place of birth",
"verifyCertificate.placeOfDeath": "Place of death",
"verifyCertificate.registrationCenter": "Registration Center",
"verifyCertificate.registar": "Name of registar",
"verifyCertificate.createdAt": "Date of certification",
"verifyCertificate.brn": "BRN",
"verifyCertificate.drn": "DRN",
"verifyCertificate.toastMessage": "After verifying the certificate, please close the browser window",
"verifyCertificate.sexFemale": "Female",
"verifyCertificate.sexMale": "Male",
"correction.corrector.bride": "Bride",
"correction.corrector.groom": "Groom",
"correction.summary.required": "Required for correction",
"correction.summary.idCheckForCorrection": "Correct without proof of ID?",
"dashboard.noContent": "No content to show. Make sure the following variables are configured in the <strong>client-config.js</strong> provided by your country config package:<br /><ul><li><strong>LEADERBOARDS_DASHBOARD_URL</strong></li><li><strong>REGISTRATIONS_DASHBOARD_URL</strong></li><li><strong>STATISTICS_DASHBOARD_URL</strong></li></ul>",
"dashboard.dashboardTitle": "Dashboard",
"dashboard.leaderboardTitle": "Leaderboards",
"dashboard.statisticTitle": "Statistics",
"custom.field.form.unit": "Unit",
"custom.field.form.unitOptionG": "Gram (G)",
"custom.field.form.unitOptionKg": "Kilogram (Kg)",
"custom.field.form.unitOptionCm": "Centimeter (Cm)",
"custom.field.form.unitOptionM": "Meter (M)",
"custom.field.form.unitOptionEmpty": "None",
"custom.field.form.inputWidth": "Input width",
"config.form.settings.time": "Time input",
"config.form.tools.input.customSelectWithDynamicOptions": "Custom select with dynamic options",
"duplicates.warning": "Potential duplicate of record {trackingId}",
"duplicates.review.header": "Potential {event} duplicate review",
"duplicates.content.title": "Is {name} ({trackingId}) a duplicate?",
"duplicates.content.subtitle": "This record was flagged as a potential duplicate of: {trackingIds}. Please review these by clicking on each tracking ID in the tab section to view a side-by-side comparison below, and confirm if this record is a duplicate",
"duplicates.button.notDuplicate": "Not a duplicate",
"duplicates.button.markAsDuplicate": "Mark as duplicate",
"duplicates.content.notDuplicateConfirmationTitle": "Are you sure {name} ({trackingId}) is not duplicate?",
"duplicates.content.markAsDuplicate": "Mark {trackingId} as duplicate?",
"duplicates.content.duplicateDropdownMessage": "Duplicate of",
"duplicates.content.markAsDuplicateReason": "Please describe your reason",
"duplicates.compare.title": "Review {actualTrackingId} against {duplicateTrackingId}",
"duplicates.compare.supportingDocuments": "Supporting documents",
"duplicates.content.header": "Declaration details",
"form.field.nidNotVerified": "Authenticate",
"form.field.nidVerified": "Authenticated",
"form.field.nidOffline": "National ID authentication is currently not available offline.",
"form.field.nidNotVerifiedReviewSection": "Unauthenticated",
"form.field.label.addressLine1RuralOption": "Village",
"form.field.label.addressLine1UrbanOption": "Residential Area",
"form.field.label.app.certifyRecordTo.mother": "Print and issue to informant (Mother)",
"form.field.label.app.certifyRecordTo.father": "Print and issue to informant (Father)",
"form.field.label.exactDateOfBirthUnknown": "Exact date of birth unknown",
"form.field.label.fileSizeErr...
Read more

OpenCRVS Country Configuration - v1.2.1

24 Apr 15:56
a62c078

Choose a tag to compare

An example OpenCRVS country configuration. To be used in conjunction with opencrvs-core release v1.2.1

Non breaking hotfixes

  • In some countries, mobile phone numbers do not start with a zero ("0") after the country code has been removed. Previously OpenCRVS had hardcoded a zero to append to all mobile numbers. Now we use this library to convert to and from MSISDN to local number format
  • There were 2 bugs in our Ansible script which are resolved by this hotfix.
  1. The only way to change the disksize of the encrypted partition would be to amend the opencrvs-core playbook. You can now pass a parameter "encrypted_disk_size" which can be set to something like "200g" to ensure that the encrypted disk partition is optimised for your server. Additionally the option to decide to not encrypt the disk has been removed. You must now encrypt the disk and the Ansible variable "encrypt_data=True|False" is deprecated. Choose approximately 80% of your available diskspace.

  2. The encrypted disk partition takes some time to create, especially if it is large. Previously Ansible did not wait for completion before proceeding to the next step. This caused an issue where the de-crypt on restart script in this repo decrypt.sh was not applied to the server. T o pick up this fix, run the Ansible commands again.

What's Changed

Full Changelog: v1.2.0...v1.2.1