Zephyr Kernel 1.8.0
We are pleased to announce the release of Zephyr kernel version 1.8.0.
Major enhancements with this release include:
- Tickless kernel 
- IP Stack improvements 
- Bluetooth 5.0 features 
- Ecosystem: Tracing, debugging support through third-party tools (openocd, Segger Systemview) 
- Improved build support on Mac and Windows development environments 
- Xtensa GCC support 
- Initial implementation of MMU/MPU support 
- Expanded device support 
The following sections provide detailed lists of changes by component.
Kernel
- Use k_cycle_get_32 instead of sys_cycle_get_32 for Kernel 
- Added k_panic() and k_oops() APIs for Kernel 
- Added k_thread_create() API for Kernel 
- Added k_queue API for Kernel 
- Add tickless kernel support 
Architectures
- arm: Update core to use struct k_thread 
- arm: Added ARM MPU support 
- dts: Added ARM CMSDK support 
- arm: Added Initial support for NXP MPU 
- arm: Added Device Tree Support for nRF52832 SoC based boards 
- arm: Fixed nRF52840-QIAA SoC support for device tree 
- arm: Added Device Tree Support for nRF52840 SoC & boards 
- arm: Added Device Tree Support for nRF51822 SoC & boards 
- dts: Introduced st/mem.h for FLASH & SRAM sizes 
- dts: Put IRQ priority into the interrupt property 
- arm: Support for MKL25Z soc 
- arm: Added FPU support 
- x86: defined MMU data structures 
- Support for ARC EM Starter Kit version 2.3 added 
Boards
- Added qemu_xtensa board definition 
- Added a more informative page fault handler x86 board 
- xtensa: build similar to other Zephyr arches 
- Define MMU data structures for x86 board 
- Added support for board disco_l475_iot1 
- Added STM32F413 Nucleo board 
- Added support for the CC3220SF_LAUNCHXL board 
- Support for new ARM board FRDM-KL25Z 
- arduino_101 board enable GPIO by default 
- boards: convert to using newly introduced integer sized types 
- arm: Added support for Nucleo L432KC board 
- arm: Added support for STM32L496G Discovery board 
- arm: Added support for STM32F469I-DISCO board 
- BBC micro:bit: Added driver & API for the 5x5 LED display 
Drivers and Sensors
- UART interrupt-driver API is better defined 
- Support for pull-style console API 
- nRF5 IEEE 802.15.4 radio driver added 
- KW41Z IEEE 802.15.4 radio driver added 
- Added MCUX TRNG driver 
- Added support for the SiFive Freedom E310 pinmux driver 
- drivers/sensor: Convert formatter strings to use PRI defines 
- Added lps22hb sensor driver 
- Added lsm6dsl sensor driver 
- Added heart rate sensor driver 
- Added support for max30101 heart rate sensor 
- Added support for lis2dh accelerometer 
Networking
- HTTPS server support added 
- HTTP Basic-Auth support added 
- IPv6 fragmentation support added 
- Add block wise support to CoAP for well-known response 
- Big refactoring of network buffer handling 
- Start to collect TCP statistics if enabled in config 
- IEEE 802.15.4 security support added 
- DNS resolver sample application added 
- IPv6 multicast listener (MLDv2) support added 
- NATS protocol sample application added 
- HTTP client and server connectivity fixes 
- Network samples Coverity fixes 
- Network samples llvm compiler warning fixes 
- MQTT publisher connectivity fixes 
- 6lo IPv6 header compression fixes 
- CoAP connectivity fixes 
- DHCPv4 connectivity fixes 
- TCP connectivity fixes 
- DNS documentation and connectivity fixes 
- IPv6 connectivity fixes 
- IPv4 ARP fixes 
- IEEE 802.15.4 configuration tweaking fixes 
- Remove ORFD (Overly Reduced Function Device) 802.15.4 support 
- Network offloading driver fixes 
- Fix various memory leaks 
- Properly check TCP and UDP checksum before accepting packet 
- Start RX and TX network threads in proper order 
- Network samples documentation fixes and clarifications 
- RPL mesh routing fixes 
- Network link (MAC) address fixes 
Bluetooth
- Host: Added ATT and SMP packet tracking for flow control enforcement 
- Host: GATT database changed to a linked list in preparation for dynamic allocation 
- Bluetooth 5.0: The Controller reports itself as 5.0-capable 
- Bluetooth 5.0: Introduced Channel Selection Algorithm #2 support 
- Bluetooth 5.0: Added Multiple PHY support, both 2Mbit/s and long-range coded 
- Bluetooth 5.0: Integrated Scan Request notifications 
- Controller: Added Low Duty Cycle Directed Advertising support 
- Controller: Added Scan duplicate filtering support 
- Controller: Enforced complete role separation in the controller for smaller builds 
- Controller: Introduced Advanced Controller configuration with several new Kconfig options 
- Controller: Changed the radio interrupts to direct ISRs to reduce interrupt latency 
- Added HCI Controller to Host flow control support in both Host and Controller 
- BR/EDR: Added HFP (e)SCO audio channel establishment support 
- BR/EDR: Added support for a functional SDP server 
Build and Infrastructure
- Support building host tools 
- Added separate DTS target 
- Added support for MSYS2 
- Use -O2 instead of -Os for ARC with SDK 0.9 
Libraries
- Added library for software driven I2C 
- Created a HTTP library 
- Added HTTP server library support 
- Added minimal JSON library 
- Update TinyCrypt to version 0.2.6 
- Added minimal JSON library 
HALs
- Added Atmel SAM family I2C (TWIHS) driver 
- Added Atmel SAM serial (UART) driver 
- Added WDT driver for Atmel SAM SoCs 
- Added Atmel SAM4S SoC support 
- Imported Nordic 802.15.4 radio driver 
- Added Initial support for NXP MPU 
- Updated QMSI to 1.4 RC4 
- Added FPU support 
- Added basic support for STM32F413 
- Introduced STM32F4x DMA driver 
- pinmux: stm32: Added support for Nucleo L432KC 
- Added support for STM32L496G Discovery board 
- Added dts for STM32F407 
- Added support for STM32F4DISCOVERY Board 
- Added support for STM32F469XI 
- Added support for STM32F469I-DISCO 
Documentation
- Board documentation added for new board ports 
- Added a board porting guide 
- Added security sections to porting and user guides 
- Continued migration of wiki.zephyrproject.org material to website and github wiki 
- Improved CSS formatting and appearance of generated documents 
- Added breadcrumb navigation header with kernel version number 
- Updated getting started setup guides for Linux, Windows, and macOS 
- Updates and additions to follow new and updated kernel features 
- Broken link and spelling check scans 
- Removed deprecated kernel documentation (pre 1.6 release) from website (still available in git repo if needed) 
Tests and Samples
- Added test to verify same tick timeout expiry order 
- Added clock_test for kernel 
- Added tickless tests 
- Added a simple CC2520 crypto dev test 
- Added combined observer & broadcaster app for Bluetooth samples 
- Added support to wait both IPv4 and IPv6 
- Enabled tickless kernel option in some apps