The Zephyr Project includes a swiss-army knife command line tool named west. West’s built-in commands provide a multiple repository management system which allows you to manage and version several git repositories in a single file. Marti Bolivar, a member of the Zephyr Technical Steering Committee and Senior Software Engineer at Nordic Semiconductor, announces the release of West 0.9.0.

New features:
- West manifests now support Git Submodules in Projects. This allows you to clone Git submodules into a west project repository in addition to the project repository itself.
- West manifests now support Project Groups and Active Projects. 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 updateno longer updates inactive projects by default. It now supports a--group-filteroption which allows for one-time modifications to the set of enabled and disabled project groups.- Running
west list,west diff,west status, orwest forallwith 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--allarguments to include all projects, even inactive ones. west listnow supports a{groups}format string key in its--formatargument.
Bug fixes:
- The
west configcommand andwest.configurationAPI did not correctly store some configuration values, such as strings which contain commas. This has been fixed; see commit 36f3f91e 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.
API changes:
- added
west.manifest.Manifest.is_active() - added
west.manifest.Manifest.group_filter - added
submodulesattribute towest.manifest.Project, which has newly added typewest.manifest.Submodule
Other changes:
- The Manifest Imports feature now supports the terms
allowlistandblocklistinstead ofwhitelistandblacklist, respectively.The old terms are still supported for compatibility, but the documentation has been updated to use the new ones exclusively.
Marti presented a West overview at the Zephyr Mini-Summit last year in August. Check out the slides below.