> For the complete documentation index, see [llms.txt](https://adatrack.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adatrack.gitbook.io/docs/changelog/2026-07.md).

# July 2026

## v1.7.3

### Added

* **Installable dashboard (PWA).** The AdaTrack dashboard can now be installed as a standalone app from Chrome (desktop and mobile), with a proper manifest and icon set. A tab left open across a deployment now detects the new build and prompts you to reload, so you're never silently stuck on stale code.
* **WebSocket resume & catch-up.** When a dashboard tab is backgrounded (mobile suspension, laptop sleep, tab throttling) and reconnects, the client now recovers events it missed via a sequence-numbered replay instead of silently showing stale device positions until an unrelated refresh. If the gap is too large to replay, it now falls back to a full resync automatically. This covers both regular dashboards and unauthenticated public/kiosk dashboard embeds.
* **Dynamic browser tab titles.** The browser tab title now reflects the current page (e.g. "AdaTrack | Live Map", "AdaTrack | Reports") instead of a static app name, and uses your configured white-label brand name where applicable.

### Fixed

* **Report CSV exports** now render timestamps in the report owner's saved timezone and locale instead of a fixed UTC/English format, matching the existing behavior of the HTML/PDF report tables.
* **Report email subject lines** are now fully localized instead of a hardcoded English string.
* Transactional emails got a visual refresh (dark-mode support, responsive layout, refined spacing).
* Login and registration forms now declare proper `autocomplete` attributes, so password managers and browser autofill work correctly.

### Infrastructure

* Mitigated known CVEs by upgrading OS packages in the self-hosted standalone Docker image (`apk upgrade` / `apt-get upgrade` added to `Dockerfile.standalone`).
* Routine dependency bumps across backend and plugin modules (`golang.org/x/sync`, `golang.org/x/text`, plugin `go.sum` files).

## v1.7.2

### Added

* **White-label branding — full backend implementation.** Eligible SaaS Pro accounts and self-hosted Enterprise licenses can now configure a **Brand Identity** (product/company name, support email, primary/accent colors) and upload **Logos & Icons** (light/dark logo, favicon, email logo) from **Settings**, backed by object storage (S3 or local disk) and applied consistently across the dashboard SPA, generated PDF reports, and outbound transactional emails. Branding gracefully reverts to AdaTrack defaults — without losing saved settings — if entitlement is lost on downgrade or license expiry.
* **Settings page redesign.** The Settings page is now a list of rows that each open a focused modal (Identity, Security, Appearance, Localization, Brand Identity, Logos & Icons) with an explicit Save button and toast feedback, replacing the old mix of inline form cards with inconsistent auto-save/manual-save behavior. Branding logo/favicon uploads now use a drag-and-drop dropzone with inline format/size guidance instead of a plain file button.
* **Accessibility settings.** The Appearance modal now also offers font size (default/large/larger), high contrast, and reduce motion preferences, persisted per-user alongside the existing theme setting.
* **Timezone- and locale-aware date/time formatting.** Timestamps across the dashboard (Alert Feed, Audit Log, dashboard widgets, Travel Log, reports, admin/billing pages) and backend-generated content (alert notifications, transactional emails, PDF reports, Trip PDF export) now render in the viewer's saved timezone and locale instead of a fixed UTC/English-shaped format, auto-detecting the browser timezone when no preference is saved.

### Fixed

* **Mapbox attribution** now renders correctly on the Live Map and Trip Map views.
* **Trip PDF map export** issues were fixed as part of the backend date/time formatting work.
* Map rendering, the device details panel, the trip timeline player, and the Travel Log trip filters panel received several UI and performance fixes.
* A round of localization fixes: corrected broken/missing Slovak translations, added missing backend-originated translations, translated remaining hardcoded device-details and enum strings, and fixed date pickers that weren't respecting the selected locale.

### Infrastructure

* **Go 1.26.5:** Backend binaries, all plugin modules (`chatbot`, `mqtt`, `codec8`, `ai_assistant`), and tools (`adatrack-ctl`, `license-gen`) rebuilt on Go 1.26.5. CI and deployment workflows updated accordingly.

## v1.7.1

### Added

* **Alert Acknowledge & Snooze.** Fired alerts can now be acknowledged or snoozed (15m / 1h / 4h / 24h) directly from the **Alert Feed** dashboard widget, or via the new `/ack <short-id>` and `/snooze <short-id> <duration>` Chat Bot commands. Acknowledged/snoozed state syncs in real time across every open dashboard tab.
* **Responsive dashboard layouts.** Dashboards now support independent widget layouts for desktop, tablet, and mobile via a new breakpoint switcher in the dashboard editor. Layouts for smaller screens are automatically cascaded from your desktop layout until you customize them yourself.
* **Live Map fullscreen view.** The Live Map dashboard widget and the Travel Log trip map can both be expanded to a fullscreen modal for a closer look.
* **Mapbox support for report maps.** PDF reports and previews can now render their map block using Mapbox (WebGL or the Static Images API) in addition to the self-hosted MapLibre/PMTiles path, when a Mapbox token is configured.
* **Report Generations usage chart.** The Billing page now includes a fourth usage chart tracking report generations, alongside workflow executions, API requests, and stats query executions.
* **White-label branding (Pro & Enterprise).** Eligible SaaS Pro accounts and self-hosted Enterprise licenses can now replace AdaTrack's product name, logos, and colors across the dashboard, PDF reports, and outbound emails. Configure it from **Settings → Branding**; unentitled accounts see AdaTrack's defaults and an upgrade prompt.

### Fixed

* **PDF reports and report previews with live maps** now render reliably — a headless-Chrome WebGL configuration issue could previously cause the map block to silently fail or hang during generation.
* **Stats charts not rendering in PDF reports** — numeric and date values returned from advanced/custom statistics queries were not being converted to plain values before being passed to the report template.
* **Report "average speed" figures** could be skewed by occasional GPS noise spikes; these are now filtered out and the average is computed consistently with the Travel Log trip detector.
* **Billing usage charts** now reflect your actual current billing cycle instead of a fixed rolling 30-day window (this also fixed the subscription's billing cycle start date not being recorded correctly from Stripe).
* **Public dashboards** could get stuck showing a blank map if device locations hadn't arrived yet when the widget first rendered; live map widgets and status grids on public/embedded dashboards now also show device names and category colors.
* **Workflow editor** no longer shows a false "broken link" warning for geofence-trigger templates that reference `{{latitude}}` or `{{longitude}}`.
* **Admin and Support roles** can now correctly view and manage other users' saved queries, chart configurations, and device categories; fixed an issue where editing another user's saved query or chart configuration could unintentionally change its ownership.
