Every ship, receipts and all.
Every release since we started keeping this log. What we added, what broke, what we quietly deleted because nobody was using it. If you're self-hosted, the update note tells you if the migration is safe to run at lunch or better after coffee.
Cosmetic but embarrassing. The 'issued' date was being re-serialized at render time instead of stored. It matched, unless you printed a very old invoice on a Sunday, in which case it definitely didn't.
The most-requested feature of 2025 (612 votes). Clients can leave a comment inline on any line item before paying. Threaded, notifies you by email, resolves when you respond. Built by two people over four weeks.
A reporter on our disclosure program found a reflected XSS in the password-reset link if you hand-crafted the email query param. No evidence of exploitation. Bounty paid. All hosted workspaces patched within 3 hours.
Both directions, finally. If you ran cloud and self-hosted side-by-side (some agencies do), expense categories now match across both. We also fixed the three places the UI called them 'tags' instead of 'categories'.
Swapped Puppeteer for a custom Chromium pool. Nothing changed visually. Big invoices used to time out at 60s on slow hosts. They don't anymore. Self-hosted Docker image is 120 MB smaller.
Clients can see how many retainer hours they have left without emailing you. We expect this to remove about 200 'how much is left?' emails per month across our customer base. Please do tell us if it removes more.
It shipped in beta in August, had a 31% adoption rate, a 12% retention rate after two weeks, and a 0% rate of anyone emailing us to say they liked it. We pulled it. If you used it, we're sorry, and we'd love to hear why via bruno@gingerbreadapp.com.
Previously a CSV slog. Now a one-screen connector. OAuth, select date range, go. Brings over clients, invoices, payments, expenses, and, if it was ever correctly tagged, categories.
SHA-1 has been deprecated for a while. We left it in for a year to let everyone migrate. That year is up. Old signatures stop being sent on December 1. If you haven't updated your receiver, now's a great time.
Recurring time entries
For retainer work. Block out every Tuesday 9a–11a, it auto-logs. Skip a week from the widget without editing the schedule. Under the hood this is 40% of what we need for a full calendar view, which is coming.
Get the changelog in your inbox.
One email per release, never more than two a week. Self-hosted folks get the upgrade notes a day early. Subscription endpoint is on the way — for now, follow along on your channel of choice.