Commit Graph
10152 Commits
Author SHA1 Message Date
Leon Anavi 51d748d074 python3-jsonpatch: Upgrade 1.33 -> 1.36
Upgrade to release 1.36:

- Honor optimization=False when generating patches
- Preserve the original file when in-place CLI replacement fails

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 10:48:02 -07:00
Leon Anavi 70b14fc7d9 python3-importlib-metadata: Upgrade 9.0.1 -> 9.1.0
Upgrade to release 9.1.0:

- Removed support for Python 3.10, now end-of-life.

- Where a path supplies more than one metadata directory for a
  distribution, as an interrupted or unclean upgrade may leave
  behind, discovery now prefers the greater one by reverse
  lexicographic ordering of the directory names, so the stale
  metadata no longer shadows the version in use.

- A missing required metadata field (Name or Version) now raises a
  KeyError that names the field and identifies the distribution,
  which PathDistribution renders as its metadata path.

- Restored lazy validation of EntryPoint.value, deferring the
  ValueError for an invalid value until a component is accessed or
  the entry point is loaded, so one malformed entry point no longer
  prevents entry points in other groups from being selected.

- importlib_metadata.diagnose no longer crashes on a metadata
  directory that has no metadata file or whose metadata declares no
  name. Such distributions are now reported by their location.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 10:48:02 -07:00
Leon Anavi a6e36b5ae6 python3-imgtool: Upgrade 2.4.0 -> 2.5.0
Upgrade to release 2.5.0:

- imgtool now requires Python 3.8 or later. This also fixes key
  export commands, which failed on Python 3.8 and 3.9.

- Added imgtool keyinfo, which reports whether a PEM file holds a
  key pair or only a public key. With --require, it fails if the
  kind does not match, which build systems can use as a check.

- Added --name-suffix to imgtool getpub and imgtool getpubhash,
  which appends a suffix to the generated C or Rust symbol names so
  that several keys can be embedded in one image.

- Public-key-only PEM files are now supported by imgtool getpub,
  imgtool getpubhash and imgtool verify. imgtool sign given a
  public-only PEM now fails with a clear error.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 10:48:01 -07:00
Leon Anavi 8b17e33116 python3-httpx2: Upgrade 2.15.1 -> 2.16.0
Upgrade to release 2.16.0:

Changed:

- Look up only the cookie domains that match the request host, and
  skip the expired cookie sweep until a cookie is due. With 1,000
  cookies across 500 domains, building the Cookie header is about
  18 times faster. Cookies from different domains are now sent from
  the least to the most specific domain.

Fixed:

- Reuse the client cookie jar instead of copying it on every
  request and redirect. A custom policy set with
  client.cookies.jar.set_policy() now applies to outgoing requests

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 10:48:01 -07:00
Leon Anavi 73aeb65880 python3-coverage: Upgrade 7.16.2 -> 7.17.0
Upgrade to release 7.17.0:

- Dropped support for Python 3.10.
- Binary wheels are now provided for iOS and Android. This allows
  the use of the optimized C tracer on mobile platforms.
- Fix: three or more levels of nested with statements could make a
  with line look like a branch with an exit that can never happen.
  Using the sys.monitoring core, these phantom branches were
  reported as partial. Other cores hid the problem but still
  counted the phantom branches in the total.
- Fix: a comment or string that merely mentioned if True: or while
  True: could mark its line as a branch that is known to be
  partial, so a branch that never ran was reported as taken. These
  built-in patterns now only match at the start of the statement.
- Fix: region detection missed functions defined in unusual places,
  such as else and except clauses. This is now fixed.
- Fix: recent versions of the lcov tool complain if the same
  function name appears more than once in a report. Python can have
  multiple same-named functions in a few ways, for example,
  getters/setters or conditionally defined functions. These are now
  disambiguated by adding a @<line number> suffix to the function
  name.
- Fix: The "Can't combine statement coverage data with branch data"
  error now names the two data files it couldn’t combine. The error
  description in the docs now lists common causes and how to find
  the process that wrote the file.
- Fix: at coverage totals close to 0 or 100, the XML report could
  get incorrect line-rate values like 8.333e-05 or 1. This is now
  fixed.
- Fix: a parallel data file saved more than once kept the hash of
  its first save in its file name. Combining could then skip it as
  a duplicate of another file that had the same data at that point,
  and delete it, losing the data recorded after the first save.
  Each save now updates the hash. This had been a problem since
  7.13.1.
- Fixes for obscure but legal file names:
  - File names (and plugin names) can contain control characters,
    which are legal in POSIX paths but unsafe in reports: in XML
    1.0 they make the document non-well-formed, and in a terminal
    they act as escape sequences (colors, title/clipboard
    sequences, cursor moves that forge output). Now the XML report,
    the text and Markdown summary reports, and coverage debug data
    replace non-printable characters in names. Printable names are
    unchanged.
  - A file pattern (from include, omit, or a [paths] alias)
    containing a newline sent the glob-to-regex translation into an
    infinite loop, hanging the process. Newlines in patterns are
    now handled like any other character.
- Fixes in the implementation of the C tracer:
  - If a plugin’s dynamic_source_filename method raised an
    exception, lines in that function could be recorded as
    belonging to a different file. Also fixed some minor memory
    leaks in the C tracer.
  - The refcount of None was mismanaged during function calls,
    including comprehensions. This was unlikely to cause an actual
    problem, but is now fixed. Thanks, Andrew Dalke.
  - The C tracer held borrowed references to dictionary values,
    which was unsafe on free-threaded Python. Now it takes its own
    references.
  - An internal error while recording a new file could be reported
    as a confusing SystemError instead of the actual exception.
- Performance: the text summary report (coverage report) held on to
  every file’s parsed source until it finished, so its memory use
  grew with the size of the project: ten times or more what 7.14
  used on large projects. Now it keeps only what it needs to print.
- Performance: HTML reports should be about 5% faster to produce.
- Kept the political banner in the README.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 10:48:01 -07:00
Leon Anavi 6a79ef1cfe python3-brotli: Upgrade 1.2.0 -> 1.2.1
Upgrade to release 1.2.1:

- CVE-2026-111497: out-of-bounds write permits remote code execution

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 10:48:01 -07:00
Leon Anavi ac20bdb6f1 python3-autobahn: Upgrade 26.10.1 -> 26.10.2
Upgrade to release 26.10.2:

- Fix reading the TLS peer certificate
  (TransportDetails.peer_cert) with pyOpenSSL 26.2.0 and later:
  autobahn.twisted.util.extract_peer_certificate() raised
  AttributeError: 'X509' object has no attribute 'get_extension'
  for every certificate with extensions, as pyOpenSSL removed its
  X.509 extension API (and deprecates the rest of its X509 API).
  The certificate is now read with cryptography, in the new
  backend-neutral autobahn.util.peer_certificate_details(), which
  also never raises on certificate content it cannot parse (it is
  peer data, read before authentication): extensions, or a subject
  or issuer, that cannot be read are left empty. The peer_cert dict
  keeps its keys and formats, except: ⚠ extensions[].value was
  OpenSSL's text; a subject or issuer alternative name is still
  given as OpenSSL prints it (DNS:localhost, IP Address:127.0.0.1),
  other extensions now as cryptography prints them; and
  signature_algorithm is ed25519 instead of ED25519 for Ed25519
  certificates

- Fix the TLS peer certificate never being available on Twisted
  WebSocket and RawSocket connections: it was read when the TCP
  connection was made, before the TLS handshake, and so was always
  None. It is now read when the TLS handshake is complete, together
  with the TLS channel ID. With this, TLS client certificate
  authentication (Crossbar.io authmethod tls, and dynamic
  authenticators reading transport.peer_cert) works again

- Fix asyncio: fill TransportDetails.peer_cert (it was always
  None), and treat a TLS server connection without a client
  certificate as secure, with a TLS channel ID: is_secure was
  derived from the peer certificate, so WAMP-cryptosign with
  channel binding failed on asyncio servers

- Behaviour change - the TLS channel ID tls-unique on Twisted now
  follows RFC 5929 (the first TLS Finished message of the
  handshake, in a full handshake the client's), as Python's ssl
  module, and so autobahn on asyncio, already did. Twisted used the
  server's Finished message, so WAMP-cryptosign with channel
  binding failed between Twisted and asyncio peers over WebSocket,
  and between Twisted RawSocket peers (whose protocols did not set
  is_server, so the client side used the wrong message). Twisted
  peers on autobahn 26.10.1 or older and on 26.10.2 no longer agree
  on the channel ID over WebSocket: upgrade both sides of
  connections that use channel binding (#2014) Work around a PyPy
  bug: PyPy's ssl module (up to at least PyPy 7.3.23) returns the
  server's TLS Finished message from
  get_channel_binding("tls-unique") instead of the first (the
  client's), so autobahn on asyncio on PyPy disagreed with all
  other peers on the channel ID. The new autobahn.util.tls_unique()
  uses PyPy's own tls_unique_cb() on PyPy, which returns the right
  message

- TransportDetails.is_server is now set on Twisted RawSocket and
  asyncio WebSocket connections (it was None)

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 10:48:01 -07:00
Leon Anavi 7a902c3dab python3-alembic: Upgrade 1.20.0 -> 1.20.1
Upgrade to release 1.20.1:

bug:

- [bug] [autogenerate] Fixed issue where a table or column comment
  set to an empty string would cause autogenerate to detect a
  comment change on every run.  As most backends, including
  PostgreSQL, MySQL, MariaDB and Oracle, don't store an empty
  string comment distinctly from no comment, autogenerate now
  treats an empty string comment the same as None when comparing
  comments. Additionally, an empty string comment is now rendered
  in op.create_table() and op.add_column() directives, where it was
  previously omitted.  Pull request courtesy vineoy.

- [bug] [autogenerate] [postgresql] Fixed rendering of the
  PostgreSQL ~sqlalchemy.dialects.postgresql.DOMAIN type in
  autogenerated migration scripts.  Previously the type was
  rendered using repr(), which omitted the check, not_null,
  default, collation, constraint_name, schema and create_type
  arguments and did not apply a dialect prefix to the underlying
  data type.  The full set of arguments is now rendered and the
  underlying data type is rendered using the standard
  type-rendering logic.  Pull request courtesy Sebastian Cao.

- [bug] [autogenerate] [postgresql] Fixed false-positive "Computed
  default cannot be modified" warning emitted during autogenerate
  when comparing PostgreSQL Computed columns whose reflected SQL
  expression includes type cast specifiers such as ::regconfig or
  ::text, which PostgreSQL adds to the expression as stored.  These
  cast specifiers are now stripped before comparison so that
  otherwise equivalent expressions no longer trigger the warning.
  Pull request courtesy Sebastian Cao.

- [bug] [autogenerate] [postgresql] Fixed issue where autogenerate
  would detect an unchanged PostgreSQL expression-based index as
  modified when the expression included type casts, such as a cast
  to a type with a length or precision, a nested cast, or a cast
  followed by a DESC modifier.

- [bug] [postgresql] Fixed bug where Operations.alter_column()
  against a PostgreSQL identity column would render an incomplete,
  invalid ALTER TABLE ... ALTER COLUMN statement with no clause at
  all when existing_server_default was omitted, even if there were
  no existing server default.  Pull request courtesy Riti Grover.

- [bug] [environment] Fixed issue where a third party plugin
  published using the alembic.plugins entrypoint, configured to
  refer to a plugin module as documented at
  alembic.plugins.toplevel, would cause import alembic to fail with
  a TypeError, as the loaded module was erroneously iterated rather
  than being set up directly. An entrypoint that refers to a
  collection of modules, the form which inadvertently worked
  previously, continues to be accepted but now emits a deprecation
  warning.

- [bug] [autogenerate] Fixed issue where dialect-specific keyword
  arguments on a ForeignKeyConstraint, ForeignKey or
  CheckConstraint, such as postgresql_not_valid, were not rendered
  for the constraints that are part of an autogenerated
  Operations.create_table() directive, nor for an autogenerated
  Operations.create_check_constraint() directive.  The
  Operations.create_table() case additionally requires SQLAlchemy
  2.0.55 / 2.1.5 or greater.

- [bug] [autogenerate] Fixed issue where, when using SQLAlchemy
  2.1, the CHECK constraint generated by a type such as
  ~sqlalchemy.types.Enum or ~sqlalchemy.types.Boolean with
  create_constraint=True would be rendered by autogenerate as
  explicit sa.CheckConstraint() entries within op.create_table(),
  in addition to the type itself which already produces that
  constraint, leading to a duplicate constraint error when the
  migration is run.

- [bug] [operations] Fixed issue where a CreateTableOp produced
  from an existing ~sqlalchemy.schema.Table using
  CreateTableOp.from_table() would emit the CHECK constraint
  generated by a type such as ~sqlalchemy.types.Enum or
  ~sqlalchemy.types.Boolean with create_constraint=True twice in
  the resulting CREATE TABLE statement when invoked directly.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 10:48:01 -07:00
Ross Burton c3dc1f2b33 python3-dbus-fast: upgrade 4.0.0 -> 5.2.0
Drop the Cython version patch, as upstream has a wider range now.

async-timeout was removed as an dependency upstream in v1.90.0.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 10:48:01 -07:00
Peter Marko e94f799ccc python3-grpcio-tools: upgrade 1.76.0 -> 1.84.1
Upgrade to addresses eMudhra certificates issue.
See https://emudhra.we-have-a-problem.com/

Sync all grpc recipes to the same version.

Removed obsolete patches:
* The compiler-argument fix is already handled upstream using
  shlex.split()
* Bundled protobuf now restricts musttail to AArch64 and x86-64, so the
  MIPS exclusion patch is unnecessary.

License-Update: switched from license to license expression
orig: License: Apache License 2.0
New:  License-Expression: Apache-2.0

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 08:54:06 -07:00
Peter Marko 01a487f06c python3-grpcio-reflection: upgrade 1.84.0 -> 1.84.1
Upgrade to addresses eMudhra certificates issue.
See https://emudhra.we-have-a-problem.com/

Sync all grpc recipes to the same version.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 08:54:06 -07:00
Peter Marko 44bd91716b python3-grpcio-channelz: upgrade 1.84.0 -> 1.84.1
Upgrade to addresses eMudhra certificates issue.
See https://emudhra.we-have-a-problem.com/

Sync all grpc recipes to the same version.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 08:54:06 -07:00
Peter Marko 049f4b32b5 python3-grpcio: upgrade 1.78.0 -> 1.84.1
Upgrade to addresses eMudhra certificates issue.
See https://emudhra.we-have-a-problem.com/

License-Update: clarified which license applies to which file
* https://github.com/grpc/grpc/commit/fb53717dfa6b264e7f930bb5e9a7e5c86a31ed9e

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 08:54:06 -07:00
Ross Burton 58b59c7c86 python3-ruff: build with maturin
ruff is built with maturin, so inherit the python_maturin class.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 08:54:05 -07:00
Khem Raj 6241c7a96c python3-ruff: Fix build on targets without 64-bit atomics
std only provides AtomicU64 on targets with 64-bit atomics, so ruff
fails to build for riscv32:

  error[E0432]: unresolved import `std::sync::atomic::AtomicU64`
   --> crates/ruff/src/cache.rs:7:25

Add a patch that uses portable-atomic's AtomicU64 for the cache
timestamp on such targets, archived in the same on-disk format.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 08:54:03 -07:00
Khem Raj 98867b96b8 python3-ruff: Upgrade 0.16.8 -> 0.17.1
Regenerate python3-ruff-crates.inc with 'bitbake -c update_crates'.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 08:54:03 -07:00
Khem Raj cd1bf9ee36 python3-fsspec: Fix runtime dependencies and install conftest for ptests
fsspec imports ctypes, asyncio, json, logging and threading, which are
not in python3-core, without ctypes "import fsspec" fails, which also
broke the python3-pyyaml-include ptests.

Install the top-level fsspec/conftest.py into the ptest dir, it
provides the "m" fixture and the autouse instance cache cleaner, and
without it most tests error out or fail.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 08:54:00 -07:00
Khem Raj 9379ce65ea python3-pandas: Add missing runtime dependency on python3-zoneinfo
pandas 3 imports zoneinfo, so without it "import pandas" fails with
ModuleNotFoundError, and later imports in the same interpreter fail on
the partially initialized module.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 08:54:00 -07:00
Khem Raj b2f9904639 python3-filelock: Install docs/how-to.rst for ptests
test_documented_cache_lock_name reads docs/how-to.rst relative to the
tests dir and fails with FileNotFoundError when it is not installed.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 08:53:59 -07:00
Khem Raj 47e9b831af python3-anyio: Add missing runtime dependency on typing-extensions
anyio 4.15 imports typing_extensions on python < 3.15, so importing
anyio on target fails with ModuleNotFoundError. This broke the
a2wsgi, pytest-httpx and uvicorn ptests.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 08:53:59 -07:00
Leon Anavi b31ebd01b9 python3-fonttools: Add recipe
Add a recipe for fonttools which provides tools to manipulate font
files. Release 4.67.0 brings:

- [varLib] Support decreasing design-space axis mappings, via a new
  keyword-only allow_decreasing argument to models.normalizeValue.
- [designspaceLib] Allow partial DesignSpace v5 axis subsets:
  omitted range attributes on an <axis-subset> are taken from the
  parent axis, as the spec says.
- [designspaceLib] Fix DesignSpaceDocument.normalize() for mapped
  axes: axis bounds and rule conditions are now normalized from
  their original values.
- [designspaceLib] splitInterpolable and splitVariableFonts now
  warn when a source or instance is dropped because it lies outside
  the document's own axes, instead of silently discarding it.
- [varLib.instancer] Add support for instancing variable COLRv1
  fonts.
- [varLib.instancer] Apply VVAR vertical-origin deltas to VORG, and
  use OpenType rounding for instanced advances and vertical
  origins.
- [varLib.instancer] Keep a universal FeatureVariations record when
  pinning removes its last condition but other axes remain.
- [varLib.instancer] Preserve ppem Device corrections in GDEF,
  BASE, GPOS and JSTF instead of asserting on them.
- [varLib.instancer] Allow requesting an axis's original range on
  VARC fonts.
- [varLib.instancer, subset] Fold, remove or remap MATH
  VariationIndex devices when instancing, subsetting the GDEF store
  or optimizing it.
- [varLib] Raise ValueError: Missing required table fvar from
  varLib.mutator and the instancer CLI on a static font, instead of
  a bare KeyError.
- [featureVars] When adding rvrn, also shift lookup indices inside
  existing FeatureVariations. Handle null ConditionSet and
  FeatureTableSubstitution offsets when building, subsetting and
  instancing. Keep FeatureTableSubstitution records sorted after
  merging new ones into an existing record.
- [ttLib] Fix FeatureParams (size, ssXX, cvXX) in FeatureVariations
  alternate feature tables, which failed to compile and round-trip.
- [ttLib] Fully decode lazily loaded ligatures, SinglePos and
  PairPos arrays during recursive decompilation, so reorderGlyphs()
  on a lazy font no longer corrupts or asserts on them.
- [VARC] Update the variation-store binary format to follow
  harfbuzz/boring-expansion-spec#175:
  SparseVarRegionList.RegionCount is uint32, sparse axes use
  Offset32 and MultiVarData items are stored in an INDEX. VARC
  fonts built with earlier fontTools versions must be rebuilt.
- [VARC] Several fixes: derive component conditions from
  conditionIndex, set the implicit scaleY when importing XML,
  report the font's current coordinates for components that reset
  unspecified axes, and keep inherited coordinates when drawing
  CFF2 VARC components.
- [varLib] buildMultiVarData accepts flattened per-region vector
  tuples.
- [otConverters] Bounds-check CFF2 INDEX count and offSize on read,
  raising TTLibError instead of allocating huge lazy lists.
- [ttLib] Handle empty packed deltas when OPTIMIZE_FONT_SPEED is
  set.
- [scaleUpem] Scale per-glyph VORG origins; fix VARC scaling for
  static fonts and condition variations; don't mutate the shared
  default CFF FontMatrix.
- [cmap] Fix format 2 compilation when all codes are single-byte or
  all single-byte codes map to .notdef. Formats 2 and 4 now reject
  glyph IDs above 65535 instead of wrapping them. Split format 14
  default UVS ranges longer than 256 codepoints. Empty format 12
  and 13 subtables round-trip.
- [glyf] Use unsigned instruction lengths, so programs of
  32768-65535 bytes compile and decompile correctly. Keep
  instructions in zero-contour glyphs.
- [pens] Fix cubic off-curve detection in TTGlyphPointPen across
  contour starts. Glyph.drawPoints() now raises NotImplementedError
  for an all-off-curve cubic contour, which the point pen protocol
  cannot express. RoundingPen passes the all-off-curve None
  sentinel through.
- [CFF2] Preserve operands when a blend has zero regions.
- [cffLib] Read CFF font names as Latin-1, matching how they are
  written. Deleting a CFF dict attribute now actually removes it.
- [CFF2ToCFF] Fix conversion of fonts with local subroutines. A
  CFF2 table with a single FontDict is now converted to a
  name-keyed CFF font that keeps its glyph names.
- [subset] Handle a null GDEF variation store.
- [merge] Support merging fonts that both have a MATH table.
- [feaLib] Reject the same mark class used twice in one anchor
  list. Don't crash on value records whose devices are all NULL.
  Pad a short OS/2 Vendor with spaces.
- [feaLib] Raise FeatureLibError with a location, instead of a bare
  Python error, for: a BASE script list without a matching tag
  list, a UnicodeRange bit outside 0-127, a name string that cannot
  be decoded, a STAT axis location with no or too many values, and
  a non-ASCII OS/2 Vendor.
- [name] Fix the BCP 47 tags of some Mac and Windows language IDs,
  e.g. es was mapped to Mac Estonian. getDebugName prefers the
  Windows English name over the Mac one.
- [post] Don't crash on a format 2.0 table with numGlyphs set to 0.
- [VDMX] Recompute numRecs and numRatios when compiling.
- [Silf] Fix compiling a Silf table that was decompiled from
  binary.
- [woff2] Preserve minorVersion when copying flavor data.
- [ttGlyphSet] Compute glyph width lazily for glyf variable fonts
  without HVAR, so .width is correct before drawing.
- [varLib.interpolatable] Respect designspace source layers; fix
  --json output with SciPy.
- [misc.psLib] Fix tokenizing of escaped parentheses in PostScript
  strings.
- [svgLib] Raise ValueError instead of IndexError on a truncated
  path command.
- [misc.transform] Preserve the direction of the remaining axis
  when decomposing a transform whose first column is zero.
- [misc.textTools] Tag.__ne__ returns NotImplemented for
  unsupported types.
- [misc.dictTools] hashdict rejects in-place union (|=).
- [misc.xmlReader] Close owned input streams when parsing fails.
- [misc.filesystem] WriteZipFS.close() can be called more than
  once.
- [EBDT] Keep EBDT/CBDT glyph metrics after probing a missing
  attribute.

This work was sponsored by GOVCERT.LU.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-23 07:55:30 -07:00
Leon Anavi d2b8391d72 python3-lazy-object-proxy: Upgrade 1.12.0 -> 1.13.0
Upgrade to release 1.13.0:

- Document explicit proxy evaluation and identity checks with None.
- Fixed some broken tests on Python 3.15.
- Added configuration for Windows ARM64 wheels.
- Added Python 3.15 wheels.
- Dropped support for EOL Python 3.10 and 3.9.
- Dropped wheel building for Python 3.13 free-threading
  (experimental and unsupported by cibuildwheel anymore; details).
- Fixed typo in __annotations__ (basically it was broken).

License-Update: Copyright years updated

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:42 -07:00
Leon Anavi 3d31e039f6 python3-networkx: Upgrade 3.6.1 -> 3.7
Upgrade to release 3.7:

Highlights:

- The isomorphism checking suite of tools has been upgraded. The
  VF2++ functions now provide subgraph isomorphism and subgraph
  monomorphism checking.
- Leiden based community detection algorithms are now supported via
  leiden_communities and leiden_partitions. This provides an
  alternative, often improved, community detection algorithm
  compared to the Louvain functions.
- The pygraphviz library is now provided via pip with wheels that
  include the GraphViz binaries. This should make the NetworkX
  interface to pygraphviz easier to use for graph layout and
  rendering.

API Changes:

- Expire random lobster dep.
- API: Expire deprecations of could-be isomorphism aliases.
- Proposal to deprecate bfs_predecessors.
- Change maximal_independent_set to return set instead of list
 .
- Add centroid as alias to barycenter.
- API: Deprecate p2g module.

Enhancements:

- Adding the Tree Optimization in Floyd Warshall.
- Kruskal MST early break for efficiency.
- create new generator that returns a random k-lift of a d-regular
  graph.
- Floyd Warshall: Adding support for weight parameter as a callable.
- [ENH] Flow algorithms: Add support for callable capacity
  parameter.
- fix: add suggestions from #8021 and #8029 to is_aperiodic.
- Improve chordal code readability by removing helper function.
- FEAT: Added basic random walk utilities #8378.
- Implement Constant-Potts Model (for use with Leiden community
  detection).
- The isomorphism checking suite of tools has been upgraded. The
  VF2++ functions now provide subgraph isomorphism and subgraph
  monomorphism checking.
- Adding optional sp arg to closeness_centrality.
- perf: replace built-in sum() with np.sum() in pagerank and katz.
- ENH: Add format parameter to adjacency_matrix.
- Proposal: Add density to nx.describe defaults.
- Add utility to extract faces from PlanarEmbedding.
- Improving views exceptions.
- Optimize _build_paths_from_predecessors stack logic for 30-40%
  speedup.
- EHN: Add nonedge argument to from_numpy_array and complete the
  roundtrip.
- State-of-the-art implementation of Tarjan's algorithm.
- Add description and keywords support to GEXF reader/writer.
- DOC: more barycenter and centroid equivalence.
- ENH: Add Barber's bipartite modularity quality function.
- Leiden based community detection algorithms are now supported via
  leiden_communities and leiden_partitions. This provides an
  alternative, often improved, community detection algorithm
  compared to the Louvain functions.
- ENH: Add Shen's overlapping modularity quality function.
- ENH: leiden test and doc_string improvements.
- Add butterflies() to bipartite cluster module.
- Avoid O(E) lookup in nx.display -issue8639.
- Add HITS algorithm benchmark to benchmark suite.
- Add DAG antichain width.
- escape tuple labels in generate_gml.
- Speed up the residual flow reset in edmonds_karp and simplify the
  minimum_cut partition.
- Avoid building the flow dict in maximum_flow_value.
- ENH: add n_samples parameter to rich_club_coefficient for
  multi-sample averaging.
- Simplifying _build_paths_from_predecessors - 10% faster.
- {label=Highlight} The isomorphism checking suite of tools has
  been upgraded. The ISMAGS symmetry aware isomorphism and subgraph
  isomorphism checking tools now support directed and multigraph
  Graphs. And, now in addition to support for (induced) subgraph
  isomorphisms, they support (non-induced subgraph) monomorphism.
- ENH: adding magnetic_laplacian_matrix.
- ENH: Speed up connectivity checks in random_reference and
  lattice_reference.
- [BUG][PERF] Fix ISMAGS directed matching and monomorphism
  overhead.
- Add: Shrikhande graph.

Bug Fixes:

- Bug: Floyd Warshall: resolved self positive loop bug.
- Bugfix for spring layouts with empty list of fixed nodes.
- Fixed diameter/radius error for null graphs.
- Floyd warshall: raises error if negative cycle is found.
- BUG: fix ISMAGS self-loops error.
- Fix cost function in min_weighted_dominating_set.
- Fix sparse heuristic not applied to diagonal blocks in
  stochastic_block_model.
- BUG: fix SpanningTreeIterator AttributeError when using next()
  directly.
- Fix all_node_cuts: correct Even-Tarjan reduction for Kanevsky's
  algorithm.
- fix multigraph isomorphism tests and fix support in ISMAGS and in
  VF2pp.
- BUG: Make argmap._lazy_compile thread-safe.
- reject out-of-range bytes in graph6/sparse6 decoders.
- Fix: bug with mean degree part of
  geometric_soft_configuration_model.
- Fix k_components losing or truncating k-components.
- Fix ISMAGS ignoring matches when graph has extra node/edge colors
  (gh-8738).
- BUG: reverse the map returned by vf2pp functions.
- BUG: Fix node connectivity and node cuts for digraphs.
- BUG: Use power iteration as the default HITS implementation.
- BUG: group betweenness gives incorrect values for undirected
  connected graph.
- BUG: Group betweenness centrality counts paths incorrectly for
  directed but not strongly connected.
- BUG: Group betweenness skips adjustments if any sigma is zero.
- BUG: Handle KeyErrors in directed not strongly-connected
  group_betweenness_centrality.
- BUG: correct normalization of group betweenness centrality when
  endpoints is true.
- [BUG][PERF] Fix ISMAGS directed matching and monomorphism
  overhead.
- BUG: Fix vf2 handling of isomorphism_iter with isolated subgraph
  nodes.
- fix: handle empty candidate sets in
  ISMAGS.largest_common_subgraph.
- BUG: Hold the graph weakly in cached edge and degree views.

Documentation:

- Improving FP recommendations.
- DOC: add Reporting Views reference page and include in toctree.
- Betweenness documentation definitions should match default
  behavior.
- docs: clarify chordal_cycle_graph degree for multigraph vs simple
  graph.
- DOC: dedup graph setup in fp tutorial cells.
- Clarify decorator usage in backend implementations.
- DOC: Warn that env vars must be set before importing networkx.
- Update PGF/TikZ link.
- Consolidate reportviews documentation.
- Document betweenness normalizations correctly.
- DOC: Add nx-guides cross-link to plot_lca example.
- DOC: Update link to football data.
- Clarify that bfs_predecessors() does not actually search through
  predecessors.
- Add example to filter multiedges in edge_subgraph docstring.
- Doc: Add nx_pydot to DOT file documentation.
- Adopt scikit-learn's agentic AI policy.
- Clarify a note on graph ordering in graph_atlas_g docstring.
- DOC: Update import convention for bipartite docstring examples.
- DOC: Use dict(G.degree) in examples.
- Fix typo: thrid-party to third-party in tutorial.
- Fix: minor typo in docstring.
- DOC: Add docstring examples to random_walk.
- DOC: first step to add football.zip to examples directory.
- DOC: Add football example using url to our own examples github
  folder.
- DOC: Remove Good First Issue references from docs.
- DOC: Add note about from_scipy_sparse_array treating zeros as
  explicit zeros.
- Update maximal_independent_set docstring.
- Add examples to degree_histogram docstring.
- Gallery: Fix and update basic_properties example.
- Added example for SpanningTreeIterator to find min spanning trees.
- Gallery: Update basic read/write example.
- Gallery: split simple graph example into two separate ones.
- Fix broken links in quotient_graph docstring and other minor doc
  warnings.
- Gallery: Improve plot_dag example.
- Gallery: Improve plot_degree_sequence example.
- Enhance has_cycle docstring with usage examples.
- DOC: Remove redundant sphinx links.
- DOC: clarify lazy exception behavior in topological_sort
  generator.
- Fixed incorrect description of modularity formula for directed
  graphs.
- DOC: clarify remaining readwrite generator docstrings.
- DOC: Add note about connectionstyle effectiveness.
- DOC: more barycenter and centroid equivalence.
- DOC: Add xref to nx-guides to gallery overview.
- DOC: Add conference information to visualization in football
  example.
- leiden: fix "wen" + duplicate "the the" in q_add comment.
- Fix star graph node count in dual_barabasi_albert_graph comment.
- DOC: update to roadmap.
- DOC: Clarify degree_centrality behavior for directed graphs.
- DOC: Fixups for Leiden docstrings.
- DOC: Update install guide.
- Louvain updates to docs and code readability.
- DOC: Add Hiveplotlib to Drawing Docs and External Examples
  Gallery.
- Clarify attribute behavior in relabel_nodes when multiple nodes
  map to the same target.
- MAINT: update code of conduct form link to match NumFOCUS link.
- Warn when PageRank convergence check is ineffective.
- DOC: fix lattice_reference niter default (5, not 1).
- Fix typos in comments and docstrings.
- DOC: Add example of floating point handling for maximum_flow
  capacity.
- DOC: minor tweaks to biconnected docstring examples.
- BUG: fix bfs_successors yielding empty tuple for zero-successor
  source.
- DOC: clarify method='unweighted' behavior in all_shortest_paths
  helpers.
- Fix docstring parameters that are not in the signature.
- Raise NetworkXError on unknown attribute class in GEXF reader.
- DOC: add example of immediate post-dominators.
- Fix four docstring parameter names that do not match the
  signature.
- DOC: Add details about steiner tree approxmation for disconnected
  graphs.
- DOC: Fix broken link in leiden_partitions.
- DOC: Fixup communicability.
- DOC: document bfs_layout raises.
- Add and correct ISMAGS method docs.
- DOC: Fix write graphml docstring examples.
- DOC: Fix edgelist docstring examples.
- DOC: Fix TeX docstring examples.
- DOC: Fixing adjlist docstring examples.
- DOC: Fix gexf docstring examples.
- DOC: Fixing bipartite.write_edgelist docstring examples.
- DOC: Fix pajek docstring examples.
- DOC: Update bipartite.read_edgelist docstring examples.
- DOC: Fix multiadjlist docstring examples.
- DOC: Fix gml docstring examples.
- [BUG][PERF] Fix ISMAGS directed matching and monomorphism
  overhead.
- DOC: Fix Parameters indentation in generate_gexf.
- Expose *Matcher classes to get them into the objects inventory.

Maintenance:

- Relaxes check for undirected edge node ordering when backends are
  used for networkx tests.
- Revert "pin python 3.14 to be version 3.14.0 until dataclasses
  are fixed".
- MAINT: Single implementation for different returns.
- CI: Build docs in parallel.
- BENCH: Add minimum spanning tree to benchmarks.
- fix: circular_ladder_graph edge cases for n < 2.
- Fix/refactor dag root to leaf.
- fix: preserve string positions in to_agraph conversion.
- BUG: forceatlas2 layout with nonarray complete initial positions.
- Add benchmarks for is_chordal.
- Explicitly install nx after deps.
- Minor improvements to chordal_graph_treewidth.
- DOC: Eliminate sphinx build warnings.
- CI: Bump dispatch workflow python version.
- Update minimum dependencies (SPEC 0) and drop python 3.11.
- Remove _hits_scipy code that has been deprecated.
- DOC: footnote -> hyperlink.
- Linting exceptions.
- BUGFIX: spring energy and ARF layouts with zero iterations.
- Expire random lobster dep.
- MAINT: Reuse could_be_isomorphic in fast_/faster_ variants.
- API: Expire deprecations of could-be isomorphism aliases.
- MAINT: Bump linters.
- CI: Use pixi for CI platform/OS independent tasks.
- CI: Explicitly add pip as a dep while resolving doc env.
- Minor random_walks test refactor.
- Refactor random walk implementation.
- Minor update to zip examples.
- TST: Dedup and refactor closeness centrality tests.
- MAINT: clarify error when RandomState is used with random API.
- MAINT: remove unused functions and imports.
- MAINT: Minor readability tweaks to pagerank.
- Raise ValueError in write_gexf for mixed typed attributes.
- BUG: Handle small graphs in information_centrality.
- CI: fix benchmark PR workflow checkout.
- Followup that fixes import order.
- MAINT: remove unused imports and dead helpers.
- MAINT: Handle insufficient degree Pearson samples.
- Optimize VF2 GMState frontier update by removing full core scan.
- MAINT: Avoid subgraph views in strategy_connected_sequential.
- Cleanup butterflies tests.
- Remove unused dsum variable from havel_hakimi_graph.
- CI: networkx default deps were leaking into the pixi default env.
- DOC/CI: Update github label requirements for user experience.
- CI: Redo benchmarks to use pixi around asv.
- MAINT: Fix ci permissions.
- MAINT: Minor touchups to lexicographical_toplogical_sort.
- MAINT: Rm MANIFEST.in.
- CI: Add image comparison tests to pre-release workflows.
- MAINT: Avoid subgraph views in is_forest.
- TST, MAINT: explict graphviz check for test_pydot.
- CI: Fix circleci artifact redirector permissions.
- write xsd:boolean true/false for dynamic gexf attvalues.
- escape quotes and backslashes in pajek make_qstr.
- Louvain updates to docs and code readability.
- Align boruvka_mst_edges keys default with kruskal/prim and fix
  docstring typo.
- TST: Test maintenance for test_clique.py.
- Optimize Leiden data handling.
- MAINT: Avoid Louvain infinite loops.
- MAINT: avoid timeouts on circleci.
- MAINT: bump copyright year before release.
- BENCH: Add clustering to algorithm benchmarks.
- CI: Add back --doctest-modules flag to base tests.
- Prune nested components in k_components reconstruction and add
  tests the private helpers.
- Fix reverse to preserve all attributes in dispatch conversions.
- Clear the dispatch cache in remove_{node,edge}_attributes.
- Fix "accidentally quadratic" use of list as queue in
  full_rary_tree.
- MAINT: allow isomorphism match helpers to be lists or not.
- fix: correct typo in test variable name.
- Allow spectral_layout to handle dim>=len(G). Added dim tests.
- META: Add agents.md.
- MNT: Use linalg.eigh to compute HITS eigenvalues.
- TST: parameterizing with iterables is deprecated in pytest.
- TST: Cleanup & modernize the minimum cuts test suite.
- MAINT: Refactor communicability tests.
- ENH: Use linear algebra to compute communicability.
- MNT: Raise warnings to errors while running pytest.
- MAINT: sparse.eye is deprecated, use eye_array.
- BUG: Fix _hits_numpy inf/NaN when eigh returns negated
  eigenvector.
- Fix typo while dispatching vf2pp.
- Support for Py3.15.
- Update minimum dependencies (SPEC 0).

Other:

- TST: Common tests for all isomorphism algorithms.
- TST: Add test cases for len(G) != 3.
- TST: shorten leiden tests.
- TST: Update pytest-mpl baselines for matplotlib v3.11.
- Adding regression test for duplicate shortest-paths.

License-Update: Copyright years updated

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:42 -07:00
Leon Anavi 92e50570af python3-pre-commit: Upgrade 4.6.2 -> 4.7.0
Upgrade to release 4.7.0:

- Fix language: node hooks during commit with -a or inside a
  submodule.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:42 -07:00
Leon Anavi 6540dceb7b python3-pint: Upgrade 0.25.3 -> 0.26.2
Upgrade to release 0.26.2:

Major changes

- check(), +/-, comparisons and to_reduced_units() now use the
  active context, e.g. adding kN and kg in a context relating force
  and mass (#1951, #1748, #1002, #1067)
- <number> / <offset or logarithmic unit> (e.g. 1 / ureg.degC) now
  raises OffsetUnitCalculusError; Unit * bool and Quantity * str
  now raise TypeError
- Add a deprecation warning to ApplicationRegistry.__getitem__()
  matching direct registry item access
- Improve and test / and * between Quantity and Unit, supporting
  more edge cases; improve their type annotations as well
- Preserve the registry's Quantity type in wraps annotations for a
  single return unit, allowing array results to be indexed
- Improve type annotations for Unit: / and ** keep the unit type,
  and __copy__/__deepcopy__ keep the registry subclass

Units and parsing

- Update definition of US survey units to reflect the 2022 revision
  by NIST/NGS
- Fix fathom to equal two international yards; the old value is now
  survey_fathom
- Fix the angular mil so one turn is 6400 mil
- Parse $ as a unit symbol like £, and raise DefinitionSyntaxError
  for unknown operators such as & instead of ignoring them
- Raise DefinitionSyntaxError instead of an internal TypeError for
  addition or subtraction in unit expressions, e.g. kilo-watt
- Reject invalid unit aliases at definition time while preserving
  Unicode and degree aliases

Formatting changes

- Add TypstFormatter and ZeroFormatter to allow formatting to plain
  Typst and zero package
- Format temperature units as valid LaTeX (~L) and siunitx (Lx),
  e.g. \degreeCelsius
- str() and format() of a Unit now use the registry's fmt_locale,
  like Quantities
- Keep the row layout of multi-dimensional arrays in
  Quantity._repr_html_, as repr does
- Fix babel not localizing unit names containing underscores, e.g.
  kilowatt_hour
- Fix formatting a unit with only negative exponents, e.g. 1 /
  second, raising IndexError when a locale is set
- Restore the previous numeric locale when localized formatting
  raises an exception

NumPy

- Support the numpy.vecdot, numpy.matvec and numpy.vecmat ufuncs
  and numpy.linalg.vecdot on Quantities
- Support numpy.repeat on Quantities
- numpy.sum/numpy.nansum now raise DimensionalityError for a bare
  non-zero initial on a dimensioned Quantity, like numpy.max
- Fix numpy.sum/numpy.nansum not converting a Quantity initial
  value, unlike numpy.max/numpy.min
- Fix numpy.nanmax/numpy.nanmin raising ValueError on a Quantity
  initial value, unlike numpy.max/numpy.min
- Fix numpy.clip not converting the units of the numpy 2.1 min/max
  keywords
- Fix recursion in numpy.average with dimensionless Quantity
  weights and returned=False
- Fix assigning offset-unit quantities (e.g. degC into a kelvin
  array) via __setitem__
- Fix numpy.linspace(..., retstep=True) on Quantities failing to
  return separate samples and step; offset temperature steps use
  delta units
- Fix numpy.block raising TypeError for nested lists of Quantities,
  e.g. numpy.block([[a, b], [c, d]])
- Fix numpy.percentile, numpy.nanpercentile, numpy.quantile, and
  numpy.nanquantile raising RecursionError when q is a Quantity
- Fix numpy.tensordot, numpy.cross and the other multiplicative
  functions rejecting positional arguments after the two arrays,
  e.g. numpy.tensordot(a, b, 1)
- Fix numpy.mod, numpy.remainder, numpy.fmod and numpy.floor_divide
  ignoring the units of the divisor when both operands have the
  same dimensionality, e.g. np.mod(7 m, 200 cm) returned 7 m
- Fix numpy.unwrap raising TypeError on the period keyword; a
  Quantity period or discont is converted to the units of the input
- Fix numpy.diff and numpy.ediff1d not converting the units of
  Quantity prepend/append and to_end/to_begin values
- Fix numpy.ptp returning an absolute temperature instead of a
  delta for offset units

Bugfixes

- Fix converting logarithmic units defined with a compound
  reference, e.g. volt / ampere, which dropped all but one
  reference unit
- Fix compound logarithmic units, e.g. Quantity(-161, "dBm/Hz"),
  becoming an undefined delta_ unit that could not be converted
- Fix logarithmic unit conversion and hashing with Decimal
  magnitudes and non_int_type=Decimal, with or without NumPy
- Fix UnitRegistry.wraps() converting only the first variadic
  positional argument and failing on empty *args; preserve
  keyword-only arguments and defaults
- Fix UnitRegistry.check() validating the wrong arguments of
  functions with *args, **kwargs or keyword-only parameters, and
  failing to call functions with positional-only defaults
- Fix 1 * unit skipping auto_reduce_dimensions and
  autoconvert_to_preferred, so it disagreed with every other
  magnitude
- Fix to_preferred raising a spurious DimensionalityError for some
  preferred units
- Fix RecursionError in find_connected_nodes for long chains of
  contexts
- Fix in-place **= changing a Quantity's units when the magnitude
  update fails, e.g. a fractional power of an integer array
- Fix Quantity.dimensionality being stale after an in-place
  operation changes the units
- Fix Quantity.to_compact() raising OffsetUnitCalculusError for
  offset units like degree_Celsius with magnitude below 1

Documentation

- Document is_compatible_with in the tutorial
- Document defining units with a custom Converter
- Document that Unit equality compares definitions, not values,
  e.g. kph != km/hour (#1433, #1876)
- Document how to compare angles that differ by a full turn, e.g.
  -140 degree and 220 degree, using the modulo operator

Development and packaging

- Remove the babel <= 2.8 upper bound from the babel extra
- Fix CI never comparing the matplotlib test figures with the
  baseline images: --mpl was lost with the Travis config in 2021
- Fix CI installing the numpy matrix pin outside the pixi env on
  Windows/macOS, so those legs ran the no-numpy test suite

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:42 -07:00
Leon Anavi c575fa84a4 python3-parse: Upgrade 1.22.2 -> 1.22.3
Upgrade to release 1.22.3:

- Preserve timezone offsets in strftime time-only results

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:42 -07:00
Leon Anavi a50a55904d python3-paramiko: Upgrade 5.0.0 -> 5.1.0
Upgrade to release 5.1.0:

- [Feature]: Added support for the mlkem768x25519-sha256 post-quantum
  hybrid key exchange method described in draft-ietf-sshm-mlkem-hybrid-kex.
  It pairs ML-KEM-768 (FIPS 203) with X25519 and is interoperable with
  OpenSSH 10.0+. The new method is enabled automatically when the
  installed cryptography library exposes ML-KEM (which requires
  OpenSSL 3.5+, AWS-LC, or BoringSSL); it is preferred over the
  existing classical methods when available.
  See paramiko.kex_mlkem.KexMLKEM768X25519.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:41 -07:00
Leon Anavi c397be2e6b python3-objgraph: Upgrade 3.6.2 -> 3.7.0
Upgrade to release 3.7.0:

- Add support for Python 3.14 and 3.15.
- Drop support for Python 3.7, 3.8, and 3.9.
- Fix get_leaking_objects with an objects argument to not ignore
  references from other sources.  Closes #82.
- Fix get_leaking_objects([]) causing an UnboundLocalError.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:41 -07:00
Leon Anavi 250944d868 python3-oauthlib: Upgrade 3.3.1 -> 4.0.0
Upgrade to release 4.0.0:

The release 4.0.0 defines the foundation that enables AI contributions
and will improve the maintenance of oauthlib by using AI agents, skills,
code for both contributors and maintainers. It includes devcontainer,
skills and cleanup of instructions.

Important: this release contains 2 breaking changes:
- Removed JSONP support from token revocation endpoint
- Client authentication validation reorganized across grants:
  the grant_type parameter is now validated before client
  authentication.

- Replace pyenv with uv in documentation and tooling
- Improve github action to publish package
- Add pre-commit to run linters, formatters, etc. on code changes
- Fix client authentication for DeviceCodeGrant when getting a
  token
- Add project URLs to this project's PyPI page
- Fix a typo in ServiceApplicationClient docstring.
- Correct grammar in function help
- Add Python 3.14 to the testing
- Initial python/uv/tox devcontainer
- Fix ruff checks about unused variables
- Drop EOL Python 3.8 from CI
- Set Open Collective username to 'oauthlib'
- pre-commit autoupdate 2026_02_21
- Remove a trailing whitespace fo fix failing pre-commit
- Fix typos discovered by typos
- Add resource to Request._params
- Release 3.4.0: Add OAuthLib Maintainer agent
- Remove JSONP support from token revocation
- Improve PKCE code comparison
- Release 4.0.0: bump and update changelog

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:41 -07:00
Leon Anavi 47805bdab0 python3-nodeenv: Upgrade 1.10.0 -> 1.11.0
Upgrade to release 1.11.0:

New Features:

- feat(certifi): optionally use certifi certificates
- feat(nodeenv): accept npm-style semver ranges in --node
- feat(nodeenv): add --prefer-system to use system node when
  available
- feat(nodeenv): add --isolate-npm to keep npm config inside the
  environment
- feat(nodeenv): install local packages from a requirements file
- feat(nodeenv): write the posix activate on Windows for git-bash

Fixed bugs:

- fix: repair Windows CI (ZipFile.extractall filter, test_smoke
  layout)
- fix(nodeenv): replace leftover debug print with logger.debug
- fix(nodeenv): stop -p from reinstalling node that is already
  there
- fix(nodeenv): let -p target a virtualenv nodeenv isn't installed
  in
- fix(nodeenv): report the url and proxy instead of a traceback
- fix(nodeenv): keep the python virtualenv's scripts under -p on
  Windows
- fix(nodeenv): report a missing node archive instead of a
  traceback
- fix(nodeenv): detect musl regardless of the host triplet vendor
- fix(nodeenv): read npm's parseable listing in freeze
- fix: allow zsh to source bin/activate
- fix(nodeenv): link nodejs.exe without mklink

Improvements:

- FEAT: Check if activate is called as script.
- address deprecation warning in tarfile.TarFile.extract all in
  Python …
- chore(ci): run the activation scripts in sh, dash, bash, zsh and
  fish
- chore(ci): give the integration smoke tests a home and stop
  running them 20 times
- feat(nodeenv): clean "src" directory by default

Documentation:

- docs(readme): document file:// mirrors as a local download source
- docs(changes): backfill the changelog from 1.3.2 to 1.10.0

Other Changes:

- chore(release): bump nodeenv version to 1.11.0

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:41 -07:00
Leon Anavi d3a72d8543 python3-msgpack: Upgrade 1.2.2 -> 1.2.3
Upgrade to release 1.2.3:

- Fix memory leaks in the C extension when map key validation or
  container hooks fail. See GHSA-j586-36cw-2gc2.
- wheels: also build for pyodide using emscripten.
- Support packing Python 3.15 frozentdict (PEP 814)
- Reject negative array and map header sizes

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:41 -07:00
Leon Anavi 21a3426cc3 python3-mmh3: Upgrade 5.3.0 -> 5.3.1
Upgrade to release 5.3.1:

- Add Linux riscv64 wheels (manylinux and musllinux).

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:41 -07:00
Leon Anavi f4a817fec0 python3-luma-oled: Upgrade 3.15.0 -> 3.16.0
Upgrade to release 3.16.0:

- Add support for SSD1363
- Remove deprecation notice in framebuffer mixin
- Make page_address_offset configurable for SH1106 displays

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-10-21 17:07:40 -07:00
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