registry-platform
Published automatically.
Repository: github.com/OpenG2P/registry-platform · Container images: Container Registry
| Version | Date | Type | Notes |
|---|---|---|---|
1.2.2-rc.554 |
2026-10-12 | release candidate | |
0.0.0-develop.615 |
2026-10-12 | develop | |
0.0.0-develop.613 |
2026-10-08 | develop | |
1.2.2-rc.544 |
2026-10-07 | release candidate | |
1.2.2-rc.542 |
2026-10-07 | release candidate | |
0.0.0-develop.611 |
2026-10-07 | develop | |
0.0.0-develop.608 |
2026-10-07 | develop | |
0.0.0-develop.606 |
2026-10-07 | develop | |
1.2.2-rc.536 |
2026-10-05 | release candidate | |
1.2.2-rc.534 |
2026-10-05 | release candidate | |
1.2.2-rc.532 |
2026-10-05 | release candidate | |
1.2.2-rc.521 |
2026-10-05 | release candidate | |
1.2.2-rc.518 |
2026-10-05 | release candidate | |
0.0.0-develop.605 |
2026-10-05 | develop | |
0.0.0-develop.604 |
2026-10-05 | develop | |
0.0.0-develop.599 |
2026-10-03 | develop | |
1.2.2-rc.515 |
2026-10-02 | release candidate | |
0.0.0-develop.453 |
2026-10-01 | develop | |
0.0.0-develop.448 |
2026-10-01 | develop | |
0.0.0-develop.447 |
2026-10-01 | develop | |
0.0.0-develop.446 |
2026-09-30 | develop | |
1.2.2-rc.513 |
2026-09-28 | release candidate | |
0.0.0-develop.444 |
2026-09-28 | develop | |
0.0.0-develop.441 |
2026-09-28 | develop | |
0.0.0-develop.439 |
2026-09-27 | develop | |
0.0.0-develop.438 |
2026-09-27 | develop | |
0.0.0-develop.435 |
2026-09-23 | develop | Marking a version at this point before major changes are done on RP| |
0.0.0-develop.432 |
2026-09-09 | develop | |
1.2.1 |
2026-09-07 | release | |
1.2.1-rc.462 |
2026-09-04 | release candidate | |
1.2.1-rc.447 |
2026-09-04 | release candidate | |
1.2.1-rc.445 |
2026-09-03 | release candidate | |
0.0.0-develop.430 |
2026-09-03 | develop | |
1.2.1-rc.443 |
2026-09-03 | release candidate | |
0.0.0-develop.429 |
2026-09-02 | develop | |
1.2.0 |
2026-09-01 | release | |
1.2.0-rc.440 |
2026-09-01 | release candidate | |
1.2.0-rc.439 |
2026-09-01 | release candidate | |
1.2.0-rc.437 |
2026-09-01 | release candidate | |
1.2.0-rc.436 |
2026-08-31 | release candidate | |
1.2.0-rc.434 |
2026-08-28 | release candidate |
Releases
registry-platform 1.2.1 — 2026-09-07
commit 6d1fe22 · changes since release 1.2.0
Same artifact as 1.2.1-rc.462 — built from the
same commit and promoted (retagged), not rebuilt. No code changed between them.
Chart: openg2p-registry 1.2.1
Release notes
What's Changed
- G2P-5617 Enhance export conditions handling and indexing in G2P registry by @tahzeer in https://github.com/OpenG2P/registry-platform/pull/130
- G2P-5618 Add and update codebase for Master Data API integration and remove Master Data DB Connection by @tahzeer in https://github.com/OpenG2P/registry-platform/pull/131
- G2P-5657 Refactor database session management to use get_async_session_maker across services by @vin0dkhichar in https://github.com/OpenG2P/registry-platform/pull/136
- Bump version to 1.2.1 across all APIs and Dockerfiles by @vin0dkhichar in https://github.com/OpenG2P/registry-platform/pull/137
- G2P-5650 feat: map host branding into widget theme by @Q-Niranjan in https://github.com/OpenG2P/registry-platform/pull/134
- Bump version to 1.2.1 in package.json and package-lock.json by @vin0dkhichar in https://github.com/OpenG2P/registry-platform/pull/138
Full Changelog: https://github.com/OpenG2P/registry-platform/compare/1.2.0...1.2.1
Summary
- Major: Refactor of database session management to utilize
get_async_session_makeracross services, improving consistency and performance. - Workflow improvements: Resolved multiple workflow errors, enhancing the reliability of the CI process.
- Version updates: Bumped version to 1.2.1 across all APIs, Dockerfiles, and package files, ensuring alignment in dependencies.
- Feature enhancements: Improved Section Builder functionality and integrated host branding into the widget theme for better customization.
- Configuration updates: Adjusted environment settings to leverage the Master Data API and increased default export batch size to 2000, optimizing data handling.
- Code simplification: Removed
RegisterRecordContextand streamlined related components, reducing complexity in the codebase.
Changes
- chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.2 (
6d1fe22) - Fixing workflow error (
ccd23c1) - Fixing workflow error (
1c29d80) - Fixing workflow error (
d19eb34) - Fixing workflow error (
d53bcf1) - Fixing workflow error (
de87a2e) - fixed the ui-widget publish issues (
06de1be) - Bump version to 1.2.1 in package.json and package-lock.json (
98ef188) - Bump version to 1.2.1 across all APIs and Dockerfiles (
cbc3f71) - G2P-565 refactor: remove RegisterRecordContext and simplify related components (
6d53e8b) - G2P-5657 Refactor database session management to use get_async_session_maker across services (
2fc7fdc) - G2P-4724 feat: enhance Section Builder (
0b90048) - G2P-5650 feat: map host branding into widget theme (
755116e) - G2P-5618 Update environment configurations to use Master Data API (
2b73ced) - G2P-5617 Update default export batch size across configurations to 2000 (
da81ef5) - G2P-5617 Enhance export conditions and indexing in G2P registry (
ce36109)
registry-platform 1.2.0 — 2026-09-01
commit 41ae1ae · changes since release v1.0.0
Same artifact as 1.2.0-rc.440 — built from the
same commit and promoted (retagged), not rebuilt. No code changed between them.
Chart: openg2p-registry 1.2.0
Release notes
What's Changed
- 1.1 into develop by @venky-ganapathy in https://github.com/OpenG2P/registry-platform/pull/103
- Refactor tab/section api, controllers, and service by @tahzeer in https://github.com/OpenG2P/registry-platform/pull/115
- Add endpoint for allowed parents and enhance intake form services to process tree node links by @tahzeer in https://github.com/OpenG2P/registry-platform/pull/118
- 1.1 - > develop by @shibu-narayanan in https://github.com/OpenG2P/registry-platform/pull/117
- Add read-only user access for MinIO client configuration by @tahzeer in https://github.com/OpenG2P/registry-platform/pull/122
- Refactor payload validation in G2PChangeRequestSectionPayloadService by @tahzeer in https://github.com/OpenG2P/registry-platform/pull/129
- G2P-5598 refactor: use search params for intake submission page by @Q-Niranjan in https://github.com/OpenG2P/registry-platform/pull/127
Full Changelog: https://github.com/OpenG2P/registry-platform/compare/1.1.3...1.2.0
Summary
- Major: Updated core dependencies, including Docker images to version 1.2.0, FastAPI, and Keycloak initialization versions, enhancing overall compatibility and performance.
- New features: Implemented export functionality for register records, including APIs and background tasks, and added a configurable reference generator for intake forms.
- Refactoring: Enhanced intake submission handling with search parameters, improved payload validation in G2PChangeRequestSectionPayloadService, and streamlined document handling across various services.
- Security improvements: Added CSRF validation for staff-portal-api requests and client-side CSRF token handling to bolster application security.
- CI/CD updates: Transitioned CI workflows from GitHub Actions to GitLab, consolidating build and publish processes for all images and charts.
- Cleanup: Removed deprecated components and unused request parameters, including the data policies feature and legacy tab/section routes, to streamline the codebase.
- UI enhancements: Improved geo hierarchy management and document handling, updated UI widgets, and refined breadcrumb navigation for better user experience.
- Fixes: Addressed various bugs, including document upload size limits, boolean conditional visibility issues, and improved error handling across services.
Changes
- published ui-widget 1.1.7 and updated the same in staff-ui (
41ae1ae) - updated all the dockers and docker references to 1.2.0 and updated the fastapi and keycloak init versions (
3cf68c8) - G2P-5598 refactor: use search params for intake submission and improve section record state (
d2f13ef) - G2P-5610 Refactor G2PChangeRequestSectionPayloadService to enhance payload validation (
11f44d9) - G2P-5605 Align the 1.2 release line with GitHub (
9b41f96) - G2P-5585 feat: implement export functionality for register records (
19f02b3) - G2P-5584 Update helm configuration for register export functionality (
4444433) - G2P-5584 Implement register export task and worker (
001b450) - G2P-5584 Add Apis for G2P register export functionality (
5ee7fc4) - G2P-5584 Add G2P register export functionality (
0b0cf89) - G2P-5587 Refactor GeoHierarchy components to enhance hierarchy management and improve form handling with new utility functions for child level retrieval and selection path resolution. (
a02b46d) - G2P-5586 Update references to fastapi-common from GitHub to GitLab and change version to 1.2 in Dockerfiles and pyproject.toml (
1f8089f) - G2P-5581 Refactor crypto helper references from build_crypto_helper to CryptoFactory in multiple files (
a5496ab) - G2P-5577 Integrate Partner Management Client into registry services with configuration, caching, partner lookup refactoring, and tests. (
3929c1f) - G2P-5569 feat: replace config-driven page size with viewport-adaptive breakpoints (
560c1ef) - Remove domain and include_domains from request payload in POST endpoint (
8ca14ed) - G2P-5572 Update IAM service repository reference from GitHub to GitLab (
c2a1198) - G2P-5572 Update IAM_CORE_REF to version 1.4 and increment version numbers to 1.2.0 across multiple APIs; refactor data policy request helper and enhance db-seed job configuration. (
66b2eac) - Published widget version 1.1.6-dev.6 and updated the ui for the same (
f95c4fd) - G2P-5457 refactor: include all records with modified and new rows in diffTableRows (
e7d2668) - Refactor useBreadcrumb: remove functional id and tab id (
0495193) - Published widget version 1.1.6-dev.5 and updated the ui for the same (
6028e77) - G2P-5552 Add APP_API_URL environment variable for IAM registration job (
d77fd84) - G2P-5544 Implement G2PIntakeRegisterSectionMapService, update related services/components, and improve UI version history handling. (
1f2ab43) - G2P-5553 feat(change-api): update sor_by convention for change request searches and add unit tests for parsing sort parameters (
0ac64f6) - G2P-5402: add record table view functionality for record list (
66734c1) - G2P-5541 fix(change-api): add register_mnemonic and tab_label in change request data (
183b842) - G2P-5546 refactor intake form and task ui (
c6c852d) - G2P-5545: refactor change request ui (
df686ef) - G2P-5457 Remove attributes configuration and related components from staff UI, including layout, pages, modals, and API routes. Update sidebar options to exclude attributes section. (
650b158) - G2P-5538 Refactored registry code list handling and API endpoints by removing attribute seeding, deleting related SQL/defaults, linking local ui-widgets, updating geo-level API routes, and optimizing attribute-value pagination defaults. (
0524935) - G2P-4786 refactor: move G2PRegisterDomainFactory and G2PIdGeneratorFactory to core interfaces, removing dependencies from extensions (
929a1f3) - G2P-5500 Enhance G2PIntakeFormDataService to validate only surviving records during intake form processing. Introduced a new method to filter out records marked for deletion before validation, ensuring data integrity in the upsert operation. (
08ea139) - G2P-5516 refactor: G2PGeo model and schema to use float type for latitude, longitude, and altitude fields (
7d05211) - G2P-5369: Enhance GeoHierarchy functionality and validation (
a533082) - G2P-5497 feat(cr): add G2PChangeRequestSectionPayloadService and integrate validation in change request processing (
bc7091c) - Optimize policy condition handling in G2PIntakeFormDataService to avoid unnecessary await (
a76dbaa) - Refactor policy condition handling in G2PRegisterService to avoid unnecessary await (
4552894) - G2P-5495 Add IAM admin user to keycloak-init (
816cfdf) - G2P-5492 feat(cr): add validation to enforce single section active crs for a record (
3d14b54) - G2P-5493 refactor change request handling and remove unused staff-portal-ui folder (
34d861b) - G2P-5489 Remove redundant sharp install and chown layers from Dockerfile (
34eb393) - Reapply "G2P-5222 Repoint Partner Management to commons-services and align PM-seed auth to the g2p-bridge pmSeedClientId pattern." (
ff1f9c8) - Reapply "G2P-5222 Consent and partner management related." (
e378ecb) - Reapply "G2P-5222 Enhancements for consent management, partner management and WJS support." (
eabfb80) - G2P-5466 Implement subject internal record ID resolution in intake form processing (
ba5d9f0) - Remove data policies feature and related components (
71309a2) - G2P-5478 fix(vc-configuration): update service with pagination and additional parameters (
36d59d5) - G2P-5451 feat(document): enhance MinIO configuration for read access in environment files and core components (
5c15f30) - G2P-5402: improve localization and panel toggle navigation (
7dbaaad) - G2P-4804 DB-seed: move the farmer-shaped sample loaders out of the platform image — load_sample_data.py/upload_images.py write farmer-extension tables and read farmer seed JSON, so they belong to the variant; the entrypoint keeps the hook and errors clearly without one (
ab38f08) - Refactor: remove unused request parameters from service methods (
daa4521) - Refactor: update hierarchy path building and remove debug print statements (
36584d1) - G2P-4804 Sanity: run the smoke suite by default (questions.yaml already said so) and drop the farmer naming from the platform's fixtures; expand the Sanity questions from 4 to 11 (
2759d58) - Fix: update import paths for data policy request helper (
b087344) - Fix: update import paths for data policy request helper (
4c7c7c9) - Refactor data policy handling across services (
c61a9db) - ui-wdget version upgraded (
dab5529) - G2P-5335 Migrate: carry chart-inherit-questions across from the GitHub caller, so wrapper charts keep their Rancher form (
95ca561) - Revert "G2P-5222 Enhancements for consent management, partner management and WJS support." (
7b60b8a) - Revert "G2P-5222 Consent and partner management related." (
5b12f1b) - Revert "G2P-5222 Repoint Partner Management to commons-services and align PM-seed auth to the g2p-bridge pmSeedClientId pattern." (
b12884d) - Just to trigger a build. No change otherwie (
39e4c2c) - G2P-5335 Switch CI to GitLab (.gitlab-ci.yml); drop GitHub Actions build/publish (
f5aa8eb) - G2P-5451 feat(document): add read only user access for minio client (
da42213) - G2P-4804 Surface the country pack in questions.yaml. None of the geo-seed options were in the Rancher form, so the one place a deployment declares its country was reachable only by hand-editing values — an installer had no way to know the choice existed, and every install silently took the fictitious default. (
b890549) - G2P-4804 Correct the loadGeoData comment. It still described the old direction, where the registry pushed geo into master-data because master-data shipped none — so it read as though the flag were needed for sample data. Master Data seeds its own geography from a country pack now, and enabling this writes a second, five-level slug-path hierarchy over it. (
495542f) - G2P-4804 Read code-list dropdowns from the database instead of the widget, in the reference extension, and stop truncating them. The attributes route defaulted to page_size 20, so a longer list rendered 20 options with nothing to indicate the rest existed and the missing values simply could not be chosen. (
22c1d78) - G2P-4804 Attach the sub-table fixtures to whoever was actually loaded. They link to the demography CSV's id space, so once people come from a country pack every land parcel, crop, housing and programme row pointed at a record that does not exist — and with no foreign key to violate they landed as orphans, leaving farmers who own nothing and households with no housing data. Links are remapped onto the loaded records, cycling when a pack carries fewer samples than the fixtures assume, and a table that had one row per record keeps one. Links pointing within the fixture set — a crop's parcel — are left alone. No-op when the ids already match. (
cd8845f) - G2P-4804 Supply head_individual_id, headship_type and adult/elderly counts with the master-data samples. Registries differ in what they record about a household and NSR needs these four; supplying the union costs nothing since each loader takes only the keys it asks for. (
35bf698) - G2P-4804 Take the country out of sample seeding and the geo widgets. load_sample_data no longer assumes five levels called country..village — that describes Kamuntu and nothing else, and Ethiopia has four ending at woreda; people and their whole ancestry now come from Master Data, with the CSV as fallback. New sync_geo_widgets step (SYNC_GEO_WIDGETS, default false) matches a register's geo dropdowns to the hierarchy actually loaded, since an extension's hardcoded level names produce dropdowns that silently return nothing against a country that names them differently. Labels are left alone but reported when they name the wrong level. (
782fa19) - G2P-4804 Validate coded values against the seeded country lists, behind registry_core_validate_attribute_values (default false). This is the check the compiled enums do today, and it is what lets them be deleted: an enum is fixed at image build time, so a registry validating against one can only serve the country it was built for. Fields map to lists by convention — 30 of Ethiopia's 34 already match a column name — with a field_map for the few that don't. Applied on both the change-request and intake-form paths. Also resolve sample-data geo ids against master-data instead of computing slug-paths, which match nothing once master-data is seeded from a P-coded pack; slug-paths remain the fallback and the outcome is always reported. (
b806b8a) - G2P-4804 Seed registry code lists from Master Data, behind LOAD_ATTRIBUTES (default false). The registry copies the country pack's lists into its own tables at install and validates against that copy after, so MDS is an install-time dependency, not a runtime one. Roles go in a new table, not a new column: create_all never adds columns to existing tables, so a column would be declared by the ORM and missing from every upgraded database. Where an extension fixture and the pack define the same list, the pack replaces it — merging left PROGRAM_NAME with 18 values and a dropdown showing every programme twice — and each replaced value is logged. (
62dee1a) - G2P-5429 feat(IntakeForm): enhance intake form components with submission and registration context (
f20eed8) - G2P-5429 feat(ParentLookupWidget): add new parent lookup widget and update related components (
fd4681f) - G2P-4804 Correct the geo-join comment in load_sample_data.py. It claimed the slug-path id keeps the registry<->master-data join working, but master data is now seeded from P-coded country packs, so demography-seeded records carry ids MDS has never heard of and never appear on a map. Documents the mismatch and the two-part fix. (
ed1d67a) - chore(ui-widgets): version for npm next publish, sync staff-portal-ui @1.1.6-dev.3 [skip ci] (
0169c66) - G2P-5412 refactor(models): remove unused async methods and clean imports (
0b777ad) - G2P-5411 feat(celery): register new services for intake form management (
2d3eea1) - G2P-5411 feat(intake-form): add endpoint to retrieve allowed parents for intake forms (
6d02119) - G2P-5408 Fix SelectWidget to preserve boolean values for select options (
fa7b925) - Just to take latest version of openg2p-data (
525b84f) - G2P-4804 Pin the db-seed image to openg2p-data develop in CI. (
80e5002) - G2P-4804 Track openg2p-data develop for the db-seed image. (
dc2dc8d) - G2P-5400 refactor(ui-routes): Remove deprecated tab and section routes (
574c372) - G2P-5400 refactor (staff-api): Remove legacy tab and section CRUD routes (
de2db46) - G2P-5400 fix(register): align tab/section service with current ORM columns (
9bb223b) - G2P-G2P-5389 improve error handling (
40c729f) - G2P-5383 db-seed: make sample-data loading idempotent — add ON CONFLICT (internal_record_id) DO NOTHING to the register/sub-table inserts so a re-install over an already-seeded database is a no-op instead of failing on g2p_register_*_pkey (
6ec5f56) - G2P-5383 Sanity: make the DCI overlay tolerant of an older pinned harness — probe for post_search and fall back to a plain POST instead of failing collection with ImportError (
c5214fc) - 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 (
9ded7ac) - G2P-5383 Sanity: add a contract test asserting a variant's fixtures overlay satisfies every fixtures.<SYMBOL> the inherited harness imports — renaming a symbol in an overlay silently breaks sanity/dci.py and friends at collection time (
23c58b3) - G2P-5365 refactor(useCrViewData): fix audit details in table widget (
a71fb67) - G2P-5382 refactor(VersionHistoryPage): recreate widget store on version change to prevent stale data (
b622225) - G2P-5383 Sanity: fail instead of silently passing — default SANITY_FAIL_ON_ERROR/failOnError to true so a failing suite fails the Job and the install, and make fixtures FAIL when a dependency is configured but broken (unconfigured dependencies still skip), so a run cannot go green having dropped every consent and signature test (
dd25651) - G2P-5383 Sanity: fix PM partner seeding — Partner Management returns HTTP 400 with body code PM-PRT-409 for an already-onboarded partner, so the status_code==409 branch never fired and every consent/signature test silently SKIPPED; also surface the response body on failure (
112378f) - chore(ui-widgets): version for npm next publish, sync staff-portal-ui @1.1.6-dev.2 [skip ci] (
7b30e97) - G2P-5383 Chart: make the IAM tile name values-driven (iamRegister.applicationDescription via APPLICATION_DESCRIPTION) so a wrapper chart can set it, and fix the reference registry's id-generator idTypes (farmer -> individual) so its Individual register actually gets a functional-ID pool (
01ce237) - G2P-5383 Fix ui-widgets npm-publish drift+race: self-heal dev version from npm 'next' dist-tag, retry the just-published widget install for registry propagation so commit-back lands; realign develop to 1.1.6-dev.1 (
688ec49) - G2P-5383 Fix ui-widgets npm publish collision: bump develop version 1.1.4-dev.3 → 1.1.6-dev.0 (ahead of released 1.1.5) so the dev prerelease no longer republishes an existing version (
bc4a341) - G2P-5383 CI: stop build-publish on Dependabot branches (exclude !dependabot/**); add lightweight ui-ci PR check (npm type-check+build, no publish) for the UI packages (
0364f07) - G2P-5383 CI: single build-publish workflow for all images+chart at one locked version — fold staff-ui in (own context), add staffUi+sanity to chart-image-paths, drop separate docker-staff-portal-ui.yml (
aebd339) - G2P-5383 Reference registry cleanup: remove broken/unused inbound message-rule seed, de-NSR (templates→individual_to_dci, registry name, master-data URLs), correct Dockerfile/README comments to the runnable reference-registry + Option-C model (
d7139ea) - G2P-5383 Sanity e2e logs: clean titled per-test banner + timestamped step lines + RESULT footer; suppress httpx and pytest live-log noise (drop log_cli, run with -s) (
c72eb16) - G2P-5383 Sanity: history test reads g2p_register_history_individuals (last farmer-table ref); reference e2e now fully green (DCI + change-request/AWE) (
d424e68) - G2P-5383 Sanity: fix ScopeMismatch — use a plain logger (not the function-scoped step fixture) inside the module-scoped change_request fixture (
d6399e7) - G2P-5383 Reference AWE seed collision-tolerant: split individual vs household groups with ON CONFLICT DO NOTHING so the individual change_request policy+stages always seed even when a shared AWE DB already has registry.change_request.household from another registry (
b15861f) - G2P-5383 Reference DCI seed to core schema (documents/data_models/outgoing_templates) so DCI search resolves the Individual template; add timestamped per-test step logging (DCI + change-request/AWE stages) (
d171513) - G2P-5383 Sanity CR e2e: target reference individual UI tab/section + individuals table for the change-request test (
749f91f) - G2P-5383 Sanity DCI e2e: read name/birth_date directly under demographic_info (reference DCI-standard template shape) (
877d833) - G2P-5383 Sanity e2e: point reference sanity suite at individual register (data_seed table, register id, DCI scopes/type) so e2e runs against the reference registry (
3f8b410) - G2P-5383 Reference registry db-seed green: minimal seed with demo-data loaders (sample/geo/images/templates) defaulted OFF in base chart, farmer overlay re-enables; add openg2p-registry-sanity-tests image + e2e suite + CI entry (
1476fbb) - G2P-5365 refactor(g2p_register): streamline history field handling - update base fields to exclude from current register data - add last approved by and approved at fields to current register data (
102b30b) - G2P-5383 Reference registry + naming cleanup: RP images are runnable reference registries (individual+household from NSR), env-selected extension (Option C), staff-api/bene-api/celery-*/staff-ui rename, single openg2p-registry chart; farmer extends via REGISTRY_EXTENSION_MODULE (
db42ba2) - bumped up the version to 1.1.1 for registry platform (
6367bae) - feat(DataPoliciesListPage): update registry-widgets version and enhance permissions handling (
aa86b28) - published and updated ui widget version to 1.1.4-dev.4 (
3abf27c) - G2P-5383 Invert build model: registry-platform publishes base images + Helm chart, farmer-registry extends (
53d580c) - G2P-5381 feat(intake-form): add unsaved changes warning before submit (
9b664e1) - chore(ui-widgets): version for npm next publish, sync staff-portal-ui @1.1.4-dev.3 [skip ci] (
4e4548b) - G2P-5335 Grant packages: write in library changelog caller (reusable images/chart jobs require it at startup) (
c73493f) - G2P-5335 Add library changelog tracking (kind: library) (
532a3f9) - G2P-5375 Update @openg2p/registry-widgets version to 1.1.4 (
c0331db) - G2P-4763 fix: update buildSectionsDataMap return type - change return type to always return an object (
b010347) - updating the ui widget develop tag 1.1.4-dev.2 in the staff portal ui (
08cb976) - updating the ui widget develop tag in the staff portal ui (
5bb768f) - G2P-4763 refactor: update file rendering for change request header, submission header, and DocsWidget (
e103a51) - G2P-5347 refactor(intake_form_register): dedupe document ingestion by register - update document retrieval to group by register - adjust document processing to use register-level sections - enhance logging for missing section references (
5eaaf0c) - G2P-5347 chore(helper): remove unused MinioClient import (
93630f0) - updating the ui widget tag in the staff portal ui (
13ca764) - G2P-5347 fix(enum): restore entry in ChangeRequestSourceEnum (
4d7ff96) - G2P-4763 refactor(geo-hierarchy): enhance layout and widget handling (
46317cf) - fix(g2p_register): handle geo hierarchy service absence gracefully (
9fcf214) - G2P-5347 refactor(service): streamline document handling on change approval (
eb99cf3) - G2P-5347 fix(service): add record image URLs to change request data (
860817e) - G2P-5330 fix(controller): remove permissions for upload and delete documents (
ee6528a) - G2P-5307 fix(model): simplify created_at field by removing timezone support and using utcnow (
fbaae54) - G2P-4763 fix: preview url issue for HeaderSectionWidget (
512c3f5) - G2P-4763 fix: refetch approval status after decision and split approval hooks (
fc0cec9) - G2P-4763 refactor: update geo hierarchy and document handling (
91edd25) - G2P-4763 refactor: update register and intake form document handling (
24009ab) - G2P-4763 refactor: rename template_file_id to template_document_id across the application (
cf1e75d) - G2P-4763 fix(model): ensure created_at uses timezone-aware DateTime (
ed8df39) - G2P-5238 chore: update ui-widgets to v1.1.3 (
f8adc49) - G2P-5275 fix(minio): update bucket handling to use StrEnum directly (
3140005) - G2P-4763 fix(model): update bucket column type to Enum - change bucket column from String to Enum for DocumentBucket - adjust default value for bucket to use Enum directly (
d9b49b7) - G2P-5275 fix(helper): correct import path for DocumentBucket (
d0359fd) - G2P-5336 fix(controller): unify error response handling for new document controller (
737c444) - G2P-5336 fix(errors): update error handling to use new default error code (
69ad5ee) - G2P-5339 refactor: update docs widget configuration to use 'widget-total-docs' and enhance column distribution logic (
cd85f91) - G2P-5238 refactor: remove fixed layout configuration from geo hierarchy widget and improve column distribution logic (
1cb6017) - G2P-5275 refactor(documents): add dashboard image validation profile (
142b0f2) - G2P-5326 feat(documents): enhance file validation and upload profiles (
1b4581b) - G2P-5275 refactor(icons): enhance file validation for uploads (
d459348) - G2P-5334 Remove dash from new intake form breadcrumb (
3520034) - G2P-5332 add register icon remove button (
b4a2d47) - G2P-5339 add docs widget (
66aed2a) - G2P-5325 refactor(documents): update document handling and request response (
595e7dc) - G2P-5238 refactor: improve geo location, requestDataSourceHandler, and translation handling (
9117fe8) - G2P-5326 fix: template file upload size and type (
8dbcb73) - G2P-5275 fix: update 1MB image upload limit for logo, favicon, and register icon (
fd6a81d) - G2P-5325 refactor(documents): update environment variables and streamline document handling (
b0c2e53) - G2P-5325 refactor(documents): update document handling and configurations for celery queue tasks (
40fdc64) - G2P-5325 refactor(documents): streamline document handling in apis and remove template file controller (
fd5666e) - G2P-5307 (
14ae7bd) - G2P-5307 refactor(documents): streamline document handling and update schemas (
09f5306) - G2P-5306 refactor(document): restructure document handling and abstract MinioClient (
7ba5cbe) - G2P-5307 refactor(models): update document handling in data models (
c20ccd8) - G2P-5319 Permission decorated enabled on one API. (
e11e8fe) - G2P-5318 Restrict config nav to CONFIG_NAV_ACTIONS and guard config sub-pages (
aaca369) - G2P-5262 refactor: update attribute value fetching in AttributeValueInput component (
02ddbfb) - G2P-5222 Repoint Partner Management to commons-services and align PM-seed auth to the g2p-bridge pmSeedClientId pattern. (
7d798a4) - changed the widget version and published the dev (
f2ef6ab) - G2P-5271 Update version to 1.1.0 across all modules (
60f853d) - G2P-5181: Record Level Access - Approach using BaseRepository with Generics T (
1ab3f52) - G2P-5222 Consent and partner management related. (
873f96a) - G2P-5222 Enhancements for consent management, partner management and WJS support. (
a9ba084) - 'develop' version was incorrect in init.py. Changed to 0.0.0-dev0 (
3dd3947) - G2P-5267 rename attribute labels to reference data (
37aee91) - G2P-5262 feat: add new data policy management features for administrative areas and reference data (
533420a) - G2P-5265 feat(intake): add configurable reference generator (
55cf95d) - G2P-5263 Update breadcrumbs for register and intake form pages (
dad3970) - G2P-5262 feat: extend data policy to handle new policy target (
faef96b) - G2P-5255 Refactor AWE proxy request handling to support pagination and improve payload resolution (
364cce2) - G2P-5122 cleanup: remove unused change request approval code (
f538140) - G2P-5122: add approvals list (
b64eda0) - G2P-5255 Add CSRF validation configuration for staff-portal-api requests (
1f8c663) - G2P-5178 feat(attribute-service): add search functionality for attributes and values (
78f2d13) - G2P-5232 feat: support logo within text and registry favicon (
8ba88a2) - G2P-5247 Add request_id to VersionForDateData and update G2PRegisterService to populate it from change requests (
f31d5b8) - G2P-5245 feat(application-reference): add application reference field, its generation, usage and update api (
a2a9ece) - G2P-5238 refactor: improve UI widgets and add example UI schema reference (
866ed7a) - G2P-5232 Add cookieDomain to environment configuration and update auth cookie handling (
bffa646) - G2P-5232 Add assignee_name field to ApprovalTask model and update related logic (
5648eb2) - G2P-5232 Add upgrade-insecure-requests to CSP header (
71c5085) - G2P-5182 fix: boolean conditional visibility, dialog-table conditions, and attribute API hooks (
48f4136) - G2P-5232 Fix: rollback CR changes when terminal approval validation fails (
8868209) - G2P-5232 Add list_tasks_for_request endpoint and related functionality (
0ac9dce) - G2P-5219 feat(change-request): add pre-approve hook for change requests (
1f236ae) - fix: correct variable name in G2PRegistrantAuthenticationControllerService (
20ba84f) - G2P-5208 refactor(intake-form): simplify submission search logic (
b7fd7e9) - G2P-5206 refactor(models): remove deprecated G2PIntakeFormSectionPayload class (
fffbde9) - G2P-5207 fix: translations and UI schema seeding (
5e43850) - G2P-5206 feat: add upsert functionality for submission search text in intake form data service (
02a7a34) - G2P-5194 - changed version to develop in develop branch (
26a1690) - G2P-5183 Add client-side CSRF token handling (
e9b48ad) - G2P-5154 Update environment variables, and refactor logout handling (
cbead27) - G2P-5153 Refactor IAM permission handling and authentication cookie management (
8a6abe5)
Release candidates
registry-platform 1.2.2-rc.554 — 2026-10-12
commit 242e8f8 · changes since 1.2.2-rc.544
Chart: openg2p-registry 1.2.2-rc.554
Summary
- Major: Integration with WebSub: updated base URL to commons-services, pointed the registry at the commons WebSub hub, and implemented request denial handling.
- New features in DCI: published async search on the partner topic, decoded four query types, and allowed searchable columns to be allowlisted.
- Enhancements in outgest: added partner and register topics to improve data handling.
- Performance improvements: implemented batch loading for related-register queries to optimize search operations.
Changes
- chore(env): update WebSub base URL to commons-services (
eadcffa) - chore(env): update .env.example (
1512d7f) - G2P-5756 feat(helm): point the registry at the commons websub hub (
0b8bbbd) - G2P-5756 fix(websub): fail when the hub denies a request (
a635618) - G2P-5756 feat(dci): publish async search on the partner topic (
dedf0b3) - G2P-5756 feat(outgest): add partner and register topics (
048550e) - G2P-5753 feat(dci): decode the four query types (
e2eb547) - G2P-5754 feat(dci): allowlist searchable columns (
16eb155) - G2P-5755 feat(search): batch related-register loads (
c8ba897)
registry-platform 1.2.2-rc.544 — 2026-10-07
commit 323a982 · changes since 1.2.2-rc.542
Chart: openg2p-registry 1.2.2-rc.544
Changes
registry-platform 1.2.2-rc.542 — 2026-10-07
commit 11b2761 · changes since 1.2.2-rc.536
Chart: openg2p-registry 1.2.2-rc.542
Summary
- New feature: introduced FilePreview component for enhanced file previews in templates.
- UI updates: modified change request button background color to primary_color_1 and fixed backspace functionality in dialogue table popups.
- Dependency management: updated staff-ui to version 1.1.9-dev.11 and adjusted related package manifests across multiple files.
Changes
- chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.11 (
11b2761) - G2P-5768 feat(ui): add FilePreview component and update templates to use it for file previews (
9e4bd78) - G2P-5686: use primary_color_1 for change request old value button bg (
4e90d62) - G2P-5733 fix: backspace button is not working on dialogue table popup (
da35c34)
registry-platform 1.2.2-rc.536 — 2026-10-05
commit fb856a2 · changes since 1.2.2-rc.534
Chart: openg2p-registry 1.2.2-rc.536
Changes
- chore(Dockerfile): add notification connector dependency (
4848b4b)
registry-platform 1.2.2-rc.534 — 2026-10-05
commit be76faa · changes since 1.2.2-rc.532
Chart: openg2p-registry 1.2.2-rc.534
Changes
- Updated master data secret and password key name (
1bfedff)
registry-platform 1.2.2-rc.532 — 2026-10-05
commit 7cffa27 · changes since 1.2.2-rc.521
Chart: openg2p-registry 1.2.2-rc.532
Summary
- Major: Enhanced notification system: added configuration options for Novu integration, implemented notification for staff on register exports completion, and enabled notifications for registrants on change requests and intake events.
- Core improvements: introduced
resolve_registry_namefunction, enhanced notification payloads with related model data, and added a notification helper for registrant contact lookup. - Dependency updates: upgraded
fastapi-commonto version 1.2.2 in Dockerfiles for bene-api and partner-api, and removed redundantsqlalchemy[asyncio]dependency.
Changes
- G2P-5706 feat(notification): add configuration options for Novu integration in Helm charts (
15c35e0) - chore: update fastapi-common reference to version 1.2.2 in Dockerfiles for bene-api and partner-api (
51bac59) - G2P-5697 feat(core): add resolve_registry_name function and update payloads (
771b43e) - chore: bump fastapi-common tag and remove redundant dependency sqlalchemy[asyncio] (
b492513) - G2P-5697 feat(core): enhance notification payload with related model data (
a2d5bec) - G2P-5697 chore: wire the notification connector into images and helm (
92ebb58) - G2P-5697 feat(core): notify staff when register exports finish (
13c8eba) - G2P-5697 feat(core): notify registrants on change request and intake events (
c062ca6) - G2P-5697 feat(core): add notification helper and registrant contact lookup (
99b02f7)
registry-platform 1.2.2-rc.521 — 2026-10-05
commit 2af6ed8 · changes since 1.2.2-rc.518
Chart: openg2p-registry 1.2.2-rc.521
Summary
- Dependency updates: synchronized
staff-uito version1.1.9-dev.9and made adjustments toui-widgetspackage manifests. - UI behavior fix: modified
SelectWidgetto setnullfor empty selections instead ofundefined.
Changes
- chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.9 (
2af6ed8) - G2P-5729 fix(SelectWidget): change onChange behavior to set null instead of undefined for empty selection (
8c6427a)
registry-platform 1.2.2-rc.518 — 2026-10-05
commit 282118c · changes since 1.2.2-rc.515
Chart: openg2p-registry 1.2.2-rc.518
Summary
- Notification enhancements: improved HMAC to include subscriber email and first name, integrated a new notification client, and added a NotificationInbox component while removing the NotificationDropdown and related notification context and utility files.
- Codebase cleanup: significant reduction in code with 542 deletions across various components, streamlining the notification feature.
- Dependency updates: modifications made to package-lock and package.json files, indicating changes in third-party libraries.
Changes
- G2P-5691 feat(notification): enhance notification HMAC to include subscriber email and first name (
21ffce9) - G2P-5698 feat(notification): integrate notification client (
8fbee8a)
registry-platform 1.2.2-rc.515 — 2026-10-02
commit d9981c9 · changes since 1.2.2-rc.513
Chart: openg2p-registry 1.2.2-rc.515
Changes
- Update FASTAPI_COMMON_REF to version 1.2 (
c68d29f)
registry-platform 1.2.2-rc.513 — 2026-09-28
commit 8a7b8ab · changes since 1.2.2-rc.511
Chart: openg2p-registry 1.2.2-rc.513
Changes
- G2P-5724 Implement date coercion for blank strings in G2P schemas and add corresponding tests. (
d070a78)
registry-platform 1.2.1-rc.462 — 2026-09-04
commit 6d1fe22 · changes since 1.2.1-rc.447
Chart: openg2p-registry 1.2.1-rc.462
Summary
- Major: Version bump to 1.2.1 across all APIs and Dockerfiles, including updates to package.json and package-lock.json.
- Workflow improvements: multiple fixes addressing workflow errors to enhance reliability.
- UI enhancements: refactored Section Builder for better functionality and simplified components by removing RegisterRecordContext.
- Theming updates: integrated host branding into widget themes for improved customization.
Changes
- chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.2 (
6d1fe22) - Fixing workflow error (
ccd23c1) - Fixing workflow error (
1c29d80) - Fixing workflow error (
d19eb34) - Fixing workflow error (
d53bcf1) - Fixing workflow error (
de87a2e) - fixed the ui-widget publish issues (
06de1be) - Bump version to 1.2.1 in package.json and package-lock.json (
98ef188) - Bump version to 1.2.1 across all APIs and Dockerfiles (
cbc3f71) - G2P-565 refactor: remove RegisterRecordContext and simplify related components (
6d53e8b) - G2P-4724 feat: enhance Section Builder (
0b90048) - G2P-5650 feat: map host branding into widget theme (
755116e)
registry-platform 1.2.1-rc.447 — 2026-09-04
commit 83f6153 · changes since 1.2.1-rc.445
Chart: openg2p-registry 1.2.1-rc.447
Changes
- G2P-5657 Refactor database session management to use get_async_session_maker across services (
2fc7fdc)
registry-platform 1.2.1-rc.445 — 2026-09-03
commit 4464cd8 · changes since 1.2.1-rc.443
Chart: openg2p-registry 1.2.1-rc.445
Changes
registry-platform 1.2.1-rc.443 — 2026-09-03
commit 862faf3 · changes since 1.2.0
Chart: openg2p-registry 1.2.1-rc.443
Summary
- Export optimization: updated default batch size to 2000 and enhanced export conditions and indexing in the G2P registry.
Changes
- G2P-5617 Update default export batch size across configurations to 2000 (
da81ef5) - G2P-5617 Enhance export conditions and indexing in G2P registry (
ce36109)
registry-platform 1.2.0-rc.440 — 2026-09-01
commit 41ae1ae · changes since 1.2.0-rc.439
Chart: openg2p-registry 1.2.0-rc.440
Changes
- published ui-widget 1.1.7 and updated the same in staff-ui (
41ae1ae)
registry-platform 1.2.0-rc.439 — 2026-09-01
commit 9c5154d · changes since 1.2.0-rc.437
Chart: openg2p-registry 1.2.0-rc.439
Changes
- G2P-5598 refactor: use search params for intake submission and improve section record state (
d2f13ef)
registry-platform 1.2.0-rc.437 — 2026-09-01
commit 3cf68c8 · changes since 1.2.0-rc.436
Chart: openg2p-registry 1.2.0-rc.437
Changes
- updated all the dockers and docker references to 1.2.0 and updated the fastapi and keycloak init versions (
3cf68c8)
registry-platform 1.2.0-rc.436 — 2026-08-31
commit c123021 · changes since 1.2.0-rc.434
Chart: openg2p-registry 1.2.0-rc.436
Changes
registry-platform 1.2.0-rc.434 — 2026-08-28
commit 9b41f96 · changes since v1.0.0
Chart: openg2p-registry 1.2.0-rc.434
Summary
- Major: Implemented G2P register export functionality, including APIs, export task, and updated Helm configuration for seamless integration.
- Enhanced GeoHierarchy management with refactoring for improved form handling and utility functions for child level retrieval.
- Refactored crypto helper references to use CryptoFactory, and updated IAM service repository references from GitHub to GitLab, including version updates.
- Integrated Partner Management Client into registry services, improving caching and partner lookup functionality.
- Updated CI/CD processes by switching from GitHub Actions to GitLab CI, streamlining build and publish workflows.
- Refactored intake form handling, including new unsaved changes warning, and enhanced document management with improved validation and upload profiles.
- Removed data policies feature and related components, simplifying the overall architecture and reducing complexity.
- Improved error handling and logging across various components, ensuring better traceability and debugging capabilities.
- Updated multiple dependencies, including ui-widgets and environment configurations, to enhance overall application performance and security.
Changes
- G2P-5605 Align the 1.2 release line with GitHub (
9b41f96) - G2P-5585 feat: implement export functionality for register records (
19f02b3) - G2P-5584 Update helm configuration for register export functionality (
4444433) - G2P-5584 Implement register export task and worker (
001b450) - G2P-5584 Add Apis for G2P register export functionality (
5ee7fc4) - G2P-5584 Add G2P register export functionality (
0b0cf89) - G2P-5587 Refactor GeoHierarchy components to enhance hierarchy management and improve form handling with new utility functions for child level retrieval and selection path resolution. (
a02b46d) - G2P-5586 Update references to fastapi-common from GitHub to GitLab and change version to 1.2 in Dockerfiles and pyproject.toml (
1f8089f) - G2P-5581 Refactor crypto helper references from build_crypto_helper to CryptoFactory in multiple files (
a5496ab) - G2P-5577 Integrate Partner Management Client into registry services with configuration, caching, partner lookup refactoring, and tests. (
3929c1f) - G2P-5569 feat: replace config-driven page size with viewport-adaptive breakpoints (
560c1ef) - Remove domain and include_domains from request payload in POST endpoint (
8ca14ed) - G2P-5572 Update IAM service repository reference from GitHub to GitLab (
c2a1198) - G2P-5572 Update IAM_CORE_REF to version 1.4 and increment version numbers to 1.2.0 across multiple APIs; refactor data policy request helper and enhance db-seed job configuration. (
66b2eac) - Published widget version 1.1.6-dev.6 and updated the ui for the same (
f95c4fd) - G2P-5457 refactor: include all records with modified and new rows in diffTableRows (
e7d2668) - Refactor useBreadcrumb: remove functional id and tab id (
0495193) - Published widget version 1.1.6-dev.5 and updated the ui for the same (
6028e77) - G2P-5552 Add APP_API_URL environment variable for IAM registration job (
d77fd84) - G2P-5544 Implement G2PIntakeRegisterSectionMapService, update related services/components, and improve UI version history handling. (
1f2ab43) - G2P-5553 feat(change-api): update sor_by convention for change request searches and add unit tests for parsing sort parameters (
0ac64f6) - G2P-5402: add record table view functionality for record list (
66734c1) - G2P-5541 fix(change-api): add register_mnemonic and tab_label in change request data (
183b842) - G2P-5546 refactor intake form and task ui (
c6c852d) - G2P-5545: refactor change request ui (
df686ef) - G2P-5457 Remove attributes configuration and related components from staff UI, including layout, pages, modals, and API routes. Update sidebar options to exclude attributes section. (
650b158) - G2P-5538 Refactored registry code list handling and API endpoints by removing attribute seeding, deleting related SQL/defaults, linking local ui-widgets, updating geo-level API routes, and optimizing attribute-value pagination defaults. (
0524935) - G2P-4786 refactor: move G2PRegisterDomainFactory and G2PIdGeneratorFactory to core interfaces, removing dependencies from extensions (
929a1f3) - G2P-5500 Enhance G2PIntakeFormDataService to validate only surviving records during intake form processing. Introduced a new method to filter out records marked for deletion before validation, ensuring data integrity in the upsert operation. (
08ea139) - G2P-5516 refactor: G2PGeo model and schema to use float type for latitude, longitude, and altitude fields (
7d05211) - G2P-5369: Enhance GeoHierarchy functionality and validation (
a533082) - G2P-5497 feat(cr): add G2PChangeRequestSectionPayloadService and integrate validation in change request processing (
bc7091c) - Optimize policy condition handling in G2PIntakeFormDataService to avoid unnecessary await (
a76dbaa) - Refactor policy condition handling in G2PRegisterService to avoid unnecessary await (
4552894) - G2P-5495 Add IAM admin user to keycloak-init (
816cfdf) - G2P-5492 feat(cr): add validation to enforce single section active crs for a record (
3d14b54) - G2P-5493 refactor change request handling and remove unused staff-portal-ui folder (
34d861b) - G2P-5489 Remove redundant sharp install and chown layers from Dockerfile (
34eb393) - Reapply "G2P-5222 Repoint Partner Management to commons-services and align PM-seed auth to the g2p-bridge pmSeedClientId pattern." (
ff1f9c8) - Reapply "G2P-5222 Consent and partner management related." (
e378ecb) - Reapply "G2P-5222 Enhancements for consent management, partner management and WJS support." (
eabfb80) - G2P-5466 Implement subject internal record ID resolution in intake form processing (
ba5d9f0) - Remove data policies feature and related components (
71309a2) - G2P-5478 fix(vc-configuration): update service with pagination and additional parameters (
36d59d5) - G2P-5451 feat(document): enhance MinIO configuration for read access in environment files and core components (
5c15f30) - G2P-5402: improve localization and panel toggle navigation (
7dbaaad) - G2P-4804 DB-seed: move the farmer-shaped sample loaders out of the platform image — load_sample_data.py/upload_images.py write farmer-extension tables and read farmer seed JSON, so they belong to the variant; the entrypoint keeps the hook and errors clearly without one (
ab38f08) - Refactor: remove unused request parameters from service methods (
daa4521) - Refactor: update hierarchy path building and remove debug print statements (
36584d1) - G2P-4804 Sanity: run the smoke suite by default (questions.yaml already said so) and drop the farmer naming from the platform's fixtures; expand the Sanity questions from 4 to 11 (
2759d58) - Fix: update import paths for data policy request helper (
b087344) - Fix: update import paths for data policy request helper (
4c7c7c9) - Refactor data policy handling across services (
c61a9db) - ui-wdget version upgraded (
dab5529) - G2P-5335 Migrate: carry chart-inherit-questions across from the GitHub caller, so wrapper charts keep their Rancher form (
95ca561) - Revert "G2P-5222 Enhancements for consent management, partner management and WJS support." (
7b60b8a) - Revert "G2P-5222 Consent and partner management related." (
5b12f1b) - Revert "G2P-5222 Repoint Partner Management to commons-services and align PM-seed auth to the g2p-bridge pmSeedClientId pattern." (
b12884d) - Just to trigger a build. No change otherwie (
39e4c2c) - G2P-5335 Switch CI to GitLab (.gitlab-ci.yml); drop GitHub Actions build/publish (
f5aa8eb) - G2P-5451 feat(document): add read only user access for minio client (
da42213) - G2P-4804 Surface the country pack in questions.yaml. None of the geo-seed options were in the Rancher form, so the one place a deployment declares its country was reachable only by hand-editing values — an installer had no way to know the choice existed, and every install silently took the fictitious default. (
b890549) - G2P-4804 Correct the loadGeoData comment. It still described the old direction, where the registry pushed geo into master-data because master-data shipped none — so it read as though the flag were needed for sample data. Master Data seeds its own geography from a country pack now, and enabling this writes a second, five-level slug-path hierarchy over it. (
495542f) - G2P-4804 Read code-list dropdowns from the database instead of the widget, in the reference extension, and stop truncating them. The attributes route defaulted to page_size 20, so a longer list rendered 20 options with nothing to indicate the rest existed and the missing values simply could not be chosen. (
22c1d78) - G2P-4804 Attach the sub-table fixtures to whoever was actually loaded. They link to the demography CSV's id space, so once people come from a country pack every land parcel, crop, housing and programme row pointed at a record that does not exist — and with no foreign key to violate they landed as orphans, leaving farmers who own nothing and households with no housing data. Links are remapped onto the loaded records, cycling when a pack carries fewer samples than the fixtures assume, and a table that had one row per record keeps one. Links pointing within the fixture set — a crop's parcel — are left alone. No-op when the ids already match. (
cd8845f) - G2P-4804 Supply head_individual_id, headship_type and adult/elderly counts with the master-data samples. Registries differ in what they record about a household and NSR needs these four; supplying the union costs nothing since each loader takes only the keys it asks for. (
35bf698) - G2P-4804 Take the country out of sample seeding and the geo widgets. load_sample_data no longer assumes five levels called country..village — that describes Kamuntu and nothing else, and Ethiopia has four ending at woreda; people and their whole ancestry now come from Master Data, with the CSV as fallback. New sync_geo_widgets step (SYNC_GEO_WIDGETS, default false) matches a register's geo dropdowns to the hierarchy actually loaded, since an extension's hardcoded level names produce dropdowns that silently return nothing against a country that names them differently. Labels are left alone but reported when they name the wrong level. (
782fa19) - G2P-4804 Validate coded values against the seeded country lists, behind registry_core_validate_attribute_values (default false). This is the check the compiled enums do today, and it is what lets them be deleted: an enum is fixed at image build time, so a registry validating against one can only serve the country it was built for. Fields map to lists by convention — 30 of Ethiopia's 34 already match a column name — with a field_map for the few that don't. Applied on both the change-request and intake-form paths. Also resolve sample-data geo ids against master-data instead of computing slug-paths, which match nothing once master-data is seeded from a P-coded pack; slug-paths remain the fallback and the outcome is always reported. (
b806b8a) - G2P-4804 Seed registry code lists from Master Data, behind LOAD_ATTRIBUTES (default false). The registry copies the country pack's lists into its own tables at install and validates against that copy after, so MDS is an install-time dependency, not a runtime one. Roles go in a new table, not a new column: create_all never adds columns to existing tables, so a column would be declared by the ORM and missing from every upgraded database. Where an extension fixture and the pack define the same list, the pack replaces it — merging left PROGRAM_NAME with 18 values and a dropdown showing every programme twice — and each replaced value is logged. (
62dee1a) - G2P-5429 feat(IntakeForm): enhance intake form components with submission and registration context (
f20eed8) - G2P-5429 feat(ParentLookupWidget): add new parent lookup widget and update related components (
fd4681f) - G2P-4804 Correct the geo-join comment in load_sample_data.py. It claimed the slug-path id keeps the registry<->master-data join working, but master data is now seeded from P-coded country packs, so demography-seeded records carry ids MDS has never heard of and never appear on a map. Documents the mismatch and the two-part fix. (
ed1d67a) - chore(ui-widgets): version for npm next publish, sync staff-portal-ui @1.1.6-dev.3 [skip ci] (
0169c66) - G2P-5412 refactor(models): remove unused async methods and clean imports (
0b777ad) - G2P-5411 feat(celery): register new services for intake form management (
2d3eea1) - G2P-5411 feat(intake-form): add endpoint to retrieve allowed parents for intake forms (
6d02119) - G2P-5408 Fix SelectWidget to preserve boolean values for select options (
fa7b925) - Just to take latest version of openg2p-data (
525b84f) - G2P-4804 Pin the db-seed image to openg2p-data develop in CI. (
80e5002) - G2P-4804 Track openg2p-data develop for the db-seed image. (
dc2dc8d) - G2P-5400 refactor(ui-routes): Remove deprecated tab and section routes (
574c372) - G2P-5400 refactor (staff-api): Remove legacy tab and section CRUD routes (
de2db46) - G2P-5400 fix(register): align tab/section service with current ORM columns (
9bb223b) - G2P-G2P-5389 improve error handling (
40c729f) - G2P-5383 db-seed: make sample-data loading idempotent — add ON CONFLICT (internal_record_id) DO NOTHING to the register/sub-table inserts so a re-install over an already-seeded database is a no-op instead of failing on g2p_register_*_pkey (
6ec5f56) - G2P-5383 Sanity: make the DCI overlay tolerant of an older pinned harness — probe for post_search and fall back to a plain POST instead of failing collection with ImportError (
c5214fc) - 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 (
9ded7ac) - G2P-5383 Sanity: add a contract test asserting a variant's fixtures overlay satisfies every fixtures.<SYMBOL> the inherited harness imports — renaming a symbol in an overlay silently breaks sanity/dci.py and friends at collection time (
23c58b3) - G2P-5365 refactor(useCrViewData): fix audit details in table widget (
a71fb67) - G2P-5382 refactor(VersionHistoryPage): recreate widget store on version change to prevent stale data (
b622225) - G2P-5383 Sanity: fail instead of silently passing — default SANITY_FAIL_ON_ERROR/failOnError to true so a failing suite fails the Job and the install, and make fixtures FAIL when a dependency is configured but broken (unconfigured dependencies still skip), so a run cannot go green having dropped every consent and signature test (
dd25651) - G2P-5383 Sanity: fix PM partner seeding — Partner Management returns HTTP 400 with body code PM-PRT-409 for an already-onboarded partner, so the status_code==409 branch never fired and every consent/signature test silently SKIPPED; also surface the response body on failure (
112378f) - chore(ui-widgets): version for npm next publish, sync staff-portal-ui @1.1.6-dev.2 [skip ci] (
7b30e97) - G2P-5383 Chart: make the IAM tile name values-driven (iamRegister.applicationDescription via APPLICATION_DESCRIPTION) so a wrapper chart can set it, and fix the reference registry's id-generator idTypes (farmer -> individual) so its Individual register actually gets a functional-ID pool (
01ce237) - G2P-5383 Fix ui-widgets npm-publish drift+race: self-heal dev version from npm 'next' dist-tag, retry the just-published widget install for registry propagation so commit-back lands; realign develop to 1.1.6-dev.1 (
688ec49) - G2P-5383 Fix ui-widgets npm publish collision: bump develop version 1.1.4-dev.3 → 1.1.6-dev.0 (ahead of released 1.1.5) so the dev prerelease no longer republishes an existing version (
bc4a341) - G2P-5383 CI: stop build-publish on Dependabot branches (exclude !dependabot/**); add lightweight ui-ci PR check (npm type-check+build, no publish) for the UI packages (
0364f07) - G2P-5383 CI: single build-publish workflow for all images+chart at one locked version — fold staff-ui in (own context), add staffUi+sanity to chart-image-paths, drop separate docker-staff-portal-ui.yml (
aebd339) - G2P-5383 Reference registry cleanup: remove broken/unused inbound message-rule seed, de-NSR (templates→individual_to_dci, registry name, master-data URLs), correct Dockerfile/README comments to the runnable reference-registry + Option-C model (
d7139ea) - G2P-5383 Sanity e2e logs: clean titled per-test banner + timestamped step lines + RESULT footer; suppress httpx and pytest live-log noise (drop log_cli, run with -s) (
c72eb16) - G2P-5383 Sanity: history test reads g2p_register_history_individuals (last farmer-table ref); reference e2e now fully green (DCI + change-request/AWE) (
d424e68) - G2P-5383 Sanity: fix ScopeMismatch — use a plain logger (not the function-scoped step fixture) inside the module-scoped change_request fixture (
d6399e7) - G2P-5383 Reference AWE seed collision-tolerant: split individual vs household groups with ON CONFLICT DO NOTHING so the individual change_request policy+stages always seed even when a shared AWE DB already has registry.change_request.household from another registry (
b15861f) - G2P-5383 Reference DCI seed to core schema (documents/data_models/outgoing_templates) so DCI search resolves the Individual template; add timestamped per-test step logging (DCI + change-request/AWE stages) (
d171513) - G2P-5383 Sanity CR e2e: target reference individual UI tab/section + individuals table for the change-request test (
749f91f) - G2P-5383 Sanity DCI e2e: read name/birth_date directly under demographic_info (reference DCI-standard template shape) (
877d833) - G2P-5383 Sanity e2e: point reference sanity suite at individual register (data_seed table, register id, DCI scopes/type) so e2e runs against the reference registry (
3f8b410) - G2P-5383 Reference registry db-seed green: minimal seed with demo-data loaders (sample/geo/images/templates) defaulted OFF in base chart, farmer overlay re-enables; add openg2p-registry-sanity-tests image + e2e suite + CI entry (
1476fbb) - G2P-5365 refactor(g2p_register): streamline history field handling - update base fields to exclude from current register data - add last approved by and approved at fields to current register data (
102b30b) - G2P-5383 Reference registry + naming cleanup: RP images are runnable reference registries (individual+household from NSR), env-selected extension (Option C), staff-api/bene-api/celery-*/staff-ui rename, single openg2p-registry chart; farmer extends via REGISTRY_EXTENSION_MODULE (
db42ba2) - bumped up the version to 1.1.1 for registry platform (
6367bae) - feat(DataPoliciesListPage): update registry-widgets version and enhance permissions handling (
aa86b28) - published and updated ui widget version to 1.1.4-dev.4 (
3abf27c) - G2P-5383 Invert build model: registry-platform publishes base images + Helm chart, farmer-registry extends (
53d580c) - G2P-5381 feat(intake-form): add unsaved changes warning before submit (
9b664e1) - chore(ui-widgets): version for npm next publish, sync staff-portal-ui @1.1.4-dev.3 [skip ci] (
4e4548b) - G2P-5335 Grant packages: write in library changelog caller (reusable images/chart jobs require it at startup) (
c73493f) - G2P-5335 Add library changelog tracking (kind: library) (
532a3f9) - G2P-5375 Update @openg2p/registry-widgets version to 1.1.4 (
c0331db) - G2P-4763 fix: update buildSectionsDataMap return type - change return type to always return an object (
b010347) - updating the ui widget develop tag 1.1.4-dev.2 in the staff portal ui (
08cb976) - updating the ui widget develop tag in the staff portal ui (
5bb768f) - G2P-4763 refactor: update file rendering for change request header, submission header, and DocsWidget (
e103a51) - G2P-5347 refactor(intake_form_register): dedupe document ingestion by register - update document retrieval to group by register - adjust document processing to use register-level sections - enhance logging for missing section references (
5eaaf0c) - G2P-5347 chore(helper): remove unused MinioClient import (
93630f0) - updating the ui widget tag in the staff portal ui (
13ca764) - G2P-5347 fix(enum): restore entry in ChangeRequestSourceEnum (
4d7ff96) - G2P-4763 refactor(geo-hierarchy): enhance layout and widget handling (
46317cf) - fix(g2p_register): handle geo hierarchy service absence gracefully (
9fcf214) - G2P-5347 refactor(service): streamline document handling on change approval (
eb99cf3) - G2P-5347 fix(service): add record image URLs to change request data (
860817e) - G2P-5330 fix(controller): remove permissions for upload and delete documents (
ee6528a) - G2P-5307 fix(model): simplify created_at field by removing timezone support and using utcnow (
fbaae54) - G2P-4763 fix: preview url issue for HeaderSectionWidget (
512c3f5) - G2P-4763 fix: refetch approval status after decision and split approval hooks (
fc0cec9) - G2P-4763 refactor: update geo hierarchy and document handling (
91edd25) - G2P-4763 refactor: update register and intake form document handling (
24009ab) - G2P-4763 refactor: rename template_file_id to template_document_id across the application (
cf1e75d) - G2P-4763 fix(model): ensure created_at uses timezone-aware DateTime (
ed8df39) - G2P-5238 chore: update ui-widgets to v1.1.3 (
f8adc49) - G2P-5275 fix(minio): update bucket handling to use StrEnum directly (
3140005) - G2P-4763 fix(model): update bucket column type to Enum - change bucket column from String to Enum for DocumentBucket - adjust default value for bucket to use Enum directly (
d9b49b7) - G2P-5275 fix(helper): correct import path for DocumentBucket (
d0359fd) - G2P-5336 fix(controller): unify error response handling for new document controller (
737c444) - G2P-5336 fix(errors): update error handling to use new default error code (
69ad5ee) - G2P-5339 refactor: update docs widget configuration to use 'widget-total-docs' and enhance column distribution logic (
cd85f91) - G2P-5238 refactor: remove fixed layout configuration from geo hierarchy widget and improve column distribution logic (
1cb6017) - G2P-5275 refactor(documents): add dashboard image validation profile (
142b0f2) - G2P-5326 feat(documents): enhance file validation and upload profiles (
1b4581b) - G2P-5275 refactor(icons): enhance file validation for uploads (
d459348) - G2P-5334 Remove dash from new intake form breadcrumb (
3520034) - G2P-5332 add register icon remove button (
b4a2d47) - G2P-5339 add docs widget (
66aed2a) - G2P-5325 refactor(documents): update document handling and request response (
595e7dc) - G2P-5238 refactor: improve geo location, requestDataSourceHandler, and translation handling (
9117fe8) - G2P-5326 fix: template file upload size and type (
8dbcb73) - G2P-5275 fix: update 1MB image upload limit for logo, favicon, and register icon (
fd6a81d) - G2P-5325 refactor(documents): update environment variables and streamline document handling (
b0c2e53) - G2P-5325 refactor(documents): update document handling and configurations for celery queue tasks (
40fdc64) - G2P-5325 refactor(documents): streamline document handling in apis and remove template file controller (
fd5666e) - G2P-5307 (
14ae7bd) - G2P-5307 refactor(documents): streamline document handling and update schemas (
09f5306) - G2P-5306 refactor(document): restructure document handling and abstract MinioClient (
7ba5cbe) - G2P-5307 refactor(models): update document handling in data models (
c20ccd8) - G2P-5319 Permission decorated enabled on one API. (
e11e8fe) - G2P-5318 Restrict config nav to CONFIG_NAV_ACTIONS and guard config sub-pages (
aaca369) - G2P-5262 refactor: update attribute value fetching in AttributeValueInput component (
02ddbfb) - G2P-5222 Repoint Partner Management to commons-services and align PM-seed auth to the g2p-bridge pmSeedClientId pattern. (
7d798a4) - changed the widget version and published the dev (
f2ef6ab) - G2P-5271 Update version to 1.1.0 across all modules (
60f853d) - G2P-5181: Record Level Access - Approach using BaseRepository with Generics T (
1ab3f52) - G2P-5222 Consent and partner management related. (
873f96a) - G2P-5222 Enhancements for consent management, partner management and WJS support. (
a9ba084) - 'develop' version was incorrect in init.py. Changed to 0.0.0-dev0 (
3dd3947) - G2P-5267 rename attribute labels to reference data (
37aee91) - G2P-5262 feat: add new data policy management features for administrative areas and reference data (
533420a) - G2P-5265 feat(intake): add configurable reference generator (
55cf95d) - G2P-5263 Update breadcrumbs for register and intake form pages (
dad3970) - G2P-5262 feat: extend data policy to handle new policy target (
faef96b) - G2P-5255 Refactor AWE proxy request handling to support pagination and improve payload resolution (
364cce2) - G2P-5122 cleanup: remove unused change request approval code (
f538140) - G2P-5122: add approvals list (
b64eda0) - G2P-5255 Add CSRF validation configuration for staff-portal-api requests (
1f8c663) - G2P-5178 feat(attribute-service): add search functionality for attributes and values (
78f2d13) - G2P-5232 feat: support logo within text and registry favicon (
8ba88a2) - G2P-5247 Add request_id to VersionForDateData and update G2PRegisterService to populate it from change requests (
f31d5b8) - G2P-5245 feat(application-reference): add application reference field, its generation, usage and update api (
a2a9ece) - G2P-5238 refactor: improve UI widgets and add example UI schema reference (
866ed7a) - G2P-5232 Add cookieDomain to environment configuration and update auth cookie handling (
bffa646) - G2P-5232 Add assignee_name field to ApprovalTask model and update related logic (
5648eb2) - G2P-5232 Add upgrade-insecure-requests to CSP header (
71c5085) - G2P-5182 fix: boolean conditional visibility, dialog-table conditions, and attribute API hooks (
48f4136) - G2P-5232 Fix: rollback CR changes when terminal approval validation fails (
8868209) - G2P-5232 Add list_tasks_for_request endpoint and related functionality (
0ac9dce) - G2P-5219 feat(change-request): add pre-approve hook for change requests (
1f236ae) - fix: correct variable name in G2PRegistrantAuthenticationControllerService (
20ba84f) - G2P-5208 refactor(intake-form): simplify submission search logic (
b7fd7e9) - G2P-5206 refactor(models): remove deprecated G2PIntakeFormSectionPayload class (
fffbde9) - G2P-5207 fix: translations and UI schema seeding (
5e43850) - G2P-5206 feat: add upsert functionality for submission search text in intake form data service (
02a7a34) - G2P-5194 - changed version to develop in develop branch (
26a1690) - G2P-5183 Add client-side CSRF token handling (
e9b48ad) - G2P-5154 Update environment variables, and refactor logout handling (
cbead27) - G2P-5153 Refactor IAM permission handling and authentication cookie management (
8a6abe5)
Develop builds
registry-platform — develop 0.0.0-develop.615 (2026-10-12)
commit e112aac · changes since 0.0.0-develop.613
Chart: openg2p-registry 0.0.0-develop.615
Summary
- Security enhancement: added refusal of registrant authentication providers from different registries to prevent unauthorized access.
- Dependency updates: synchronized staff-ui to version 1.1.9-dev.12 and updated package-lock files for both staff-ui and ui-widgets.
- Testing improvements: introduced a new test for the registrant authentication provider registration process.
Changes
- G2P-4929 Refuse a registrant authentication provider that belongs to another register (
e112aac) - chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.12 [skip ci] (
c1e59b6)
registry-platform — develop 0.0.0-develop.613 (2026-10-08)
commit ab75a67 · changes since 0.0.0-develop.611
Chart: openg2p-registry 0.0.0-develop.613
Summary
- Helm configuration: introduced
iamRegister.runAsHookwith a default value of true, allowing IAM registration Job and payload ConfigMap to be treated as hooks. - Documentation update: clarified that the catalogue release description refers to datasets instead of code lists.
Changes
- G2P-5719 Rancher form: pinned catalogue release description says datasets, not code lists (
ab75a67) - G2P-5719 Helm: iamRegister.runAsHook (default true); false renders the IAM registration Job and payload ConfigMap as regular resources (a parent chart's null cannot clear the hook annotations) (
8869756)
registry-platform — develop 0.0.0-develop.611 (2026-10-07)
commit 9911db5 · changes since 0.0.0-develop.608
Chart: openg2p-registry 0.0.0-develop.611
Summary
- Dependency updates: synchronized
staff-uito version 1.1.9-dev.10 and made changes topackage-lock.jsonandpackage.jsonfor bothstaff-uiandui-widgets. - Testing enhancements: added tests for the partner API's data-scope consent time handling, prioritizing the
consent_issued_atclaim.
Changes
- G2P-5719 partner-api: data-scope consent time prefers the consent_issued_at claim (exchange consent receipts), then iat, then issued_at; test (
b50bece) - chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.10 [skip ci] (
168412e)
registry-platform — develop 0.0.0-develop.608 (2026-10-07)
commit eed91e1 · changes since 0.0.0-develop.606
Chart: openg2p-registry 0.0.0-develop.608
Summary
- Major: Security enhancement in Partner API: all calls are now signed, with /partner/ingest_data verifying partner JWS signatures using the configured PM key, and unsigned GET requests for data scopes disabled by default.
- User experience improvements in Rancher form: removed legacy and internal questions, introduced clearer labels and groups, and added show_if functionality for better data handling.
- Audit and sanity checks have been enhanced, including a verified audit actor and improved JSON response datetime serialization for ingest operations.
- Comprehensive testing updates: added end-to-end tests for sanity checks and improved coverage for API interactions.
Changes
- G2P-5719 Rancher form: drop legacy and internal questions (ID types note, crypto backend, commons-services URLs, read mode, sanity plumbing), show_if for DB seed, AWE, audit and sanity, clearer labels and groups (
eed91e1) - G2P-5719 Partner API: every call is signed — /partner/ingest_data verifies the partner's detached JWS over the configured signature payload with its PM key (core ingest takes verify_signature + verifier; staff and file import pass False), verified audit actor; unsigned GET /partner/data_scopes off by default (data_scopes_public_get_enabled, chart value); sanity e2e reads the catalogue by signed POST; fix ingest JSON response datetime serialisation; tests (
bf81a88)
registry-platform — develop 0.0.0-develop.606 (2026-10-07)
commit cd8021f · changes since 0.0.0-develop.605
Chart: openg2p-registry 0.0.0-develop.606
Changes
- G2P-5719 Activity registers from configuration (step 1): per-register config file (meta_data/activity-config/<mnemonic>.json) for context fields, subject, UI hints, search fields and final aggregates; output record templates per format (DCI as one format, rendered after data-scope filtering, or_null/pick filters); JSON Logic plausibility rules (warn/block, latest activity per type, missing value = not applicable) with a built-in evaluator; code overrides win; tests (
cd8021f)
registry-platform — develop 0.0.0-develop.605 (2026-10-05)
commit 17bd3b7 · changes since 0.0.0-develop.604
Chart: openg2p-registry 0.0.0-develop.605
Changes
- G2P-5719 Audit middleware (staff, partner, agent portal): take the route FastAPI matched from the request scope, so events get the endpoint's action and type instead of "unknown" (FastAPI 0.142's _IncludedRouter wrappers broke the manual route scan) (
17bd3b7)
registry-platform — develop 0.0.0-develop.604 (2026-10-05)
commit b6e46bc · changes since 0.0.0-develop.599
Chart: openg2p-registry 0.0.0-develop.604
Summary
- Major: Introduction of versioned groups of standard-neutral consent scopes for data management, enhancing registry field organization.
- Activity samples now load at install time with strict error handling, including per-register failures and advisory locks, supported by a new CLI command and post-install hooks.
- Helm configuration updated to use the in-cluster commons Garage for object storage, with default settings for global.minioHost and minioSecure adjustments.
- UI widgets version synchronized for npm development, aligning with staff-ui version 1.1.9-dev.8.
Changes
- G2P-5719 Data scopes: standard-neutral consent scopes as versioned groups of registry fields (
abb81f8) - G2P-5719 Activity samples load at install time and fail the release on error: strict load_all with per-register failures, per-register advisory lock (hook Job vs beat task), load_activity_samples CLI, post-install/upgrade activity-samples hook Job using the worker image and env; tests (
7234831) - G2P-5719 Helm: object store is the in-cluster commons Garage — global.minioHost defaults to commons-garage:3900, minioSecure false (names unchanged); Rancher questions and CSP scheme follow minioSecure (
b15b8c4) - chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.8 [skip ci] (
7a869fe)
registry-platform — develop 0.0.0-develop.599 (2026-10-03)
commit a8c4996 · changes since 0.0.0-develop.453
Chart: openg2p-registry 0.0.0-develop.599
Summary
- Major: Transition to Master Data Service (MDS) integration: removed direct database access, implemented API-based data retrieval, and introduced versioned caching and change feeds.
- Enhancements to Celery: workers and beat now wait for Redis before starting, with improved liveness checks to ensure worker reliability.
- Refactorings: streamlined document handling across various components, improved session management with
get_async_session_maker, and enhanced validation in change request processing. - New features: implemented G2P register export functionality, including APIs and worker tasks, and enhanced Section Builder capabilities.
- UI improvements: updated widget themes, fixed layout issues, and refined the change request UI for better user experience.
- Dependency updates: upgraded
FASTAPI_COMMON_REFto version 1.2 and updated IAM service references to align with GitLab. - Bug fixes: addressed issues with change requests, document removal, and list view record handling to improve overall stability and user experience.
Changes
- G2P-5719 Minor (
a8c4996) - G2P-5719 Registries never touch MDS's database: drop loadGeoData/syncGeoWidgets, seed scripts read MDS via its API (mds_client), geo levels from MDS at runtime, MD DB env only in db read mode (
e7e6e26) - G2P-5719 Read Master Data through the MDS catalogue API (versioned cache, change feed, stale-on-error, client credentials); record catalogue_versions on activities; db read mode kept as rollback; chart and Rancher questions (
6603727) - Update FASTAPI_COMMON_REF to version 1.2 (
c68d29f) - G2P-5719 Celery worker and beat wait for Redis before starting; worker liveness probe pings the worker (a worker that stops consuming is restarted) (
a5aa01a) - G2P-5724 Implement date coercion for blank strings in G2P schemas and add corresponding tests. (
d070a78) - G2P-5721 Connect outgoing messages to Outgestion APIs and update message counts (
89b841a) - chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.6 (
35c2e15) - G2P-5717 Add function to detect file widgets and include the document object in the record. (
7607771) - G2P-5716 refactor: Remove required asterisk mark from table header (
88b0766) - chart: run iam-register before db-seed, and give celery-beat a consumed queue (
b2c29e9) - chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.5 (
ea16fc0) - G2P-5709 fix: Change request is creating even no change has done (
534cbf5) - G2P-5712 fix: List view records removal is throwing error 400 Bad request (
ab37249) - G2P-5655 Fix explicit null link handling in _update_existing_record method and add unit tests (
1d6ed8f) - G2P-5655 Refactor G2PChangeRequestSectionPayloadService to remove readonly checks and update test cases (
bde776b) - G2P-5653 Fix validation for table and dialog table widgets to handle required columns (
d07d07c) - G2P-5702 Fix document removal not creating a change request (
a3ea824) - G2P-5703 Refactor IAM registration job and configmap to use dynamic naming and annotations from values (
b61e441) - G2P-5703 Remove creation iam.admin in registry keycloak-init (
ee3803a) - Replace dbengine import with async session maker (
dbf5029) - Rename import file document store (
33ead30) - G2P-5677 refactor: streamline document handling and update identifiers across various components (
b3169fa) - chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.4 (
906859c) - G2P-5680 G2P-5676 registry-platform fixes (
582fb3e) - chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.3 (
2a26dbe) - G2P-5677 refactor: restructure document handling for change request and intake form (
48b03ea) - G2P-5670 test(core): update section document validation tests to assert correct handling of document labels and empty documents (
9ff905d) - G2P-5670 refactor(core): simplify G2PChangeRequestSectionPayloadService by removing unused schema handling and validation logic (
866ffbc) - refactor(core): replace session maker initialization with get_async_session_maker for improved session management (
833930c) - G2P-5670 feat(core): integrate G2PSectionDocumentReconcileService into initialization and update document widget handling (
c535dc2) - G2P-5670 test(core): cover section-document reconciliation (
6a6731d) - G2P-5670 feat(core): keep supporting CR docs separate from section document sets (
71fec54) - G2P-5670 feat(core): reconcile live section documents on approval (
77fab78) - G2P-5670 feat(core): hydrate section documents and reconstruct as-of sets (
4102f1e) - G2P-5655 refactor(core): strip non-ORM fields from change-request rows (
c688e1c) - G2P-5670 feat(core): add nested section documents on change payload (
3406f62) - G2P-5670 feat(core): add document history events and section-document index (
aca0eeb) - Revert partial orm_cache import from 2fc7fdc (
b41e229) - G2P-5653: Prevent adding empty records in list view sections. (
18fb63c) - G2P-5650 Refactor: improve widgets theme integration and fix z-index of create new submission button (
9dbaf66) - chore(ui-widgets): version for npm dev publish, sync staff-ui @1.1.9-dev.2 (
6d1fe22) - Fixing workflow error (
ccd23c1) - Fixing workflow error (
1c29d80) - Fixing workflow error (
d19eb34) - Fixing workflow error (
d53bcf1) - Fixing workflow error (
de87a2e) - fixed the ui-widget publish issues (
06de1be) - Bump version to 1.2.1 in package.json and package-lock.json (
98ef188) - Bump version to 1.2.1 across all APIs and Dockerfiles (
cbc3f71) - G2P-565 refactor: remove RegisterRecordContext and simplify related components (
6d53e8b) - G2P-5657 Refactor database session management to use get_async_session_maker across services (
2fc7fdc) - G2P-4724 feat: enhance Section Builder (
0b90048) - G2P-5650 feat: map host branding into widget theme (
755116e) - G2P-5618 Update environment configurations to use Master Data API (
2b73ced) - G2P-5617 Update default export batch size across configurations to 2000 (
da81ef5) - G2P-5617 Enhance export conditions and indexing in G2P registry (
ce36109) - published ui-widget 1.1.7 and updated the same in staff-ui (
41ae1ae) - updated all the dockers and docker references to 1.2.0 and updated the fastapi and keycloak init versions (
3cf68c8) - G2P-5598 refactor: use search params for intake submission and improve section record state (
d2f13ef) - G2P-5610 Refactor G2PChangeRequestSectionPayloadService to enhance payload validation (
11f44d9) - G2P-5605 Align the 1.2 release line with GitHub (
9b41f96) - G2P-5585 feat: implement export functionality for register records (
19f02b3) - G2P-5584 Update helm configuration for register export functionality (
4444433) - G2P-5584 Implement register export task and worker (
001b450) - G2P-5584 Add Apis for G2P register export functionality (
5ee7fc4) - G2P-5584 Add G2P register export functionality (
0b0cf89) - G2P-5587 Refactor GeoHierarchy components to enhance hierarchy management and improve form handling with new utility functions for child level retrieval and selection path resolution. (
a02b46d) - G2P-5586 Update references to fastapi-common from GitHub to GitLab and change version to 1.2 in Dockerfiles and pyproject.toml (
1f8089f) - G2P-5581 Refactor crypto helper references from build_crypto_helper to CryptoFactory in multiple files (
a5496ab) - G2P-5577 Integrate Partner Management Client into registry services with configuration, caching, partner lookup refactoring, and tests. (
3929c1f) - G2P-5569 feat: replace config-driven page size with viewport-adaptive breakpoints (
560c1ef) - Remove domain and include_domains from request payload in POST endpoint (
8ca14ed) - G2P-5572 Update IAM service repository reference from GitHub to GitLab (
c2a1198) - G2P-5572 Update IAM_CORE_REF to version 1.4 and increment version numbers to 1.2.0 across multiple APIs; refactor data policy request helper and enhance db-seed job configuration. (
66b2eac) - Published widget version 1.1.6-dev.6 and updated the ui for the same (
f95c4fd) - G2P-5457 refactor: include all records with modified and new rows in diffTableRows (
e7d2668) - Refactor useBreadcrumb: remove functional id and tab id (
0495193) - Published widget version 1.1.6-dev.5 and updated the ui for the same (
6028e77) - G2P-5552 Add APP_API_URL environment variable for IAM registration job (
d77fd84) - G2P-5544 Implement G2PIntakeRegisterSectionMapService, update related services/components, and improve UI version history handling. (
1f2ab43) - G2P-5553 feat(change-api): update sor_by convention for change request searches and add unit tests for parsing sort parameters (
0ac64f6) - G2P-5402: add record table view functionality for record list (
66734c1) - G2P-5541 fix(change-api): add register_mnemonic and tab_label in change request data (
183b842) - G2P-5546 refactor intake form and task ui (
c6c852d) - G2P-5545: refactor change request ui (
df686ef) - G2P-5457 Remove attributes configuration and related components from staff UI, including layout, pages, modals, and API routes. Update sidebar options to exclude attributes section. (
650b158) - G2P-5538 Refactored registry code list handling and API endpoints by removing attribute seeding, deleting related SQL/defaults, linking local ui-widgets, updating geo-level API routes, and optimizing attribute-value pagination defaults. (
0524935) - G2P-4786 refactor: move G2PRegisterDomainFactory and G2PIdGeneratorFactory to core interfaces, removing dependencies from extensions (
929a1f3) - G2P-5500 Enhance G2PIntakeFormDataService to validate only surviving records during intake form processing. Introduced a new method to filter out records marked for deletion before validation, ensuring data integrity in the upsert operation. (
08ea139) - G2P-5516 refactor: G2PGeo model and schema to use float type for latitude, longitude, and altitude fields (
7d05211) - G2P-5369: Enhance GeoHierarchy functionality and validation (
a533082) - G2P-5497 feat(cr): add G2PChangeRequestSectionPayloadService and integrate validation in change request processing (
bc7091c) - Optimize policy condition handling in G2PIntakeFormDataService to avoid unnecessary await (
a76dbaa) - Refactor policy condition handling in G2PRegisterService to avoid unnecessary await (
4552894) - G2P-5495 Add IAM admin user to keycloak-init (
816cfdf) - G2P-5492 feat(cr): add validation to enforce single section active crs for a record (
3d14b54) - G2P-5493 refactor change request handling and remove unused staff-portal-ui folder (
34d861b) - G2P-5489 Remove redundant sharp install and chown layers from Dockerfile (
34eb393) - Reapply "G2P-5222 Repoint Partner Management to commons-services and align PM-seed auth to the g2p-bridge pmSeedClientId pattern." (
ff1f9c8) - Reapply "G2P-5222 Consent and partner management related." (
e378ecb) - Reapply "G2P-5222 Enhancements for consent management, partner management and WJS support." (
eabfb80)
registry-platform — develop 0.0.0-develop.453 (2026-10-01)
commit cc9fced · changes since 0.0.0-develop.448
Chart: openg2p-registry 0.0.0-develop.453
Summary
- Major: Registry-neutral naming conventions introduced, with deprecated aliases maintained for backward compatibility; includes updates to core test fixtures and documentation.
- Consent management enhancements: enforcement of consent per registry and subject, with data_controller sent to CM and logging for on_behalf_of actions.
- Data integrity improvements: final aggregates now locked by period, with late changes reverting to provisional status; DCI aggregate search enhanced for allow-listed partners.
- UI updates: activity interface now excludes register-specific fields, ensuring consistency across context fields and UI hints.
- Bug fixes: resolved issues with record view and intake forms by addressing synchronous data-policy condition builders.
Changes
- G2P-5719 Registry-neutral naming: sanity RECORD_*/record_seeded/register_id (old names kept as deprecated aliases), chart sanity.registerId (farmerRegisterId still honoured), neutral sanity defaults, core test fixtures TestPerson/TestParcel, generic docs; sanity consent for the registry's own data controller (
cc9fced) - G2P-5719 Consent per registry and subject enforcement: send data_controller to CM, consent subject must be the person searched (records, or linked via subject_id_fields), log on_behalf_of; chart consentDataController (
6ae86aa) - G2P-5719 Final aggregates on period lock (is_final; late changes revert to provisional until relocked); DCI aggregate search across subjects for allow-listed partners, with is_final filter (
fcceac6) - G2P-5719 Activity UI holds no register-specific fields: context_fields (locked in corrections, enforced on supersede) and ui_hints (summary fields, context columns, batch carry fields, search hints) from the domain service (
a8a09e4) - G2P-5719 Fix record view and intake forms: don't await the synchronous data-policy condition builders (SYS-ERR-001 on get_subject_record) (
c08eb7c)
registry-platform — develop 0.0.0-develop.448 (2026-10-01)
commit f0bbc3a · changes since 0.0.0-develop.447
Chart: openg2p-registry 0.0.0-develop.448
Changes
- G2P-5719 DCI: exact subject queries on activity registers with filters on any plain field (activities, state, aggregates); exact-field register search returns linked records; ISO date-time filters (
f0bbc3a)
registry-platform — develop 0.0.0-develop.447 (2026-10-01)
commit 9921c82 · changes since 0.0.0-develop.446
Chart: openg2p-registry 0.0.0-develop.447
Changes
- G2P-5719 Activity register phase 1: typed participants (participant_roles, g2p_activity_participants, search by participant), context replacement link, partner correct_activities endpoint, sample-data task and sample_activities hook, staff UI participants and replaced-by links, tests (
9921c82)
registry-platform — develop 0.0.0-develop.446 (2026-09-30)
commit dfaaed2 · changes since 0.0.0-develop.444
Chart: openg2p-registry 0.0.0-develop.446
Summary
- Major: Activity geography enhancements: introduced geo_dimensions for activities and projections, enabling context-aware indicators and aggregates; DCI now returns context state and aggregates shaped by register hooks.
- Activity registers updated: integrated context counting in the Registers card, renamed dropdown options to include "(Activity)", and removed the separate home card and header button for a streamlined UI.
- New components added: implemented GeoPicker and associated hooks and utilities for improved geographic selection in the staff UI.
- Codebase adjustments: 36 files modified with significant additions and deletions, including new integration tests for activity geography.
Changes
- G2P-5719 Activity geography and sharing: geo_dimensions (named Master Data levels) snapshotted on activities and projections from the payload, subject record or context; indicators by geo:<level>; aggregates carry levels; DCI returns context state (e.g. …:CropSeason) and aggregates, shaped by register hooks; staff UI region/zone/woreda picker and location display (
dfaaed2) - G2P-5719 Activity registers in the Registers card: counted with their contexts, offered as "(Activity)" in the register dropdown; drop the separate home card and header button (
82e07be)
registry-platform — develop 0.0.0-develop.444 (2026-09-28)
commit be2c853 · changes since 0.0.0-develop.441
Chart: openg2p-registry 0.0.0-develop.444
Summary
- Major: Activity registers enhancement: introduced schema versions, submission IDs, local-record subjects, and enriched aggregates with history; added Activities and Summaries tabs, improved navigation, and included optional database seed folders.
- UI updates: synchronized staff-portal-ui to version 1.1.9-dev.7 in preparation for npm next publish.
Changes
- G2P-5719 Activity registers: schema versions, submission ids, local-record subjects (subject/belongs_to), enrichment and aggregates with history, profile Activities tab, Summaries tab, navigation, optional db-seed folders, add missing columns on upgrade, block ACTIVITY in Add Register (
b770d95) - chore(ui-widgets): version for npm next publish, sync staff-portal-ui @1.1.9-dev.7 [skip ci] (
74c8de4)
registry-platform — develop 0.0.0-develop.441 (2026-09-28)
commit 0a90477 · changes since 0.0.0-develop.439
Chart: openg2p-registry 0.0.0-develop.441
Summary
- CI improvements: updated the ui-widgets dev publish process to seed prereleases from the highest published version, resolving issues with versioning and publishing errors.
- Testing enhancements: added a new integration test for activity register guards, ensuring proper functionality and coverage for recent changes.
- Configuration updates: modified guard activity registers to count activities and contexts as data, alongside fixes to mnemonic and purpose definitions.
Changes
- G2P-5719 Guard activity registers in register configuration: count activities and contexts as data; fix mnemonic and purpose (
0a90477) - G2P-5335 ui-widgets dev publish: seed the prerelease from the highest version ever published, not the
nextdist-tag —nextonly moves when this job publishes, so it sat at 1.1.6-dev.3 while dev.4..6 and 1.1.6..1.1.8 were published elsewhere, and the bump recomputed dev.4 and 403'd (da90666)
registry-platform — develop 0.0.0-develop.439 (2026-09-27)
commit df0ab1a · changes since 0.0.0-develop.438
Chart: openg2p-registry 0.0.0-develop.439
Changes
- G2P-5335 Port the 1.2 Master Data model to develop: read code lists live from MDS (G2P-5538/5457), look partners up in Partner Management instead of MDS's dropped g2p_partners (G2P-5577), geo hierarchy rework (G2P-5369/5587); repoint the activity-register attribute check at MDS (
df0ab1a)
registry-platform — develop 0.0.0-develop.438 (2026-09-27)
commit fb3ef1a · changes since 0.0.0-develop.435
Chart: openg2p-registry 0.0.0-develop.438
Summary
- Database testing: relocated activity DB tests to
tests_integrationto maintain unit test functionality. - Feature addition: introduced an append-only ACTIVITY register kind to enhance activity tracking.
- Security enhancement: updated demo agent password to 'agent' for improved clarity and consistency.
Changes
- G2P-5719 Move activity DB tests to tests_integration so unit tests run as before (
fb3ef1a) - G2P-5719 Add activity registers: append-only ACTIVITY register kind (
da35988) - G2P-4929 Use 'agent' as the demo agent password (
27f544c)
registry-platform — develop 0.0.0-develop.435 (2026-09-23)
Note — Marking a version at this point before major changes are done on RP|
commit c145e3a · changes since 0.0.0-develop.432
Chart: openg2p-registry 0.0.0-develop.435
Summary
- New feature: added a mobile wallet card and offer screen to the agent portal, enabling individual transaction codes and scannable QR codes for wallet offers.
- Ongoing development: introduced a feature for handing over verifiable credentials (VC) to beneficiaries' mobile wallets, currently a work in progress.
Changes
- G2P-4929 Add a mobile wallet card and offer screen to the agent portal (
c145e3a) - G2P-4929 Give each wallet offer its own transaction code and a scannable QR (
f582bf9) - G2P-4929 Feature to handover VC to a beneficiaries mobile wallet added. WIP. (
fa490b1)
registry-platform — develop 0.0.0-develop.432 (2026-09-09)
commit c754000 · changes since 0.0.0-develop.430
Chart: openg2p-registry 0.0.0-develop.432
Summary
- Credential management enhancements: implemented rejection of duplicate credential IDs in Certify and ensured credential type is carried through look-up and authentication processes.
Changes
- G2P-4929 Reject duplicate credential ids before they collide in Certify (
c754000) - G2P-4929 Carry the credential type through look-up and authentication, not just issue (
5a9dc7a)
registry-platform — develop 0.0.0-develop.430 (2026-09-03)
commit 42fabd9 · changes since 0.0.0-develop.429
Chart: openg2p-registry 0.0.0-develop.430
Changes
- 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 (
42fabd9)
registry-platform — develop 0.0.0-develop.429 (2026-09-02)
commit 8ef194b · changes since 0.0.0-develop.428
Chart: openg2p-registry 0.0.0-develop.429
Changes
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.
