# Changelog All notable changes to **Motorcycle Digital Dashboard** will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). > **Versioning scheme (Flutter):** The `version` field in `pubspec.yaml` uses > the format `MAJOR.MINOR.PATCH+BUILD`. > - `MAJOR.MINOR.PATCH` → the user-facing release (also stored as the `v` git tag). > - `+BUILD` → an auto-incrementing integer consumed by `versionCode` (Android) and > `CFBundleVersion` (iOS). It is bumped independently of the user-facing version. ## [Unreleased] --- ## [1.1.0] - 2026-08-27 ### Added & Fixed - **Landscape IMU Coordinate Transformation**: Dynamic sensor coordinate frame rotation adapting automatically to portrait and landscape mounting orientations. - **Zero-G Deadband & Gating**: Clean 0.00G readouts when device is resting on table or stationary mount. - **Stationary GPS Multipath Hysteresis**: Hardened anchor locking that rejects indoor GPS Doppler drift, eliminating false 3–4 MPH stationary speed readings. - **Clean Map Tile Engine**: Switched default tile layer to high-resolution OpenStreetMap raster endpoints, removing all third-party watermark requirements. - **Live Police & Traffic Hazard Alerts**: Waze & TomTom community alerts integration with speed trap and hazard warnings. - **Version Bump Tooling**: Automated `tool/bump_version.dart` utility for SemVer release and build number synchronization across `pubspec.yaml` and runtime `AppInfo`. --- ## [1.0.0] - 2026-08-27 First production-ready release of the Motorcycle Digital Dashboard. ### Added - **Real-time telemetry** via `geolocator` (GPS, 5 Hz) and `sensors_plus` (accel + gyro). - **Complementary filter sensor fusion** (α = 0.96) for accurate lean/bank, pitch, and longitudinal/lateral G-force calculation with vibration rejection. - **Mount calibration** — rider can zero the sensors to compensate for arbitrary mounting angles. - **Automatic ride recording** state machine (`Idle` → `Ready` → `Riding`) that detects motion, tracks session maximums (top speed, max left/right lean, max Gs), and persists the ride to local storage on stop. - **Performance metrics** — automatic 0–60 MPH and 0–100 MPH timing using high-resolution timers triggered on hard acceleration. - **Drift (SQLite) persistence** with `Rides` and `PerformanceRuns` tables, linked by foreign key. - **GoRouter** navigation with a `StatefulShellRoute` and persistent `BottomNavigationBar`. - **Riverpod** for reactive UI state and dependency injection across all features. - **Material 3 dark theme** with portrait- and landscape-aware dashboard layout, including a large speedometer, heading indicator, lean gauge, and live G-force readout. - **Map screen** with Google Maps and OpenStreetMap providers, satellite toggle, and follow-rider mode. - **Ride history** list with per-ride telemetry cards, and **ride replay** screen that synchronizes telemetry with the map polyline. - **Audio (TTS) alerts** for ride states and milestones, configurable via `flutter_tts`. - **Data export** to `.csv` and `.gpx` via `share_plus`. - **Police alert abstraction** (`PoliceAlertService` interface) with a mock implementation ready to be swapped for a real provider (Waze, RadarBot, etc.). - **Settings & diagnostics** screens, including calibration and a "clear history" action. - **Production hardening**: - Lint pass with `flutter_lints` and cleanup. - `http` added as a direct dependency for telemetry/network features. - OSM null-safety fix for map fallback. - Road-alert pipeline integrated into the rider state machine. ### Known Limitations - Google Maps support requires the user to supply a real API key in `android/app/src/main/AndroidManifest.xml` (replacing `YOUR_API_KEY_HERE`). - The app is currently Android-first; iOS permissions and build config are not yet configured. - Police-alert data is mock-only until a real provider is integrated. [Unreleased]: https://github.com/your-org/motorcycle-dash/compare/v1.0.0...HEAD [1.0.0]: https://github.com/your-org/motorcycle-dash/releases/tag/v1.0.0