Repository navigation
v14.0.0
- Breaking: Drop Python 3.10, past its end of life:
extra-platformsnow needs Python 3.11 or newer. - Breaking: Remove the deprecated aliases
EXTRA_GROUPS,NON_OVERLAPPING_GROUPS,GUIX_BUILD,TUMBLEWEED,is_guix_build(),is_tumbleweed()and theirskip_*andunless_*decorators. UseNON_CANONICAL_GROUPS,CANONICAL_GROUPS,HERMETIC_BUILDandOPENSUSEinstead. - Breaking:
is_unknown(),@skip_unknownand@unless_unknownnow match when a trait category resolves to its unknown trait, instead of never. - Breaking:
Trait.aliasesis now atupleof strings, likeShell.executables, instead of afrozenset. - Breaking:
symbol_id,detection_func_id,skip_decorator_idandunless_decorator_idare now properties, absent fromdataclasses.fields()anddataclasses.asdict(). - Accept the class metadata of a
TraitorGroupsubclass as class keyword arguments, likeclass Fruit(Trait, type_name="fruit"). - Accept a trait ID in any case, or an alias, in
Group.remove(),Group.discard()andGroup.pop(), like inGroup.add(). - Run a group detection function on its own members only:
is_any_windows()no longer spawnspson macOS. - Stop importing
typingat runtime, which shortens the cold import of the package. - Require
pytest8.4or newer in thepytestextra. - Fix
Group.add()adding only the first member of a group whose ID it received: it now raisesValueError. - Fix
Group.remove()andTrait.groupsmatching a trait that only shares its ID with a group member. - Fix
reduce()returning the empty groups of itstarget_pool. - Fix the PyPI sdist missing
AGENTS.mdand.github/code-of-conduct.md, which the documentation includes. - Document installation from MacPorts.
Full changelog: v13.13.0...v14.0.0