Housekeeping
This update was all about cleaning up and housekeeping. There’s been a looooot of tidying up around here.
Oh, also, over 10 000 businesses are now on stub. Not exactly a new feature, but we’re totally celebrating the many awesome people hustling on stub every day. High fives to all you who make it happen.🥂
Improvements
Sync: Instead of waiting for the entire universe to update every time you click sync, each bank account or app updates individually. No more all-or-nothing fingers crossed syncing.
Performance: Optimized database queries, logging pipelines, and memory pools so stub is screamingly fast and rock-solid under pressure.
Transactions: Upgraded our cache architecture to guarantee you’re always seeing the freshest real-time data across the app.
Accounts: Standardized foreign currency journal imports so they match up by account name instead of codes.
Fixes
Bank Accounts: Fixed an issue where PDF and CSV statement imports would abruptly stop at the 15th of the month.
Invoices: Resolved a random condition that could occasionally drop line items from fresh invoices.
Invoices: Fixed a double-counting bug on deleted or voided invoice balances.
Transactions: Prevented duplicate bank account creations and resolved an issue where deleted duplicates would creepily reappear. 💀
Bank Accounts: Stopped a scenario where some bank syncs would silently drop or delay transactions.
Bookkeeping: Prevented uploaded bills from accidentally categorizing themselves as outbound invoices.
Chart of Accounts: Fixed a bug where setting an expense role to "None" would stubbornly revert back to "Cost of Sales".
Payments: Swept away sub-cent FX rounding residue that was getting split payments stuck in limbo.
Security: Fixed an issue where one-time PINs (OTPs) weren't sending.
Team: Business owners can now leave a business without getting trapped in a loop that sometimes pulled them back, like it was Hotel California.