national-social-registry
Published automatically.
Repository: github.com/OpenG2P/national-social-registry · Container images: Container Registry
| Version | Date | Type | Notes |
|---|---|---|---|
0.0.0-develop.244 |
2026-09-04 | develop | |
0.0.0-develop.242 |
2026-08-28 | develop | |
1.1.0 |
2026-08-04 | release | |
1.0.1 |
2026-07-25 | release | |
1.0.0 |
2026-07-25 | release |
Releases
national-social-registry 1.1.0 — 2026-08-04
commit 1d9641f · changes since release 1.0.1
Chart: openg2p-nsr 1.1.0
Release notes
Intermediate stable version; several changes related to reading data from MDS; compatible with commons 0.0.0-develop.198
Summary
- Major: CI migration to GitLab: switched from GitHub Actions to GitLab CI, ensuring better integration and streamlined workflows.
- Dashboard enhancements: added default NSR dashboards as an importable Superset bundle, including 8 dashboards and 57 charts, with deterministic UUIDs for seamless updates.
- Data generation improvements: introduced a scalable sample-data generator for NSR, capable of loading ~1M individuals and various records, enhancing the existing fixture's capabilities.
- Superset integration: fixed dashboard import issues by ensuring proper configuration and service account usability, allowing machine clients to access the Superset API effectively.
- Bulk seeding optimizations: improved unattended dashboard imports and bulk-seed processes, addressing idempotency and schema issues to ensure smoother operations.
- Version updates: incremented Registry Platform version across multiple components to maintain consistency and leverage new features.
- Codebase cleanup: refactored household and individual models by removing unused methods and improving clarity, alongside aligning reporting views with updated enums.
- Analytics enhancements: packaged the analytics chain, including reporting views and dashboards, to streamline the installation and configuration process.
Changes
- Cleanup of dashboards as well. (
1d9641f) - questions.yaml copied during CI. (
d041e0f) - Bumped up RP version. (
b83e8d0) - G2P-5335 Chart: fix values.yaml clobbered by the CI migration (yq line offset); take registry-platform 0.0.0-develop.343 from the GitLab charts registry (
d88298e) - G2P-5335 Switch CI to GitLab (.gitlab-ci.yml); drop GitHub Actions build/publish (
566369c) - Bumped up RP version to 0.0.0-develop.341. (
6aff652) - G2P-4804 Use to_regclass in the bulk-seed guard instead of querying the table. On a fresh install this hook can run before the registry has created its schema, where a plain SELECT raises UndefinedTable and poisons the transaction, so every later statement fails too — turning Loader's clear "table not found in target schema" into a traceback pointing at the guard rather than the cause. An absent table just means not seeded. (
0f78334) - G2P-4804 Get the dashboards to import unattended. Three stacked failures: the bulk seeder is a post-upgrade hook but was never idempotent — a fixed --seed regenerates the same ids and COPY has no ON CONFLICT — so it died on row 1 and, Helm stopping at a failed hook, took the views and the import with it; seeded now means done. The import then reached Superset's metadata DB with no password: DB_PASS is present but EMPTY in the envFrom Secret, overridden in Superset's own deployment by an explicit env that envFrom cannot beat, so it is rendered explicitly here too. Embedding then failed on all 8 with "CSRF session token is missing", which is not about the token: SESSION_COOKIE_SECURE means the cookie is never sent over the in-cluster http Service. Cleared on our own jar before every request — Superset re-issues it each response, so clearing once embeds one and fails the rest. (
3506d7c) - G2P-4804 Make the dashboard import work unattended. It never ran: the Job uses the stock Superset image but mounts the deployed config, which sets AUTH_TYPE = AUTH_OAUTH, so flask-appbuilder imported authlib and died in create_app — the bootstrap script that installs it was in the mounted Secret but the volume projected only superset_config.py. It also had no gate on Superset, which is a different Helm release, so a restart failed the whole import; published and embedded every dashboard in a shared Superset rather than its own; capped embedding at a fixed page; and raised on a missing database connection after the import had already succeeded. (
378189f) - G2P-4804 Source Superset's bootstrap script in the dashboard-import Job. The Job runs the stock apache/superset image but mounts the deployed Superset's config, which sets AUTH_TYPE = AUTH_OAUTH — so flask-appbuilder imports authlib while building the security manager and the stock image does not ship it. Every run died in create_app before importing anything. The bootstrap script that installs it was already in the mounted Secret, but the volume projected only superset_config.py, so it never reached the pod. (
97ce577) - G2P-4804 Pin the maps base image to a published tag. The ARG defaulted to 0.0.0-develop, which CI never publishes — it produces 0.0.0-develop.
and develop — so the build failed on the pull. Pinned the way the db-seed image pins its registry-platform base. ( 491374e) - G2P-4804 Own the maps content, and stop the shared Superset Secret blocking an install. The queries read nsr_rpt_* and plot a poverty score, none of which exists in another registry, so they belong here — shipped as an image built FROM openg2p-insights-evidence-builder, the same split as db-seed. Separately, both this chart and Insights declared the Superset service-account Secret, and Helm will not adopt another release's object, so whichever installed second failed; it now renders only when absent. (
ab0580b) - Bumped up RP version to 0.0.0-develop.339 (
7463cd0) - G2P-4804 Generate the Superset service-account password instead of asking for one. It authenticates a machine to Superset's REST API via provider=db and is never seen by a human, so requiring an operator to invent one only added a step to forget — and forgetting it left the dashboards imported but unreachable from Insights. Adopted rather than regenerated on upgrade, and the Insights chart renders the same Secret name and key, so whichever installs first creates it and the other picks it up. (
1e62982) - G2P-4804 Generate only values this registry's code lists contain, and find the head of household by role. The housing ladders emitted TRADITIONAL_HUT, APARTMENT and IRON_SHEET, none of which any list defines — no foreign key to catch it, so they landed as codes nothing resolves and charts grouped by them showed categories that do not exist. Lists are now filtered against g2p_attribute_values, not replaced by it: their order is the deprivation gradient deprived_pick reads, which a code list's display order does not carry. Head of household was RELATIONSHIPS[0], correct only while a country used SELF in that slot; it now asks for the head_of_household role. Values the registry defines but this script never emits are reported rather than injected. (
4329f3e) - G2P-4804 Fix a use-before-define that stopped the bulk sample job from starting. DISPLACEMENT and PASTORALIST were read by names_and_weights two lines above their assignment, at module level, so the script raised NameError on import and the job never ran. Introduced when those lists were moved below their use. (
20a10ea) - Bumped up RP version to 0.0.0-develop.338 (
36b9530) - G2P-4804 Read code-list dropdowns from the database instead of the widget. Each widget carried its own option array, so the values could only be changed by a release — the registry's attribute table, its API and the admin UI all existed but nothing on the form consulted them, and editing a list in the portal changed nothing on screen. Widgets now name their list; the same values are seeded as rows, where a country pack replaces them at install and an admin can edit them. No value changed, so an install without a pack behaves as before. Yes/no toggles stay static — a boolean is not a code list. (
2251acf) - Bumped up RP version to 0.0.0-develop.336 (
31fb59f) - G2P-4804 Attach the sub-table fixtures to whoever was actually loaded — same fix as the platform loader, which NSR overrides with its own copy. Its ten sub-tables all link to the demography CSV's id space, so on a country pack every livelihood, shock, asset and housing row orphaned silently. (
6f425c4) - G2P-4804 Take the country out of NSR's sample loader and turn on the Master Data path. NSR overrides the platform's load_sample_data.py with its own copy, so the country-agnostic fix did not reach it and it would fail on any pack that is not five levels called country..village — Ethiopia has four, ending at woreda. People and their whole ancestry now come from Master Data, CSV as fallback. Chart enables loadAttributes and syncGeoWidgets, both of which take whatever pack the environment loaded. (
99c07eb) - G2P-4804 Make the NA labels self-explanatory — "NA (not working age)", "NA (under 5)", "NA (no ID)". The chart description carrying that explanation only renders on a dashboard when the chart is in the dashboard's expanded_slices metadata, so it was invisible; the label shows on the axis itself. (
91d7ae7) - G2P-4804 Label not-applicable nulls as NA in the individual reporting view — employment_status and primary_livelihood are null for every under-5 and school-age child, education_level for every under-5, secondary_livelihood for the 84% with one, fid_verification_status for the half with no ID. Superset rendered these as "null", reading as missing data. Derived booleans still test the raw column, so their meaning is unchanged. (
07f18a6) - G2P-4804 Align the NSR sample generator and reporting views to the extension's enums. G2P-5412's ProgramEnum rework dropped URBAN_PSNP and DIRECT_SUPPORT, which the generator still wrote; checking that surfaced nine more invalid values predating it (HEAD vs SELF, SETTLED vs HOST_COMMUNITY, the pastoralist/tenure/water/sanitation/lighting/cooking ladders, age_method, citizenship, identity evidence). These are String columns so invalid values inserted silently. The views hardcoded the same invented names, so fixing the generator alone would have made is_head false for every household and is_displaced true for all of them — both sides moved together. Views must be re-applied, not refreshed. (
804b823) - G2P-4804 Give the dashboards job Superset's own configuration. It ran Superset's CLI and ORM with no config, so Superset fell back to a SQLite file in the job's pod: the service account and all 8 dashboards were imported into a throwaway database and the job exited 0, leaving the real Superset empty. Adds envFrom/config-secret wiring, an abort if the metadata DB still resolves to sqlite, and enables embedding over the REST API so Insights can actually render the imported dashboards. (
a0c1b72) - G2P-4804 Make the Superset service account usable by machine clients: supersetAdminPasswordSecret replaces the random password the dashboards job generated and discarded, converging the account onto the Secret on each run. Under AUTH_OAUTH provider=db is the only way G2P Insights can reach the Superset API, so a thrown-away password locked it out permanently. (
14d6269) - Bumped up RP version to 0.0.0-develop.316 in Dockerfiles for db-seed and sanity-tests, and updated the version in the Helm chart for openg2p-nsr. (
bee4bf7) - Bumped up RP version to 0.0.0-develop.316 in Dockerfiles for celery, partner-api, and staff-api. (
072f431) - G2P-5412 Refactor household and individual models by removing unused async methods for linking internal record IDs and cleaning up imports. This improves code clarity and maintainability across multiple model files. (
c49a881) - G2P-4804 Raise the default bulk sample to 250k individuals, sized against Kamuntu's 668 villages so leaf-level percentages are reportable rather than suppressed. Clarify that expectedCountry is the root P-code (XK/ET), not the pack name. (
76e2da2) - Bumped up RP version 0.0.0-develop.299 (
36a87e2) - G2P-4804 Use adhoc SQL COUNT(*) in charts; make the dashboard import create its service user and replace stale charts. (
d1862a8) - G2P-4804 Use an adhoc SQL COUNT(*) metric so charts pass dataset column validation. (
b80cf1e) - G2P-4804 Pass Master Data credentials to the bulk-sample job; sweep unlabelled jobs on uninstall. (
ba1ee1b) - Bumped up RP version to 0.0.0-develop.298. (previous checking had errors) (
6bb70bb) - Bumped up RP version. (
fc58cb3) - G2P-4804 Label analytics jobs and bundle ConfigMap so uninstall sweeps them. (
92c85a1) - G2P-4804 Inherit the db-seed image in analytics jobs so CI tag rewriting applies. (
1f0e89d) - Bumped up Registry Platform version to 0.0.0-develop.297 (
c87c722) - Bumped up Registry Platform version to 0.0.0-develop.297 (
bc41b45) - G2P-4804 Package the analytics chain: openg2p-data paths, reporting views, dashboard bundle. (
9625edb) - G2P-4804 Wire NSR analytics install chain: bulk sample, reporting views, dashboards. (
fc58562) - G2P-4804 Move data generation to openg2p-data; keep loaders, schema and deploy here. (
1931244) - Added default NSR dashboards as an importable Superset bundle: 8 dashboards / 57 charts over the nsr_rpt_* reporting views, generated by build_bundle.py and loaded at install by a post-install hook Job. Assets use deterministic uuid5 keys so re-import updates in place rather than duplicating, and only viz types present in both Superset 4.0.1 and 6.1 are used so one bundle serves the current deployment and the planned upgrade. Gender is covered both as a dashboard-level native filter and as explicit disaggregated charts, including the ID and phone coverage gaps that determine whether someone can actually be paid. Every chart was verified by executing its columns and metric expressions against the seeded 1M-row views. (
4e51365) - NSR-xxxx Added the NSR reporting foundation: a scalable canonical-schema sample generator (~1M individuals plus vulnerability, livelihoods, housing, programme and score records), two indexed materialized views that flatten geography positionally so nothing assumes a country, level naming or depth, and a nested-GeoJSON generator that derives drill-down boundaries from the deployment's own MDS hierarchy. Poverty drives deprivation, enrolment and ID coverage and is spatially clustered, so targeting and map dashboards have real signal; quintile 1 is the poorest by convention, documented because a proxy-means test scores the other way and reversing it silently inverts every chart. Loads run in-cluster via bulk-seed-job.yaml since a load this size does not survive kubectl port-forward, and --purge makes any load reversible. (
1888d40) - NSR-xxxx Added a scalable sample-data generator for NSR (docker/db-seed/generate_bulk_sample.py) that loads ~1M individuals / 250k households plus vulnerability, livelihoods, housing-services, programme and score records. Complements the hand-written 500-row fixture in load_sample_data.py, which cannot scale. Geography is read from the deployment's own MDS hierarchy so nothing is tied to a country, level naming or depth; attribute marginals come from a committed distributions.json extracted (counts only, no PII) from a real 20M-row registry. Column lists are introspected per table so the loader tolerates schema drift, poverty correlates with deprivation and enrolment so targeting dashboards have signal, --purge makes a load reversible, and bulk-seed-job.yaml runs it in-cluster because a load this size does not survive kubectl port-forward. (
bbd255f)
national-social-registry 1.0.1 — 2026-07-25
commit 32bc8b9 · changes since release 1.0.0
Chart: openg2p-nsr 1.0.1
Release notes
Intermediate stable version; Just update of RP version; compatible with openg2p-commons 0.0.0-develop.182
Summary
- Version update: bumped RP version to the latest release.
Changes
- Bumped up RP version. (
32bc8b9)
national-social-registry 1.0.0 — 2026-07-25
commit ddfda05 · first release
Chart: openg2p-nsr 1.0.0
Summary
- Major: Refactored NSR as a thin extension, replacing the self-sufficient chart with an openg2p-nsr wrapper, and updated Dockerfiles to use platform images while dropping unnecessary machinery.
- Tooling enhancements: Introduced
bump-rp-version.shfor atomic updates of the openg2p-registry pin across Dockerfiles and Helm charts, along with a CI lockstep guard to ensure consistency. - Database updates: Adjusted NSR db-seed scripts for the v1.1.0 document refactor, including renaming fields and restoring loaders to prevent crashes against the schema.
- Security improvements: Added CSRF validation for staff-portal-api requests and configured IAM permissions for register metadata API access.
- CI/CD updates: Improved Helm chart configurations, including versioning schemes and dependency updates, while enhancing the Docker build process for better data loading and error handling.
- Feature additions: Implemented pre-approval logic for change requests, enhanced DCI response handling, and added new scoring definitions for poverty metrics.
- Cleanup and refactoring: Removed hardcoded values, legacy logging, and unused permissions, while improving validation functions and JSON handling across various services.
Changes
- G2P-5383 Tooling: add scripts/bump-rp-version.sh (with -n dry-run and -h help) to move the openg2p-registry pin — Dockerfiles + chart dependency together — to the latest version published in BOTH the Helm index and Docker Hub, plus a CI lockstep guard (test/test_rp_pin_lockstep.py + checks.yml) that fails the build if the pins ever split (
ddfda05) - G2P-5383 Tooling: add scripts/bump-rp-version.sh to move the openg2p-registry pin (Dockerfiles + chart dependency) atomically to the latest version published in both the Helm index and Docker Hub, plus a CI lockstep guard (test/test_rp_pin_lockstep.py + checks.yml) that fails the build if the pins ever split (
e099711) - G2P-5383 Bump openg2p-registry pin to 0.0.0-develop.295 in all Dockerfiles and the chart dependency (kept in lockstep) (
7294267) - Bumped up registry platform version. (
fadeb93) - G2P-5383 Sanity: retry a DCI search only when a dependency returns 5xx (e.g. Consent Manager stale-connection 500) — a genuine policy denial is never retried, so fail-closed behaviour is still asserted (
4138fb2) - G2P-5383 NSR sanity: keep the inherited fixture symbol names (FARMER_*) and change only their values — sanity/dci.py is inherited and imports FARMER_FOUNDATIONAL_ID, so the rename broke all five e2e tests with AttributeError (
f965ed5) - Registry platform version updated. (
e3e331a) - G2P-5383 NSR db-seed: update the restored loaders for the v1.1.0 document refactor — record_image_storage_id was renamed to record_image_document_id, which made load_sample_data.py fail on g2p_register_individuals and g2p_register_households; verified against the live schema and by running both loaders in-cluster (
a5634a1) - G2P-5380 refactor(sql): update SQL insert statements for templates (
ebfab89) - G2P-5383 NSR db-seed fix: restore NSR's own load_sample_data.py and upload_images.py — the platform base image's copies are farmer-shaped (g2p_register_farmers, farmers.json) and crash-loop against NSR's Individual/Household schema; copy them over the inherited ones in the thin Dockerfile (
d086d55) - G2P-5383 NSR sanity: add the NSR field-specific test set (Set 2) and openg2p-nsr-sanity-tests image FROM the platform sanity image, wire it into CI and the chart, and align the RP_VERSION pins with the chart dependency at 0.0.0-develop.288 (
d0d7d4c) - G2P-5383 NSR as thin extension: replace the self-sufficient chart with an openg2p-nsr wrapper (openg2p-registry dep pinned 0.0.0-develop.288 + inherited Rancher questions), make dockers thin FROM the platform images with Option C, drop the inherited db-seed/celery machinery, and reuse the platform sanity image unchanged (NSR fields match the reference registry) (
614b938) - G2P-5380 feat(sql): add contributing attributes and definitions for poverty score (
6a0d14b) - G2P-5348 id-generator moved to Gitlab. Changed the reference in Chart.yaml (
a946c73) - G2P-5333 Update permission-to-role mappings (
6625efa) - G2P-5335 Tidy CI-migration leftovers in farmer: drop dead develop.txt specs, repoint Chart.yaml comment and celery README to build-publish.yml/Dockerfile (
567ee10) - G2P-5319 Production hardening. Resource limits fixed. HPA bug fixed. (
4e42304) - G2P-5319 Dockers run as non-root user. (
91faa75) - G2P-5319 Referring to develop branch of registry-platform. (
59a6fc4) - G2P-5318 Sync operational role IAM permissions for register metadata API access (
684a525) - G2P-5255 Add CSRF validation configuration for staff-portal-api requests (
28f41ca) - Add README file for NSR extension package (
af20d0e) - G2P-5221 Add IAM public URL configuration for Staff Portal UI (
b0353ff) - G2P-5226 Add Redis configuration for staff-portal-api authentication (
e0e17dd) - G2P-5221 Update AWE approver user password and add first/last names for new users in keycloak-init (
8172226) - G2P5221 Add CSP configuration for profile/document images from MinIO (
170641c) - G2P5221 Add AWE_CALLBACK_CALLER_SERVICE to db-seed and update SQL template (
33261b9) - G2P-5221 Remove unused verification permissions from payload.json (
8d71596) - G2P-5207: update SQL insert statements for g2p_register_sections (
fd6bf84) - G2P-5260 AWE removed from here. Commons AWE used. (
87fb3a7) - Helm develop versioning scheme added (
4101859) - Add geo data loading functionality to db-seed (
3efa999) - G2P-5246 refactor(models): rename record_name methods to intake_record_name (
1d919c4) - G2P-5211 refactor(services): remove keys from search text - cleaned up search text keys in multiple service classes (
0b7c8e5) - G2P-5220 feat(pre_approve): implement pre-approval logic for change requests (
2e5985a) - G2P-5220 refactor(utils): move validation functions to utils module (
e9fb1af) - Fix psycopg2 error (
823ddac) - G2P-5216 refactor(domain_validation_utils): improve validation functions (
6cbacba) - fix repo url (
74fca48) - AWE version frozen. (
1d6920d) - G2P-5207 fix: translations and UI schema seeding (
3aa2dcb) - G2P-5202 Bump dependencies and update image tags to latest versions (
c8df6b0) - postgres-init version changed to frozen version (
50d79b8) - Refactor seed data scripts and update individual records. Enhanced geo hierarchy handling in load_sample_data.py. Updated household assets and housing data with new records and modified existing entries. Adjusted individual disabilities and livelihoods data for consistency and accuracy. Improved land records with updated access and size information. (
54b2950) - G2P-5187 New versioning system. (
25381d5) - G2P-5187 Version bumped up everytime there is a change. (
2af5a0d) - G2P-5186 Duplicate database entries removed. AWE call back modified. (
8b469df) - Version bumped up 'cause develop version wasn't getting updated (suspected) (
d03ab55) - G2P-5143 IAM traces uninstalled with uninstall script. (
d1d4bfb) - add outgest_applicable to seed data (
92573d5) - G2P-5143 Calling IAM end piont to register. (
835d419) - G2P-5103 hardcoding removed. (
055339b) - exclude sections backed by a CORE_TABLE register for seeding queue table (
c89e8ec) - test openg2p-data (
f915f91) - Update MinIO bucket name references in values.yaml to match imageBucketName for correct URL resolution in partner and staff portal APIs. (
baf1e1a) - refactor nsr data seeding (
7a2a34d) - G2P-5142 update language data seeding: add new field and remove obsolete field (
3cf5039) - Postgres-init version corrected. (
f0cf9d8) - Cleanup (
bbacd7a) - G2P-5103 Support for multiple registries in an env. (
1ae7e6b) - Removed limits to resources in Redis as it getting killed with OOM error. (
3d12f5a) - Doc moved to Gitbook (
41b9e4b) - G2P-5126 Legacy logging removed. (
ca59162) - Several issues related to recent changes fixed. (
62b78b3) - G2P-5103 Hardcoding of keycloak client removed. Similar such changes done such that multiple registries may be installed in a single namespace. (
0bb3539) - G2P-4924 Seed AWE approval policies (
f5b1a58) - G2P-5101 - Update Helm chart configuration to include imageBucketName (
38a14f3) - Update Dockerfile to point to the correct openg2p-data repository and update Helm chart configuration for DB seed options. Added support for loading sample images and updated descriptions for clarity. (
f4114c4) - update docker to use 2.0 (
2f42683) - Update Dockerfile to COPY seed-data/ from extension instead of relying on cloned openg2p-data subfolder (
1a0a714) - temp branch (
dc71256) - Refactor JSON handling in load_sample_data.py for improved data insertion (
b28caee) - Update Dockerfile (
b74f14d) - G2P-5009 feat(services): implement domain validation utilities and refactor validation methods across services (
c5486e8) - G2P-5010 Registry uninstall script added. (
778f782) - G2P-5010 Memory limits removed as there are causing OOM issues. (
cf157d3) - G2P-5010 Helm chart made self sufficient. All contents copied from openg2p-registry-gen2-deployment. (
77965b9) - G2P-5010 Registry staff portal UI docker moved to registry platform as it is a common one. (
c0532fc) - G2P-5010 Fix for UI docker build. (
4a70e65) - G2P-5010 Fix for UI docker build. (
efc5c4e) - G2P-5010 Reading all libs from registry-platform repo. (
0c85580) - Enhance db-seed Docker image and scripts for improved data loading (
bc3787d) - G2P-4933 feat: enhance db-seed Docker image to support Jinja template uploads (
b3f5f17) - G2P-4933 feat: update SQL seed data and templates for DCI and CRVSVC integration (
16e3d45) - feat: update dci-workshop.txt to include NSR extension path (
cfeb1c1) - G2P-4761 feat: update SQL seed data for households with corrected household head names and improved data consistency (
61e082c) - G2P-4761 feat: update SQL seed data for households and individuals (
952ecb0) - G2P-4761 feat: update SQL seed for configurations and sample data (
c13ac08) - feat: improve error handling in G2PCrvsVCIndividualCreateEnricherService (
26c262a) - feat: enhance JSON template for CRVS individual data processing (
28445a7) - feat: normalize CRVS envelope and enhance G2PCrvsVCIndividualCreateEnricherService (
f884e6a) - G2P-4807 feat: add G2PCrvsVCIndividualCreateEnricherService and update templates (
0f01bac) - G2P-4807 feat: enhance G2PRegisterDomainServiceIndividual with post-ingest and post-approve methods (
321f5be) - G2P-4818 Partner API develop version. (
72067de) - G2P-4813 Rancher installation issues fixed. (
da38524) - refactor: update JSON template keys for individual mapping in DCI response (
ce55e3c) - G2P-4807 fix(dci-workshop): update iam-service version to v1.1.0 (
c03ecbc) - build: update dependencies for dci-workshop configuration (
f1caaba) - G2P-4807 feat: add dci-workshop configuration files for partner and staff portal APIs (
5b150ae) - G2P-4807 feat: add DCI response templates and enrichers for individual mapping (
4a8c3ff) - feat: add husband status fields to household model and schema (
47d2ee9) - feat: add new JSON templates for DCI response handling and individual mapping (
4314171) - feat: enhance NSR extension with new register metadata, UI tabs, and scoring definitions (
0926951) - feat: add JSON templates for DCI commons response and individual to DCI mapping (
554b196) - feat: add G2PScoreComputeServicePoverty for weighted-sum poverty score computation (
6407b58) - refactor: replace payment-related enums with program-related enums in household and individual program models and schemas (
4acfa75) - Hardcoding of release name removed. (
70f0e89) - build(dockerfile): update dependency versions across multiple Docker components to v1.1.0 (
e9cf332) - refactor: update national social registry extension and attributes (
2381b21) - Version updated. (
5de12bb) - G2P-4644 Versions updated (
cfe9698) - G2P-4644 Versions updated. (
9d200dd) - G2P-4644 Audit manager integrated (testing). (
cd9ffa1) - G2P-4635 Path bug in parse script fixed (
7237eb0) - G2P-4635 lib versions updated (
a2c4295) - G2P-4635 Lib versions updated. (
413ff89) - G2P-4635 Issues fixed in meta data. (
35a27dd) - G2P-4635 Renaming. (
26827af) - G2P-4635 Variables updated. (
fc2d797) - G2P-4635 Fixed sql bugs. (
01c654d) - G2P-4635 Few more additions. (
f420b09) - G2P-4635 Plenty of changes to align to original NSR. (
a0c8b0f) - G2P-4635 Helm publish trigger updated. (
6a651b1) - G2P-4635 Workflow triggers improved (
cabf73a) - G2P-4635 Helm chart added. (
ac0e531) - G2P-4635 Renaming of folder. Addition of db seer docker. (
de8b8d4) - G2P-4635 Minor (
5ab3b5e) - G2P-4635 Docker build scripts added. (
06b9196) - G2P-4635 Cleanup. (
4f2f157) - G2P-4635 Renaming. (
2240576) - G2P-4635 Initial verison. WIP. (
ae94976) - Initial commit (
c2126d7)
Develop builds
national-social-registry — develop 0.0.0-develop.244 (2026-09-04)
commit db09ce7 · changes since 0.0.0-develop.242
Chart: openg2p-nsr 0.0.0-develop.244
Summary
- Configuration updates: Introduced
global.baseDomainin the Rancher form, ensuring it is the primary General question and removing hardcoded defaults for agentPortal, esignet, and certify to maintain consistency withvalues.yaml. - Versioning: Updated RP version to 0.0.0-develop.430, reflecting ongoing development changes.
Changes
- Bumped up RP version to 0.0.0-develop.430 (
db09ce7) - G2P-4929 Expose baseDomain in the Rancher form and stop three question defaults from overriding it: add global.baseDomain as the first General question, and drop the hardcoded agentPortal/esignet/certify defaults so values.yaml stays the single source (CI backfills them). NSR now derives registryHostname from baseDomain like FR (
1885516)
national-social-registry — develop 0.0.0-develop.242 (2026-08-28)
commit 33a905d · changes since 1.1.0
Chart: openg2p-nsr 0.0.0-develop.242
Summary
- Major: Reporting enhancements: refreshed reporting views on a schedule with a new CronJob, added materialized views for vulnerability, livelihood, and housing data, and improved integration with the platform generator for additional reporting tables.
- Data integrity improvements: seeded real birth dates for packs instead of a default date, and fixed AWE seed conflicts to prevent batch failures due to policy key clashes.
- Cleanup and optimization: removed G2PRegisterDomainFactory and related files to streamline initialization, and eliminated the unreferenced import-dashboards-job.yaml.
- CI/build updates: reverted build and publish process to GitHub, and updated the RP version multiple times for ongoing development.
- Documentation and minor fixes: included minor documentation updates and corrections in helm comments, ensuring clarity and accuracy.
Changes
- G2P-5605 Build and publish on GitHub again (
33a905d) - Bumpd up RP version to 0.0.0-develop.392 (
966cf10) - Bumped up RP version to 0.0.0-develop.391 (
334a82d) - G2P-5554 Seed the pack's real birth date instead of inventing 1 January. The pack carried only a year, so every sample individual in the country shared a birthday; older packs still fall back, since a date column cannot hold a year. (
9b04d6c) - Minor doc update. (
c4b8cb8) - G2P-5524 Remove G2PRegisterDomainFactory and related files. The factory class and its dependencies have been eliminated to streamline the initialization process in the app. (
6019eb0) - Minor correction in helm comments. (
9169386) - Bumped up RP version to 0.0.0-develop.383 (
2fc8b9e) - G2P-4804 Bring the reporting layer to parity with the Farmer Registry. Materializes the vulnerability, livelihood and housing views — 259k, 166k and 62k rows, each joining a materialized parent on every read — inherits the individual's sex and age band onto its five child views so those questions need no join, and adds the devOverlay switch for testing the platform generator without publishing an image. (
69bc95f) - G2P-4804 Take the mechanical reporting views from the platform generator. reporting.yaml declares the entity tree and names household/individual as hand-written; the generator adds fourteen more, including the vulnerability and livelihood tables holding 259k and 166k rows that had no reporting view at all. (
fb74480) - G2P-4804 Refresh the reporting views on a schedule, instead of relying on Insights to do it. They are materialized, so they held whatever the install produced and every household registered afterwards was invisible with no error anywhere; a CronJob now rebuilds them in dependency order resolved from pg_depend, on analytics.reportingViews.refreshSchedule. (
9dbd065) - G2P-4804 Drop the inline maps <style>; the platform injects the shared theme at build time. (
623c313) - G2P-5378 Fix AWE seed aborting on shared-DB policy_key clash: untargeted ON CONFLICT DO NOTHING (uq_policy_key_version was unguarded by the id-targeted clause) plus FK-orphan filters on stages/rules, so a policy another registry already owns no longer takes the whole batch — and the farmer policy — down with it (
ffc0017) - G2P-4804 Fall back to this registry's own Superset connection name when the release is gone. The name was only ever read from
helm get values, so uninstalling from Rancher — or running helm uninstall first — skipped the dashboard cleanup with a quiet warning and left the dashboards, charts, datasets and connection in the shared Superset, where the next install adopted them by UUID. (9b5f4cf) - G2P-4804 Skip the dashboard import when Superset is absent instead of failing the install. Superset is a separate release and analytics is optional, but the gate exited 1 after waiting, so a registry installed without a reporting stack failed outright. The gate is checked in the init container AND the main one, because an init container exiting 0 does not stop the pod; set analytics.dashboards.superset.required=true where a silent skip would be worse. (
7815d1f) - G2P-4804 Point the maps page at the
registrysource. It still queried nsr.*, which stopped resolving when the Evidence source was renamed, so the page would not have built. (a1a513b) - G2P-XXXX Dashboards: drop the standalone import-dashboards-job.yaml — unreferenced, superseded by the chart's hook Job, and three fixes behind it (
5ccc675) - Moved to GitLab: openg2p/registry/national-social-registry (read-only; build/publish disabled) (
7b92133)
What's shown here. This catalogue lists every stable release, plus the latest 20 develop builds and the latest 10 release candidates per release line -- candidates are KEPT after their release ships, as the audit trail of the release run. Older develop builds and release candidates are pruned as they are superseded. Those versions still exist in the container and Helm registries — they are simply not listed here. This page is generated automatically from commit history; do not edit it by hand.
