Migration guide to Zephyr v3.5.0 (Working Draft)

This document describes the changes required or recommended when migrating your application from Zephyr v3.4.0 to Zephyr v3.5.0.

Required changes

  • The kernel k_mem_slab_free() function has changed its signature, now taking a void *mem pointer instead of a void **mem double-pointer. The new signature will not immediately trigger a compiler error or warning, instead likely causing a invalid memory access at runtime. A new _ASSERT statement, that you can enable with CONFIG_ASSERT, will detect if you pass the function memory not belonging to the memory blocks in the slab.

  • The CONFIG_BOOTLOADER_SRAM_SIZE default value is now 0 (was 16). Bootloaders that use a part of the SRAM should set this value to an appropriate size. GitHub #60371

  • The Kconfig option CONFIG_GPIO_NCT38XX_INTERRUPT has been renamed to CONFIG_GPIO_NCT38XX_ALERT.

  • MCUmgr SMP version 2 error codes entry has changed due to a collision with an existing response in shell_mgmt. Previously, these errors had the entry ret but now have the entry err. smp_add_cmd_ret() is now deprecated and smp_add_cmd_err() should be used instead, MGMT_CB_ERROR_RET is now deprecated and MGMT_CB_ERROR_ERR should be used instead. SMP version 2 error code defines for in-tree modules have been updated to replace the *_RET_RC_* parts with *_ERR_*.