🛠 Improvements
ZEN-47050 – Implemented dual-user tag lookup for activity creation. When creating an activity on behalf of another user, tag suggestions now include tags available to both the logged-in user and the target user, with smart rate-limit handling and graceful fallback.
INF-1614 – Fixed the expense list grid going blank after closing dialogs by refreshing only the affected row. Also added server-side pagination safeguards, improved expense detail dialog behavior on backdrop/Esc close, and minor UI polish (comment dialog, spacing, disabled styling).
🐛 Bug Fixes
INF-1612 – Fixed multiple post-Angular v20 upgrade regressions across the UI, including: login/signout network errors, broken form fields on Company Configuration, card product keyword sliders rendering incorrectly, role chip errors, statement companyId errors, activity wizard ExpressionChanged and TypeError crashes, employee payments and purchase order export menu errors, top merchant names not rendering until mouseover, and user termination TypeError.
ZEN-48620 – Fixed a production crash in the activity wizard where the stepper would fail with a TypeError and refuse to advance when creating allocations for certain allocatable types. The root cause was direct mutation of Angular CDK stepper private internals, which broke after the Angular 18→20 upgrade.
ZEN-48649 – Fixed a TypeError when opening a saved export configuration on the Activities screen. Saved configs with a null query object now default to an empty object before any property access.
⚠️ Important Notice: Node.js 20 End-of-Life
Node.js 20 reaches end-of-life on April 30, 2026. After this date, Node.js 20 will no longer receive security patches, critical bug fixes, or any upstream support. Partners and customers still running Custodia services on Node.js 20 should plan their upgrade to Node.js 22 LTS (supported until April 2027) before the deadline. Running end-of-life runtimes may also impact compliance posture for SOC 2, PCI DSS, and ISO 27001 audits. We strongly recommend completing the migration by the end of March 2026.