Add a recipe for python-stdnum, a Python module to handle
standardized numbers and codes. The changelog for release 2.2
includes:
- Add modules for the following number formats:
VÖEN (Vergi ödəyicisinin eyniləşdirmə nömrəsi, Azerbaijan
tax number)
Belgian OGM-VCS
Leitweg-ID, a buyer reference or routing identifier for
electronic invoices
European Excise Number
n° d'accise (French number to identify taxpayers of excise
taxes)
RCS (French trade registration number for commercial companies)
NUIT (Número Único de Identificação Tributaria, Mozambique tax
number)
NINEA (Numéro d'Identification Nationale des Entreprises et
Associations, Senegal tax number)
- Fix handling of decimals in Application Identifiers
- Update list of valid Chinese counties
- Mark more Romanian CNP county codes as valid
- Support Latvian personal codes issued after 2017
- Provide aliases for Estonian numbers
- Add validation of country code in BIC
- Add function to convert a French VAT number into a SIREN
- Add a function to format a French SIREN
- Add extra validation of Belgian VAT numbers
- Add support for nace revision 2.1
- Support the new Romanian ONRC format
- Support new format for Brazilian CNPJ
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a recipe for zeep, a Python SOAP client. The changelog for
release 4.3.3 includes:
- Wire up the forbid_external setting (previously defined but unused
since the move off defusedxml in 4.0). When enabled it refuses to
transitively fetch http/https resources via xsd:import,
xsd:include, wsdl:import or lxml entity resolution, raising
zeep.exceptions.ExternalReferenceForbidden. The user-supplied
entry-point WSDL/schema URL is still loaded. The default remains
False to preserve existing behaviour; enable when loading WSDLs
from untrusted sources to mitigate SSRF via attacker-controlled
import targets.
- Internal tooling only: migrate dependency/build management to uv
and replace isort/flake8/black with ruff. No runtime changes.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add recipe for isodate, an ISO 8601 date/time/duration parser and
formatter. The changelog for release 0.7.2:
- Drop end of life python versions
- Don't match garbage characters at the end of parsed strings
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.4.4:
compat:
- Fixed a missing import.
markers:
- Enforce compatible-release bounds in environment markers.
metadata:
- Add an urls property to expose project and home URLs.
scripts:
- Raise the correct exception when a launcher can't be written.
- Detect shell-script Python executables in ScriptMaker shebangs.
util:
- Improve performance of export entry search to take linear time.
- Use tarfile.data_filter rather than tarfile.tar_filter in
unarchive() when extraction filters are available, matching the
Python 3.14 default. Path and link containment checks now use
os.path.realpath and no longer fail with IndexError for members
such as . or ./.
- unarchive() now resolves member paths through symlinks seen
earlier in the same archive, so a chain of individually
harmless-looking links cannot be used to write outside the
destination on Pythons without extraction filters.
version:
- Improve NormalizedVersion by addressing correctness and
performance gaps found by comparison with packaging.
- Improve SemanticVersion by comparing numeric prerelease
identifiers, including those longer than 8 digits.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.6.4:
- Clarify the executable paths accepted by try_first_with in the
standalone usage example.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a recipe for vermin to concurrently detect the minimum Python
versions needed to run code.
Release notes for version 1.9.2:
- Fix incorrect version requirement of __lazy_modules__
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.10.1:
- Fix packaging
From release 0.10.0:
- Support CSS Notes
Extend RDEPENDS with the missing runtime dependency
python3-webencodings.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.12.3:
- Fix unaligned buffer handling on sparc64
- Preserve bitarray subtypes in operation return type hints
- Fix Hashable detection on Windows
- Add workflow to build and test on SPARC64, RISC-V and NetBSD 11
(amd64) (all successful)
- Add documentation for [platform support](platforms.rst)
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
bison now carries the fix for CVE-2026-56390, which rejects '/' in
%header/%defines and %output file names, so generating the command
parser fails:
lib/command_parse.y:20.10-30: error: invalid %header file name ignored
lib/command_parse.y:21.10-30: error: invalid %output file name ignored
Backport the upstream fix which drops these directives and passes the
output file name with -o instead.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The script that inserts the FIPS integrity digest into
libleancrypto-fips runs the build host's objcopy, which cannot read the
target ELF file, and it hides the failure because "exit $?" after echo
returns 0. The library is then installed with the placeholder digest,
its integrity self-test fails at load time and all algorithms are put
into the error state.
Make the script use $OBJCOPY, which points to the target objcopy, keep
the exit status of failing commands, and tolerate a missing .init
section which llvm-objcopy otherwise errors out on.
Tested by loading the riscv64 musl library under qemu-riscv64: the
integrity test now passes and FIPS140Mode is reported as true.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The FIPS integrity linker script takes ADDR(.init) for the hashed
regions, but musl provides no .init section on riscv64. GNU ld accepts
the reference to the missing section and yields an empty range, while
lld errors out:
ld.lld: error: internal/src/fips_integrity_check.ld:11: undefined section .init
Use ADDR(.init) only when the section has a size, and otherwise an
empty range at the start of .text, matching GNU ld behaviour.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The riscv64 ADDPTR assembler macro invokes "stride_shift" while the
macro is defined as STRIDE_SHIFT. GNU as matches macro names
case-insensitively, but the LLVM integrated assembler does not, so
building sad-a.S with high bit depth (the default 10bit PACKAGECONFIG)
fails with clang:
error: unrecognized instruction mnemonic
stride_shift a6, a7, t5, t5, 1, 1
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
USE_LARGEFILES requires _LFS64_LARGEFILE, which musl does not define
because its off_t is always 64-bit, so the build fails on musl:
./constants.h:36:2: error: no large file support available, remove -DLARGEFILES from makefile
Add a patch that only requires a 64-bit off_t in that case. It also
replaces the %L length modifier on integer conversions with the standard
%ll, which musl's printf requires.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
dlm_controld's rbtree headers were copied from the kernel and use
__always_inline. glibc defines it in <sys/cdefs.h>, but musl does not,
so the build fails on musl:
./rbtree.h:153:8: error: unknown type name '__always_inline'
Add a patch that provides a fallback definition in linux_helpers.h.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
libxdp turns its BPF programs into linkable objects with a relocatable
link of a raw binary input (cc -r -Wl,--format=binary). Because there is
no real object among the inputs, lld on riscv64 writes an object with
e_flags 0 (soft-float ABI) and a GNU property note with every CFI feature
bit set. Linking it then fails with clang:
ld.lld: error: libxdp.a(xdp-dispatcher.embed.o): file has conflicting
properties: GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED and
GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_FUNC_SIG
ld.lld: error: libxdp.a(xdp-dispatcher.embed.o): cannot link object
files with different floating-point ABI from Scrt1.o
Build the embed objects from a small .incbin assembly stub instead, so the
compiler driver emits them with the correct target ABI.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
rice-c/build.rs runs bindgen without any target flags, so libclang
parsed the build host headers in /usr/include, which fails when cross
compiling, e.g. for riscv64/musl:
/usr/include/bits/floatn.h:97:9: error: __float128 is not supported on this target
Pass the target arch flags, sysroot and triple via
BINDGEN_EXTRA_CLANG_ARGS, as thin-provisioning-tools does.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The clipboard session is always built, as input capture uses it, but
the remote selection source it calls into was only built with
-Dremote_desktop=true, so libmutter failed to link with the default
PACKAGECONFIG:
ld.lld: error: undefined symbol: meta_selection_source_remote_new
Build the remote selection source unconditionally.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 5.1.0:
- Dropped support for Sphinx 6.2, 7.0 & 7.1 and added python 3.14
- Strip leading spaces when making initializer
- Fix duplicate constexpr qualifiers on constructors
- Handle C++11 extended friend declarations
- Keep template arguments in class template specialization names
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 4.3.0:
Overview:
This release primarily fixes a number of subtle bugs related to piping
cmd2 command output to shell commands. It also removes the experimental
tag from the @with_annotated decorator feature.
Details:
- Stabilized features
- @with_annotated is no longer experimental. It was introduced
as an experimental feature in 4.0.0 and is now a fully
supported way to define a command's arguments, alongside
@with_argparser. This covers the decorator and its supporting
API in cmd2.annotated, including Argument, Option, Group, and
ArgumentBlock. Annotated Argument Processing.
- Bug Fixes
- On POSIX, piping a command's output to an interactive program
such as less (help -v | less) now runs that program as the
terminal's foreground job, as a shell pipeline does. It had
run in a separate session that never received the terminal,
so Ctrl-Z and fg did not suspend and resume it together with
cmd2. The program now owns the terminal as it starts, so a
pager can set its terminal modes, and Ctrl-C and Ctrl-Z reach
the whole pipeline. Pipes started from a worker thread, or
whose output does not go to the terminal, such as one nested
in a command whose own output is piped, still run in their
own session
- A shell command piped to an interactive program, such as
shell git log | less, now joins the pipeline's job, so both
processes receive Ctrl-C and Ctrl-Z
- On Windows, fixed piped output appearing garbled in console
programs such as more (help -v | more), a regression in
4.2.4. Pipes are written as UTF-8, but console programs
decode their input with the console's code page. While a pipe
or the pager runs, cmd2 now sets the console to UTF-8 (code
page 65001, as chcp 65001 does) and restores its code pages
afterward, so console programs and UTF-8 tools such as rg
both read the output correctly
- When copying a command's output to the clipboard (help >)
fails, later commands' output is no longer written to the
temporary file that held it
- When a pipe's process cannot be started, for instance because
no more processes can be created or $SHELL names a program
that cannot run, both ends of the pipe are now closed rather
than left open
- When a pipe's process exits before the command runs, what it
wrote, such as the shell's "command not found", is no longer
lost when cmd2 captures the output, as in a pyscript
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.4.0:
- Supports Python 3.15, including the free-threaded CPython 3.15
build, with tests and wheels for Linux, macOS, and Windows.
- Publishes Windows ARM64 wheels, and builds Linux aarch64 wheels
on native arm64 runners instead of under QEMU emulation.
- Tests every supported Python version on arm64 Linux and Windows
in addition to x86-64.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 45.0.0:
- deprecate the diagnostic functionality
- lint: keep the linter green with ruff 0.17
- plot: read the candump lines that logreader reads
- kcd: declare senders and receivers that are not in the node list
- sym: write line breaks in comments as spaces
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.0.236:
- Use signed values for the AICS gain setting fields
- Fix record offsets when parsing a list of PAC records
- serial: add an option to resynchronize with the controller on open
- Reject public keys that are not on the curve in the builtin ECDH
- gatt: enforce value size and queue limits on server long writes
- usb: support Bluetooth controllers that are not interface 0 of a
composite device
- Disconnect LE credit-based channels on invalid SDU lengths
- smp: save pairing keys to keystore before draining connection
- Stop calling the deprecated Host.send_command_sync()
- Fix - remove BIG Sync handles on BigSync.terminate to prevent
resync failures
- ci: pin GitHub Actions to commit SHAs to resolve zizmor issues
- remove support for python 3.10 and add 3.15
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.14.2:
- fs: Fix filesystem type for temporary mounts
- misc: Fix condition for installing pocketlint on Debian/Ubuntu
- misc: Use ansible_facts instead of deprecated top-level fact variables
- Update properties for started stratis pools during populate
- Fix extra mount options for Stratis filesystems in fstab
- Directly access _type/_name in _to_string to avoid subclass property
lock
- Fix deadlock between blivet_lock and logging lock
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>