smart_location 3.7.1
smart_location: ^3.7.1 copied to clipboard
Smart Location is a powerful, battery-conscious Flutter plugin for continuous background geolocation tracking, advanced geofencing, and motion-aware updates.
All notable changes to this project will be documented in this file.
3.7.1 - 2026-07-16 #
Changed #
- Unlocked all advanced/enterprise features to be completely free by default.
3.7.0 - 2026-07-08 #
Changed #
- Updated README.md to focus purely on high-level features.
- Removed outdated Uber clone starter template redirect.
3.6.0 - 2026-07-07 #
Added #
- Predictive Destination Intelligence: The SDK now automatically predicts the user's most likely next destination, allowing your app to proactively dispatch resources before the user even arrives.
- Extreme Scale Geofencing: Effortlessly monitor 10,000+ active geofence zones simultaneously with virtually zero battery drain or device lag.
- Seamless Map-Matching: Automatically snaps noisy, drifted GPS coordinates cleanly to the nearest road network for perfect visual driver traces.
- Dead Reckoning (Tunnel Tracking): Continues to accurately track the user's position seamlessly even when GPS signals are completely lost in tunnels or urban canyons.
- Indoor Beacon Triangulation: Pinpoint accurate tracking inside warehouses, malls, and parking garages using environmental signals.
- Advanced Crash Detection: Telematics engine now features enhanced safety algorithms for zero false positives during harsh events.
- Ultra-Compressed Offline Sync: Drastically improved the background synchronization engine to compress offline coordinate payloads, saving massive amounts of cellular bandwidth and speeding up server syncs.
3.5.0 - 2026-06-26 #
Added #
- Frictionless Backend Connectivity: You can now seamlessly switch between universally accepted location data formats for zero-friction integration with existing servers, or use our ultra-compressed data pipeline to save up to 60% on cellular bandwidth.
- Intelligent Battery Conservation: Added comprehensive controls allowing the tracking engine to intelligently understand the user's physical motion in real-time. Automatically conserve power by sleeping when stationary and waking instantly when a trip starts.
- Ultra-Lightweight App Footprint: Optimized the package architecture so your final app release build remains perfectly lightweight. Heavy enterprise tracking features are automatically stripped out if they aren't used in your project.
- Server SDKs: Included a new
server_sdksdirectory with plug-and-play code for backend servers (like the Node.js Engine) to easily handle our compressed data pipelines.
3.4.1 - 2026-06-24 #
Added #
- Zero-Drain Battery Sleeping: Completely re-engineered background persistence. The SDK now flawlessly detects when the device is completely stationary and entirely powers down the GPS sensor, achieving virtually zero battery drain during idle periods without losing tracking context.
- True Gravity-Independent Crash Detection: We have radically advanced our telematics. By separating pure movement vectors from earth's gravity in real-time, our crash detection is now immune to false positives caused by the phone simply falling off a mount or resting at a weird angle.
- Ultra-Low Network Syncing: Massively upgraded our background offline synchronization payload. We now compress offline data into highly-efficient binary batches, reducing background data usage by up to 60% and speeding up sync times.
3.4.0 - 2026-06-23 #
Added #
- Zero-Lag GPS Smoothing: Moved location processing directly to the native OS layer, providing buttery-smooth movement streams while consuming near-zero CPU and battery overhead.
- Unkillable Background Tracking: Engineered an OS-level fallback mechanism that instantly resurrects the tracking service even if the device aggressively tries to kill the app in the background.
- Military-Grade Location Security: Upgraded our data security layer to lock sensitive tracking data with military-grade encryption, ensuring data is kept completely safe.
- Example App Polish: Fixed race conditions in the search UI, updated the Splash Screen with a beautiful native animation, and improved app icon transparency.
- Streamlined Documentation: Rewrote the documentation to focus purely on the core enterprise benefits (Reliability, Battery, Security) that matter most to your users.
3.3.0 - 2026-06-23 #
Added #
- SmartLocation Doctor UI: Draggable floating diagnostic overlay (
SmartLocationDoctor.show(...)) displaying live GPS signal bars, battery mini-bar with mode, permission status, activity type + speed, active geofence count, sync queue depth, and a live warning panel. Dark GitHub-themed design with animated pulse indicator and collapse/expand gesture. - Driving Telematics Engine:
DrivingTelematicsEnginedetects harsh braking, harsh acceleration, sharp cornering, and speeding from any GPS stream. Each event carries a 0–1 severity score proportional to the violation magnitude. IncludesTelematicsConfig.city()andTelematicsConfig.fleet()presets and an event history. Access viaSmartLocation.telematics. - iOS 17/18 Background Hardening: Upgraded iOS plugin with
CLBackgroundActivitySession(iOS 17) andCLServiceSession(iOS 18) to keep GPS running through extended background sessions. AllCLLocationManagerDelegatecallbacks are now wrapped inUIBackgroundTaskfor safe execution. Stale locations (>10 s old) are rejected at the native layer. - Android Boot-on-Start:
BootReceiverauto-restarts background tracking after device reboot if tracking was active. Tracking state is persisted inSharedPreferencesand restored onBOOT_COMPLETEDandMY_PACKAGE_REPLACED. - Android OEM Battery Native Implementation:
SmartLocationPlugin.ktnow implements thesmart_location/oemMethodChannel fully in Kotlin — detects 10 OEM brands, launches brand-specific battery settings activities, queriesPowerManager.isIgnoringBatteryOptimizations, and callsACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONSdirectly. - Android Battery Level Native:
getBatteryLevelcall now reads directly fromBatteryManager.BATTERY_PROPERTY_CAPACITY(precise integer %, not approximation).
3.2.0 - 2026-06-23 #
Added #
- Health Check API: Comprehensive
HealthCheckEngine.getHealth()— a single call returning a fullHealthSnapshotcovering permissions, battery, GPS signal, offline storage, and active geofences, with auto-generatedHealthWarnings and actionable fix hints. - OEM Compatibility Layer:
OemCompat.detect()identifies aggressive power-management manufacturers (Xiaomi, Huawei, Samsung, OnePlus, Oppo, Vivo, etc.) andshowPowerManagerSettings()opens the OEM-specific battery whitelisting screen to prevent background tracking from being killed. - Data Compression in SyncEngine: Compresses location batches by transmitting coordinate changes instead of absolute values, achieving 60–80 % smaller HTTP payloads on real GPS tracks.
- 401-Aware JWT Refresh in SyncEngine: New
onUnauthorizedcallback is invoked when the server returns a 401, allowing headless token refresh before a single re-attempt — no more dropped syncs on token expiry. - Battery Budget Engine:
BatteryBudgetEngine— a feedback-control loop that monitors actual battery drain rate every 5 minutes and auto-tunesdistanceFilterandLocationAccuracyto stay within a configurabletargetPercentPerHourtarget. Access viaSmartLocation.budgetEngine. - Adaptive Sampling:
AdaptiveSamplercomputes the optimaldistanceFilterbased on current activity type, battery level, charging state, and speed. Wire into the stream viaSmartLocation.streamWithSettings(useAdaptiveSampling: true)after callingSmartLocation.applyAdaptiveSampling(...). - Built-in GPS Smoothing on Stream: Applies GPS smoothing inline on the location stream.
- GDPR / CCPA Compliance Report Generator:
SmartLocation.compliance.generate(...)produces a structured GDPR Article 30 data processing inventory in both JSON and Markdown formats, covering data categories, purposes, retention, safeguards, and data subject rights.
3.1.0 - 2026-06-22 #
Added #
- On-Device Route Learning Engine: A pure-Dart statistical machine learning engine that learns route travel times on-device to predict future ETAs, without external APIs.
- Predictive Geofencing: Automatically spawn predictive geofences ahead of time based on the user's learned movement patterns.
- Time-Gated Geofences: Geofences that respect operational hours, saving battery by remaining dormant when inactive.
Fixed #
- Updated README.md dependency instructions to reflect the latest version correctly on pub.dev.
3.0.1 - 2026-06-17 #
Changed #
- SEO optimizations: Updated
pubspec.yamldescription to improve indexing on pub.dev and Google Search.
3.0.0 - 2026-06-16 #
Major Enterprise Feature Additions #
- Anti-Spoofing & Fake GPS Engine: Filters mock locations and physically impossible "teleportation" speed jumps.
- Route Deviation & Off-Route Detection: Detects and alerts when a driver veers off their prescribed route.
- Multi-Stop Journey Manager: Automates tracking progress along a multi-stop delivery or ride sequence.
- Live Streaming Adapter: Exposes an adapter to effortlessly push GPS streams directly to WebSockets or MQTT publishers at controlled rates.
- OS Health Monitor: Continuously watches for silent OS permission downgrades or battery saver mode activations.
- Severe Crash Detector: Identifies violent vehicular impacts by analyzing extreme G-force deceleration.
2.1.0 - 2026-06-12 #
2.0.1 - 2026-06-11 #
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 Background Execution: Replaced per-location background processing with a highly efficient 15-minute batched task scheduler. Wakes up a hidden background process 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.
- Destination 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