Skip to main content

March 2025

New Search Features to Quickly Triage Issues and Find Outliers

This month, we've made it easier to spot patterns and outliers across your Fleet in our Device and Issue search. These new capabilities level-up your filtering and sorting options, as well as add context-enriching calculations to help you understand the impact of an Issue at a glance.

Device Search now supports sorting on all columns—including Device Vitals, reboot counts, and custom filters—making it easier to surface anomalies. Plus, when filtering, the Report Count column is automatically shown to provide added context.

In Issue Search, you'll now see the percentage of impacted devices per Issue, giving you an instant sense of scale without needing to calculate Fleet size.

General

  • All columns in Device Search, including Device Vitals, reboot counts and custom filters, are now sortable, and the Report Count column is displayed when a filter is applied
  • Added a feature in Issue Search that displays the percentage of impacted devices for each Issue, enabling users to quickly identify which issues affect the majority of their Fleet.
  • Improved dashboard card layout to use less vertical space
  • Improved attribute distribution visualization by allowing comparison across multiple segments, with options to view as a pie chart or a table

MCU

SDK versions 1.21.0, 1.21.1 and 1.22.0 were released. Some highlights:

Added

  • General
    • Enable building the SDK on aarch64. Note that this only adds support for building the SDK on that target, full end-to-end support is not yet available.
    • Logs captured by Memfault now include a timestamp by default, when the platform implements memfault_platform_time_get_current(). This feature can be disabled by setting #define MEMFAULT_LOG_TIMESTAMPS_ENABLE 0 in memfault_platform_config.h.
  • Zephyr:
    • For SOC's with a data cache, flush the cache prior to performing a system reboot, to ensure data integrity of the RAM-backed reboot tracking data. This is added to the memfault_platform_reboot() default implementation, which can be overridden by the user if needed. SOC's without a cache will have no effect from this change.
  • ESP-IDF:
    • Add new built-in Wi-Fi metrics:
      • wifi_primary_channel - the primary channel ID of the associated Wi-Fi access point
      • wifi_auth_mode - the authentication mode of the associated Wi-Fi access point, for example WPA2_PSK
      • wifi_standard_version - the Wi-Fi version of the associated Wi-Fi access point, for example 802.11n These metrics are enabled by default and can be disabled (along with other built-in Wi-Fi metrics) with the Kconfig option CONFIG_MEMFAULT_ESP_WIFI_METRICS

Changed

  • General:
    • MEMFAULT_LOG_TIMESTAMPS_ENABLE is now enabled by default. When enabled, and memfault_platform_time_get_current() returns a valid timestamp, logs will include a second-precision timestamp. This applies to both:
      • logs captured as part of a coredump
      • logs sent to Memfault after invoking memfault_log_trigger_collection()
    • Remove some 64-bit integer divides used when computing the built-in uptime_s metric, and in the FreeRTOS memfault_platform_get_time_since_boot_ms() implementation.
  • ESP-IDF:
    • Log lines that are only a single '\\n' character are no longer recorded in the Memfault Log Buffer.
    • Support cases where the IDF_VER build variable is set to "HEAD-HASH-NOTFOUND" (i.e. using an ESP-IDF SDK that is not a git repo), when setting the built-in Metric MemfaultSdkMetric_os_version. In this case, the value is taken from the ESP_IDF_VERSION_x macros, which are less precise.
    • Use more specific Memfault reset reason codes for these watchdog reset types, previously all categorized as HardwareWatchdog
      • ESP_RST_INT_WDT -> SoftwareWatchdog
      • ESP_RST_TASK_WDT -> TaskWatchdog
      • ESP_RST_WDT (RTC watchdog, the real hardware watchdog), stays as HardwareWatchdog

Fixed

  • General:
    • Disable MEMFAULT_LOG_TIMESTAMPS_ENABLE by default. The new timestamped log feature was enabled by default in the previous Release, but only logs embedded in coredumps are fully supported. Logs captured with memfault_log_trigger_collection() do not yet support timestamps, so the feature should not be used in production until that support is added.
  • Zephyr:
    • The hwinfobased Reset Reason implementation did not clear the reset reason register after reading the data. Updated to properly call hwinfo_clear_reset_cause() after reading the reset reason.
  • ESP-IDF:
    • Correctly set the Memfault Firmware SDK version inside the espressif component version of the SDK. Prior to this fix, the SDK version reports as "MemfaultSdkMetric_sdk_version": "0.0.0". No change to the SDK, only a tooling/release change.

Android

We did not publish a new version of the Memfault Android SDK in March 2025.

Linux

SDK versions 1.18.1 and 1.19.0 were released. Some highlights:

Added

  • memfaultctl upload, which tells memfaultd to upload any data that has been written to the staging directory.
  • mickledore to LAYERSERIES_COMPAT_memfault in meta-memfault's layer.conf

CLI

We did not publish a new version of the memfault-cli in March 2025.