release-notes-5.0: add updates

- add new core recipes section
- add new variables
- add arch-specific enhancements
- add kernel-related enhancements
- add qemu enhancements
- add rust enhancements
- add wic enhancements
- add sdk-related improvements
- add testing enhancements
- add utility script changes
- add packaging changes
- add bitbake improvements
- add miscellaneous changes

(From yocto-docs rev: 72a80395199dd8a5d757b9e67629e1bb849273f1)

Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joao Marcos Costa
2024-04-10 11:47:45 +02:00
committed by Richard Purdie
parent e877e81a3c
commit a122a14ddc

View File

@@ -6,7 +6,7 @@ Release notes for 5.0 (scarthgap)
New Features / Enhancements in 5.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Linux kernel 6.6, gcc 13.2, glibc 2.39, LLVM 18.1, and over XXX other recipe upgrades
- Linux kernel 6.6, gcc 13.2, glibc 2.39, LLVM 18.1, and over 300 other recipe upgrades
- New variables:
@@ -14,20 +14,110 @@ New Features / Enhancements in 5.0
internal CVE database for incremental update (instead of a full
redownload).
- :term:`RPMBUILD_EXTRA_PARAMS`: support extra user-defined fields without
crashing the RPM package creation.
- :term:`OPKG_MAKE_INDEX_EXTRA_PARAMS`: support extra parameters for
``opkg-make-index``.
- :term:`EFI_UKI_PATH`, :term:`EFI_UKI_DIR`: define the location of UKI
image in the EFI System partition.
- Architecture-specific enhancements:
- ``genericarm64``: a new :term:`MACHINE` to represent a 64-bit General Arm
SystemReady platform.
- Add Power8 tune to PowerPC architecture.
- ``arch-armv9``: remove CRC and SVE tunes, since FEAT_CRC32 is now mandatory
and SVE/SVE2 are enabled by default in GCC's ``-march=armv9-a``.
- Kernel-related enhancements:
- The default kernel is the current LTS (6.6).
- Add support for ``genericarm64``.
- New core recipes:
- `bmaptool <https://github.com/yoctoproject/bmaptool>`__: a tool for
creating block maps for files and flashing images, being now under the
Yocto Project umbrella.
- ``core-image-initramfs-boot``: a minimal initramfs image, containing just
``udev`` and ``init``, designed to find the main root filesystem and
pivot to it.
- `lzlib <https://www.nongnu.org/lzip/lzlib.html>`__: a data compression
library that provides LZMA compression and decompression functions.
- `lzop <https://www.lzop.org/>`__: a compression utility based on the LZO
library, that was brought back after a (now reverted) removal.
- `python3-jsonschema-specifications <https://pypi.org/project/jsonschema-specifications/>`__:
support files for JSON Schema Specifications (meta-schemas and
vocabularies), added as a new dependency of ``python3-jsonschema``.
- `python3-maturin <https://github.com/pyo3/maturin>`__: a project that
allows building and publishing Rust crates as Python packages.
- `python3-meson-python <https://github.com/mesonbuild/meson-python>`__: a
Python build backend that enables the Meson build-system for Python packages.
- `python3-pyproject-metadata <https://pypi.org/project/pyproject-metadata/>`__:
a class to handle PEP 621 metadata, and a dependency for
``python3-meson-python``.
- `python3-referencing <https://github.com/python-jsonschema/referencing>`__:
another dependency of ``python3-jsonschema``, it provides an
implementation of JSON reference resolution.
- `python3-rpds-py <https://pypi.org/project/rpds-py/>`__: Python bindings
to the Rust rpds crate, and a runtime dependency for ``python3-referencing``.
- `python3-sphinxcontrib-jquery <https://pypi.org/project/sphinxcontrib-jquery/>`__:
a Sphinx extension to include jQuery on newer Sphinx releases. Recent
versions of ``python3-sphinx-rtd-theme`` depend on it.
- `python3-yamllint <https://github.com/adrienverge/yamllint>`__: a linter
for YAML files. In U-Boot, the ``binman`` tool uses this linter to verify the
configurations at compile time.
- ``systemd-boot-native``: a UEFI boot manager, this time built as native to
provide the ``ukify`` tool.
- `utfcpp <https://github.com/nemtrif/utfcpp>`__: a C++ library to handle
UTF-8 encoded strings. It was added as a dependency for ``taglib`` after
its upgrade to v2.0.
- `vulkan-utility-libraries <https://github.com/KhronosGroup/Vulkan-Utility-Libraries>`__:
a set of libraries to share code across various Vulkan repositories.
- `vulkan-volk <https://github.com/zeux/volk>`__: a meta-loader for Vulkan,
needed to support building the latest ``vulkan-tools``.
- QEMU / ``runqemu`` enhancements:
- QEMU has been upgraded to version 8.2.1
- ``qemuboot``: support predictable network interface names.
- ``runqemu``: match ".rootfs." in addition to "-image-" for the root
filesystem.
- Rust improvements:
- Rust has been upgraded to version 1.75
- The Rust profiler (i.e., PGO - Profile-Guided Optimization) options were
enabled back.
- The Rust ``oe-selftest`` were enabled, except for ``mips32`` whose tests
are skipped.
- ``rust-cross-canadian``: added ``riscv64`` to cross-canadian hosts.
- wic Image Creator enhancements:
- Allow the imager's output file extension to match the imager's name,
@@ -46,19 +136,50 @@ New Features / Enhancements in 5.0
- SDK-related improvements:
- ``nativesdk``: let :term:`MACHINE_FEATURES` be set by ``machine-sdk``
configuration files.
- ``nativesdk``: prevent :term:`MACHINE_FEATURES` and :term:`DISTRO_FEATURES`
from being backfilled.
- Testing:
- Add an optional ``unimplemented-ptest`` QA warning to detect upstream
packages with tests, that do not use ptest.
- ``testimage``: retrieve the ptests directory, especially for the logs,
upon ptest failure.
- ``oeqa``, ``oe-selftest``: add test cases for Maturin (SDK and runtime).
- Utility script changes:
- New ``recipetool/create_go.py`` script added to support Go recipe creation
- ``oe-init-build-env`` can generate a initial configuration (``.vscode``)
for VSCode and its "Yocto Project BitBake" extension.
- BitBake improvements:
- Add support for :term:`BB_LOADFACTOR_MAX`, so Bitbake can stop running
extra tasks if the system load is too high, especially in distributions
where ``/proc/pressure`` is disabled.
- Add garbage collection to remove unused unihashes from the database.
- ``taskexp_ncurses``: add ncurses version of ``taskexp``, the dependency
explorer originally implemented with GTK.
- Improve ``runqueue`` performance by adding a cache mechanism in
``build_taskdepdata``.
- ``bitbake.conf``: add ``runtimedir`` to represent the path to the runtime
state directory (i.e., ``/run``).
- Packaging changes:
- ``package_rpm``: the RPM package compressor's mode can now be overriden.
- Security improvements:
- Improve incremental CVE database download from NVD. Rejected CVEs are
@@ -85,6 +206,8 @@ New Features / Enhancements in 5.0
- Disable strace support of bluetooth by default.
- ``openssh`` now has a Systemd service: ``sshd.service``.
Known Issues in 5.0
~~~~~~~~~~~~~~~~~~~