1.27.0
📈 Added
-
General:
-
Add a reference software watchdog port for the STM32L4 series LPTIM
peripheral. Users of the STM32 HAL can now compile in the reference port and
theMemfaultWatchdog_Handler. The handler will save a coredump so the full
system state can be recovered when a watchdog takes place. More details can
be found in
ports/include/memfault/ports/watchdog.h. -
Add CLI commands
wdg_enable,wdg_disable, andwdog_update <timeout_ms>
for testing a software watchdog port. These commands are disabled by default
and can be enabled for platforms using the minimal shell/console with
MEMFAULT_DEMO_CLI_WATCHDOG.
-
-
Zephyr:
-
Add a new Kconfig option,
CONFIG_MEMFAULT_HTTP_MAX_MESSAGES_TO_SEND, which
controls the max number of messages that will be sent in a single invocation
ofmemfault_zephyr_port_post_data()or similar APIs. The default is100,
which is suitable for most applications. Before this change, the limit was
hard coded to 5 messages, which was too low for systems with infrequent
upload intervals. -
Support building for
native_simon arm64 hosts (specifically, the
native_sim/native/64target), in addition to x86 hosts.
-
🛠️ Changed
-
Zephyr:
-
Improve the default implementation of
memfault_platform_sanitize_address_range()to include all memory
accessible by the kernel. This enables collection of heap-allocated task
control blocks, which was previously unsupported. Users with discontiguous
memory regions should provide their own implementation, as before. -
Prioritize the thread bookkeeping array when collecting thread information
in a coredump (whenCONFIG_MEMFAULT_COREDUMP_COLLECT_TASKS_REGIONS=y, the
default). This improves the quality of the processed coredump if the
coredump region is too small to collect all stacks for all threads in the
system (impacts systems with many threads and limited coredump storage
space). -
Add a new Kconfig option,
CONFIG_MEMFAULT_HTTP_PACKETIZER_BUFFER_SIZE,
which controls the size of the intermediate buffer used when reading data
from the underlying data source (coredump storage, log buffer, CDR, etc)
when uploading data to Memfault via HTTP. The default size is 128 bytes, and
1024 bytes on nRF91x series SOCs to better support modem trace CDR upload.
Thanks to @DematteisGiacomo for submitting this in
#92.
-
-
ESP-IDF:
-
Handle deprecated Deep Sleep API calls for upcoming ESP-IDF v5.5 and v6.
-
Supporting building with the Memfault CLI commands disabled,
CONFIG_MEMFAULT_CLI_ENABLED=n. Thanks to @finger563 for reporting this
issue and providing a fix in
#93 🎉!
-
🐛 Fixed
-
Zephyr:
- Fix an issue where the socket file descriptor can potentially be leaked when
the connection terminated unexpectedly during an HTTP chunk upload. Thanks
to @DematteisGiacomo for submitting this in
#92.
- Fix an issue where the socket file descriptor can potentially be leaked when