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>