Upgrade to release 0.26.2:
- Minor doc improvements
From release 0.26.1:
- Add readthedocs configuration
- Add py.typed marker
From release 0.26:
- Update the required python version
- Add type annotations to the module and the unit tests
Fixes:
WARNING: python3-textparser-0.26.2-r0 do_check_backend: QA Issue:
inherits setuptools3 but has pyproject.toml with
setuptools.build_meta, use the correct class [pep517-backend]
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 40.35.0:
- Fix: add correct bban_format so ru_RU iban() generates valid
Russian IBANs
From release 40.34.0:
- Fix: correct BBAN length so da_DK iban() generates valid Danish
IBANs
From release 40.33.0:
- Add alphanumeric CNPJ support for pt_BR via flag
From release 40.32.0:
- Add allowed_path_traversal_elements option to file_path()
- Fix Windows file_path depth=3 test regex
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 21.7.0:
- Replace prettier with mdformat and yamlfmt
- ci: test against Python 3.15 beta
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
============
- Bump the python-packages group across 1 directory with 5 updates.
- Bump ty to 0.0.53. PR #1877 by @YuriiMotov.
- Bump the github-actions group across 1 directory with 4 updates.
- Set Dependabot schedule interval to "monthly".
- Bump pre-commit hooks.
- Add GH workflow to bump pre-commit hook versions.
- Fix latest-changes checkout target.
- Update issue-manager to 0.8.1.
- Bump the github-actions group across 1 directory with 8 updates.
- Bump the python-packages group across 1 directory with 5 updates.
- Update latest-changes to 0.6.1.
- Bump https://github.com/crate-ci/typos from v1.46.0 to 1.47.2 in the pre-commit group across 1 directory.
-Bump pydantic-settings from 2.14.1 to 2.14.2.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Surface the org itself in the FUNDING config
- Replace prettier with mdformat and yamlfmt
- build: use test dependency group in internal envs
- feat(python): match free-threaded and debug interpreter builds
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==============
- NEW: Drop Python 3.9 support.
- NEW: Lazy compile selector patterns to improve initial import speed.
- FIX: Correct :nth-child/:nth-of-type (and -last- variants) for An+B values whose sequence steps onto
- index 0 or onto the last child (e.g. :nth-child(2n-2), :nth-child(n-1), :nth-child(n+5)), which previously
- matched the wrong elements or nothing at all
- FIX: More efficient CSS ID matching
- FIX: Fix inefficient trimming of comments and white space
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Add Persian short month names for %b
- Drop legacy Python 2 bytes support from strftime
- typing: align date/datetime dunder annotations with typeshed
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
============
- fix passing PYTHONPATH, PYTHONWARNINGS, and PYTHONDONTWRITEBYTECODE while
running the test suite.
- fix passing PYTEST_DISABLE_PLUGIN_AUTOLOAD and PYTEST_PLUGINS while running
the test suite.
- inline-snapshot now tracks source files that use external() in
.inline-snapshot/files_using_external.txt (inside storage-dir) and uses this
tracked list to detect and trim unused external snapshots.
- The tool.inline-snapshot.test-dir configuration option is only used as a
compatibility fallback when files_using_external.txt does not exist yet.
- Documentation examples now use rich terminal snapshots to show pytest output
with colors and formatting.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
- Fix: one of the performance improvements in 7.15.1 (pull 2215) dramatically
increased memory use during reporting for large projects.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Updated getting_started.py example to remove multi-line command usage
- [Settable] description argument can now be rich text
- Removed redundant ipython import which slowed application startup time
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
* improving free-threading readiness, see also #251:
- initialize tables at module import, not lazily
- remove caching imported Python objects (which are already caches)
- added 75 critical sections in Python-facing operations
- updated Trove Classifier to ;Free Threading :: 2 - Beta;
* clip arguments in ;.bytereverse(); instead of raising ;IndexError;
* remove ;ssize_richcompare(); in favor of ;Py_RETURN_RICHCOMPARE; macro
* add tests for frozenbitarrays created by methods when ;self; is a
frozenbitarray, e.g. slicing a frozenbitarray
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Canmatrix implements a "Python Can Matrix Object", which describes the can-communication
and the needed objects (Boardunits, Frames, Signals, Values, ...).
Signed-off-by: Fabian Pfitzner <f.pfitzner@pengutronix.de>
The pypi class default python:h11 doesn't match how h11 is tracked
in the CVE databases. NVD has no CPE for it yet; the only existing
record (CVE-2025-43859) carries python-hyper:h11 in its CNA affected
entry [1], so set that pair.
CVE-2025-43859 (request smuggling) is fixed in 0.16.0, the version
we ship, so it resolves as not affected.
[1] https://www.cve.org/CVERecord?id=CVE-2025-43859
Signed-off-by: mark.yang <mark.yang@lge.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Inherit ptest-python-pytest and include tests for invoke.
Use -s because some tests read from stdin while output is
captured. Skip tests that require a real terminal.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add recipe for pytest-relaxed, a relaxed test discovery/organization
for pytest, release 2.0.2:
- Fix dangling compatibility issues with pytest version 8.x.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.0.3:
- Reverted the @task return value type hint change; it actually
just makes things worse. Taking this one back to the drawing
table for later.
From 3.0.2:
- Define a custom __repr__ for Promise so it can be displayed in
interactive sessions or other debug contexts, without running
afoul of AttributeError. Thanks to Leonid Shvechikov for the
original bug report.
- Make the return value type hint for @task more specific; as-is it
would trigger typecheck errors when handing regular, decorated
task functions as inputs to add_task and similar methods.
From 3.0.1:
- Minor tweaks to documentation and type hints/inheritance (mostly
around Promise).
From 3.0.0:
- Add access to the core CLI parser's remainder value, via
Context.remainder - this allows for more elegant wrapper tasks.
- Update the return value, and type hint, of run and friends to be
Result instead of Optional[Result].
- run now includes local subprocess PIDs in Result objects (as
.pid), via the new Runner.get_pid method. This may be generally
useful for auditing or similar tasks, but is primarily intended
for users of disown=True who want to perform their own subprocess
management.
- Fix a grab bag's worth of Sphinx doc render problems, among which
were some class attributes (eg Context.command_cwds) that had
silently disappeared from the class' autodoc output after our
2.0 release.
- Expanded mypy type hint checking to more of the codebase &
generally touched up some type hints here and there. More of
this is planned to occur as we go.
- Dropped support for Python versions <3.9. That's right, we've
caught up to Python's own EOL regime... as of late 2024! As part
of this change, we also switched over to using pyproject.toml for
packaging metadata.
Fixes:
WARNING: python3-invoke-3.0.3-r0 do_check_backend: QA Issue:
inherits setuptools3 but has pyproject.toml with setuptools.build_meta,
use the correct class [pep517-backend]
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 26.7.1:
- Fix WebSocket maxMessagePayloadSize being enforced against the
compressed on-the-wire frame length instead of the uncompressed
reassembled message size when permessage-compress
(deflate/bzip2/snappy/brotli) is negotiated. A small compressed
frame could inflate far beyond the configured limit and be
delivered to the application (a decompression-bomb style
denial-of-service; security advisory GHSA-hxp9-w8x3-p566, same
class as CVE-2016-10544). The limit is now re-checked at the
inflation site against the running uncompressed message size,
and the connection is failed with close code 1009 (message too
big) before delivery - for both the whole-message and streaming
receive APIs and every compression backend. Behaviour change:
a compressed message that inflates past maxMessagePayloadSize
is now rejected where it previously passed; uncompressed traffic
and the per-frame maxFramePayloadSize wire guard are unaffected
- Fix the permessage-deflate max_message_size receive cap silently
truncating an over-limit message and raising a zlib error instead
of cleanly rejecting it: the bounded decompress(..., max_length)
left the remaining input in unconsumed_tail undrained, so the
message was corrupted rather than reported. Decompression is now
bounded cumulatively across frames and raises
PayloadExceededError as soon as the uncompressed size would
exceed the cap
- Make bounded decompression backend-agnostic:
decompress_message_data() gains an optional max_output_len
argument (documented on the PerMessageCompress base class) and
every permessage-compress backend now honours it. deflate and
bzip2 stop inflating once the limit is reached (native
incremental cap); snappy and brotli, whose libraries expose no
output-length argument, inflate the frame (already bounded on
the wire by maxFramePayloadSize) and then reject - a weaker but
still clean per-frame guarantee. The WebSocket receive path
passes the remaining maxMessagePayloadSize budget so a
compressed frame no longer expands unbounded into memory before
the size check; the previous post-inflation check remains as a
backstop. Previously only deflate had any decompressed-output
cap, so a snappy/bzip2/brotli frame could inflate fully into
memory first
- Make the asyncio RawSocket receive size limit configurable, at
parity with the Twisted backend. The asyncio
WampRawSocketFactory now exposes
setProtocolOptions(maxMessagePayloadSize=...) /
resetProtocolOptions() (bounds [512, 2**24], default 16 MB), and
the configured value drives both the advertised handshake length
exponent and the enforced receive cap (rounded up to the next
power of two), matching the Twisted factory. Previously the
asyncio receive limit was hardwired to 16 MB (a dead
max_size=None branch), so an asyncio WAMP peer could not tighten
its RawSocket receive limit for DoS hardening and Crossbar's
RawSocket max_message_size had no effect on the asyncio path
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.37.4:
- Set filename parameter of FileNotFoundError exception
- Fix typos in docstrings and comments
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
"wxWindows" is not a valid SPDX license identifier and has no generic
license file, so do_populate_lic fails the license-exists QA check:
No generic license file exists for: wxWindows in any provider
Spell it as the current SPDX expression, matching the wxwidgets recipe
this binds to: LGPL-2.0-or-later WITH WxWindows-exception-3.1.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.0.0:
- Add Android JNI Analyzer
- The DWARF import plugin now supports comments
- Add support for generating DWARF from firmware or binaries
without a precise format or architecture
- Add support for accessing the bit size of bit-field declarations
- Add support for accessing Enum entries:
lief.dwarf.types.Enum.entries()
- Add support for reading from or assigning a register to a function
parameter
- Add support for reading from or assigning a description
(DW_AT_description) to a lief.dwarf.Function, lief.dwarf.Variable,
or lief.dwarf.LexicalBlock:
lief.dwarf.Function.description()
lief.dwarf.Variable.description()
lief.dwarf.LexicalBlock.description()
- Enable the creation of nested lief.dwarf.editor.Function.LexicalBlock
- Add support for generating a C/C++ definition for a whole
lief.dwarf.CompilationUnit ( lief.dwarf.CompilationUnit.to_decl()).
The output of the following to_decl() functions can now be
configured through the new lief.DeclOpt structure:
lief.dwarf.Function.to_decl()
lief.dwarf.Variable.to_decl()
lief.dwarf.Type.to_decl()
lief.dwarf.CompilationUnit.to_decl()
- Improve support and the API for LF_ENUM: lief.pdb.types.Enum
- Improve support and the API for LF_PROCEDURE: lief.pdb.types.Function
- Improve support and the API for LF_ARRAY: lief.pdb.types.Array
- Improve support and the API for simple types: lief.pdb.types.Simple
- Improve support and the API for LF_ONEMETHOD: lief.pdb.types.Method
- Add support for generating a C/C++ definition for a lief.pdb.Function
( lief.pdb.Function.to_decl()) and a lief.pdb.CompilationUnit
( lief.pdb.CompilationUnit.to_decl()), configurable with the new
lief.DeclOpt structure.
- Add support for DT_AUXILIARY tag: lief.ELF.DynamicEntryAuxiliary
- Add support for DT_FILTER tag: lief.ELF.DynamicEntryFilter
- Add lief.ELF.parse_from_dump() to parse an ELF binary from a
memory dump
- Add lief.COFF.Section.coff_string for accessing the full section
name when this name does not fit in 8 bytes.
- Add support for writing big-endian Mach-O binaries
- Introduce an API for selecting a specific Mach-O binary by
architecture from a FAT binary
- Add lief.MachO.FatBinary.create() to create a FAT binary from a
list of lief.MachO.Binary objects targeting different architectures
- Add support for lief.MachO.ThreadLocalVariables
- Fix an extra byte being written after the thread state of an
LC_UNIXTHREAD/LC_THREAD command, which shifted the following load
commands by one byte
- Add support for editing the runtime tables of the
LC_FUNCTION_VARIANTS command and committing the changes on write:
lief.MachO.FunctionVariants
- Add a structured parser, editing API and writer for the
LC_FUNCTION_VARIANT_FIXUPS command:
lief.MachO.FunctionVariantFixups
- Add support for the LC_LAZY_LOAD_DYLIB_INFO command:
lief.MachO.LazyLoadDylibInfo
- Add lief.MachO.parse_from_dump() to parse a Mach-O binary from a
memory dump
- Add setters for lief.PE.ImportEntry.iat_value and
lief.PE.ImportEntry.ilt_value
- Add lief.PE.Binary.offset_to_rva() to convert a raw offset into a RVA
- Add lief.PE.parse_from_dump() to parse a PE binary from a memory dump
- Update lief.Binary.offset_to_virtual_address() for PE binaries
to return an absolute virtual address instead of a RVA
- Add support for adding an lief.PE.Import at a specific position:
lief.PE.Binary.add_import()
- Improve support for EFI binaries, such as bzImage
- Add support for Objective-C categories: lief.ObjC.Category,
accessible through lief.ObjC.Metadata.categories
- Add support for iterating over the operands of MIPS, PowerPC,
eBPF and RISC-V instructions (Register, Immediate, Memory and
PCRelative):
lief.assembly.mips.Instruction.operands()
lief.assembly.powerpc.Instruction.operands()
lief.assembly.ebpf.Instruction.operands()
lief.assembly.riscv.Instruction.operands()
- The Rust FFI no longer relies on autocxx and bindgen. It is now
built on top of plain cxx, which simplifies the bindings and
reduces the iteration time
- The Rust bindings directory has been renamed from api/rust/cargo/
to api/rust/crates/
- Add support for the aarch64-linux-android and x86_64-linux-android
targets
- Add LIEF_LIFETIMEBOUND annotations wrapping [[clang::lifetimebound]]
to leverage Clang's lifetime analysis. This helps detect dangling
references at compile time for methods that return references or
iterators tied to an object's lifetime
This work was sponsored by GOVCERT.LU.
License-Update: Update years
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.0.3:
Fixes:
- Complete the setuptools SubCommand protocol
- Thread config_settings to the build command
- Keep source tree clean in strict editable mode
Documentation:
- Put uv first in installer tabs and add it to config-settings
- List choices for Literal options in the README table
- Touch up README options tables, setuptools docs
- Show the projects list as a card grid with language/binding badges
- Add high-star projects to the known projects list
CI and testing:
- Make linkcheck retry timeouts from slow hosts
- Forward -C config-settings in downstream editable install
Include a patch to rename directory name from ${module} __module__
to avoid error due to an unexpanded bitbake variable.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Use the newer setuptools build class to avoid an AttributeError thrown
after warnings about setuptools and related build modules:
|/home/tgamblin/workspace/ypbuilds/oe-nodistro-master-patchtest/build/tmp/work/x86-64-v3-oe-linux/python3-ukkonen/1.1.0/recipe-sysroot-native/usr/lib/python3.14/site-packages/setuptools/__init__.py:92: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
|!!
|
| ********************************************************************************
| Requirements should be satisfied by a PEP 517 installer.
| If you are using pip, you can try `pip install --use-pep517`.
|
| This deprecation is overdue, please update your project and remove deprecated
| calls to avoid build errors in the future.
| ********************************************************************************
|
|!!
...
| File "/home/tgamblin/workspace/ypbuilds/oe-nodistro-master-patchtest/build/tmp/work/x86-64-v3-oe-linux/python3-ukkonen/1.1.0/recipe-sysroot-native/usr/lib/python3.14/site-packages/packaging/utils.py", line 96, in canonicalize_name
| value = name.lower().replace("_", "-").replace(".", "-")
| ^^^^^^^^^^
|AttributeError: 'NoneType' object has no attribute 'lower'
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.13.4:
- Bump libc from 0.2.155 to 0.2.185
- Adapt pydantic-core linker flags on macOS
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade pydantic-core to version 2.46.4 as it required for newer
Pydantic versions.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
=============
- Register the "benchmark" pytest mark to avoid PytestUnknownMarkWarning
- Update C extension docstrings and remove stale comments
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- trim to ncols even when '{bar}' not in bar_format
- fix tqdm.write when stdout=None
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>