West

Latest version: v1.1.0

Safety actively analyzes 626118 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

1.0

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'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

1.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.

0.14.0

For release notes, see:

https://docs.zephyrproject.org/latest/develop/west/release-notes.html#v0-14-0

0.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.

0.13.0

New features:

You can now associate arbitrary user data with the manifest repository itself in the manifest: self: userdata: value, like so:

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](https://docs.zephyrproject.org/latest/develop/west/west-apis.html#west-apis) module.

The west.Manifest.ManifestProject.__repr__ return value was fixed

API 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 [map](https://docs.zephyrproject.org/latest/develop/west/manifest.html#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

0.12.0

Page 1 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.