Changelog:
============
- Add Pytest 9 support
- Add Python 3.14 support
- Keep latest Pytest tests on supported Python versions
- Refactor CI to use the tox test matrix
- Replace pre-commit workflow with prek and mise
- Add Context7 project metadata
- Update linting tools
- Update GitHub Actions versions
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Filesystems may now define a ~Operations.poll method to support the epoll and select system calls.
- The FileHandleT and InodeT types are no longer declared as NewTypes but are now simply aliases for int.
- Future releases of pyfuse will be signed with signify rather than GPG.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
Fix a segfault when calling Unpacker.unpack() or Unpacker.skip() after an unpacking failure.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
- Fixed snapshot updates when pytest reuses stale assertion-rewrite cache files
after a test folder is moved, which could leave cached code objects pointing at
the old source path
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- make RAB feature production ready
- run async background boundary refresh on detached session
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
============
- Make sure client disconnects when write loop exits
- Address flaky unit test
- Stop using codecov service, since it has been failing for a long time
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Fix: some messages were being written to stdout, making coverage json -o -
useless for capturing JSON output. Now messages are written to stderr
- Fix: CoverageData kept one SQLite connection per thread that recorded
coverage, but never closed them when those threads terminated. On long runs
with many short-lived threads this leaked one file descriptor per dead thread,
eventually failing with OSError: [Errno 24] Too many open files. Connections
belonging to terminated threads are now closed and dropped.
- Fix: when using sys.monitoring, we were assuming we could use the COVERAGE_ID
tool id. But other tools might also assume they could use that id.
Pre-allocated ids don't really make sense, so now we search for a usable one
instead.
- Following the advice of cibuildwheel, we no longer distribute wheels for
Python 3.13 free-threaded.
- Fix: the default exclusion rule now also matches function bodies whose
closing return-type bracket is on its own line (for example, after a long ->
dict[...] annotation that a formatter has split over multiple lines).
- Fix: On 3.13t, we incorrectly issued Couldn't import C tracer errors. We
can't import the C tracer because in 7.14.2 we stopped shipping compiled
wheels for 3.13t.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Inherit ptest and include tests for jdatetime. The PyPI package
omits some files for testing like tests/__init__.py so use the
GitHub source instead.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 5.3.0:
- Migrate CI to Ruff for Code Formatting and Linting
- Fix: Setuptools License Deprecation Warning
- Add Windows test CI support
- feat: add type hints to functions and methods in jdatetime module
Fixes:
WARNING: python3-jdatetime-5.3.0-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 3.5.2:
- The minimum supported version of Python 3.15 is now 3.15b2.
- Fix some garbage-collection related crashes on free-threaded
Python 3.15.
- Improve garbage collection of greenlets. This mostly applies
to Python 3.15.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 26.6.1:
- Bump vendored FlatBuffers from v25.9.23 to v25.12.19, restoring
the version-sync with zlmdb 26.6.1
- Commit the binary schemas (reflection.bfbs, wamp.bfbs) to the source
tree and ship them as-is; the package build no longer runs flatc,
which fixes cross-compilation from the PyPI sdist
(e.g. Buildroot/Yocto/aarch64)
- Add just generate-reflection to regenerate the committed binary
schemas with a version-matched flatc built from deps/flatbuffers
- Add just check-flatbuffers-sync and a unit test exercising
check_zlmdb_flatbuffers_version_in_sync()
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 5.4.3:
- Moved the tests back, removed the ones that check for symlinks.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.4.1:
- Remove fastText language detection support: the fasttext extra is
dropped and detect_languages() now raises ImportError. Migrate to
the langdetect extra, which also unblocks numpy 2.x compatibility
- Make digit quantifiers possessive in the relative-date regexes to
prevent quadratic backtracking (ReDoS) on long digit runs
- Add the USE_GIVEN_LANGUAGE_ORDER setting to try languages and
locales in the order given rather than by frequency
- Preserve explicit signs on individual components when parsing relative
dates that combine decades with years, such as "-1 decade +2 years"
- Fall back to other provided languages in search_dates when the
detected language yields no dates
- Parse relative date expressions with spaces between the sign and
number, such as "now - 2 hours" and "now + 1 day"
- Use the parser-relative now for the current month when filling in
incomplete dates so the month and day stay consistent
- Fix Norwegian Bokmål (nb) parsing of relative date expressions such
as "3 måneder siden" and "om 2 månede
- Parse abbreviated English month expressions such as "1mon ago" and
"3mons ago"
- Preserve surrounding whitespace when removing skip tokens during
translation to avoid spurious double spaces
- Move project metadata and build configuration to pyproject.toml
- Add alternative Korean date expressions for today, yesterday,
tomorrow, and "N months ago/later"
- Expand Czech date translations with additional inflections, word
numbers, decade and century expressions, and clock phrases
- Replace internal OrderedDict usage with the built-in dict
Fixes:
WARNING: python3-dateparser-1.4.1-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 0.0.230:
- add basic support for SCO packets over USB
- fix(usb): support LE ISO data over Bulk endpoints
- usb transport packet splitter
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Update CI Workflows.
- Fix dropping the next frame after a skipped one
- Correct Log repeat.
- Fix address bounds check in get_reg_block
- Fix reg_count calc
- guard short frames and validate mbap in TLS framer
- Use latest uv in CI.
- Change MIN_SIZE in ascii frame.
- Harden ASCII framer.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Add a Django 6.0 task backend - pretty much works the same way the normal
Django integration works (manage.py run_huey), but using Django's canonical
APIs and decorator. Docs here.
- Redis blocking dequeue no longer swallows ConnectionError -- the error
propagates to the worker, which logs it and applies exponential backoff.
Previously a downed redis server caused workers to busy-loop silently.
- Chord callbacks now fire when a member task is revoked, expired or cancelled
by a pre-execute hook -- the skipped member contributes a None placeholder
result. Previously the callback was silently lost.
- Scheduler skips missed periodic checks after a stall (e.g. suspend/resume)
instead of running them back-to-back, which enqueued duplicate periodic tasks
for the current minute.
- Fix inverted timeout clamp in wait_result() when using notify_result with
redis < 6 (or an unknown server version): timeouts over one second were cut
to 1s, and sub-second timeouts blocked indefinitely.
- put_if_empty() is now atomic for the memory and file storage backends,
restoring lock_task() mutual exclusion on those backends.
- FileLock no longer unlinks an existing lock file at construction time, which
broke mutual exclusion for any process already holding the lock.
- Process-worker task timeouts use signal.setitimer(), so float / sub-second
timeouts work. Previously a timeout less than 1 second was silently ignored
(alarm(0) cancels the timer) and fractional seconds were truncated.
- Consumer signal handlers only set flags -- logging and greenlet cleanup now
happen in the main loop, avoiding re-entrant I/O from signal context.
- A user-supplied task kwarg named task is no longer dropped during
serialization. Context tasks (context=True) inject the task instance into a
copy of the kwargs rather than mutating the task's data.
- MemoryStorage.dequeue() and add_to_schedule() acquire the storage lock, like
the other mutating methods.
- normalize_time() treats delay=0 as "now" rather than ignoring it, so e.g.
expires=0 means "expires immediately" instead of "never expires".
- Redis enqueued_items(limit) returned limit + 1 items from the producer end of
the queue; it now returns the next-limit items to be dequeued, matching the
other storage backends.
- Redis-dependent tests are skipped when no local redis server is reachable,
instead of failing at import time.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Features
=========
- implement regional access boundary support for standalone JWT and async
service accounts
Bug Fixes
=========
- configure mTLS for impersonated credentials
- fail-fast on missing ECP config file to avoid 30s hang
- Rename the 'seed' argument for setting an initial regional access
boundary for clarity
- update incorrect urls in setup.py to point at monorepo vs splitrepo
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
- add support for free-threaded (no-GIL) CPython
- generate wheels for CPython 3.14t (free-threaded)
- drop support for Python 3.9
- migrate the C extension and test modules to multi-phase module
initialization
- release the GIL in chip_get_info()
- fix heap-buffer overflow bugs when setting/getting line values
- check for errors after PyIter_Next() when setting output values
- check for errors after PyIter_Next() when reading request values
- fix reference count imbalances (missing Py_None and line-name
increments, erroneous decref on PyList_SetItem() failure)
- allow closing a Chip multiple times without raising an error
- allow releasing a LineRequest multiple times without raising an error
- remove a duplicated edge-detection setting
- add a CHANGELOG.md to track changes between releases
- copy the license file into source and binary distributions
- require setuptools v77 or newer
- remove wheel from the build dependencies
- add multi-threaded tests
- add a dedicated lint dependency group and update linter configuration
- apply linter recommendations and add type annotations across examples,
setup and helper scripts
- modernize the C extension using upgrade_pythoncapi.py suggestions
- minor internal cleanups and performance improvements
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.29.4:
- Verify inode in break_lock_file before unlinking a stale lock
- Keep the read/write heartbeat alive on a transient touch error
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a new recipe for python3-discovery release 1.4.2:
- fix: stop symlink resolution at stdlib landmark and framework builds
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.137.1:
- Fix typing checks for APIRoute.
- Fix bug, allow empty path in path operation in prefixless router.
Fix the following error when running ptest-runner python3-fastapi:
E ModuleNotFoundError: No module named 'scripts'
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:
- Fix sdist builds from littering files
- Add all special keyword args to .pyi stub file
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 4.0.4:
- Raise DNSError(ARES_ENODATA) from query() when the answer section
has no records of the requested qtype, restoring the pycares 4.x
NODATA contract and avoiding AttributeError for CNAME/SOA/PTR callers
- Add the missing build-backend entry to pyproject.toml so PEP 517
builds from the sdist work without falling back to the deprecated
legacy setuptools backend
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.0.2:
- Changed default value of BlueZNotifyArgs.use_start_notify to True.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>