We are proud to announce the release of Yocto Project 6.0 “Wrynose”, our new Long Term Support (LTS) release series which will be supported until April 2030.
With the EU Cyber Resilience Act (CRA) coming in to force over the next 18 months, many organisations are focusing on compliance and their security posture. With a fresh 4 years of support, improved SBOM and CVE tracking features, and more secure defaults, we know that upgrading to Wrynose will be a priority for many of our users. As usual there is a detailed migration guide in our documentation.
One of the biggest strengths in the Yocto Project is our community, which spans across different interest areas, companies, industries and continents. Since our previous release, 5.3 “Whinlatter”, over 240 contributors from this community have been responsible for over 4000 commits to the core Yocto Project and OpenEmbedded repositories – we couldn’t have made this release without them! Whether you have questions about using our new release, or contributions you’d like to make during our next development cycle, you’re very welcome to join our community – see our Get Involved page for details on where to find us.
New features and upgrades in Wrynose include:
- Linux kernel 6.18 LTS.
- Various toolchain updates including GCC 15.2, glibc 2.43, LLVM 22.1, Go 1.26 and Rust 1.94.
- Over 300 other recipe upgrades.
- Support for building on Fedora 43, OpenSUSE Leap 16.0 and Ubuntu 26.04.
- The
sbom-cve-checktool has been integrated to replace thecve-checkbbclass. - Significant improvements to SBOM generation, including initial support for PURLs and concluded licenses in SPDX 3.0 output.
- Several improvements to the new
bitbake-setuptool, including sharing sstate between builds by default, support for upgrading layers while keeping local changes, clearer terminolgy & configuration files, and better IDE integration for VSCode. - Systemd is now the default init system, this change affects nodistro builds and any distros not derived from Poky. The default init system for Poky remains sysvinit.
- TLS 1.0 & 1.1 support is disabled by default in openssl.
Some changes may be needed in your layers to work with our Wrynose release, these are mostly minor. The most significant changes needed are:
- Distro layers and local configuration will need to be updated to handle removal of
DISTRO_FEATURES_BACKFILL&DISTRO_FEATURES_BACKFILL_CONSIDERED. The new usage ofDISTRO_FEATURES_DEFAULTS&DISTRO_FEATURES_OPTED_OUTis simpler and clearer. - Default distro configuration has mostly been aligned between nodistro (the default settings in openembedded-core) and poky. Some defaults, including init system (see above) have been updated.
- Systemd’s sysvinit compatibility features have been disabled as they are no longer maintained upstream.
- The
npm://andnpmsw://fetchers have been disabled due to security concerns and lack of maintenance. - The
bzr://,cvs://andosc://fetchers have been deleted as they are obsolete. - Support for SPDX 2.x format SBOM output has been dropped, if this format is still needed then it is possible to convert from SPDX 3.x format.
For more info, see our draft release notes and migration guide for the upcoming release.
Upgrading from Yocto Project 5.0 “Scarthgap”
If you’re coming from our previous LTS release, there are several changes we’ve made over the last two years which you should be aware of. Here are some highlights:
- We introduced the
bitbake-setuptool to fetch layers and setup build directories. This allowed us to deprecate the poky combo-layer repository in favour of users directly usingthe openembedded-core, BitBake and meta-yoctorepositories in all cases. - We added support for BitBake configuration fragments which can be managed with the new
bitbake-config-buildcommand. This allows better composition and reuse of build configuration, allowing you to avoid copy-pasting between local.conf files in most cases. - The
debug-tweaksimage feature has been decomposed intoallow-empty-password,allow-root-loginandempty-root-password. All three can be enabled together via the newroot-login-with-empty-passwordconfiguration fragment. - SBOMs are created in SPDX 3 format by default.
- We made it easier to build with Clang by setting
PREFERRED_TOOLCHAIN_TARGETand related variables. - We introduced
UNPACKDIRto tidy up each recipe’s work directory and improve reproducibility. - We added a
ukibbclass for building Unified Kernel Images. - Host system requirements have increased to 32 GiB RAM and 140 GiB disk space, largely due to LLVM compilation requirements.
For more details, see our release notes and migration guides for the intervening releases:
- YP 5.1 “Styhead” release notes and migration guide
- YP 5.2 “Walnascar” release notes and migration guide
- YP 5.3 “Whinlatter” release notes and migration guide
Looking to the future
Now that Wrynose has been released, we are thinking about our next release (6.1, scheduled for release in Q4 2026) as well as how things will evolve over the next two years to our 7.0 release in 2028. There are already plans for an improved cybersecurity policy to align with the CRA, usability improvements in some of our tooling and deprecation of some obsolete recipes, but the ultimate shape of the next Yocto Project release will be determined by our community and what they contribute.
You are invited to join in the discussions about ideas, feature requests and contribution proposals on our weekly technical calls (Tuesdays at 08:00 Pacific Time via Zoom) and on our mailing lists. Proposals affecting bitbake and our core layers should be sent to the openembedded-architecture list, and proposals for other components in our ecosystem should be sent to the yocto list. We hope you can join us on the journey!
Written by Paul Barker, 2026-05-13