Developers

Code

View the Zephyr Project code.

View the Zephyr Project Documentation Wiki.

How to Contribute

We are excited that you have decided to join us in contributing to the Zephyr Project!

Do also take the time to check our community guidelines and join in the conversations!

Learn more about our development model, development BKMs, coding conventions, etc.

Read the project documentation

Releases Overview

Updated versions of the Zephyr project are released approximately every three-months. Here are summaries for past releases.  See the Program Management wiki page for information about release planning and intermediate milestone dates.

Future Release Roadmap

Future release planning documentation is maintained in this live Zephyr Project GitHub roadmap.

While our expectations are for features to be completed in the release indicated, some features may be added to a release, moved to a different release, modified, or dropped altogether as further investigations and priorities are understood.

1.14.1 LTS Release Update (October 2019)

This is an LTS maintenance release with fixes, as well as Bluetooth qualification listings for the Bluetooth protocol stack included in Zephyr.

The following security vulnerability (CVE) was addressed in this release:

  • Fixes CVE-2019-9506: The Bluetooth BR/EDR specification up to and including version 5.1 permits sufficiently low encryption key length and does not prevent an attacker from influencing the key length negotiation. This allows practical brute-force attacks (aka “KNOB”) that can decrypt traffic and inject arbitrary ciphertext without the victim noticing.

Bluetooth Qualification:

  • 1.14.x Host subsystem qualified with QDID 139258
  • 1.14.x Mesh subsystem qualified with QDID 139259
  • 1.14.x Controller component qualified on Nordic nRF52 with QDID 135679

2.0 Release (September 2019)

  • The kernel now supports both 32- and 64-bit architectures.
  • We added support for SOCKS5 proxy. SOCKS5 is an Internet protocol that
    exchanges network packets between a client and server through a proxy server.
  • Introduced support for 6LoCAN, a 6Lo adaption layer for Controller Area
    Networks.
  • We added support for :ref:Point-to-Point Protocol (PPP) . PPP is a
    data link layer (layer 2) communications protocol used to establish a direct
    connection between two nodes.
  • We added support for UpdateHub, an end-to-end solution for large scale
    over-the-air device updates.
  • We added support for ARM Cortex-R Architecture (Experimental).

1.14 LTS Release (April 2019)

  • Support for over 160 board configurations spanning 8 architectures
  • A reimplemented Timing system simplifies drivers and reduces typical kernel build size by hundreds of bytes
  • Symmetric Multi-processing (SMP) support adds a new CPU affinity API that can pin threads to a specific set of cores
  • Zephyr now supports x86_64 architecture for QEMU targets
  • Majority of networking components and protocols (including MQTT, CoAP, LWM2M, and SNTP) now use the overhauled Network packet API
  • Native POSIX port enhanced with UART, USB, and display drivers, and a simulated NRF52832 SoC that enables running full system, multi-node simulations
  • Added an experimental BLE split-software controller for supporting multiple BLE radio hardware architectures
  • The overhauled power management subsystem now supports device-idle power management and simplifying application power management logic
  • Major updates to the logging and shell subsystem support multiple back-ends, integration of logging into the shell, and delayed log processing
  • Introduced the west tool for managing multiple repositories and enhanced support for flashing and debugging
  • Added support for application user mode, application memory partitions, and hardware stack protection in ARMv8m
  • Applied MISRA-C coding guidelines on the kernel and core components

1.13 Release (September 2018)

  • Extensible and Pluggable Tracing Support
  • Compartmentalized application memory organization
  • Logging System Overhaul
  • Introduce system calls for BSD socket APIs
  • Support for IEEE 802.1AS-2011 generalized Precision Time Protocol (gPTP)
  • Link Layer Discovery Protocol (LLDP) TX support
  • Support for TLS and DTLS using BSD socket API
  • Support for Link Layer Multicast Name Resolution (LLMNR)
  • Introduced reworked ADC API and updated Nordic, NXP, Atmel, and Designware drivers
  • Support OS-driven Power Management framework
  • Basic support for Arm TrustZone in Armv8-M

Downloads

Zephyr project is provided as source code and build scripts for different target architectures and configurations, and not as a binary image. (See Supported Boards documentation for details.)  Updated versions of the Zephyr project are released approximately every three months. (See Release Overview for details.)

This downloads page is where you’ll find the latest tagged source code release along with its corresponding release notes found in the Zephyr Project GitHub repo and in the online release notes documentation.

Zephyr project source code is maintained in a Git repository.  For releases 1.14 and after, multiple repositories are used, so the preferred method for downloading source code is by using a Zephyr project tool called west.  While you can also download source as a tar.gz file or use Git commands (see the bottom of the GitHub release notes pages), this requires additional manual steps (see Using Zephyr without west documentation for details).

The project’s technical documentation is tagged to correspond with a specific release.  The latest documentation for the “master” branch under development can be found at https://docs.zephyrproject.org/. Use the version selector to see the documentation for tagged versions.