Changelog:
===========
- Build and upload free-threaded (cp314t, cp315t) wheels for all platforms.
- Replace all remaining PyDict_GetItem() calls in the C extension with
exception-safe alternatives (PyDict_Contains, PyDict_GetItemWithError).
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
=============
- ci(schemastore): sync fork before pushing branch
- feat: Also pass TERMINFO when in an interactive shell
- fix(pip): skip constrain_package_deps when constraints is set
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
============
- Support httpx2 in the test client
- Use httpx2 for type checking in the testclient module
- Add assert error for requires() when request param is not Request type
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Python 3.14 and 3.15 are now officially supported. #85#93
- service-identity now uses cryptography's Rust-based ASN.1 decoder and doesn't
depend on pyasn1 and pyasn1-modules anymore.
- Verifying a single-label hostname (e.g. localhost) against a wildcard
certificate pattern now raises VerificationError cleanly instead of crashing
with an opaque ValueError
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
Parse zero-precision floats formatted without a decimal point
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==========
- moteus_tool --calibrate for controllers configured for hall commutation now
calibrate a fine position for each hall transition, which improves
performance and consistency for hall based configurations
- moteus.move_to now respects the velocity_limit argument across all devices
- moteus.move_to works properly when exiting the stopped state
- Don't inject await when it isn't needed, rending some python mode definitions
possible that previously would have triggered syntax errors
- Fix the order of D and Q axes for current mode requests
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- get_snapshot_value() now accepts a which parameter ("new" or "old") to select
whether to return the new (just-compared) or the old (previously stored)
snapshot value
- Example.run_pytest: deterministic test order by using -p no:ranodmly
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
0001-Allow-building-with-latest-setuptools.patch
removed since it's included in 0.8.0
Changelog:
===========
- Add http-parser and llhttp licenses into the wheels
- Mark cython module as free-threading compatible
- Fix all typing issues
- Bump llhttp to 9.4.1
- Security: fix URL truncation issue
- Allow building with latest setuptools
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Fix: the HTML report used typographic niceties to make file paths more
readable by adding a small amount of space around slashes.
- Add a 3.16 PyPI classifier
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 6.1.1:
- Fixed cbor2.load() returning corrupted data for payloads exceeding
4096 bytes
From 6.1.0:
- Added the allow_duplicate_keys parameter to CBORDecoder, load and
loads (default: True). When set to False, a CBORDecodeError is raised
upon encountering a duplicate key within the same map.
- Added support for decoding from any object supporting the buffer API
(e.g. memoryview or bytearray) in addition to bytes
- Fixed compatibility issues with 32-bit systems
From 6.0.1:
- Fixed an error in the mutability logic during decoding, leading to
values being decoded as immutable in unexpected places
From 6.0.0:
- MAJOR REWRITE: The Python and C implementations of the encoder and
decoder were replaced with a single, Rust-based implementation in the
interest of maintainability.
- BACKWARD INCOMPATIBLE Changed the signature of the tag_hook decoder
callables to accept (CBORTag, immutable as arguments instead of
CBORDecoder, CBORTag)
- BACKWARD INCOMPATIBLE Changed the signature of the object_hook decoder
callables to accept (Mapping[Any, Any], bool) instead of (CBORDecoder,
dict[Any, Any])
- BACKWARD INCOMPATIBLE Removed the break_marker singleton as no longer
necessary
- BACKWARD INCOMPATIBLE Removed the CBORDecodeValueError exception,
instead chaining ValueError or TypeError to a CBORDecodeError
- BACKWARD INCOMPATIBLE Changed the decoding of semantic tag 261 to
yield an IPv4Interface or IPv6Interface if the address contains host
bits
- BACKWARD INCOMPATIBLE Removed the individual decoding functions from
the API as they were mistakenly called directly by users. Please open
an issue if you need them back.
- BACKWARD INCOMPATIBLE Changed the encoding of IP addresses to use the
semantic tags 52 and 54 instead of the deprecated 260 and 261
- BACKWARD INCOMPATIBLE Dropped the deprecated cbor2.decoder and
cbor2.encoder modules - everything in the API is now importable
directly from cbor2
- BACKWARD INCOMPATIBLE The cbor2.FrozenDict class has now been renamed
frozendict and is not available on Python 3.15 where the built-in
frozendict class must be used instead
- Added the semantic_decoders decoder option to add or override decoders
for specific semantic tags
- Added the immutable decoder flag to always use immutable containers
where possible when decoding a CBOR stream
- Added the allow_indefinite decoder option to optionally disallow
indefinite-length strings and containers
- Dropped support for Python 3.9
- Fixed the decoder not rejecting invalid two-byte simple value
sequences (0xF800 - 0xF81F)
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==========
- Ignore malformed Host header when constructing request.url
- Use "application/octet-stream" as the FileResponse media type fallback
- Only dispatch standard HTTP verbs in HTTPEndpoint
- Reject absolute paths in StaticFiles.lookup_path
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
=============
- FIX: Fix another inefficient attribute pattern
- FIX: Limit total number of selectors processed in a pattern to prevent massive selector requests
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==========
- Added a dynamic-metadata provider compatible with scikit-build-core.
- Add support for git archive builds via a tracked .git_archival.txt file.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
============
* Added Spanish translation of the README (''README.es.rst'')
* When both 'content_type' and 'headers['content-type']' are in a response mock file,
'content_type' is now used.
* Added strict_match to urlencoded_params_matcher, enabling partial request parameter
matching.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Breaking changes
================
- Connection.ping() change the default to not reconnect and deprecate reconnect
argument. Create a new connection if you want to reconnect.
- Error classes in Cursor class are removed.
- connect() arguments db and passwd now emit DeprecationWarning. Use database
and password instead.
- Reorganize TLS connection behavior.
- PyMySQL uses TLS by default when server supports it. Use ssl_disabled=True to
prohibit SSL.
- When ssl_verify_cert=True, ssl_verify_identity=True, an ssl.SSLContext is
passed, or when any other SSL option is configured, the connection requires
SSL and raises OperationalError (CR_SSL_CONNECTION_ERROR) if the server doesn't
support it.
Other changes
==============
- Support MySQL 8 row/column alias syntax in executemany INSERT regex.
- Expose SQLSTATE on MySQL protocol exceptions without changing exception
formatting.
- Reject non-finite decimal.Decimal query parameters
- Connection.set_charset(charset) now emits DeprecationWarning.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
0001-fix-swig-avoid-clang-GNUC-pragma-block-before-_lib.h.patch
removed since it's included in 0.48.0
Changelog:
=============
- doc: another move this time to Codeberg (and communication to
Matrix)
- test(smime): parametrize test_write_pkcs7_der
- test(smime): fix test_signEncryptDecryptVerify
- fix(util): return bytes from passphrase callbacks
- fix(SSL.Checker): add IDN Chinese name
- test(ssl): add IDN certificate fixture coverage
- test(ssl): cover IDN hostname matching in Checker
- doc: update expected Name format in migration guide
- fix(smime): S/MIME signature verification for Outlook and Thunderbird
- fix(provider): handle OSSL_STORE_INFO_PUBKEY compat. for OpenSSL < 3.2
- fix: cast X509_dup in sk_X509_deep_copy to avoid type mismatch
- fix(smime): S/MIME signature verification for Outlook and Thunderbird
- fix(smime): remove obsolete Python pre-3.6 constructs
- ci: run on Codeberg with forgejo_runner
- doc: clarify the status of the project
- fix(provider): adjust the CI run on Gitea for the older OpenSSL on
Debian
- fix(evp): narrow digest and BIO pointers for mypy
- fix(init): acommodate modern packaging API
- doc: IRC channel is on Libera, Ergo was a wrong idea
- fix(tests): remove duplicate definition of IS_DEBIAN in test_ssl
- fix(test_bio_ssl): fix TLS 1.3 deadlock and add socket timeouts
- fix(test_bio_ssl): replace sys.exit() with self.fail() to prevent test
process crash
- ci: publish to PyPI with Sigstore attestations via Trusted Publishing
- fix(authcookie): handle CookieError from Python 3.13.12+
(CVE-2026-0672)
- ci(leap): use setup.py bdist_wheel to bypass old pip PEP 517 wrapper
- fix(util): replace is_32bit with struct.calcsize and update tests
- ci: add FreeBSD SourceHut CI build script
- fix(swig): avoid clang GNUC pragma block before _lib.h
- fix(provider): don't abuse TemporaryDirectory to be mkdtemp, use that
directly.
- fix(provider): gate provider APIs for OpenSSL 1.1.1
- feat(provider): add key generation and destruction methods
- docs(provider): add comprehensive documentation to Provider module
- fix(provider): better exception handling
- doc: add a simple AGENTS.md
- feat(engine): add availability check, lifecycle helpers, and safer
cleanup
- doc(engine): Improve documentation and example of using Engine module
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==========
- Fix Python 3.14 DeprecationWarning caused by implicit ctypes layout when
using pack = 1.
- Bundle libusb1 1.0.29 dlls in Windows wheels
- Fix a licence inconsistency: the old pypi classifier was refering to the
LGPL2+ instead of the LGPL2.1+ .
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==========
- Add preliminary support for Python 3.15b1.
- Fix the discrepancy in the way the two getcurrent APIs behave during greenlet teardown.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==========
- Build and publish Windows 11 ARM wheels.
- Add preliminary support for Python 3.15b1 and distribute binary wheels for it.
- Support for Python 3.10 will be ending soon. Support for PyPy will be ending soon.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>