What's new
Voltdash changelog
The complete release story for the native iPhone and iPad app and its supporting Voltdash platform — newest first.
v1.0.0
15 Jul 2026
features
- Voltdash is now a fully native app for both iPhone and iPad. It is built in SwiftUI rather than wrapping the website, with compact phone navigation, a space-efficient iPad layout, native controls and the same dark Liquid Glass cockpit language across every screen.
- Home is a complete one-glance cockpit for battery, range, live vehicle state, active-route position, climate, locks, charging, quick controls, weekly activity, recent trips and personal driving context — without waking a parked car just because the app opened.
- Trips brings searchable saved history, period totals, trends, calendars and personal records into the native app. Each trip opens into its recorded route, energy and battery use, efficiency, cost, speed, weather and comparisons with the driver's own history.
- Charging now has a native overview and detailed session experience with date ranges, energy and cost charts, charger and location mix, smart-versus-regular charging context, charging speed, conversion losses, savings and mapped session locations.
- Vehicle combines everyday controls with doors, windows, locks, tyres, climate, charging, identity and software information. It also includes model-specific Model 3, Y, S and X artwork and the real speed-by-temperature efficiency map, showing measured Wh/km for this vehicle instead of a generic score.
- An offline-first protected data mirror stores entitled vehicle state, trips, charging sessions and recorded route geometry locally. Saved information appears immediately and remains usable on slow or unavailable connections, then reconciles through incremental sync and realtime updates when connectivity returns.
- Tesla sign-in now works natively through the system authentication session with OAuth state validation and PKCE. Tesla credentials remain on the Voltdash server, while each device receives an expiring session stored in the Apple Keychain; multi-vehicle accounts can switch cars without session-bound web state.
- Supported vehicle commands run through an idempotent native command pipeline. The app shows queued, waking, sending, accepted and failed states honestly, and never queues a car command while the device is offline.
- StoreKit 2 subscription support is included for Starter and Plus, with Apple's localized prices, purchase, restore and subscription-management flows. The backend verifies transactions with Apple, handles server notifications and prevents conflicting Apple and web subscriptions; administrator accounts retain permanent access without a purchase.
- The More area now includes an Offline Data Vault, account and subscription status, legal and privacy links, notification registration, sign out and permanent account deletion. A protected local demo and restricted App Review access let every major screen be evaluated without a physical Tesla.
- Voltdash has a new layered Icon Composer app icon with native default, dark, monochrome and tinted appearances, plus App Store metadata, privacy disclosures, export-compliance settings and universal iPhone/iPad submission assets.
fixes
- Trip maps now use the exact ordered GPS geometry recorded for the drive instead of drawing a misleading straight line between its endpoints. Recent routes are prefetched and cached, and older routes become available offline after they have been opened once online.
- Expired or revoked mobile sessions now return cleanly to sign-in instead of trapping the app behind stale saved data. Local sign out always succeeds even when the server is unreachable, and expired installations are removed so signed-out devices cannot keep receiving vehicle notifications.
- Vehicle-command feedback no longer reports success merely because a short polling window elapsed. The app waits across realistic wake-up times, shows honest progress and surfaces actionable subscription, rate-limit, validation and Tesla re-authentication errors.
- Returning to the foreground now refreshes authoritative data and re-establishes realtime updates. WebSocket heartbeat and reconnect handling detect half-open connections, while authentication failures stop retrying and lead back to sign-in.
- The downloadable Core Data mirror can rebuild itself after a recoverable store or migration failure instead of leaving the app in a permanent launch crash loop.
- Subscription and shared-vehicle access are enforced consistently. Tier reductions purge history outside the new entitlement window, administrators always appear active, and suspended vehicle links can no longer inherit access, send commands, switch the active car or join private realtime channels.
- Web actions that target a specific vehicle now keep that explicit vehicle throughout the request, preventing another browser tab's active-car session from redirecting writes to the wrong Tesla.
- Telemetry processing no longer strands interleaved live and journal rows behind an advanced checkpoint, and duplicate trip-enrichment jobs can no longer rebuild the same segments concurrently.
- Apple-billed and web-billed accounts can no longer start conflicting subscriptions. Account deletion attempts to cancel a managed web subscription before removing local account data, and administrator access is never sent through a paywall.
- Native screen rhythm is unified through one layout system: gutters, top insets, card gaps and bottom clearance now match across Home, Trips, Charging, Vehicle, More, subscription and pushed detail screens on both iPhone and iPad.
- The efficiency map now presents exact measured Wh/km values in readable 5 km/h by 5°C cells, explains limited coverage and keeps its full fingerprint usable on a phone without compromising the wider iPad layout.
- Newly connected vehicles now receive Fleet Telemetry configuration automatically, while a daily reconciliation removes configuration from vehicles that no longer have access and restores it when entitlement returns.
performance
- Incremental sync now applies changed trip, charging, vehicle and entitlement payloads directly. A new drive moves only its own revision instead of downloading the complete history again; a full bootstrap is reserved for first use or an intentional cursor reset.
- Core Data writes run on background contexts, date parsing reuses shared formatters and history presentation is bounded, keeping scrolling and refresh responsive even with thousands of saved records.
- Raw telemetry processing now fans out per vehicle under independent locks. One long trip or charging enrichment can no longer stall fresh state, trip and charging detection for every other car.
- Smart-charging and preconditioning evaluations fan out into independently locked work, so one slow schedule does not serialize all vehicle automation.
- Reverse-geocoding requests share a global rate limit and use an approximately 11-metre cache grid, eliminating repeated provider calls for slightly different coordinates at the same parking location.
- Efficiency-aggregate writes are serialized per vehicle or model pool, preventing concurrent workers from losing samples or colliding on the same new aggregate bucket.
- Large trip, charging and cost rebuilds deliberately rotate the mobile sync epoch instead of flooding every device with tens of thousands of historical row updates.
- The transactional mobile outbox assigns cursor order only after writes are committed, while bounded pruning removes expired sync rows, OAuth requests and stale push installations without creating gaps in the completeness feed.