Release 3.10
Google token self-healing, SPEAR whitespace report, address search sanitisation, Reference Documents UI restack, async failed-queue hardening.
Released 27 April 2026
What's New in Release 3.10
What landed in Release 3.10 - Google token self-healing, the new SPEAR whitespace report, address search sanitisation, Reference Documents UI restack, async hardening, and v3 contacts wiring.
Google token self-healing
Proactive `app:google:refresh-tokens` cron (`*/30`) keeps both Permit Ready and DA Ready tokens fresh with atomic merge-and-rename writes. A kernel.exception subscriber dispatches an async refresh on any `/api/google/*` or `/api/da-google/*` token failure. Single ops-alert email per pipeline per 6h dedup window. Closes Trello 1759.
Deploy persists DA tokens
release-prod-safe.ts now copies token_da.json + credentials_da.json across releases (configFileMap + a new Step 3a that round-trips the freshest token from the live release back to ~/config/<env>/). Stops the every-deploy DA token wipeout that forced a manual /auth.
SPEAR Milestone Whitespace Report
New report on the reporting tool that shows working-day spans across SPEAR milestones. Trello 1708 deliverable. Includes a sortable column ordering pass and unit coverage on `ReportsManager`.
Address search sanitisation
Autocomplete query strips the canonical-format `(streetNo)` bracket and a trailing 4-digit Australian postcode before sending to the suggest backend. Mirrored to both `app/` and ordering-portal copies of the Stimulus controller.
Reference Documents restack
Project detail page Reference Documents accordion now leads with the filename (bold) over the document type (italic). Expanded detail panel restacked: download icon-link, "File: V{n}" + filename + subcategory block, and stacked Created / Updated dates. Single-column header dropped.
Async failed-queue hardening
RFI / address-discovery resilience improvements with new null-guards and post-deploy-verify additions. Reduces the rate at which transient failures land in the failed transport.
Release Focus
Release 3.10 bundles the 27 April 2026 work (Git tags v3.12.0 through v3.13.6) into a single narrative release: the Google API token self-healing chain (proactive cron + auto-recovery + alerting), the new SPEAR Milestone Whitespace Report, address autocomplete search sanitisation, the Reference Documents UI restack on the project detail page, async failed-queue hardening, and v3 contacts endpoint wiring on the ordering portal.
Release Timeline
Recent platform releases.
Proactive Google API token refresh + auto-recovery on token-expiry exceptions with deduped ops alerts (closes the Trello 1759 incident loop). New SPEAR Milestone Whitespace Report on the reporting tool with working-day spans across the title milestones (Trello 1708). Autocomplete search query sanitises out the canonical-format `(streetNo)` bracket and a trailing 4-digit postcode so a copied-back canonical address still matches. Reference Documents accordion on the project detail page restructured: filename-led rows with italic type, stacked expanded panel, single-column header dropped. Failed-queue processing paths in the messenger pipeline hardened with extra null-guards and post-deploy verification. Manage-project-contacts wired to the v3 contacts API endpoint on the ordering portal. Bundles Git tags v3.12.0, v3.13.0, v3.13.1, v3.13.2, v3.13.3, v3.13.4, v3.13.5, and v3.13.6.
ROLE_ADMIN impersonation picker on the ordering portal (paginated, searchable), reporting-tool UX refresh (floating user widget, slim header, layout restructure), orphan-attachment visibility fix, Sale Check form-save row preservation on empty submissions, DB-level named lock + claim-before-POST on MYOB invoice sync, per-category default checklist status on RFI template clone (Admin to No, Part 5 and SLHC to Non-Compliant, other to TBA; user-set statuses preserved), and a hotfix for silent Project status regression on Core Milestone projects saved from the admin form. Late-week hotfixes ported LOT address canonicalisation to the ordering portal Create New Project form (Trello 1762) and capped the admin/customer dashboard logos so mobile viewports no longer hide the search bar. Bundles Git tags v3.9.0 and v3.9.1 plus four additional hotfix tags through v3.11.5.
Daily SPEAR refresh cron for non-closed untitled projects, per-estate title/street prediction offsets, four stale-SPEAR guard rails (titled-parcel skip, past-predicted drop, newest-SOC-wins, monotonic persist), and MDX brace-escaping + YAML title quoting fixes that unblocked the Next.js release portal build. Bundles Git tag v3.8.0.
27 items across the 3.7 train: UAT + staging auto-deploy pipeline, -1,518 lines removing unused Mercure/ux-notify, optimistic-lock iteration, invoice UX fixes, and platform-wide canonical LOT address format.
26 items: automated post-deploy verification with LLM summary, the UX Proposals portal, Project optimistic locking, candidate environment hardening, and symlink/port scheme rationalisation.
Title prediction from SOC dates, dev tooling overhaul, Mailhog/messenger infrastructure, admin and ordering fixes, isolated release system (release:prod:safe), and candidate environment with port scheme consolidation.
Ordering alignment, reporting expansion, admin tooling, release automation, and production hardening across the 3.4 release train.
End-to-end parcel intelligence pipeline, address discovery overhaul, bulk enrichment, React 19 monorepo, and the Auth0 releases portal.
12 features including dashboard consolidation, DA email integration, ordering workflow, sale checklist editor, and project soft delete.
Post-go-live stabilisation following v3.0 Ordering Portal launch. 8 new features, 3 security enhancements.
Complete ordering portal rebuild with v3 API, draft workflow, and multi-portal architecture.