smart_location 2.1.0 copy "smart_location: ^2.1.0" to clipboard
smart_location: ^2.1.0 copied to clipboard

A powerful, battery-conscious Flutter plugin for continuous background geolocation tracking, advanced geofencing, offline persistence, and motion-aware updates.

All notable changes to this project will be documented in this file.

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 Dart Execution (Batched): Replaced per-location isolate spawning with a highly efficient 15-minute batched task scheduler (WorkManager on Android, BGTaskScheduler on iOS). Wakes up a hidden Dart Isolate in the background 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.
  • 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.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
150
points
549
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A powerful, battery-conscious Flutter plugin for continuous background geolocation tracking, advanced geofencing, offline persistence, and motion-aware updates.

Homepage

Topics

#geofencing #background #geolocation #location #tracking

License

MIT (license)

Dependencies

flutter, flutter_web_plugins, geolocator, http, plugin_platform_interface, web

More

Packages that depend on smart_location

Packages that implement smart_location