releases/release-notes-1.9.html · releases/release-notes-1.9.rst 공식 원문 ↗

Zephyr 3.7.0 · Historical Release

Zephyr Kernel 1.9.x Release Notes

1.9.0의 Bluetooth Mesh와 application isolation부터 1.9.1·1.9.2 유지보수 수정까지 release별 구조와 원문 순서 그대로 설명합니다.

Official pathreleases/release-notes-1.9.html
Source filereleases/release-notes-1.9.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

382줄 공식 원문 전체, release heading 3개, component heading 18개, JIRA 173건을 빠짐없이 번역합니다.

Release series

1.9.0 · 1.9.1 · 1.9.2

Connectivity

BLE Mesh · LwM2M · net-app · BSD Sockets

Protection

MMU/MPU · Stack Sentinel · thread isolation

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 7D3E35121A5EAFB641A9E990AE367F01FDA9E00172BA723E7C821B0451239E4E
:orphan:

.. _zephyr_1.9:

Zephyr Kernel 1.9.2
###################

This is a maintenance release with fixes.

Kernel
******
* Generic queue item acquisition fixed to always return a valid item when
  using K_FOREVER

Bluetooth
*********
* Multiple stability fixes for BLE Mesh
* Multiple stability fixes for the BLE Controller

Zephyr Kernel 1.9.1
###################

This is a maintenance release with fixes and a two new features in the
BLE Controller.

Drivers and Sensors
*******************
* mcux ethernet driver buffer overflow fixed
* STM32 PWM prescaler issue fixed

Networking
**********
* Support for IPv6 in DNS fixed

Bluetooth
*********
* Multiple stability fixes for the BLE Controller
* Support for PA/LNA amplifiers in the BLE Controller
* Support for additional VS commands in the BLE Controller

Zephyr Kernel 1.9.0
###################

We are pleased to announce the release of Zephyr kernel version 1.9.0

Major enhancements planned with this release include:

* Bluetooth 5.0 Support (all features except Advertising Extensions)
* Bluetooth Qualification-ready BLE Controller
* BLE Mesh
* Lightweight Machine to Machine (LwM2M) support
* Pthreads compatible API
* BSD Sockets compatible API
* MMU/MPU (Cont.): Thread Isolation, Paging
* Expand Device Tree support to more architectures
* Revamp Testsuite, Increase Coverage
* Stack Sentinel support (See details below)

The following sections provide detailed lists of changes by component.

Kernel
******

* Added POSIX thread IPC support for Kernel
* kernel: introduce opaque data type for stacks
* Timeslicing and tickless kernel improvements

Architectures
*************

* arm: Added STM32F405, STM32F417, STM32F103x8 SoCs
* arm: Added TI CC2650 SoC
* arm: Removed TI CC3200 SoC
* arm: Added MPU support to nRF52, STM32L4, and STM32F3
* xtensa: Added ESP32 support
* Stack sentinel: This places a sentinel value at the lowest 4 bytes of a stack
  memory region and checks it at various intervals, including when servicing
  interrupts or context switching.
* x86: Enable MMU for application memory
* ARC: Added initial MPU support, including stack sentinel checking for ARC
  configurations not featuring hardware stack bounds checking
* ARC: Nested interrupt support for normal, non-FIRQ interrupts

Boards
******

* Added device tree support for Intel Quark based microcontroller boards
  such as Arduino_101, tinytile, and Quark_d2000_crb.
* arm: Added Atmel SAM4S Xplained board
* arm: Added Olimex STM32-E407 and STM32-P405 boards
* arm: Added STM32F412 Nucleo and STM32F429I-DISC1 boards
* arm: Added TI SensorTag board
* arm: Removed TI CC3200 LaunchXL board
* arm: Added VBLUno51 and VBLUno52 boards
* xtensa: Added ESP32 board support
* ARC: Added support for EMSK EM7D v2.2 version (incl. MPU)
* ARC: Board configuration restructuring, peripheral configs moved from soc to
  board level

Drivers and Sensors
*******************

* KW40Z IEEE 802.15.4 radio driver support added
* APDS9960 sensor driver added
* Added TICKLESS KERNEL support for nrf RTC Timer
* Added Kinetis adc and pwm drivers
* Removed deprecated PWM driver APIs
* Added ESP32 drivers for GPIO, pin mux, watchdog, random number generator,
  and UART
* sensor: Add BMM150 Geomagnetic sensor driver

Networking
**********

* LWM2M support added
* net-app API support added. This is higher level API that can be used
  by applications to create client/server applications with transparent
  TLS (for TCP) or DTLS (for UDP) support.
* MQTT TLS support added
* Add support to automatically setup IEEE 802.15.4 and Bluetooth IPSP networks
* TCP receive window support added
* Network sample application configuration file unification, where most of the
  similar configuration files were merged together
* Added Bluetooth support to HTTP(S) server sample application
* BSD Socket compatible API layer, allowing to write and/or port simple
  networking applications using a well-known, cross-platform API
* Networking API documentation fixes
* Network shell enhancements
* Trickle algorithm fixes
* Improvements to HTTP server and client libraries
* CoAP API fixes
* IPv6 fixes
* RPL fixes

Bluetooth
*********

* Bluetooth Mesh support (all mandatory features and most optional ones)
* GATT Service Changed Characteristic support
* IPSP net-app support: a simplified networking API reducing duplication
  of common tasks an application writer has to go through to connect
  to the network.
* BLE controller qualification-ready, with all required tests passing
* Controller-based privacy (including all optional features)
* Extended Scanner Filter Policies support in the controller
* Controller roles (Advertiser, Scanner, Master and Slave) separation in
  source code, conditionally includable
* Flash access cooperation with BLE radio activity
* Bluetooth Kconfig options have been renamed have the same (consistent)
  prefix as the Bluetooth APIs, namely BT_* instead of BLUETOOTH_*.
  Controller Kconfig options have been shortened to use CTLR instead of
  CONTROLLER.
* Removed deprecated NBLE support

Build and Infrastructure
************************

* change description

Libraries
*********

* mbedTLS updated to 2.6.0
* TinyCrypt updated to 0.2.7

HALs
****

* Added support for stm32f417 SOC
* Added support for stm32f405 SOC
* pinmux: stm32: 96b_carbon: Add support for SPI
* Added rcc node on stm32 socs
* Added pin config for USART1 on PB6/PB7 for stm32l4
* Removed TI cc3200 SOC and LaunchXL board support

Documentation
*************

* CONTRIBUTING.rst and Contribution Guide material added
* Configuration options doc reorganized for easier access
* Navigation sidebar issues fixed for supported boards section
* Fixed link targets hidden behind header
* Completed migration of wiki.zephyrproject.org content into docs and
  GitHub wiki. All links to old wiki updated.
* Broken link and spelling check scans through .rst, Kconfig (used for
  auto-generated configuration docs), and source code doxygen comments
  (used for API documentation).
* API documentation added for new interfaces and improved for existing
  ones.
* Documentation added for new boards supported with this release.
* Python packages needed for document generation added to new python
  pip requirements.txt


Build System and Tools
**********************
* Convert post-processing host tools to python, this includes the following
  tools: gen_offset_header.py gen_idt.py gen_gdt.py gen_mmu.py


Tests and Samples
*****************

* Added test Case to stress test round robin scheduling in schedule_api test.
* Added test case to stress test priority scheduling in scheduling_api_test.


JIRA Related Items
******************
* ``ZEP-230`` - Define I2S driver APIs
* ``ZEP-601`` - enable CONFIG_DEBUG_INFO
* ``ZEP-702`` - Integrate Nordic's Phoenix Link Layer into Zephyr
* ``ZEP-749`` - TinyCrypt uses an old, unoptimized version of micro-ecc
* ``ZEP-896`` - nRF5x Series: Add support for power and clock peripheral
* ``ZEP-1067`` - Driver for BMM150
* ``ZEP-1396`` - Add ksdk adc shim driver
* ``ZEP-1426`` - CONFIG_BOOT_TIME_MEASUREMENT on all targets?
* ``ZEP-1552`` - Provide apds9960 sensor driver
* ``ZEP-1647`` - Figure out new combo for breathe/doxygen/sphinx versions that are supported
* ``ZEP-1744`` - UPF 56 BLE Controller Issues
* ``ZEP-1751`` - Add template YAML file
* ``ZEP-1819`` - Add tickless kernel support in nrf_rtc_timer timer
* ``ZEP-1843`` - provide mechanism to filter test cases based on available hardware
* ``ZEP-1892`` - Fix issues with Fix Release
* ``ZEP-1902`` - Missing board documentation for arm/nucleo_f334r8
* ``ZEP-1911`` - Missing board documentation for arm/stm3210c_eval
* ``ZEP-1917`` - Missing board documentation for arm/stm32373c_eval
* ``ZEP-1918`` - Fix connection parameter request procedure
* ``ZEP-2018`` - Remove deprecated PWM APIs
* ``ZEP-2020`` - tests/crypto/test_ecc_dsa intermittently fails on riscv32
* ``ZEP-2025`` - Add mcux pwm shim driver for k64
* ``ZEP-2031`` - ESP32 Architecture Configuration
* ``ZEP-2032`` - Espressif Open-source Toolchain Support
* ``ZEP-2039`` - Implement stm32cube LL based clock control driver
* ``ZEP-2054`` - Convert all helper script to use python3
* ``ZEP-2062`` - Convert gen_offset_header to a python script
* ``ZEP-2063`` - Convert gen_idt to python
* ``ZEP-2068`` - Need Tasks to Be Tracked in QRC too
* ``ZEP-2071`` - samples: warning: (SPI_CS_GPIO && SPI_SS_CS_GPIO && I2C_NRF5) selects GPIO which has unmet direct dependencies
* ``ZEP-2085`` - Add CONTRIBUTING.rst to root folder w/contributing guidelines
* ``ZEP-2089`` - UART support for ESP32
* ``ZEP-2115`` - Common API for networked applications for setting up network
* ``ZEP-2116`` - Common API for networked apps to create client/server applications
* ``ZEP-2141`` - Coverity CID 169303 in tests/net/ipv6/src/main.c
* ``ZEP-2150`` - Move Arduino 101 to Device Tree
* ``ZEP-2151`` - Move Quark D2000 to device tree
* ``ZEP-2156`` - Build warnings [-Wformat] with LLVM/icx (tests/kernel/sprintf)
* ``ZEP-2168`` - Timers seem to be broken with TICKLESS_KERNEL on nRF51 (Cortex M0)
* ``ZEP-2171`` - Move all board pinmux code from drivers/pinmux/stm32 to the corresponding board/soc locations
* ``ZEP-2184`` - Split data, bss, noinit sections into application and kernel areas
* ``ZEP-2188`` - x86: Implement simple stack memory protection
* ``ZEP-2217`` - schedule_api test fails on ARM with tickless kernel enabled
* ``ZEP-2218`` - unexpected short timeslice when running schedule_api with tickless kernel enabled
* ``ZEP-2220`` - Extend MPU to stm32 family
* ``ZEP-2225`` - Ability to unregister GATT services
* ``ZEP-2226`` - BSD Sockets API: Basic blocking API
* ``ZEP-2227`` - BSD Sockets API: Non-blocking API
* ``ZEP-2229`` - test_time_slicing_preemptible fails on bbc_microbit and other NRF boards
* ``ZEP-2250`` - sanitycheck not filtering defconfigs properly
* ``ZEP-2258`` - Coverity static scan issues seen
* ``ZEP-2265`` - stack declaration macros for ARM MPU
* ``ZEP-2267`` - Create Release Notes
* ``ZEP-2270`` - Convert mpu_stack_guard_test from using k_thread_spawn to k_thread_create
* ``ZEP-2274`` - Build warnings [-Wpointer-sign] with LLVM/icx (tests/net/ipv6_fragment)
* ``ZEP-2278`` - KW41-Z 802.15.4 driver hangs if full debug is disabled
* ``ZEP-2279`` - echo_server TCP handler corrupt by SYN flood
* ``ZEP-2280`` - add test case for KBUILD_ZEPHYR_APP
* ``ZEP-2285`` - non-boards shows up in board list for docs
* ``ZEP-2286`` - Write a GPIO driver for ESP32
* ``ZEP-2289`` - [DoS] Memory leak from large TCP packets
* ``ZEP-2296`` - ESP32: watchdog driver
* ``ZEP-2297`` - ESP32: Pin mux driver
* ``ZEP-2303`` - Concurrent incoming TCP connections
* ``ZEP-2305`` - linker: implement MMU alignment constraints
* ``ZEP-2306`` - echo server hangs from IPv6 hop-by-hop option anomaly
* ``ZEP-2308`` - (New) Networking API details documentation is missing
* ``ZEP-2310`` - Improve configuration documentation index organization
* ``ZEP-2314`` - Testcase failure :tests/benchmarks/timing_info/testcase.ini#test
* ``ZEP-2316`` - Testcase failure :tests/bluetooth/shell/testcase.ini#test_br
* ``ZEP-2318`` - some kernel objects sections are misaligned
* ``ZEP-2319`` - tests/net/ieee802154/l2 uses semaphore before initialization
* ``ZEP-2321`` - [PTS] All TC's of SM/GATT/GAP failed due to BTP_TIMEOUT error.
* ``ZEP-2326`` - x86: API to validate user buffer
* ``ZEP-2328`` - gen_mmu.py appears to generate incorrect tables in some situations
* ``ZEP-2329`` - bad memory access tests/net/route
* ``ZEP-2330`` - bad memory access tests/net/rpl
* ``ZEP-2331`` - bad memory access tests/net/ieee802154/l2
* ``ZEP-2332`` - bad memory access tests/net/ip-addr
* ``ZEP-2334`` - bluetooth shell build warning when CONFIG_DEBUG=y
* ``ZEP-2335`` - Ensure the Licensing page is up-to-date for the release
* ``ZEP-2340`` - Disabling advertising gets stuck
* ``ZEP-2341`` - Build warnings:override: reassigning to symbol MAIN_STACK_SIZE with LLVM/icx (/tests/net/6lo)
* ``ZEP-2343`` - Coverity static scan issues seen
* ``ZEP-2344`` - Coverity static scan issues seen
* ``ZEP-2345`` - Coverity static scan issues seen
* ``ZEP-2352`` - network API docs don't mention when callbacks are called from a different thread
* ``ZEP-2354`` - ESP32: Random number generator
* ``ZEP-2355`` - Coverity static scan issues seen
* ``ZEP-2358`` - samples:net:echo_server: Failed to send UDP packets
* ``ZEP-2359`` - samples:net:coaps_server: unable to bind with IPv6
* ``ZEP-2360`` - Initial implementation of Bluetooth Mesh
* ``ZEP-2361`` - Provide a POSIX compatibility Layer on top of native APIs
* ``ZEP-2365`` - samples/net/wpanusb/test_15_4 fail on nrf52840_pca10056 and frdm_kw41z
* ``ZEP-2366`` - implement \__kernel attribute
* ``ZEP-2367`` - NULL pointer read in udp, tcp, context net tests
* ``ZEP-2368`` - x86: QEMU: enable MMU at boot by default
* ``ZEP-2370`` - [test] Create a stress test to test preemptive scheduling on zephyr
* ``ZEP-2371`` - [test] Create a stress test to test round robin scheduling with equal priority tasks on zephyr
* ``ZEP-2374`` - Build warnings:override: reassigning to symbol NET_IPV4 with LLVM/icx (/tests/net/dhcpv4)
* ``ZEP-2375`` - Build warnings [-Wpointer-sign] with LLVM/icx (tests/net/udp)
* ``ZEP-2378`` - sample/bluetooth/ipsp: When build the app 'ROM' overflowed
* ``ZEP-2379`` - samples/bluetooth: Bluetooth init failed (err -19)
* ``ZEP-2380`` - TCP is broken by Zephyr commit 3604c391e
* ``ZEP-2382`` - Convert test to use ztest framework
* ``ZEP-2383`` - Net-app API needs to support DTLS
* ``ZEP-2384`` - "Common" bluetooth sample code does not build out of tree
* ``ZEP-2385`` - Update TinyCrypt to 0.2.7
* ``ZEP-2395`` - Assert in http_server example when run over bluetooth on nrf52840
* ``ZEP-2397`` - net_if_ipv6_addr_rm calls k_delayed_work_cancel() on uninitialized k_delayed_work object
* ``ZEP-2398`` - network stack test cases are only tested on x86
* ``ZEP-2403`` - Enabling MMU for qemu_x86 broke active connect support
* ``ZEP-2407`` - [Cortex m series ] Getting a crash on Cortex m3 series when more than 8 preemptive threads with equal priority are scheduled
* ``ZEP-2408`` - design mechanism for kernel object sharing policy
* ``ZEP-2412`` - Bluetooth tester app not working from commit c1e5cb
* ``ZEP-2423`` - samples/bluetooth/ipsp's builtin TCP echo crashes on TCP closure
* ``ZEP-2432`` - ieee802154_shell.c, net_mgmt call leads to a BUS FAULT
* ``ZEP-2433`` - x86: do forensic analysis to determine stack overflow context in supervisor mode
* ``ZEP-2436`` - Unable to see console output in Quark_D200_CRB
* ``ZEP-2437`` - warnings when building applications for quark d2000
* ``ZEP-2444`` - [nrf] Scheduling test API is getting failed in case of nrf51/nrf52 platforms
* ``ZEP-2445`` - nrf52: CPU lock-up when using Bluetooth + Flash driver + CONFIG_ASSERT
* ``ZEP-2447`` - 'make debugserver' fails for qemu_x86_iamcu
* ``ZEP-2451`` - Move Bluetooth IPSP support functions from samples/bluetooth to a separate library
* ``ZEP-2452`` - https server does not build for olimex_stm32_e407
* ``ZEP-2457`` - generated/offsets.h is being regenerated unnecessarily
* ``ZEP-2459`` - Sample application not working with Quark SE C1000
* ``ZEP-2460`` - tests/crypto/ecc_dh fails on qemu_nios2
* ``ZEP-2464`` - "allow IPv6 interface init to work with late IP assignment" patch broke non-late IPv6 assignment
* ``ZEP-2465`` - Static code scan (coverity) issues seen
* ``ZEP-2467`` - Static code scan (coverity) issues seen
* ``ZEP-2468`` - Static code scan (coverity) issues seen
* ``ZEP-2469`` - Static code scan (coverity) issues seen
* ``ZEP-2474`` - Static code scan (coverity) issues seen
* ``ZEP-2480`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/coaps_server)
* ``ZEP-2482`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/telnet)
* ``ZEP-2483`` - samples:net:http_client: Failed to get http requests in IPv6
* ``ZEP-2484`` - samples:net:http_server: Failed to work in IPv6
* ``ZEP-2485`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/coaps_client)
* ``ZEP-2486`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/mbedtls_dtlsserver)
* ``ZEP-2488`` - Build warnings [-Wpointer-sign] and [-Warray-bounds] with LLVM/icx (samples/net/irc_bot)
* ``ZEP-2489`` - bug in _x86_mmu_buffer_validate API
* ``ZEP-2496`` - Build failure on tests/benchmarks/object_footprint
* ``ZEP-2497`` - [TIMER] k_timer_start should take 0 value for duration parameter
* ``ZEP-2498`` - [Display] Minimum Duration argument to k_timer_start should be non Zero positive value
* ``ZEP-2508`` - esp32 linkage doesn't unify ELF sections correctly
* ``ZEP-2510`` - BT: CONFIG_BT_HCI_TX_STACK_SIZE appears to be too low for BT_SPI
* ``ZEP-2514`` - XCC sanitycheck build compile wrong targets
* ``ZEP-2523`` - Static code scan (Coverity) issue seen in file: /samples/net/zoap_server/src/zoap-server.c
* ``ZEP-2525`` - Static code scan (Coverity) issue seen in file: /samples/net/zoap_server/src/zoap-server.c
* ``ZEP-2531`` - Static code scan (Coverity) issue seen in file: /tests/net/lib/dns_resolve/src/main.c
* ``ZEP-2528`` - Static code scan (Coverity) issue seen in file: /samples/net/nats/src/nats.c
* ``ZEP-2534`` - Static code scan (Coverity) issue seen in file: /tests/kernel/irq_offload/src/irq_offload.c
* ``ZEP-2535`` - Static code scan (Coverity) issue seen in file: /tests/net/lib/zoap/src/main.c
* ``ZEP-2537`` - Static code scan (Coverity) issue seen in file: /tests/crypto/ecc_dh/src/ecc_dh.c
* ``ZEP-2538`` - Static code scan (Coverity) issue seen in file: /arch/arm/soc/st_stm32/stm32f1/soc_gpio.c
* ``ZEP-2539`` - Static code scan (Coverity) issue seen in file: /tests/net/ieee802154/l2/src/ieee802154_test.c
* ``ZEP-2540`` - Static code scan (Coverity) issue seen in file: /ext/lib/crypto/tinycrypt/source/ecc_dh.c
* ``ZEP-2541`` - Static code scan (Coverity) issue seen in file: /subsys/bluetooth/host/mesh/cfg.c
* ``ZEP-2549`` - Static code scan (Coverity) issue seen in file: /samples/net/leds_demo/src/leds-demo.c
* ``ZEP-2552`` - ESP32 uart poll_out always return 0
* ``ZEP-2553`` - k_queue_poll not handling -EADDRINUSE (another thread already polling) properly
* ``ZEP-2556`` - ESP32 watchdog WDT_MODE_INTERRUPT_RESET mode fails
* ``ZEP-2557`` - ESP32 : Some GPIO tests are getting failed (tests/drivers/gpio/gpio_basic_api)
* ``ZEP-2558`` - CONFIG_BLUETOOTH_* Kconfig options silently ignored
* ``ZEP-2560`` - samples/net: the sample of zoap_server fails to add multicast address
* ``ZEP-2561`` - samples/net: The HTTP client failed to send the POST request
* ``ZEP-2568`` - [PTS] All TC's of L2CAP/SM/GATT/GAP failed due to BTP_ERROR.
* ``ZEP-2575`` - error:[ '-O: command not found'] with LLVM/icx (samples/hello_world)
* ``ZEP-2576`` - samples/net/sockets/echo, echo_async : fails to send the TCP packets
* ``ZEP-2581`` - CC3220 executable binary format support
* ``ZEP-2584`` - Update mbedTLS to 2.6.0
* ``ZEP-713``  - Implement preemptible regular IRQs on ARC

Part 3

한국어 전문 번역

Zephyr Kernel 1.9.2

1.9.2는 오류를 수정하는 maintenance release입니다.

Kernel

  • K_FOREVER를 사용할 때 generic queue item 획득이 항상 유효한 item을 반환하도록 수정했습니다.

Bluetooth

  • BLE Mesh 안정성 문제를 여러 건 수정했습니다.
  • BLE Controller 안정성 문제를 여러 건 수정했습니다.

Zephyr Kernel 1.9.1

1.9.1은 여러 오류와 BLE Controller의 새 기능 두 가지를 포함한 maintenance release입니다.

Drivers and Sensors

  • MCUX Ethernet driver의 buffer overflow를 수정했습니다.
  • STM32 PWM prescaler 문제를 수정했습니다.

Networking

  • DNS의 IPv6 지원을 수정했습니다.

Bluetooth

  • BLE Controller 안정성 문제를 여러 건 수정했습니다.
  • BLE Controller의 PA/LNA amplifier를 지원합니다.
  • BLE Controller에서 추가 vendor-specific command를 지원합니다.

Zephyr Kernel 1.9.0

Zephyr Kernel 1.9.0은 Advertising Extension을 제외한 Bluetooth 5.0, qualification-ready BLE Controller, BLE Mesh, LwM2M, Pthreads·BSD Sockets 호환 API, thread isolation·paging을 포함한 MMU/MPU 확장, 더 넓은 Device Tree, test suite 개편, Stack Sentinel을 주요 기능으로 제공합니다.

  • Advertising Extension을 제외한 Bluetooth 5.0 기능을 지원합니다.
  • Bluetooth qualification-ready BLE Controller와 BLE Mesh를 제공합니다.
  • Lightweight Machine to Machine(LwM2M)을 지원합니다.
  • Pthreads와 BSD Sockets 호환 API를 제공합니다.
  • MMU/MPU에 thread isolation과 paging을 추가하고 Device Tree 지원 architecture를 넓혔습니다.
  • Test suite를 개편하고 coverage를 높였으며 Stack Sentinel을 지원합니다.

다음은 component별 상세 변경 목록입니다.

Kernel

  • Kernel에 POSIX thread IPC를 추가했습니다.
  • Stack용 opaque data type을 도입했습니다.
  • Time slicing과 tickless kernel을 개선했습니다.

Architectures

  • ARM에 STM32F405, STM32F417, STM32F103x8, TI CC2650 SoC를 추가하고 TI CC3200 SoC를 제거했습니다.
  • nRF52, STM32L4, STM32F3에 MPU 지원을 추가했습니다.
  • Xtensa에 ESP32 지원을 추가했습니다.
  • Stack memory의 가장 낮은 4byte에 sentinel 값을 두고 interrupt 처리·context switch 등 여러 시점에 검사하는 Stack Sentinel을 추가했습니다.
  • x86 application memory에서 MMU를 활성화했습니다.
  • ARC 초기 MPU와 Stack Sentinel을 지원하고 non-FIRQ regular interrupt의 nested interrupt를 지원합니다.

Boards

  • Arduino 101, TinyTILE, Quark D2000 CRB 같은 Intel Quark microcontroller board에 Device Tree를 추가했습니다.
  • Atmel SAM4S Xplained, Olimex STM32-E407·STM32-P405, STM32F412 Nucleo·STM32F429I-DISC1 board를 추가했습니다.
  • TI SensorTag를 추가하고 TI CC3200 LaunchXL을 제거했습니다.
  • VBLUno51·VBLUno52와 ESP32 board를 추가했습니다.
  • ARC EMSK EM7D v2.2와 MPU를 지원하고 peripheral configuration을 SoC에서 board level로 옮겼습니다.

Drivers and Sensors

  • KW40Z IEEE 802.15.4 radio driver와 APDS9960 sensor driver를 추가했습니다.
  • nRF RTC timer에 tickless kernel을 지원합니다.
  • Kinetis ADC·PWM driver를 추가하고 deprecated PWM API를 제거했습니다.
  • ESP32 GPIO, pinmux, watchdog, RNG, UART driver를 추가했습니다.
  • BMM150 geomagnetic sensor driver를 추가했습니다.

Networking

  • LwM2M을 지원합니다.
  • TCP용 TLS와 UDP용 DTLS를 투명하게 제공하며 client/server application을 만드는 high-level net-app API를 추가했습니다.
  • MQTT TLS와 IEEE 802.15.4·Bluetooth IPSP network 자동 설정을 지원합니다.
  • TCP receive window를 지원하고 network sample configuration file을 통합했습니다.
  • HTTP(S) server sample에 Bluetooth를 추가했습니다.
  • 잘 알려진 cross-platform API로 application을 작성·이식할 수 있는 BSD Socket 호환 layer를 추가했습니다.
  • Networking API documentation과 network shell을 개선했습니다.
  • Trickle, HTTP client/server, CoAP, IPv6, RPL 문제를 수정했습니다.

Bluetooth

  • 모든 필수 기능과 대부분의 선택 기능을 포함한 Bluetooth Mesh를 지원합니다.
  • GATT Service Changed Characteristic를 지원합니다.
  • IPSP에서 공통 network 연결 작업의 중복을 줄이는 net-app API를 지원합니다.
  • 필수 test를 모두 통과한 qualification-ready BLE Controller를 제공합니다.
  • 모든 선택 기능을 포함한 controller-based privacy와 Extended Scanner Filter Policy를 지원합니다.
  • Advertiser·Scanner·Master·Slave role을 source code에서 분리해 조건부로 포함할 수 있습니다.
  • BLE radio 활동과 flash access가 협력하도록 했습니다.
  • Bluetooth Kconfig prefix를 BLUETOOTH_*에서 API와 같은 BT_*로 바꾸고 CONTROLLER를 CTLR로 줄였습니다.
  • Deprecated NBLE 지원을 제거했습니다.

Build and Infrastructure

  • 원문에는 이 절의 변경 내용이 change description으로만 기록되어 있습니다.

Libraries

  • mbedTLS를 version 2.6.0으로 갱신했습니다.
  • TinyCrypt를 version 0.2.7로 갱신했습니다.

HALs

  • STM32F417·STM32F405 SoC를 지원합니다.
  • 96Boards Carbon의 STM32 pinmux에 SPI를 추가했습니다.
  • STM32 SoC에 RCC node를 추가하고 STM32L4 PB6/PB7의 USART1 pin configuration을 추가했습니다.
  • TI CC3200 SoC와 LaunchXL board 지원을 제거했습니다.

Documentation

  • CONTRIBUTING.rst와 Contribution Guide 자료를 추가했습니다.
  • Configuration option 문서를 쉽게 찾도록 재구성하고 지원 board navigation sidebar를 수정했습니다.
  • Header 뒤에 숨는 link target을 수정했습니다.
  • wiki.zephyrproject.org 자료를 docs와 GitHub Wiki로 모두 옮기고 이전 Wiki link를 갱신했습니다.
  • RST, Kconfig, Doxygen comment 전체에 깨진 link와 맞춤법 검사를 적용했습니다.
  • 새 interface와 기존 interface의 API documentation을 추가·개선했습니다.
  • 새 board documentation과 문서 생성용 Python package requirements.txt를 추가했습니다.

Build System and Tools

  • gen_offset_header.py, gen_idt.py, gen_gdt.py, gen_mmu.py post-processing host tool을 Python으로 변환했습니다.

Tests and Samples

  • schedule_api test에 round-robin scheduling stress test를 추가했습니다.
  • scheduling_api_test에 priority scheduling stress test를 추가했습니다.

JIRA Related Items

이 release series와 연결된 JIRA 173건입니다. 식별자와 원문 순서를 그대로 유지했습니다.

  • ZEP-230 - I2S driver API 정의
  • ZEP-601 - CONFIG_DEBUG_INFO 활성화
  • ZEP-702 - Nordic Phoenix Link Layer를 Zephyr에 통합
  • ZEP-749 - TinyCrypt가 오래되고 최적화되지 않은 micro-ecc version을 사용하는 문제
  • ZEP-896 - nRF5x Series power·clock peripheral 지원 추가
  • ZEP-1067 - BMM150 driver 추가
  • ZEP-1396 - KSDK ADC shim driver 추가
  • ZEP-1426 - 모든 target에서 CONFIG_BOOT_TIME_MEASUREMENT 지원 검토
  • ZEP-1552 - APDS9960 sensor driver 제공
  • ZEP-1647 - 지원되는 Breathe·Doxygen·Sphinx version 조합 확정
  • ZEP-1744 - UPF 56 BLE Controller issue 처리
  • ZEP-1751 - Template YAML file 추가
  • ZEP-1819 - nrf_rtc_timer에 tickless kernel 지원 추가
  • ZEP-1843 - 사용 가능한 hardware에 따라 test case를 filter하는 mechanism 제공
  • ZEP-1892 - Fix Release 관련 문제 수정
  • ZEP-1902 - arm/nucleo_f334r8 board documentation 누락
  • ZEP-1911 - arm/stm3210c_eval board documentation 누락
  • ZEP-1917 - arm/stm32373c_eval board documentation 누락
  • ZEP-1918 - Connection parameter request 절차 수정
  • ZEP-2018 - Deprecated PWM API 제거
  • ZEP-2020 - RISC-V32에서 tests/crypto/test_ecc_dsa가 간헐적으로 실패하는 문제
  • ZEP-2025 - K64용 MCUX PWM shim driver 추가
  • ZEP-2031 - ESP32 architecture 구성
  • ZEP-2032 - Espressif open-source toolchain 지원
  • ZEP-2039 - STM32Cube LL 기반 clock-control driver 구현
  • ZEP-2054 - 모든 helper script를 Python 3로 변환
  • ZEP-2062 - gen_offset_header를 Python script로 변환
  • ZEP-2063 - gen_idt를 Python으로 변환
  • ZEP-2068 - QRC에서도 추적해야 할 task 반영
  • ZEP-2071 - SPI_CS_GPIO·SPI_SS_CS_GPIO·I2C_NRF5가 dependency 없는 GPIO를 select하는 warning
  • ZEP-2085 - Project root에 contribution guide가 포함된 CONTRIBUTING.rst 추가
  • ZEP-2089 - ESP32 UART 지원
  • ZEP-2115 - Networked application의 network 설정용 공통 API
  • ZEP-2116 - Networked application의 client/server 생성용 공통 API
  • ZEP-2141 - tests/net/ipv6/src/main.c의 Coverity CID 169303 문제
  • ZEP-2150 - Arduino 101을 Device Tree로 이동
  • ZEP-2151 - Quark D2000을 Device Tree로 이동
  • ZEP-2156 - LLVM/icx tests/kernel/sprintf의 -Wformat build warning
  • ZEP-2168 - nRF51 Cortex-M0에서 TICKLESS_KERNEL 사용 시 timer가 깨지는 문제
  • ZEP-2171 - STM32 pinmux code를 driver에서 해당 board/SoC 위치로 이동
  • ZEP-2184 - Data·BSS·noinit section을 application 영역과 kernel 영역으로 분리
  • ZEP-2188 - x86용 단순 stack memory protection 구현
  • ZEP-2217 - Tickless kernel 활성화 시 ARM에서 schedule_api test 실패
  • ZEP-2218 - Tickless kernel의 schedule_api에서 예상보다 짧은 time slice가 발생하는 문제
  • ZEP-2220 - STM32 family로 MPU 지원 확장
  • ZEP-2225 - GATT service 등록 해제 기능
  • ZEP-2226 - BSD Sockets API의 기본 blocking API
  • ZEP-2227 - BSD Sockets API의 non-blocking API
  • ZEP-2229 - BBC micro:bit와 다른 NRF board에서 test_time_slicing_preemptible 실패
  • ZEP-2250 - sanitycheck가 defconfig를 올바르게 filter하지 않는 문제
  • ZEP-2258 - Coverity static scan에서 발견된 문제
  • ZEP-2265 - ARM MPU용 stack declaration macro
  • ZEP-2267 - Release Notes 작성
  • ZEP-2270 - mpu_stack_guard_test를 k_thread_spawn에서 k_thread_create로 변환
  • ZEP-2274 - LLVM/icx tests/net/ipv6_fragment의 -Wpointer-sign build warning
  • ZEP-2278 - Full debug 비활성화 시 KW41-Z 802.15.4 driver가 멈추는 문제
  • ZEP-2279 - SYN flood로 echo_server TCP handler가 손상되는 문제
  • ZEP-2280 - KBUILD_ZEPHYR_APP test case 추가
  • ZEP-2285 - Documentation board 목록에 board가 아닌 항목이 표시되는 문제
  • ZEP-2286 - ESP32 GPIO driver 작성
  • ZEP-2289 - 큰 TCP packet으로 memory leak이 발생하는 DoS 문제
  • ZEP-2296 - ESP32 watchdog driver 추가
  • ZEP-2297 - ESP32 pinmux driver 추가
  • ZEP-2303 - 동시에 들어오는 여러 TCP connection 지원
  • ZEP-2305 - Linker에 MMU alignment constraint 구현
  • ZEP-2306 - IPv6 Hop-by-Hop option 이상으로 echo_server가 멈추는 문제
  • ZEP-2308 - 새 Networking API 상세 documentation 누락
  • ZEP-2310 - Configuration documentation index 구성 개선
  • ZEP-2314 - tests/benchmarks/timing_info test case 실패
  • ZEP-2316 - tests/bluetooth/shell의 test_br test case 실패
  • ZEP-2318 - 일부 kernel object section의 alignment가 잘못된 문제
  • ZEP-2319 - tests/net/ieee802154/l2가 초기화 전에 semaphore를 사용하는 문제
  • ZEP-2321 - BTP_TIMEOUT 때문에 SM/GATT/GAP의 모든 PTS test가 실패하는 문제
  • ZEP-2326 - x86 user buffer 검증 API
  • ZEP-2328 - gen_mmu.py가 일부 상황에서 잘못된 table을 생성하는 문제
  • ZEP-2329 - tests/net/route의 잘못된 memory access
  • ZEP-2330 - tests/net/rpl의 잘못된 memory access
  • ZEP-2331 - tests/net/ieee802154/l2의 잘못된 memory access
  • ZEP-2332 - tests/net/ip-addr의 잘못된 memory access
  • ZEP-2334 - CONFIG_DEBUG=y에서 Bluetooth shell build warning
  • ZEP-2335 - Release 시점에 Licensing page가 최신인지 확인
  • ZEP-2340 - Advertising 비활성화가 멈추는 문제
  • ZEP-2341 - LLVM/icx tests/net/6lo에서 MAIN_STACK_SIZE symbol 재할당 warning
  • ZEP-2343 - Coverity static scan에서 발견된 문제
  • ZEP-2344 - Coverity static scan에서 발견된 추가 문제
  • ZEP-2345 - Coverity static scan에서 발견된 또 다른 문제
  • ZEP-2352 - 다른 thread에서 callback이 호출되는 시점을 Network API 문서가 설명하지 않는 문제
  • ZEP-2354 - ESP32 random-number generator 추가
  • ZEP-2355 - Coverity static scan에서 발견된 문제
  • ZEP-2358 - echo_server sample이 UDP packet 전송에 실패하는 문제
  • ZEP-2359 - coaps_server sample이 IPv6로 bind하지 못하는 문제
  • ZEP-2360 - Bluetooth Mesh 초기 구현
  • ZEP-2361 - Native API 위에 POSIX compatibility layer 제공
  • ZEP-2365 - nrf52840_pca10056와 frdm_kw41z에서 wpanusb test_15_4 실패
  • ZEP-2366 - __kernel attribute 구현
  • ZEP-2367 - UDP·TCP·context network test의 NULL pointer read
  • ZEP-2368 - x86 QEMU boot 시 MMU 기본 활성화
  • ZEP-2370 - Zephyr preemptive scheduling stress test 작성
  • ZEP-2371 - 동일 priority task의 round-robin scheduling stress test 작성
  • ZEP-2374 - LLVM/icx tests/net/dhcpv4에서 NET_IPV4 symbol 재할당 warning
  • ZEP-2375 - LLVM/icx tests/net/udp의 -Wpointer-sign build warning
  • ZEP-2378 - Bluetooth IPSP sample build에서 ROM overflow가 발생하는 문제
  • ZEP-2379 - Bluetooth sample 초기화가 err -19로 실패하는 문제
  • ZEP-2380 - Zephyr commit 3604c391e로 TCP가 깨진 문제
  • ZEP-2382 - Test를 ztest framework 사용 방식으로 변환
  • ZEP-2383 - Net-app API에 DTLS 지원 추가
  • ZEP-2384 - 공통 Bluetooth sample code가 out-of-tree에서 build되지 않는 문제
  • ZEP-2385 - TinyCrypt를 version 0.2.7로 갱신
  • ZEP-2395 - nRF52840에서 Bluetooth로 HTTP server example 실행 시 assertion 발생
  • ZEP-2397 - net_if_ipv6_addr_rm이 초기화되지 않은 k_delayed_work를 cancel하는 문제
  • ZEP-2398 - Network stack test가 x86에서만 실행되는 문제
  • ZEP-2403 - qemu_x86 MMU 활성화가 active connect를 깨뜨린 문제
  • ZEP-2407 - 동일 priority preemptive thread가 8개를 넘으면 Cortex-M3가 crash하는 문제
  • ZEP-2408 - Kernel object 공유 정책 mechanism 설계
  • ZEP-2412 - Commit c1e5cb 이후 Bluetooth tester application이 동작하지 않는 문제
  • ZEP-2423 - Bluetooth IPSP 내장 TCP echo가 TCP close 때 crash하는 문제
  • ZEP-2432 - ieee802154_shell.c의 net_mgmt 호출이 BUS FAULT를 일으키는 문제
  • ZEP-2433 - x86 supervisor mode의 stack overflow context를 찾기 위한 forensic analysis
  • ZEP-2436 - Quark_D200_CRB에서 console output이 보이지 않는 문제
  • ZEP-2437 - Quark D2000 application build 경고
  • ZEP-2444 - nRF51/nRF52 platform에서 scheduling test API가 실패하는 문제
  • ZEP-2445 - Bluetooth·Flash driver·CONFIG_ASSERT 함께 사용 시 nRF52 CPU lock-up
  • ZEP-2447 - qemu_x86_iamcu에서 make debugserver 실패
  • ZEP-2451 - Bluetooth IPSP 지원 함수를 sample에서 별도 library로 이동
  • ZEP-2452 - olimex_stm32_e407에서 HTTPS server가 build되지 않는 문제
  • ZEP-2457 - generated/offsets.h가 불필요하게 다시 생성되는 문제
  • ZEP-2459 - Quark SE C1000에서 sample application이 동작하지 않는 문제
  • ZEP-2460 - qemu_nios2에서 tests/crypto/ecc_dh 실패
  • ZEP-2464 - Late IP assignment용 IPv6 interface 초기화 patch가 일반 IPv6 assignment를 깨뜨린 문제
  • ZEP-2465 - Coverity static scan에서 발견된 문제
  • ZEP-2467 - Coverity static scan에서 발견된 추가 문제
  • ZEP-2468 - Coverity static scan에서 발견된 또 다른 문제
  • ZEP-2469 - Coverity static scan에서 발견된 문제
  • ZEP-2474 - Coverity static scan에서 발견된 문제
  • ZEP-2480 - LLVM/icx samples/net/coaps_server의 -Wpointer-sign warning
  • ZEP-2482 - LLVM/icx samples/net/telnet의 -Wpointer-sign warning
  • ZEP-2483 - HTTP client sample이 IPv6에서 HTTP request를 받지 못하는 문제
  • ZEP-2484 - HTTP server sample이 IPv6에서 동작하지 않는 문제
  • ZEP-2485 - LLVM/icx samples/net/coaps_client의 -Wpointer-sign warning
  • ZEP-2486 - LLVM/icx samples/net/mbedtls_dtlsserver의 -Wpointer-sign warning
  • ZEP-2488 - LLVM/icx samples/net/irc_bot의 -Wpointer-sign·-Warray-bounds warning
  • ZEP-2489 - _x86_mmu_buffer_validate API 오류
  • ZEP-2496 - tests/benchmarks/object_footprint build 실패
  • ZEP-2497 - k_timer_start duration parameter가 0을 허용해야 하는 문제
  • ZEP-2498 - k_timer_start의 minimum duration은 0보다 큰 값이어야 한다는 표시 문제
  • ZEP-2508 - ESP32 linking이 ELF section을 올바르게 통합하지 않는 문제
  • ZEP-2510 - BT_SPI용 CONFIG_BT_HCI_TX_STACK_SIZE가 너무 작은 문제
  • ZEP-2514 - XCC sanitycheck가 잘못된 target을 compile하는 문제
  • ZEP-2523 - /samples/net/zoap_server/src/zoap-server.c의 Coverity 문제
  • ZEP-2525 - /samples/net/zoap_server/src/zoap-server.c의 추가 Coverity 문제
  • ZEP-2531 - /tests/net/lib/dns_resolve/src/main.c의 Coverity 문제
  • ZEP-2528 - /samples/net/nats/src/nats.c의 Coverity 문제
  • ZEP-2534 - /tests/kernel/irq_offload/src/irq_offload.c의 Coverity 문제
  • ZEP-2535 - /tests/net/lib/zoap/src/main.c의 Coverity 문제
  • ZEP-2537 - /tests/crypto/ecc_dh/src/ecc_dh.c의 Coverity 문제
  • ZEP-2538 - /arch/arm/soc/st_stm32/stm32f1/soc_gpio.c의 Coverity 문제
  • ZEP-2539 - /tests/net/ieee802154/l2/src/ieee802154_test.c의 Coverity 문제
  • ZEP-2540 - /ext/lib/crypto/tinycrypt/source/ecc_dh.c의 Coverity 문제
  • ZEP-2541 - /subsys/bluetooth/host/mesh/cfg.c의 Coverity 문제
  • ZEP-2549 - /samples/net/leds_demo/src/leds-demo.c의 Coverity 문제
  • ZEP-2552 - ESP32 uart poll_out이 항상 0을 반환하는 문제
  • ZEP-2553 - 다른 thread가 이미 polling 중인 -EADDRINUSE를 k_queue_poll이 제대로 처리하지 않는 문제
  • ZEP-2556 - ESP32 watchdog WDT_MODE_INTERRUPT_RESET mode 실패
  • ZEP-2557 - ESP32 GPIO 기본 API test 일부가 실패하는 문제
  • ZEP-2558 - CONFIG_BLUETOOTH_* Kconfig option이 조용히 무시되는 문제
  • ZEP-2560 - zoap_server sample이 multicast address 추가에 실패하는 문제
  • ZEP-2561 - HTTP client sample이 POST request 전송에 실패하는 문제
  • ZEP-2568 - BTP_ERROR 때문에 L2CAP/SM/GATT/GAP의 모든 PTS test가 실패하는 문제
  • ZEP-2575 - LLVM/icx hello_world에서 '-O: command not found' 오류
  • ZEP-2576 - Socket echo·echo_async sample이 TCP packet 전송에 실패하는 문제
  • ZEP-2581 - CC3220 executable binary format 지원
  • ZEP-2584 - mbedTLS를 version 2.6.0으로 갱신
  • ZEP-713 - ARC에서 preemptible regular IRQ 구현

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.