Skip to main content

November 2022

Debug Devices with Custom Data Recordings

Memfault’s new Custom Data Recordings (CDRs) allow devices to send any custom data for specific events or periods at arbitrary times. Memfault’s Device Timeline shows these recordings grouped by their user-defined reason in relation to the existing debug information, such as metrics, logs, traces, or reboots to provide even more detail about the state a device was in at a given moment.


The underlying data of CDRs can be of any format and is accessible for download for further analysis outside of Memfault. This allows devices to send vendor-specific or proprietary debug data from their sub-components. Via the Memfault CLI, one can also augment the device timeline with data captured outside of the device (e.g. reports for hardware-in-the-loop tests).


  • Added: Onboarding flow for Infineon customers
  • Added: Sorting of the Settings → Metrics list on Attribute / Timeseries fields
  • Improved: UI of the Device Timeline (indication of extrapolated values with locf label, using “Range” values from Settings → Metrics to fit values into the swimlane, setting viewport of the Device Timeline to day boundaries when accessed through a direct link, combination of min/mean/max values of the same metric into one swimlane under Device Timeline, more accessible line colors)
  • Improved: Link to the Device Timeline from Log Details page (via Captured Date)
  • Improved: Various places in UI (Better placement of the system status into the side menu, removal of duplicate information text in Archive Software Type modal, more explicit OTA version checking explanation text, alignment of the log fields in Android and MCU projects, more explicit error message in the case of a timeout)
  • Improved: Load time of all Issue Occurrence charts
  • Fixed: Error when creating project through Particle registration link
  • Fixed: Duplicate project creation modal when registering through a partner URL
  • Fixed: “Create Token” button opening SSO connection modal if SSO page was visited first
  • Fixed: Possible timeout when staging releases on very large cohorts
  • Fixed: Possible timeout when searching devices in very large fleets using custom attributes
  • Fixed: Possible timeout when processing Qualcomm crash reports
  • Fixed: Device attributes not populated in projects where Fleet Sampling is enabled
  • Fixed: Error when loading the dashboard on Safari Mobile
  • Fixed: Alert Notifications not being triggered when the metric in alert condition has a “.” in its name



  • Added: Documentation on Android Multi-Device Support
  • Improved: Visualization of Android custom metrics on Device Timeline
  • SDK versions 4.3.1 and 4.3.2 were released. Some highlights:
    • Fixed: Failure collecting Batterystats metrics when the device clock changes
    • Fixed: Exceeding the rate limit of the collection of WTFs with the same signature blocks collection of other WTFs
    • Fixed: Sporadic failures of bugreport processing by Bort if the Bort OTA app is installed on the device.


  • Added: Documentation for Linux Reboot Reasons
  • Improved: Yocto symbol upload instructions (using memfault-cli) on Issues Page
  • SDK version 1.1.0 was released. Some highlights:
    • Added: Support for setting the reboot reason using the last_reboot_reason_file
    • Fixed: Sporadic failures to collect the correct reboot reason:
      • Kernel panics showing up in the application as "brown out reset"
      • Collection of multiple reboot events for a single reboot
      • Failure to collect the reboot reason "firmware update" after the installation of an OTA update using SWUpdate
    • Fixed: Compilation errors when building the SDK on 32-bit systems


  • CLI versions 0.13.0, 0.14.0, 0.15.0, 0.15.1 and 0.15.2 were released. Some highlights:
    • Fixed: Timeouts when posting large chunks using memfault-cli
    • Fixed: Some compatibility issues for python3.6 and python3.7
    • Changed: Renamed subcommand upload-debug-data-recording to custom-data-recording
    • Changed: upload-yocto-symbols subcommand now takes root filesystem image path and debug filesystem image path as required arguments