Lines Matching +full:west +full:- +full:commands
1 .. _west-release-notes:
3 West Release Notes
11 - ``west status`` now only prints output for projects which have a nonempty
16 - The manifest file parser was incorrectly allowing project names which contain
22 relative to its remote ``url-base:``, use ``repo-path:``. See
23 :ref:`west-manifests-projects` for examples.
25 - The changes made in west v0.10.1 to the ``west init --manifest-rev`` option
30 - The :envvar:`WEST_CONFIG_LOCAL` environment variable now correctly
31 overrides the default location, :file:`<workspace topdir>/.west/config`.
33 - ``west update --fetch=smart`` (``smart`` is the default) now correctly skips
40 - The fix for issue #522 mentioned above introduces a new restriction. The
41 ``west init --manifest-rev`` option value, if given, must now be either a
42 branch or a tag. In particular, "pseudo-branches" like GitHub's
44 request can no longer be passed to ``--manifest-rev``. Users must now fetch
45 and check out such revisions manually after running ``west init``.
47 :ref:`API <west-apis>` changes:
49 - ``west.manifest.Manifest.get_projects()`` avoids incorrect results in
52 - ``west.manifest.Project.sha()`` now works correctly for tag revisions.
55 .. _lightweight tags: https://git-scm.com/book/en/v2/Git-Basics-Tagging
56 .. _issue #522: https://github.com/zephyrproject-rtos/west/issues/522
57 .. _issue #523: https://github.com/zephyrproject-rtos/west/issues/523
64 - ``west update`` now supports ``--narrow``, ``--name-cache``, and
65 ``--path-cache`` options. These can be influenced by the ``update.narrow``,
66 ``update.name-cache``, and ``update.path-cache`` :ref:`west-config` options.
68 - ``west update`` now supports a ``--fetch-opt`` option that will be passed to
74 - ``west update`` now synchronizes Git submodules in projects by default. This
77 ``update.sync-submodules`` configuration option to ``false``.
81 - the :ref:`west-apis-manifest` module has fixed docstrings for the Project
89 - The :ref:`west-init` command's ``--manifest-rev`` (``--mr``) option no longer
100 - The ``name`` key in a project's :ref:`submodules list
101 <west-manifest-submodules>` is now optional.
105 - West now checks that the manifest schema version is one of the explicitly
106 allowed vlaues documented in :ref:`west-manifest-schema-version`. The old
107 behavior was just to check that the schema version was newer than the west
113 - A manifest file's ``group-filter`` is now propagated through an ``import``.
114 This is a change from how west v0.9.x handled this. In west v0.9.x, only the
115 top level manifest file's ``group-filter`` had any effect; the group filter
118 Starting with west v0.10.0, the group filter lists from imported manifests
119 are also imported. For details, see :ref:`west-group-filter-imports`.
124 :ref:`west-manifest-schema-version` for more information on schema versions.
126 See `west pull request #482
127 <https://github.com/zephyrproject-rtos/west/pull/482>`_ for the motivation
135 - Commands like ``west manifest --resolve`` now correctly include group and
140 - West now warns if you combine ``import`` with ``group-filter``. Semantics for
149 The ``west config`` fix described below comes at a cost: any comments or
151 configuration option via that command or the ``west.configuration`` API.
155 Combining the ``group-filter`` feature introduced in this release with
156 manifest imports is discouraged. The resulting behavior has changed in west
161 - West manifests now support :ref:`west-manifest-submodules`. This allows you
163 <https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_ into a west project
166 - West manifests now support :ref:`west-manifest-groups`. Project groups can be
168 will be acted upon by the following commands: ``west update``, ``west list``,
169 ``west diff``, ``west status``, ``west forall``.
171 - ``west update`` no longer updates inactive projects by default. It now
172 supports a ``--group-filter`` option which allows for one-time modifications
175 - Running ``west list``, ``west diff``, ``west status``, or ``west forall``
180 These commands also now support ``--all`` arguments to include all
183 - ``west list`` now supports a ``{groups}`` format string key in its
184 ``--format`` argument.
188 - The ``west config`` command and ``west.configuration`` API did not correctly
191 <https://github.com/zephyrproject-rtos/west/commit/36f3f91e270782fb05f6da13800f433a9c48f130>`_
194 - A manifest file with an empty ``manifest: self: path:`` value is invalid, but
195 west used to let it pass silently. West now rejects such manifests.
197 - A bug affecting the behavior of the ``west init -l .`` command was fixed; see
198 `issue #435 <https://github.com/zephyrproject-rtos/west/issues/435>`_.
200 :ref:`API <west-apis>` changes:
202 - added ``west.manifest.Manifest.is_active()``
203 - added ``west.manifest.Manifest.group_filter``
204 - added ``submodules`` attribute to ``west.manifest.Project``, which has
205 newly added type ``west.manifest.Submodule``
209 - The :ref:`west-manifest-import` feature now supports the terms ``allowlist``
219 for a ``path-prefix:`` key in an ``import:`` mapping, along with some other
222 - Manifest import mappings now support a ``path-prefix:`` key, which places
224 See :ref:`west-manifest-ex3.4` for an example.
225 - The west command line application can now also be run using ``python3 -m
226 west``. This makes it easier to run west under a particular Python
228 - :ref:`west manifest --path <west-manifest-path>` prints the absolute path to
229 west.yml
230 - ``west init`` now supports an ``--mf foo.yml`` option, which initializes the
231 workspace using :file:`foo.yml` instead of :file:`west.yml`.
232 - ``west list`` now prints the manifest repository's path using the
233 ``manifest.path`` :ref:`configuration option <west-config>`, which may differ
235 still available, but requires passing a new ``--manifest-path-from-yaml``
237 - Various Python API changes; see :ref:`west-apis` for details.
244 - Fix an error where a failed import could leave the workspace in an unusable
245 state (see [PR #415](https://github.com/zephyrproject-rtos/west/pull/415) for
253 - Filter out duplicate extension commands brought in by manifest imports
254 - Fix ``west.Manifest.get_projects()`` when finding the manifest repository by
262 - ``west update --stats`` now prints timing for operations which invoke a
263 subprocess, time spent in west's Python process for each project, and total
265 - ``west topdir`` always prints a POSIX style path
266 - minor console output changes
271 The main user-visible feature in west 0.7 is the :ref:`west-manifest-import`
272 feature. This allows users to load west manifest data from multiple different
275 Additional user-visible changes:
277 - The idea of a "west installation" has been renamed to "west workspace" in
278 this documentation and in the west API documentation. The new term seems to
280 - West manifests now support a :ref:`schema version
281 <west-manifest-schema-version>`.
282 - The "west config" command can now be run outside of a workspace, e.g.
283 to run ``west config --global section.key value`` to set a configuration
285 - There is a new :ref:`west topdir <west-built-in-misc>` command, which
286 prints the root directory of the current west workspace.
287 - The ``west -vv init`` command now prints the git operations being performed,
289 - The restriction that no project can be named "manifest" is now enforced; the
291 such in commands like ``west list manifest``, instead of ``west list
292 path-to-manifest-repository`` being the only way to say that
293 - It's no longer an error if there is no project named "zephyr". This is
294 part of an effort to make west generally usable for non-Zephyr use cases.
295 - Various bug fixes.
297 The developer-visible changes to the :ref:`west-apis` are:
299 - west.build and west.cmake: deprecated; this is Zephyr-specific functionality
300 and should never have been part of west. Since Zephyr v1.14 LTS relies on it,
303 - west.commands:
305 - WestCommand.requires_installation: deprecated; use requires_workspace instead
306 - WestCommand.requires_workspace: new
307 - WestCommand.has_manifest: new
308 - WestCommand.manifest: this is now settable
309 - west.configuration: callers can now identify the workspace directory
311 - west.log:
313 - msg(): new
314 - west.manifest:
316 - The module now uses the standard logging module instead of west.log
317 - QUAL_REFS_WEST: new
318 - SCHEMA_VERSION: new
319 - Defaults: removed
320 - Manifest.as_dict(): new
321 - Manifest.as_frozen_yaml(): new
322 - Manifest.as_yaml(): new
323 - Manifest.from_file() and from_data(): these factory methods are more
325 - Manifest.validate(): new
326 - ManifestImportFailed: new
327 - ManifestProject: semi-deprecated and will likely be removed later.
328 - Project: the constructor now takes a topdir argument
329 - Project.format() and its callers are removed. Use f-strings instead.
330 - Project.name_and_path: new
331 - Project.remote_name: new
332 - Project.sha() now captures stderr
333 - Remote: removed
335 West now requires Python 3.6 or later. Additionally, some features may rely on
336 Python dictionaries being insertion-ordered; this is only an implementation
344 ``west.cmake`` module.
349 This point release fixes an error in the behavior of ``west
350 update --fetch=smart``, introduced in v0.6.1.
361 The user-visible features in this point release are:
363 - The :ref:`west-update` command has a new ``--fetch``
365 <west-config>`. The default value, "smart", skips fetching SHAs and tags
367 - Better and more consistent error-handling in the ``west diff``, ``west
368 status``, ``west forall``, and ``west update`` commands. Each of these
369 commands can operate on multiple projects; if a subprocess related to one
370 project fails, these commands now continue to operate on the rest of the
371 projects. All of them also now report a nonzero error code from the west
373 ``west forall`` in particular).
374 - The :ref:`west manifest <west-built-in-misc>` command also handles errors
376 - The :ref:`west list <west-built-in-misc>` command now works even when the
381 - Commands and options which operate on git revisions now accept abbreviated
382 SHAs. For example, ``west init --mr SHA_PREFIX`` now works. Previously, the
383 ``--mr`` argument needed to be the entire 40 character SHA if it wasn't a
386 The developer-visible changes to the :ref:`west-apis` are:
388 - west.log.banner(): new
389 - west.log.small_banner(): new
390 - west.manifest.Manifest.get_projects(): new
391 - west.manifest.Project.is_cloned(): new
392 - west.commands.WestCommand instances can now access the parsed
396 - west.manifest.Project.git() now has a capture_stderr kwarg
402 - No separate bootstrapper
404 In west v0.5.x, the program was split into two components, a bootstrapper and
405 a per-installation clone. See `Multiple Repository Management in the v1.14
408 This is similar to how Google's Repo tool works, and lets west iterate quickly
409 at first. It caused confusion, however, and west is now stable enough to be
412 From v0.6.x onwards, all of the core west commands and helper classes are
413 part of the west package distributed via PyPI. This eliminates complexity
414 and makes it possible to import west modules from anywhere in the system,
415 not just extension commands.
416 - The ``selfupdate`` command still exists for backwards compatibility, but
418 - Manifest syntax changes
420 - A west manifest file's ``projects`` elements can now specify their fetch
423 .. code-block:: yaml
427 - name: example-project-name
428 url: https://github.com/example/example-project
432 - Project names must be unique: this restriction is needed to support future
433 work, but was not possible in west v0.5.x because distinct projects may
436 .. code-block:: yaml
440 - name: remote-1
441 url-base: https://github.com/remote-1
442 - name: remote-2
443 url-base: https://github.com/remote-2
445 - name: project
446 remote: remote-1
447 path: remote-1-project
448 - name: project
449 remote: remote-2
450 path: remote-2-project
455 .. code-block:: yaml
459 - name: remote-1-project
460 url: https://github.com/remote-1/project
461 - name: remote-2-project
462 url: https://github.com/remote-2/project
464 - The ``west list`` command now supports a ``{sha}`` format string key
466 - The default format string for ``west list`` was changed to ``"{name:12}
469 - The command ``west manifest --validate`` can now be run to load and validate
470 the current manifest file, among other error-handling fixes related to
473 - Incompatible API changes were made to west's APIs. Further changes are
474 expected until API stability is declared in west v1.0.
476 - The ``west.manifest.Project`` constructor's ``remote`` and ``defaults``
481 - ``west.manifest.MANIFEST_SECTIONS`` was removed. There is only one section
483 ``west.manifest.Manifest`` factory methods and constructor were also
486 - The ``west.manifest.SpecialProject`` class was removed. Use
487 ``west.manifest.ManifestProject`` instead.
493 West v0.5.x is the first version used widely by the Zephyr Project as part of
494 its v1.14 Long-Term Support (LTS) release. The `west v0.5.x documentation`_ is
497 West's main features in v0.5.x are:
499 - Multiple repository management using Git repositories, including self-update
500 of west itself
501 - Hierarchical configuration files
502 - Extension commands
507 Tags in the west repository before v0.5.x are prototypes which are of
511 https://docs.zephyrproject.org/1.14.0/guides/west/repo-tool.html
514 https://docs.zephyrproject.org/1.14.0/guides/west/index.html