blob: 951cc4c3e37458918f5c2381f4f62fedf5bb138a [file] [log] [blame]
.. _west-release-notes:
West Release Notes
##################
v1.2.0
******
Major changes:
- New ``west grep`` command for running a "grep tool" in your west workspace's
repositories. Currently, ``git grep``, `ripgrep`_, and standard ``grep`` are
supported grep tools.
To run this command to get ``git grep foo`` results from all cloned,
active repositories, run:
.. code-block:: console
west grep foo
Here are some other examples for running different grep commands
with ``west grep``:
.. list-table::
* - ``git grep --untracked``
- ``west grep --untracked foo``
* - ``ripgrep``
- ``west grep --tool ripgrep foo``
* - ``grep --recursive``
- ``west grep --tool grep foo``
To switch the default grep tool in your workspace, run the appropriate
command in this table:
.. list-table::
* - ``ripgrep``
- ``west config grep.tool ripgrep``
* - ``grep``
- ``west config grep.tool grep``
For more details, run ``west help grep``.
Other changes:
- The manifest file format now supports a ``description`` field in each
``projects:`` element. See :ref:`west-manifests-projects` for examples.
- ``west list --format`` now accepts ``{description}`` in the format
string, which prints the project's ``description:`` value.
- ``west compare`` now always prints information about
:ref:`west-manifest-rev`.
Bug fixes:
- ``west init`` aborts if the destination directory already exists.
API changes:
- ``west.commands.WestCommand`` methods ``check_call()`` and
``check_output()`` now take any kwargs that can be passed on
to the underlying subprocess function.
- ``west.commands.WestCommand.run_subprocess()``: new wrapper
around ``subprocess.run()``. This could not be named ``run()``
because ``WestCommand`` already had a method by this name.
- ``west.commands.WestCommand`` methods ``dbg()``, ``inf()``,
``wrn()``, and ``err()`` now all take an ``end`` kwarg, which
is passed on to the call to ``print()``.
- ``west.manifest.Project`` now has a ``description`` attribute,
which contains the parsed value of the ``description:`` field
in the manifest data.
.. _ripgrep: https://github.com/BurntSushi/ripgrep#readme
v1.1.0
******
Major changes:
- ``west compare``: new command that compares the state of the
workspace against the manifest.
- Support for a new ``manifest.project-filter`` configuration option.
See :ref:`west-config-index` for details. The ``west manifest --freeze``
and ``west manifest --resolve`` commands currently cannot be used when
this option is set. This restriction can be removed in a later release.
- Project names which contain comma (``,``) or whitespace now generate
warnings. These warnings are errors if the new ``manifest.project-filter``
configuration option is set. The warnings may be promoted to errors in a
future major version of west.
Other changes:
- ``west forall`` now takese a ``--group`` argument that can be used
to restrict the command to only run in one or more groups. Run
``west help forall`` for details.
- All west commands will now output log messages from west API modules at
warning level or higher. In addition, the ``--verbose`` argument to west
can be used once to include informational messages, or twice to include
debug messages, from all commands.
Bug fixes:
- Various improvements to error messages, debug logging, and error handling.
API changes:
- ``west.manifest.Manifest.is_active()`` now respects the
``manifest.project-filter`` configuration option's value.
v1.0.1
******
Major changes:
- Manifest schema version "1.0" is now available for use in this release. This
is identical to the "0.13" schema version in terms of features, but can be
used by applications that do not wish to use a "0.x" manifest "version:"
field. See :ref:`west-manifest-schema-version` for details on this feature.
Bug fixes:
- West no longer exits with a successful error code when sent an
interrupt signal. Instead, it exits with a platform-specific
error code and signals to the calling environment that the
process was interrupted.
v1.0.0
******
Major changes in this release:
- The :ref:`west-apis` are now declared stable. Any breaking changes will be
communicated by a major version bump from v1.x.y to v2.x.y.
- West v1.0 no longer works with the Zephyr v1.14 LTS releases. This LTS has
long been obsoleted by Zephyr v2.7 LTS. If you need to use Zephyr v1.14, you
must use west v0.14 or earlier.
- Like the rest of Zephyr, west now requires Python v3.8 or later
- West commands no longer accept abbreviated command line arguments. For
example, you must now specify ``west update --keep-descendants`` instead of
using an abbreviation like ``west update --keep-d``. This is part of a change
applied to all of Zephyr's Python scripts' command-line interfaces. The
abbreviations were causing problems in practice when commands were updated to
add new options with similar names but different behavior to existing ones.
Other changes:
- All built-in west functions have stopped using ``west.log``
- ``west update``: new ``--submodule-init-config`` option.
See commit `9ba92b05`_ for details.
Bug fixes:
- West extension commands that failed to load properly sometimes dumped stack.
This has been fixed and west now prints a sensible error message in this case.
- ``west config`` now fails on malformed configuration option arguments
which lack a ``.`` in the option name
API changes:
- The west package now contains the metadata files necessary for some static
analyzers (such as `mypy`_) to auto-detect its type annotations.
See commit `d9f00e24`_ for details.
- the deprecated ``west.build`` module used for Zephyr v1.14 LTS compatibility was
removed
- the deprecated ``west.cmake`` module used for Zephyr v1.14 LTS compatibility was
removed
- the ``west.log`` module is now deprecated. This module uses global state,
which can make it awkward to use it as an API which multiple different python
modules may rely on.
- The :ref:`west-apis-commands` module got some new APIs which lay groundwork
for a future change to add a global verbosity control to a command's output,
and work to remove global state from the ``west`` package's API:
- New ``west.commands.WestCommand.__init__()`` keyword argument: ``verbosity``
- New ``west.commands.WestCommand`` property: ``color_ui``
- New ``west.commands.WestCommand`` methods, which should be used to print output
from extension commands instead of writing directly to sys.stdout or
sys.stderr: ``inf()``, ``wrn()``, ``err()``, ``die()``, ``banner()``,
``small_banner()``
- New ``west.commands.VERBOSITY`` enum
.. _9ba92b05: https://github.com/zephyrproject-rtos/west/commit/9ba92b054500d75518ff4c4646590bfe134db523
.. _d9f00e24: https://github.com/zephyrproject-rtos/west/commit/d9f00e242b8cb297b56e941982adf231281c6bae
.. _mypy: https://www.mypy-lang.org/
v0.14.0
*******
Bug fixes:
- West commands that were run with a bad local configuration file dumped stack
in a confusing way. This has been fixed and west now prints a sensible error
message in this case.
- A bug in the way west looks for the zephyr repository was fixed. The bug
itself usually appeared when running an extension command like ``west build``
in a new workspace for the first time; this used to fail (just for the first
time, not on subsequent command invocations) unless you ran the command in
the workspace's top level directory.
- West now prints sensible error messages when the user lacks permission to
open the manifest file instead of dumping stack traces.
API changes:
- The ``west.manifest.MalformedConfig`` exception type has been moved to the
``west.configuration`` module
- The ``west.manifest.MalformedConfig`` exception type has been moved to the
:ref:`west.configuration <west-apis-configuration>` module
- The ``west.configuration.Configuration`` class now raises ``MalformedConfig``
instead of ``RuntimeError`` in some cases
v0.13.1
*******
Bug fix:
- When calling west.manifest.Manifest.from_file() when outside of a
workspace, west again falls back on the ZEPHYR_BASE environment
variable to locate the workspace.
v0.13.0
*******
New features:
- You can now associate arbitrary user data with the manifest repository
itself in the ``manifest: self: userdata:`` value, like so:
.. code-block:: YAML
manifest:
self:
userdata: <any YAML value can go here>
Bug fixes:
- The path to the manifest repository reported by west could be incorrect in
certain circumstances detailed in [issue
#572](https://github.com/zephyrproject-rtos/west/issues/572). This has been
fixed as part of a larger overhaul of path handling support in the
``west.manifest`` API module.
- The ``west.Manifest.ManifestProject.__repr__`` return value was fixed
:ref:`API <west-apis>` changes:
- ``west.configuration.Configuration``: new object-oriented interface to the
current configuration. This reflects the system, global, and workspace-local
configuration values, and allows you to read, write, and delete configuration
options from any or all of these locations.
- ``west.commands.WestCommand``:
- ``config``: new attribute, returns a ``Configuration`` object or aborts the
program if none is set. This is always usable from within extension command
``do_run()`` implementations.
- ``has_config``: new boolean attribute, which is ``True`` if and only if
reading ``self.config`` will abort the program.
- The path handling in the ``west.manifest`` package has been overhauled in a
backwards-incompatible way. For more details, see commit
[56cfe8d1d1](https://github.com/zephyrproject-rtos/west/commit/56cfe8d1d1f3c9b45de3e793c738acd62db52aca).
- ``west.manifest.Manifest.validate()``: this now returns the validated data as
a Python dict. This can be useful if the value passed to this function was a
str, and the dict is desired.
- ``west.manifest.Manifest``: new:
- path attributes ``abspath``, ``posixpath``, ``relative_path``,
``yaml_path``, ``repo_path``, ``repo_posixpath``
- ``userdata`` attribute, which contains the parsed value
from ``manifest: self: userdata:``, or is None
- ``from_topdir()`` factory method
- ``west.manifest.ManifestProject``: new ``userdata`` attribute, which also
contains the parsed value from ``manifest: self: userdata:``, or is None
- ``west.manifest.ManifestImportFailed``: the constructor can now take any
value; this can be used to reflect failed imports from a :ref:`map
<west-manifest-import-map>` or other compound value.
- Deprecated configuration APIs:
The following APIs are now deprecated in favor of using a ``Configuration``
object. Usually this will be done via ``self.config`` from a ``WestCommand``
instance, but this can be done directly by instantiating a ``Configuration``
object for other usages.
- ``west.configuration.config``
- ``west.configuration.read_config``
- ``west.configuration.update_config``
- ``west.configuration.delete_config``
v0.12.0
*******
New features:
- West now works on the `MSYS2 <https://www.msys2.org/>`_ platform.
- West manifest files can now contain arbitrary user data associated with each
project. See :ref:`west-project-userdata` for details.
Bug fixes:
- The ``west list`` command's ``{sha}`` format key has been fixed for
the manifest repository; it now prints ``N/A`` ("not applicable")
as expected.
:ref:`API <west-apis>` changes:
- The ``west.manifest.Project.userdata`` attribute was added to support
project user data.
v0.11.1
*******
New features:
- ``west status`` now only prints output for projects which have a nonempty
status.
Bug fixes:
- The manifest file parser was incorrectly allowing project names which contain
the path separator characters ``/`` and ``\``. These invalid characters are
now rejected.
Note: if you need to place a project within a subdirectory of the workspace
topdir, use the ``path:`` key. If you need to customize a project's fetch URL
relative to its remote ``url-base:``, use ``repo-path:``. See
:ref:`west-manifests-projects` for examples.
- The changes made in west v0.10.1 to the ``west init --manifest-rev`` option
which selected the default branch name were leaving the manifest repository
in a detached HEAD state. This has been fixed by using ``git clone`` internally
instead of ``git init`` and ``git fetch``. See `issue #522`_ for details.
- The ``WEST_CONFIG_LOCAL`` environment variable now correctly
overrides the default location, :file:`<workspace topdir>/.west/config`.
- ``west update --fetch=smart`` (``smart`` is the default) now correctly skips
fetches for project revisions which are `lightweight tags`_ (it already
worked correctly for annotated tags; only lightweight tags were unnecessarily
fetched).
Other changes:
- The fix for issue #522 mentioned above introduces a new restriction. The
``west init --manifest-rev`` option value, if given, must now be either a
branch or a tag. In particular, "pseudo-branches" like GitHub's
``pull/1234/head`` references which could previously be used to fetch a pull
request can no longer be passed to ``--manifest-rev``. Users must now fetch
and check out such revisions manually after running ``west init``.
:ref:`API <west-apis>` changes:
- ``west.manifest.Manifest.get_projects()`` avoids incorrect results in
some edge cases described in `issue #523`_.
- ``west.manifest.Project.sha()`` now works correctly for tag revisions.
(This applies to both lightweight and annotated tags.)
.. _lightweight tags: https://git-scm.com/book/en/v2/Git-Basics-Tagging
.. _issue #522: https://github.com/zephyrproject-rtos/west/issues/522
.. _issue #523: https://github.com/zephyrproject-rtos/west/issues/523
v0.11.0
*******
New features:
- ``west update`` now supports ``--narrow``, ``--name-cache``, and
``--path-cache`` options. These can be influenced by the ``update.narrow``,
``update.name-cache``, and ``update.path-cache`` :ref:`west-config` options.
These can be used to optimize the speed of the update.
- ``west update`` now supports a ``--fetch-opt`` option that will be passed to
the ``git fetch`` command used to fetch remote revisions when updating each
project.
Bug fixes:
- ``west update`` now synchronizes Git submodules in projects by default. This
avoids issues if the URL changes in the manifest file from when the submodule
was first initialized. This behavior can be disabled by setting the
``update.sync-submodules`` configuration option to ``false``.
Other changes:
- the :ref:`west-apis-manifest` module has fixed docstrings for the Project
class
v0.10.1
*******
New features:
- The :ref:`west-init` command's ``--manifest-rev`` (``--mr``) option no longer
defaults to ``master``. Instead, the command will query the repository for
its default branch name and use that instead. This allows users to move from
``master`` to ``main`` without breaking scripts that do not provide this
option.
.. _west_0_10_0:
v0.10.0
*******
New features:
- The ``name`` key in a project's :ref:`submodules list
<west-manifest-submodules>` is now optional.
Bug fixes:
- West now checks that the manifest schema version is one of the explicitly
allowed values documented in :ref:`west-manifest-schema-version`. The old
behavior was just to check that the schema version was newer than the west
version where the ``manifest: version:`` key was introduced. This incorrectly
allowed invalid schema versions, like ``0.8.2``.
Other changes:
- A manifest file's ``group-filter`` is now propagated through an ``import``.
This is a change from how west v0.9.x handled this. In west v0.9.x, only the
top level manifest file's ``group-filter`` had any effect; the group filter
lists from any imported manifests were ignored.
Starting with west v0.10.0, the group filter lists from imported manifests
are also imported. For details, see :ref:`west-group-filter-imports`.
The new behavior will take effect if ``manifest: version:`` is not given or
is at least ``0.10``. The old behavior is still available in the top level
manifest file only with an explicit ``manifest: version: 0.9``. See
:ref:`west-manifest-schema-version` for more information on schema versions.
See `west pull request #482
<https://github.com/zephyrproject-rtos/west/pull/482>`_ for the motivation
for this change and additional context.
v0.9.1
******
Bug fixes:
- Commands like ``west manifest --resolve`` now correctly include group and
group filter information.
Other changes:
- West now warns if you combine ``import`` with ``group-filter``. Semantics for
this combination have changed starting with v0.10.x. See the v0.10.0 release
notes above for more information.
.. _west_0_9_0:
v0.9.0
******
.. warning::
The ``west config`` fix described below comes at a cost: any comments or
other manual edits in configuration files will be removed when setting a
configuration option via that command or the ``west.configuration`` API.
.. warning::
Combining the ``group-filter`` feature introduced in this release with
manifest imports is discouraged. The resulting behavior has changed in west
v0.10.
New features:
- West manifests now support :ref:`west-manifest-submodules`. This allows you
to clone `Git submodules
<https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_ into a west project
repository in addition to the project repository itself.
- West manifests now support :ref:`west-manifest-groups`. Project groups can be
enabled and disabled to determine what projects are "active", and therefore
will be acted upon by the following commands: ``west update``, ``west list``,
``west diff``, ``west status``, ``west forall``.
- ``west update`` no longer updates inactive projects by default. It now
supports a ``--group-filter`` option which allows for one-time modifications
to the set of enabled and disabled project groups.
- Running ``west list``, ``west diff``, ``west status``, or ``west forall``
with no arguments does not print information for inactive projects by
default. If the user specifies a list of projects explicitly at the command
line, output for them is included regardless of whether they are active.
These commands also now support ``--all`` arguments to include all
projects, even inactive ones.
- ``west list`` now supports a ``{groups}`` format string key in its
``--format`` argument.
Bug fixes:
- The ``west config`` command and ``west.configuration`` API did not correctly
store some configuration values, such as strings which contain commas. This
has been fixed; see `commit 36f3f91e
<https://github.com/zephyrproject-rtos/west/commit/36f3f91e270782fb05f6da13800f433a9c48f130>`_
for details.
- A manifest file with an empty ``manifest: self: path:`` value is invalid, but
west used to let it pass silently. West now rejects such manifests.
- A bug affecting the behavior of the ``west init -l .`` command was fixed; see
`issue #435 <https://github.com/zephyrproject-rtos/west/issues/435>`_.
:ref:`API <west-apis>` changes:
- added ``west.manifest.Manifest.is_active()``
- added ``west.manifest.Manifest.group_filter``
- added ``submodules`` attribute to ``west.manifest.Project``, which has
newly added type ``west.manifest.Submodule``
Other changes:
- The :ref:`west-manifest-import` feature now supports the terms ``allowlist``
and ``blocklist`` instead of ``whitelist`` and ``blacklist``, respectively.
The old terms are still supported for compatibility, but the documentation
has been updated to use the new ones exclusively.
v0.8.0
******
This is a feature release which changes the manifest schema by adding support
for a ``path-prefix:`` key in an ``import:`` mapping, along with some other
features and fixes.
- Manifest import mappings now support a ``path-prefix:`` key, which places
the project and its imported repositories in a subdirectory of the workspace.
See :ref:`west-manifest-ex3.4` for an example.
- The west command line application can now also be run using ``python3 -m
west``. This makes it easier to run west under a particular Python
interpreter without modifying the :envvar:`PATH` environment variable.
- :ref:`west manifest --path <west-manifest-path>` prints the absolute path to
west.yml
- ``west init`` now supports an ``--mf foo.yml`` option, which initializes the
workspace using :file:`foo.yml` instead of :file:`west.yml`.
- ``west list`` now prints the manifest repository's path using the
``manifest.path`` :ref:`configuration option <west-config>`, which may differ
from the ``self: path:`` value in the manifest data. The old behavior is
still available, but requires passing a new ``--manifest-path-from-yaml``
option.
- Various Python API changes; see :ref:`west-apis` for details.
v0.7.3
******
This is a bugfix release.
- Fix an error where a failed import could leave the workspace in an unusable
state (see [PR #415](https://github.com/zephyrproject-rtos/west/pull/415) for
details)
v0.7.2
******
This is a bugfix and minor feature release.
- Filter out duplicate extension commands brought in by manifest imports
- Fix ``west.Manifest.get_projects()`` when finding the manifest repository by
path
v0.7.1
******
This is a bugfix and minor feature release.
- ``west update --stats`` now prints timing for operations which invoke a
subprocess, time spent in west's Python process for each project, and total
time updating each project.
- ``west topdir`` always prints a POSIX style path
- minor console output changes
v0.7.0
******
The main user-visible feature in west 0.7 is the :ref:`west-manifest-import`
feature. This allows users to load west manifest data from multiple different
files, resolving the results into a single logical manifest.
Additional user-visible changes:
- The idea of a "west installation" has been renamed to "west workspace" in
this documentation and in the west API documentation. The new term seems to
be easier for most people to work with than the old one.
- West manifests now support a :ref:`schema version
<west-manifest-schema-version>`.
- The "west config" command can now be run outside of a workspace, e.g.
to run ``west config --global section.key value`` to set a configuration
option's value globally.
- There is a new :ref:`west topdir <west-built-in-misc>` command, which
prints the root directory of the current west workspace.
- The ``west -vv init`` command now prints the git operations being performed,
and their results.
- The restriction that no project can be named "manifest" is now enforced; the
name "manifest" is reserved for the manifest repository, and is usable as
such in commands like ``west list manifest``, instead of ``west list
path-to-manifest-repository`` being the only way to say that
- It's no longer an error if there is no project named "zephyr". This is
part of an effort to make west generally usable for non-Zephyr use cases.
- Various bug fixes.
The developer-visible changes to the :ref:`west-apis` are:
- west.build and west.cmake: deprecated; this is Zephyr-specific functionality
and should never have been part of west. Since Zephyr v1.14 LTS relies on it,
it will continue to be included in the distribution, but will be removed
when that version of Zephyr is obsoleted.
- west.commands:
- WestCommand.requires_installation: deprecated; use requires_workspace instead
- WestCommand.requires_workspace: new
- WestCommand.has_manifest: new
- WestCommand.manifest: this is now settable
- west.configuration: callers can now identify the workspace directory
when reading and writing configuration files
- west.log:
- msg(): new
- west.manifest:
- The module now uses the standard logging module instead of west.log
- QUAL_REFS_WEST: new
- SCHEMA_VERSION: new
- Defaults: removed
- Manifest.as_dict(): new
- Manifest.as_frozen_yaml(): new
- Manifest.as_yaml(): new
- Manifest.from_file() and from_data(): these factory methods are more
flexible to use and less reliant on global state
- Manifest.validate(): new
- ManifestImportFailed: new
- ManifestProject: semi-deprecated and will likely be removed later.
- Project: the constructor now takes a topdir argument
- Project.format() and its callers are removed. Use f-strings instead.
- Project.name_and_path: new
- Project.remote_name: new
- Project.sha() now captures stderr
- Remote: removed
West now requires Python 3.6 or later. Additionally, some features may rely on
Python dictionaries being insertion-ordered; this is only an implementation
detail in CPython 3.6, but it is part of the language specification as of
Python 3.7.
v0.6.3
******
This point release fixes an error in the behavior of the deprecated
``west.cmake`` module.
v0.6.2
******
This point release fixes an error in the behavior of ``west
update --fetch=smart``, introduced in v0.6.1.
All v0.6.1 users must upgrade.
v0.6.1
******
.. warning::
Do not use this point release. Make sure to use v0.6.2 instead.
The user-visible features in this point release are:
- The :ref:`west-update` command has a new ``--fetch``
command line flag and ``update.fetch`` :ref:`configuration option
<west-config>`. The default value, "smart", skips fetching SHAs and tags
which are available locally.
- Better and more consistent error-handling in the ``west diff``, ``west
status``, ``west forall``, and ``west update`` commands. Each of these
commands can operate on multiple projects; if a subprocess related to one
project fails, these commands now continue to operate on the rest of the
projects. All of them also now report a nonzero error code from the west
process if any of these subprocesses fails (this was previously not true of
``west forall`` in particular).
- The :ref:`west manifest <west-built-in-misc>` command also handles errors
better.
- The :ref:`west list <west-built-in-misc>` command now works even when the
projects are not cloned, as long as its format string only requires
information which can be read from the manifest file. It still fails if the
format string requires data stored in the project repository, e.g. if it
includes the ``{sha}`` format string key.
- Commands and options which operate on git revisions now accept abbreviated
SHAs. For example, ``west init --mr SHA_PREFIX`` now works. Previously, the
``--mr`` argument needed to be the entire 40 character SHA if it wasn't a
branch or a tag.
The developer-visible changes to the :ref:`west-apis` are:
- west.log.banner(): new
- west.log.small_banner(): new
- west.manifest.Manifest.get_projects(): new
- west.manifest.Project.is_cloned(): new
- west.commands.WestCommand instances can now access the parsed
Manifest object via a new self.manifest property during the
do_run() call. If read, it returns the Manifest object or
aborts the command if it could not be parsed.
- west.manifest.Project.git() now has a capture_stderr kwarg
v0.6.0
******
- No separate bootstrapper
In west v0.5.x, the program was split into two components, a bootstrapper and
a per-installation clone. See `Multiple Repository Management in the v1.14
documentation`_ for more details.
This is similar to how Google's Repo tool works, and lets west iterate quickly
at first. It caused confusion, however, and west is now stable enough to be
distributed entirely as one piece via PyPI.
From v0.6.x onwards, all of the core west commands and helper classes are
part of the west package distributed via PyPI. This eliminates complexity
and makes it possible to import west modules from anywhere in the system,
not just extension commands.
- The ``selfupdate`` command still exists for backwards compatibility, but
now simply exits after printing an error message.
- Manifest syntax changes
- A west manifest file's ``projects`` elements can now specify their fetch
URLs directly, like so:
.. code-block:: yaml
manifest:
projects:
- name: example-project-name
url: https://github.com/example/example-project
Project elements with ``url`` attributes set in this way may not also have
``remote`` attributes.
- Project names must be unique: this restriction is needed to support future
work, but was not possible in west v0.5.x because distinct projects may
have URLs with the same final pathname component, like so:
.. code-block:: yaml
manifest:
remotes:
- name: remote-1
url-base: https://github.com/remote-1
- name: remote-2
url-base: https://github.com/remote-2
projects:
- name: project
remote: remote-1
path: remote-1-project
- name: project
remote: remote-2
path: remote-2-project
These manifests can now be written with projects that use ``url``
instead of ``remote``, like so:
.. code-block:: yaml
manifest:
projects:
- name: remote-1-project
url: https://github.com/remote-1/project
- name: remote-2-project
url: https://github.com/remote-2/project
- The ``west list`` command now supports a ``{sha}`` format string key
- The default format string for ``west list`` was changed to ``"{name:12}
{path:28} {revision:40} {url}"``.
- The command ``west manifest --validate`` can now be run to load and validate
the current manifest file, among other error-handling fixes related to
manifest parsing.
- Incompatible API changes were made to west's APIs. Further changes are
expected until API stability is declared in west v1.0.
- The ``west.manifest.Project`` constructor's ``remote`` and ``defaults``
positional arguments are now kwargs. A new ``url`` kwarg was also added; if
given, the ``Project`` URL is set to that value, and the ``remote`` kwarg
is ignored.
- ``west.manifest.MANIFEST_SECTIONS`` was removed. There is only one section
now, namely ``manifest``. The *sections* kwargs in the
``west.manifest.Manifest`` factory methods and constructor were also
removed.
- The ``west.manifest.SpecialProject`` class was removed. Use
``west.manifest.ManifestProject`` instead.
v0.5.x
******
West v0.5.x is the first version used widely by the Zephyr Project as part of
its v1.14 Long-Term Support (LTS) release. The `west v0.5.x documentation`_ is
available as part of the Zephyr's v1.14 documentation.
West's main features in v0.5.x are:
- Multiple repository management using Git repositories, including self-update
of west itself
- Hierarchical configuration files
- Extension commands
Versions Before v0.5.x
**********************
Tags in the west repository before v0.5.x are prototypes which are of
historical interest only.
.. _Multiple Repository Management in the v1.14 documentation:
https://docs.zephyrproject.org/1.14.0/guides/west/repo-tool.html
.. _west v0.5.x documentation:
https://docs.zephyrproject.org/1.14.0/guides/west/index.html