Saltar al contenido principal

June 17, 2026 Release Notes

· 4 min de lectura
Marcus Deans
Software Engineer

Dark mode graduates from beta and is now available to everyone. Alongside it: the beta rate-sheet manager gains full create, rename, and delete; imported records show where they came from; company todos send email reminders; and the REST API picks up six new resources. 🌗

🌗 Dark mode is out of beta

Dark mode is now available to everyone — it's no longer limited to the beta. Open your profile's Appearance setting to switch between the light and dark themes; your choice saves to your account and applies across the app on every device you sign in from.

The Appearance setting on a user profile with Light and Dark theme buttons

The surfaces refined during the beta all follow your chosen theme now: forms and the form builder, native and searchable dropdowns, filter fields, comment editors, data tables and Tabulate grids, and charts.

The DSPTCH Jobs page rendered in dark mode, with the navigation bar, filters, and job cards all in the dark theme

💵 Create and manage rate sheets (beta)

Admins in the beta can now create, rename, and delete rate sheets under Settings — not just edit rates on a single default sheet. The Rate Sheets page lists every sheet with its rate count, pins the company default at the top, and tags it with a Default badge. New sheets start pre-filled with the standard baseline rates, so you're naming and adjusting rather than building from an empty page.

Deleting a sheet is guarded so you can't break payroll: the default sheet, a sheet that's assigned to a worker or position, or a sheet whose rates have already been used in processed payroll can't be removed — and the remove button explains why it's unavailable.

The Rate Sheets page in Settings listing a company's default sheet and a second named rate sheet, each with a rate count and a New Rate Sheet button

🏷️ See where imported records came from

Time cards, paystubs, and time entries that arrived through an import now carry an Imported from … badge — for example, Imported from Aggregate Time Import · Jun 14, 2026 — that links back to the import it came from. It's an at-a-glance way to tell whether a record was entered by hand or brought in by an import, and to trace it back to its source.

A time card sidebar showing an Imported from Aggregate Time Import badge with the import date

⏰ Todo reminders by email

Setting or changing the due date on a company todo now schedules a reminder automatically. When the todo is due, the assigned person gets an email with the todo's name, due date, and a link to open it — so todos don't slip when someone isn't already in the app.

🔌 API additions

  • Billing user counts — read monthly PWA seat counts per project (distinct workers with PWA-tracked time), the same figures behind the billing summary and its CSV export. Filter by month or project.
  • Apprenticeship program management — create and update apprenticeship programs, occupations, wage schedules, and pay periods, and enroll apprentices. This is the write side that complements the existing read endpoints.
  • Time-card approvals — record manager and worker approvals on a time card, and read each card's manager and worker approval status from the time cards endpoint.
  • Time-entry manager approvals — record manager approvals at the individual time-entry level, and read per-entry approval state.
  • Prior-period adjustments — read back-pay and retroactive payroll corrections on a time card (read-only for now), filterable by adjustment type or rationale.
  • Wage determination labor rates — read a wage determination's full labor-rate table (each classification's base wage and fringe), filterable by classification.

🛠️ Fixes

  • Pay tabulate week ranges now render in the pay schedule's own time zone on the Job and Project Pay grids — a Monday–Sunday week no longer displays as an eight-day Monday–Monday span. This was a display-only correction; the calculated obligations were always right.

A practical release: more control over rate sheets, clearer provenance on imported records, and a wider API surface. As always, reach out if you have any questions!

The DSPTCH Team