registry-platform
Published automatically.
Repository: github.com/OpenG2P/registry-platform · Container images: Container Registry
| Version | Date | Type | Notes |
|---|---|---|---|
1.2.0-rc.434 |
2026-08-28 | release candidate | |
0.0.0-develop.421 |
2026-08-28 | develop |
Release candidates
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.421 (2026-08-28)
commit 3370e47 · changes since v1.0.0
Chart: openg2p-registry 0.0.0-develop.421
Summary
- Major: Migration to GitLab for CI/CD, dropping GitHub Actions; updated build and publish processes accordingly.
- Security enhancements: Added CSRF validation for staff-portal-api requests and improved client-side CSRF token handling.
- Agent portal improvements: Rebuilt UI on Next.js BFF model, introduced a landing page, and implemented cookie handling for authentication.
- Data handling updates: Enhanced document management, introduced pagination for AWE proxy requests, and streamlined sample data loading processes.
- Refactoring efforts: Removed unused imports and methods, updated attribute fetching, and improved error handling across services.
- Dependency updates: Bumped versions for Keycloak-init and ui-widgets, ensuring compatibility with recent changes.
- Feature additions: Implemented new intake form components, enhanced permissions handling, and added application reference fields.
- Cleanup tasks: Removed dead code related to data policies and fixed various model and controller issues for improved stability.
Changes
- G2P-5605 Fix the images JSON in the caller (
3370e47) - G2P-5605 Build and publish on GitHub again (
dc5522a) - Updated versions related to sub grouping of platform-services in Gitlab. (
09365e5) - G2P-4929 Point the agent portal API at the shared auth Redis (
8fe8d6b) - G2P-4929 Pull iam-core from GitLab instead of the frozen GitHub mirror (
779926e) - Keycloak-init version bumped up. (
746ac03) - G2P-4929 Put the agent portal's tasks behind a landing page (
0137024) - G2P-4929 Resolve agent permissions the way the staff portal does (
0db58a4) - G2P-4929 Rebuild the agent portal UI on the staff portal's Next.js BFF model (
bc49a26) - G2P-4929 Read the agent portal's prefixed auth cookies (
136f938) - G2P-4929 Fail the credential-config job when Certify registration does not succeed (
cbbec9c) - G2P-4929 Fix the provider-row SQL quoting so the bootstrap job can run unattended (
65186d5) - G2P-4929 Feed the provider-row SQL through stdin so psql interpolates the key (
32e978e) - G2P-4929 Don't fail the whole seed when Master Data code lists are unavailable (
51d8ab2) - Keycloak-init moved to Gitlab, and its latest version referenced in Chart.yaml. (
efce0ec) - G2P-4929 Point master data DB credentials at the renamed secret (
1e269ad) - G2P-4929 Use an image that actually provides openssl for keypair generation (
4a98d83) - G2P-4929 Bootstrap the beneficiary-authentication setup from the chart (
0b1e48d) - G2P-4929 Default the issuer DID so a registry with VC issuance installs cleanly (
625036c) - G2P-4929 Give each registry its own agent Keycloak clients (
c383a49) - G2P-4929 Audit agent portal actions and reject unresolved credential template placeholders (
fa0e22b) - G2P-4929 Unwrap the credential envelope and fix the Certify proof audience (
581952c) - G2P-4929 Fix registrant authentication, agent UI API routing and token fallback (
da26791) - G2P-4929 Fix registrant authentication and route the agent UI to its API (
3bbf8a8) - G2P-4929 Fix registrant authentication: resolve the register model, share the session store, unblock the agent portal (
f9f8e63) - G2P-4929 Create the agent Keycloak realm and give the agent UI its own hostname (
61f85b1) - G2P-4929 Serve the agent UI on nginx's port instead of the Next.js port (
b5cad3c) - G2P-4929 Derive the Certify audience from a hostname instead of a hardcoded URL (
f59189d) - G2P-4929 Harden the agent portal authentication popup to match the registry widget (
655590e) - G2P-4929 Make the agent portal card volume optional so a missing ConfigMap cannot block startup (
22f62e7) - G2P-4929 Fix mangled show_if conditions and surface the VC master switch (
7055e57) - G2P-4929 Surface the Certify base URL and proof audience in the install form (
12f3b99) - G2P-4929 Register credential configs with Certify and align agent Keycloak clients (
e25bd6b) - G2P-4929 Align agent Keycloak clients with IAM and document the agent realm recipe (
43439a8) - G2P-4929 Add agent portal VC issuance to Registry Platform behind a disabled-by-default switch (
09543b3) - G2P-5518 Remove dead staff-api imports from registry-core controller services. get_data_policies and get_data_policy_mnemonics were imported in four files and never called, but registry-core ships in every image while only staff-api installs openg2p_registry_staff_api — so partner-api and any non-staff image crashed at import. Also correct the ID-types note in questions.yaml. (
5a51c9e) - G2P-4804 Apply only the explicit PII rules to an inherited column. verify() exempted derived columns but not inherited ones, so five age_band columns inherited from NSR's individual view failed the build as unbounded free text; the deny-list and patterns still apply to them, since a hand-written parent could expose a name, but the free-text heuristic must not re-judge a column whose meaning the parent already declared. (
50804dd) - G2P-4804 Let a registry declare inherited parent attributes and a row filter. Without them the vocabulary could not express even the simplest semantic view — a crop needs its parcel's tenure on the row, and RP marks superseded records rather than deleting them, so an unfiltered view counts a corrected parcel twice. (
fa1af5d) - G2P-4804 Let a registry declare derived columns, roll-ups and which views are materialized. Without these the generator could only emit raw record-grain views, so anything a country computes — age bands, parcels per farmer, whether a holding is titled — still needed hand-written SQL; derived expressions are wrapped around the PII-free base select so they cannot reach a withheld column, and roll-ups read the child's base table so parent and child views never reference each other. (
4c70842) - G2P-4804 Generate the mechanical reporting views from the registry's own schema. Each registry hand-wrote them, so coverage was whatever somebody remembered — FR gave livestock a boolean and no view while the register held 132,824 rows — and the geo block had already drifted between FR and NSR; the generator takes hierarchy depth and labels from Master Data and the entity tree from reporting.yaml, so the output depends on the install rather than on what has been registered, and it fails the job if personal data reaches a generated view. Also ignores pycache, which the db-seed scripts now produce. (
9b7c74b) - G2P-5335 Enable BUILD_CACHE for registry-platform builds (
d23682b) - Reapply "G2P-5222 Repoint Partner Management to commons-services and align PM-seed auth to the g2p-bridge pmSeedClientId pattern." (
a5ade5e) - Reapply "G2P-5222 Consent and partner management related." (
63f2385) - Reapply "G2P-5222 Enhancements for consent management, partner management and WJS support." (
c6b51a0) - 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) - Moved to GitLab: openg2p/registry/registry-platform (read-only; build/publish disabled) (
c80682e) - 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)
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.
