doc/releases/release-notes-1.10.rst
:orphan:
.. _zephyr_1.10:
Zephyr Kernel 1.10.0 #####################
We are pleased to announce the release of Zephyr kernel version 1.10.0.
Major enhancements with this release include:
The following sections provide detailed lists of changes by component.
Kernel
Remove deprecated k_mem_pool_defrag code
Initial alpha-quality thread-level memory protection on x86, userspace and memory domains:
Add the following application-facing memory domain APIs:
add k_calloc() which uses kernel heap to implement traditional calloc() semantics.
Introduce object validation mechanism: All system calls made from userspace, which involve pointers to kernel objects (including device drivers), will need to have those pointers validated; userspace must never be able to crash the kernel by passing it garbage.
Architectures
nrf52: Add support for LOW_POWER state and SYSTEM_OFF
Architecture specific memory domain APIs added
Tickless Kernel Implementation for Xtensa
Added support for the following ARM SoCs:
Boards
Jailhouse port: The port will enable Zephyr to run as a guest OS on x86-64 systems. It comes with a test on QEMU to validate that, thus this new board introduction.
Power Management for nrf52 series SOC
Added support for the following ARM boards:
Drivers and Sensors
random to entropyNetworking
Bluetooth
Build and Infrastructure
Libraries / Subsystems
HALs
Documentation
Tests and Samples
Issue Related Items
These GitHub issues were addressed since the previous 1.9.0 tagged release:
.. comment List derived from Jira/GitHub Issue query: ...
779 - CI: shippable - provide some means to allow users to rebuild1166 - Keeping reusable components under samples/ leads to build issues1236 - Cleanup CONFIG_EXECUTION_BENCHMARKING1241 - tests/net/ipv6/ FAILED on qc1000:x861242 - tests/kernel/mutex/mutex/ FAILED @ esp321256 - [cmake] A board should support multiple configurations (variants)1270 - Issue : Information CC3220SF LaunchXL1280 - shell on Arduino Due prints "shell>" before the delayed boot banner1289 - C++ 11 support!1332 - sanitycheck builds too many duplicates in CI, make it smarter1392 - No module named 'elftools'1397 - no serialport output1415 - Problem with forcing new line in generated documentation.1416 - Regression added by commit cd35742a (net/ethernet/arp: Let ethernet L2 managing pkt's reference while sending)1419 - test, please ignore1425 - spi.h and spi_legacy.h documentation conflicts1428 - networking defines being used but not defined anywhere1435 - Could not connect to Eclipse Leshan Demo Server1445 - doc: groups of items in API documentation not displaying1450 - make kconfig help is difficult to understand1474 - tests/net/ipv6_fragment build failure, missing testcase.yaml1487 - net/lib/dns doesn't respect CONFIG_NET_IPV6=n1488 - Replacing Make/Kbuild with CMake1499 - doc: replace Mac OS with macOS1501 - doc: Fix link title1510 - "make debugserver" broken for qemu_xtensa1522 - "make qemu" may not regenerate .config after changes to prj.conf1524 - doc: Remove "Changes from Version 1 Kernel" document1527 - make htmldocs failed1538 - esp32: is broken for the latest esp-idf version1542 - filter-known-issues.py fails if input file is empty1543 - doc: add process documentation for importing non-Apache2.0 licensed code1544 - regression: net: K64F: DHCP seems to fail a lot after 91041f9e1558 - Master reports itself as if it was 1.9.0 release1571 - Update to latest tinycrypt: v0.2.81573 - tests/net/lib/http_header_fields/ fails with CONFIG_HTTP_PARSER_STRICT enabled1580 - checkpatch output in shippable log displays without line breaks1581 - two tests fail in qemu_cortex_m3 with new SDK1597 - remove deprecated k_mem_pool_defrag()1626 - Bluetooth LE dual mode topology1628 - Bluetooth LE data length extension1629 - LE privacy 1.21630 - E2E tests for connection1632 - Implement Environmental Sensing Profile sample app1653 - enable stack canaries on ARC so we can run test_stackprot1670 - Add Reject command handling1853 - Review all Kconfig variables used and Simplify1880 - Zephyr Build Management1883 - Audio Codec1885 - Display Interface1902 - uWeave2011 - tcf: add support for running altera_max10 binaries2035 - doc: remove workaround for sphinx issue once 1.5 is released2202 - sporadic bad RAM pointer error under qemu_nios22277 - Update to a more recent version of micro-ecc in Zephyr2281 - purge usage of platform_whitelist2411 - Look into supporting additional file systems under Zephyr FS API2580 - Failure in test_nano_work2723 - QEMU NIOS2 sporadic FAIL in tests/legacy/kernel/test_context2775 - Ability to make Security / Vulnerability bugs non-public2793 - entropy subsystem2818 - Add disk access based on flash on freedom board to interface with file system2853 - Customer: Zephyr Tutorial2855 - Customer: Sample code2858 - Customer: Training / Webinar / Video2942 - Support for NXP KW2xD MCU3039 - Simple Network Time Protocol support3058 - no good way to include library code outside of $(PROJECT_BASE)3064 - Symmetric multiprocessing (SMP)3070 - Add Atmel SAM family DMA (XDMAC) driver3139 - Zephyr Tutorials and Training3142 - [PTS] GAP/TC_SEC_AUT_BV_12_C fails3143 - [PTS] GAP/TC_SEC_AUT_BV_14_C fails3144 - [PTS] GAP/TC_PRIV_CONN_BV_11_C fails3146 - [PTS] SM/SLA/PROT/BV-02-C fails3147 - [PTS] SM/SLA/SIE/BV-01-C fails3158 - Add support for Panther board based on Quark SE C10003184 - xtensa: Zephyr SDK build and emulation support3201 - Add Device Tree Documentation3268 - Add tickless kernel support in xtensa_sys_timer timer3274 - Lauterbach Debug Tools Support3275 - Tickless Kernel and Frequency Scaling3290 - introduce shared metadata for boards, samples and tests3294 - Application Development3297 - ROM-able3313 - [RESEARCH] Memory Protection Unit support3353 - Missing board documentation for arm/quark_se_c1000_ble3355 - Missing board documentation for arm/nucleo_f103rb3357 - Missing board documentation for arm/stm32_mini_a153360 - Missing board documentation for x86/panther3364 - Missing board documentation for arc/panther_ss3368 - Can Zephyr support SNMP (Simple Network Management Protocol)?3378 - Zephyr will not build with icecream3383 - Work up linker-based system call prototype for MPU enabling3412 - Provide a sample application for kernel_event_logger3415 - Building FS for Arduino 1013432 - Port Zephyr to Silabs EFM32WG-STK38003484 - Provide stm32cube LL based UART driver3485 - Provide stm32cube LL based I2C driver3486 - Provide stm32cube LL based SPI driver3587 - Move board related device tree files where the board is defined3588 - Move all X86 boards and related SoCs to device tree3600 - Build warnings [-Wpointer-sign] with LLVM/icx (tests/unit/bluetooth/at)3601 - Use QMSI mailbox driver for Quark SE3604 - the http_client sample app cannot send GET request on Qemu x863608 - Add functionality of Gesture Sensor3621 - Design system call interface for drivers3625 - Validation mechanism for user-supplied kernel object pointers3627 - x86: implement system calls3628 - implement APIs for dropping threads to unprivileged mode3630 - use API to validate user-supplied kernel buffers3632 - define set of architecture-specific memory protection APIs3635 - Device Driver Access Control3641 - define kernel system calls3643 - [PTS] PTS server stops working while executing TC_SEC_CSIGN_BV_01_C test case3646 - Zoap message to use more than one fragment3682 - incremental builds do not work properly in Windows3683 - unable to follow directions to install Crosstool-NG on OS X3688 - OS X Setup Instructions Not Working on macOS Sierra3690 - Move to CMake or similar instead of Kbuild3697 - Use CMSIS __NVIC_PRIO_BITS consistently3716 - define / implement application-facing memory domain APIs3728 - ESP32 i2c Driver Support3772 - test_mem_pool_api crashes qemu_x86 if CONFIG_DEBUG=y3781 - iwdg: provide independent watchdog driver compliant with STM32Cube LL API3783 - Add mbedtls Crypto API shim driver3829 - PTS test case GATT/SR/GPA/BV-02-C crashes tester in QEMU3832 - ARM: implement API to validate user buffer3844 - Fix LWM2M header calculation in lwm2m_engine.c3851 - Port SPI HCI driver on new SPI API3852 - x86: implement memory domain interface3892 - Add support for STM32F429I_DISC1 board3897 - Static code scan (coverity) issues seen3922 - [PTS] GATT/SR/GAT/BV-01-C INCONC3923 - boards: provide support for Nucleo-64 F030R83939 - Add Atmel SAM family I2S (Inter-IC Sound) driver based on SSC module3941 - x86: implement option for PAE-formatted page tables with NX bit3942 - x86: scope SMEP support in Zephyr3984 - Build warning: [-Wpointer-bool-conversion] with LLVM/icx (samples/bluetooth/mesh_demo)3985 - Build warning: [-Wpointer-bool-conversion] with LLVM/icx (samples/bluetooth/mesh)4001 - GENERATED_KERNEL_OBJECT_FILES end up in application memory4004 - integrate printk() with console subsystem4009 - I2C API is mixing two incompatible definitions of bit-fields4014 - memory protection: implicit kernel object permissions4016 - bluetooth linker not connected4022 - net: "queue: Use k_poll if enabled" commit regressed BSD Sockets performance4026 - CC3220 WiFi Host Driver support4027 - extra unref happening on net_context4029 - TinyTILE bluetooth app flash4030 - Coverity issue seen with CID: 175366 , in file: /subsys/bluetooth/host/smp.c4031 - Coverity issue seen with CID: 175365 , in file: /subsys/bluetooth/controller/hci/hci.c4032 - Coverity issue seen with CID: 175364 , in file: /subsys/bluetooth/host/mesh/proxy.c4033 - Coverity issue seen with CID: 175363 , in file: /subsys/bluetooth/host/smp.c4034 - Coverity issue seen with CID: 175362 , in file: /subsys/bluetooth/host/smp.c4035 - Coverity issue seen with CID: 175361 , in file: /samples/bluetooth/eddystone/src/main.c4036 - Coverity issue seen with CID: 175360 , in file: /subsys/bluetooth/host/mesh/prov.c4037 - Coverity issue seen with CID: 175359 , in file: /subsys/bluetooth/host/hci_core.c4038 - Coverity issue seen with CID: 175358 , in file: /subsys/bluetooth/host/hci_core.c4041 - flashing tinytile and use of minicom4043 - Add new user CONFIG to project4044 - Livelock in SMP pairing failed scenario4046 - BLE Central and BLE Peripheral roles at a moment on nRF528324048 - HTTP Request Timeout Not Working4049 - AMP - Multi-core4050 - zephyr.git/tests/kernel/obj_validation/testcase.yaml#test :Evaluation failure4051 - Coverity issue seen with CID: 177219 , in file: /drivers/flash/flash_stm32f4x.c4054 - [CID: 177215 ], in file: /tests/subsys/dfu/mcuboot/src/main.c4055 - Coverity issue seen with CID: 177214 , in file: /samples/boards/microbit/pong/src/ble.c4056 - Coverity issue seen with CID: 177213 , in file: /tests/net/ipv6_fragment/src/main.c4057 - Coverity issue seen with CID: 170744, in file: /samples/boards/microbit/pong/src/ble.c4058 - samples/net/http_client: The HTTP client failed to send the GET request4059 - zephyr.git/tests/net/ipv6/testcase.yaml#test :evaluation failed4068 - [BLE, nRF51822] Error -ENOMEM when use bt_gatt_write_without_response function4099 - Add some docs to samples/net/ieee802154/hw4131 - gen_syscalls.py may choke on non-ascii chars4135 - checkpatch.pl generates warning messages when run w/ perl-5.264149 - Transition message on jira.zephyrproject.org needed4162 - build error in http_get sample4165 - ieee802154_uart_pipe.c: warning: return from incompatible pointer type4182 - NET_APP_SETTINGS for 15.4 doesn't seem to work (if to trust 15.4 shell)4186 - tcf.git/examples/test_network_linux_zephyr.py#_test :Compilation failure4188 - samples /net/echo_server:failed to send packets to client4189 - ieee802154_settings.c is duplicated in the codebase4190 - samples/net/echo_client :failed to send data4193 - Zephyr libc(snprintf) is not comply with ISO standard.4195 - tests/net/udp/test_udp.py#_ipv4_udp : evaluation failed4239 - unit tests broken in sanitycheck4249 - where is auto-pts py script of zephyr?4258 - samples/net/zoap_server : unable to communicate between zoap client and server4264 - Getting started guide for windows: small error4289 - samples/mpu/mem_domain_apis_test is broken4292 - net: tcp.c: prepare_segment() may unrightly unref packet in case of error4295 - Error flashing board STM32373C-EVAL4301 - checkpatch.pl false positives block PR merge4310 - unable to flash quark_se_c1000_devboard4312 - GDB: Ubuntu's default GDB package does not support arm4323 - net: tcp.c: prepare_segment() may leak fragments in case of error4325 - samples/net/http_client: unable to send the proper http request to Apache server4327 - NET_PKT_TX_SLAB_DEFINE, NET_PKT_DATA_POOL_DEFINE description and usage are confusing4347 - net: BSD Sockets UDP sendto() impl broke tests/net/socket/udp/4353 - VM-VM qemu networking example crashes often4358 - k_queue_poll returns NULL with K_FOREVER4366 - memory corruption in test_pipe_api4377 - Sniffing traffic in a VM-VM qemu setup crashes with a segfault in the monitor application4392 - zephyr/tests/benchmarks/footprint :build Failed4394 - Coverity issue seen with CID: 1780584395 - Coverity issue seen with CID: 1780594396 - Coverity issue seen with CID: 1780604397 - Coverity issue seen with CID: 1780644398 - zephyr/tests/crypto/ccm_mode :-Evaluation failed due to esp324419 - 6LoWPAN - source address uncompress corner case4421 - net: Duplicated functionality between net_pkt_get_src_addr() and net_context.c:create_sockaddr()4424 - Turning on network debug message w/ LwM2M sample client will result in stack check failure4429 - I2C: stm32-i2c-v2 Driver (F0/F3/F7) gets stuck in endless loop when handling restart conditions4442 - samples: net: ieee802154: Sample is not working on nRF52840 platform4459 - i2c: stm32-i2c-(v1/v2) don't handle i2c_burst_write like expected4463 - Some tests and samples are missing a .yaml file4466 - warnings building echo_client with nrf54469 - CI problem with check-compliance.py4476 - Multiple build failures with i2c_ll_stm32.c driver4480 - Compilation failure for qemu_x86 with CONFIG_DEBUG_INFO=y4481 - Build failure with CONFIG_NET_DEBUG_APP=y4503 - CONFIG_STACK_SENTINEL inconsistencies4538 - Coverity issue seen with CID:1749284539 - Coverity issue seen with CID:1736584540 - Coverity issue seen with CID: 1736574541 - Coverity issue seen with CID: 1736534544 - [BLE Mesh] Error: Failed to advertise using Node ID4563 - [BLE Mesh]: How to handle the 'Set" and 'Get' callbacks4565 - net_context_recv always fails with timeout=K_FOREVER4567 - [BLE Mesh]: Multiple elements in a node4569 - LoRa: support LoRa4579 - [CID: 178249] Parse warnings in samples/mpu/mem_domain_apis_test/src/main.c4580 - Coverity issue seen with CID: 1782484581 - Coverity issue seen with CID: 1782474582 - Coverity issue seen with CID: 1782464583 - [CID: 178245] Parse warnings in samples/mpu/mem_domain_apis_test/src/main.c4584 - Coverity issue seen with CID: 1782444585 - Coverity issue seen with CID: 1782434586 - [CID: 178242]: Parse warnings samples/mpu/mem_domain_apis_test/src/main.c4587 - Coverity issue seen with CID: 1782414588 - Coverity issue seen with CID: 1782404589 - [coverity] Null pointer dereferences in tests/net/app/src/main.c4591 - [CID: 178237] memory corruption in drivers/ieee802154/ieee802154_mcr20a.c4592 - Coverity issue seen with CID: 1782364593 - Coverity issue seen with CID: 1782354594 - Coverity issue seen with CID: 1782344595 - Coverity issue seen with CID: 1782334600 - drivers:i2c_ll_stm32_v2: Interrupt mode uses while loops4607 - tests/net/socket/udp/ is broken, again4630 - Sample app 'coaps_server' fails to parse coap pkt4637 - [Coverity CID: 178334] Null pointer dereferences in /subsys/usb/class/netusb/function_ecm.c4638 - build is failing when newlib is enabled4644 - Kconfig warnings when building any sample for nRF5x4652 - Document "make flash" in the "application development primer"4654 - Wrong file name for drivers/aio/aio_comparator_handlers.o4667 - x86 boards need device trees4668 - drivers/random/random_handlers.c is built when no random driver has been kconfig'ed into the build4683 - net: tcp tcp_retry_expired cause assert4695 - samples/net/ieee802154 needs documentation4697 - [regression] net: echo_server doesn't accept IPv4 connections4738 - ble-mesh: proxy.c : Is clients-> conn a clerical error? it should be client-> conn?4744 - tests/net/ieee802154/l2/testcase.yaml#test : unable to acknowledge data from receiver4757 - kw41z-frdm: assertion failure while setting IRQ priority4759 - [PTS] GATT/CL/GAW/BV-02-C fails with INCONC4760 - stm32f4_disco and frdm_k64f samples/basic/blink_led ,Choose supported PWM driver4766 - tests: mem_pool: Fixed memory pool test case failure on quark d20004780 - [Coverity CID: 178794] Error handling issues in /tests/subsys/dfu/mcuboot/src/main.c4781 - [Coverity CID: 178793] Incorrect expression in /tests/kernel/static_idt/src/static_idt.c4782 - [Coverity CID: 178792] Memory - illegal accesses in /subsys/net/lib/http/http_app_server.c4783 - [Coverity CID: 178791] Incorrect expression in /tests/kernel/static_idt/src/static_idt.c4784 - [Coverity CID: 178790] Memory - corruptions in /samples/net/http_server/src/main.c4785 - [Coverity CID: 178789] Null pointer dereferences in /samples/net/http_server/src/main.c4786 - [Coverity CID: 178788] Control flow issues in /tests/net/context/src/main.c4787 - [Coverity CID: 178787] Null pointer dereferences in /subsys/net/ip/net_context.c4788 - [Coverity CID:178786] Memory - corruptions in /samples/net/http_server/src/main.c4789 - [Coverity CID: 178785] Incorrect expression in /tests/kernel/static_idt/src/static_idt.c4791 - rpl-node uses testcase.ini instead of sample.yaml format4825 - Bluetooth IPSP error with qemu_x864827 - Ping command crashes kernel over qemu_x864841 - fix doc/devices/dts/device_tree.rst path and Make references4844 - cmake: can't flash stm32 with openocd4847 - custom 404 error page not being shown on docs.zephyrproject.org4853 - cmake: building unit test cases ignore EXTRA_* settings4864 - cmake: hts221 sensor sample not working anymore4881 - device_get_binding() returns failure in sample/drivers/crypto4889 - Flashing EM Starterkit with EM7D fails on master4899 - Convert opensda doc to CMake4901 - net: tcp: RST is sent after last ack is received4904 - cmake: BOOT_BANNER disappeared4905 - cmake: flashing for quark_se_devboard is broken4910 - BT host CMakeLists.txt code should be agnostic to the FS implementation4912 - Not using the Zephyr SDK is broken4925 - application_development test pollutes source directory4936 - net: 15.4 MAC addresses are shown differently between shell "net iface" and "ieee15_4 get_ext_addr"4937 - ESP32 can't boot4975 - Getting started documentation for Mac OS X inconsistent5004 - Normalize IEEE802514 driver "raw" mode.5008 - system call headers are not properly regenerated in CMake on incremental builds5009 - cmake creates too many build artifacts5014 - samples/drivers/crypto :Unable to find crypto device5019 - tests/kernel/mem_protect/stackprot : input string is long stack overflow5025 - arduino_due not generating proper config with cmake (crash)5026 - k_poll() documentation is wrong5040 - Bluetooth mesh API documentation incomplete5047 - document error: getting_started.rst5051 - Verify doxygen documented APIs are in the generated docs5055 - [Coverity CID: 179254] Possible Control flow issues in /samples/net/zperf/src/zperf_udp_receiver.c5056 - [Coverity CID: 179253] Control flow issues in /samples/net/zperf/src/zperf_tcp_receiver.c5057 - [Coverity CID: 179252] Null pointer dereferences in /samples/net/zperf/src/zperf_udp_receiver.c5058 - [Coverity CID: 179251] Control flow issues in /samples/net/zperf/src/zperf_udp_receiver.c5059 - [Coverity CID: 179250] Null pointer dereferences in /samples/net/zperf/src/zperf_udp_uploader.c5060 - [Coverity CID: 179249] Incorrect expression in /tests/kernel/fatal/src/main.c5061 - [Coverity CID: 179248] Control flow issues in /samples/net/zperf/src/zperf_tcp_receiver.c5062 - [Coverity CID: 179247] Incorrect expression in /tests/kernel/fatal/src/main.c5063 - samples/bluetooth: central_hr sample app is not connecting with peripheral sample app on arduino_101.5085 - bug: dts: stm32f1: wrong pinctrl base address5087 - Samples/bluetooth: Failed to connect with eddystone sample app on arduino_101.5090 - no makefile in zephyr/samples/bluetooth/mesh examples5097 - zephyr_library_() configuration has lower precedence than global zephyr_() configuration5107 - Default partition addressing for nrf52_pca10040 is incompatible5116 - [Coverity CID: 179986] Null pointer dereferences in /subsys/bluetooth/host/mesh/access.c5117 - [Coverity CID: 179985] Error handling issues in /subsys/bluetooth/host/mesh/cfg_srv.c5118 - [Coverity CID: 179984] Memory - corruptions in /drivers/ethernet/eth_mcux.c5119 - [Coverity CID: 179983] Error handling issues in /subsys/bluetooth/host/mesh/cfg_srv.c5120 - [Coverity CID: 179982] Error handling issues in /subsys/bluetooth/host/mesh/cfg_srv.c5121 - [Coverity CID: 179981] Incorrect expression in /drivers/ieee802154/ieee802154_kw41z.c5122 - [Coverity CID: 179980] Integer handling issues in /subsys/bluetooth/host/mesh/friend.c5123 - [Coverity CID: 179979] Error handling issues in /subsys/bluetooth/host/mesh/cfg_srv.c5124 - [Coverity CID: 179978] Error handling issues in /subsys/bluetooth/host/mesh/health_srv.c5125 - [Coverity CID: 179976] Error handling issues in /subsys/bluetooth/host/mesh/cfg_srv.c5126 - [Coverity CID: 179975] Error handling issues in /subsys/bluetooth/host/mesh/health_srv.c5127 - [Coverity CID: 179974] Error handling issues in /subsys/bluetooth/host/mesh/cfg_srv.c5128 - [Coverity CID: 179973] Error handling issues in /subsys/bluetooth/host/mesh/cfg_srv.c5140 - CMake migration regressed (changed behavior) of QEMU_PTY=15144 - BUG: cmake: make doesn't update zephyr.hex file5145 - samples/bluetooth: Connection failure on peripheral CSC with Arduino 1015152 - CONFIG_CPLUSPLUS is incompatible with the zephyr_get_* API5159 - [nrf] Button example for nrf5x boards latches GPIO after 1 button press5176 - zephyr-v1.9.2 tag missing5177 - hci_usb: Linking error5184 - kernel system call handlers missing due to -Wl,--no-whole-archive5186 - gen_syscall_header_py is being run at the wrong time5189 - tests/subsys/fs/nffs_fs_api:-Evaluation failed5207 - Bluetooth subsystem uses acl_in_pool even for controllers not supporting flow control5211 - Kconfig: CPU_HAS_FPU dependencies problem5223 - CMake: Recent changes broke 3rd-party build system integration again5265 - ROM size increase due Zephyr compile options not stripping unused functions5266 - Ensure the Licensing page is up-to-date for the release5286 - NET_L2: Symbols from the L2 implementation layer are exposed to users of L25298 - Endless loop in uart pipe