Yocto Blacksail 6.1 is now released. This is the new stable release of the Yocto Project and will be maintained until April 2027. Bootlin is a very active contributor to the Yocto Project, most notably with Antonin Godard being the official Yocto Project documentation maintainer, and Mathieu Dubois-Briand being a core member of the Yocto SWAT team, but also with other Bootlin engineers who use and deploy Yocto to create optimized and long-term maintainable Linux systems for the embedded devices of our customers. This 6.1 release was no exception, and we were again very active in this release cycle, with over 200 commits authored by Bootlin engineers.
Looking at our contributions more closely, the main areas of work have been:
- On openembedded-core, the core layer of the Yocto Project:
- Antonin Godard updated Sphinx-related Python recipes, improved the built-in configuration fragments (harmonizing their descriptions and adding a disk-space monitoring fragment), and fixed several issues in the
oe-depends-dotscript. He also removed references to inactivesources.openembedded.orgmirror URLs. - Benjamin Robin continued maintaining the sbom-cve-check recipes and vulnerability databases, enabling offline operation and excluding the database recipes from
rm_work. He also simplified the SPDX source handling, fixed package debug source information, improvedsstate-cache-management, and backported fixes for CVEs affectingglib-2.0andpython3. - João Marcos Costa cleaned up the U-Boot tools recipes, added and fixed Clang/LLVM toolchain support (including for OVMF and WebKitGTK on ARM), disabled problematic ptests on RISC-V, and simplified various recipe and class constructs using
bb.utils.filter. - Mathieu Dubois-Briand carried out a large number of recipe upgrades covering GStreamer, Python, Go, CMake and many other components. He also fixed
devtoolworkflows and added selftest coverage, improved QA checks related to hardcoded home paths, imported and fixed thelibfaketimerecipe, added fake-time support to reproducibility tests, and removed the obsoletelibclcrecipe. - Thomas Perrot fixed issues in build scripts and
oe-pkgdata-util, corrected a typo in the CVE check mapping configuration, and upgraded the OpenSBI recipe to version 1.9.
- Antonin Godard updated Sphinx-related Python recipes, improved the built-in configuration fragments (harmonizing their descriptions and adding a disk-space monitoring fragment), and fixed several issues in the
- On bitbake, the core task scheduler of the Yocto Project:
- Antonin Godard made various documentation improvements, enhanced the
setversions.pytooling, updated the instructions for installing bitbake-setup, and enabled the new disk-space monitoring fragment in the default registry. - João Marcos Costa fixed an unbound variable issue in the layer index REST API client.
- Thomas Perrot improved the Crate fetcher, notably by skipping yanked versions and reworking URL dispatch, and re-enabled the npm and npmsw fetchers with restored and extended test coverage.
- Antonin Godard made various documentation improvements, enhanced the
- On yocto-docs, the official Yocto Project documentation:
- Antonin Godard was active in his role of documentation maintainer, with a large number of changes: this included writing the 6.0 and 6.1 release notes and migration guides, documenting the removal of
cve-checkand the new SBOM CVE checking features, documenting new variables and classes, refreshing the WIC documentation, adding shared-state mirror and shared-state signing documentation, fixing broken links, converting diagrams to SVG, and updating the list of supported distributions.
- Antonin Godard was active in his role of documentation maintainer, with a large number of changes: this included writing the 6.0 and 6.1 release notes and migration guides, documenting the removal of
- On meta-openembedded, a community set of layers supporting many kinds of software packages:
- João Marcos Costa fixed a build-path QA issue in the
bpftracerecipe. - Kory Maincent changed the
libspdmrecipe to skip unsupported architectures instead of failing. - Thomas Bonnefille added support for a command-line property in the
fitimageclass.
- João Marcos Costa fixed a build-path QA issue in the
- On meta-yocto, the layer providing the Poky reference distribution, Mathieu Dubois-Briand updated the list of distributions tested by the sanity checks, removing Fedora 42 and refreshing the supported entries.
Below is a detailed breakdown of individual contributions:
- openembedded-core:
- Antonin Godard (11):
- mirrors: remove inactive sources.openembedded.org URLs
- python3-sphinx-argparse: update 0.5.2 -> 0.6.0
- python3-pygments: update 2.20.0 -> 2.21.0
- python3-sphinx-argparse: update 0.6.0 -> 0.6.1
- meta/conf/fragments: harmonize fragment summaries and descriptions
- lib/bbconfigbuild/configfragments.py: match Available and Enabled built-in fragment lists
- meta/conf/fragments/yocto/monitor-disk-space.conf: add fragment
- scripts/oe-depends-dot: fix dotfile argument type
- scripts/oe-depends-dot: remove custom argument checking
- scripts/oe-depends-dot: fix Fonud -> Found typo in warning
- scripts/oe-depends-dot: give the dotfile argument a sensible default
- Benjamin Robin (25):
- python3: add back Co-authored-by in CVE-2026-11972 patch
- glib-2.0: add back Signed-off-by in CVE-2026-58016 patch
- python3-sbom-cve-check: update to version 1.3.3
- sbom-cve-check-update-cvelist-native: update to version 2026-08-03
- sbom-cve-check-update-nvd-native: update to version 2026.08.03-000011
- spdx_common: simplify get_patched_src() implementation
- spdx_common: modify UNPACKDIR instead of WORKDIR in get_patched_src()
- spdx_common: In get_patched_src() ensure kernel dir name to be ${BP}
- package: Fix source info when PACKAGE_DEBUG_STATIC_SPLIT is set
- package: no longer modify paths in save_debugsources_info()
- sbom-cve-check-update-db: Exclude recipes from rm_work
- python3-sbom-cve-check: update to version 1.3.4
- sbom-cve-check: enable offline mode
- sstate-cache-management: check also SSTATE_DIR environment variable
- python3-sbom-cve-check: update to version 1.3.5
- python3-sbom-cve-check: Update to version 1.3.1
- sbom-cve-check-update-cvelist-native: Update source revision
- sbom-cve-check-update-nvd-native: Update source revision
- python3-spdx-python-model: update from version 0.0.5 to 0.0.6
- python3-sbom-cve-check: update to version 1.3.2
- sbom-cve-check-update-cvelist-native: update to version 2026-06-24
- sbom-cve-check-update-nvd-native: update to version 2026.06.24-000003
- glib-2.0: fix CVE-2026-58016
- python3: fix CVE-2026-11940
- python3: fix CVE-2026-11972
- João Marcos Costa (20):
- u-boot-tools: drop yaml in DT validation
- u-boot-tools: drop the hardlink workaround in do_compile
- ptest-packagelists.inc: disable zstd for RISCV64
- soc-family.inc: improve clarity at MACHINEOVERRIDES’s prepend
- meta: simplify conditional operations with bb.utils.filter
- insane: simplify conditional operations with bb.utils.filter
- vim: simplify PACKAGECONFIG’s default value
- ovmf: simplify PACKAGECONFIG’s default value
- ovmf: drop upstreamed BUILD_CFLAGS setting
- ovmf: add support for Clang toolchain
- nativesdk.bbclass: remove obsolete comment
- default-distrovars.inc: add missing spaces in append overrides
- ptest-packagelists.inc: disable glib-2.0 for RISCV64
- local.conf.sample.extended: update fortran example
- llvm-project-source.inc: fix string replacements in do_preconfigure
- llvm-project-source.inc: fix end of line in triple variable
- clang/llvm: add missing instance of Distro class in Linux.cpp
- common-clang.inc: fix undefined name in get_clang_arch
- clang_git.bb: remove dangling comment
- webkitgtk: allow usign clang to compile for arm target
- Mathieu Dubois-Briand (57):
- classes/insane: improve HOME checks exceptions
- sudo: Ignore hardcoded home paths in QA
- scripts: scriptutils: Use LicenseRef-RecipetoolTransient LICENSE while fetching
- devtool: standard: Fix file copy on finish –force
- devtool: standard: Remove unused variable
- oe-selftest: devtool: Add test for add/finish workflow
- libclc: remove recipe
- meta/meta-selftest: Remove more trailing whitespaces
- python3-maturin: upgrade 1.14.1 -> 1.15.0
- python3-imagesize: upgrade 2.0.0 -> 2.0.1
- libslirp: upgrade 4.9.3 -> 4.9.4
- cmake,cmake-native: upgrade 4.4.2 -> 4.4.3
- python3-cryptography: upgrade 50.0.0 -> 50.0.1
- python3-git: upgrade 3.1.59 -> 3.1.60
- python3-uv-build: upgrade 0.12.5 -> 0.12.6
- man-pages: upgrade 6.18 -> 6.19
- gst-examples: Show warnings in gtk-play
- orc: upgrade 0.4.42 -> 0.4.43
- python3-wcwidth: upgrade 0.8.2 -> 0.8.3
- appstream: upgrade 1.1.6 -> 1.2.0
- libgcrypt: upgrade 1.12.2 -> 1.12.3
- libksba: upgrade 1.8.0 -> 1.8.1
- python3-hypothesis: upgrade 6.165.10 -> 6.167.0
- re2c: upgrade 4.5.1 -> 4.6
- python3-pdm: upgrade 2.28.2 -> 2.29.0
- libgcrypt: fix upgrade 1.12.2 -> 1.12.3
- spirv-llvm-translator: upgrade 23.1.0 -> 23.1.1
- python3-vcs-versioning: upgrade 2.3.1 -> 2.3.2
- python3-setuptools-scm: upgrade 10.2.1 -> 10.2.2
- go: upgrade 1.27.0 -> 1.27.1
- go-binary-native: upgrade 1.27.0 -> 1.27.1
- sysstat: upgrade 12.7.9 -> 12.8.0
- nasm: update 3.01 -> 3.02
- python3-uv-build: upgrade 0.12.7 -> 0.12.8
- python3-uv-build: upgrade 0.12.8 -> 0.12.9
- mesa-demos: upgrade to latest revision
- gstreamer1.0: upgrade 1.28.6 -> 1.28.7
- gst-devtools: upgrade 1.28.6 -> 1.28.7
- gstreamer1.0-python: upgrade 1.28.6 -> 1.28.7
- gst-examples: upgrade 1.28.6 -> 1.28.7
- gstreamer1.0-plugins-ugly: upgrade 1.28.6 -> 1.28.7
- gstreamer1.0-plugins-bad: upgrade 1.28.6 -> 1.28.7
- gstreamer1.0-plugins-base: upgrade 1.28.6 -> 1.28.7
- gstreamer1.0-plugins-good: upgrade 1.28.6 -> 1.28.7
- gstreamer1.0-libav: upgrade 1.28.6 -> 1.28.7
- gstreamer1.0-rtsp-server: upgrade 1.28.6 -> 1.28.7
- gst-examples: fix patches using striplevel
- python3-meson-python: upgrade 0.20.0 -> 0.21.0
- python3-kirk: upgrade 4.1.0 -> 4.2.0
- repo: upgrade 2.66.1 -> 2.67
- python3-hypothesis: upgrade 6.167.0 -> 6.168.0
- dpkg: 1.23.7 -> 1.23.11
- libfaketime: Import recipe from meta-oe
- libfaketime: update 0.9.12 -> 0.9.13
- libfaketime: Fix builds on 32 bits platforms
- libfaketime: Fix build with clang 23
- oeqa/selftest/reproducible: Use a fake time during build
- Thomas Perrot (4):
- Antonin Godard (11):
- bitbake:
- Antonin Godard (11):
- doc/sphinx-static/theme_overrides.css: switch to a fixed width documentation
- doc/setversions.py: add –get-latest-branch argument
- doc/setversions.py: move arg parsing to main function
- doc/setversions.py: use older lts series to check tag existence
- doc/bitbake-user-manual-ref-variables: extend the MIRRORS documentation
- doc/bitbake-user-manual-ref-variables: document BB_CONSOLE_LOG’s persistence
- contrib/prserv/Dockerfile: remove non-existent codegen.py
- doc: bitbake-user-manual-metadata.rst: fix append example
- doc: bitbake-user-manual-environment-setup: use pip to install bitbake-setup
- default-registry: use core/yocto/monitor-disk-space fragment by default
- doc/bitbake-user-manual-metadata: move := section before ??=
- João Marcos Costa (1):
- Thomas Perrot (6):
- fetch2/crate: skip yanked versions when reading cargo index
- fetch2/crate: guard against empty version list
- fetch2/crate: move cmp_to_key import to module level
- fetch2/crate: replace instance method monkey-patching with URL dispatch
- fetch/{npm,npmsw}: re-enable fetchers now that checksums come from SRC_URI
- tests/fetch: restore and extend npm/npmsw test coverage
- Antonin Godard (11):
- yocto-docs:
- Antonin Godard (152):
- conf.py: add a :yocto_bug: role
- migration-guides/release-notes-6.0.rst: add known KVM issue
- migration-guides/migration-6.0.rst: document the CVE_PRODUCT behavior change
- tools/build-docs-container: add missing leap 16.0 in help message
- tools/build-docs-container: add CentOS 10 support
- ref-manual/system-requirements.rst: add CentOS 10 as a supported distro
- docs-wide: drop documentation for cve-check and variables
- ref-manual/variables.rst: document the SBOM_CVE_CHECK_SHOW_WARNINGS variable
- security-manual/vulnerabilities.rst: require Upstream-Status, not recommend
- security-manual/vulnerabilities.rst: refresh the document after cve-check removal
- migration-guides/migration-6.0.rst: add migration notes on cve-check removal
- migration-guides/release-notes-6.0.rst: cover recent changes
- migration-guides/release-notes-6.0.rst: add license changes
- migration-guides/release-notes-6.0.rst: update CVE fixes
- migration-guides/release-notes-6.0.rst: add recipe version changes
- migration-guides/migration-6.0.rst: mention python3-roman-numerals-py rename
- migration-guides/release-notes-6.0.rst: add contributors
- ref-manual/variables: IMAGE_TYPES: add new wicenv type
- migration-guides: add Blacksail release note templates
- ref-manual/variables.rst: link *MIRRORS definitions to the BitBake manual
- overview-manual/concepts: image-generation.png: convert to SVG
- overview-manual/concepts: sdk-generation.png: convert to SVG
- overview-manual/concepts: images.png: convert to SVG
- overview-manual/concepts: sdk.png: convert to SVG
- overview-manual/concepts: cross-development-toolchains.png: convert to SVG
- overview-manual/concepts: user-configuration.png: convert to SVG
- overview-manual/concepts: layer-input.png: convert to SVG
- overview-manual/concepts: source-input.png: convert to SVG
- overview-manual/concepts: package-feeds.png: convert to SVG
- overview-manual/svg: remove white backgrounds
- Document shared state signing
- host_packages_scripts/ubuntu_docs.sh: remove python3-saneyaml
- tools/build-docs-container: add debian 11
- migration-guides/migration-6.0.rst: fix wks file move note
- dev-manual/wic.rst: replace deprecated wks directories
- ref-manual/classes.rst: replace deprecated wks directory
- ref-manual/kickstart.rst: replace deprecated wks directory
- bsp-guide/bsp.rst: fix raspberry layer content example
- dev-manual/wic.rst: remove note on wic-tools
- dev-manual/wic.rst: remove bullet point on host requirements
- dev-manual/wic.rst: add where to set IMAGE_FSTYPES/WKS_FILE[S] from
- dev-manual/wic.rst: add a requirement to use wic from the build system
- dev-manual/wic.rst: convert code snippet to code-blocks
- ref-manual/kickstart.rst: remove note on available commands
- ref-manual/kickstart.rst: document the include directive
- tools/update-documentation-conf: remove
- ref-manual/variables.rst: document the USERMOD_PARAMS variable
- migration-guides/migration-6.1.rst: add USERMOD_PARAMS note
- ref-manual/variables.rst: add deprecation note for GROUPMEMS_PARAM
- ref-manual/classes.rst: document python_uv_build
- migration-guides/migration-6.1.rst: add note on oe.utils.*_distro_features() removal
- ref-manual/variables.rst: document the UBOOT_FIT_CONF_DESC variable
- migration-guides/migration/release-notes-6.1.rst: cover recent changes
- ref-manual/system-requirements.rst: drop Fedora 42 support
- tools/build-docs-container: drop Fedora 42 support
- ref-manual/variables.rst: document the CCACHE_NATIVE_RECIPES_ALLOWED variable
- ref-manual/variables.rst: document missing CONFLICT_*_FEATURES variables
- ref-manual/variables.rst: document the LOCALE_PATHS variable
- ref-manual/variables.rst: document the TEST_SERIALCONTROL_CONNECT_TIMEOUT variable
- ref-manual/variables.rst: document the TEST_SERIALCONTROL_PS1 variable
- ref-manual/variables.rst: document the IMAGE_*_DEBUGFS variables
- ref-manual/variables.rst: document the LOCALE_UTF8_IS_DEFAULT variable
- tools/check-glossaries: return 1 in case of failure
- tools/check-glossaries: fix default doc path
- Add a pre-commit hook to check the glossaries
- ref-manual: fix some repeated strings
- brief-yoctoprojectqs/index.rst: refresh bitbake-setup outputs
- migration-guides/release-notes-3.4.2.rst: fix a broken link
- docs-wide: fix broken path links
- ref-manual/classes.rst: replace obsolete mailing list thread
- ref-manual/images.rst: update obsolete VMWare links
- migration-guides/release-notes-5.0.rst: remove broken link
- docs-wide: fix various broken links
- ref-manual/variables.rst: remove flags from variable names
- tools/gen-cve-release-notes: add argparse support
- conf.py: add linkcheck builder exclusions for frequent links
- migration-guides/migration-3.4.rst: replace rlbl broken link
- migration-guides: replace broken link with archive links
- kernel-dev/common.rst: remove taskhash mismatch note
- ref-manual/faq.rst: limit systemd as default question to Poky
- index.rst: add introduction paragraphs
- index.rst: move the contributor guide out of the Manuals section
- index.rst: move the “Overview and Concepts” manual in the “Introduction and Overview” section
- index.rst: move external links to the bottom of the intro section
- overview-manual: move the intro content in the index
- bsp-guide: rename to bsp-manual
- contributor-guide/identify-component.rst: use the same tense as other section
- bitbake.rst: rename section to “BitBake User Manual”
- index.rst: move release notes in their own section
- dev-manual: add a shared state mirror setup document
- ref-manual/variables.rst: SSTATE_MIRRORS: remove uninative mapping note
- ref-manual/variables.rst: SSTATE_MIRRORS: remove directory structure note
- ref-manual/variables.rst: SSTATE_MIRRORS: move password note to shared state mirror document
- ref-manual/variables.rst: SSTATE_MIRRORS: link to the new sstate-mirrors-setup doc
- sdk-manual/appendix-customizing-standard.rst: use code block for bitbake assignment
- sdk-manual/intro.rst: remove a confusing sentence
- sdk-manual/intro.rst: link to sysroot term
- sdk-manual: rename the section to remove “extensible”
- sdk-manual/intro.rst: detail differences between standard and extensible sysroots
- docs-wide: remove CROPS references
- ref-manual/variables.rst: document the QB_DEFAULT_BIOS variable
- brief-yoctoprojectqs/index.rst: use pip to install bitbake-setup
- brief-yoctoprojectqs/index.rst: fix a replacement typo
- ref-manual: add uboot-extlinux-config class documentation
- index.rst: show the intro paragraph only for html-based docs
- ref-manual/variables.rst: document the PACKAGE_NO_LOCALE variable
- ref-manual/variables.rst: document the PACKAGEFUNCS variable
- Makefile: remove unused O variable
- docs-wide: fix USERMOD_PARAMS -> USERMOD_PARAM
- conf.py: move and sort imports
- conf.py: use importlib to check that sphinx_rtd_theme exists
- conf.py: reorganize options
- ref-manual/variables.rst: remove CVSDIR
- ref-manual/variables.rst: drop documentation for FIT_KERNEL_COMP_ALG_EXTENSION
- security-manual/securing-images.rst: remove “your” in “your OE-Core”
- bsp-manual/bsp.rst: fix a “local.conf” -> “layer.conf” typo
- ref-manual/structure.rst: fix a “local.conf” -> “layer.conf” typo
- ref-manual/varlocality.rst: mention built-in fragments for distro/machine
- ref-manual/varlocality.rst: remove BBFILES from local configuration assignments
- ref-manual/features.rst: add tools-profile
- ref-manual/variables.rst: BBMULTICONFIG: fix a typo
- dev-manual/poky-manual-setup.rst: suggest use of fragment instead of assignments
- ref-manual/variables.rst: fix local.conf.extended obsolete path
- ref-manual/variables.rst: mention built-in fragments for MACHINE/DISTRO
- ref-manual/terms.rst: Configuration File: precise machine conf files location
- ref-manual/terms.rst: Configuration File: split paragraph in a list
- ref-manual/terms.rst: Configuration File: use a link to local.conf
- ref-manual/classes.rst: buildstats: remove local.conf default value
- dev-manual/wic.rst: remove local.conf mentions
- ref-manual/variables.rst: GCCVERSION: replace local.conf and mention recipe existence
- docs-wide: advise setting global changes in the proper place
- docs-wide: replace hardcoded conf paths to structure.rst refs
- ref-manual/fragments.rst: document core/yocto/monitor-disk-space
- ref-manual/system-requirements.rst: refresh our supported distro list
- migration-guides/release-notes-6.{0,1}.rst: update path to check_sanity_everybuild
- ref-manual/classes.rst: linux-kernel-base: drop the class documentation
- ref-manual,dev-manual: remove srpm mode archiver class mentions
- migration-guides/migration-6.1.rst: add tip to use convert-spdx-licenses.py
- ref-manual/variables.rst: document the KERNEL_TOOLCHAIN variable
- ref-manual/variables.rst: document the FIT_OS variable
- ref-manual/variables.rst: document the CARGO_PROFILE variable
- ref-manual/features.rst: add section for SDK features
- ref-manual/variables.rst: drop documentation for SDK_TOOLCHAIN_LANGS
- ref-manual/classes.rst: document the python_pbr class
- ref-manual/variables.rst: document RETAIN_IGNORE_TASKS
- ref-manual/variables.rst: document the KERNEL_MODULE_INSTALL_PREFIX variable
- migration-guides/migration/migration-6.1.rst: add note on moved class functions
- migration-guides/migration/release-notes-6.1.rst: cover recent changes
- migration-guides/release-notes-6.1.rst: add license updates
- migration-guides/release-notes-6.1.rst: add CVE fixes
- migration-guides/release-notes-6.1.rst: add recipe upgrades
- migration-guides/release-notes-6.1.rst: add contributors
- Antonin Godard (152):
- meta-openembedded:
- meta-yocto:
