PackageTrack
Sign in Get early access

tracelet_doctor

Drop-in diagnostic overlay widget for Tracelet. Visualizes permissions, battery health, OEM compatibility, sensor availability, and tracking state with actionable fix suggestions.

3.8.7 4.4K downloads/mo #4026 most downloaded on pub.dev Ikolvi/Tracelet

What this package is like to depend on

Last release 7 days ago

16 Aug 2026

Ships on a steady schedule

a new release about every 8 days

Nearly every release is documented

notes for 79 of 86 stable releases

2 versions withdrawn

withdrawn after publishing

3 months old

91 releases · first in 2026

91 releases in the last 12 months

see the full history below

Release timeline

91 releases · May 2026 to Aug 2026
Release Pre-release Withdrawn

Releases

latest 60 of 91
  1. 3.8.7 16 Aug 2026
    Release notes

    Tracelet Sync iOS SDK v3.8.7

    Open source →
    Release notes

    FIX: the bug report names the Tracelet version that produced it, and gained a Location stream health section — stalls, recoveries and battery-budget throttle movements lifted out of the general log, each stall line carrying the rejection histogram, the gate the last fix was measured against, the configured gate beside it and the thresholds in force. These are written on the always-on lifecycle channel, so the section is populated even for an app running at the default logLevel (#397, #398).

    Open source →
  2. 3.8.6 16 Aug 2026
    Release notes

    Tracelet Sync iOS SDK v3.8.6

    Open source →
    Release notes

    Version alignment with tracelet 3.8.6.

    Open source →
  3. 3.8.5 15 Aug 2026
    Release notes

    Version alignment with tracelet 3.8.5.

    Open source →
  4. 3.8.4 13 Aug 2026
    Release notes

    FEAT: the foreground-service card renders suppressed as a state of its own. A notification hidden on purpose by showNotificationOnPauseOnly used to read as "not confirmed yet", indistinguishable from the OS refusing a promotion; it is now labelled and explained as the configured behaviour it is — tracking continues, the service is promoted again when the app backgrounds, and the setting is ignored entirely under stopOnTerminate: false (#378).

    Open source →
  5. 3.8.3 12 Aug 2026
    Release notes

    Version alignment with tracelet 3.8.3.

    Open source →
  6. 3.8.2 11 Aug 2026
    Release notes

    Version alignment with tracelet 3.8.2.

    Open source →
  7. 3.8.1 11 Aug 2026
    Release notes

    Version alignment with tracelet 3.8.1.

    Open source →
  8. 3.8.0 08 Aug 2026
    Release notes

    FEAT: TraceletBugReport gains a ## Session lifecycle (background & killed-state trace) section carrying what the background pipelines actually did — service start/stop, sticky restarts and boot bootstrap outcomes on Android, relaunch and termination boundaries on iOS, and motion-state transitions on both. These are recorded regardless of logLevel, so a pasted report carries them even when the developer never enabled logging. Given its own section for the same reason as the geofence trace: lifecycle events are rare while routine chatter is not, so at debug/verbose the entry from the overnight run that actually failed is exactly the one pushed out of the ## Logs window. An absent entry is diagnostic too — motion (foreground) with no killed-state counterpart means the background detector never ran, and an iOS termination: with no following relaunch: means the app was never woken (#318).

    FEAT: a Location Filter section reports the thresholds Tracelet.getCurrentLocationTuning() says are actually in force, beside the ones you configured. Every other card reads Tracelet.activeConfig — a Dart-side mirror of the last Config passed in — so until now the Doctor could only show what was asked for, never what the native filter was using. The verdict chip separates the two ways those can disagree: with autoTuneFromTransportMode on, a committed transport mode owns the thresholds and the difference is expected (Auto-tuned); with it off, nothing should be moving them and the configured value did not reach the processor (Mismatch, the #303 failure class). Reads N/A before a tracking session has built a processor, and always on Web (#303).

    FEAT: TraceletBugReport gains a ## Location filter (in force vs. configured) section carrying the same two columns and the same auto-tune verdict, so a pasted issue distinguishes an auto-tune from configuration that never landed without a maintainer having to ask (#303).

    Open source →
  9. 3.8.0-beta.2 06 Aug 2026 pre-release
    Release notes

    Version alignment with tracelet 3.8.0-beta.2.

    Open source →
  10. 3.8.0-beta 06 Aug 2026 pre-release
    Release notes

    Version alignment with tracelet 3.8.0-beta.

    Open source →
  11. 3.8.0-alpha 05 Aug 2026 pre-release
    Release notes

    Version alignment with tracelet 3.8.0-alpha.

    Open source →
  12. 3.7.6 05 Aug 2026
    Release notes

    Version alignment with tracelet 3.7.6.

    Open source →
  13. 3.7.5 04 Aug 2026
    Release notes

    Version alignment with tracelet 3.7.5.

    Open source →
  14. 3.7.4 03 Aug 2026
    Release notes

    Version alignment with tracelet 3.7.4.

    Open source →
  15. 3.7.3 01 Aug 2026
    Release notes

    FIX: the Permissions card no longer reports a granted motion/activity permission as a red "Restricted". HealthCheck.motionPermission carries a MotionAuthorizationStatus index (notDetermined, granted, deniedForever → 0, 1, 2), but the card decoded it against CoreMotion's CMAuthorizationStatus scale, where index 1 is restricted — so a healthy device showed a red "Restricted" beside an "All Clear" warning list, the warning path checking == 2 and being unaffected. The card now switches over the enum via the new HealthCheck.motionAuthorization getter, which makes the mapping exhaustive at compile time, and the dead 3 => 'Granted' branch (unreachable — the enum has no index 3) is gone.

    FIX: the bug report prints the motion permission by name rather than as a bare index, so Motion permission | 0 no longer reads as a boolean or a count.

    FEAT: the bug report gained a Geofence transitions (decision trace) section, filtering [geofence] log lines and scanning 2000 entries rather than the 500-entry general log window, so rare ENTER/EXIT crossings are not buried by lifecycle chatter. Both the copy and share actions include it.

    Open source →
  16. 3.7.2 01 Aug 2026
    Release notes

    Version alignment with tracelet 3.7.2.

    Open source →
  17. 3.7.1 29 Jul 2026
    Release notes

    Version alignment with tracelet 3.7.1.

    Open source →
  18. 3.7.0 29 Jul 2026
    Release notes

    Version alignment with tracelet 3.7.0.

    Open source →
  19. 3.6.15 28 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.15.

    Open source →
  20. 3.6.14 27 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.14.

    Open source →
  21. 3.6.13 26 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.13.

    Open source →
  22. 3.6.12 26 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.12.

    Open source →
  23. 3.6.11 25 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.11.

    Open source →
  24. 3.6.10 24 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.10.

    Open source →
  25. 3.6.9 24 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.9.

    Open source →
  26. 3.6.8 23 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.8.

    Open source →
  27. 3.6.7 23 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.7.

    Open source →
  28. 3.6.6 22 Jul 2026
    Release notes

    FEAT: Added a Foreground Service card to the Doctor overlay and a matching section to the generated bug report, powered by Tracelet.getForegroundServiceHealth(). It surfaces the authoritative native foreground-service state — whether the service is running and promoted to the foreground, and the last promotion result (success/deferred/failed) with its failure class and message — so "tracking stops in the background" reports show whether the foreground service was actually running. iOS/web (which have no foreground service) are reflected accordingly (#255).

    Open source →
  29. 3.6.5 21 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.5.

    Open source →
  30. 3.6.4 20 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.4.

    Open source →
  31. 3.6.3 19 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.3.

    Open source →
  32. 3.6.2 18 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.2.

    Open source →
  33. 3.6.1 17 Jul 2026
    Release notes

    Version alignment with tracelet 3.6.1.

    Open source →
  34. 3.6.0 16 Jul 2026
    Release notes

    FEAT: Tracelet.updateLocationProviderOptions() — live provider-options override without a pipeline restart, on iOS and Android (#241).

    Version alignment with tracelet 3.6.0.

    Open source →
  35. 3.5.7 13 Jul 2026
    Release notes

    FIX: Build fails without AGP built-in Kotlin (AGP <9 / builtInKotlin=false) (#239).

    Open source →
  36. 3.5.6 09 Jul 2026
    Release notes

    FIX: Custom sync body 400 Bad Request HTTP errors now gracefully return fallback results instead of propagating fatal exceptions in native Sync engines (#238).

    Open source →
  37. 3.5.5 07 Jul 2026
    Release notes

    FIX: Ensure foreground service is properly started in periodic mode when configured (#237).

    Open source →
  38. 3.5.4 30 Jun 2026
    Release notes

    FIX: Enrich geofence transition events with real coordinate metrics and battery (#231). FIX: Propagate runtime setConfig changes to active native tracking/sensor loops (#230). FIX: Null-guard subsystems during teardown so Activity destruction never throws (#227). FIX: Android: standard geofence mode no longer runs a foreground service, complying with Google Play's 2026-10-28 foreground-service-for-geofencing policy.

    Open source →
  39. 3.5.3 30 Jun 2026
    Release notes

    FIX: Added explicit ProGuard keep rules for TraceletStartupProvider in the tracelet_android package to prevent ClassNotFoundException on process start when aggressive shrinking (like R8 full mode) is used (#228).

    Open source →
  40. 3.5.2 23 Jun 2026
    Release notes

    FIX: Android continuous tracking no longer silently stops after a while on aggressive OEMs (Samsung One UI, etc.). The foreground-service wakelock used a fixed 10-minute auto-expiry and was never renewed, so once it lapsed the CPU could deep-sleep and FusedLocationProvider stopped delivering updates with no error or callback. The wakelock is now renewed for the lifetime of tracking (#222).

    Open source →
  41. 3.5.1 19 Jun 2026
    Release notes

    FEAT: Crash detection now uses the device barometer as an extra confirmation clue — a serious crash or airbag deployment causes a quick cabin air-pressure change that raises crash confidence on phones with a pressure sensor; phones without one skip it with no downside (#173). FEAT: Stronger crash/fall corroboration — a sudden post-impact speed collapse (#181) and the free-fall → impact → stillness signature (#180) now raise confidence, and confirmation is process-death-safe so a confirmed event survives the app being killed (#182).

    Open source →
  42. 3.5.0 19 Jun 2026
    Release notes

    FEAT: Crash-detection ML model promoted from beta to stable (trained on a CC0 / public-domain dataset, cleared for commercial use) and the on-device model cache now auto-re-downloads on a new published version (#183).

    Open source →
  43. 3.4.2 18 Jun 2026
    Release notes
    • REFACTOR: reformat test files and sync body context for consistent code style. (5552f795)
    Open source →
    Release notes
    • Update a dependency to the latest release.
    Open source →
  44. 3.4.1 17 Jun 2026
    Release notes
    • FEAT(geofence): cross-platform geofenceModeHighAccuracy via GeofenceConfig. (491d5b83)
    • DOCS: add Discord community invitation link to READMEs and website documentation. (c3baa1c3)
    Open source →
    Release notes
    • Update a dependency to the latest release.
    Open source →
  45. 3.4.0 17 Jun 2026
    Release notes
    • REFACTOR: extract issues 185 and 198, fix iOS config mapping. (1d088e0d)
    • FIX: resolve accuracy priority mappings in Android and iOS. (65f5127d)
    Open source →
    Release notes
    • Update a dependency to the latest release.
    Open source →
  46. 3.3.4 16 Jun 2026
    Release notes

    CHORE: bump version.

    Open source →
  47. 3.3.3 15 Jun 2026
    Release notes
    • FIX(android): deliver headless geofence events after reboot in high-accuracy mode (#185). (b197dc5f)
    Open source →
    Release notes
    • Update a dependency to the latest release.
    Open source →
  48. 3.3.2 15 Jun 2026
    Release notes
    • FIX(plugin): correct native-map -> Pigeon field mapping (#175). (feb17dcf)
    Open source →
    Release notes
    • Update a dependency to the latest release.
    Open source →
  49. 3.3.1 14 Jun 2026
    Release notes
    • FIX(crash): harden crash/fall detection (confirmation survival, threshold, debounce, sample rate). (0a17e804)
    Open source →
    Release notes
    • Update a dependency to the latest release.
    Open source →
  50. 3.3.0 14 Jun 2026
    Release notes
    • FEAT (Doctor): One-tap bug report — the Copy button now bundles health + active configuration (secrets redacted) + recent logs + telematics into a single Markdown report, and a new Share button exports it as a downloadable .md file. Available programmatically via TraceletBugReport.build() and TraceletBugReport.redactConfig().
    • FEAT (Doctor): Copy logs button added to the log viewer sheet.
    • FEAT (Driving & Safety): On-device driving-behavior telematics — harsh_braking / harsh_acceleration / harsh_cornering / speeding via TelematicsConfig + Tracelet.onDrivingEvent (opt-in, default off) (#163).
    • FEAT (Driving & Safety): On-device transport-mode classifier (still/walking/running/cycling/vehicle) fusing accelerometer + GPS via ClassifierConfig + Tracelet.onModeChange (#164).
    • FEAT (Driving & Safety): Crash & fall detection with a cancel-countdown confirmation flow via ImpactConfig + Tracelet.onImpact and Tracelet.confirmImpact / Tracelet.cancelImpact (opt-in, default off) (#165).
    • All three features are default-off and side-channel — no change to existing tracking when disabled. See Driving & Safety.
    Open source →
  51. 3.2.19 13 Jun 2026
    Release notes

    CHORE: version bump for patch release

    Open source →
  52. 3.2.18 12 Jun 2026
    Release notes
    • FIX (Native): ready() / getState() now populate State.config with the active configuration instead of leaving it permanently null (#147).
    • FEAT: Add HttpConfig.syncInterval for interval-based sync — the documented repeating-timer cadence was missing from the Dart config and the Pigeon layer; the native interval timer now flushes the offline queue on this cadence (#149).
    • FIX (Native): destroySyncedLocations() returns the real number of synced-and-pruned locations instead of a hardcoded 0 stub (#154).
    • FEAT: Expose the offline queue with getPendingLocations() and getPendingLocationCount() (#159).
    • FIX (Native): Honor the useKalmanFilter config key so the Extended Kalman Filter is no longer silently disabled by a key mismatch (#148).
    • FIX (Native): Propagate the detected activity (walking / driving / still) into recorded locations — fixes a permanent "activity": "unknown" (#155).
    • FIX (Native): Rebuild the native location processor when ready() applies a new config, so settings such as distanceFilter take effect immediately instead of using stale defaults (#157).
    • FIX (Native): getCount() honors time-bound queries instead of always returning the whole-database total (#152).
    • FIX: Guard the AuditConfig hash-algorithm mapping so configuring sha384 / sha512 no longer crashes with a fatal RangeError during ready() — unsupported variants fall back to sha256 (#150).
    • FIX (Native): The HTTP sync payload now includes each point's motion state is_moving (#151) and its trigger event (location / motionchange / heartbeat / geofence) (#156) — both were previously omitted by the native sync record.
    Open source →
  53. 3.2.17 12 Jun 2026
    Release notes
    • FIX (Native): Resolve iOS auto-sync thread starvation by offloading synchronous HTTP requests to a background DispatchQueue to prevent blocking Swift Concurrency pools (#146).
    • CHORE (Docs): Fix Nextra changelog rendering bug and improve auto-translation glossary script for internationalization.
    Open source →
  54. 3.2.16 12 Jun 2026
    Release notes
    • FIX (Native): Resolve Android/iOS getting stuck in the moving state and never transitioning back to stationary, which kept continuous GPS active and drained the battery. The accelerometer stillness sampler now stays active during the stop-timeout countdown and requires sustained motion — rather than a single noisy or stale sample — to abort it (#142).
    • FIX (Native): Background and post-reboot location captures are persisted (and therefore synced) again. Headless tracking (killed-state relaunch / boot) never calls ready(), so an internal readiness guard silently dropped every captured location before it reached the database, leaving auto-sync with nothing to upload.
    • FIX (Android): The foreground-service notification now reliably appears when the app is backgrounded or terminated with showNotificationOnPauseOnly enabled. The app's own foreground service skewed foreground/background detection (and OS process-importance updates lag), so the pause-only notification was suppressed even though tracking and syncing continued.
    Open source →
  55. 3.2.15 11 Jun 2026
    Release notes
    • FIX (Native): Allow getState() and stop() to be called before ready() is invoked, correctly reporting persistent state and shutting down background services if the app was restarted from a killed state.
    • CHORE: Update dependencies and constraints.
    • FIX: Resolve MissingPluginException and test timing issues with setHasCustomSyncBodyBuilder.
    Open source →
  56. 3.2.14 11 Jun 2026
    Release notes
    • FIX(sync): keep method channel alive to avoid iOS timeout bugs when no builder is registered. (9a083478)
    • FIX(sync): resolve issue 134 where custom sync body timeouts prevented background syncs. (7fa16fdf)
    • FIX(sync): fix background auto-sync abortion when no custom builder is registered (Issue #134). (631542a1)
    • DOCS: add official documentation URL to all package READMEs. (9eb6951e)
    • DOCS: integrate nextra website and update pubspec URLs. (99b7fda8)
    Open source →
    Release notes
    • DOCS: add official documentation URL to all package READMEs. (9eb6951e)
    • DOCS: integrate nextra website and update pubspec URLs. (99b7fda8)
    Open source →
  57. 3.2.13 10 Jun 2026
    Release notes
    • CHORE: Version bump to 3.2.13 to stay in lockstep with the federated set (Android startOnBoot reboot-tracking fix — see tracelet_android). No changes to this package.
    Open source →
  58. 3.2.12 10 Jun 2026
    Release notes
    • CHORE: Re-release to align the full federated package set and native SDKs to a single consistent version. The 3.2.11 release published with mismatched versions across some packages (a few resolved to 3.2.10). No functional code changes.
    Open source →
  59. 3.2.11 09 Jun 2026
    Release notes
    • CHORE: Version bump to align with 3.2.11 platform release.
    Open source →
  60. 3.2.10 09 Jun 2026
    Release notes
    • FIX: streamline geofence event payload handling in fromMap method.
    • FIX: ensure geofence action (ENTER/EXIT/DWELL) is correctly parsed from nested payloads on all platforms and update CI to scan dynamic frameworks for symbols.
    Open source →
    Release notes
    • Update a dependency to the latest release.
    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