Release 3.10 Overview
Google API token self-healing, SPEAR Milestone Whitespace Report, autocomplete search sanitisation, Reference Documents UI restack, async failed-queue hardening, and ordering-portal v3 contacts wiring
Release 3.10 is the 27 April 2026 cut. It bundles Git tags v3.12.0 through v3.13.6 and is the first portal release after the date-driven cut rule was clarified: the work below all shipped on a single calendar day after Release 3.9 closed, so it lands as one new minor.
The cycle delivers the Google API token self-healing chain that closes the long-running Trello 1759 incident loop, the new SPEAR Milestone Whitespace Report on the reporting tool, search-side address sanitisation, the Reference Documents UI restack on the project detail page, async messenger failed-queue hardening, and the ordering portal's manage-contacts migration to the v3 contacts endpoint.
What's in this release
| Area | Git tags | Detail |
|---|---|---|
| Google Token Self-Healing | 3.12.0, 3.13.0 | Proactive 30-min refresh cron + kernel.exception auto-recovery + 6h-deduped ops alert. Closes Trello 1759. |
| Deploy persists DA tokens | 3.12.0 | release-prod-safe.ts auto-syncs token_da.json + credentials_da.json across releases. |
| SPEAR Milestone Whitespace Report | 3.13.1, 3.13.2 | New reporting-tool report that shows working-day spans across SPEAR milestones. Trello 1708. |
| Address search sanitisation | 3.13.3 | Autocomplete query strips the canonical-format (streetNo) bracket and trailing 4-digit postcode before hitting the suggest backend. |
| Reference Documents UI | 3.13.4, 3.13.5 | Filename-led rows with italic type, restacked expanded panel, single-column header dropped. |
| Async failed-queue hardening | 3.13.6 | Null-safety + post-deploy-verify additions on RFI / address-discovery paths. |
| Ordering contacts via v3 | 3.13.3 (companion) | Manage Project Contacts on the ordering portal now goes through the v3 contacts API endpoint. |
Versioning model note
Release 3.10 is the first cut after the portal's release numbering was decoupled from Git-tag numbering. The eight Git tags above (v3.12.0 ... v3.13.6) are all rolled into this single narrative release. Future Git tags between this cut and the next will continue to accumulate freely. Whenever the next portal release is cut on a different calendar day, those tags fold in there.
See release-data.ts header comment for the full cut rule.
Changelog Reference
See the full commit lists in CHANGELOG.md for each tag in this release window.
FTS Platform Release Notes
Complete release history for the FTS Platform - from Release 0.7 (October 2023) through to Release 3.10 (April 2026).
Google Token Self-Healing (Permit Ready + DA Ready)
Proactive token refresh cron + kernel.exception auto-recovery + 6h-deduped ops alert closes the Trello 1759 incident loop