🚀 Features
ZEN-48525 – Added a new revertExpensesNotToBePaid API endpoint that allows cash-expense-approver and finance roles to reverse accidental rejections of out-of-pocket expenses. The endpoint restores expense status, amounts, collection membership, budget utilization, and creates an audit trail record.
🐛 Bug Fixes
INF-1611 – Fixed an issue where large images processed by custodia-cdr could be truncated in the HTTP response. The image check endpoint now sets Content-Length and properly awaits response completion before closing the stream.
INF-1610 – Updated @swimlane/ngx-charts to fix broken chart tooltips. Also increased the maximum attachment size to 10 MB to align with mobile client-side restrictions.
⚠️ 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.