PackageTrack
Sign in Get early access

bgeo_background_geolocation

Reliable background geolocation for Flutter (BGeo engine) — iOS & Android. Motion-aware tracking, offline HTTP queue, geofences, headless events.

0.2.2 dc-bgeo/flutter_background_geolocation

What this package is like to depend on

Last release 7 days ago

17 Aug 2026

Ships on a steady schedule

a new release about every 10 days

Nearly every release is documented

notes for 12 of 12 stable releases

Nothing withdrawn

no release was ever pulled

0 months old

12 releases · first in 2026

12 releases in the last 12 months

see the full history below

Release timeline

12 releases · Jul 2026 to Aug 2026
Release Pre-release

Releases

latest 12
  1. 0.2.2 17 Aug 2026
    Release notes

    Release 0.2.2: engine 0.14.1 (parked pause/resume)

    Open source →
    Release notes
    • Engine 0.14.1: parked iOS devices no longer burn 1 Hz GPS while the phone is handled — the delivery stream is paused after the stop settles and resumed in place on departure (no re-subscription, so background delivery restarts within milliseconds). Also: the moving keep-alive retries after a background-budget exhaustion in dead zones, and the missed-stop synthesizer stands down while GPS-denied fixes are still arriving (no more backdated stops in tunnels). No Dart API changes.
    Open source →
  2. 0.2.1 12 Aug 2026
    Release notes

    Release 0.2.1: engine 0.14.0 (iOS killed-wake continuity)

    Open source →
    Release notes
    • Engine 0.14.0: iOS now keeps continuous location delivery after the system relaunches the app in the background (overnight eviction, kill while driving) instead of degrading to significant-change bursts of a few points every 4–6 minutes. The upload queue is also flushed on every background wake, so stop records no longer sit on the device until the next app open. No Dart API changes.
    Open source →
  3. 0.2.0 07 Aug 2026
    Release notes

    Split license: pure-MIT LICENSE for the bridge, LICENSE-BINARY.md for…

    Open source →
    Release notes
    • Licensing: the LICENSE file is now the plain MIT license covering the bridge sources; the proprietary engine-binary terms moved unchanged to LICENSE-BINARY.md. No functional changes.
    Open source →
  4. 0.1.8 07 Aug 2026
    Release notes

    Release 0.1.8: engine 0.13.5 (iOS license banner text fix)

    Open source →
    Release notes
    • Engine 0.13.5: fix the iOS license-error banner rendering as an empty red rectangle — the text had zero height. No Dart API changes.
    Open source →
  5. 0.1.7 07 Aug 2026
    Release notes
    • Engine 0.13.4: a release build that fails the license check (LICENSE_MISSING, LICENSE_INVALID, LICENSE_EXPIRED, LICENSE_APP_MISMATCH) now shows a persistent on-screen banner with the error code and app id. Previously tracking was silently blocked — easy to ship without noticing. Debug builds and the iOS simulator are unaffected. No Dart API changes.
    Open source →
  6. 0.1.6 05 Aug 2026
    Release notes
    • Engine 0.13.3: getState() on Android now reports the health fields iOS has always reported — trackingActive, authorization, and lastRawFixAge / lastAcceptedFixAge (seconds, null until a fix arrives). The raw age is stamped before the location filter runs, so the pair tells "the OS stopped delivering fixes" apart from "the filter is rejecting them". Read them off state.raw; no Dart API changes.
    Open source →
  7. 0.1.5 01 Aug 2026
    Release notes
    • Engine 0.13.2: a stationary device uploads again. watchPosition no longer drops its persist option on the way to the per-tick fix, and getCurrentPosition(persist: true) waits for a fresh fix instead of resolving with the provider's replay of the last known location, which the old same-timestamp dedup then silently discarded — so heartbeat records never reached the server. Persist dedup is now by record identity (stamp + channel). No Dart API changes.
    Open source →
  8. 0.1.4 29 Jul 2026
    Release notes

    Location.isMoving is bool? — the probing-window null is no longer collapsed
    to false.

    Open source →
    Release notes
    • Breaking (types): Location.isMoving is now bool? instead of bool. Both engines send is_moving: null while a cold-started session's first fixes are still in the unconfirmed-MOVING probing window (up to stopTimeout minutes after start()); the decoder used to collapse that to false, so an app could not tell "not yet known" from "stationary". If you don't care about the difference, replace location.isMoving with location.isMoving ?? false. MotionChangeEvent.isMoving is unchanged (non-nullable) — the engines always send a real verdict there.
    Open source →
  9. 0.1.3 29 Jul 2026
    Release notes

    Engine 0.13.1: geofenceschange.off keeps geofence geometry, providerState
    reports accuracyAuthorization.

    Open source →
    Release notes
    • Engine 0.13.1 fixes two payload defects; no Dart API changes.
    • onGeofencesChange: geofences in the off list now carry their real radius/latitude/longitude again. Removing an actively monitored geofence used to emit an identifier-only record, which Geofence.fromMap decoded as zeroed geometry.
    • providerState / onProviderChange: accuracyAuthorization is now populated (0 = full, 1 = reduced) instead of always decoding to null. On Android it reports reduced when only ACCESS_COARSE_LOCATION is granted.
    Open source →
  10. 0.1.2 29 Jul 2026
    Release notes

    Engine 0.13.0: production licence signing key, iOS privacy manifest,
    Android engine coordinate moved to dev.bgeo:bgeo-android.

    Open source →
    Release notes
    • Engine 0.13.0 embeds the production licence signing key in place of the development key that previously shipped. Licence tokens issued or re-signed before 2026-07-29 will not verify against this build — copy the current token from your dashboard at https://bgeo.dev before upgrading.
    • iOS: the vendored BGeoCore.xcframework now ships an Apple privacy manifest (PrivacyInfo.xcprivacy) declaring precise/coarse location collection for app functionality and the NSUserDefaults required-reason API (CA92.1).
    • Android: the engine AAR's Maven coordinate moved from com.bgeo:bgeo-android:0.12.1 to dev.bgeo:bgeo-android:0.13.0. It's vendored in this package's local Maven repo per the documented setup, so no action is needed unless you hand-wrote the old coordinate directly.
    Open source →
  11. 0.1.1 28 Jul 2026
    Release notes
    • No functional changes. Release-infrastructure housekeeping: first version published through CI (GitHub Actions → pub.dev automated publishing); engine binaries verified current (BGeoCore / bgeo-android 0.12.1).
    Open source →
  12. 0.1.0 28 Jul 2026
    Release notes

    Initial release.

    • Full RN/native react-native-background-geolocation API parity ported to Futures/Streams: ready/start/stop/setConfig/getState, changePace, getCurrentPosition/watchPosition, permission + provider-state queries, odometer, upload queue (sync/getLocations/destroyLocation(s)/getCount/ insertLocation), auth state, persisted logger (getLog/destroyLog/ uploadLog), and geofences (add/remove/getGeofences/geofenceExists).
    • Event streams: onLocation, onLocationError, onMotionChange, onHeartbeat, onGeofence, onGeofencesChange, onProviderChange, onPowerSaveChange, onHttp, onConnectivityChange, onAuthorization.
    • Headless (killed-app) event dispatch on Android via a top-level/static Dart entrypoint running in a background FlutterEngine.
    • iOS (BGeoCore.xcframework, iOS 15.5+) and Android (bgeo-android AAR, minSdk 24) closed-source engine binaries vendored with the package.
    • Offline license evaluation in debug builds and the iOS simulator; license key required for release builds via manifest meta-data / Info.plist.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive