0.31.0
New features
TUI task progress display
avocado build and avocado install now render a real-time TUI showing parallel task progress. Each task displays its current status, and a peek line shows the latest output from the active task:
[1/4] sdk install ✓ done
[2/4] ext build app ● running — Installing packages...
[3/4] ext build bsp ○ waiting
[4/4] runtime build dev ○ waiting
The TUI is automatically disabled when stdout is not a terminal or when --no-tui is passed.
Parallel task scheduler
Build and install operations are now parallelized where dependencies allow. avocado install splits SDK, extension, and runtime installs into phases that run concurrently, significantly reducing total install time.
Pre-flight dependency checks
Before starting a build, the CLI now validates that all prerequisite steps (install, fetch) have been completed. Missing prerequisites produce a clear error message instead of a cryptic failure mid-build.
avocado connect init
Initialize a project for Peridio fleet management in a single command. Sets up extensions, creates a claim token, and writes the device config:
avocado connect init
Includes interactive project and cohort selection with optional --tags for claim token creation.
avocado deploy
Deploy built runtimes to Peridio with optional automatic publishing:
avocado deploy -r dev
avocado connect upload -r dev --deploy
The --deploy flag on connect upload triggers deployment immediately after a successful upload.
Bug fixes
- Fixed TUI renderer not shutting down on error, leaving the terminal in a corrupted state.
- Fixed race condition between the render loop and
print_abovecausing duplicated output. - Fixed pre-flight stamp validation panic when stamp files were missing.
- Fixed TUI peek line jitter when multiple tasks emitted output simultaneously.
- Fixed task failure output format: errors now display as
[ERROR]instead of bareError:. - Fixed
print_erroroutput being swallowed when the TUI was active. - Fixed race condition when building multiple path-sourced extensions concurrently.
- Fixed missing
tagsfield inCreateClaimTokenParamsforconnect init.