Project status filtering is back

You can now filter projects by status directly from the project list. A new status bar appears below the "All, leads, jobs and archived" tabs in table view, showing all project statuses along with item counts. Click any status to filter instantly. It's the quick overview you've been asking for.
Search is back in action
The search modal now opens and closes correctly without visual glitches or redirecting you back to the dashboard. Search, find what you need, and keep working.
Create notes on smaller screens
When your dashboard sidebar collapses on smaller screens, you'll see a "New note" button so you can still create notes without expanding everything. Small thing, but it matters.
Autopay and gratuity settings
You can now toggle autopay and gratuity options from your payment settings page again in 3.0. More control over how you collect payments and tips from your clients.
Transaction categories are working properly
Transaction categories and amounts now display correctly across expenses, taxes, and invoice line items. Filtering by category now works as expected, making reports more reliable.
Dashboard only shows triggered flow actions
The dashboard now only shows flow actions that have actually been triggered and are awaiting approval. This removes confusion and keeps your pending list accurate.
Schedulers with lots of availability won't error anymore
If you had a scheduler with a ton of availability dates (we're talking hundreds), updating it would fail with a 400 error. Fixed by cleaning up how we handle scheduler dates behind the scenes. Your availability settings will save reliably now.
Email sending won't crash on complex signatures
We fixed how signatures are processed so your emails send successfully, even with quirky formatting from legacy signature builders. Some email signatures with specific HTML formatting (particularly double semicolons in the styling) were causing emails to fail completely.
Text element edits saving fixed
Here's an annoying one we squashed: If you were actively editing a text element in the form builder and hit save without clicking away first, your changes would disappear. Not anymore. Changes save as you type, so you won't lose work.
We made some behind-the-scenes improvements that won't change what you see but help keep things running smoothly: test fixes, removed unused code, and hid the year-end wrapped notification after you've viewed it.
We built you something special to close out 2025.
Your Year in Review celebrates everything you accomplished this year—from revenue to autopay wins to your fastest response times. It's a snapshot of your business in motion, with all the numbers that prove you showed up and did the work.
Whether 2025 was your biggest year yet or a year you survived and kept going, we wanted to give you a moment to look back and see how far you've come.
You'll find it in your dashboard starting now until January 31st, 2026.
Take a look, share it if you want, and give yourself some credit.
You bet on yourself this year. Heck yes!
Message threads now sort by most recent activity
Your message inbox sorts threads by the most recent email in each conversation, not just the parent email. That reply from this morning shows up at the top where it belongs, so you never miss a client response.
Reschedule and cancel appointments directly from your calendar
Calendar events now include reschedule and cancel options. Click the action menu in the top right of the editing view to send your client a reschedule link or open the cancellation flow.
See all your scheduler templates when adding to projects
The scheduler list dropdown menu now shows everything you've created. No more "I know I made that template, where is it?" moments.
Completing a task will advance your workflow to the next action
Fixed a bug where checking off a task in your flow wouldn't trigger the next steps like it should. Your flows will now keep flowing automatically.
Resolved error saving proposals
Fixed the "Oops. Something went wrong" error that was blocking you from saving proposals. Package pricing and editing now work smoothly so you can get your proposals out to clients without fighting the form builder.
Invoice title column now available on the table
Your invoices table now shows titles so you can see what's what at a glance. No more squinting at client names and amounts to figure out which invoice is which.
Various security and stability improvements to make your experiences even more smooth and secure.
Upload signed contracts as PDFs — You can now upload scanned or offline-signed contracts directly as PDFs in your projects.
Custom field URLs actually work as links — Custom fields containing URLs now behave like real, clickable links across projects and contacts. You can finally click them instead of pretending plain text is a feature.
Can't apply the same flow twice to one project — Trying to apply a flow that’s already attached now gives you a clear message instead of duplicating emails, tasks, and chaos. One less accidental mess to clean up.
Form styles no longer break signature fields — Signature and initial fields now stay consistent and correctly styled, no matter what fonts or colors you customize elsewhere on the form. What you see in the editor is (truly) what clients see.
Link forms correctly use your external URL — Link forms now send clients to the actual external URL you set, whether copied, emailed, or added to a project. No more surprise detours to a broken Dubsado page.
Hyperlink button is back in the text editor — The hyperlink option has returned, so you can add links to text, images, and buttons without pasting raw URLs like it’s 2005.
Email signatures no longer duplicate — You’ll now see just one signature in the composer—the one that’s supposed to be there. No copy-of-a-copy surprises.
Paid invoices stay paid when you edit them — Updating titles or notes on a paid invoice no longer resets the payment status. Edits that don’t affect the balance… don’t affect the balance.
Autopay settings now reflect actual overrides — The autopay display now shows the correct settings, whether they come from workspace defaults or your payment plan overrides. No more guessing which rules are running the show.
Block off specific dates without affecting your full schedule — You can now mark individual dates as unavailable using date-specific hours. Perfect for taking a day off without reengineering your entire availability setup.
Created date column works across all tables — The created date column now appears everywhere it should, giving you consistent sorting and filtering options across all tables.
More 3.0 fixes and improvements coming at you today!
Clicking checkboxes one by one to bulk archive or delete messages gets old fast. The bulk actions bar now includes a select-all option (up to 100 items at once) for your Messages and Custom Templates lists. Clean up your workspace without the repetitive clicking.
Your brand colors should show up everywhere in your dashboard, not just some places. Some users were seeing the default Dubsado green instead of their custom brand colors. We fixed how brand colors are formatted across the dashboard so your branding stays consistent throughout your workspace.
Payment plans should calculate correctly the first time, every time. We fixed an issue where percentage amounts weren't showing up properly on "divide equally" installments for recurring invoices. Your payment plans now display the right numbers so your clients know exactly what they owe.
Hey there - Thanks for being part of the 3.0 beta journey. Your feedback has been incredible... every bug report, feature request, and "hey, this feels weird" message has helped us make Dubsado better. We're moving fast now, shipping fixes and improvements that matter to you. This month's updates will continue to be all about smoothing out the rough edges of 3.0 beta... let's dive into today's updates:
Your custom domain now works everywhere – If you've set up a custom domain for your Dubsado account, you know the professional edge it gives you. Now you can successfully connect your URL without running into an error. No more mixing dubsado.com links with your custom domain. Your brand stays consistent across every touchpoint.
Assign tasks to the brand owner – Multi-user accounts had a weird gap: you couldn't assign tasks to the brand owner. That's fixed now. The brand owner appears in the assignee list just like everyone else on your team. Yes, you can assign tasks to yourself. We don't judge.
Create projects and contacts from anywhere – Quick actions on your dashboard now open clean modals for creating projects and contacts. Plus, tasks behave better when you're creating them from different places in the app. Fewer clicks, smoother flow.
Press Enter to confirm email addresses – When composing emails, you can now press Enter to confirm an email address. No more reaching for your mouse when you're in the zone.
Email settings page works as expected – The email settings page had a few rough edges. All smoothed out now. Setting up your email connection should be straightforward.
Better workflow failure messaging – When a workflow action fails, you'll now see clear messaging about what went wrong and why. No more guessing games. We promise we're not being cryptic on purpose.
Calendar events no longer go missing – Ever notice some of your projects or tasks just not showing up on your calendar? We increased the event limits and fixed how calendar data loads so you can see everything you need to see. Your meetings were there all along—they were just playing hide and seek.
Calendar profile names display correctly – If you sync with Dubsado and your profile name wasn't showing up properly, that's fixed. It should always show your account email when you connect.
Time selector respects 15-minute increments – The time picker was letting you select unique times that didn't match the 15-minute increment settings. Fixed so it actually respects your preferences. No more 2:47 PM meetings unless you really want them.
Remove deposit invoices from project schedulers – You could add a deposit invoice to a project scheduler but had no way to remove it. Now there's a clear button so you can update your scheduler settings when your pricing structure changes.
Reconnecting payment accounts works smoothly – If your Dubsado Payments account gets disconnected, the reconnection flow now works correctly. No more getting stuck when trying to set things back up.
Dropdown improvements – Fixed dropdown behavior across various parts of the interface for more consistent interactions.
Form template redirect – When clicking the Forms tab you'll be immediately directed to the form templates page now.
Brand owner invite prevention – Fixed a quirk where brand owners could accidentally invite themselves as team members to their own brand. You're already on the team, promise. No need to send yourself an invitation.
Legacy invoice discount removal – Removing a discount from a legacy invoice now fully removes it when you open the invoice in 3.0. The discount disappears completely like it should.
Microsoft email forwarding option has returned - If you use a Microsoft email, you can now toggle on or off for your emails to be imported into Dubsado.
Email conversations now thread properly - Ever send an email from Dubsado and have it show up as a brand new thread instead of part of the ongoing conversation? Yeah, that was annoying. Fixed the formatting for Microsoft and SMTP providers so your emails thread correctly in your client's inbox. Conversations stay organized, the way they should.
Internal events stay link-free - Creating an internal event or task for yourself shouldn't automatically generate a video conferencing link. (Why would you need to video call yourself?) Internal events and tasks now skip the conferencing link entirely, so you only get meeting links when you actually need them.
Choose which calendar handles conferencing - If you have multiple calendars synced, setting up conferencing was hitting a wall. Now you can pick which calendar should handle your conferencing links. One quick selection, and conferencing works the way you need it to.
Projects without end dates show up on your calendar - Some projects don't have hard deadlines, but they still need to be visible. Projects without end dates now appear on your calendar so you can see everything you're juggling. We also smoothed out the date picker while we were at it.
Active recurring invoices lock the start date - Editing the start date on an active recurring invoice could throw off your historical data. Now the start date is locked once the invoice is active. You can still edit the next payment date to keep things on track without accidentally breaking the pattern.
Quantity fields increment by 1 now - Clicking up by 0.01 when you just want to add 2 more items was nobody's idea of fun. Based on your bug reports, quantity fields now step up by 1, matching how the package editor works. Faster, less annoying.
Project icons now show in list views - Quick visual recognition makes scanning your lists faster. Project icons now appear in messages, forms, and flows, so you can spot what you're looking for at a glance.
Category field is back for project expenses - Tracking expenses without categories makes tax time way harder than it needs to be. The category field is now visible again when you're adding expenses to projects. Keep your books organized from the start.
Form contract links in emails work correctly now - Sending a client a contract link that takes them to the wrong place is not the professional first impression you're going for. Fixed the contract link generation in the email editor so project forms point to the right URL every time.
Small visual formatting fixes - Those little alignment issues add up to a less polished experience. Sub text in flows, invoices, and other edit screens now align correctly with the title. One less visual distraction.
Mobile navigation is easier - Managing your business from your phone shouldn't feel like squinting at tiny buttons. We updated the breadcrumb menu, help section, search, and workspace switcher to work better on mobile screens.
This marks our 100th release, update, and fix this week. Let that sink in for a second.
After 2.5 years of pausing feature development to rebuild Dubsado from the ground up, we're now moving faster than ever. In the last month alone, we've shipped 300 updates and changed over 70,000 lines of code.

The future is on fire, and we're just getting started.
Contract countersigning fixes - Fixed a couple of issues with contract countersigning. The countersign button now works properly without opening unexpected pages, and contract previews refresh immediately after you countersign so you can see the updated document right away. No more surprise tabs... just smooth signing.
Legacy contract access restored - Older contracts are now accessible again through their direct URLs. If you've been having trouble signing legacy contracts, this should be resolved. The classics are back by popular demand.
Duplicate contract prevention - Fixed an issue where applying Flow templates to projects could accidentally create duplicate contracts. The system now checks for existing contracts first to keep things clean. One contract to rule them all... no doubles.
All-day event display fix - All-day events imported from Google Calendar now display correctly on a single day instead of incorrectly spanning two days. Because Monday doesn't need to bleed into Tuesday. It's already long enough.
Calendar day view date accuracy - The calendar day view now shows the correct date when you're navigating between days. No more confusion about which day you're actually looking at. Time travel: still not a feature, but at least the calendar knows what day it is.
Proxima Nova font restored - Proxima Nova has been added back to the form builder. You'll no longer see a blank font selected when editing old forms. Your favorite font is back from vacation.
Package selection interface update - Improved the package selection experience in the form builder with a more polished and consistent interface. Because choosing packages should feel as good as receiving them.
Performance improvements - We've made several performance improvements and cleaned up unused code to keep Dubsado running smoothly. (We tidied up the basement... you won't see the difference, but you'll feel it.

We added a countersign button for contracts. No more clicking into the contract, opening it in a new window, and signing. Just click the button and you're done. Finally, signing contracts is as easy as ordering pizza... minus the pizza.
Projects tab label fix - Fixed a labeling issue where the "New Contact" button appeared on a contact's Projects tab when it should say "New Project". The button now correctly displays based on context.
Duplicate client email validation - Resolved an issue where creating a new project with a "new client" email that already existed would fail silently. The email field now highlights in red with an accompanying toast notification when a contact with that email already exists, and the request properly prevents proceeding.
Updated the default status when creating a project - We updated the create project modal to pre-select "Lead: No Status" by default.
Video tutorial callout - Added a dismissible onboarding callout to the main navigation sidebar that helps users get started on Dubsado 3.0. It's like a helpful friend who knows when to show up and when to step aside.
Form management actions - Finally it's back! Added duplicate, download PDF, and apply to portal actions for forms within projects and contacts. This makes it easier to create fresh copies of forms, download them, or add them to client portals. Note: The duplicate option is hidden for contracts, and the "Apply to portal" button hides once a form is already applied.
Smart fields in form previews - Fixed a critical issue where invoice smart fields were not displaying in contract previews and editors when forms were applied to projects.
Invoice smart fields enhancement - Follow-up improvements to invoice smart fields in form previews. With this we also improved tax and discount calculations for better accuracy, and added additional computed fields to the formatted invoice data. We did the math so you don't have to... you're welcome.
Calendar payment filtering - Fixed an issue where payments with relative dates were not appearing on the calendar for basic users. The system now correctly retrieves all payments and filters by date, and also resolved a bug where editing an event in a takeover was creating a new event instead of updating the existing one. Time is relative, but your payment schedule shouldn't be invisible.
Event popover truncation - Fixed text truncation issues in event popovers across appointment details, external events, and internal events. Event information now displays properly without being cut off. We finally got to the point.
Coupon code case sensitivity - Fixed a bug where coupon codes entered in uppercase (like "ILOVEDUBSADO") were not being recognized. The system now converts all subscription coupon codes to lowercase for consistent matching. Because apparently we were YELLING about discounts and nobody could hear us.
Scheduler group link & event editing - Fixed two issues: scheduler group links were not populating when sending scheduler group emails, and editing events was creating duplicate events instead of updating the original. Both issues are now resolved. Two birds, one update... we're efficient like that.
Flow task completion - You can now mark tasks as complete directly within the flow visualization. The system determines action completion on the backend for better performance, and task nodes now display a completion checkbox for better visibility into workflow progress. Check, check, and check.
Improved inline editing - Expanded the clickable area for inline editing cells to the full cell width in table views, making it easier to select and edit. Selected cells now highlight with a green border for improved clarity and usability. We made it easier to hit the target..
Email composer positioning - Fixed an issue where the minimized email composer wasn't positioning correctly. The composer now properly tracks its minimized state and adjusts to the bottom-right corner when minimized, with improved performance for position updates. It finally knows its place.
Email list optimization - Significantly optimized the database for listing emails. The refactored service improves the performance and backend code organization, resulting in faster email list loading times. Basically, your emails load faster now. We won't say how fast, but let's just say they're in a hurry.
The delete confirmation dialog now actually appears on top when you're deleting events. No more playing "find the button" behind overlapping windows.
Made the navigation menu stand out more on mobile and tablet. Added some color and changed the icon so you can find it when you need it.
Forms now keep their "sent" status when you edit them.
Fixed a frustrating bug where applying a payment for the exact invoice balance would get rejected. Turns out fractional cents were causing chaos behind the scenes.
Payment reminders now wait for contracts to be signed before sending. Your clients won't get "payment overdue" emails for contracts they haven't even signed yet.
Made display settings easier to spot. Sometimes the simple fixes matter most.
We've been knocking over a ton of bug fixes and small improvements that have come in from our amazing beta users. We've got plenty more in the pipeline that will be coming along throughout the week.
Your scheduler settings now play nice with large numbers. We also fixed the tooltip examples to actually match whether you're working in minutes or hours.
Event times are back on your calendar month view. Turns out seeing when your appointments are scheduled is kind of important.
Your events were getting stuck instead of exporting to your calendar. We fixed the export process and made sure your Calendar ID gets set correctly.
Scheduler reminders now default to appointment reminders instead of form reminders. One less thing to double-check.
You can now apply time tracker entries directly to project invoices. Plus we fixed that annoying cursor jump that happened when typing in time tracker fields.
Fixed a bug where fully paid invoices were incorrectly showing up as overdue. Your paid invoices now correctly show their happy, paid status.
When you're editing a flow action, the node you clicked now highlights so you can actually tell which one you're working on.
The payment plan selector was doing its own thing on larger screens. It's back where it belongs now.
We added protection against fast-clicking that was creating multiple flow actions when you only wanted one. Click away without worry.
When you apply forms to a contact, you'll now only see the form types that actually make sense (questionnaires, subcontracts, and saved PDFs).
Fixed a critical bug that was preventing you from creating forms in Projects or Contacts. The form creation flow now works smoothly, including proper PDF upload functionality.
Your SMTP emails now send with proper formatting. If you were seeing plain text when you expected styled emails, that's fixed.
Fixed a Gmail integration issue that was causing reliability problems. Your Gmail connection should work more consistently now.
Resolved an issue where the email system was throwing validation errors on send. Your emails should now go out without any hiccups.
Added a new Links category to email smart fields, making it easier to include dynamic links in your email templates.
Your affiliate coupon code now properly persists after you complete your subscription. No more disappearing discounts.
When you create a new template, it now defaults to using your email addr
Fixed an infinite loop that was happening in the navigation and causing a crash that showed up as React error 185.