0.41.1
Extension build
Build and image standalone extensions
avocado ext build and avocado ext image previously hard-errored when an extension wasn't listed in a runtime's extensions:, which made it impossible to build a shared extension on its own — for example, to verify it compiles for a PR before wiring it into a runtime. Shared-extension configs have no runtimes: block at all, so the membership check could never pass for them.
The membership check is now a warning in both commands, consistent with avocado ext install (which already installs any extension into the runtime-scoped sysroot without requiring config membership). A non-member build/image still runs against the runtime's sysroot tree, the real guardrail (the rootfs sysroot must be populated by a prior install) stays in place, and the warning keeps an absent or mistyped extension name visible.
Bug fixes
rootfs/initramfs/kernelpath sources resolve againstsrc_dir. Theirsource.pathfragments now resolve against the configuredsrc_dir— the same base that extensionsource: { type: path }sources use — instead of the config file's directory.avocado provisionlikewise reads the lock/state file and attaches the Docker volume keyed at the resolvedsrc_dirrather than the current directory. This fixes "one runtime per directory" layouts where a board'savocado.yamlpointssrc_dirat a parent (e.g.runtimes/<board>/avocado.yamlwithsrc_dir: ../..), which previously resolved these paths against the wrong base.- Security: bumped
quinn-prototo 0.11.15 to resolve RUSTSEC-2026-0185 — remote memory exhaustion from unbounded out-of-order stream reassembly, pulled in transitively throughreqwest's HTTP/3 support. Lockfile-only.