From: Tim Orling <[email protected]> For full comparison of changes (134 commits, 73 files changed), see: https://github.com/pypa/packaging/compare/26.2...26.3
Upstream release notes: https://packaging.pypa.io/en/stable/changelog.html 26.3 - 2026-08-03 Features: * Add a public VersionRange API and SpecifierSet.to_range(), representing the versions a specifier set accepts as an interval set that supports intersection, union, difference, complement, set relations, membership tests, and filtering. to_specifier_set() converts a range back to a SpecifierSet where a PEP 440 form exists. (PR #1267, PR #1270, PR #1298) * PEP 808: accept Metadata-Version: 2.6. (PR #1194) * Add a limit argument to parse_tag() for compressed tag sets. (#1220) * Add a prefer_sdist_predicate argument to Pylock.select() to prefer source distributions over wheels for selected packages. (PR #1334) * Add pure_python_tags() to generate the pure-Python tags for a Python version without touching the running platform. (PR #1346) * Add SpecifierSet.is_subset(), is_superset(), and is_disjoint(), which compare the versions two specifier sets accept. (PR #1313) Behavior adaptations: * Drop support for Python 3.8; packaging now requires Python 3.9 or later. (PR #1157) * Prefer native linux_* platform tags over manylinux and musllinux tags on Linux. (#160) Fixes for versions and specifiers: * Raise InvalidVersion instead of TypeError when Version is given a non-string. (PR #1319) * Raise InvalidVersion for non-string pre-release letters passed to Version.from_parts. (PR #1241) * Fix an AttributeError when hashing internally trimmed versions. (PR #1242) * Fix SpecifierSet.is_unsatisfiable for post-release boundary intersections. (PR #1257) Fixes for requirements and markers: * Make Requirement.__hash__ consistent with __eq__ for trailing-zero-equivalent specifiers (e.g. foo==1.0.0 and foo==1.0.0.0), so equal requirements hash equal and deduplicate in sets and dicts. (PR #1232) * Normalize requested extra names before comparing or hashing requirements. (#644) * Preserve a Requirement’s specifier prereleases override across a pickle round trip. (#1204) * Raise InvalidRequirement instead of InvalidSpecifier when a requirement contains an invalid specifier. (PR #1332) * Clarify the error for post-release prefix wildcards like ==1.0.post1.*. (PR #1299) * Preserve quoting semantics when serializing marker values, so round-tripped markers parse back to the same marker. (PR #1213) * Keep the parentheses of a nested group when serializing markers. (PR #1316) * Normalize extra and dependency_groups values in nested markers at parse time. (PR #1246, PR #1310) * Raise UndefinedComparison when a set-valued variable like extras is used outside the membership form. (PR #1265) * Raise UndefinedEnvironmentName (a KeyError subclass) for missing environment keys during marker evaluation. (PR #1276) * Wrap malformed string literal errors in InvalidMarker / InvalidRequirement instead of leaking a low-level error. (PR #1249) * Reject requirements and markers with a trailing line break. (PR #1345) Fixes for metadata and licenses: * Collect all from_email validation errors into one ExceptionGroup instead of raising the first. (PR #1268) * Accept the UTF-8 charset case-insensitively in email payloads. (PR #1330) * Reject malformed Description-Content-Type values. (PR #1329) * Don’t rewrite user values that contain {field} placeholders in error messages. (PR #1327) * Route multipart email payloads to unparsed instead of asserting. (PR #1247) * Make InvalidMetadata and CyclicDependencyGroup picklable. (PR #1328) * Fold every line boundary str.splitlines recognizes when writing a header with RFC822Message. (PR #1356) * Raise InvalidLicenseExpression for misplaced WITH clauses and empty LicenseRef- names. (PR #1266) * Raise InvalidLicenseExpression instead of KeyError for a LicenseRef- with a + suffix. (PR #1219) Fixes for tags and filenames: * Raise InvalidTag from parse_tag() for tags with the wrong number of components. (PR #1238) * Reject empty tag components in parse_wheel_filename() and parse_tag(). (PR #1234) * Reject an empty project name in the wheel and sdist filename parsers. (PR #1305) * Reject wheel filenames with a trailing newline. (PR #1341) * Reject wheel tags whose interpreter component is not an identifier. (#577) * is_normalized_name now rejects names with collapsed double hyphens like a--b. (PR #1230) * Fix duplicate explicit abi3t tags. (PR #1245) * Forward the warn argument to generic_tags() in sys_tags(). (PR #1264) * Raise SystemError for an empty or malformed CPython EXT_SUFFIX. (PR #1271, PR #1301) * Fix a typo in the macOS fat3 architecture name (was fat32). (PR #1199) * Fixes for pylock, direct URLs, and dependency groups: * Percent-decode pylock artifact file names derived from a url so that local versions (e.g. a wheel with 2.12.1+cu130 encoded as 2.12.1%2Bcu130) yield a valid file name. (PR #1314) * Use an explicitly empty tags sequence in Pylock.select() instead of falling back to sys_tags(). (PR #1349) * Fix Pylock.select() on Python builds that report a non-PEP 440 python_full_version (e.g. 3.15.0+). (PR #1179) * Reject TOML booleans where integers are expected in pylock files. (PR #1244) * Add PylockSelectError to packaging.pylock.__all__. (PR #1202) * Fix DirectUrl credential stripping for passwords containing @. (PR #1218) * Parse the URL scheme case-insensitively when checking for file URLs in direct_url. (PR #1240) * Require absolute file URLs for local directories in direct_url. (PR #1297) * Collect InvalidRequirement errors while resolving dependency groups instead of leaking them. (PR #1302) * Don’t cache malformed dependency group parses. (PR #1248) [Truncated, see "Upstream release notes" link above for the full changelog] Signed-off-by: Tim Orling <[email protected]> --- All ptests pass on qemux86-64 for core-image-ptest-python3-packaging Testsuite summary TOTAL: 62785 PASS: 62785 SKIP: 0 XFAIL: 0 FAIL: 0 XPASS: 0 ERROR: 0 DURATION: 425 .../{python3-packaging_26.2.bb => python3-packaging_26.3.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename meta/recipes-devtools/python/{python3-packaging_26.2.bb => python3-packaging_26.3.bb} (94%) diff --git a/meta/recipes-devtools/python/python3-packaging_26.2.bb b/meta/recipes-devtools/python/python3-packaging_26.3.bb similarity index 94% rename from meta/recipes-devtools/python/python3-packaging_26.2.bb rename to meta/recipes-devtools/python/python3-packaging_26.3.bb index 81ae6f2732..a0d80d21f0 100644 --- a/meta/recipes-devtools/python/python3-packaging_26.2.bb +++ b/meta/recipes-devtools/python/python3-packaging_26.3.bb @@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/pypa/packaging" LICENSE = "Apache-2.0 OR BSD-2-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91" -SRC_URI[sha256sum] = "ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661" +SRC_URI[sha256sum] = "94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79" SRC_URI += "file://run-ptest.in" -- 2.47.3
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#242876): https://lists.openembedded.org/g/openembedded-core/message/242876 Mute This Topic: https://lists.openembedded.org/mt/120612855/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
