1.31.0
This is a minor feature and bugfix release. Key updates:
- Fix for compact log serialization error when logs exceed max length
- Handle an upcoming Zephyr API change that renames BLE connection interval
field (used in built-in Bluetooth metrics)
📈 Added
-
Zephyr:
-
Added CPU temperature metrics support for additional platforms:
-
Devices with a die temp device tree node with
compatible = "nordic,nrf-temp"; -
Platforms using
die_tempordie_temp0aliases, atempnodelabel, or
thememfault_cpu_tempalias. This support is enabled out of the box for
the nRF54L15-DK board.
-
-
Add a new demo CLI command,
mflt get_reboot_reason, which displays the
device reboot reason and the prior stored reboot reason. Example output:uart:~$ mflt get_reboot_reason Current Reboot Reason Reg: 0x0008 Prior Stored Reboot Reason: 0x0002
-
🛠️ Changed
-
Zephyr:
-
Updated the
mflt exportcommand to print out chunk data using
shell_print()instead ofprintk(). Usingprintk()can lead to dropped
chunk data whenCONFIG_LOG_PRINTK=yandCONFIG_LOG_MODE_DEFERRED=y.
Usingshell_print()avoids this issue. -
Change the precedence of reboot reason bits when decoding the Zephyr hwinfo
reset reason register. This improves the accuracy of reboot reasons on STM32
platforms, where the Pin Reset and Software Reset bits can be set
simultaneously with other reset reasons. -
Support an
upcoming change
in Zephyr v4.4.0 / nRF Connect SDK v3.2.0, where the
bt_conn_le_info.intervalfield changes tobt_conn_le_info.interval_us.
Thanks to @weeTike for providing this patch in
#97 🎉!This removes the existing metric
bt_connection_interval, replacing with
bt_connection_interval_us. Please reach out if you need support for the
previous metric (which was added in SDK v1.29.0)
-
-
General:
- Fix a few new warnings when building with clang 21.0.0+.
🐛 Fixed
-
General:
-
Fixed an error in Compact Log serialization that resulted in invalid log
data, which caused decoding to fail when processing the log in the Memfault
cloud. This issue only impacted compact logs that were within 4 bytes of the
MEMFAULT_LOG_MAX_LINE_SAVE_LENlimit; longer compact logs were silently
dropped but did not cause decoding failures.This fix will now insert a placeholder log line when a compact log exceeds
the maximum length:
[MFLT] compact log serialized length exceeds MEMFAULT_LOG_MAX_LINE_SAVE_LEN: 1234 bytes (path/to/source/file.c:218)(where1234
is the serialized log entry length that exceeded the limit).
-
-
FreeRTOS
- Fixed an undefined macros build error on FreeRTOS versions < V11.0.0 in the
FreeRTOS thread metrics port. Thread metric collection is enabled by default
on FreeRTOS platforms but can be disabled with
#define MEMFAULT_FREERTOS_COLLECT_THREAD_METRICS 0.
- Fixed an undefined macros build error on FreeRTOS versions < V11.0.0 in the