v0.25.21
upstash/context7v0.25.21Jun 20, 2026by abouolia
AI Summary
Security fixes for attachments, financial reports, and localized exports.
Key Highlights
- Cross-tenant attachment access prevention
- Correct base currency in financial reports
- Localized CSV/XLSX/PDF export headers
- CSPRNG for attachment S3 keys
New Features
- Handle missing ContentType in attachment download
- Correct base currency in financial reports
- Localized i18n column headers in exports
- Prevent cross-tenant attachment access
- CSPRNG for attachment S3 keys
- SQL injection fix via sortOrder
- Plaid webhook signature verification
Full Release Notes
## What's Changed * fix(server): handle missing ContentType in attachment download by @Y8C68 in https://github.com/bigcapitalhq/bigcapital/pull/1063 * fix(server): use correct base currency in financial reports by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1074 * fix(server): localize i18n column headers in CSV/XLSX/PDF exports by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1075 * fix(server): correct "Liabilties" typo to "Liabilities" in balance sheet by @rebekah-create in https://github.com/bigcapitalhq/bigcapital/pull/1090 * Fix pagination params silently ignored on collection GET endpoints by @c-premus in https://github.com/bigcapitalhq/bigcapital/pull/1089 * chore(sdk): update OpenAPI spec and generated types by @github-actions[bot] in https://github.com/bigcapitalhq/bigcapital/pull/1091 * fix(server): prevent cross-tenant attachment access (IDOR) by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1093 * fix(server): prevent cross-tenant access via organization-id header by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1094 * fix(server): use CSPRNG for attachment S3 keys (GHSA-gj48-p5ff-g67f) by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1096 * fix(server): prevent SQL injection via sortOrder in DynamicListing (GHSA-hcp2-qqg6-jjpm) by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1097 * feat(ee): audit logs domain level by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1076 * chore(sdk): update OpenAPI spec and generated types by @github-actions[bot] in https://github.com/bigcapitalhq/bigcapital/pull/1098 * fix(server): verify Plaid webhook signatures (GHSA-g56w-g54f-whq5) by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1095 * feat(ee): add multi-organization workspaces feature by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1078 * feat(ee): add workspaces feature by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1049 * refactor(webapp): rename store files and folders to kebab-case by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1100 * refactor(webapp): standardize withX HOC types with shared MapState generic and props interfaces by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1101 * fix(server): resolve all TypeScript errors without unsafe type casts by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1102 * refactor(webapp): rename query hooks to kebab-case convention by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1018 * feat(sdk): add table accept header to report fetchers and refactor audit log hooks by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1104 * refactor: convert containers default exports to named exports by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1105 * refactor(typescript): add proper types to Preferences container files by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1106 * ci: add Prettier format check GitHub Action by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1107 * chore(sdk): update OpenAPI spec and generated types by @github-actions[bot] in https://github.com/bigcapitalhq/bigcapital/pull/1108 * refactor: remove Project Profitability Summary report by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1110 * fix(webapp): resolve TypeScript errors across components and financial statements by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1109 * refactor(server): replace direct TenancyContext/TransformerInjectable providers with TenancyModule import by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1113 * fix(auth): add ownership check to API key revocation to prevent IDOR (GHSA-xc3g-x39m-684g) by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1114 * fix(import): enforce file type validation to prevent unrestricted upload (GHSA-4c3x-fp46-xp4r) by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1115 * fix(auth): replace weak uniqid reset token with crypto.randomBytes and fix broken expiry check (GHSA-qx24-x69m-97wr) by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1116 * refactor(webapp): simplify financial statements export progress toast by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1119 * feat(payment-services): add OpenAPI DTOs and derive SDK types from schema by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1122 * refactor(webapp): add proper TypeScript types to infinite-query hooks by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1123 * fix(webapp): dynamically load moment.js locales by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1124 * refactor(server): convert DTO properties to camelCase and add Vendor response DTOs by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1125 * refactor(server): add OpenAPI schema for vendor/import endpoints and derive SDK types by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1126 * fix(server): unify FinancialStatements number format DTOs by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1127 * fix(server): add OpenAPI schema for contacts auto-complete endpoint by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1128 * chore: format all packages by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1129 * fix(server): document numberFormat query param via @ApiQuery by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1130 * refactor: FS query type-safety and response DTO ids by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1131 * fix(webapp): extract flattenInfinityPages utility and harden Account select types by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1132 * fix(server): only pass SMTP auth when credentials are configured by @DogInfantry in https://github.com/bigcapitalhq/bigcapital/pull/1135 * refactor(webapp): tighten query types across banking, cashflow and items by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/1136 ## New Contributors * @Y8C68 made their first contribution in https://github.com/bigcapitalhq/bigcapital/pull/1063 * @rebekah-create made their first contribution in https://github.com/bigcapitalhq/bigcapital/pull/1090 * @c-premus made their first contribution in https://github.com/bigcapitalhq/bigcapital/pull/1089 * @DogInfantry made their first contribution in https://github.com/bigcapitalhq/bigcapital/pull/1135 **Full Changelog**: https://github.com/bigcapitalhq/bigcapital/compare/v0.25.20...v0.25.21