July 2022
Linux SDK 0.2.0
Memfault extends its features on embedded Linux toward basic fleet operations. You can now measure basic fleet-wide health metrics by tracking reboots and their cause at scale. Similar to Memfault's MCU and Android SDKs, there is now a dedicated Memfault Linux SDK 0.2.0 with source code including examples. The SDK repository comes with Docker images including QEMU support to simplify the first steps.
As part of the SDK, a new on-device agent memfaultd
orchestrates the
configuration of related components such as SWUpdate for OTA. It will act as a
minimal yet central component in future releases for features such as metrics
and crash reporting.
There is also a new Getting Started section that guides users through the setup with Yocto, and the reference documentation covers more details.
General
- Added: Entries are now shown under Events Debug when an invalid serial number is sent
- Improved: Users can opt-out of email for alerts and issues separately via notification preferences
- Improved: Performance of Device Timeline
- Improved: Various UI elements (Issue List on Device Details, consistent use of issue type in lists, next available release of a device)
- Improved: Documentation of alert frequency and file upload API endpoints
- Fixed: Visual glitches (chart icons on Safari, truncated tooltips, overlapping content in lists)
- Fixed: Error when activating full releases via the Version Matrix
- Fixed: Missing issue reasons on Dashboard
- Fixed: Missing device serial numbers at Issues → Recent Traces
- Fixed: Device search result no longer sorted by last seen
- Fixed: Error when marking a metric as a Device Attribute when approaching quota limits
- Fixed: Error when trying to activate a non-staged release using memfault-cli
- Changed: Normalized Charts now only consider active devices of a given population
MCU
- Added: Published Python package mflt_compact_log to decode Memfault-flavored compact logs
- Added: Published list of contributions to memfault-ios-cloud
- SDK versions
0.31.3,
0.31.4
and
0.31.5
were released. Some highlights: ****
- Added: Support for Zephyr v3.1+ by conditionally compiling out Logger v1 code (and pre-release of nRF Connect SDK v2.0.99 and Zephyr > v3.1)
- Added: Support for deferring the initializing Memfault SDK to application
start on ESP32 port with new Kconfig
option:
CONFIG_MEMFAULT_AUTOMATIC_INIT
- Added: Support for initializing Memfault earlier in the system startup for
diagnosing crashes in an early driver initialization on Zephyr port with new
Kconfig
options,
CONFIG_MEMFAULT_INIT_PRIORITY
/CONFIG_MEMFAULT_INIT_LEVEL_POST_KERNEL
- Fixed: Build warnings on NRF Connect SDK + Zephyr v3.1 (partially supported)
- Fixed: Backtraces for Zephyr
__ASSERT()
macro on aarch32/cortex_m. - Fixed: compilation issue in the Dialog example app from the removal
of
memfault_demo_cli_cmd_print_chunk()
in Memfault SDK release v0.31.4.
Android
- We did not publish a new version of the Android Bort AOSP SDK in July.
Linux
- Updated: Introduction page for Embedded Linux
- Added: Getting Started Guide and Reference pages for memfaultd Configuration and memfaultd CLI
- First
public SDK version 0.2.0
following initial 0.1.0 was released. Some highlights:
- Added: On-device agent
memfaultd
- Exhaustive configurability via settings
- Reporting reboot reasons
- Orchestrating SWUpdate for OTA
- Data communication only after user consent
- Added: Yocto layer for
memfaultd
- Added: On-device agent