March 2023
New Access Control Permissions: Teams and Roles
Memfault added new concepts for access control: Teams are a flexible way to group members of an organization. They can reflect an actual company structure with functions such as "quality assurance" or "firmware engineering." Alternatively, with Roles, administrators can design teams solely to manage permissions more conveniently when assigning dedicated roles on a per-project level.
Teams and Roles allow for configuration scenarios such as "read-only access for this department" or "OTA must only ever be performed by these four people." They further allow for sophisticated setups such as "these five contractors may only ever see this one project and nothing else" or "newly invited members of the organization can do anything with our playground project but are otherwise limited to read-only access."
Using this new system is strictly optional as all members of an organization are part of the group "everyone" that grants permission to all of Memfault's features by default.
General
- Added: Support for devices to update their
hardware_version
- Added: Support for ignoring a "Range" of invalid metric values for fleet-wide aggregations, Alerts and Device Timeline under Settings → Metrics → Edit Metric → Range
- Fixed: Missing
MemfaultSdkMetric_UnexpectedRebootDidOccur
metric in the Metric Chart dropdown - Fixed: Setting
MemfaultSdkMetric_UnexpectedRebootDidOccur
as Timeseries not possible - Fixed: Issue Charts Filters using the first software version available in the dropdown instead of the selected value
- Fixed: UI glitches (not possible to dismiss Edit Metric modal, Edit Metric modal sometimes showing up empty, opening docs on loading coredumps into GDB in a new tab)
- Changed: Number of use invites via Admin → Invites that can be sent at once is limited to 50
MCU
SDK versions 0.41.1, 0.41.2, 0.42.0 were released. Some highlights:
- Added: Capturing all of RAM in a coredump as an option to the examples/nrf-connect/nrf5
- Added: Option to capture full thread stacks for classifying stack overflows and determining stack high watermarks.
- Improved: Quality of life improvements for scripts/memfault_gdb.py (Support for exporting data from GCC 12 compiled symbol files and arguments to override device serial ID, Software Type, software version, and hardware revision)
- Fixed: Issue in Memfault Logging backend causing coredump saving to fail when building with Zephyr versions before 3.0 (nRF-Connect SDK < 2.0)
- Fixed: Compilation error in the ESP32 example app when targeting ESP-IDF <=4.4,<4.4.3
- Changed: Integer-type metrics (signed/unsigned) will reset to NULL when not set during a Heartbeat interval. See SDK documentation for further information.
Android
- Added: Support for updating
hardware_version
with the value in the MAR files - SDK version
4.5.0
of the Android Bort SDK was released. Some highlights:
- Added: Metric for Fleet Sampling resolutions
- Added: Support for changing the Project Key at runtime via intent broadcast
- Improved: All on-device rate limits can now be bypassed via Dev Mode (previously only WTF rate limits)
- Fixed: Socket error when running in Client/Server mode
- Fixed: MemfaultDumpster crash when Continuous Logging Mode enabled
- Changed: Limit max storage age of MAR files to 7 days (down from 30)
Linux
- Added: Documentation on logging
- Added: Documentation on pre-linking
- SDK versions
1.3.0
and
1.3.1
were released. Some highlights:
- Added: Support for MAR files, also used in Bort SDK.
- Added: Preview version of log collection
- Added: Log collection example in
meta-memfault-example
- Added: Configuration in
meta-memfault-example
to run on Raspberry Pi 2/3/4 - Added: Collection of coredumps of
memfaultd
- Fixed: Crash in coredump capturing code in case more than 16 warnings got emitted during the capture process. Thanks to @attilaszia for reporting this issue!
- Changed: Yocto layer now requires Cargo and Rust 1.65.0 as the SDK is partially written in Rust
CLI
- We did not publish a new version of the memfault-cli in March.