beekon_flutter
Flutter plugin for the Beekon location SDK (Android + iOS).
What this package is like to depend on
Last release 1 months ago
07 Jul 2026
Ships fairly regularly
a new release about every 2 weeks
Some releases are documented
notes for 8 of 14 stable releases
Nothing withdrawn
no release was ever pulled
3 months old
14 releases · first in 2026
14 releases in the last 12 months
see the full history below
Release timeline
14 releases · May 2026 to Jul 2026Releases
latest 14-
0.4.007 Jul 2026Release notes
Open source →Wraps native 0.4.0. Adds the explicit permission-request layer (
permission-request-flow-v1). Additive; no breaking changes.Added
- Explicit permission-request API —
Beekon.requestPermission(permission),Beekon.requestNextNeededPermission()(requests the first required-but-unsatisfied permission in the doctor list, or returnsnull), andBeekon.openSettings(permission), with the newPermissionRequestResultandPermissionRequestOutcometypes. The SDK still never requests permissions implicitly — these run only when you call them, in-context; the read-onlygetRequiredPermissions()doctor is unchanged. Coexists withpermission_handler.
- Explicit permission-request API —
-
0.3.107 Jul 2026Release notes
Open source →Changed
- Internal — renamed the plugin's Android package
in.wayq.beekon_flutter→com.getbeekon.flutter(and the example app tocom.getbeekon.flutter.example) for brand consistency with the nativecom.getbeekon.sdk. Implementation detail only — the Dart API and thebeekon_flutterpackage name are unchanged, and Flutter regenerates each host's plugin registrant on build. Still wraps native 0.3.0.
- Internal — renamed the plugin's Android package
-
0.3.007 Jul 2026Release notes
Open source →Wraps native SDK 0.3.0. Breaking (pre-1.0) — the native public API was reshaped.
Changed
- BREAKING — wraps native SDK 0.3.0. Requires Android
io.github.beekonlabs:beekon:0.3.0(Kotlin packagecom.getbeekon.sdk) and iOSBeekonKit0.3.0. StopReason:cloudModeUnavailableremoved,backgroundStartDeniedadded — a background foreground-service start was denied; the session is kept and a later resume recovers it. Mirrors the native reshape.- Cloud endpoint now derives
https://api.<cell>.getbeekon.comfrom the cell-aware project key (bkproj_<cell>_<secret>) — there is no baked-in default endpoint.
Fixed
setUserIdandremoveGeofencesnow surface native validation /GeofencesManagedByServererrors through the normal error channel (both became throwing in native 0.3.0).
- BREAKING — wraps native SDK 0.3.0. Requires Android
-
0.2.002 Jul 2026Release notes
Open source →Changed
- BREAKING —
BeekonConfigis now a sealed three-arm typecloud/custom/local, replacing the previous two-armcloud/selfManaged. Build it withBeekonConfig.cloud(...),BeekonConfig.custom(sync: ...), orBeekonConfig.local(...). The oldBeekonConfig.selfManaged(...)constructor is removed: aselfManagedwith asyncbecomescustom; without asyncit becomeslocal. - BREAKING — tracking parameters now nest under
TrackingConfig. The tracking knobs (minTimeBetweenLocationsSeconds,minDistanceBetweenLocationsMeters,accuracyMode,whenStationary,stationaryRadiusMeters,detectActivity) move off the config constructors into aTrackingConfigvalue passed astracking:on thecustom/localarms. - Native SDK pins bumped to 0.2.0 — Android (
io.github.beekonlabs:beekon) and iOS (beekon-ios-binary) now track 0.2.0.
Added
Beekon.setUserId(String?)— sets the user id sent top-level (user_id) in every sync upload envelope and used for Beekon Cloud MTU metering.extrasis now fully opaque; usesetUserIdfor the metered user identity.
Requires the native SDKs ≥ 0.2.0.
- BREAKING —
-
0.1.228 Jun 2026Release notes
Open source →Added
- Per-geofence local notifications —
BeekonGeofencenow takes an optionalnotification: GeofenceNotification(onEnter?, onExit?, delivery). Each direction'sNotificationContentcarriestitle/body(required),importance(NotificationImportance, defaulthigh),deepLink, and adatastring map. Withdeliveryset toNotificationDelivery.local(the default), the SDK renders the OS notification on the device at crossing time — it works offline and even when the app has been killed.NotificationDelivery.cloudis reserved (cloud mode only, not yet implemented). In self-managed modedeliverymust belocal; cloud mode acceptslocalorcloud. Adds theGeofenceNotification,NotificationContent,NotificationDelivery, andNotificationImportancetypes. Requires the native SDKs ≥ 0.1.2. getRequiredPermissions()— the permission "doctor". Returns the OS permissions the current configuration needs as aList<PermissionRequirement>(permission:BeekonPermission—location/backgroundLocation/activityRecognition/notifications;importance:PermissionImportance—required/recommended;satisfiedagainst the live grant; and a human-readablerationale). The config-aware companion to the location-onlygetPermissionStatus()— call it afterconfigure(). Read-only and never prompts; Beekon still never requests permission, andstart()does not preflight. Requires the native SDKs ≥ 0.1.2.
- Per-geofence local notifications —
-
0.1.123 Jun 2026Release notes
Open source →Changed
- Native SDK pins bumped to 0.1.1 — Android Maven coordinate and iOS
SwiftPM binary now track BeekonKit /
beekon0.1.1 (device control plane, build-time license gate, and related native fixes since 0.1.0).
Added
- Build-gate product id —
setWrapperInfonow declares the Flutter wrapper product id for build-time license enforcement (build-gate-v1).
- Native SDK pins bumped to 0.1.1 — Android Maven coordinate and iOS
SwiftPM binary now track BeekonKit /
-
0.1.015 Jun 2026Release notes
Open source →Changed
- Moved to the
beekonlabsGitHub org. The Android native dependency coordinate is nowio.github.beekonlabs:beekon(wasio.github.wayqteam:beekon), and the iOS binary/source repos are undergithub.com/beekonlabs. This is internal to the plugin — the pub.dev package name (beekon_flutter) is unchanged and no consumer code changes are required.
Added
getPermissionStatus()— read-only permission query. Returns the current location grant as aPermissionStatus(level:notDetermined/denied/restricted/foreground/background; nullableaccuracy:full/reduced) for pre-start checks, without ever prompting. Adds thePermissionLevel/PermissionAccuracyenums andisAuthorized/canTrackInBackgroundgetters. Beekon still never requests permission — the app owns that; during tracking, loss surfaces onstate. On Android, "not yet asked" and "denied" both reportnotDetermined;restrictedis iOS-only. Requires native SDKs ≥ the release that adds the API.
- Moved to the
-
0.0.914 Jun 2026Release notes
Open source →Added
- Beekon Cloud mode (cloud-mode-v1):
BeekonConfig.cloud({projectKey, endpoint?, notification?, logLevel})— abkproj_project key with server-owned config, geofences and license; default endpointhttps://api.getbeekon.com. Adds theBeekonModeenum,StopReason.cloudModeUnavailable, andInvalidConfiguration. Requires native SDKs ≥ 0.0.9. - Diagnostic logging (log-format-v1):
Beekon.getLog/exportLog/clearLog/setLogLevel/log, thelogsStream<LogEntry>,forwardLogsToConsole, and theLogEntry/LogLeveltypes. Requires native SDKs ≥ 0.0.9. SyncConfig.syncThreshold(beekon#20): pending-fix count that triggers an early upload of regular fixes ahead of theintervalSecondsschedule (not subject to the Android ~15 min WorkManager floor).0(the default) leaves regular fixes to the schedule. Independent of this setting, a geofence event and a session stop with pending fixes always flush immediately while sync is configured. Requires the native SDKs ≥ 0.0.9.
Changed
- BREAKING:
BeekonConfigis now a sealed two-arm type built viaBeekonConfig.cloud(...)/BeekonConfig.selfManaged(...); the unnamedconst BeekonConfig({...})constructor was removed. Tracking params,sync, andlicenseKeynow live only on theselfManagedarm.
- Beekon Cloud mode (cloud-mode-v1):
-
0.0.812 Jun 2026Nothing published for this version
-
0.0.712 Jun 2026Nothing published for this version
-
0.0.610 Jun 2026Nothing published for this version
-
0.0.507 Jun 2026Nothing published for this version
-
0.0.306 May 2026Nothing published for this version
-
0.0.106 May 2026Nothing published for this version