Briefly:
Canada’s Northwest Territories moved to permanent -06 on 2026-08-21.
Obsolescent settings like TZ="EST5EDT" now conform better to POSIX.
Fix security, performance and porting bugs in zic and localtime.
Changes to future timestamps
Canada’s Northwest Territories will not fall back on 2026-11-01
and will stay on -06 year-round, matching Alberta’s recent change.
Model this with its traditional abbreviation CST. Although the
change to permanent -06 legally took place on 2026-08-21,
temporarily model the change to occur on 2026-11-01 at 02:00
for the same reason as other recent temporary hacks. (Caution:
see “NOTE FOR 2026b TEMPORARY HACK FOR CLDR AND CANADA” below.)
This affects only America/Inuvik as the rest of the territory is
covered by America/Edmonton, for which the equivalent change was
released in 2026c.
Changes to past timestamps
Colombia’s 1992-05-02 spring forward was at 00:00, not 24:00.
Iran’s 1979-05-26 spring forward was at 00:00, not 24:00.
(Thanks to N.F. Hase.)
The backward-compatibility names EST5EDT, CST6CDT, MST7MDT, and
PST8PDT now conform better to POSIX. For example, EST5EDT now
always uses the abbreviation "EST" for standard time (now always 5
hours behind UT) and "EDT" for daylight saving time, whereas it
formerly had different UT offsets before standard time was
introduced and sometimes used abbreviations like "LMT", "EWT" and
"EPT", all contrary to POSIX. Also, though not required by POSIX
these names now use US federal rules rather than rules of places
like New York, reverting to 2024a behavior. This change affects
only timestamps before 1966-10-30 at 01:00 standard time.
Other data changes
The temporary hacks used for North American timekeeping changes
now work around a libstdc++ std::chrono bug in GCC 14.1-14.4,
15.1-15.2, and 16.1; see GCC bug 124851. This data change does
not affect TZif files or timestamps. The change does not work
around the related but less serious GCC bugs 116110 and 124513.
These GCC bugs are all fixed in GCC 16.2.
Changes to code
zic now rejects Link targets that would have invalid names, and
more efficiently processes Expires, Leap and Rule lines with years
far in the past or future. (Thanks to Darren Carreras.)
zic now ports to systems that report lack of link support via
EINVAL, ENOSYS or EPERM errno values. (Thanks to Tom Lane.)
When tzset and related functions encounter a TZif file that is too
large for them, they now consistently fail instead of sometimes
silently ignoring excess parts of the file.
localtime-related functions no longer mishandle extreme timestamps
when given TZif files holding some unlikely timezone histories.
(Problem reported by David Sarkisyan.)
localtime-related functions no longer check the values of TZif
files’ standard/wall and UT/local indicators, which these
functions have not used since 2026a’s removal of the old
posixrules feature.
tzcode has been ported to Haiku.
localtime.c now works again by default on AIX and DragonFly BSD.
zic now rejects ‘:’ and ‘\’ in Zone and Link names when running on
Microsoft Windows. (Problem reported by David Diaz.)
Changes to documentation
URLs for release tarballs in tz-link.html have been updated to
reflect their new canonical URLs on data.iana.org.
Ref: https://www.iana.org/time-zones/releases/2026d
(From OE-Core rev: 82a02ea55b0e4a3e8ea9e7ce0df71a08bdac2491)
Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 400938b8ca41654fbda6c34c6eb8c12aec1f43b0)
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
Analysis:
- The vulnerable code for CVE-2026-51401 is in src/os_vms.c. [1]
- src/os_vms.c is VMS-specific and is not compiled for Linux builds.
- Record the not-applicable-platform status; no source patch is required.
[1] https://nvd.nist.gov/vuln/detail/CVE-2026-51401
(From OE-Core rev: df8f6b0403190429cc424638e26db1bfd7b9f53e)
Signed-off-by: Hetvi Thakar <hthakar@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
Analysis:
- The vulnerable code for CVE-2026-51400 is in src/os_vms.c. [1]
- src/os_vms.c is VMS-specific and is not compiled for Linux builds.
- Record the not-applicable-platform status; no source patch is required.
[1] https://nvd.nist.gov/vuln/detail/CVE-2026-51400
(From OE-Core rev: 7851ee1883615e9d8610c44e97eeb51bafbe9f66)
Signed-off-by: Hetvi Thakar <hthakar@cisco.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
The --initial-rev option had no selftest coverage. Extend
test_devtool_update_recipe to run update-recipe with --initial-rev
set to the recorded initial revision, which should match the default
output, and to a revision partway through the local commits, which
should export only the commits after it.
AI-Generated: Uses Claude (claude-fable-5)
(From OE-Core rev: c2c94a081d812c4712726cb5fc59b878af600cc0)
Signed-off-by: Babanpreet Singh <bbnpreetsingh@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 171af3b2915dd076c8d1b205ff75eac1ebd5a586)
[Adjusted for scarthgap: also takes the cleanup_cmd change to this test
from de635a9bc0 ("mdadm: fetch from git"), which the new steps rely on]
Signed-off-by: Babanpreet Singh <bbnpreetsingh@gmail.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
Since 900129cbdf ("devtool: add support for git submodules") the
--initial-rev option of update-recipe and finish has been broken: the
parse loop in _get_patchset_revs() deliberately skips the recorded
"# initial_rev ." entry from the workspace bbappend when an override
is passed, but the override value itself is never inserted into the
initial_revs dict. For a recipe without submodules the dict therefore
ends up empty and update-recipe/finish fails in patch mode with:
ERROR: Unable to find initial revision - please specify it with
--initial-rev
i.e. passing --initial-rev produces the very error message that
instructs the user to pass --initial-rev. Before 900129cbdf the passed
value simply took precedence over the one recorded in the bbappend.
Seed initial_revs with the override before parsing so the option
behaves as documented again; recorded values are still used for
submodules and for the main repo when no override is given.
AI-Generated: Uses Claude (claude-fable-5)
(From OE-Core rev: ea008fd0d08e13a408e88f54347aee0f8c23fd9c)
Signed-off-by: Babanpreet Singh <bbnpreetsingh@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 62abb60b899e63ea6db5c745f4b1b6af0d4b40f1)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
libaio has moved to Codeberg as pagure.io will be closed down shortly.
(From OE-Core rev: 30151c54ac1d729e5ec0778861fb3d843a260d99)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
(cherry picked from commit 237c32e181cd47194c3877d220360d6e6fbb2af8)
[YC: dropped the tag= SRC_URI parameter which does not mean the same
thing as in master. In bitbake=2.8/scarthgap, "tag=" conflicts with
SRCREV instead of checking it against the remote tag. ]
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
The kickstart reference documents "partition" as a synonym for "part".
wic does not accept it: its parser registers only part, bootloader and
include, so a .wks line beginning "partition" fails with an
invalid-choice error.
The synonym was real while wic used a bundled pykickstart, whose command
table mapped both spellings to one handler. Replacing that with a parser
carrying only the options wic uses kept "part" alone, and the manual was
not updated to match.
AI-Generated: codex/claude-opus 5 (xhigh)
(From yocto-docs rev: a34ca7357403feea970d27909e3529cf18e708d5)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
(cherry picked from commit 3a52e763346647f2edf23dee4ed28ede5ba5c22b)
Signed-off-by: Antonin Godard <antonin.godard@bootlin.com>
Signed-off-by: Paul Barker <paul@pbarker.dev>
When we unpack sstate files, we want to update the mtime+atime of the sstate
object and any sig/siginfo files, both for the files themselves and symlinks.
The logic was getting a bit hard to follow and wasn't entirely consistent with
only a time in some cases.
Clean it up and be consistent for all the files.
(From OE-Core rev: 147004ef60987039372c977e6c2f304a5414f39f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5213ca88cbec4e86b50d8da1fe4c300ca8f5de17)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
[YC: for [YOCTO #15289] ]
Signed-off-by: Paul Barker <paul@pbarker.dev>
If we touch sstatefile, we should also touch any .sig/.siginfo file if we can.
We try and keep them both updated with accesses so one isn't removed without
the other and they stay consistent.
[YOCTO #15289]
(From OE-Core rev: 2bd595a9d95fac64174a25759124a0aa3d0dd001)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit cc07895f951140dbbffcf32d3eabf65788cc4d00)
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
Unusual upgrade for expat to version 2.8.3
This is because there is a lot of CVEs and some are bigger than 20+ commits
so maintaining them is difficult
In new version there are fixes for CVE-2026-50219, CVE-2026-56131,
CVE-2026-56412, CVE-2026-72522 that was not backported yet
No braking ABI changes only 3 functions was added:
3 Added functions:
[A] 'function XML_Bool XML_SetAllocTrackerActivationThreshold(XML_Parser, long long unsigned int)' {XML_SetAllocTrackerActivationThreshold}
[A] 'function XML_Bool XML_SetAllocTrackerMaximumAmplification(XML_Parser, float)' {XML_SetAllocTrackerMaximumAmplification}
[A] 'function XML_Bool XML_SetHashSalt16Bytes(XML_Parser, const uint8_t*)' {XML_SetHashSalt16Bytes}
SONAME name stays the same as it was before - libexpat.so.1
Build all find package that depends on expat:
python3-xml fontconfig python3-xmltodict apr-util libxml-parser-perl exiv2
graphviz libdbus-c++ libwmf log4c neon poco polkit sdbus-c++ sdbus-c++-tools
wbxml2 apache2 lftp unbound wireshark libmusicbrainz mpd gegl
Tested using ptests for python3-xmltodict apr-util libxml-parser-perl
and expat itself
There is already planned expat 2.8.4 release but CVE fix there are small
and thus maintainable
Changelog notes here:
https://github.com/libexpat/libexpat/blob/R_2_8_3/expat/Changes
(From OE-Core rev: 408425eee8d281188a0f8b8e3e535e7c3af99f12)
Signed-off-by: Jakub Szczudlo <jakub.szczudlo@nokia.com>
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
[YC: CVE-2026-72522 was ignored in the meantime, I removed the
CVE_STATUS line]
Signed-off-by: Paul Barker <paul@pbarker.dev>