python3-google-api-core 2.x requires proto-plus. A recipe for 1.27.1
exists in meta-python-ai, but meta-python cannot depend on that layer.
Only protobuf is a runtime dependency; google-api-core is needed by the
test suite only.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins pydantic 2.14.1 in its test requirements and
package constraints. Upgraded together with python3-pydantic-core
2.50.1, which it pins.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
pydantic 2.14.1 pins pydantic-core 2.50.1; with 2.46.5, "import pydantic"
raises SystemError because the versions do not match.
Refresh 0001-cargo.toml-Update-bitvec-to-use-radium-1.x.patch and
regenerate python3-pydantic-core-crates.inc with
bitbake -c update_crates.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins orjson 3.13.0.
Refresh the two x86 guard patches and regenerate
python3-orjson-crates.inc with bitbake -c update_crates.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins pylint 4.1.3 in its test requirements.
Drop patches that are no longer needed:
- 0002-pyproject.toml-Keep-tool.setuptools.license-files.patch rewrote
the PEP 639 license and license-files keys into the older
tool.setuptools form. 4.1.3 requires setuptools >= 77, which handles
the PEP 639 keys, and OE-Core provides 84.0.0.
- 0003-astroid-4.1.2-endlineno.patch adjusted functional test
expectations for astroid 4.1.2 (for example MyClass instead of
MyClass.my_method). 4.1.3 ships the same expectations.
- 0004-checkers-variables-do-not-pass-asname-to-Import.infer.patch was
a backport of upstream commit 554b1d192434, which is part of 4.1.3.
Refresh 0001-Adjust-test-expectations-for-ptest.patch. The expected
output was regenerated by running the functional test with pylint 4.1.3
and astroid 4.3.4 installed into a virtualenv and the tests outside the
source tree, which is how the ptest sees pylint.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins pytest-socket 0.8.1 in its test
requirements.
0.8.x builds with uv_build instead of poetry-core. Backport the upstream
change that allows uv_build < 0.14, since OE-Core provides 0.13.7.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins lru-dict 1.4.1.
The sdist is now published as lru_dict-*.tar.gz, the default name, so
drop PYPI_PACKAGE_SDIST. 1.4.x pins the build to setuptools==80.9.0 and
no longer needs wheel; relax the setuptools pin with a patch and drop
the python3-wheel-native dependency.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins SQLAlchemy 2.0.54 (core and the recorder
integration).
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins pychromecast 14.1.1 for its cast integration.
Drop 0001-pyproject.toml-relax-build-requirements.patch. It removed the
upper bounds setuptools < 83 and wheel < 0.47 from the build
requirements. 14.1.1 allows setuptools < 85 and wheel < 0.49, and
OE-Core provides setuptools 84.0.0 and wheel 0.48.0, which are within
the new bounds.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Needed together with the Cython 3.3.1 upgrade in OE-Core: 0.4.1, with the
backported "Update Cython to version 3.2.3" patch, requires
Cython ~= 3.2.0 and does not build with Cython 3.3. Home Assistant
2026.11 also pins propcache 0.5.4.
Drop both local patches:
- 0001-Update-Cython-to-version-3.2.3-184.patch backported the change
from Cython ~= 3.1.0 to Cython ~= 3.2.0. 0.5.4 requires
Cython >= 3.2.0 (packaging/pep517_backend/_backend.py), so the
backport is not needed; it would even pin the build back to
Cython ~= 3.2.0.
- 0001-build-wheel-in-place.patch hardcoded build_inplace=True in the
in-tree build backend. 0.5.4 adds the build-inplace config setting
for this, so the recipe passes "-C build-inplace=true" in
PEP517_BUILD_OPTS instead.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
httpx2 requires httpcore2, anyio and truststore, so "import httpx2"
fails with "No module named 'httpcore2'". Home Assistant 2026.11 imports
httpx2 at startup and does not start without them.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
httpx2 imports httpcore2, which is released as a separate package from
the same repository and with the same version.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
httpx2 and httpcore2 require truststore. Home Assistant 2026.11 pins
truststore 0.10.4.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
numba is optional for haversine, but haversine only catches
ModuleNotFoundError. With the NumPy 2.5 from OE-Core, numba 0.66 (as in
meta-python-ai) raises
ImportError: Numba needs NumPy 2.4 or less. Got NumPy 2.5.
which makes "import haversine" fail. Catch ImportError instead.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
pint requires flexcache, flexparser and typing-extensions, but only the
ptest package pulled in flexcache and flexparser, so "import pint" fails
with "No module named 'flexcache'" on an image without the ptest.
pint is extended to native and nativesdk, so flexcache and flexparser
are as well.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The upgrade to 1.4.4 only changed SRC_URI[sha256sum], which is unused
since the recipe fetches from git, so SRCREV still pointed at a 1.4.2
era commit and the package installed pika 1.4.2 under version 1.4.4.
Point SRCREV at the 1.4.4 tag commit and drop the unused checksum. Add
tag=${PV} to SRC_URI so that the fetcher checks that SRCREV is the
commit of the release tag.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
- mod_authnz_ldap: Fix crashes in 2.4.69 reported on Windows
- mod_cgid: Increase limits for number and length of environment variables,
URI and arguments
- mod_substitute: Fix an integer overflow that can happen in very special
setups
- mod_cache: Do not store a response whose "Vary: *" was set via
"Header always"
- mod_dav_lock: Fix a heap buffer overflow in dav_size_indirect(), which
under-reserved space for the stored key length field, written as
apr_size_t but sized as int
Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2.7 is the new release series; library ABI is unchanged (libldap.so.2,
liblber.so.2). It also builds the symbol version map through the
preprocessor (ITS#9739), which drops most entries for code that is not
configured in.
- back-perl and back-sql were removed upstream, drop their
PACKAGECONFIGs.
- Refresh remove-user-host-pwd-from-version.patch for the
LDAP_GCCATTR((unused)) attribute added in build/mkversion.
- Add a patch to guard the remaining SASL-only symbols in ldap.map.in;
without Cyrus SASL lld fails:
ld.lld: error: version script assignment of 'OPENLDAP_2.200' to
symbol 'ldap_int_sasl_config' failed: symbol not defined
This replaces the -Wl,--undefined-version workaround meta-clang
carried for openldap.
License checksums are unchanged. Tested on qemux86-64 with clang/lld:
openldap and samba (with ldap) build.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
wafsamba generates version scripts that name symbols which may not
exist in the library: _end, __bss_start and _edata are always listed as
local, and the per-version nodes carry symbols from older ABI signature
files that were later removed (e.g. tdb_do_delete). GNU ld ignores
these, but lld rejects them by default:
ld.lld: error: version script assignment of 'local' to symbol '_end'
failed: symbol not defined
meta-clang used to add -Wl,--undefined-version for libtalloc, libtdb,
libtevent, libldb and samba. Since the scripts are generated by design
this way, do it once in the class for all its users; binutils accepts
the option too. FreeBSD ports do the same for talloc and tdb.
Tested: libtalloc, libtdb, libtevent, libldb ptest images pass on
qemux86-64 with clang/lld; samba builds.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog
---------
Changes for version 20261020
Update from Mozilla repository to 2026-10-20
Denylisted certificates:
emSign ECC Root CA - G3
Signed-off-by: Jason Schonberg <schonm@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add -M30% -C --find-copies-harder to the git send-email example in
README.md so that git format-patch detects renames and copies more
aggressively.
Patches that move or copy files then show only the changed lines
instead of full file deletions and additions, which makes them
smaller and easier to review.
Suggested-by: Khem Raj <khem.raj@oss.qualcomm.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.4:
Breaking changes:
- CMake:
- The minimum CMake version is now 3.15, up from 3.12.
- Library file names changed on MSVC: z is now libz, as in
libz.dll, libz.lib, and the static libzs.lib. minizip's
libraries changed the same way.
- On Cygwin, the libraries now use the lib prefix.
- Contrib targets and tests built as part of zlib are now
prefixed with zlib_. Several test targets were renamed to one
scheme, for example zlib_examplestatic and minigzipstatic.
- The zlib1.dll option ENABLE_BZIP2 is now
ZLIB1_DLL_ENABLE_BZIP2.
- When not otherwise determined, z_off_t is again long, as in
1.3.1, instead of 1.3.2's long long. Windows applications built
with 1.3.2 headers should be recompiled; see Enhancements for
64-bit offsets.
- deflateReset() now resets the gzip header set by
deflateSetHeader(), as zlib.h has always said. Code relying on
the header persisting must set it again.
- Raw deflate that completes exactly at the end of the output
buffer now returns Z_STREAM_END instead of Z_OK, as documented.
- gzopen() with "x" now fails where O_EXCL isn't available, instead
of truncating an existing file (Trail of Bits TOB-ZLIB-009).
- gzip reading now delivers the data decompressed before a read
error, and only then reports the error.
Security fixes:
- Non-blocking gzwrite() had a buffer overflow; CVE-2026-85091
(reported by mat-mo; also TOB-ZLIB-003).
- inflateGetDictionary() could write up to 8 MB past the caller's
32K buffer (Theorem THM-ZLIB-001). This took a zlib header with
an invalid window size, then inflateReset() or inflateSync().
Affects 1.3.1 and 1.3.2.
- inflateSync() before the window size was known allocated a
one-byte window that could later be overrun (TOB-ZLIB-004).
- inflatePrime() could lead inflate() to read before the start of
the input (TOB-ZLIB-014).
- Repeated deflatePrime() calls could write past the pending buffer
(TOB-ZLIB-013).
- inflateBack() failed to detect distances too far back, and copied
uninitialized memory to the output (reported by Kornel Lesiński).
- gzseek() forward before any data was written could write
uninitialized memory to the gzip output (found by Claude Opus
5.5).
- deflateResetKeep() used mid-stream could read outside the window
(reported by Jason Gross).
- gzdopen() now sets close-on-exec with the correct flag
(TOB-ZLIB-008).
- minizip:
- A double free in block_central_name() (reported by Oculytic),
and a NULL dereference on repeated zipAlreadyThere() calls
after a bad central directory (reported by Naveed Khan).
- Validation of extra-field sizes, plus portable, alignment-safe
reading, in zipRemoveExtraInfoBlock() (reported by Naveed Khan
and jmestwa-coder).
- unzip no longer reads Zip64 values from outside their
extra-field record (reported by Mohamed Elnady). It also uses
only the Zip64 locator immediately before the end of central
directory record (reported by snajafov). Crafted archives could
make minizip report different entries than other readers.
- miniunz could create directories outside the extraction
directory (reported by Naveed Khan), and on Windows write files
anywhere (reported by Trail of Bits). Fixed by Naveed Khan.
Path names are now processed by component.
- contrib/infback9: removed out-of-bounds pointer arithmetic in
inftree9.c; CVE-2026-4738 (fix by npt-1707, submitted by
CrossVR). The pointers return in bounds before use and no known
compiler mishandles this, so the critical rating overstates it,
though it could trap on capability hardware such as CHERI.
Bug fixes:
- gzip reading:
- Restored the detection of truncated gzip streams, part of which
was lost in 1.3.2. Also fixed a complete stream being reported
as truncated.
- An error in the first member is no longer treated as trailing
garbage.
- Corrected pending-skip handling in gz_skip(), gzdirect() and
forced seeks at EOF.
- gzgets() now returns an empty string when promised.
- gzip writing:
- Successive SEEK_CUR seeks no longer lose zero fill.
- Zero fill is now handled correctly after a write error.
- gzprintf() is now all-or-nothing when blocked, and is no longer
a stub when compiled as C++.
- gzseek() leaves the position unchanged on failure.
- gzopen_w() now works with paths not representable in the
locale.
- inflate:
- total_in was short six bytes on Z_NEED_DICT.
- inflateReset() now restores the requested window size, and the
wrap after inflateSync().
- inflateSetDictionary() rejects a null dictionary.
- With PKZIP_BUG_WORKAROUND, the code tables were slightly too
small.
- deflate:
- A bad deflateSetDictionary() call is now detected as promised.
- A failed deflateCopy() or inflateCopy() leaves the destination
safe to end.
- Removed a possible overflow in deflate_stored() comparisons.
- Undefined behavior removed in gzwrite.c, gzseek, gz_vacate() and
mztools.c.
- minizip:
- zip.c no longer writes corrupt headers when a Zip64 field
overflows an extra field (reported by mzfr and itsgaldoron), or
for Zip64 entries with file comments.
- zipOpen3() no longer leaks memory or returns a freed comment
pointer on failure.
- Added allocation checks.
- Build:
- configure now builds the shared library with linkers such as
lld that reject undefined symbols in zlib.map, including for
--solo.
- zlib.h no longer depends on NULL being defined.
- zip.c builds with NO_ADDFILEINEXISTINGZIP.
- The test programs use the generated zconf.h when building out
of tree.
- Many CMake fixes: pkg-config files, installation of headers and
of minizip's configuration, symbol prefixing, assembler
detection, and parallel testing. It also works with CMake 4.
Enhancements:
- 64-bit offsets on Windows with MSVC or MinGW, by compiling the
application with _FILE_OFFSET_BITS=64 or _LARGEFILE64_SOURCE. The
library itself needs no changes.
- Platforms:
- Android large file support.
- An export list on AIX.
- -Wno-psabi, only where the PowerPC note would appear.
- s390x VGFMAFLAG in configure.
- Win32 Makefile.msc builds for ARM64.
- minigzip's mmap code uses POSIX types.
- CMake:
- Package components, with _FOUND variables.
- Installation and export of zlib1.dll and zlibwapi.dll.
- Contribs build standalone, with zlib's defaults.
- Tests consolidated, and tests on Windows.
- minizip:
- The traditional encryption header uses a PCG generator instead
of rand().
- Fewer compiler warnings.
- Documentation:
- Clarified that undocumented functions are not part of the API.
- inflateGetHeader() header reuse.
- deflateBound() and deflateSetDictionary() ordering.
- The application's responsibilities in unzip.h.
Known issues:
- contrib/iostream2 is unsafe on untrusted input (reported by Trail
of Bits). When reading a string, it uses the length stored in the
compressed data without checking it, so a crafted file can write
past the end of the destination buffer. Use contrib/iostream3
instead.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.1.0:
Changes:
- Add tss_request_add_bora_tags() and tss_request_add_durant_tags()
to the API
- Update auth client version and add Ap,Timestamp to requests
- Restrict Yonkers tag selection to SysTopPatch
Fixes:
- Handle realloc() failure in tss_write_callback()
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.4.20:
- Fixed mouse wheel direction in mouse relative mode on Windows
- Improved Wayland clipboard handling
- Fixed color cursor alpha mask on X11
- Fixed a crash when Vulkan texture memory binding fails
- Fixed transparent windows using the Vulkan renderer
- Improved handling of Nintendo Switch controller calibration
- Fixed Nintendo Switch controllers failing because of missing
stick and IMU calibration
- Fixed reports stopping on the Flydigi Vader 5 Pro while the
Flydigi Space Station service is running
- Added support for rumble and trigger rumble on the Flydigi Vader
5 Pro
- Added support for the 8BitDo Ultimate 2C Wireless controller via
HIDAPI
- Fixed a crash recording float audio on Android 10
- Improved relative mouse mode handling on Android
- Fixed window orientation on iOS 27
- Fixed keyboard focus when using the latest Xcode on iOS
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.3.0:
- Remove paperconf(1) and support for
{/etc,$XDG_CONFIG_HOME}/papersize
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.1.24:
- API: nice_agent_attach_recv_ex() to retrieve extra message data
in recv callback
- API: nice_message_extra_data_get_tos() to enable access to
IP_TOS/IPV6_TCLASS IP header field of incoming packets; requires
GLib 2.88
- API: stun_usage_bind_run_compat() to allow specifying
compatibility mode when sending a binding request
- Nicesrc: Attach GstNetControlMessageMeta containing the TOS
header field to buffers
- Ensure NICE_CANDIDATE_MAX_TURN_SERVERS is obeyed
- Ensure nice_agent_get_local_credentials() returns FALSE on error
- Fix random crashes
- Fix potential heap buffer overflow in UDP-TURN over TCP
- Fix compilation on FreeBSD
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.656:
- Prevent dbi_profile crash (CVE-2026-108518) (Henrik Teichmann)
- Fix lock file not removed when DBD::DBM check for bad serializer
class fails. (CVE-2026-111879)
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.20:
- Added a plug-in type for profile header parsing.
- Fixed premultiplied alpha on planar 16 bit and optimized
matrix-shaper transforms.
- Fixed planar half float and Lab double formatters, and planar
strides in fast_float.
- Fixed gamut checking with two profiles and a possible crash with
malformed profiles.
- Recovered neutrality correction in black point detection.
- Made cmsCreateLab2Profile white point handling consistent with
cmsCreateLab4Profile.
- Fixed UTF8 buffer size calculation.
- CGATS parser is now more permissive on certain properties.
- Fixed callback type mismatch in resampled CLUT evaluation.
- Fixed a crash in PostScript CSA generation.
- Fixed memory leaks in black preserving intents and .cube loading.
- cmsChangeBuffersFormat now correctly rejects format changes on
floating point transforms.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.2.3:
- configure.ac: add 0800-openssl-4.patch from Brent Kirby
- util/ipmiutil.c: set ver 3.23
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.8.146:
- Update compile-time configuration option `WITH_SELF_PIPE` to use
`poll()` when available.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 16.1.0:
Added
- Graph attribute svgid sets the id property of the <svg> of a
graph.
Fixed
- An sfdp crash has been fixed. This was a regression in Graphviz
15.1.1.
- Graphs that induce invalid trapezoids during ortho routing no
longer cause Graphviz crashes on non-Windows platforms. These
scenarios now exit with failure gracefully.
- edgepaint no longer crashes when passed the illegal option -s.
- cluster no longer crashes when passed single character
command-line options without arguments (e.g. cluster -C).
- cluster of trivial graphs with no nodes no longer crashes.
- cluster on large chains of nodes no longer references
out-of-bounds memory. This was a regression in Graphviz 7.1.0.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.8.0:
- Repeated reads
--read-repeated[=<count>] [<file>]: Read the flash chip multiple
times (default: 3, minimum: 3) and use majority voting to detect
unstable connections. Deduplicates read results to minimise memory
usage. If a file is given and a strict majority is found, saves the
majority content to it. Useful for diagnosing flaky SPI wiring or
unreliable programmers.
- Bugs fixed
Internal programmer no longer exits when ECAM is unavailable On
Intel PCH100+ systems the flash enable code opens a second libpci
accessor with PCI_ACCESS_ECAM. Mapping the ECAM region requires
access to a physical range the kernel commonly reserves for a
driver (PNP0C02), which CONFIG_IO_STRICT_DEVMEM denies. libpci
reports this through its error handler, which by contract does not
return and by default terminates the process, so flashrom died
with:
pcilib: Cannot map ecam region: Operation not permitted. before
probing anything, with no command line option to work around it.
Every kernel built with CONFIG_IO_STRICT_DEVMEM=y was affected,
which is the default in most distributions.
An ECAM initialisation failure is now caught and the 0xcf8/0xcfc
port I/O access is used instead. ECAM is still tried first, so
machines that need it keep using it.
Remove 0003-cli_classic-Initialize-time_start-time_end.patch
because the patch has been merged in the upstream.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.13.1:
- Improve behaviour of --scale-down in tiling window managers.
Newly loaded images should now no longer flicker.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.0.145:
- Use SHA512 if listed in Release file
- work_out_debs: On hurd-any, add seedfiles to fulfill passwd's
dependency on systemd-tmpfiles
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.13.1:
Enhancements:
- bwrap now accepts multiple --sync-fd arguments and will handle
all of the fds.
Bug fixes:
- O_PATH is used when opening parent directories in the new root,
fixing an error when read permission is missing.
License-Update: Change from LGPL-2.0-or-later to LGPL-2.1-or-later
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.14.0:
General Notes
- Botan4 is expected to be released in May 2027. This new major
release will remove significant deprecated functionality. Please
consult the deprecation notes in doc/deprecated.rst and if your
usage would be impacted by any such deprecations, please comment
in GH #4666
- Add a warning to the documentation regarding recent research on
the security of Classic McEliece. Following the current
recommendations of BSI, Classic McEliece should only be used in a
hybrid scheme. (GH #5993)
- The API documentation now consistently warns about algorithms and
operations with known side channel issues. (GH #6007)
New APIs and Features
- Add types PK_Signature_Options PK_Encryption_Options,
PK_KEM_Options, and PK_Key_Agreement_Options which allow an
application to precisely control how public key operations
(signature, encryption, decryption, KEM, etc) are performed. (GH
#5489#5864)
- Add an implementation of HPKE from RFC 9180 (GH #5989)
- Add an implementation of the BLS12-381 pairing friendly curve,
including the groups G1, G2, and Gt and the pairing operation.
(GH #5718)
- Add Work_Executor, which allows an application to replace the
library's internal thread pool with its own executor. (GH #5990)
- ML-DSA signatures now support the application context string of
FIPS 204, passed via PK_Signature_Options::with_context. (GH
#5531)
- Add an experimental C API for TLS in the new ffi_tls module,
currently covering policies, credentials, and session managers.
Experimental modules are not built by default and not covered by
SemVer. (GH #2492#5941#5963)
- Introduce a new design for entropy sources. (GH #5928#5945)
- Add EC_Group::register_custom_group, which makes explicit the
registration behavior previously only available as a side effect
of the EC_Group constructor taking the curve parameters. (GH
#5922)
- Add group functions returning the associated EC_Group to
EC_Scalar and EC_AffinePoint. (GH #5948)
- Add TLS::Callbacks::tls_register_deferred_operation, which gives
the library explicit control over DTLS retransmission timers, as
an alternative to polling Channel::timeout_check. Use of
timeout_check is deprecated. (GH #5915#6096)
- In TLS 1.3 send KeyUpdate requests when the number of records
sent or received approaches a policy-set limit. (GH #5877)
- Add TelephoneNumber and TelephoneNumberRange types modeling the
telephone numbers and number ranges used in RFC 8226 STIR
certificates. (GH #5979)
- Add PKCS12::mac_protected which indicates if the PKCS #12 file
was protected using a MAC. (GH #5902)
- Jitter_RNG now accepts the compliance mode and the oversampling
rate which should be used by the jitterentropy library. AIS 20/31
NTG.1 compliance can be requested with Jitter_RNG::Mode::NTG1 if
jitterentropy 3.7.0 or later is used. Note that Jitter_RNG no
longer forces the FIPS mode of jitterentropy by default; use
Jitter_RNG::Mode::FIPS to retain the previous behavior. (GH
#5832)
- FFI handles can now share ownership of the underlying object. The
RNG passed to botan_tpm2_ctx_enable_crypto_backend is now
retained for the lifetime of the TPM2 context, rather than being
borrowed. Add botan_is_shared and botan_use_count to query the
ownership of a handle. (GH #5959#6038#6048#6052)
- Add FFI functions botan_ec_scalar_get_group,
botan_ec_point_get_group, and botan_ec_point_to_mp_xy. (GH #6080)
- Add FFI functions botan_x509_crl_view_issuer_dn and
botan_x509_crl_view_issuer_dn_count for accessing the issuer DN
of a CRL. (GH #6077)
- Processor_RNG now supports the ARMv8.5-A FEAT_RNG extension (the
RNDR instruction) on aarch64. (GH #5228#6084)
Security and Hardening
- CVE-2026-118770 Fix a use after free in the TLS asio integration
which depending on application usage patterns may allow leaking
heap memory to the peer.
- CVE-2026-118771 Fix a bug in TLS 1.3 which could allow an
unauthenticated peer to pin unlimited amounts of memory in the
handshake by sending many dummy ChangeCipherSpec messages.
- Fix a bug in DTLS which allowed a peer to skip the cookie
exchange even if the policy required it.
- Address various DTLS handshake desync bugs (GH #5783)
- Fix a number of minor TLS conformance bugs and validate peer
input with respect to some RFC requirements which were previously
ignored. (GH #6061)
- During X.509 path validation, signatures are now verified
starting from the trust anchor down to the leaf, stopping at the
first invalid signature. (GH #5982)
- CRL signatures are now checked against the trusted hashes policy,
as already done for certificate signatures. (GH #5981)
- Ed25519, Ed448, X25519, and X448 public keys are now fully
validated on deserialization, rejecting points of low order. (GH
#5594)
- Harden EC, RSA, DL, and Ed25519 private key loading, rejecting
various invalid encodings and parameters. (GH #5994#5995#5996#5997#6009#6041)
- All paths which decode or construct an EC_Group now verify the
complete set of group parameters, including generator validity,
the Hasse bound, and the curve discriminant. Anomalous curves
(where the order equals the field prime) are now rejected, and
the deprecated EC_Group constructor rejects cofactors of zero or
greater than 16. (GH #5921)
- ECIES now verifies that the peer's public point is encoded using
the point format specified in the ECIES parameters. Also,
EC_AffinePoint::deserialize now rejects hybrid encoded points of
the wrong length. (GH #5913#5920)
- Rework how stateful RNGs decide that they are seeded. Previously
a call of randomize_with_input with an empty output and a
non-empty input of sufficient length was treated as sufficient
for seeding. Now only an explicit call of initialize_with or
add_entropy is treated as a possible seeding event. (GH #5928#5945)
- The TLS server now validates that the host name received in the
SNI extension is a syntactically valid DNS name. The name passed
to the Credentials_Manager and other callbacks is now the
canonical (lowercased) form. (GH #5937)
- Fix various bugs in decoding the RFC 3779 IP address and AS
identifier extensions. Add interop between IPAddressBlocks and
the IPv4/IPv6 name types. (GH #5957#5978)
- Fix lenient decoding of the RFC 8226 TNAuthList extension, and
add support for encoding it. (GH #5977)
- Replace the algorithm name parser with a stricter and faster one.
Previously, invalid or trailing parameters were sometimes
silently ignored, for example HMAC(SHA-512,Foo) was accepted. (GH
#5956)
- Fix several bugs and missing validations in the HTTP client.
Control characters in headers are now rejected, RequestLimits now
caps the response body at 8 MiB by default, and timeouts are
tracked using a monotonic clock with the budget carried across
redirects. (GH #5980)
- SPAKE2+ now rejects a ProverSecret with w0 or w1 equal to zero,
and the context moves to a failed state if any peer message fails
to decode, rather than allowing further attempts. (GH #5976)
- Avoid an information leak during RSA key generation, where the
number of candidate primes rejected after sieving leaked some
bits of the final prime. (GH #6068)
- The Lucas primality test is now constant time; previously the
search for the parameter D leaked information about the prime
being tested. (GH #6067)
- Fix various minor side channels, including a value dependent
branch when storing BigInt words, a value dependent loop in
modular multiplication, variable length blinding of RSA
exponents, and a branch when negating Ed25519 field elements.
Many more secrets are now marked for the valgrind based constant
time checks. (GH #6069#6071)
- Improve validation of ML-KEM, ML-DSA, FrodoKEM, Classic McEliece,
McEliece, and XMSS keys. Invalid keys now consistently throw
Decoding_Error, and various cheap consistency checks are
performed during deserialization. (GH #6083)
- Fix two bugs in TLS session resumption. A server now verifies
that a resumed session satisfies the current policy, including
client certificate authentication requirements and (in TLS 1.2)
the ciphersuite requirements, rather than accepting any
previously established session. Additionally a session manager
shared between a client and a server role no longer allows a
session established in one role to be resumed in the other. (GH
#5797#5837)
- TLS now limits the number of consecutive useless records (empty
records, warning alerts, and TLS 1.3 compatibility mode
ChangeCipherSpec) accepted from the peer, closing the connection
if the limit is exceeded. The default limit of 32 can be changed
using TLS::Policy::max_useless_records. (GH #6051)
- AutoSeeded_RNG now mixes a high resolution timestamp along with
output from the system RNG into each request, to help recover
from a VM rollback or process duplication which the kernel RNG
did not detect. (GH #6054)
- The stateful key index registry used by XMSS and HSS-LMS now
detects a fork using the fork generation counter rather than only
the process ID, and Stateful_RNG now detects a fork which occurs
before it is first seeded. (GH #6058)
- The baseline SM4 implementation (used if there is no suitable AES
or SIMD hardware) is now constant time. (GH #6090)
Behavior Changes
- TLS now enforces that certificates contain the digitalSignature
bit (or, for TLS 1.2 RSA key exchange, keyEncipherment).
Previously nonRepudiation or dataEncipherment key usages were
also accepted. (GH #6061)
- If the TLS policy requires client authentication then PSK
ciphersuites will no longer be accepted, since PSK plus client
auth is not supported in the handshake. (GH #6061)
- Update the ML-DSA private key encoding in PKCS #8 containers to
conform to RFC 9881. All three encodings of the RFC (seed,
expanded key, both) are supported. The old formats can still be
decoded. (GH #5002#5307)
- Update the ML-KEM private key encoding in PKCS #8 containers to
conform to RFC 9935. The old formats can still be decoded. (GH
#5934)
- By default, ECDSA signatures are now randomized rather than
deterministic even when RFC 6979 support is available at build
time. Deterministic signatures can be requested using the API
PK_Signature_Options::with_deterministic_signature or by
appending ",Deterministic" to the normal hash specifier string.
(GH #5489)
- AutoSeeded_RNG now uses HMAC_DRBG with SHA-256 rather than
SHA-512 when hardware support for SHA-256 is available. (GH
#6003)
- Rework ChaCha_RNG: it now uses HMAC(SHA-512) instead of
HMAC(SHA-256) and also derives the ChaCha nonce from the key
material. Optional fast key erasure can be enabled with
ChaCha_RNG::KeyErasure::WithKeyErasure to gain backtracking
resistance. As a result the output of ChaCha_RNG for a given seed
has changed; it was never guaranteed to be stable across versions
and may change again in the future. (GH #5121)
- Password hash tuning (PasswordHashFamily::tune_params) now
measures the CPU time of the calling thread where available
(falling back to a monotonic clock), and uses the fastest of
several samples rather than the mean. This makes the result much
less sensitive to concurrent load and clock adjustments. (GH
#5898)
- During X.509 path validation the self-signature of the trust
anchor is no longer verified; the anchor is trusted because the
application provided it. For a typical chain this removes about a
third of the cost of path validation. (GH #6008)
- DSA now rejects parameters where p is smaller than 512 bits or
larger than 3072 bits, or where q is larger than 256 bits.
Previously only a minimum of 160 bits for q was enforced. (GH
#6039)
- The ASN.1 pretty printer now formats integers of fewer than 32
bits in decimal; previously the limit was 16 bits. (GH #6025)
Optimizations
- Add support for parallel hash function invocations, including
AVX2/AVX512 implementations of SHA-256, SHA-512, and SHAKE (GH
#5493#5865#5867#5869#5871#5872#5873)
- Optimize SLH-DSA, XMSS, HSS-LSM, FrodoKEM, and ML-KEM using
parallel hash function execution. (GH #5866#5868#5870#5876#5878)
- Refactor and optimize Ed25519 (GH #5893)
- Refactor and optimize X25519, especially improving key generation
(GH #6010)
- Elliptic curve optimizations, especially improving P-256 and SM2.
(GH #6012#6013#6020#6021#6024#6031#6059)
- Add AVX-512+IFMA modular exponentiation support, improving RSA
and FFDHE by 3-4x (GH #6026)
- Add a fused Montgomery multiplication using BMI2/ADX, improving
modular exponentiation on x86-64 processors without IFMA by about
30%, and optimize the corresponding Montgomery squaring. (GH
#6044#6053)
- Add AVX2 codepath for ML-KEM (GH #5964#6032#6033)
- Enable many SIMD optimizations on POWER systems (GH #6027#6028)
- Improve the performance of one-shot RSA private key operations
(GH #6004)
- Optimize multiprecision integer division operations, and convert
all such divisions to be constant time with respect to their
inputs. (GH #5849#5880#5883#5884)
- Optimize primality testing by performing trial division by small
primes before running Miller-Rabin, rewriting the Lucas test to
use Montgomery form, using faster variable time variants when
testing public parameters, and running the Miller-Rabin and Lucas
tests in the thread pool when it is available. (GH #5886#6040)
- Improve the performance of X.509 certificate parsing, including
PEM decoding, OID decoding, and extension handling. (GH #5888#5889#5890#5891)
- Avoid quadratic behavior when decoding an X.509 distinguished
name with many attributes. (GH #6063)
- Add a certificate cache to the macOS system certificate store,
implement contains() directly, and query the keychain by issuer
DN and serial number instead of scanning all certificates of an
issuer. (GH #5541#5929)
- Resolve a performance regression in TLS 1.3 record processing
introduced in 3.13.0, and avoid several copies and allocations on
the send side. (GH #6002#6046)
- Reduce memory allocations during TLS 1.2 record processing. (GH
#5887)
- Use the AES instructions to compute the key schedule on x86,
ARMv8, and POWER8, making AES::set_key substantially faster,
especially on ARMv8 and POWER8 which previously used the
bitsliced software key schedule. (GH #6078#6081)
- Modify the bitsliced AES implementation to use the native word
size of the processor, instead of always 32 bits. (GH #5826)
- The AVX-512/GFNI Twofish implementation is now used for all
blocks, including any tail of fewer than 16 blocks, so the table
based implementation is never used on processors which support
these extensions. (GH #5975)
- Optimize the Whirlpool compression function on x86-64 and
aarch64. (GH #5857#5892)
- Add an AVX-512 implementation of base64 encoding and decoding (GH
#5999)
- Optimize base58 encoding and decoding (GH #5858)
- Enable support for NEON/ARMv8 codepaths on Windows aarch64 (GH
#5863)
Bug Fixes
- Fix a bug where a TLS 1.2 client configured with multiple
certificate chains selected among them arbitrarily, without
considering the server's signature_algorithms extension. (GH
#5932)
- Fix the in-memory TLS session manager, which ordered stored
sessions by session ID rather than by recency, so the wrong
session could be evicted or returned. (GH #5847)
- Fix a bug introduced in 3.13.0 where, in builds without the
system RNG, RandomNumberGenerator::randomize_with_ts_input passed
only the low 32 bits of the timestamp, and never the process id,
as additional input. (GH #5924#5926)
- Fix various bugs in RNGs and entropy sources, including some edge
cases involving fork safety. (GH #5987)
- Fix several bugs in the PKCS #11 wrapper, including typed key
searches matching keys of the wrong type, EC public keys always
being encoded in compressed form, ECDH accepting peer points with
a small order component, and Object::destroy leaving a stale
handle. (GH #5983)
- Fix a race in the FFI layer where the thread-local storage for
the last exception message could be accessed after its
destruction during process shutdown. (GH #5859)
- Fix libsodium compatibility issues in the sodium compat layer (GH
#5966)
- Fix various edge cases in the sqlite3 database wrapper. (GH
#5972)
- TOTP::verify_totp now takes an optional forward_drift_accepted
parameter to accept codes from a client whose clock is ahead of
the server's, as allowed by RFC 6238. The existing
clock_drift_accepted parameter is unchanged and still only
applies backwards. (GH #6035#6070)
- Fix several corner case bugs in CPU feature detection. (GH #6036)
- Fix the move operators of Dynamically_Loaded_Library, which
previously caused the library to be closed twice. (GH #5967)
- Fix various bugs in the TLS ASIO stream. Cancellation slots are
now forwarded to the next layer so that timeouts reach pending
operations, synchronous operations are refused while an
asynchronous write is in flight, operations attempted before the
handshake no longer cause all later handshakes to fail, and move
assignment of Stream now compiles. (GH #6060)
- Fix various bugs and edge cases in the stateful hash signature
schemes XMSS and HSS-LMS (GH #6066)
Deprecations and Cleanups
- Deprecate the public header pem.h; it will become internal in
Botan4. (GH #5891)
- Deprecate the modules filters, comb4p, passhash9, emsa_x931, ofb,
rc4, certstor_sql, and certstor_sqlite3. Additionally SRP6, the
X9.42 PRF, and the TLS OCB ciphersuites are now documented as
deprecated. (GH #5971)
- Remove many unused header includes, including from public
headers. Applications which relied on transitive includes may
need to add explicit includes. (GH #5897)
Command Line Utility
- Add a create_cert_for_key command, which issues a certificate
directly for a public key without requiring a PKCS #10 request.
This allows creating certificates for KEM keys such as ML-KEM.
(GH #5529)
- Add a --one-shot flag to the speed command which causes the
public key benchmarks to create a new operation object
(PK_Signer, PK_Verifier, ...) for each measured operation, rather
than creating one and reusing it. (GH #5951)
- Remove the sandboxing support (sandbox_init, pledge, Capsicum)
from the command line tool. Recent versions of macOS kill any
process which calls sandbox_init, and the other implementations
were dead or untested code. (GH #5940#5942)
- Fix many bugs in the command line tool. Commands now consistently
report failures through the exit status, integer and option
arguments are strictly validated, I/O errors are consistently
detected, and passing the same file as input and --output no
longer truncates the input. (GH #6037)
Python Binding
- The Python binding now can adapt itself to any version of Botan3.
(GH #5851)
- Add X509Cert.binary_values/string_values and the equivalents on
X509CRL. (GH #5984)
- Fix a number of bugs in the Python binding (GH #5969#6064)
Build and Infrastructure
- Add support for precompiled headers with GCC and Clang, enabled
using --enable-pch. (GH #5298)
- SIMD support on POWER now requires POWER8 (VSX). (GH #6029)
- Add --disable-lsx and --disable-lasx options for LoongArch. (GH
#5108)
- Various build fixes, including for MinGW with libc++ 20 or later,
the import library output directory with GCC on MinGW, and Clang
on Aarch64. (GH #5850#5854#5875#5901#5953#5954)
- The aes_ni, aes_armv8, and aes_power8 modules have been merged
into a single aes_hwaes module. Build configurations which
referenced the old module names must be updated. (GH #6081)
- Fix the CMake package configuration on MinGW, which did not set
IMPORTED_IMPLIB for the imported target. (GH #6057)
- CI updates including moving most builds to Ubuntu 26.04, adding
Windows Aarch64 builders, dropping the 32-bit MIPS cross build,
updating dependencies used in CI, and improving resilience to
slow package mirrors. (GH #5768#5846#5848#5860#5861#6065)
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.38.2:
- Added a `"scheduler"` / `"assume_continuation"` configuration
parameter. When `true`, the scheduler assumes that all posted
handlers are a continuation of the currently executing handler,
allowing them to be added to a fast thread-local queue. This can
improve performance for applications that exclusively use
short-running handlers.
- Added a `"reactor"` / `"io_uring_ring_count"` configuration
parameter. This sets the number of independent io_uring
instances ("rings") that a single execution context maintains
internally. Increasing this parameter from its default of 1 may
improve scalability when the execution context is used with
multiple threads.
- Added a `"reactor"` / `"io_uring_ring_size"` configuration
parameter, which is used to specify the number of entries in each
io_uring instance.
- Added a `"reactor"` / `"io_uring_submit_batch_size"`
configuration parameter. This sets the number of pending
io_uring submission queue entries at which they are submitted
immediately, rather than deferred.
- Added a `"reactor"` / `"io_uring_iowait"` configuration
parameter, which may be used to determine whether the thread is
marked as being in iowait while io_uring operations are pending.
- Added the ability to configure `ssl::stream<>`'s internal buffer
sizes.
- Added `asio/fwd.hpp`, as a way to safely forward declare some
Asio class names, even when `ASIO_ENABLE_VERSION_NAMESPACE` or
`ASIO_VERSION_NAMESPACE` are defined.
- Added an example for using `cancel_after` with coroutines.
- Changed all exception classes to use inline implementations, to
fix an undefined symbol error on some platforms when using
separate compilation.
- Changed constants and CPOs to use external linkage for C++17 and
later.
- Changed "slim" mutexes to use futexes on Linux.
- Changed the reactor send/receive path to use `MSG_DONTWAIT`, if
supported, rather than setting the socket to be non-blocking.
- Added a missing optimisation for `concurrency_hint == 1` in the
`io_context` class's `poll_one()` function.
- Added support for `co_composed` under `ASIO_NO_EXCEPTIONS`.
- Fixed a `co_composed` crash on MSVC that occurs when using
multiple completion signatures.
- Fixed a `co_composed` crash on MSVC by ensuring 16-byte block
alignment in its internal coroutine representation.
- Fixed the return type on one `cancel_after` overload.
- Fixed integer truncation in `basic_streambuf::commit`/`consume`
for sizes greater than or equal to `INT_MAX`.
- Fixed a buffer invalidation error triggered when SSL streams are
moved, and clarified the buffer invalidation semantics in the
documentation.
- Fixed a compilation error, seen with some compilers such as
[^nvc++], that occurs when using `post`, `dispatch` or `defer`
(or an asynchronous operation built on them) with a completion
handler.
- Fixed `parallel_group` handling of non-terminal cancellation
requests.
- Fixed thread sanitizer warnings due to atomic thread fences, and
added thread sanitizer instrumentation to the io_uring backend.
- Fixed a signed/unsigned warning in `basic_resolver_results`.
- Fixed `experimental::channel` compilation with older versions of
MSVC.
- Fixed the `multicast::enable_loopback` socket option size on
NetBSD and OpenBSD.
- Suppressed case fall-through warnings in the SSL implementation.
- Fixed standard library coroutine detection when using
[^clang-cl].
- Improved cross-referencing within the documentation.
License-Update: Update copyright years to 2003-2026
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>