October 2026
1.0.0
CLIThe first stable release of the Avocado CLI. It follows 1.0.0-rc.5 and is the build to install. Download it from peridio.com/downloads or the GitHub release.
Upgrading from a release candidate
- Rebuild any multi-runtime OS bundle made with rc.4 or rc.5. Those
bundles could carry the wrong build id, which made avocadoctl roll the update
back with
AVOCADO_OS_BUILD_ID mismatch(see Fixes). - The first install and build after the upgrade do some work once. The rootfs, initramfs and other sysroots reinstall once, images rebuild once, and every initramfs build id changes once.
- On macOS, restart the avocado-vm once:
avocado vm stop && avocado vm start. A running VM keeps the old settings until it restarts. cli_requirement: "=1.0.0"now matches only 1.0.0, not the release candidates.
New
- Add-on feeds by name. A
distro.feedsentry thatrepos:does not define names an add-on the distro feed publishes for the target, such asdistro.feeds: [ros2-jazzy], and needs no URL. It enables both the target half and the SDK half off the distro feed's settings. The CLI checks the name against what the target publishes before anything is locked, and suggests the nearest published name if it does not exist. See Package feeds. boot_configand stock device-tree overlays. An extension can listboot_configlines (key=value, such asdtparam=i2c_arm=on) for settings an overlay source cannot express, and adevice_tree_overlaysentry may omitsrcto name an overlay the BSP already ships. Both can be scoped to one board withtarget-<name>:. A board that cannot deliver a declared setting fails the build at the start, naming what it does support. See Device tree overlays.avocado config validateandavocado config schema.validatechecks an avocado.yaml without building and reports every schema violation, loader error and ignored key.schemaprints the JSON Schema the CLI uses.- Warnings for avocado.yaml keys the CLI ignores, with a "did you mean". A new project's avocado.yaml points editors at the schema, so they flag the same keys.
kernel.cmdline_extrareaches the kernel on FIT machines. It is written into the signed boot FIT, and setting it requiressigning.fit_keyorsigning.fit_unsigned.- Git works on
/opt/srcin a linked git worktree inside the SDK container. avocado provision --listshows each profile's inputs and how to pass them with--env.- SBOMs.
avocado connect uploadsends one SBOM per uploaded image;--no-sbomskips it, replacingAVOCADO_UPLOAD_NO_SBOM=1.avocado connect runtimes listshows each runtime's SBOM state.
Changed
- New projects use the 2026 feed.
avocado initdefaults torelease: 2026on channeledgeand theavocadolinux/sdk:2026image. - Target package scriptlets run in OE's offline-install environment, so
images carry what an OE build of the same packages has, and
depmodruns after the rootfs and initramfs installs. - Builds through the avocado-vm on macOS are much faster. On one ROS 2
project,
avocado installwent from 23 to 5 minutes. - Install and build steps reuse one session container per command. Set
AVOCADO_NO_SESSION_CONTAINER=1to turn this off. buildanddeploywarn when a plainavocado deploywill be rejected. In a Connect project whoseserver_keydiffers from the signing key, the image trusts the Connect server key for updates, so a locally signed deploy is refused on the device.buildnow says so and points toavocado deploy --connect-sign, or to settingserver_keyto the signing key's own public key for a sideload-capable image. A Connect project with no signing key (Level 0) gets an info line instead.
Fixes
- OS updates from projects with two or more runtimes no longer roll back. Image stamps are now per runtime, and the bundle's build id comes from the image it ships. Regression in rc.4.
- An exact version pin in avocado.yaml wins over a stale lock entry, and parallel extension installs no longer revert each other's lock entries.
avocado build -r <runtime>works right after a plainavocado installon a project with more than one runtime, and an empty extension sysroot is reinstalled instead of shipped as an empty image.- Files dropped from an overlay are removed from the image, and overlays no longer strip setuid and setgid bits from package files.
- Images no longer enable the bare
getty@.servicetemplate. - Rootfs verity. Turning it off no longer breaks i.MX builds, and turning it on with no initramfs fails the build instead of booting unverified.
- Commands report failure. A failed
sdk runcommand exits non-zero,provisionfails when the SD card write is not confirmed, anddeployno longer hangs on a dropped link or reports a stale success. - The locked feed snapshot is used everywhere, by
sdk dnf,sdk run,sdk compile,ext buildandbuild, as it already was byinstall. - A project that switches to Connect Level 0 no longer ships its old trust
anchor. A
root.jsonfrom an earlier signed build stayed in the var image, so the device trusted that key instead of the one Connect delivers at claim time, andconnect uploadsent the earlier build's content delegation. Changingconnect.orgorconnect.server_keynow rebuilds the runtime. - Build hooks get the kernel the lock pins.
AVOCADO_KERNEL_IMAGEandavocado kernel imageused whichever staged kernel sorted first, so after a kernel pin moved, a hook such as a UKI rebuild could package an old kernel whose modules the rootfs does not carry. Hooks also getAVOCADO_KERNEL_VERSION. A build now fails if the pinned kernel is not staged while others are. save,load,updateandfetchrun through the avocado-vm on macOS. They reached the local Docker daemon instead, sosavearchived an empty volume,loadfilled one no build used,fetchfailed, andupdatereported success while the nextavocado installskipped dnf.loadalso restores file owners, hardlinks and special files as saved.- Feeds under the avocado-vm.
repos:feeds and loopback feed URLs work on macOS, and the per-run feeds directory, which can hold feed passwords, is removed when the CLI exits. - Smaller fixes.
permissions:group membership and GIDs,clean -fon a volume that is already gone, git extension refs that are tags or commits, PREEMPT_RT kernel pins, erofs block size on the Pi 5, extensionmodprobeentries, projects withsrc_dir, and a kernelcompile:section reached through a runtime's namedkernel:reference. - Security.
quinn-proto,rustls,rustls-webpkiandwebpki-root-certsbumped for RUSTSEC advisories.
The full record is in the CHANGELOG.