PackageTrack
Sign in Get early access

carp_mobile_sensing

Mobile Sensing Framework for Flutter. A software framework for collecting sensor data from the phone and attached wearable devices via probes. Can be extended.

2.3.1 2.8K downloads/mo #4757 most downloaded on pub.dev cph-cachet/carp.sensing-flutter

What this package is like to depend on

Last release 7 days ago

17 Aug 2026

Ships unpredictably

gaps range from 8 days to 10 months

Most releases are documented

notes for 113 of 171 stable releases

3 versions withdrawn

withdrawn after publishing

8 years old

174 releases · first in 2018

13 releases in the last 12 months

see the full history below

Release timeline

174 releases · Oct 2018 to Aug 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 60 of 174
  1. 2.3.1 17 Aug 2026
    Release notes
    • fix duplicate column name: record_id crash in the record_id SQLite migration (SQLiteDataManager.onUpgrade) by only adding the column/index when it isn't already there
    Open source →
  2. 2.3.0 17 Aug 2026
    Release notes
    • upgrade to device_info_plus ^13.2.0 and package_info_plus ^10.2.1, which require Flutter >=3.38.1
      • needed for compatibility with health ^13.3.2, which also requires device_info_plus ^13.x
      • both bumps pull in win32 6.x; neither changes the API used here
    Open source →
  3. 2.2.0 14 Aug 2026
    Release notes
    • require carp_serializable ^3.0.0, which replaces the built-in Uuid with the uuid package
    Open source →
  4. 2.1.8 07 Aug 2026

    Nothing published for this version

  5. 2.1.7 06 Aug 2026
    Release notes
    • resume a connectable device's task control executors when it connects after the study has started - previously they stayed paused and the device never sampled
    • request location permission for BLE devices on Android, which is required for BLE scanning to return any results
    • cancel the previous subscription when a [StreamProbe] is resumed, so resuming an already resumed probe no longer orphans a subscription that keeps delivering and collects every measurement once per resume
    Open source →
  6. 2.1.6 24 Jul 2026

    Nothing published for this version

  7. 2.1.5 22 Jul 2026

    Nothing published for this version

  8. 2.1.4 21 Jul 2026

    Nothing published for this version

  9. 2.1.3 30 Jun 2026
    Release notes
    • Update screen_state plugin to 5.0.1
    Open source →
  10. 2.1.2 12 Jun 2026
    Release notes

    Backwards compatibility with studies created on CAMS 1.x (protocol API level < 2.0), so that apps can upgrade from 1.x to 2.x without losing running deployments.

    • Support deserialization of 1.x protocols and deployments, which used the carp_core device namespace before the rename to dk.carp.cams.devices — the 1.x device type names are now registered as fromJson aliases (Smartphone, BLEHeartRateDevice, SmartphoneDeviceRegistration).
    • Tolerate missing BLE scan fields (serviceUuids, allowDuplicates) and the missing deployed / 1.x status fields when deserializing 1.x deployments.
    • Restore the 1.x stepcount measure type and probe.
    • Migrate the local SQLite database from the 1.x schema to the 2.x schema on first launch (studies table and the device_role_name column on task_queue), instead of failing with no such table / no such column.
    Open source →
  11. 2.1.1 02 Apr 2026
    Release notes

    This release has two new main features: (i) to support adding, running, and removing multiple studies to the client manager, and (ii) to save runtime state persistently so that sampling of data in all studies will resume effortlessly across app restart. In addition, a set of issues have been addressed, as listed in Milestone 2.0.0. The important ones include:

    • Update of the client software architecture to reflect the CARP Core client architecture. This - amongst other things - provides better support for StudyStatus in the client manager (#504)
    • Simplified configuration - now only the client and not the controller needs configuration.
    • Revised state machine model for executors, now using states 'resumed' and 'paused' instead of 'started' and 'stopped'
    • Added AppLifecycleEvent measure to collect life-cycle event from the app
    • Correct device registration in the deployment service (#550).

    The example app has also been update to illustrate how a client can run multiple studies (#559). Also note that CAMS now has a completely new documentation site.

    Open source →
  12. 2.1.0 01 Apr 2026

    Nothing published for this version

  13. 2.0.0 11 Mar 2026 withdrawn
    Release notes

    API level 2.0 for all packages as released on pub.dev

    Open source →
  14. 1.13.1 23 May 2025
    Release notes
    Open source →
  15. 1.13.0 20 May 2025

    Nothing published for this version

  16. 1.12.6 29 Apr 2025
    Release notes
    • Deprecating the ONE_TIME_SENSING_TYPE - now there is only one type of sensing user task (#488)
    Open source →
  17. 1.12.5 24 Apr 2025 withdrawn

    Nothing published for this version

  18. 1.12.4 08 Apr 2025
    Release notes
    • Upgrade of Android APK
    • Bumped minimum Flutter SDK requirement to 3.3
    • Upgrade of plugins to latest versions
    • Fix of #470
    • Upgrade to latest Flutter plugins
    • Fix of #481
    • Fix of #482
    Open source →
  19. 1.12.3 06 Apr 2025 withdrawn

    Nothing published for this version

  20. 1.12.2 02 Apr 2025

    Nothing published for this version

  21. 1.12.1 27 Feb 2025

    Nothing published for this version

  22. 1.12.0 12 Feb 2025

    Nothing published for this version

  23. 1.11.6 04 Dec 2024
    Release notes
    • Support for the NoUserTaskTrigger (issue #453)
    Open source →
  24. 1.11.5 10 Nov 2024
    Release notes
    • Fix of issue with restarting data collection on device reconnect (issue #442)
    • Added timestamps to user tasks when completed (issue #441)
    Open source →
  25. 1.11.4 04 Nov 2024
    Release notes
    • Extended the SmartphoneStudy and SmartphoneDeployment to hold info on participant ID and participant role for a study running on the phone. This helps upload participant data (like informed consent) without the need to specify this every time.
    • Fix of #429
    • Fix of #430
    • Fix of #431
    • Fix of #437
    Open source →
  26. 1.11.3 29 Oct 2024

    Nothing published for this version

  27. 1.11.2 13 Oct 2024

    Nothing published for this version

  28. 1.11.1 13 Oct 2024

    Nothing published for this version

  29. 1.11.0 09 Oct 2024

    Nothing published for this version

  30. 1.10.0 23 Sep 2024
    Release notes
    • Upgrade to carp_core v. 1.8 & carp_serialization v. 2.0
    • Type safe fromJson() methods & nested json serialization
    • Upgrade of example app to use new Flutter Android Gradle build setup
    Open source →
  31. 1.9.0 22 Jul 2024
    Release notes
    • Support for handling permission on a Measure level #407.
    Open source →
  32. 1.8.2 09 Jul 2024
    Release notes
    Open source →
  33. 1.8.1 19 Jun 2024
    Release notes
    • Added support for extension of triggers, #403. See the section on Adding new Trigger on the CAMS wiki.
    • Refactor of the software architecture to align better with a domain-driven design architecture.
    • Improvements to executor state machine (can only restart an executor/probe that is already started)
    Open source →
  34. 1.8.0 09 Jun 2024

    Nothing published for this version

  35. 1.7.2 04 Jun 2024

    Nothing published for this version

  36. 1.7.1 03 Jun 2024
    Release notes
    Open source →
  37. 1.7.0 03 Jun 2024
    Release notes
    • Refactor task and notification enqueueing process:
      • Move from sequential scheduling for each TaskControl to buffering tasks in AppTaskController.
      • Buffered tasks are sorted by time and scheduled in batches based on platform limits (iOS and Android notification limits).
    • Enhance consistency in task scheduling:
      • Ensured all necessary tasks in the foreseeable future are queued.
      • Prevent task and notification drops due to notification slot limitations.
    • Resolve issue with duplicate tasks being scheduled:
      • Ensure tasks are stored in the database after being scheduled the first time.
    Open source →
  38. 1.6.1 06 May 2024
    Release notes
    • Improvement to removing studies (linked to issue #283 in the CARP Studies App)
      • adding a new "disposed" sensing state
      • removing study deployment runtime
      • better handling of restarting sampling on device reconnection
    • Upgrade of carp_serialization and carp_core
    • Getting rid of uuid package dependency
    • Fix of #394
    Open source →
  39. 1.6.0 05 May 2024

    Nothing published for this version

  40. 1.5.1 25 Apr 2024
    Release notes
    • Automatically stopping a background task if all of its underlying probes have stopped (fix of 384)
    • Upgrade to carp_core v. 1.5.0 (getting rid of IsoDuration)
    Open source →
  41. 1.5.0 18 Apr 2024
    Release notes
    • Improvements to the Notification Controller
      • support app-specific methods to create, schedule, and cancel app-specific notifications
      • asks for permission on Android (Issue #375)
      • tapping a notification takes the user to the right task in the app (Issue #376)
    • Fix of #379
    Open source →
  42. 1.4.7 20 Mar 2024
    Release notes
    • Improvements to handling connected BLE devices
    • Improvement to triggers and probes using BLE devices
    • Improvements to restarting sampling on device reconnect
    • Upgrade of packages
    Open source →
  43. 1.4.6 20 Mar 2024

    Nothing published for this version

  44. 1.4.5 29 Feb 2024

    Nothing published for this version

  45. 1.4.4 12 Feb 2024
    Release notes
    • Upgrade of plugins (battery_plus, sensor_plus, cron)
    • Support for specifying ("overriding") sampling frequency in sensor measures (accelerometer, gyroscope, magnetometer) by using a IntervalSamplingConfiguration
    • Improvement to executor state machine
    • Improvement to restarting sampling on device (re)connection, including now also online service like the location service
    • Improvements to device manager
    Open source →
  46. 1.4.3 29 Jan 2024

    Nothing published for this version

  47. 1.4.2 26 Jan 2024

    Nothing published for this version

  48. 1.4.1 22 Jan 2024

    Nothing published for this version

  49. 1.4.0 25 Nov 2023
    Release notes

    First major release of CARP Mobile Sensing based on CARP Core API level 1.x.

    Open source →
  50. 1.4.0+1 26 Nov 2023
    Release notes
    • Upgrade to Dart 3.2
    • Update to README
    Open source →
  51. 1.3.5 22 Nov 2023
    Release notes
    • Upgrade of uuid and permission_handler plugins
    • Addition of a ACCELERATION_FEATURES that samples accelerometer readings over a sampling period and calculates a set of statistical features (Issue 336 & 347)
    • Removal of support for awesome_notifications which does not compile on iOS
    • Improvements to API docs
    • Removal of toString() methods on data points - if you want to print data, print the json generated from the toJson() method.
    • Rename of TransformerSchemaRegistry to DataTransformerSchemaRegistry
    Open source →
  52. 1.3.4 20 Oct 2023

    Nothing published for this version

  53. 1.3.3 08 Oct 2023

    Nothing published for this version

  54. 1.3.2 01 Oct 2023

    Nothing published for this version

  55. 1.3.1 25 Sep 2023

    Nothing published for this version

  56. 1.3.0 18 Sep 2023

    Nothing published for this version

  57. 1.2.0 04 Sep 2023
    Release notes
    • Battery stream on device controller and device managers
    • Support for creating, scheduling, and cancelling generic text-based notifications in the notification controller
    • A device manager can now specify and handle its required permissions
    Open source →
  58. 1.1.3 25 Aug 2023
    Release notes
    • Added support for restoring a SmartPhoneClientManager on app restart
    • A privacySchemaName is moved to be part of the SmartphoneStudyProtocol configuration.
    • Simplification of API so that a simple local study can be configured, initialized, and started in one statement (without the need for understanding the whole deployment architecture).
    Open source →
  59. 1.1.2 23 Jul 2023
    Release notes

    Note: This release has breaking changes.

    • The first stable release of CARP Mobile Sensing which follows the carp.core-kotlin v. 1.1.0 domain model, which again is implemented in the carp_core v. 1.1.0 Dart Domain model.

    • This entails a set of breaking changes to the domain model:

      • CARP cores now comes with a range of pre-defined Measure Types (e.g., geolocation, stepcount, etc.). These CARP Core measures has replaced the previous CAMS versions of these. However, most of the "old" measures are kept, so there should be backward compatibility.
      • Important new measure types are the TriggeredTask, CompletedTask, which now automatically collected data on when and how a trigger and task are done.
      • A Heartbeat measurement has been added, which sends a measure every 5 minutes for each device (incl. the phone), if connected. This can be used to retrospectively check if sampling has been running (typically used in our so-called Coverage tests).
      • In the protocol, triggering is now controlled by the Control class, which basically states if sampling should be started or stopped. So, instead of adding a TriggeredTask to a protocol you now add a TaskControl instead.
      • As part of this, the states of sampling has changed from "resumed" and "paused" to "started" and "stopped" (to reflect the Control state of a TaskControl).
      • Configuration of sampling is done using the SamplingConfiguration which can be part of a DataTypeSamplingScheme which again can be part of a DataTypeSamplingSchemeMap. A description of how this works is on the CARP Core description of Sampling Schemes and Configuration section. Note that sampling configurations can be associated both with a Measure, with a DeviceConfiguration for a device, and with a SamplingPackage.
    • The new data sub-system has been implemented in CAMS. This entails:

      • Sampled data is now stored as Data objects which again are stored as part of a Measurement (this replaces the old DataPoint data model).
      • Measurements are streamed using the measurements stream which is accessible from the SmartphoneDeploymentController.
      • Measurements can be stored or managed by a DataManager. CAMS comes with two build-in data managers: the FileDataManager and the SQLiteDataManager.
    • The UserTask is no longer responsible for showing the user interface of the task. Now, instead of showing the user interface, the onStart methods now returns a Widget to be shown. In this model, the app (and not CAMS) is responsible for deciding when and how to show the user interface. This entails that the the life cycle methods of onStart, onCancel, onExpired, and onDone no longer takes the Flutter BuildContext as a parameter. Read more on the AppTask and UserTask model on the CAMS wiki.

    • Other smaller changes include:

      • Use the CarpMobileSensing.ensureInitialized() static method in your main method to ensure that CAMS is initialized before use.
      • Update of AppDelegate.swift in example app to handle notifications in the background.
      • Adding info, warning, and debug information to the system log (instead of the console) using colors for better reading.
    Open source →
  60. 1.1.1 23 Jul 2023

    Nothing published for this version

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