doc/releases/release-notes-1.6.rst
.. _zephyr_1.6:
Zephyr Kernel 1.6.0 ####################
We are pleased to announce the release of Zephyr kernel version 1.6.0. This release introduces the unified Kernel replacing the separate nano- and micro-kernels and simplifying the overall Zephyr architecture and programming interfaces. Support for the ARM Cortex-M0/M0+ family was added and board support for Cortex-M was expanded. Additionally, this release adds many improvements for documentation, build infrastructure, and testing.
Major enhancements included with the release:
A detailed list of changes since v1.5.0 by component follows:
Kernel
Architectures
Boards
Drivers and Sensors
Networking
Bluetooth
Build Infrastructure
Libraries
HALs
Documentation
Test and Samples
Deprecations
JIRA Related Items
ZEP-308 - Build System cleanup and Kernel / Application build separationZEP-334 - Unified KernelZEP-766 - USB Mass Storage access to internal filesystemZEP-1090 - CPU x86 save/restore using new QMSI bootloader flowZEP-1173 - Add support for bonding removeZEP-48 - define API for interrupt controllersZEP-181 - Persistent storage APIsZEP-233 - Support USB mass storage device classZEP-237 - Support pre-built host toolsZEP-240 - printk/printf usage in samplesZEP-248 - Add a BOARD/SOC porting guideZEP-342 - USB DFUZEP-451 - Quark SE output by default redirected to IPMZEP-521 - ARM - add choice to floating point ABI selectionZEP-546 - UART interrupts not triggered on ARCZEP-584 - warn user if SDK is out of dateZEP-592 - Sanitycheck support for multiple toolchainsZEP-605 - SMP over BR/EDRZEP-614 - Port TinyCrypt 2.0 test cases to ZephyrZEP-622 - Add FS API to truncate/shrink a fileZEP-627 - Port Trickle support from Contiki into current stackZEP-635 - Add FS API to grow a fileZEP-636 - Add FS API to get volume total and free spaceZEP-640 - Remove dynamic IRQs/exceptions from ZephyrZEP-653 - QMSI shim driver: Watchdog: Implement suspend and resume callbacksZEP-654 - QMSI shim driver: I2C: Implement suspend and resume callbacksZEP-657 - QMSI shim driver: AONPT: Implement suspend and resume callbacksZEP-661 - QMSI shim driver: SPI: Implement suspend and resume callbacksZEP-688 - unify duplicated sections of arch linker scriptsZEP-715 - Add K64F clock configurationsZEP-716 - Add Hexiwear board supportZEP-717 - Add ksdk I2C shim driverZEP-718 - Add ksdk ethernet shim driverZEP-721 - Add FXOS8700 accelerometer/magnetometer sensor driverZEP-737 - Update host tools from upstream: fixdep.cZEP-740 - PWM API: Check if 'flags' argument is really requiredZEP-745 - Revisit design of PWM Driver APIZEP-750 - Arduino 101 board should support one configuration using original bootloaderZEP-758 - Rename Quark SE Devboard to its official name: Quark SE C1000ZEP-767 - Add FS API to flush cache of an open fileZEP-775 - Enable USB CDC by default on Arduino 101 and redirect serial to USBZEP-783 - ARM Cortex-M0/M0+ supportZEP-784 - Add support for Nordic Semiconductor nRF51822 SoCZEP-850 - remove obsolete boards basic_minuteia and basic_cortex_m3ZEP-906 - [unified] Add scheduler time slicing supportZEP-907 - Test memory pool support (with mailboxes)ZEP-908 - Add task offload to fiber supportZEP-909 - Adapt tickless idle + power management for ARMZEP-910 - Adapt tickless idle for x86ZEP-912 - Finish renaming kernel object typesZEP-916 - Eliminate kernel object API anomaliesZEP-920 - Investigate malloc/free supportZEP-921 - Miscellaneous documentation workZEP-922 - Revise documentation for Kernel Event LoggerZEP-923 - Revise documentation for TimingZEP-924 - Revise documentation for InterruptsZEP-925 - API changes to message queuesZEP-926 - API changes to memory poolsZEP-927 - API changes to memory mapsZEP-928 - API changes to event handlingZEP-930 - Cut over to unified kernelZEP-933 - Unified kernel ARC portZEP-934 - NIOS_II portZEP-935 - Kernel logger support (validation)ZEP-954 - Update device PM API to allow setting additional power statesZEP-957 - Create example sample for new unified kernel API usageZEP-959 - sync checkpatch.pl with upstream LinuxZEP-966 - need support for EM7D SOC on em_starterkitZEP-975 - DNS client port to new IP stackZEP-981 - Add doxygen documentation to both include/kernel.h and include/legacy.hZEP-989 - Cache next ready thread instead of finding out the long wayZEP-993 - Quark SE (x86): Refactor save/restore execution context featureZEP-994 - Quark SE (ARC): Add PMA sampleZEP-996 - Refactor save/restore feature from i2c_qmsi driverZEP-997 - Refactor save/restore feature from spi_qmsi driverZEP-998 - Refactor save/restore feature from uart_qmsi driverZEP-999 - Refactor save/restore feature from gpio_qmsi driverZEP-1000 - Refactor save/restore feature from rtc_qmsi driverZEP-1001 - Refactor save/restore feature from wdt_qmsi driverZEP-1002 - Refactor save/restore feature from counter_qmsi_aonpt driverZEP-1004 - Extend counter_qmsi_aon driver to support save/restore peripheral contextZEP-1005 - Extend dma_qmsi driver to support save/restore peripheral contextZEP-1006 - Extend soc_flash_qmsi driver to support save/restore peripheral contextZEP-1008 - Extend pwm_qmsi driver to support save/restore peripheral contextZEP-1023 - workq in Kernel primer for unified kernelZEP-1030 - Enable QMSI shim drivers of SoC peripherals on the sensor subsystemZEP-1043 - Update QMSI to 1.2ZEP-1045 - Add/Enhance shim layer to wrap SOC specific PM implementationsZEP-1046 - Implement RAM sharing between bootloader and ZephyrZEP-1047 - Adapt to new PM related boot flow changes in QMSI boot loaderZEP-1106 - Fix all test failures from TCFZEP-1107 - Update QMSI to 1.3ZEP-1109 - Texas Instruments CC3200 LaunchXL SupportZEP-1119 - move top level usb/ to sys/usbZEP-1120 - move top level fs/ to sys/fsZEP-1121 - Add config support for enabling SoCWatch in ZephyrZEP-1140 - Add a unified kernel version of power_mgr sample app for testing PM code with the new kernelZEP-1188 - Add an API to retrieve pending interrupts for wake eventsZEP-1191 - Create wiki page for Hexiwear boardZEP-1235 - Basic shell support for file system browsingZEP-1245 - ARM LTD V2M Beetle SupportZEP-1313 - porting and user guides must include a security sectionZEP-1386 - Revise power management document to reflect latest changesZEP-199 - Zephyr driver model is undocumentedZEP-436 - Test case tests/kernel/test_mem_safe fails on ARM hardwareZEP-471 - Ethernet packet with multicast address is not workingZEP-472 - Ethernet packets are getting missed if sent in quick succession.ZEP-517 - build on windows failed "zephyr/Makefile:869: *** multiple target patterns"ZEP-528 - ARC has 2 almost identical copies of the linker scriptZEP-577 - Sample application source does not compile on WindowsZEP-601 - enable CONFIG_DEBUG_INFOZEP-602 - unhandled CPU exceptions/interrupts report wrong faulting vector if triggered by CPUZEP-615 - Un-supported flash erase size listed in SPI flash w25qxxdv driver header fileZEP-639 - device_pm_ops structure should be defined as staticZEP-686 - docs: Info in "Application Development Primer" and "Developing an Application and the Build System" is largely duplicatedZEP-698 - samples/task_profiler issuesZEP-707 - mem_safe test stomps on top of .data and bottom of .noinitZEP-724 - build on windows failed: 'make: execvp: uname: File or path name too long'ZEP-733 - Minimal libc shouldn't be providing stddef.hZEP-762 - unexpected "abspath" and "notdir" from mingw make systemZEP-777 - samples/driver/i2c_stts751: kconfig build warning from "select DMA_QMSI"ZEP-778 - Samples/drivers/i2c_lsm9ds0: kconfig build warning from "select DMA_QMSI"ZEP-779 - Using current MinGW gcc version 5.3.0 breaks Zephyr build on WindowsZEP-845 - UART for ARC on Arduino 101 behaves unexpectedlyZEP-905 - hello_world compilation for arduino_due target fails when using CROSS_COMPILEZEP-940 - Fail to get ATT responseZEP-950 - USB: Device is not listed by USB20CV test suiteZEP-961 - samples: other cases cannot execute after run aon_counter caseZEP-967 - Sanity doesn't build 'samples/usb/dfu' with assertions (-R)ZEP-970 - Sanity doesn't build 'tests/kernel/test_build' with assertions (-R)ZEP-982 - Minimal libc has EWOULDBLOCK != EAGAINZEP-1014 - [TCF] tests/bluetooth/init build failZEP-1025 - Unified kernel build sometimes breaks on a missing .d dependency file.ZEP-1027 - Documentation for GCC ARM is not accurateZEP-1031 - qmsi: dma: driver test fails with LLVMZEP-1048 - grove_lcd sample: sample does not work if you disable serialZEP-1051 - mpool allocation failed after defrag twice...ZEP-1062 - Unified kernel isn't compatible with CONFIG_NEWLIB_LIBCZEP-1074 - ATT retrying misbehaves when ATT insufficient Authentication is receivedZEP-1076 - "samples/philosophers/unified" build failed with dynamic stackZEP-1077 - "samples/philosophers/unified" build warnings with NUM_PHIL<6ZEP-1079 - Licensing not clear for imported componentsZEP-1097 - ENC28J60 driver fails on concurrent tx and rxZEP-1098 - ENC28J60 fails to receive big data framesZEP-1100 - Current master still identifies itself as 1.5.0ZEP-1101 - SYS_KERNEL_VER_PATCHLEVEL() and friends artificially limit version numbers to 4 bitsZEP-1124 - tests/kernel/test_sprintf/microkernel/testcase.ini#test failure on frdm_k64fZEP-1130 - region 'RAM' overflowed occurs while building test_hmac_prngZEP-1138 - Received packets not being passed to upper layer from IP stack when using ENC28J60 driverZEP-1139 - Fix build error when power management is built with unified kernelZEP-1141 - TinyCrypt SHA256 test fails with system crash using unified kernel typeZEP-1144 - TinyCrypt AES128 fixed-key with variable-text test fails using unified kernel typeZEP-1145 - system hang after TinyCrypt HMAC testZEP-1146 - zephyrproject.org home page needs technical scrub for 1.6 releaseZEP-1149 - port ztest framework to unified kernelZEP-1154 - tests/samples failing with unified kernelZEP-1155 - Fix filesystem API namespaceZEP-1163 - LIB_INCLUDE_DIR is clobbered in Makefile second passZEP-1164 - ztest skip waiting the test case to finish its executionZEP-1179 - Build issues when compiling with LLVM from ISSM (icx)ZEP-1182 - kernel.h doxygen show unexpected "asm" blocksZEP-1183 - btshell return "panic: errcode -1" when init btZEP-1195 - Wrong ATT error code passed to the applicationZEP-1199 - [L2CAP] No credits to receive packetZEP-1219 - [L2CAP] Data sent exceeds maximum PDU sizeZEP-1221 - Connection Timeout during pairingZEP-1226 - cortex M7 port assembler errorZEP-1227 - ztest native testing not working in unified kernelZEP-1232 - Daily build is failing assertsZEP-1234 - Removal of fiber* APIs due to unified migration breaks USB mass storage patchsetZEP-1247 - Test tests/legacy/benchmark/latency_measure is broken for daily sanitycheckZEP-1252 - Test test_chan_blen_transfer does not build for quark_d2000_crbZEP-1277 - Flash driver (w25qxxdv) erase function is not checking for offset alignmentZEP-1278 - Incorrect boundary check in flash driver (w25qxxdv) for erase offsetZEP-1287 - ARC SPI 1 Port is not workingZEP-1289 - Race condition with k_sem_takeZEP-1291 - libzephyr.a dependency on phony "gcc" targetZEP-1293 - ENC28J60 driver doesn't work on Arduino 101ZEP-1295 - incorrect doxygen comment in kernel.h:k_work_pending()ZEP-1297 - test/legacy/kernel/test_mail: failure on ARC platformsZEP-1299 - System can't resume completely with DMA suspend and resume operationZEP-1302 - ENC28J60 fails with rx/tx of long framesZEP-1303 - Configuration talks about >32 thread prios, but the kernel does not support itZEP-1309 - ARM uses the end of memory for its init stackZEP-1310 - ARC uses the end of memory for its init stackZEP-1312 - ARC: software crashed at k_mbox_get() with async sending a messageZEP-1319 - Zephyr is unable to compile when CONFIG_RUNTIME_NMI is enabled on ARM platformsZEP-1341 - power_states test app passes wrong value as power state to post_ops functionsZEP-1343 - tests/drivers/pci_enum: failing on QEMU ARM and X86 due to missing commitZEP-1345 - cpu context save and restore could corrupt stackZEP-1349 - ARC sleep needs to pass interrupt priority threshold when interrupts are enabledZEP-1353 - FDRM k64f Console output broken on normal flash modeKnown Issues
ZEP-1405 - function l2cap_br_conn_req in /subsys/bluetooth/host/l2cap_br.c
references uninitialized pointer