smart_location 3.7.2 copy "smart_location: ^3.7.2" to clipboard
smart_location: ^3.7.2 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.2 - 2026-07-28 #

Fixed #

  • Fixed iOS App Store compliance by declaring NSUserDefaults and Precise Location in PrivacyInfo.xcprivacy.
  • Fixed Google Play Store compliance by removing ACCESS_BACKGROUND_LOCATION and ACTIVITY_RECOGNITION from the library manifest level, making them opt-in at the application level.
  • Switched cryptography to pure-Dart AES-CBC using package:encrypt to eliminate native build conflicts and compiler crashes.
  • Made the Android AlarmManager background watchdog opt-in (disabled by default) to comply with Google Play battery vitals.
  • Removed unused protobuf dependency to prevent version-solver conflicts.
  • Fixed iOS Impeller text rendering in the splash screen and unified logo/title animations.

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_sdks directory 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: DrivingTelematicsEngine detects 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. Includes TelematicsConfig.city() and TelematicsConfig.fleet() presets and an event history. Access via SmartLocation.telematics.
  • iOS 17/18 Background Hardening: Upgraded iOS plugin with CLBackgroundActivitySession (iOS 17) and CLServiceSession (iOS 18) to keep GPS running through extended background sessions. All CLLocationManagerDelegate callbacks are now wrapped in UIBackgroundTask for safe execution. Stale locations (>10 s old) are rejected at the native layer.
  • Android Boot-on-Start: BootReceiver auto-restarts background tracking after device reboot if tracking was active. Tracking state is persisted in SharedPreferences and restored on BOOT_COMPLETED and MY_PACKAGE_REPLACED.
  • Android OEM Battery Native Implementation: SmartLocationPlugin.kt now implements the smart_location/oem MethodChannel fully in Kotlin — detects 10 OEM brands, launches brand-specific battery settings activities, queries PowerManager.isIgnoringBatteryOptimizations, and calls ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS directly.
  • Android Battery Level Native: getBatteryLevel call now reads directly from BatteryManager.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 full HealthSnapshot covering permissions, battery, GPS signal, offline storage, and active geofences, with auto-generated HealthWarnings and actionable fix hints.
  • OEM Compatibility Layer: OemCompat.detect() identifies aggressive power-management manufacturers (Xiaomi, Huawei, Samsung, OnePlus, Oppo, Vivo, etc.) and showPowerManagerSettings() 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 onUnauthorized callback 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-tunes distanceFilter and LocationAccuracy to stay within a configurable targetPercentPerHour target. Access via SmartLocation.budgetEngine.
  • Adaptive Sampling: AdaptiveSampler computes the optimal distanceFilter based on current activity type, battery level, charging state, and speed. Wire into the stream via SmartLocation.streamWithSettings(useAdaptiveSampling: true) after calling SmartLocation.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.yaml description 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 #

Added #

  • Added WebAssembly (WASM) compilation support.
  • Added Swift Package Manager (SPM) support for iOS and macOS.

Fixed #

  • Replaced deprecated desiredAccuracy and timeLimit in geolocator by passing a LocationSettings object.

2.0.1 - 2026-06-11 #

Added #

  • Expanded platform support to officially include Web, macOS, Windows, and Linux.

Changed #

  • Updated package dependencies to their latest versions (geolocator: ^14.0.2, flutter_lints: ^6.0.0).

2.0.0 - 2026-06-11 #

Major Architectural Rewrite #

  • Native Background Tracking: Completely removed geolocator dependency. smart_location is now a true native plugin utilizing Android Foreground Services (LocationService) and iOS CLLocationManager directly.
  • 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 pausesLocationUpdatesAutomatically on iOS to aggressively preserve battery when the device is stationary.

1.0.1 - 2026-05-26 #

Changed #

  • Update README documentation setup version references to 1.0.0.

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.md to fix broken Markdown formatting — all documentation content was accidentally embedded inside an unclosed ```dart code fence in 0.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 description in pubspec.yaml
  • Added topics to pubspec.yaml for better discoverability on pub.dev (location, gps, geolocation, tracking)
  • Updated dependency reference in README.md to ^0.0.4

0.0.2 - 2026-03-27 #

Changed #

  • Updated pubspec.yaml version to 0.0.2
  • Updated README.md dependency reference to ^0.0.2

Documentation #

  • Expanded README.md with 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
5
likes
0
points
549
downloads

Publisher

unverified uploader

Weekly Downloads

Smart Location is a powerful, battery-conscious Flutter plugin for continuous background geolocation tracking, advanced geofencing, and motion-aware updates.

Repository (GitHub)
View/report issues

Topics

#geofencing #background #geolocation #location #tracking

License

unknown (license)

Dependencies

encrypt, flutter, flutter_web_plugins, geolocator, http, plugin_platform_interface, tflite_flutter, web

More

Packages that depend on smart_location

Packages that implement smart_location