summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation/migration-guides/migration-5.3.rst89
-rw-r--r--documentation/migration-guides/release-notes-5.3.rst564
2 files changed, 648 insertions, 5 deletions
diff --git a/documentation/migration-guides/migration-5.3.rst b/documentation/migration-guides/migration-5.3.rst
index 4d2e1763ce..97e41605f4 100644
--- a/documentation/migration-guides/migration-5.3.rst
+++ b/documentation/migration-guides/migration-5.3.rst
@@ -64,6 +64,60 @@ The first change can introduce a lot of consecutive empty lines, so those can be
64 64
65 sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc` 65 sed -i -z -E 's/([ \t\f\v\r]*\n){3,}/\n\n/g' `find . -name *.bb -o -name *.inc`
66 66
67
68BitBake Git fetcher ``tag`` parameter
69~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
70
71The ``tag=`` parameter of the Git fetcher (``git://``) was updated. The tag
72commit SHA will be compared against the value supplied by the :term:`SRCREV`
73variable or the ``rev=`` parameter in the URI in :term:`SRC_URI`. This is
74strongly recommended to add to the URIs when using the Git fetcher for
75repositories using tag releases.
76
77Space around equal assignment
78~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79
80A new warning is now printed when there are no whitespaces around an ``=``
81assignment in recipes::
82
83 <filename>:<line number> has a lack of whitespace around the assignment: '<assignment>'
84
85For example, the following assignments would print a warning::
86
87 FOO="bar"
88 FOO= "bar"
89 FOO ="bar"
90
91These should be replaced by::
92
93 FOO = "bar"
94
95Wic plugins containing dashes should be renamed
96~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
97
98After a Python upgrade, :ref:`Wic <dev-manual/wic:creating partitioned images
99using wic>` plugins containing dashes (``-``) for their filenames are **no
100longer supported**. One must rename the plugin file and convert the dashes to
101underscores (``_``).
102
103It is also recommended to update any WKS file to convert dashes to underscores.
104For example, the ``bootimg-partition.py`` plugin was renamed to
105``bootimg_partition.py``. This means that any WKS file using this plugin must
106change each ``--source bootimg-partition`` to ``--source bootimg_partition``.
107
108However, the current WIC code automatically converts dashes to underscore for
109any ``--source`` call, so existing WKS files will not break if they use upstream
110plugins from :term:`OpenEmbedded-Core (OE-Core)`.
111
112``fitImage`` no longer supporter for :term:`KERNEL_IMAGETYPE`
113~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
114
115The ``fitImage`` type for :term:`KERNEL_IMAGETYPE` is no longer supported. The
116logic for creating a FIT image was moved out of the :ref:`ref-classes-kernel`
117class. Instead, one should create a new recipe to build this FIT image, as
118described in the :ref:`Removed Classes <migration-guides/migration-5.3:Removed
119Classes>` section of the Migration notes for |yocto-ver| (|yocto-codename|).
120
67Supported kernel versions 121Supported kernel versions
68~~~~~~~~~~~~~~~~~~~~~~~~~ 122~~~~~~~~~~~~~~~~~~~~~~~~~
69 123
@@ -99,11 +153,38 @@ Removed variables
99 153
100The following variables have been removed: 154The following variables have been removed:
101 155
156- ``BUILDHISTORY_RESET``: Setting this to non-empty used to remove the old
157 content of the :ref:`ref-classes-buildhistory` as part of the current
158 :term:`BitBake` invocation and replace it with information about what was
159 built during the build. This was partly broken and hard to maintain.
160
102Removed recipes 161Removed recipes
103~~~~~~~~~~~~~~~ 162~~~~~~~~~~~~~~~
104 163
105The following recipes have been removed in this release: 164The following recipes have been removed in this release:
106 165
166- ``libsoup``: The last user in :term:`OpenEmbedded-Core (OE-Core)` was
167 ``gst-examples``, which has been upgraded with its ``libsoup`` dependency
168 dropped.
169
170- ``glibc-y2038-tests``: removed as the recipe only provides tests which are
171 now provided by ``glibc-testsuite``.
172
173- ``python3-ndg-httpsclient``: The last dependency in core on this recipe was
174 removed in May 2024 with dfa482f1998 ("python3-requests: cleanup RDEPENDS"),
175 and there is no other user of this variable.
176
177Removed :term:`PACKAGECONFIG` entries
178~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
179
180- ``dropbear``: ``enable-x11-forwarding`` (renamed to ``x11``)
181
182- ``libxml2``: ``ipv6``
183
184- ``squashfs-tools``: ``reproducible``
185
186- ``mesa``: ``kmsro``, ``osmesa``, ``xa``
187
107Removed classes 188Removed classes
108~~~~~~~~~~~~~~~ 189~~~~~~~~~~~~~~~
109 190
@@ -151,6 +232,11 @@ The following classes have been removed in this release:
151 232
152 See the :ref:`ref-classes-kernel-fit-image` section for more information. 233 See the :ref:`ref-classes-kernel-fit-image` section for more information.
153 234
235- ``icecc.bbclass``: Reports show that this class has been broken since Yocto
236 Mickledore which suggests there are limited numbers of users. It doesn't have
237 any automated testing and it would be hard to setup and maintain a testing
238 environment for it. The original users/maintainers aren't using it now.
239
154Removed features 240Removed features
155~~~~~~~~~~~~~~~~ 241~~~~~~~~~~~~~~~~
156 242
@@ -158,3 +244,6 @@ The following features have been removed in this release:
158 244
159Miscellaneous changes 245Miscellaneous changes
160~~~~~~~~~~~~~~~~~~~~~ 246~~~~~~~~~~~~~~~~~~~~~
247
248- ``xserver-xorg``: remove sub-package ``${PN}-xwayland``, as ``xwayland`` is
249 now its own recipe.
diff --git a/documentation/migration-guides/release-notes-5.3.rst b/documentation/migration-guides/release-notes-5.3.rst
index 181f1a401d..f32c6162da 100644
--- a/documentation/migration-guides/release-notes-5.3.rst
+++ b/documentation/migration-guides/release-notes-5.3.rst
@@ -11,63 +11,617 @@ Release notes for |yocto-ver| (|yocto-codename|)
11New Features / Enhancements in |yocto-ver| 11New Features / Enhancements in |yocto-ver|
12~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 13
14- Linux kernel XXX, gcc XXX, glibc XXX, LLVM XXX, and over XXX other 14- Linux kernel XXX, gcc 15, glibc XXX, LLVM XXX, and over XXX other
15 recipe upgrades. 15 recipe upgrades.
16 16
17- Minimum Python version required on the host: XXX. 17- Minimum Python version required on the host: XXX.
18 18
19- BitBake changes:
20
21 - ``codeparser``: Add function decorators for ``vardeps``
22
23 Adds ``bb.parse.vardeps`` and ``bb.parse.excludevardeps`` function
24 decorators that can be used to explicitly add or exclude variables from a
25 Python function parsed by :term:`BitBake`.
26
27 Move ``vardepexclude`` flag entries alongside functions for
28 maintainability.
29
30 - Fetcher:
31
32 - Check for ``git-lfs`` existence before using it.
33
34 - Add support for ``.debs`` files containing uncompressed data tarballs.
35
36 - ``az``: Add sanity check to check that :term:`AZ_SAS` starts with ``?``
37 to mark the start of the query parameters.
38
39 - ``git``: Add the tag to shallow clone tarball name.
40
41 - ``knotty``: pass failed task logs through the log infrastructure (use
42 ``bb.plain()`` instead of ``print()``)
43
44 - Add support for automatically promoting class inherits to deferred
45 inherits by listing them in the :term:`BB_DEFER_BBCLASSES` variable.
46
47 - "Built-in" fragments support is now added to the :ref:`addfragments
48 <bitbake-user-manual/bitbake-user-manual-metadata:\`\`addfragments\`\`
49 directive>` directive. This is the fourth parameter to this directive, and
50 should be the name of the variable that contains definitions of built-in
51 fragments. Refer to the documentation of :ref:`addfragments
52 <bitbake-user-manual/bitbake-user-manual-metadata:\`\`addfragments\`\`
53 directive>` to learn how to define new built-in fragments.
54
55 Listing these built-in fragments can be done with
56 :oe_git:`bitbake-config-build
57 list-fragments</bitbake/tree/bin/bitbake-config-build>`, which could
58 list::
59
60 Available built-in fragments:
61 machine/... Sets MACHINE = ...
62 distro/... Sets DISTRO = ...
63
64 In the above example, this means that the :term:`MACHINE` of
65 :term:`DISTRO` can be overridden with::
66
67 OE_FRAGMENTS += "machine/qemuarm64 distro/poky-bleeding"
68
69 This would set :term:`MACHINE` to ``qemuarm64`` and the :term:`DISTRO` to
70 ``poky-bleeding``.
71
72 - The ``tag-`` parameter in URLs can now be specified alongside the ``rev=``
73 parameter and :term:`SRCREV` variable, and will ensure that the
74 specified tag matches the specified revision.
75
76 It is **strongly encouraged** to include the ``tag=`` parameter to the
77 :term:`SRC_URI` definition when possible.
78
79 - ``tinfoil``: add a ``wait_for`` decorator to wrap a function that makes an
80 asynchronous tinfoil call wait for event to say that the call has been
81 successful, or an error has occurred.
82
83 - New ``bb.utils.to_filemode()`` helper function which is a helper to take a
84 variable's content containing a filemode and convert it to the proper
85 Python representation of the number.
86
87 - ``cooker``: Use a shared counter for processing parser jobs. This allows
88 the parser processes to run independently of needing to be feed by the
89 parent process, and load balances them much better.
90
91 - ``cooker/process/utils``: Add a ``-P`` (``--profile``) option to
92 :term:`BitBake` to specify what to profile. Can be "main", "idle" or
93 "parsing". Split the reports in separate files.
94
95- Toolchain changes:
96
97 - The Clang/LLVM toolchain can now be used as part of the build.
98
99 The :term:`PREFERRED_TOOLCHAIN_TARGET`, :term:`PREFERRED_TOOLCHAIN_NATIVE`
100 and :term:`PREFERRED_TOOLCHAIN_SDK` variables can be used to customize the
101 selected toolchain globally.
102
103 There are two supported toolchains: "gcc" and "clang". See the
104 documentation of :term:`PREFERRED_TOOLCHAIN_TARGET` for more details.
105
106 The toolchain is also customizable on a per-recipe basis, using the
107 :term:`TOOLCHAIN` and :term:`TOOLCHAIN_NATIVE` variables.
108
109 - Multiple recipes were pinned to use the GCC/Binutils toolchain as they do
110 not support being built with Clang/LLVM yet. In these recipes the
111 :term:`TOOLCHAIN` variable is set to "gcc".
112
113- Global configuration changes:
114
115 - ``bitbake.conf/pseudo``: Switch from exclusion list to inclusion list by
116 swapping :term:`PSEUDO_IGNORE_PATHS` for :term:`PSEUDO_INCLUDE_PATHS`
117 which should be easier and more explicit to maintain.
118
119 - ``bitbake.conf``: Drop ``lz4`` from :term:`HOSTTOOLS`, as it is not
120 required anymore, and the ``lz4-native`` package is used instead.
121
122 - ``conf/fragments``: add a fragment for the CDN :ref:`sstate-cache
123 <overview-manual/concepts:shared state cache>` mirror.
124
125 - ``default-distrovars``: set an empty default for :term:`LICENSE_PATH`.
126
127 - The default definition of :term:`UNPACKDIR` is no longer
128 ``sources-unpack`` but ``sources``.
129
19- New variables: 130- New variables:
20 131
132 - The ``VIRTUAL-RUNTIME_dbus`` variable, to allow changing the runtime
133 implementation of D-Bus. See :term:`VIRTUAL-RUNTIME`.
134
135 - The ``VIRTUAL-RUNTIME_libsdl2`` variable, to allow changing the runtime
136 implementation of `libsdl2 <https://www.libsdl.org/>`__. See
137 :term:`VIRTUAL-RUNTIME`.
138
139 - The :term:`SPDX_PACKAGE_URL` variable can be used in recipes to set the
140 output ``software_packageUrl`` field in their associated SPDX 3.0 output
141 (default value: empty string).
142
143 - The :term:`KMETA_CONFIG_FEATURES` variable can be used to control
144 :ref:`ref-classes-kernel-yocto` configuration features. For now only
145 ``prefer-modules`` is supported for this variable.
146
147 - The :term:`TESTSDK_SUITES` variable can be used to control the list of
148 tests run for the :ref:`ref-classes-testsdk` class.
149
150 - The :term:`UBOOT_FIT_CONF_FIRMWARE` can be used to specify a ``firmware``
151 entry in the configuration node of a FIT image.
152
153 - The :term:`SPDX_INCLUDE_COMPILED_SOURCES` option allows the same as
154 :term:`SPDX_INCLUDE_SOURCES` but including only the sources used to
155 compile the host tools and the target packages.
156
157 - The :term:`UBOOT_VERSION` variable holds the package version
158 (:term:`PV`) and revision (:term:`PR`) which are part of the installed and
159 deployed filenames. Users can now override :term:`UBOOT_VERSION` to
160 changes the output filenames.
161
21- Kernel-related changes: 162- Kernel-related changes:
22 163
164 - ``linux/generate-cve-exclusions``: use data from CVEProject instead of
165 the archived https://linuxkernelcves.com.
166
167 - ``kernel-yocto``: allow annotated options to be modified. For example if
168 the following kernel configuration is set::
169
170 CONFIG_INET_TUNNEL=y # OVERRIDE:$MODULE_OR_Y
171
172 And if the :term:`KMETA_CONFIG_FEATURES` variable contains
173 ``prefer-modules``, ``CONFIG_INET_TUNNEL`` will be set to ``m`` instead of
174 ``y``.
175
176 - ``kernel-devsrc``: Replace the extra ``System.map`` file with symbolic
177 link.
178
179 - ``kernel-module-split``: Allow for external configuration files being
180 assigned to the correct kernel module package.
181
182 - When built for the RISC-V architecture, ensure that the minimum required
183 features set by :term:`TUNE_FEATURES` are set using the
184 :ref:`ref-classes-features_check` class.
185
186 - ``linux-yocto``: when built for RISC-V, enable features in
187 :term:`KERNEL_FEATURES` based on features listed in :term:`TUNE_FEATURES`.
188
23- New core recipes: 189- New core recipes:
24 190
191 - ``python3-pdm``, ``python3-pdm-backend`` and ``python3-pdm-build-locked``,
192 which are dependencies of ``python3-webcolors``. ``python3-pdm`` itself
193 depends on ``python3-pdm-build-locked``
194
195 - ``bindgen-cli``: a tool to generate Rust bindings.
196
197 - ``python3-colorama``: Cross-platform colored terminal text, needed by
198 ``pytest`` as a dependency.
199
200 - ``libglvnd``: imported from :oe_git:`meta-oe
201 </meta-openembedded/tree/meta-oe>` which provides a vendor neutral
202 approach to handling OpenGL / OpenGL ES / EGL / GLX libraries.
203
204 - ``python3-sphinx-argparse``: A sphinx extension that automatically
205 documents ``argparse`` commands and options. It is part of
206 ``buildtools-docs-tarball`` for later use in the Yocto Project
207 documentation.
208
209 - ``python3-sphinx-copybutton``: A sphinx extension that adds a copy button
210 to code blocks in Sphinx. It is part of ``buildtools-docs-tarball`` for later
211 use in the Yocto Project documentation.
212
213 - LLVM/Clang related recipes:
214
215 - ``clang``: LLVM based C/C++ compiler.
216
217 - ``compiler-rt``: LLVM based C/C++ compiler Runtime.
218
219 - ``libclc``: Implementation of the library requirements of the OpenCL C
220 programming language.
221
222 - ``libcxx``: new implementation of the C++ standard library, targeting
223 C++11 and above
224
225 - ``llvm-tblgen-native``: LLVM TableGen binaries for the build host,
226 often used to build LLVM projects.
227
228 - ``lldb``: LLDB debugger for LLVM projects.
229
230 - ``llvm-project-source``: canonical git mirror of the LLVM subversion
231 repository.
232
233 - ``openmp``: LLVM OpenMP compiler Runtime.
234
235 - ``kernel-signing-keys-native``: this recipe is used in the
236 :ref:`ref-classes-kernel-fit-image` class to generate a pair of RSA
237 public/private key. It replaces the ``do_generate_rsa_keys`` of the
238 :ref:`ref-classes-kernel-fit-image` class.
239
240- New :term:`DISTRO_FEATURES`:
241
242 - ``glvnd``, which enables OpenGL Vendor Neutral Dispatch Library
243 support when using recipes such as ``mesa``.
244
25- New core classes: 245- New core classes:
26 246
247 - The new :ref:`ref-classes-kernel-fit-image` class replaces the previous
248 ``kernel-fitimage`` class. It has been rewritten and improved to fix
249 :yocto_bugs:`bug 12912</show_bug.cgi?id=12912>`. See the :ref:`Removed
250 Classes <migration-guides/migration-5.3:Removed Classes>` section of the
251 Migration notes for |yocto-ver| (|yocto-codename|) for more details on how
252 to switch to this new class.
253
254 - The new :ref:`ref-classes-go-mod-update-modules` class can be used to
255 maintain Go recipes that use a ``BPN-go-mods.inc`` and
256 ``BPN-licenses.inc`` and update these files automatically.
257
27- Architecture-specific changes: 258- Architecture-specific changes:
28 259
260 - Rework the RISC-V :term:`TUNE_FEATURES` to make them based of the RISC-V
261 ISA (Instruction Set Architecture) implementation.
262
263 This implements the following base ISAs:
264
265 - ``rv32i``, ``rv64i``
266 - ``rv32e``, ``rv64i``
267
268 The following ABIs:
269
270 - ``ilp32``, ``ilp32e``, ``ilp32f``, ``ilp32d``
271 - ``lp64``, ``lp64e``, ``lp64f``, ``lp64d``
272
273 The following ISA extension are also implemented:
274
275 - M: Integer Multiplication and Division Extension
276 - A: Atomic Memory Extension
277 - F: Single-Precision Floating-Point Extension
278 - D: Double-Precision Floating-Point Extension
279 - C: Compressed Extension
280 - B: Bit Manipulation Extension (implies Zba, Zbb, Zbs)
281 - V: Vector Operations Extension
282 - Zicsr: Control and Status Register Access Extension
283 - Zifencei: Instruction-Fetch Fence Extension
284 - Zba: Address bit manipulation extension
285 - Zbb: Basic bit manipulation extension
286 - Zbc: Carry-less multiplication extension
287 - Zbs: Single-bit manipulation extension
288 - Zicbom: Cache-block management extension
289
290 The existing processors tunes are preserved:
291
292 - ``riscv64`` (``rv64gc``)
293 - ``riscv32`` (``rv32gc``)
294 - ``riscv64nf`` (``rv64imac_zicsr_zifencei``)
295 - ``riscv32nf`` (``rv32imac_zicsr_zifencei``)
296 - ``riscv64nc`` (``rv64imafd_zicsr_zifencei``)
297
298 See :oe_git:`meta/conf/machine/include/riscv/README
299 </openembedded-core/tree/meta/conf/machine/include/riscv/README>` for more
300 information.
301
302 - ``arch-mips.inc``: Use ``-EB``/``-EL`` for denoting Endianness.
303
304 - Enable ``riscv32`` as supported arch for ``musl`` systems.
305
306 - Powerpc: Use ``-maltivec`` in compiler flags if ``altivec`` is in
307 :term:`TUNE_FEATURES`.
308
29- QEMU / ``runqemu`` changes: 309- QEMU / ``runqemu`` changes:
30 310
311 - Refactor :ref:`ref-classes-qemu` functions into library functions (in
312 :oe_git:`lib/oe/qemu.py </openembedded-core/tree/meta/lib/oe/qemu.py>`).
313
31- Documentation changes: 314- Documentation changes:
32 315
316 - Part of :term:`BitBake` internals are now documented at
317 :yocto_docs:`/bitbake/bitbake-user-manual/bitbake-user-manual-library-functions.html`.
318
319 - A new :doc:`/dev-manual/limiting-resources` guide was created to help
320 users limit the host resources used by the :term:`OpenEmbedded Build
321 System`.
322
323- Core library changes:
324
325 - Add :oe_git:`license_finder.py </openembedded-core/tree/meta/lib/oe/license_finder.py>`,
326 which was extracted from ``recipetool`` to be shared for multiple users.
327 Improve its functionalities.
328
33- Go changes: 329- Go changes:
34 330
35- Rust changes: 331- Rust changes:
36 332
333 - ``rust-llvm``:
334
335 - Compile LLVM to use dynamic libraries. This reduces the
336 size of ``llvm-rust`` to about a third.
337
338 - Disable the following feature through configuration
339 (:ref:`ref-tasks-configure`): libedit, benchmarks.
340
37- Wic Image Creator changes: 341- Wic Image Creator changes:
38 342
343 - After a Python upgrade, WIC plugins containing dashes (``-``) for their
344 filenames are **no longer supported**. One must convert the dashed to
345 underscores (``_``) and update users of the plugins accordingly.
346
347 See the :ref:`migration-guides/migration-5.3:Wic plugins containing dashes
348 should be renamed` section of the Yocto Project 5.3 Migration Guide for
349 more information.
350
351 - ``wic``: do not ignore :term:`IMAGE_ROOTFS_SIZE` if the Rootfs is
352 modified.
353
354 - Several improvements in WIC selftests.
355
356 - ``bootimg_efi.py``: fail build if no binaries are installed.
357
358 - Add new options to the ``wic`` ``ls``, ``cp``, ``rm``, and ``write``
359 commands:
360
361 - ``--image-name``: name of the image to use the artifacts from.
362 - ``--vars``: directory with ``<image>.env`` files that store
363 :term:`BitBake` variables. This directory is usually found in
364 :term:`STAGING_DIR`.
365
39- SDK-related changes: 366- SDK-related changes:
40 367
368 - Include additional information about Meson setting in the SDK environment
369 setup script (host system, CPU family, etc.).
370
41- Testing-related changes: 371- Testing-related changes:
42 372
373 - ``bitbake/tests/fetch``: Add tests for ``gitsm`` with git-lfs.
374
375 - ``bitbake/lib/bb/tests/fetch``: add a test case to ensure Git shallow
376 fetch works for tag containing slashes.
377
378 - OEQA:
379
380 - SDK:
381
382 - Add a test to sanity check that the generated SDK manifest was
383 parsed correctly and isn't empty.
384
385 - Add a test to verify the manifests are generated correctly.
386
387 - Add helpers to check for and install packages.
388
389 - Add check that meson has detected the target correctly.
390
391 - Simplify test specification and discovery:
392
393 - Introduce the ``TESTSDK_CASE_DIRS`` variable to specify test
394 directory types, replacing the need to modify the ``default_cases``
395 class member.
396
397 - Discover tests from configured layers using a common discovery
398 pattern (``<LAYER_DIR>/lib/oeqa/<dirname>/cases``) where
399 ``<dirname>`` is specified in ``TESTSDK_CASE_DIRS``.
400
401 - The "buildtools" directories were renamed to follow the common
402 discovery pattern (``<LAYER_DIR>/lib/oeqa/<dirname>/cases``) for
403 consistency across all SDK configurations.
404
405 - ``selftest/reproducible``: Limit memory used by ``diffoscope`` to avoid
406 triggering OOM kills.
407
408 - Add tests for the :ref:`ref-classes-devicetree` class.
409
410 - Tests for the :ref:`ref-classes-kernel-fit-image` class have been
411 reworked and improved.
412
413 - ``data.py``: add ``skipIfNotBuildArch`` decorator, to skip tests if
414 :term:`BUILD_ARCH` is not in present in the specified tuple.
415
416 - ``selftest``: add new test for toolchain switching.
417
418 - ``utils/command``: add a fast-path ``get_bb_var()`` that uses
419 ``bitbake-getvar`` instead of ``bitbake -e`` when there is not
420 ``postconfig`` argument passed.
421
422 - ``core/case``: add file exists assertion test case.
423
424 - ``context.py``: use :term:`TEST_SUITES` if set.
425
426 - :ref:`ref-classes-testexport`: capture all tests and data from all layers
427 (instead of the :term:`OpenEmbedded-Core (OE-Core)` layer only).
428
43- Utility script changes: 429- Utility script changes:
44 430
45- BitBake changes: 431 - ``sstate-cache-management``: add a ``--dry-run`` argument
432
433 - ``yocto-check-layer``:
434
435 - Expect success for ``test_patches_upstream_status``. This means that
436 patch files *must* include an ``Upstream-Status`` to pass with this
437 script.
438
439 - :ref:`ref-classes-yocto-check-layer` class:
440
441 - Refactor to be extended easily.
442
443 - Add a ``check_network_flag`` test that checks that no tasks other
444 than :ref:`ref-tasks-fetch` can access the network.
445
446 - ``send-error-report``:
447
448 - Respect URL scheme in server name if it exists.
449
450 - Drop ``--no-ssl`` as the server URL specifies it with ``http://`` or
451 ``https://``.
452
453 - ``buildstats.py``:
454
455 - Extend disk stats support for NVMe and flexible token count.
456
457 - Add tracking of network I/O per interface.
458
459 - ``buildstats-diff``: find last two Buildstats files if none are specified.
460
461 - ``pybootchartgui``: visualize ``/proc/net/dev`` network stats in graphs.
46 462
47- Packaging changes: 463- Packaging changes:
48 464
465 - Export ``debugsources`` in :term:`PKGDESTWORK` as JSON. The source
466 information used during packaging can be use from other tasks to have more
467 detailed information on the files used during the compilation and improve
468 SPDX accuracy.
469
49- LLVM related changes: 470- LLVM related changes:
50 471
472 - Like ``gcc-source``, the LLVM project sources are part of ``work-shared``
473 under :term:`TMPDIR`. The project codebase is large and sharing it offers
474 performance improvements.
475
51- SPDX-related changes: 476- SPDX-related changes:
52 477
53- ``devtool`` changes: 478 - ``spdx30``: Provide ``software_packageUrl`` field
54 479
55- Patchtest-related changes: 480 - ``spdx30_tasks``: Change recipe license to "declared" (instead of
481 "concluded")
482
483 - ``create-spdx-2.2``: support to override the version of a package in SPDX
484 2 through :term:`SPDX_PACKAGE_VERSION`.
485
486- ``devtool`` and ``recipetool`` changes:
487
488 - Use ``lib/oe/license_finder`` to extract the license from source code.
489
490 - Calculate source paths relative to :term:`UNPACKDIR`.
56 491
57- :ref:`ref-classes-insane` class related changes: 492 - Allow ``recipe create`` handlers to specify bitbake tasks to run.
493
494 - ``create_go``: Use :ref:`ref-classes-go-mod` class instead of
495 :ref:`ref-classes-go-vendor`.
496
497 - Go recipes are now generated with help of the new
498 :ref:`ref-classes-go-mod-update-modules` class.
499
500 - Add a new :oe_git:`improve_kernel_cve_report.py
501 </openembedded-core/tree/meta/scripts/contrib/improve_kernel_cve_report.py>`
502 script in ``scripts/contrib`` for post-processing of kernel CVE data.
503
504 - Handle workspaces for multiconfig.
505
506- Patchtest-related changes:
58 507
59- Security changes: 508- Security changes:
60 509
510 - ``openssl``: add FIPS support. This can be enabled through the ``fips``
511 :term:`PACKAGECONFIG`.
512
61- :ref:`ref-classes-cve-check` changes: 513- :ref:`ref-classes-cve-check` changes:
62 514
63- New :term:`PACKAGECONFIG` options for individual recipes: 515- New :term:`PACKAGECONFIG` options for individual recipes:
64 516
517 - ``ppp``: ``l2tp``, ``pptp``
518 - ``dropbear``: ``x11`` (renamed from ``enable-x11-forwarding``)
519 - ``gdb``: ``source-highlight``
520 - ``gstreamer1.0-plugins-bad``: ``analytics``
521 - ``mtd-utils``: ``ubihealthd-service``
522 - ``openssl``: ``fips``
523 - ``qemu``: ``sdl-image``, ``pixman``
524 - ``wget``: ``pcre2``
525 - ``mesa``: ``asahi``, ``amd``, ``svga``, ``teflon``, ``nouveau``
526
65- Systemd related changes: 527- Systemd related changes:
66 528
529 - Enable getty generator by default by adding ``serial-getty-generator`` to
530 :term:`PACKAGECONFIG`.
531
67- :ref:`ref-classes-sanity` class changes: 532- :ref:`ref-classes-sanity` class changes:
68 533
534 - :ref:`ref-classes-insane`: Move test for invalid :term:`PACKAGECONFIG` to
535 :ref:`ref-tasks-recipe-qa`.
536
537 - Add ``unimplemented-ptest`` detection for cargo-based tests, allowing to
538 detect when a cargo package has available tests that could be enable with
539 :doc:`Ptest </test-manual/ptest>`.
540
541 - Add a test for recipe naming/class mismatches.
542
543 - Add a sanity test for "bad" gcc installs on Ubuntu 24.04. The host should
544 install ``libstdc++-14-dev`` instead of ``libgcc-14-dev`` to avoid build
545 issues when building :ref:`ref-classes-native` with Clang.
546
547- U-boot related changes:
548
549 - :ref:`ref-classes-uboot-sign`: Add support for setting firmware property
550 in FIT configuration with :term:`UBOOT_FIT_CONF_FIRMWARE`.
551
552 - :ref:`ref-classes-uboot-sign`: Add support for signing U-Boot FIT image
553 without an SPL. The :term:`SPL_DTB_BINARY` variable can be set to an empty
554 string to indicate that no SPL is present.
555
556 - When built for the RISC-V architecture, read the :term:`TUNE_FEATURES`
557 variable to automatically set U-boot configuration options (for example
558 ``CONFIG_RISCV_ISA_F``).
559
69- Miscellaneous changes: 560- Miscellaneous changes:
70 561
562 - ``dropbear``: The ``dropbearkey.service`` can now take extra arguments for
563 key generation, through ``/etc/default/dropbear``.
564
565 - ``initscripts``: add ``log_success_msg``/``log_failure_msg``/``log_warning_msg``
566 functions for logging in initscripts.
567
568 - ``connman``:
569
570 - Mark ``iptables`` and ``nftables`` feature of :term:`PACKAGECONFIG`
571 mutually incompatible.
572
573 - Set ``dns-backend`` automatically to ``systemd-resolved``
574 when ``systemd-resolved`` is part of :term:`DISTRO_FEATURES`.
575
576 - ``uninative``: show errors if installing fails.
577
578 - ``meson``: Allow user to override setup command options by exporting
579 ``MESON_SETUP_OPTS`` in a recipe.
580
581 - :ref:`ref-classes-cmake`: Enhance to emit a native toolchain CMake file.
582 This is part of improvements allowing to use ``clang`` in an SDK.
583
584 - Fix the runtime version of several recipes (they now return the effective
585 version instead of a default string like "Unknown").
586
587 - :ref:`ref-classes-module`: add ``KBUILD_EXTRA_SYMBOLS`` to the install
588 command.
589
590 - ``rpm-sequoia``: add :doc:`Ptest </test-manual/ptest>` support.
591
592 - ``libunwind``: disable installation of tests directory with
593 ``--disable-tests``, which can be installed with the ``libunwind-ptest``
594 package instead.
595
596 - ``boost``: add ``process`` library to the list of built libraries.
597
598 - ``base-files``: add ``nsswitch-resolved.conf``, only installed if
599 ``systemd`` and ``systemd-resolved`` is part of :term:`DISTRO_FEATURES`.
600
601 - ``nfs-utils``: don't use signals to shut down the NFS server in the
602 associated initscript, instead use ``rpc.nfsd 0``.
603
604 - ``readline``: enable HOME, END, INSERT, and DELETE key bindings in
605 ``inputrc``.
606
607 - Switch to a new :ref:`sstate-cache <overview-manual/concepts:shared state
608 cache>` CDN (http://sstate.yoctoproject.org).
609
610 - :ref:`ref-classes-sstate`: Apply a proper :manpage:`umask` when fetching
611 from :term:`SSTATE_MIRRORS`.
612
613 - ``kernel-devsrc``: make package version consistent with kernel source (by
614 inheriting :ref:`ref-classes-kernelsrc`).
615
616 - :ref:`ref-classes-externalsrc`: Always ask Git for location of ``.git``
617 directory (may be different from the default ``${S}/.git``).
618
619 - :ref:`ref-classes-features_check`: Add support for required
620 :term:`TUNE_FEATURES`.
621
622 - ``openssh``: limit read access to ``sshd_config`` file (set its filemode
623 to ``0600``).
624
71Known Issues in |yocto-ver| 625Known Issues in |yocto-ver|
72~~~~~~~~~~~~~~~~~~~~~~~~~~~ 626~~~~~~~~~~~~~~~~~~~~~~~~~~~
73 627