..
    Zephyr Project documentation master file

Zephyr Project Documentation
############################

.. only:: release

   Welcome to the Zephyr Project's documentation version |version|!

   Documentation for the development branch of Zephyr can be found at
   https://www.zephyrproject.org/doc/

.. only:: (development or daily)

   Welcome to the Zephyr Project's documentation. This is the documentation of the
   master tree under development (version |version|).

   Documentation for released versions of Zephyr can be found at
   ``https://www.zephyrproject.org/doc/<version>``. The following documentation
   versions are available:

   `Zephyr 1.5.0`_ | `Zephyr 1.6.1`_ | `Zephyr 1.7.1`_ | `Zephyr 1.8.0`_ |
   `Zephyr 1.9.2`_ | `Zephyr 1.10.0`_

For information about the changes and additions for releases, please
consult the published :ref:`zephyr_release_notes` documentation.

The Zephyr OS is provided under the `Apache 2.0 license`_ (as found in
the LICENSE file in the project's `GitHub repo`_).  The Zephyr OS also
imports or reuses packages, scripts, and other files that use other
licensing, as described in :ref:`Zephyr_Licensing`.

Source code for the Zephyr Project is maintained in the Zephyr Project's
`GitHub repo`_.

.. _Apache 2.0 license:
   https://github.com/zephyrproject-rtos/zephyr/blob/master/LICENSE

.. _GitHub repo: https://github.com/zephyrproject-rtos/zephyr


Sections
********

.. toctree::
   :maxdepth: 1

   introduction/introducing_zephyr.rst
   getting_started/getting_started.rst
   contribute/contribute.rst
   kernel/kernel.rst
   security/security.rst
   application/index.rst
   boards/boards.rst
   devices/index.rst
   subsystems/subsystems.rst

Indices and Tables
******************

* :ref:`glossary`

* :ref:`genindex`

.. _Zephyr 1.10.0: https://www.zephyrproject.org/doc/1.10.0/
.. _Zephyr 1.9.2: https://www.zephyrproject.org/doc/1.9.0/
.. _Zephyr 1.8.0: https://www.zephyrproject.org/doc/1.8.0/
.. _Zephyr 1.7.1: https://www.zephyrproject.org/doc/1.7.0/
.. _Zephyr 1.6.1: https://www.zephyrproject.org/doc/1.6.0/
.. _Zephyr 1.5.0: https://www.zephyrproject.org/doc/1.5.0/
