@@ -11,6 +11,10 @@ Zephyr v3.6.0.
11
11
Any other changes (not directly related to migrating applications) can be found in
12
12
the :ref: `release notes<zephyr_3.6> `.
13
13
14
+ .. contents ::
15
+ :local:
16
+ :depth: 2
17
+
14
18
Build System
15
19
************
16
20
@@ -51,8 +55,11 @@ Boards
51
55
following NXP boards: ``mimxrt685_evk_cm33 ``, ``frdm_k64f ``, ``mimxrt1050_evk ``, ``frdm_kl25z ``,
52
56
``mimxrt1020_evk ``, ``mimxrt1015_evk ``
53
57
58
+ Modules
59
+ *******
60
+
54
61
Optional Modules
55
- ****************
62
+ ================
56
63
57
64
The following modules have been made optional and are not downloaded with `west update ` by default
58
65
anymore:
@@ -63,8 +70,42 @@ To enable them again use the ``west config manifest.project-filter -- +<module
63
70
name> `` command, or ``west config manifest.group-filter -- +optional `` to
64
71
enable all optional modules, and then run ``west update `` again.
65
72
66
- Device Drivers and Device Tree
67
- ******************************
73
+ MCUboot
74
+ =======
75
+
76
+ * MCUboot's deprecated ``CONFIG_ZEPHYR_TRY_MASS_ERASE `` Kconfig option has been removed. If an
77
+ erase is needed when flashing MCUboot, this should now be provided directly to the ``west ``
78
+ command e.g. ``west flash --erase ``. (:github: `64703 `)
79
+
80
+ zcbor
81
+ =====
82
+
83
+ * If you have zcbor-generated code that relies on the zcbor libraries through Zephyr, you must
84
+ regenerate the files using zcbor 0.8.1. Note that the names of generated types and members has
85
+ been overhauled, so the code using the generated code must likely be changed.
86
+ For example:
87
+
88
+ * Leading single underscores and all double underscores are largely gone,
89
+ * Names sometimes gain suffixes like ``_m `` or ``_l `` for disambiguation.
90
+ * All enum (choice) names have now gained a ``_c `` suffix, so the enum name no longer matches
91
+ the corresponding member name exactly (because this broke C++ namespace rules).
92
+
93
+ * The function :c:func: `zcbor_new_state `, :c:func: `zcbor_new_decode_state ` and the macro
94
+ :c:macro: `ZCBOR_STATE_D ` have gained new parameters related to decoding of unordered maps.
95
+ Unless you are using that new functionality, these can all be set to NULL or 0.
96
+
97
+ * The functions :c:func: `zcbor_bstr_put_term ` and :c:func: `zcbor_tstr_put_term ` have gained a new
98
+ parameter ``maxlen ``, referring to the maximum length of the parameter ``str ``.
99
+ This parameter is passed directly to :c:func: `strnlen ` under the hood.
100
+
101
+ * The function :c:func: `zcbor_tag_encode ` has been renamed to :c:func: `zcbor_tag_put `.
102
+
103
+ * Printing has been changed significantly, e.g. :c:func: `zcbor_print ` is now called
104
+ :c:func: `zcbor_log `, and :c:func: `zcbor_trace ` with no parameters is gone, and in its place are
105
+ :c:func: `zcbor_trace_file ` and :c:func: `zcbor_trace `, both of which take a ``state `` parameter.
106
+
107
+ Device Drivers and Devicetree
108
+ *****************************
68
109
69
110
* Various deprecated macros related to the deprecated devicetree label property
70
111
were removed. These are listed in the following table. The table also
@@ -294,6 +335,11 @@ Device Drivers and Device Tree
294
335
};
295
336
};
296
337
338
+ * Touchscreen drivers :dtcompatible: `focaltech,ft5336 ` and
339
+ :dtcompatible: `goodix,gt911 ` were using the incorrect polarity for the
340
+ respective ``reset-gpios ``. This has been fixed so those signals now have to
341
+ be flagged as :c:macro: `GPIO_ACTIVE_LOW ` in the devicetree. (:github: `64800 `)
342
+
297
343
* Runtime configuration is now disabled by default for Nordic UART drivers. The motivation for the
298
344
change is that this feature is rarely used and disabling it significantly reduces the memory
299
345
footprint.
@@ -357,57 +403,6 @@ Device Drivers and Device Tree
357
403
* The :dtcompatible: `st,hci-spi-v1 ` should be used instead of :dtcompatible: `zephyr,bt-hci-spi `
358
404
for the boards which are based on ST BlueNRG-MS.
359
405
360
- Shell
361
- *****
362
-
363
- * The following subsystem and driver shell modules are now disabled by default. Each required shell
364
- module must now be explicitly enabled via Kconfig (:github: `65307 `):
365
-
366
- * :kconfig:option: `CONFIG_ACPI_SHELL `
367
- * :kconfig:option: `CONFIG_ADC_SHELL `
368
- * :kconfig:option: `CONFIG_AUDIO_CODEC_SHELL `
369
- * :kconfig:option: `CONFIG_CAN_SHELL `
370
- * :kconfig:option: `CONFIG_CLOCK_CONTROL_NRF_SHELL `
371
- * :kconfig:option: `CONFIG_DAC_SHELL `
372
- * :kconfig:option: `CONFIG_DEBUG_COREDUMP_SHELL `
373
- * :kconfig:option: `CONFIG_EDAC_SHELL `
374
- * :kconfig:option: `CONFIG_EEPROM_SHELL `
375
- * :kconfig:option: `CONFIG_FLASH_SHELL `
376
- * :kconfig:option: `CONFIG_HWINFO_SHELL `
377
- * :kconfig:option: `CONFIG_I2C_SHELL `
378
- * :kconfig:option: `CONFIG_LOG_CMDS `
379
- * :kconfig:option: `CONFIG_LORA_SHELL `
380
- * :kconfig:option: `CONFIG_MCUBOOT_SHELL `
381
- * :kconfig:option: `CONFIG_MDIO_SHELL `
382
- * :kconfig:option: `CONFIG_OPENTHREAD_SHELL `
383
- * :kconfig:option: `CONFIG_PCIE_SHELL `
384
- * :kconfig:option: `CONFIG_PSCI_SHELL `
385
- * :kconfig:option: `CONFIG_PWM_SHELL `
386
- * :kconfig:option: `CONFIG_REGULATOR_SHELL `
387
- * :kconfig:option: `CONFIG_SENSOR_SHELL `
388
- * :kconfig:option: `CONFIG_SMBUS_SHELL `
389
- * :kconfig:option: `CONFIG_STATS_SHELL `
390
- * :kconfig:option: `CONFIG_USBD_SHELL `
391
- * :kconfig:option: `CONFIG_USBH_SHELL `
392
- * :kconfig:option: `CONFIG_W1_SHELL `
393
- * :kconfig:option: `CONFIG_WDT_SHELL `
394
-
395
- * The ``SHELL_UART_DEFINE `` macro now only requires a ``_name `` argument. In the meantime, the
396
- macro accepts additional arguments (ring buffer TX & RX size arguments) for compatibility with
397
- previous Zephyr version, but they are ignored, and will be removed in future release.
398
-
399
- * :kconfig:option: `CONFIG_SHELL_BACKEND_SERIAL_API ` now does not automatically default to
400
- :kconfig:option: `CONFIG_SHELL_BACKEND_SERIAL_API_ASYNC ` when
401
- :kconfig:option: `CONFIG_UART_ASYNC_API ` is enabled, :kconfig:option: `CONFIG_SHELL_ASYNC_API `
402
- also has to be enabled in order to use the asynchronous serial shell (:github: `68475 `).
403
-
404
- Bootloader
405
- **********
406
-
407
- * MCUboot's deprecated ``CONFIG_ZEPHYR_TRY_MASS_ERASE `` Kconfig option has been removed. If an
408
- erase is needed when flashing MCUboot, this should now be provided directly to the ``west ``
409
- command e.g. ``west flash --erase ``. (:github: `64703 `)
410
-
411
406
Bluetooth
412
407
*********
413
408
@@ -440,7 +435,8 @@ Bluetooth
440
435
as well. :c:func: `bt_iso_chan_send ` now always sends without timestamp. To send with a timestamp,
441
436
:c:func: `bt_iso_chan_send_ts ` can be used.
442
437
443
- * Mesh
438
+ Bluetooth Mesh
439
+ ==============
444
440
445
441
* The Bluetooth Mesh ``model `` declaration has been changed to add prefix ``const ``.
446
442
The ``model->user_data ``, ``model->elem_idx `` and ``model->mod_idx `` field has been changed to
@@ -471,7 +467,8 @@ Bluetooth
471
467
:kconfig:option: `CONFIG_BT_MESH_SAR_RX_DISCARD_TIMEOUT `,
472
468
:kconfig:option: `CONFIG_BT_MESH_SAR_RX_ACK_RETRANS_COUNT ` Kconfig options.
473
469
474
- * Audio
470
+ Bluetooth Audio
471
+ ===============
475
472
476
473
* The ``BT_AUDIO_CODEC_LC3_* `` values from ``<zephyr/bluetooth/audio/lc3.h> `` have moved to
477
474
``<zephyr/bluetooth/audio/audio.h> `` and have the ``LC3 `` part of their names replaced by a
@@ -490,16 +487,6 @@ Bluetooth
490
487
:c:func: `bt_cap_stream_send ` now always sends without timestamp.
491
488
To send with a timestamp, :c:func: `bt_cap_stream_send_ts ` can be used.
492
489
493
-
494
- LoRaWAN
495
- *******
496
-
497
- * The API to register a callback to provide battery level information to the LoRaWAN stack has been
498
- renamed from ``lorawan_set_battery_level_callback `` to
499
- :c:func: `lorawan_register_battery_level_callback ` and the return type is now ``void ``. This
500
- is more consistent with similar functions for downlink and data rate changed callbacks.
501
- (:github: `65103 `)
502
-
503
490
Networking
504
491
**********
505
492
@@ -548,44 +535,71 @@ Networking
548
535
``struct net_buf_pool_fixed `` that was specific only for buffer pools with a fixed size was
549
536
removed.
550
537
551
- zcbor
552
- *****
538
+ Other Subsystems
539
+ ****************
553
540
554
- * If you have zcbor-generated code that relies on the zcbor libraries through Zephyr, you must
555
- regenerate the files using zcbor 0.8.1. Note that the names of generated types and members has
556
- been overhauled, so the code using the generated code must likely be changed.
557
- For example:
541
+ LoRaWAN
542
+ =======
558
543
559
- * Leading single underscores and all double underscores are largely gone,
560
- * Names sometimes gain suffixes like ``_m `` or ``_l `` for disambiguation.
561
- * All enum (choice) names have now gained a ``_c `` suffix, so the enum name no longer matches
562
- the corresponding member name exactly (because this broke C++ namespace rules).
544
+ * The API to register a callback to provide battery level information to the LoRaWAN stack has been
545
+ renamed from ``lorawan_set_battery_level_callback `` to
546
+ :c:func: `lorawan_register_battery_level_callback ` and the return type is now ``void ``. This
547
+ is more consistent with similar functions for downlink and data rate changed callbacks.
548
+ (:github: `65103 `)
563
549
564
- * The function :c:func: `zcbor_new_state `, :c:func: `zcbor_new_decode_state ` and the macro
565
- :c:macro: `ZCBOR_STATE_D ` have gained new parameters related to decoding of unordered maps.
566
- Unless you are using that new functionality, these can all be set to NULL or 0.
550
+ MCUmgr
551
+ ======
567
552
568
- * The functions :c:func: ` zcbor_bstr_put_term ` and :c:func: ` zcbor_tstr_put_term ` have gained a new
569
- parameter `` maxlen ``, referring to the maximum length of the parameter `` str ``.
570
- This parameter is passed directly to :c:func: ` strnlen ` under the hood.
553
+ * MCUmgr applications that make use of serial transports (shell or UART) must now select
554
+ :kconfig:option: ` CONFIG_CRC `, this was previously erroneously selected if MCUmgr was enabled,
555
+ when for non-serial transports it was not needed. ( :github: ` 64078 `)
571
556
572
- * The function :c:func: `zcbor_tag_encode ` has been renamed to :c:func: `zcbor_tag_put `.
557
+ Shell
558
+ =====
573
559
574
- * Printing has been changed significantly, e.g. :c:func: `zcbor_print ` is now called
575
- :c:func: `zcbor_log `, and :c:func: `zcbor_trace ` with no parameters is gone, and in its place are
576
- :c:func: `zcbor_trace_file ` and :c:func: `zcbor_trace `, both of which take a ``state `` parameter.
560
+ * The following subsystem and driver shell modules are now disabled by default. Each required shell
561
+ module must now be explicitly enabled via Kconfig (:github: `65307 `):
577
562
578
- Other Subsystems
579
- ****************
563
+ * :kconfig:option: `CONFIG_ACPI_SHELL `
564
+ * :kconfig:option: `CONFIG_ADC_SHELL `
565
+ * :kconfig:option: `CONFIG_AUDIO_CODEC_SHELL `
566
+ * :kconfig:option: `CONFIG_CAN_SHELL `
567
+ * :kconfig:option: `CONFIG_CLOCK_CONTROL_NRF_SHELL `
568
+ * :kconfig:option: `CONFIG_DAC_SHELL `
569
+ * :kconfig:option: `CONFIG_DEBUG_COREDUMP_SHELL `
570
+ * :kconfig:option: `CONFIG_EDAC_SHELL `
571
+ * :kconfig:option: `CONFIG_EEPROM_SHELL `
572
+ * :kconfig:option: `CONFIG_FLASH_SHELL `
573
+ * :kconfig:option: `CONFIG_HWINFO_SHELL `
574
+ * :kconfig:option: `CONFIG_I2C_SHELL `
575
+ * :kconfig:option: `CONFIG_LOG_CMDS `
576
+ * :kconfig:option: `CONFIG_LORA_SHELL `
577
+ * :kconfig:option: `CONFIG_MCUBOOT_SHELL `
578
+ * :kconfig:option: `CONFIG_MDIO_SHELL `
579
+ * :kconfig:option: `CONFIG_OPENTHREAD_SHELL `
580
+ * :kconfig:option: `CONFIG_PCIE_SHELL `
581
+ * :kconfig:option: `CONFIG_PSCI_SHELL `
582
+ * :kconfig:option: `CONFIG_PWM_SHELL `
583
+ * :kconfig:option: `CONFIG_REGULATOR_SHELL `
584
+ * :kconfig:option: `CONFIG_SENSOR_SHELL `
585
+ * :kconfig:option: `CONFIG_SMBUS_SHELL `
586
+ * :kconfig:option: `CONFIG_STATS_SHELL `
587
+ * :kconfig:option: `CONFIG_USBD_SHELL `
588
+ * :kconfig:option: `CONFIG_USBH_SHELL `
589
+ * :kconfig:option: `CONFIG_W1_SHELL `
590
+ * :kconfig:option: `CONFIG_WDT_SHELL `
580
591
581
- * MCUmgr applications that make use of serial transports (shell or UART) must now select
582
- :kconfig:option: ` CONFIG_CRC `, this was previously erroneously selected if MCUmgr was enabled,
583
- when for non-serial transports it was not needed. ( :github: ` 64078 `)
592
+ * The `` SHELL_UART_DEFINE `` macro now only requires a `` _name `` argument. In the meantime, the
593
+ macro accepts additional arguments (ring buffer TX & RX size arguments) for compatibility with
594
+ previous Zephyr version, but they are ignored, and will be removed in future release.
584
595
585
- * Touchscreen drivers :dtcompatible: `focaltech,ft5336 ` and
586
- :dtcompatible: `goodix,gt911 ` were using the incorrect polarity for the
587
- respective ``reset-gpios ``. This has been fixed so those signals now have to
588
- be flagged as :c:macro: `GPIO_ACTIVE_LOW ` in the devicetree. (:github: `64800 `)
596
+ * :kconfig:option: `CONFIG_SHELL_BACKEND_SERIAL_API ` now does not automatically default to
597
+ :kconfig:option: `CONFIG_SHELL_BACKEND_SERIAL_API_ASYNC ` when
598
+ :kconfig:option: `CONFIG_UART_ASYNC_API ` is enabled, :kconfig:option: `CONFIG_SHELL_ASYNC_API `
599
+ also has to be enabled in order to use the asynchronous serial shell (:github: `68475 `).
600
+
601
+ ZBus
602
+ ====
589
603
590
604
* The ``CONFIG_ZBUS_MSG_SUBSCRIBER_NET_BUF_DYNAMIC `` and
591
605
``CONFIG_ZBUS_MSG_SUBSCRIBER_NET_BUF_STATIC `` zbus options are renamed. Instead, the new
@@ -634,8 +648,11 @@ Userspace
634
648
* ``z_object_init `` to :c:func: `k_object_init `
635
649
* ``z_dynamic_object_aligned_create `` to :c:func: `k_object_create_dynamic_aligned `
636
650
651
+ Architectures
652
+ *************
653
+
637
654
Xtensa
638
- ******
655
+ ======
639
656
640
657
* :kconfig:option: `CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC ` no longer has a default in
641
658
the architecture layer. Instead, SoCs or boards will need to define it.
0 commit comments