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
inmemfault_platform_config.h
.
- Enable building the SDK on
- 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.
- 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
- ESP-IDF:
- Add new built-in Wi-Fi metrics:
wifi_primary_channel
- the primary channel ID of the associated Wi-Fi access pointwifi_auth_mode
- the authentication mode of the associated Wi-Fi access point, for exampleWPA2_PSK
wifi_standard_version
- the Wi-Fi version of the associated Wi-Fi access point, for example802.11n
These metrics are enabled by default and can be disabled (along with other built-in Wi-Fi metrics) with the Kconfig optionCONFIG_MEMFAULT_ESP_WIFI_METRICS
- Add new built-in Wi-Fi metrics:
Changed
- General:
MEMFAULT_LOG_TIMESTAMPS_ENABLE
is now enabled by default. When enabled, andmemfault_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 FreeRTOSmemfault_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 MetricMemfaultSdkMetric_os_version
. In this case, the value is taken from theESP_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 asHardwareWatchdog
- Log lines that are only a single
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 withmemfault_log_trigger_collection()
do not yet support timestamps, so the feature should not be used in production until that support is added.
- Disable
- Zephyr:
- The
hwinfo
based Reset Reason implementation did not clear the reset reason register after reading the data. Updated to properly callhwinfo_clear_reset_cause()
after reading the reset reason.
- The
- 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.
- Correctly set the Memfault Firmware SDK version inside the
espressif component
version of the SDK. Prior to this fix, the SDK version reports as
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 tellsmemfaultd
to upload any data that has been written to the staging directory.mickledore
toLAYERSERIES_COMPAT_memfault
inmeta-memfault
'slayer.conf
CLI
We did not publish a new version of the memfault-cli in March 2025.