What's Changed
- fix(webapp): add SDK error-reporter middleware and migrate workspaces to tanstack-query hooks by @abouolia in #1145
- fix(webapp): co-locate page-scoped drawers and dialogs with their pages by @abouolia in #1148
- refactor(webapp): typescript landing pages by @abouolia in #1152
- refactor(webapp): typescript form pages by @abouolia in #1150
- feat(webapp): add ESLint import/order rule and apply autofix by @abouolia in #1156
- refactor(webapp): Items select components by @abouolia in #1157
- fix(webapp): fix "Something went wrong" when connecting a bank via Plaid by @isener in #1154
- feat(webapp): redesign item form by @abouolia in #1080
- refactor(webapp): migrate Items, Warehouses, Inventory Adjustments, and Warehouse Transfers to typed camelCase by @abouolia in #1160
- fix(webapp): migrate Items, Warehouses, Inventory Adjustments, and Warehouse Transfers to typed camelCase by @abouolia in #1161
- refactor(webapp): convert AdvancedFilter widget to typed TypeScript by @abouolia in #1162
- security/Add RBAC guards to WarehouseTransfersController by @jutur in #1164
- security/Add RBAC guard to Inventory Valuation report controller by @sarafmudit in #1166
- security/Add RBAC guard to Trial Balance report controller by @sarafmudit in #1165
- properly support DB_PORT environment variable by @ivylikethevine in #1171
- refactor(webapp): convert Customers and Vendors modules to TypeScript by @abouolia in #1163
- feat(server): sanitize PDF template HTML and guard mutation endpoints by @abouolia in #1172
- fix(auth): password reset 500s — moment default-import broken under esModuleInterop:false (#1058) by @kryptobaseddev in #1173
- fix(attachments): guard attachment upload/link/unlink (GHSA-xhq3-pp9m-vpmr) by @abouolia in #1179
- fix(webapp): import useEffect in SetupInitializingForm by @ClaudeWorkspace2026 in #1181
- fix(roles): guard role management endpoints (GHSA-jgqg-324p-322h) by @abouolia in #1178
- feat: typescript dialog forms by @abouolia in #1183
- feat(webapp): typescript alerts containers by @abouolia in #1184
- fix: hydrate general preferences form by aligning keys with camelCase API by @abouolia in #1185
- fix(webapp): declare missing openapi-typescript-fetch dependency by @abouolia in #1186
New Contributors
- @isener made their first contribution in #1154
- @jutur made their first contribution in #1164
- @sarafmudit made their first contribution in #1166
- @ivylikethevine made their first contribution in #1171
- @kryptobaseddev made their first contribution in #1173
- @ClaudeWorkspace2026 made their first contribution in #1181
Full Changelog: v0.25.23...v0.25.24