Skip to content

Releases: memfault/memfault-firmware-sdk

1.12.0

25 Sep 19:42
Compare
Choose a tag to compare

📈 Added

  • ESP-IDF:

    • The SDK now supports being installed as an
      ESP Component from the Espressif
      registry, by adding the following lines to an esp-idf project's
      idf_component.yml manifest:

      dependencies:
        memfault/memfault-firmware-sdk:
          version: "1.12.0"
    • Heap Allocation Tracking is
      now enabled by default for ESP-IDF projects, controlled with the Kconfig
      symbol CONFIG_MEMFAULT_HEAP_STATS. The Memfault Trace UI will show
      information about the most recent heap allocations for malloc() calls.

🛠️ Changed

  • ESP-IDF:

    • The Memfault Build ID will be
      applied by default, controlled by the Kconfig setting
      CONFIG_MEMFAULT_USE_MEMFAULT_BUILD_ID. This is only valid for ESP-IDF
      versions >= 4.2.5 , and will cause a build error on older versions,
      requiring it to be set to n. Updating to this version of the SDK will
      require removing the similar logic in the project's CMakeLists.txt
      file (a build error will occur if both are present).

    • The Memfault Core Vital for
      Periodic Connectivity
      will now count failures to sync Memfault data if the HTTP connection cannot
      be established, but WiFi connectivity is available. This can occur when the
      WAN connection is down but the access point is still up, or if there is an
      external DNS failure. Previously this was not counted as a failure.

  • Zephyr

    • The Memfault HTTP client, enabled with Kconfig
      CONFIG_MEMFAULT_HTTP_ENABLE, requires POSIX_API to be enabled on newer
      versions of Zephyr. Previously, not explicitly enabling POSIX_API would
      result in a build error. Update it to be enabled by default in the Zephyr
      SDK, via Kconfig imply POSIX_API.

    • Zephyr 3.7.0+ requires enabling CONFIG_MBEDTLS_SHA1 when using Zephyr's
      mbedtls implementation. Memfault added a build-time check for this setting
      in Memfault SDK 1.11.2, but that check would also trip when not using
      Zephyr's mbedtls implementation. Update the build check to be more precise.

  • nRF-Connect SDK:

    • Minor changes to provide compatibility with NCS versions > 2.7.0, which
      target a Zephyr fork that is compatible with 3.7.0 but provides a
      "development" version number, 3.6.99.

🐛 Fixed

  • ESP-IDF:

    • Corrected a theoretical integer overflow issue in the demo CLI crash
      command, detected by static analysis tools. The impacted function was and is
      exclusively called with an argument of 10, so this issue was not
      exploitable in practice.

1.11.5

18 Sep 20:37
Compare
Choose a tag to compare

📈 Added

  • Zephyr:

    • Add the following built-in WiFi metrics for Zephyr devices, enabled by
      default on systems with WiFi:

      • wifi_connected_time_ms : time in milliseconds the device has been
        connected to a WiFi network
      • wifi_disconnect_count : number of times the device has disconnected from
        a WiFi network
      • wifi_ap_oui : the OUI of the WiFi AP the device is connected to

      The metrics can be disabled by setting CONFIG_MEMFAULT_METRICS_WIFI=n.

    • The Memfault Zephyr fault handler now labels faults as Stack Overflow, Bus
      Fault, MemManage Fault, and Usage Fault, among others, in addition to the
      existing Hard Fault label. Note that this does not change the types of
      faults collected (all these faults are already supported), but it does
      correct the label presented in the Memfault UI.

    • Add a new test command, mflt test stack_overflow, that will trigger a
      stack overflow fault when CONFIG_STACK_SENTINEL or
      CONFIG_MPU_STACK_GUARD is enabled.

    • The cpu_temp metric has been renamed to thermal_cpu_c to better reflect
      the metric's purpose. The metric is still collected by default on platforms
      with an enabled die-temp0 sensor, and can be disabled by setting
      CONFIG_MEMFAULT_METRICS_CPU_TEMP=n.

    • Add a new metric, memory_pct_max, which captures the max percentage of the
      heap used. It is enabled by default. This metric and the existing
      Heap_BytesFree metric are controlled with
      CONFIG_MEMFAULT_METRICS_MEMORY_USAGE.

  • ESP-IDF:

    • Add an option to upload logs by default when using
      MEMFAULT_HTTP_PERIODIC_UPLOAD, controlled with the Kconfig symbol
      MEMFAULT_HTTP_PERIODIC_UPLOAD_LOGS. This can also be controlled at runtime
      with the included API
      memfault_esp_port_http_periodic_upload_logs(bool enable)

    • Add a new metric, memory_pct_max, which captures the max percentage of the
      heap used. It is enabled by default. This metric and the existing heap_*
      metrics are now controlled with CONFIG_MEMFAULT_METRICS_MEMORY_USAGE.

    • Print the Memfault OTA URL from memfault_esp_port_ota_update() when a new
      update is available, for example:

      esp32> memfault_ota_check
      I (98125) mflt: Checking for OTA Update
      Download URL: https://ota-cdn.memfault.com/2950/9757/19036619757?token=0123456789abcdef&expires=1726192800&v=2
      I (98775) mflt: Update available!
      
      esp32> memfault_ota_perform
      I (15515) mflt: Checking for OTA Update
      Download URL: https://ota-cdn.memfault.com/2950/9757/19036619757?token=0123456789abcdef&expires=1726192800&v=2
      I (16205) mflt: Starting OTA download ...

🛠️ Changed

  • Zephyr:

    • The cpu_temp metric has been renamed to thermal_cpu_c to better reflect
      the metric's purpose. The metric is still collected by default on platforms
      with an enabled die-temp0 sensor, and can be disabled by setting
      CONFIG_MEMFAULT_METRICS_CPU_TEMP=n.
  • ESP-IDF:

    • The cpu_temp metric has been renamed to thermal_cpu_c to better reflect
      the metric's purpose. The metric is still collected by default on ESP32
      variants that support it (all but ESP32), and can be disabled by setting
      CONFIG_MEMFAULT_METRICS_CPU_TEMP=n.

    • The Kconfig CONFIG_MEMFAULT_ESP_HEAP_METRICS has been replaced with
      CONFIG_MEMFAULT_METRICS_MEMORY_USAGE.

1.11.4

10 Sep 17:20
Compare
Choose a tag to compare

See CHANGELOG.md for release notes.

1.11.3

05 Sep 13:20
Compare
Choose a tag to compare

See CHANGELOG.md for release notes.

1.11.2

30 Aug 21:09
Compare
Choose a tag to compare

See CHANGELOG.md for release notes.

1.11.1

12 Aug 18:34
Compare
Choose a tag to compare

See CHANGELOG.md for release notes.

1.11.0

08 Aug 15:50
Compare
Choose a tag to compare

See CHANGELOG.md for release notes.

1.10.1

24 Jul 17:51
Compare
Choose a tag to compare

See CHANGELOG.md for release notes.

1.10.0

12 Jul 19:51
Compare
Choose a tag to compare

See CHANGELOG.md for release notes.

1.9.4

01 Jul 13:12
Compare
Choose a tag to compare

See CHANGELOG.md for release notes.