Releases: zephyrproject-rtos/west
v1.4.0
Major changes
- Allow appending data to configuration strings #768
To append to a value for<name>
, type:west config -a <name> <value>
- Add
--untracked
argument option towest manifest
to display untracked files and directories #786
Runwest manifest --untracked
in a workspace to print all files and directories that are not tracked or managed by west. - Add
--inactive
argument option towest list
to support printing inactive projects #794 - Support
--active-only
argument option for the--resolve
and--freeze
manifest commands #808
Other changes
- Turn warnings into errors when running tests in CI #760
- Introduce
ruff
linter #762, #763, #764, #765, #766, #770 - Convert custom
argparse
action to a mutually exclusive group for the configuration command's
local/global/system argument #769 - Print an error when reading a missing configuration value #778
- Added a test for built-in or extension commands with duplicate names #780
- Introduce OpenSSF/CodeQL/docker workflows and pin Github actions
#787, #788, #790, #791, #800, #803 , #804 - Run CodeCov in CI and report coverage #805, #810, #812
- Cancel ongoing CI runs when updating a PR #811
- Use YAML C-loader when available #806
- Drop
setuptools
dependency #814
Bug fixes
v1.4.0 Alpha1
Major changes
- Allow appending data to configuration strings #768
To append to a value for<name>
, type:west config -a <name> <value>
- Add
--untracked
argument option towest manifest
to display untracked files and directories #786
Runwest manifest --untracked
in a workspace to print all files and directories that are not tracked or managed by west. - Add
--inactive
argument option towest list
to support printing inactive projects #794 - Support
--active-only
argument option for the--resolve
and--freeze
manifest commands #808
Other changes
- Turn warnings into errors when running tests in CI #760
- Introduce
ruff
linter #762, #763, #764, #765, #766, #770 - Convert custom
argparse
action to a mutually exclusive group for the configuration command's
local/global/system argument #769 - Print an error when reading a missing configuration value #778
- Added a test for built-in or extension commands with duplicate names #780
- Introduce OpenSSF/CodeQL/docker workflows and pin Github actions
#787, #788, #790, #791, #800, #803 , #804 - Run CodeCov in CI and report coverage #805, #810, #812
- Cancel ongoing CI runs when updating a PR #811
- Use YAML C-loader when available #806
- Drop
setuptools
dependency #814
Bug fixes
v1.3.0
Major changes
- Added support for alias commands #716
Alias commands can be added using the configurationwest config alias.<name> "<command>"
- Changed to a
pyproject.toml
package format in accordance to PEP 621 #715
Other changes
- Add cache support for submodules #697
- Decode manifest files as UTF-8 by default #711
- Pass unknown arguments for
west diff
andwest status
to underlyinggit
commands #718 - Added
--manifest
argument towest diff
to allow comparing
the current workspace to the manifest revisions #719, #728 and #748 - Environment variables can be used with
west forall
#721
seewest help forall
for details - Added support for early argument
-q
to reduce verbosity #723 - Added docker compose testing infrastructure #733
- Automate Pypi releases from Github Actions #737
- Added
--clone-opt
argument towest init
to pass togit clone
#744 - Support python 3.13 and drop support for python 3.8 #752
- Prevent manifests from having projects in the
.west
directory #754 - Add NTFS workarounds and
--rename-delay
forwest init
#756 - Print a stack trace when calling
die
in debug-vvv
#757
Bug fixes
v1.3.0 Alpha4
Same as v1.3.0 Alpha3 with:
Other changes:
v1.3.0 Alpha3
Same as v1.3.0 Alpha2 with:
Other changes:
- Added
--clone-opt
argument towest init
to pass togit clone
#744
Bug fixes:
west diff --manifest
now compares tomanifest-rev
#748
v1.3.0 Alpha2
v1.3.0 Alpha1
Major changes
- Added support for alias commands #716
Alias commands can be added using the configurationwest config alias.<name> "<command>"
- Changed to a
pyproject.toml
package format in accordance to PEP 621 #715
Other changes
- Add cache support for submodules #697
- Decode manifest files as UTF-8 by default #711
- Pass unknown arguments for
west diff
andwest status
to underlyinggit
commands #718 - Added
--manifest
argument towest diff
to allow comparing
the current workspace to the manifest revisions #719 and #728 - Environment variables can be used with
west forall
#721
seewest help forall
for details - Added support for early argument
-q
to reduce verbosity #723 - Added docker compose testing infrastructure #733
- Automate Pypi releases from Github Actions #737
Bug fixes
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:west grep foo
For more details, run 'west help grep'.
Other changes:
-
The manifest file format now supports a 'description' field in each
'projects:' element. -
'west list --format' now accepts '{description}' in the format
string, which prints the project's 'description:' value. -
'west compare' now always prints information about
the manifest-rev branch
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.
v1.0.0
Major changes in this release:
-
The 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 9ba92b0 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 d9f00e2 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's uses global state,
which can make it awkward to use it as an API which multiple different python
modules may rely on. -
The west.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
v0.14.0
For release notes, see:
https://docs.zephyrproject.org/latest/develop/west/release-notes.html#v0-14-0