This release is a major expansion of bsp-registry-tools, evolving it from a basic BSP registry CLI into a more complete platform for registry composition, remote management, visualization, server APIs, cloud artifact workflows, HIL/LAVA testing, and shell completions.
Highlights
- Added named remote management with
bsp remotes - Added registry splitting via top-level
include - Added tree view with
bsp tree - Added HTTP server mode with REST + GraphQL
- Added artifact deploy/gather workflows for Azure Blob Storage and AWS S3
- Added HIL/LAVA test submission with Robot Framework support
- Added shell completions for Bash/Zsh/Fish/tcsh
- Introduced schema v2.0 for the BSP registry model
- Expanded Python API and internal architecture substantially
New features
Registry and remote management
- Added persistent named remotes:
bsp remotes add/remove/rm/rename/set-url/show- stored in
~/.config/bsp/remotes.yaml
- Added support for multiple remotes and multi-registry loading
- Added explicit remote filtering in commands like
listandtree - Added top-level
include:support to split registries across multiple YAML files - Added circular include detection and deep merge behavior for included files
Registry schema v2.0
- Migrated from a flat v1 registry model to a richer v2 model with:
devicesreleasesfeaturesframeworksdistrovendors- optional named
bsppresets
- Added support for:
- named environments
- vendor overrides
- SoC-vendor overrides
- vendor sub-releases
- framework-specific overrides
- preset-local
targets - preset-local
local_conf - testing and deployment configuration in presets
CLI enhancements
- Added new commands:
treeserverdeploygathertestremotescompletions
- Expanded
listto support:bsp list devicesbsp list releasesbsp list featuresbsp list distros
- Added component-based workflows:
bsp build --device <device> --release <release>bsp export --device <device> --release <release>bsp shell --device <device> --release <release>bsp deploy/gather/test --device ... --release ...
- Added new build options:
--feature--target--task--path--deploy--test--wait
Tree visualization
- Added
bsp treeto render registry hierarchy - Supports:
- default view
--compact--full
- Shows frameworks, distros, releases, devices, features, presets, and overrides
Server mode
- Added
bsp serverusing FastAPI - Exposes:
- REST API under
/api/v1/... - GraphQL API under
/graphql - Swagger UI under
/docs - ReDoc under
/redoc
- REST API under
Artifact deployment and retrieval
- Added
bsp deployto upload artifacts - Added
bsp gatherto download artifacts - Supports:
- Azure Blob Storage
- AWS S3
- Added deploy config support:
- provider
- container/bucket
- prefix templates
- archive bundling
- manifests
- dry-run mode
HIL / LAVA integration
- Added
bsp testcommand - Added optional
--testflow inbsp build - Added:
- LAVA REST client
- job builder with Jinja2 templates
- Robot Framework suite integration
- wait/polling support
- artifact URL overrides
Shell completions
- Added completion support for:
- Bash
- Zsh
- Fish
- tcsh
- Added dynamic completions for presets, devices, releases, features, and remotes
Documentation
- README significantly expanded with:
- new features
- new CLI reference
- shell completions
- server mode
- deployment/gather workflows
- HIL/LAVA testing
- schema v2 examples
- Added new docs:
docs/registry-v2.mddocs/registry-v1.mddocs/migration-v1-to-v2.mddocs/server.mddocs/artifact-deployment.md
Internal / Python API changes
- Added new modules/classes including:
resolver.py/V2Resolverremotes_manager.pyregistry_fetchermulti-remote supportdeployer.pygatherer.pylava_client.pylava_job_builder.pystorage/backends for Azure and AWSserver/package for REST and GraphQLcompletions.py
- Expanded public exports in
bsp/__init__.py BspManagernow supports:- multi-registry mode
- component-based build/export/shell
- deploy/gather/test flows
- tree/list helpers for new schema
Examples and test coverage
- Reworked
examples/to reflect the new v2 schema - Added:
- split registry examples
- Yocto and Isar layouts
- LAVA job template example
- vendor/device/distro/release examples
- Test suite expanded substantially for:
- v2 schema
- frameworks/distros
- vendor overrides
- feature overrides
- copy handling
- named environments
- multi-release presets
- LAVA config/env support
Dependency and packaging changes
- Core package now includes additional dependencies:
requestsjinja2
- Added optional extras:
serverazureawsdeploycompletions
- Packaging updated to include
bsp.server
CI changes
- Updated workflows to:
- install package in editable mode / via
pip install -e . - expand CLI integration coverage
- update expected example preset names in CLI tests
- install package in editable mode / via
Breaking / notable changes
- Registry format is now centered on schema v2.0
- README and examples now reflect v2 concepts rather than the older flat BSP-only schema
- CLI surface area expanded significantly; some workflows now prefer component-based or preset-based resolution
- Package version in
pyproject.tomlmoved from0.0.2.3to0.1.0.0in the diff, despite the compare target beingv1.0.0