smart_location 2.0.0
smart_location: ^2.0.0 copied to clipboard
Smart Location is a Flutter location plugin for GPS tracking, real-time location updates, geofencing, distance calculation.
All notable changes to this project will be documented in this file.
2.0.0 - 2026-06-11 #
Major Architectural Rewrite #
- Native Background Tracking: Completely removed
geolocatordependency.smart_locationis now a true native plugin utilizing Android Foreground Services (LocationService) and iOSCLLocationManagerdirectly. - Offline Persistence: GPS coordinates tracked in the background are now automatically and securely cached locally (Android SQLite / iOS Memory) when the device loses network connectivity.
- Headless Dart Execution (Batched): Replaced per-location isolate spawning with a highly efficient 15-minute batched task scheduler (
WorkManageron Android,BGTaskScheduleron iOS). Wakes up a hidden Dart Isolate in the background to run custom data-sync functions without draining the battery. - Motion Intelligence: Implemented native
pausesLocationUpdatesAutomaticallyon iOS to aggressively preserve battery when the device is stationary.
1.0.0 - 2026-05-26 #
Added #
- Battery Policy Manager: Dynamic location tracking adaptations based on battery percentage.
- OSM Road Snapper: Query routing network endpoints to snap coordinates to roads.
- Markov Predictor: Learns visit patterns to estimate the most likely next destination zone.
- Geo-Cryptography: Location-locked data encryption and decryption bound to geofence regions.
- Signal Health Diagnostics: Real-time HDOP/VDOP metrics, satellite count estimates, and signal strength bars.
- Transit Detector: Telemetry pattern analysis to classify public transit types (e.g. Bus vs. Train).
- Indoor Beacon Connector: BLE beacon scanner RSSI mapping to feed indoor centroid positioning models.
- Native Geofencing Bridge: MethodChannel bridge for iOS CoreLocation and Android GeofencingClient background triggers.
0.0.5 - 2026-05-22 #
Added #
- DeadReckoning Engine: Kinematic vector coordinate projection during GPS signal loss.
- Road Snapping & Smoothing: Velocity outlier filtering for GPS drift removal and road network snapping.
- Spatial Hashing: Optimized geofence evaluations from $O(N)$ to $O(1)$ grid index bucket queries.
- Eco Optimizer: Dynamic recommendations for power-adaptive and network-aware location tracking.
- Indoor Centroid Locator: Centroid tracking by signal RSSI signal strengths (Wi-Fi/Bluetooth Beacons).
- Map Utilities: Added RDP path simplification (
simplifyPath), Google Encoded Polyline, and GeoJSON exporters. - Simulators: Interactive demonstration panels in the example application for all advanced features.
- Unit Tests: Comprehensive suite covering all advanced features.
0.0.4 - 2026-03-27 #
Fixed #
- Rewrote
README.mdto fix broken Markdown formatting — all documentation content was accidentally embedded inside an unclosed```dartcode fence in0.0.2, causing pub.dev to render raw text instead of formatted documentation - Restored proper headings, tables, code blocks, and section structure throughout
README.md
Changed #
- Shortened and clarified the package
descriptioninpubspec.yaml - Added
topicstopubspec.yamlfor better discoverability on pub.dev (location,gps,geolocation,tracking) - Updated dependency reference in
README.mdto^0.0.4
0.0.2 - 2026-03-27 #
Changed #
- Updated
pubspec.yamlversion to0.0.2 - Updated
README.mddependency reference to^0.0.2
Documentation #
- Expanded
README.mdwith a comprehensive usage guide covering 7 real-world scenarios:- One-time location fetch (delivery, profile setup)
- Live tracking (ride-sharing, food delivery)
- Geofencing / proximity alerts
- Distance-based tracking with
distanceFilter(fitness apps) - Fast startup using
lastKnown()cached location - Heading / bearing for navigation and compass UIs
- Permission-only check for feature gating
- Added error handling best practices section
- Added Android (
AndroidManifest.xml) and iOS (Info.plist) setup instructions - Added background location configuration notes for both platforms
- Added API overview table and usage best practices
0.0.1 - 2026-03-26 #
Added #
- Initial release of Smart Location Flutter package
- Get current location of the device
- Get last known location
- Continuous location updates (stream)
- Check if location services are enabled
- Distance calculation between two coordinates
- Bearing calculation between two coordinates
- Permission handling utilities
- Background tracking support (basic)
- Example app demonstrating all features
- Basic unit tests for core functionality