Commit Graph
10119 Commits
Author SHA1 Message Date
Leon Anavi aaf5cbbd13 python3-joblib: Upgrade 1.5.3 -> 1.6.0
Upgrade to release 1.6.0:

- Fix caching of functions whose source cannot be retrieved, such
  as functions defined in a notebook cell. Their identity fell back
  to str(hash(func.__code__)), which is salted by PYTHONHASHSEED
  and so differed between processes. A worker reading the
  func_code.py written by another one concluded that the function
  had changed and wiped the whole cache directory for it, discarding
  results computed by its peers. func_code.py is also no longer
  rewritten in place, so a reader can no longer catch it
  half-written and draw the same conclusion.
- Drop python 3.9 support. The oldest supported Python version is
  now Python 3.10.
- Fix eval_expr (used to evaluate the pre_dispatch argument of
  Parallel) to raise a ValueError as documented instead of leaking
  a ZeroDivisionError for expressions that divide or take a modulo
  by zero.
- MemorizedResult now forwards mmap_mode to its store backend, so a
  cached array reconstructed from a location is memory-mapped as
  requested instead of being loaded fully into memory.
- Unvendor cloudpickle to more quickly benefit from maintenance
  releases of cloudpickle
- Fix Memory.cache for functions with a keyword-only argument that
  has a default declared before a keyword-only argument without a
  default.
- Fix behavior of filter_args on some precise cases.
- Fix a concurrency error that could happen with unordered
  generator.
- Fix: dump() now accepts any input os.PathLike object to be
  consistent with load.
- The documentation now uses pydata sphinx theme. Furthermore,
  optional dependencies test and docs have been added to
  pyproject.toml.

Extend RDEPENDS with the missing runtime dependencies:
python3-cloudpickle.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:05 -07:00
Leon Anavi bc4f54ae9d python3-jedi: Upgrade 0.20.0 -> 0.20.1
Upgrade to release 0.20.1:

- Avoid loading an executable path from project.json
- Avoid changing the global recursion limit
- Support for async pytest fixtures
- Work better with PEP 695 type parameter syntax

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:05 -07:00
Leon Anavi a2cf1aa769 python3-ipython: Upgrade 9.17.0 -> 9.17.1
Upgrade to release 9.17.1:

- Have builin-lazy magics have a lower priority than registered on

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:05 -07:00
Leon Anavi d81721e13b python3-inline-snapshot: Upgrade 0.35.4 -> 0.36.1
Upgrade to release 0.36.1:

- Defer generating source representations until they are needed,
  improving performance when comparing matching snapshots with
  updates disabled.
- Speed up snapshot conversion for literal constants, especially in
  large lists and dictionaries.
- Built-in literal values are always managed; attempting to
  register their types as unmanaged raises TypeError.
- Scope unmanaged type registrations to the current snapshot
  context, inheriting registrations from the parent context.
- Speed up snapshot comparisons by avoiding unnecessary deep copies
  of immutable built-in values.
- Speed up snapshot conversion by reading AST constant values
  directly instead of compiling and evaluating them.
- Respect show-updates in the short report, hiding snapshot
  representation change messages when it is disabled.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:05 -07:00
Leon Anavi cb767ff3e3 python3-imageio: Upgrade 2.37.4 -> 2.38.1
Upgrade to release 2.38.1:

- Correct v2 format argument type hints
- Drop Python 3.10, fix PyAV gc stall, temporarily pin pillow on
  pypy
- Bump multidict from 6.7.1 to 6.9.1

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:05 -07:00
Leon Anavi d88dab6d53 python3-huey: Upgrade 3.3.4 -> 3.4.0
Upgrade to release 3.4.0:

Backwards-incompatible. The django stats app writes to its own sqlite
database by default (huey-stats.db in settings.BASE_DIR), instead of
DATABASES['default']. To keep recording in your main Django database,
specify the database explicitly:

HUEY_STATS['database'] takes a db-url or a peewee Database, or use
HUEY_STATS['filename'] to set the sqlite path. See the Django docs
section for building a peewee database from your existing DATABASES
entry.

The admin *Events* log is now rendered from the stats database through
peewee, rather than being a ModelAdmin via ORM. It is now linked from
the dashboard's *Recent events* heading.

Consumer:

- Add --shutdown-timeout option to bound graceful shutdown time.
- Add --graceful-signal option to allow making SIGTERM the graceful
  shutdown signal (e.g. -g TERM).

User-facing APIs:

- Add ttl to lock_task() and put_if_empty() so locks expire on
  their own. Supported by memory and redis storages, others raise
  NotImplementedError. RedisHuey requires server hash-field TTL
  support (redis 7.4+ or valkey 9+), RedisExpireHuey works on any
  version.
- Add timeout parameter to aget_result().

Small stuff:

- Ensure one raising signal receiver does not prevent the remaining
  receivers from running.
- Fix crontab ranges with a step (0-30/5) and wrap-around ranges
  (22-2, day_of_week='1-7'). Raise ValueError when a field matches
  no values.
- Pass failed chord members to the callback as huey.Error and
  skipped (revoked, expired, cancelled) members as huey.SKIPPED
  instead of a raw exception or None.
- Delete chord partial results explicitly on completion, so they no
  longer linger until expiry on RedisExpireStorage.
- Write the error of a failed pipeline stage to every skipped
  downstream stage, so their Result handles raise instead of
  blocking.
- Accept an explicit id in TaskWrapper.s(), matching schedule().

Storage:

- Skip messages that fail to deserialize in Huey.pending() and
  Huey.scheduled(), logging the error, as read_schedule() already
  does.
- Add clean_name option to RedisHuey (default to True). Specify
  False to stop stripping non-alphanumeric characters from the
  storage namespace. The default will change in a future release.
- Reduce Redis round-trips for peek_data, pop_data and delete_data,
  and make RedisExpireStorage.incr() set the TTL atomically w/ the
  increment.
- Skip the exclusive lock in SqliteStorage.dequeue() when the queue
  is empty, so idle consumers no longer block producers and the
  scheduler.
- Batch the SqliteStorage.read_schedule() delete to avoid sqlite's
  parameter limit when many tasks come due at once. Same fix in
  SqlHuey.
- Order SqliteStorage.read_schedule() and SqlHuey.read_schedule()
  by (timestamp, id), matching PostgresStorage.
- Add queue to the sqlite task index (task_queue_priority_id) so
  queues sharing a file no longer scan each other's rows. The old
  task_priority_id index is dropped when the schema is initialized.
  I'll get rid of the temporary in-band drop in a few releases.
- Add peek_many() to the storage API. Revocation checks now fetch
  the task and task-class keys in one round trip.
- Return str keys from result_items() on every storage backend.
  Redis and File storage previously returned bytes.

Stats:

- Better handling for timeout, locked, rate-limited and retrying in
  stats recorder.
- Log dropped events in the stats recorder instead of failing
  silently.
- Fix stats recorder max_events pruning to count rows per queue.
  With multiple queues sharing a stats db, each queue retained only
  a fraction of the configured cap.
- Add inflight_hours option to stats recorder, replacing the
  hardcoded 6 hour in-flight cutoff.
- Require the change_hueydashboard permission for the django admin
  dashboard's revoke, restore and flush controls. Previously any
  staff user who could view the dashboard could also flush the
  queue.
- Add huey[stats] extra which installs ol' peewee.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:04 -07:00
Leon Anavi 09a0db9012 python3-httpx2: Upgrade 2.12.0 -> 2.15.1
Upgrade to release 2.15.1:

Highlights:

- Flat CPU usage for long-lived clients on Linux:

On Linux, the default SSL context is now configured once instead of
on every handshake. With OpenSSL older than 3.4, each handshake
added a duplicate certificate lookup path, so CPU usage per request
grew over the lifetime of a reused client. Certificate verification
is unchanged, and Windows and macOS still use truststore.

httpx2:

Fixed:

- Configure the default SSL context once on Linux, instead of on
  every handshake. With OpenSSL older than 3.4, CPU usage grew over
  the lifetime of a reused client (#1253).

httpcore2:

Fixed:

- Configure the default SSL context once on Linux, instead of on
  every handshake. With OpenSSL older than 3.4, CPU usage grew over
  the lifetime of a reused client (#1253).

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:04 -07:00
Leon Anavi 790acd1ff9 python3-httptools: Upgrade 0.8.0 -> 0.9.0
Upgrade to release 0.9.0:

- Upgrade llhttp to 9.4.3
- Build CPython 3.15 wheels
- Add RISC-V 64-bit wheels
- Add Windows ARM64 support in CI
- Build PPC64LE wheels
- Modernize test and release workflows

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:04 -07:00
Leon Anavi b1d1f487d1 python3-grpcio-reflection: Upgrade 1.76.0 -> 1.84.0
Upgrade to release 1.84.0:

- Fix -Werror=unused-result error triggered by Cythonized code.
- Release Python 3.15 wheels publicly.
- Fixed reference cycles.
- fix: remove ghost key in grpc.aio.Metadata.delitem when last
  value is deleted.
- Fix the StatusCode Enums to be int.
- Fixed the parenthesis placement.
- Removed UsageError exception from registered method.
- Added registered methods support in AsyncIO stack.
- AIO Part 4 - Typehints fixes and add Pyright for aio/_channel.py.
- grpc-status: Relax protobuf dependency lower bound to allow 6.x.
- Observability plugin fixes

Fixes:

WARNING: python3-grpcio-reflection-1.84.0-r0 do_check_backend:
QA Issue: inherits setuptools3 but has pyproject.toml specifying
backend setuptools.build_meta, use the correct class [pep517-backend]

License-Update: Use LICENSE file

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:04 -07:00
Leon Anavi ddbd30d4ff python3-grpcio-channelz: Upgrade 1.76.0 -> 1.84.0
Upgrade to release 1.84.0:

- Fix -Werror=unused-result error triggered by Cythonized code.
- Release Python 3.15 wheels publicly.
- Fixed reference cycles.
- fix: remove ghost key in grpc.aio.Metadata.delitem when last
  value is deleted.
- Fix the StatusCode Enums to be int.
- Fixed the parenthesis placement.
- Removed UsageError exception from registered method.
- Added registered methods support in AsyncIO stack.
- AIO Part 4 - Typehints fixes and add Pyright for aio/_channel.py.
- grpc-status: Relax protobuf dependency lower bound to allow 6.x.
- Observability plugin fixes.

Fixes:

WARNING: python3-grpcio-channelz-1.84.0-r0 do_check_backend:
QA Issue: inherits setuptools3 but has pyproject.toml specifying
backend setuptools.build_meta, use the correct class [pep517-backend]

License-Update: Use LICENSE file

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:04 -07:00
Leon Anavi f74ac8ff03 python3-google-auth-oauthlib: Upgrade 1.4.1 -> 1.5.0
Upgrade to release 1.5.0:

- declare Python3.15 support
- google-auth-oauthlib: prevent ipv6 address reuse

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:04 -07:00
Leon Anavi 7aabc5c643 python3-gmqtt: Upgrade 0.7.0 -> 0.8.0
Upgrade to release 0.8.0:

- Remove unnecessary async, fix type definitions
- Multiple logic fixes
- Fix hangs, crashes and mid leaks from the handler split

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:04 -07:00
Leon Anavi 824d5997cb python3-gmpy2: Upgrade 2.3.1 -> 2.3.2
Upgrade to release 2.3.2:

- Fix processing defaults for e/E format types precision

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:03 -07:00
Leon Anavi 9f6ae83d39 python3-glances: Upgrade 4.5.6 -> 4.5.8
Upgrade to release 4.5.8:

Bugs corrected:

- Stdout: CSV data blocks use the first list item's fields instead
  of each item's own #3746
- Stdout: raw selector with a dotted item key
  (network.eth0.100.bytes_recv) raises UnboundLocalError #3748
- Folders: a second configured FolderList appends its entries to
  the first instance #3750
- JSON export: --stop-after leaves an empty file, the last sample
  is lost on shutdown #3752
- DuckDB export turns the string 'False' into TRUE #3754
- InfluxDB export truncates dotted list item identifiers (VLAN
  interfaces lose their tags) #3756
- IP plugin: a non-object public IP response raises AttributeError
  in the main thread #3758
- CSV export: rows are shifted under another device's column when
  the field order changes #3760
- Export: exporters mutate the live plugin statistics when merging
  limits #3766
- Elasticsearch export: a mapping type per plugin is rejected by ES
  6/7/8+, only the first plugin is stored #3780
- Exports: an optional key missing from the config overwrote the
  module default with None #3781
- MQTT export: crash at startup when port or callback_api_version
  is omitted #3777
- Uptime: export the SNMP uptime instead of the local one #3779
- Cloud: do not report a platform whose metadata API returns
  nothing (OpenStack reported on Amazon EC2) #3778
- IRQ: divide the interrupt count by the refresh time (Rate/s was
  multiplied by the refresh time) #3771
- Programs: KeyError when a process stat is listed in [processlist]
  disable_stats #3776
- Containers: WebUI throws on a restarting container whose cpu/mem
  stats are empty #3768
- WebUI: the browser caches glances.js heuristically, revalidate
  the static files #3763
- Processes: io_old keeps one entry per pid ever seen (slow memory
  leak on hosts spawning short-lived processes)
- Smart: a missing smartctl (pySMART >= 1.4) crashes the server at
  startup

Enhancements:

- WebUI: make the container table sortable by status #3763
- Processlist: only build curses rows for the processes that fit on
  screen (performance) #3762

Continuous integration and documentation:

- Mark regression test assertions for Bandit

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:03 -07:00
Leon Anavi 7de3217c66 python3-git-pw: Upgrade 2.8.1 -> 2.9.0
Upgrade to release 2.9.0:

- Drop Python 3.10 support, move dependencies
- Resolve deprecation warning
- Bump actions

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:03 -07:00
Leon Anavi cf831235d8 python3-gevent: Upgrade 26.8.0 -> 26.9.0
Upgrade to release 26.9.0:

- Fix gevent.event.AsyncResult re-raising an exception with a
  traceback that kept growing by the frames of every previous get()
  call, instead of starting fresh from the traceback captured when
  set_exception() was called.
- Make gevent's file objects properly report the full mode string.
  Previously a ‘b’ or ‘t’ suffix could be missing.
- ThreadPool workers no longer call the profile and trace setters
  when no hooks are configured. This matches threading.Thread and
  avoids unnecessary PEP 578 audit events and thread coordination.
- An exception while preparing a ThreadPool worker to run a task,
  such as an audit hook rejecting sys.setprofile(), no longer
  leaves the caller blocked or leaks a pool slot. The exception is
  raised in the greenlet waiting on apply() or spawn(), and the
  failed worker is replaced if other tasks are waiting.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:03 -07:00
Leon Anavi 5fad172a58 python3-executing: Upgrade 2.2.1 -> 2.3.0
Upgrade to release 2.3.0:

- remove tox from release script
- formatting

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:03 -07:00
Leon Anavi 9bffd66297 python3-eventlet: Upgrade 0.41.2 -> 0.41.3
Upgrade to release 0.41.3:

- wsgi: Raise a clear error for non-latin-1 WSGI response headers

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:03 -07:00
Leon Anavi fcdf16fe80 python3-dunamai: Upgrade 1.26.2 -> 1.26.3
Upgrade to release 1.26.3:

- Fixed: Version.bump() ignored the increment when a stage had no
  revision.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:02 -07:00
Leon Anavi d7ce830802 python3-djangorestframework: Upgrade 3.18.1 -> 3.18.3
Upgrade to release 3.18.3:

- Restore order_by_precedence from 3.18.1 to fix broken return
  value

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:02 -07:00
Leon Anavi 7f0fbbeb14 python3-django: Upgrade 5.2.18 -> 6.1.2
Upgrade to release 6.1.2 which fixes:

- CVE-2026-77050: Potential denial-of-service vulnerability in
  get_supported_language_variant()
- CVE-2026-84429: Potential denial-of-service vulnerability in
  HTTP header parsing
- CVE-2026-87890: Potential request forgery via spatial lookup
  byte values
- CVE-2026-87975: Privilege abuse in model formsets with editable
  primary keys

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:02 -07:00
Leon Anavi f3b1e66357 python3-cantools: Upgrade 45.0.0 -> 45.1.0
Upgrade to release 45.1.0:

- When parsing DBC, make sure there are no unused VAL_ and
  SIG_VALTYPE_ entries
- sym: write a leading 0 for multiplexer ids that start with A-F
- message: index signals by multiplexer when creating codecs
- message: copy message bits with list() in the overlap check
- plot: read candump -l lines annotated by cantools decode
- DBC: don't fail the load when VFrameFormat has no default
- try to fix the pypy test
- database: do not refresh messages twice when loading a database
- plot: accept decoded choice names from cantools decode

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:02 -07:00
Leon Anavi 3a296b513a python3-cachetools: Upgrade 7.2.3 -> 7.2.4
Upgrade to release 7.2.4:

- Restore autospec calls to @cachedmethod decorated methods.
- Improve branch coverage of unit tests.
- Minor type stub improvements.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 08:13:02 -07:00
Leon Anavi a4d91adc6b python3-gcovr: Upgrade 8.6 -> 8.7
Upgrade to release 8.7:

Breaking changes:

- Jinja2 environment for HTML report is now created with
  undefined=StrictUndefined to raise an error if a variable is not
  defined in the template.
- Links to lines in HTML reports now use L<line> instead of a
  l<line>.
- Rename config key txt-metric (string) to txt-metrics (list of
  strings in TOML and multiple entries in gcovr.config). Remove the
  deprecated aliases -b, --txt-branches and --branches.
- Adjust column width of total count in text reports.

New features and notable changes:

- Improve HTML report:
  - Improve wrapping of the counter in the default theme.
  - Replace meter with div elements in the default theme (like in
    GitHub themes).
  - Add jinja2 rendering for CSS files.
  - Add new HTML themes boost.green and boost.blue.
  - Show excluded lines, branches, ... in the summary only if there
    are any.
  - Remove the branches summary and columns if there are no
    branches in the report, e.g all branches are excluded by
    patterns or comments.
  - Replace default theme with github theme which is the new
    default one. If the prefix github. isn't used a warning is
    printed which will turn into an error in a the next version.
- Add compare mode for JSON, text and HTML reports.
- Stub missing line coverage for branches in LLVM source based code
  coverage format.
- Add support for TOML files with --config
- Add --fail-under-condition-or-decision with
  --fail-under-condition and --fail-under-decision as synonyms,
  change the key for the configuration file.
- Add support for multiple metrics in one text report and add
  support for condition coverage.
- Warn if a option is used which has no effect when processing
  tracefiles.
- Add options to restrict where GCOV is executed to prevent
  generating temporary files in arbitrary directories. Write
  protected files are now skipped by default.

Bug fixes and small improvements:

- Fix runtime problem introduced with 8.4.
- Fix boost HTML details and simple output.
- Fix boost HTML support for Conditions, Decisions and Calls
  optional stats.
- Add excluded metrics to boost HTML template.
- Fix alignment in summary header of HTML single page report.
- Fix link to lines in HTML single page report.
- Preserve coverage for procedures declared in Fortran modules.
- Fix missing branches and conditions for uncovered lines in HTML
  report.
- Fix KeyError when merging tracefiles in which only some report a
  function position.

Documentation:

- Add section about gcov options which should not be used to FAQ.
- Add separate option groups for each format.

Internal changes:

- Add CSS and JS files to all folders where a HTML reference file
  is present.
- Refactor internal data model from a flat list to a tree which
  matches the folder structure of the source files. Also add a
  properties element which is cleared after each report format to
  store meta data for the report generation and update the dicts in
  the HTML report to use it.
- Activate sorting of includes for ruff.
- Add gcc-16, clang-21 and clang-22 to the test suite.
- Use different python versions for testing in docker depending on
  Ubuntu version.
- Activate most checks of ruff.
- Update CI runner images.
- Always use GCOVR fixture in tests.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-20 07:51:43 -07:00
Leon Anavi aac9586ef2 python3-fsspec: Upgrade 2026.7.0 -> 2026.9.0
Switch SRC_URI to enable tests and upgrade to release 2026.9.0:

- ia:// filesystem for files in Internet Archive items: an
  HTTPFileSystem reading from archive.org/download with credentials
  from ia configure's ia.ini
- Allow instance-local memory stores with global_store=False while
  preserving normal instance caching and the default shared store
- Add an adaptive readahead cache
- Implement created and modified for SFTPFileSystem
- Allow filesystem implementations to assign protocol per instance
- Delegate sizes and cat_ranges from DirFileSystem to the wrapped
  filesystem
- Delegate invalidate_cache, ukey and checksum from DirFileSystem
  to the wrapped filesystem
- Support negative offsets in TarFileSystem.cat_file
- Mirror readinto from the PyArrow stream onto ArrowFile
- Allow simplecache files to be removed by age using their
  modification times
- HTTP: retry transient failures (408/425/429/5xx, dropped
  connections, timeouts, truncated range bodies, a 416 inside the
  file) of cat_file, HTTPFile block reads and the size lookup
  behind open, controlled by the new retries, retry_wait,
  retry_statuses and retry_exceptions options

Fixes:

- Compute HadoopFileSystem.fsid from its configured host and port
  instead of accessing attributes no longer exposed by PyArrow
- Normalize dot path components in TarFileSystem listings and
  lookups, while preserving original archive names for reading
- Make merge_offset_ranges O(n log n) and keep merged blocks within
  max_block, replacing the quadratic nested-range filter
- Fix transactions with compressed files
- Make MemoryFileSystem.rm raise FileNotFoundError for a path that
  does not exist, as rm_file and the other filesystems do, so
  deleting a missing key from a memory-backed mapper raises
  KeyError
- Create missing ZIP archives in append mode without truncating
  existing archives
- Close cached readers when exiting an open_files context
- Avoid mutating live BlockCache and BackgroundBlockCache instances
  when pickling
- End the transaction even when a commit or discard raises, so the
  filesystem is not left in transaction mode and deferred temporary
  files are cleaned up
- Honor a caller-owned output file in get_file
- Preserve existing files when checking FSMap write access
- Normalize ZIP paths in pipe_file and find
- Reject get destinations that resolve above the target
- Pass maxdepth through in AsyncFileSystem._rm
- Do not let isfile swallow BaseException
- Keep reference filesystem get destinations inside the target
- Return relative names from DirFileSystem.glob and find
- Raise FileNotFoundError for missing ZIP and TAR members
- Stop collapsing three-character drive-relative paths to the drive
  root
- Use / as the only glob separator on every platform
- Distinguish omitted and None defaults in FSMap.pop
- Forward an Arrow file's flush and closed state to its stream
- Keep reference filesystem cat_file offsets inside the referenced
  part
- Raise FileNotFoundError from archive ls for a missing path
- Download uncached files in simplecache.cat_ranges
- Fix tail on simplecache and filecache
- Get whole-file reference sizes asynchronously in
  ReferenceFileSystem._info
- Report the target size for links in TarFileSystem
- Keep the async generator returned by AsyncFileSystemWrapper._walk
- Join the default output filename with / in _expand_paths
- Make names relative in DirFileSystem.walk(detail=True)
- Ignore a leading slash in TarFileSystem paths
- Fix cat_ranges on whole-file caches
- Normalize paths in AsyncFileSystemWrapper like the wrapped
  filesystem
- The SFTP host key policy is configurable with the new
  host_key_policy argument of SFTPFileSystem, which accepts
  "auto_add" (default, unchanged behaviour), "warning" or "reject",
  or any paramiko.MissingHostKeyPolicy

Other:

- Use trusted publishing for releases and trigger the release
  workflow on tags
- Remove the stale async wrapper documentation warning
- Add Zarr to the test_downstream extra so the Xarray/Zarr test
  runs again
- Clarify that rm handles directories
- Fix grammar in features.rst
- Patch HAS_CPYTHON_API where _fast_slice reads it in tests
- Percent-decode the username and password parsed from URLs in
  infer_storage_options so that backends (ftp, sftp, smb, ...)
  receive the real credentials rather than their URL-encoded form;
  a password whose bare % produces bytes that are not valid UTF-8
  (for example pass%ab) is left untouched so that pre-existing URLs
  with unescaped % continue to work

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-20 07:51:43 -07:00
Leon Anavi 704da55938 python3-flask-socketio: Upgrade 5.6.1 -> 5.7.0
Upgrade to release 5.7.0:

See CHANGES.md for release notes.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-20 07:51:43 -07:00
Leon Anavi b128f50b2d python3-filelock: Upgrade 4.0.4 -> 4.2.4
Upgrade to release 4.2.4:

- Keep GitHub Release notes free of extra blank lines while
  retaining the PyPI and version comparison links.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-20 07:51:43 -07:00
Leon Anavi 29d9390a28 python3-fastapi-cli: Upgrade 0.0.27 -> 0.0.32
Upgrade to release 0.0.32:

- Set FASTAPI_ENV when running fastapi dev.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-20 07:51:43 -07:00
Leon Anavi 46d2e969bf python3-faker: Upgrade 40.37.0 -> 40.43.0
Upgrade to release 40.43.0:

- Add es_CO bank provider
- Add es_CO internet provider

Extend RDEPENDS with the missing runtime dependency python3-stdnum.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-20 07:51:42 -07:00
Leon Anavi 5741d91827 python3-stdnum: Add recipe
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>
2026-10-20 07:51:42 -07:00
Leon Anavi 0fead6869a python3-zeep: Add recipe
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>
2026-10-20 07:51:42 -07:00
Leon Anavi 2874b10854 python3-isodate: Add recipe
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>
2026-10-20 07:51:42 -07:00
Leon Anavi b29f5524a0 python3-distlib: Upgrade 0.4.0 -> 0.4.4
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>
2026-10-20 07:51:42 -07:00
Leon Anavi 57138cc9e3 python3-discovery: Upgrade 1.6.1 -> 1.6.4
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>
2026-10-20 07:51:42 -07:00
Leon Anavi f3df987cd2 python3-vermin: Add recipe
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>
2026-10-20 07:51:41 -07:00
Leon Anavi bca72c4c6e python3-cssselect2: Upgrade 0.9.0 -> 0.10.1
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>
2026-10-20 07:51:41 -07:00
Leon Anavi 647e7a0710 python3-bitarray: Upgrade 3.12.2 -> 3.12.3
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>
2026-10-20 07:51:41 -07:00
Leon Anavi a533c9b84c python3-cytoolz: Upgrade 1.1.0 -> 1.2.0
Upgrade to release 1.2.0:

- Match toolz 1.2.0
- Support Python 3.15
- Build Android wheels, upload Pyodide wheels, and test iOS wheels

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-19 15:08:23 -07:00
Leon Anavi 40968651d3 python3-cmd2: Upgrade 4.2.4 -> 4.3.0
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>
2026-10-19 15:08:23 -07:00
Leon Anavi 3d58d42f26 python3-cchardet: Upgrade 2.1.7 -> 2.4.0
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>
2026-10-19 15:08:23 -07:00
Leon Anavi 975ddf4003 python3-cantools: Upgrade 41.0.2 -> 45.0.0
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>
2026-10-19 15:08:23 -07:00
Leon Anavi 3a8e916721 python3-cachetools: Upgrade 7.1.7 -> 7.2.3
Upgrade to release 7.2.3:

- Fix @cached decorator stacking behavior.
- Minor type stub improvements.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-19 15:08:23 -07:00
Leon Anavi 5a9e2afb80 python3-bumble: Upgrade 0.0.235 -> 0.0.236
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>
2026-10-19 15:08:23 -07:00
Leon Anavi 81fe5fa82c python3-black: Upgrade 26.5.1 -> 26.10.1
Upgrade to release 26.10.1:

Highlights:

This release fixes a security issue in Black's bundled GitHub
Action. Repositories that use the action are encouraged to update
to the latest version of Black immediately. This update is received
automatically when using psf/black@stable, and is independent of
the version of Black installed by the action.

When the GitHub Action reads version specifiers from
tool.black.required-version, it now only accepts released versions
of Black, as it already did for black requirements in dependency
lists. Other values, such as URL references, are now rejected. This
issue has been registered as GHSA-cg8m-r9f2-5wm2; a CVE identifier
is pending.

Stable style:

- Fix a long Jupyter notebook assignment magic (for example x = !ls
  -la) being wrapped in parentheses, which IPython can no longer
  run; such cells are now left unchanged
- Keep repeated lines outside the selected --line-ranges unchanged
- Fix --line-ranges formatting lines that follow a statement when
  formatting joins or re-indents that statement
- Fix --line-ranges crashing with an internal error when an
  unselected statement has a # fmt: skip comment on the last line
  before a closing bracket
- Prevent moving an encoding declaration (for example # -*- coding:
  latin-1 -*-) onto the first two lines of a file
- Fix adding an extra trailing blank line inside a multi-line
  module docstring when its last line is near the line length limit

Preview style:

- Do not split short expressions on delimiters (such as binary
  operators, comparisons, or comprehensions) inside brackets when
  preceded by a standalone comment
- Fix the unstable string_processing feature removing
  backslash-newline sequences from raw strings, which changed their
  value
- Avoid adding unnecessary parentheses around unbreakable
  right-hand side expressions in assignments (such as annotated
  assignments or subscript targets)
- Parenthesize expressions with parameter comments when they exceed
  the line length under --preview
- Fix wrap_long_dict_values_in_parens dropping the parentheses
  around a right-hand side that contains a dictionary, leaving a
  line over the length limit
- Fix the unstable string_processing feature adding a space after *
  or in a PEP 695 type parameter (* Ts = ...) when it splits a
  string in the parameter's default
- Avoid unnecessary line splits of trailers (such as
  indexing/subscripts) when an earlier bracket split exceeds the
  line length only due to a trailing comment

Configuration:

- Add --cache-dir to configure the cache directory from the command
  line
- Don't cache a file as formatted after formatting or checking it
  with --line-ranges, which made a later full black --check pass
  and black skip the unformatted lines
- Respect a .gitignore that starts with a UTF-8 byte order mark.
  The mark became part of the first pattern, so that pattern never
  matched and Black formatted files that git ignores

Performance:

- Avoid quadratic runtime when splitting very long lines with many
  trailing bracket pairs (such as consecutive subscripts)

Integrations:

- Fix the GitHub Action crashing on dependency-group includes when
  use_pyproject is enabled
- When the GitHub Action reads version specifiers from
  tool.black.required-version, it now only accepts released
  versions of Black, as it already did for black requirements in
  dependency lists. Other values, such as URL references, are now
  rejected.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-19 15:08:22 -07:00
Leon Anavi c7c5a067e3 python3-autobahn: Upgrade 26.7.1 -> 26.10.1
Upgrade to release 26.10.1:

General

- Load the vendored FlatBuffers runtime only when a FlatBuffers
  message is first built or parsed, instead of on every import
  autobahn. The runtime imports numpy whenever numpy is installed,
  so up to 26.7.1 every process importing autobahn also loaded numpy,
  including WebSocket-only users such as Django Channels applications
  served by Daphne. Every autobahn import now needs about 13-17 MB
  less memory on CPython and 18-24 MB less on PyPy, and none loads
  numpy. A new documentation page (docs/memory-footprint.rst, just
  memory-footprint) shows the import memory footprint per release on
  CPython and PyPy.

Wheels

- Publish native Windows ARM64 (win_arm64) wheels with NVX for
  CPython 3.11-3.14, built on GitHub’s windows-11-arm runners (PyPy
  publishes no Windows ARM64 interpreter); thanks to @ndabas.
  cryptography currently publishes no win_arm64 wheel, so the build
  compiles it against an OpenSSL from vcpkg.

- Build cryptography against an OpenSSL from vcpkg on Windows x86_64
  too: cryptography 50.0.2 publishes its Windows PyPy wheels for PyPy
  8 (pp80) only, and the pypy311 wheel build uses PyPy 7.3 (pp73), so
  pip builds it from source there.

WebSocket

- Make all four per-message compression extensions
  (permessage-deflate, -bzip2, -brotli, -snappy) enforce the
  decompression budget the same way: decompression stops near the
  remaining maxMessagePayloadSize budget instead of decompressing a
  whole frame first, and “over budget” as well as “budget already
  used up” raise PayloadExceededError. brotli now bounds its output
  with Decompressor.process(output_buffer_limit=...), snappy is
  decompressed one framing chunk at a time, and deflate no longer
  lets one octet through once the budget is used up.

- Add autobahn.exception.PayloadCorruptError: every compression
  extension now raises it for input it cannot decompress (corrupt,
  truncated, or not the extension’s format), instead of the library’s
  own exception (zlib.error, OSError, brotli.error, …), and snappy no
  longer accepts such input silently. The protocol fails the
  connection with close code 1007 (invalid frame payload data), the
  same for every extension and on both Twisted and asyncio.

- Fix permessage-brotli failing on the second message of a connection
  when context takeover was negotiated (the default): the compressor
  and decompressor were reused after their brotli stream had
  finished. Each message is now a new brotli stream, which is the
  wire format brotli used for the first message already, and for no
  context takeover.

- Fix an asyncio WebSocket connection being left open, but no longer
  serviced, when an exception escaped the processing of received
  data: the connection is now dropped, as on Twisted.

- Add a documentation page on WebSocket compression
  (docs/websocket/compression.rst): for each of the four extensions,
  which Python package and which compression library (and bundled
  version) it uses on CPython and on PyPy, plus context takeover,
  decompression limits and the handling of invalid data. The old,
  unpublished page under docs/work/ did not cover permessage-brotli

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-19 15:08:22 -07:00
Leon Anavi 7e47f3e37e python3-anyio: Upgrade 4.14.2 -> 4.15.1
Upgrade to release 4.15.1:

- Implemented a compatibility fix for supporting direct access of
  anyio.* submodules from the main package even when those
  submodules were not directly imported first.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-18 12:39:52 -07:00
Leon Anavi 16b75e0446 python3-alembic: Upgrade 1.19.1 -> 1.20.0
Upgrade to release 1.20.0:

usecase:

- [usecase] [batch] Added a warning for the case where an unnamed
  CHECK constraint on a reflected table is omitted from a batch
  "recreate" operation.  An unnamed CHECK constraint can't be
  reliably carried over in a batch recreate as it may refer to
  columns that are being dropped or changed.  This omission was
  previously a silent operation.   The presence of any
  ~sqlalchemy.schema.CheckConstraint in
  Operations.batch_alter_table.table_args is taken to indicate that
  the case has been accommodated, and no warning is emitted.

- [usecase] [autogenerate] Autogenerate now renders a warning
  comment above any rendered Operations.drop_constraint() directive
  for which the constraint name is None, as is the case when a
  constraint that has no name in the model is dropped, most
  typically within the downgrade() function of a migration that
  adds an unnamed constraint.  A warning is also emitted on the
  console when the migration script is generated. The directive
  requires a non-None name in order to be able to emit a "DROP
  CONSTRAINT" command.

bug:

- [bug] [batch] Fixed bug in batch mode where adding a column with
  a type that generates its own CHECK constraint, such as
  ~sqlalchemy.types.Boolean or ~sqlalchemy.types.Enum with
  ~sqlalchemy.types.Boolean.create_constraint set to True, would
  emit the constraint twice when the table was recreated, once
  under the name generated by the naming convention in use and once
  under the name given to the type.  The constraint is now emitted
  once, using the same name that would be used outside of batch
  mode.

- [bug] [batch] Fixed bug in batch mode where a CHECK constraint
  generated by a type such as ~sqlalchemy.types.Boolean or
  ~sqlalchemy.types.Enum would lose the name established for it by
  the naming convention in use when the table was recreated, as the
  constraint was regenerated against the temporary table used for
  the recreate operation.  The naming convention is now resolved
  against the name of the table being replaced.

As part of this change, a type that generates a CHECK constraint
but has no name of its own, used in conjunction with a naming
convention that includes the %(constraint_name)s token, now emits a
warning, as the convention has no name to interpolate; the
constraint continues to be emitted without a name.  As noted at
batch_check_constraints, these datatypes should be given a name in
order to participate fully in batch mode.

- [bug] [batch] Fixed bug in batch mode where the
  Operations.batch_alter_table.naming_convention parameter would
  re-generate the names of constraints that already had a name when
  reflected, in the case where the convention included the
  %(constraint_name)s token, leading to a name that included the
  convention's own prefix twice.  The convention is now applied
  only to those constraints that are reflected without a name,
  which is the use case the parameter is documented for.

- [bug] [mysql] Fixed bug where autogenerate with
  EnvironmentContext.configure.compare_server_default would report
  a persistent server default change for Float, Numeric and other
  decimal columns on MySQL. MySQL reports a literal server default
  for such a column either in quoted form, e.g. '1', or, when the
  value is fractional, as a parenthesized expression, e.g. (2.5);
  neither form was accommodated for columns other than those of
  Integer affinity, so that a default such as server_default="1" on
  a sqlalchemy.Float column would never compare as equal to the
  reflected value.

- [bug] [mysql] Fixed bug where autogenerate with
  EnvironmentContext.configure.compare_server_default would report
  a persistent server default change for an expression server
  default such as (rand()). MySQL reports such a default with the
  surrounding parenthesis included whereas MariaDB reports it
  without them, so that the parenthesis are now disregarded when
  comparing.

misc:

- [change] [general] Support for SQLAlchemy 1.4 is dropped as of
  Alembic 1.20.0; SQLAlchemy 2.0.0 is now the minimum required
  version. SQLAlchemy 1.4 has no support for Python 3.13 and above,
  and the version-conditional code paths it required throughout
  Alembic have been removed in favor of the SQLAlchemy 2.0 API.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-18 12:39:52 -07:00
Leon Anavi 36dcb28f2d python3-pybase64: Upgrade 1.5.0 -> 1.5.1
Upgrade to release 1.5.1:

- fix: swap PyBuffer_Release and PyErr_Format to prevent
  Use-After-Release

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-18 12:39:52 -07:00
Leon Anavi 3afa4ec562 python3-unidiff: Upgrade 1.0.0 -> 1.0.1
Upgrade to release 1.0.1:

- Parse consecutive added files sharing /dev/null source
- Handle empty (incl. DOS) context lines in metadata_only parsing
- Expose git submodule file mode via is_submodule
- Raise UnidiffParseError on target header without source
- Handle binary diffs without a target filename

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-18 12:39:51 -07:00
Leon Anavi 2be82b113e python3-wrapt: Upgrade 2.5.0 -> 2.5.1
Upgrade to release 2.5.1:

- A LazyObjectProxy created with an interface argument that declared
  a path-like type, such as os.PathLike or pathlib.Path, did not
  define the __fspath__() special method on the class it generated.
  Because os.fspath() looks up __fspath__() on the type of the
  object, passing such a proxy to os.fspath(), the builtin open()
  or other standard library functions accepting paths raised
  TypeError before the factory callable had been invoked to create
  the wrapped object. The __fspath__() special method is now added
  when the declared interface provides it, in the same way as is
  already done for the other special methods looked up on the type,
  so the first path conversion triggers creation of the wrapped
  object and succeeds. With thanks to Muneeb Sheikh.
- A callback passed to wrapt.WeakFunctionProxy which was callable
  but evaluated as false, such as an event emitter object which
  reports its number of subscribers via __len__() and is empty when
  first created, was passed the underlying weak reference object
  instead of the proxy when the wrapped function expired. Where the
  wrapped function was a bound method, such a callback could also
  be called twice, once each when the instance and the function
  expired. Only None is now treated as meaning no callback was
  supplied, which mirrors the behaviour of weakref.ref() and
  weakref.proxy() in the standard library, so these callbacks now
  receive the proxy and are called only once, as for any other
  callback. With thanks to Huanyi Xie.
- A wrapt.AdapterFactory instance passed as the adapter argument
  to wrapt.decorator was ignored, and so never called, if the
  instance evaluated as false, such as when the factory class
  defined __bool__() or __len__(). The decorated function then
  retained its original signature instead of that produced by the
  factory. Whether an adapter factory was supplied is now
  determined by type before the truth value of the adapter is
  considered, so such factories are always called. As a consequence
  of this change a factory can now also return None, or any other
  false value, to indicate that no adapter should be used for a
  particular function, where previously this failed with an obscure
  error. With thanks to Luochenchen.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-18 12:39:51 -07:00