3.7.0: schema editor with templates, drag-and-drop reordering & preview, organization entities with role-based management, redesigned policy configurator, bulk DID registration performance & new onboarding
LatestHighlights
- New Schema Editor with form preview toggle, drag-and-drop field reordering, and clear sub-schema nesting #6422
- Schema Templates: reusable schema sets with field-level restrictions, update propagation, and detach support #6504
- New Design for Policy Configurator – block editor controls panel rebuilt to current design system #3532
- Organization entity: first-class organizations with Hedera account, DID, named roles, org-level permissions, member management, and policy assignment – with org-scoped document visibility in sourcing/validation blocks #5802 – community contribution: Xeptagon
- First Steps onboarding drawer for new users, opening by default on first login #6239
- Conditional logic on sub-schema fields #4907
- customLogicBlock bulk DID registration: parallel processing with bounded concurrency – eliminates multi-hour registration times for large device batches #6346 – community contribution: Climission
- Sustainability Atlas v0.1 beta: analytics and exploration layer over Guardian on-chain data – Business Abstraction Layer (128 methodologies, 38 registries harmonized), Methodology Explorer, Credit Lifecycle widget, on-chain provenance graph, real-time event stream integration PR #6413 – community contribution: Xeptagon
Other Enhancements
Schema / Excel
- Cross-schema source validation in documentValidatorBlock #6312
- New field types: Country, Continent, State/Province with cascading dependencies #6381
- Dynamic Calculation Inputs for Multiple Locations #6506
- Inline sub-schemas and consolidated enum tab in Excel schema templates #5584
- Guidance tab in generated Excel schema templates #5587
- Contextual Excel upload validation error messages #5582
Policy authoring
- MathBlock path autocomplete #6326
- Policy comparison value columns now use full available width #3716
- In-app User Guide links on general pages and complex forms #4072
- Dry-Run Mock Data is now opt-in: a "Move to Dry-Run" dialog replaces the forced enable prompt, with a per-policy "don't ask again" option PR #6518
- Request form drafts can now be exported to a local JSON file and restored – portable alternative to server and autosave drafts PR #6353 – _community contribution: Climission_ - Policy Manifest spec – machine-readable metadata contract for the methodology library #6031
Navigation / UI
- Dark mode – theme variables, PrimeNG preset, and user-selectable toggle PR #6212
- Login page modernized: branded gradient banner, Hedera watermark, card-based form PR #6355
- Navigation redesign: design tokens, PrimeIcons, vertical/horizontal layout toggle #6401
- Hedera navigation group: Tokens, Contracts, and Relayer Accounts grouped under "Hedera" #6485
- Feature Flag toggle for future UI features #6254
- Profile page redesigned: identity and settings consolidated into a card layout with copy-to-clipboard for DID and Hedera IDs PR #6234
Platform
- Angular 18 → 21 / PrimeNG 17 → 21 migration #6132
- Node.js 20 → 24 LTS migration #5537
- Yarn Classic → Yarn Berry v4 migration #6184
Developer
- Auto-updating Gitbook API documentation via GitHub Actions #5619
- Scalar API reference replaces Swagger UI at
/api-docs: branded, sidebar grouped by tag;/api-docs-jsonand/api-docs-yamlspec endpoints unchanged #6514 - Policy grid actions API: four endpoints under
/policies/:policyId/grids– access role-scoped at the policy engine level #5797 – community contribution: Xeptagon - Tool import permissions extensible to non-SR users #6282
- Policy schema lazy-loading: on-demand schema loading reduces memory and startup time PR #6489 – community contribution: Climission
- Schema reference in form block data: eliminates tens-of-MB payloads on large schemas PR #6402 – community contribution: Climission
- Improved IPFS policy import error message #6423 – community contribution: Climission
- Dynamic Read API endpoint for policy data: external consumers can query Guardian policy data via dynamic MongoDB filter fields #5796 – community contribution: Xeptagon
Fixed Bugs
- Dry-run with mock data: schema mock recording now runs in-process with batch DB insertion – 5-minute start times on large schema sets now resolve in seconds #6535 / PRs #6536 + #6533
- customLogicBlock JavaScript runtime exceptions now surface to UI #6419 – community contribution: Climission
- customLogicBlock execution errors no longer silently swallowed #6271 – community contribution: Climission
- GridFS write errors no longer silent PR #6487 – community contribution: Climission
- Dry-run IPFS 404 request loop eliminated PR #6411 – community contribution: Climission
- Dry-run virtual user scoped per session PR #6328 – community contribution: Climission
- GridFS connection added to queue-service startup PR #6370 – community contribution: Climission
- Step block unavailable flash fixed PR #6447 – community contribution: Climission
- Policy import no longer silently rebinds sub-schemas by title match #6298
- Page now refreshes after document submission without manual reload #6383
- Default branding applies on load; branding fetch deduplicated; no error toasts on fetch failure #6323
- Schema test data cleared/updated when field type changes #6315
- Navigation menu no longer jumps when opening sub-menus #3117
- Navigation items no longer collapse unexpectedly when clicking another item #6404
- Old UI updated: Tokens > Retirement #5538, Manage Contracts #5506, Policy Comparison (Schemas) #3553
- Stored XSS in branding company name fixed (CVE-2026-22674): company name was rendered via innerHTML; replaced with safe text assignment PR #6190 – community contribution: Climission
- Large policy publish payloads offloaded to GridFS – prevents crash at MongoDB's 16 MB BSON document limit on queue-service PR #6275 – community contribution: Climission
- Unhandled promise rejections no longer crash services – process-level error handlers prevent a stray rejection from terminating guardian-service or api-gateway PR #6314 / PR #6321 – community contribution: Climission
- Migrations serialized across replicas with a Mongo lock – concurrent boot migrations on multi-replica deployments no longer race PR #6340 – community contribution: Climission
- Policy messages fast-fail when policy not loaded – previously waited out the full timeout (up to 5 min) before reporting unavailable PR #6341 – community contribution: Climission
- Pathological VC canonicalization on large GeoJSON geometries fixed – large MultiPolygon fields were taking tens of seconds and causing multi-GB memory spikes; geometry now signed as a
@jsonliteral PR #6251 – community contribution: Climission - Stale SPA after redeploy fixed – index.html now served with no-cache headers so browsers always load the latest build PR #6361 – community contribution: Climission
Schema Editor / Templates
- Schema templates: "Save all" stopped working after several edits to a schema (#6629)
- Schema list: Create and Publish buttons were clipped (#6613)
- Deleted schemas were still served by a stale schema-listing cache for up to 10 minutes (#6626)
- Schema import dialog: errors and warnings now surfaced prominently (#6641)
- Conditional fields rendering in reverse order fixed (#6622)
- Nested sub-schemas with conditional visibility failed to render, blocking form submission in dry-run with payload (#6562)
- Geo cascade fields: value could not be changed once selected (#6592)
Policy Configurator / Blocks
- MathBlock path autocomplete not resolving input variable schema paths correctly
- Switch Block condition field not rendering existing value from policy JSON (#6492)
- Blocks library: static color coding now preserved when brand colors are updated (#6595)
- documentValidatorBlock: array field path resolution and dual-source conditions fixed (#6546)
- Components and policy properties no longer shown in the UI when in JSON/YAML mode (#6607)
Dry-Run
- Progress bar added during dry-run setup (#6600)
- Frame flicker fixed when burger menu closed during dry-run (#6604)
Navigation / Feature Flag / Profile
- Feature Flag banner z-order overlap with Policy Configurator and Schema Editor fixed (#6560)
- Navigation menu labels and page help text clarified (#6538)
- Docs widget no longer shown when disabled in profile (#6627)
Policy Management
- Remote policy public link naming standardized to "Policy Public ID" (#6599)
- Policy action menu: schema items left-aligned (#6596)
- Export policy dialog no longer stays open after download (#6628)
- Draft token no longer orphaned when a policy is deleted (#6610)
- "List of policies" link no longer misplaced when opening a policy (#6612)
- UI no longer requires a double-click to appear when opening a policy (#6611)
- Comment count now refreshes without re-entering the policy (#6606)
- Save and restore draft buttons no longer disappear while scrolling (#6605)
Other improvements
- MAX_TRANSACTION_FEE not applied to wipe and retirement contracts (#6591)
- Token ID link not opening HashScan (#6601)
- AI Search hidden when not configured (#6602)
- Indexer: NATS connection now retries indefinitely instead of giving up PR #6615 – community contribution: Climission
- Indexer: allOf conditions with no if.properties now skipped instead of erroring PR #6616 – community contribution: Climission
- Related policies now sorted by version when seeding previousVersion PR #6676 – community contribution: Climission
- Assessment values now read correctly from a non-array credentialSubject PR #6675 – community contribution: Climission
Config Changes
| PR | Change | Action required? |
|---|---|---|
| #6186 | Volume mount paths corrected to per-service directories | Yes if using custom bind-mounts or host-mounted config directories |
| #6246 | Cache image: Redict → Valkey 8.1 | Yes for image allowlists / air-gapped environments |
| #6347 | New CUSTOM_LOGIC_CONCURRENCY env var (default: 10) |
No |
| #6414 | 8 new LISTENER_* / REST_API_* env vars (commented-out defaults) |
No |
| #6490 | Quickstart-build: logger + notification services built from source | No |
Breaking Changes
None in this release.
Known Issues & Notes
Policies using sub-schema conditions (#4907) require Guardian ≥ 3.7 on all instances that load them – they are not compatible with earlier versions.
Please report issues via GitHub or send suggestions and feedback to guardian-feedback@hashgraph.com.
View Changes
Compare full changes: 3.6.0...3.7.0