------------------------------------------------------------------- Fri Jan 16 13:45:07 UTC 2026 - Johannes Kastl - update to 6.0.0: * Add architecture detection: aarch64, arm, armv6l, armv7l, armv8l, i386, i586, i686, loongarch64, mips, mips64, mips64el, mipsel, ppc, ppc64, ppc64le, riscv32, riscv64, s390x, sparc, sparc64, unknown_architecture, wasm32, wasm64, x86_64. * Architectures, platforms and CI systems are now known as traits. * Add new current_traits() method to return all traits matching the current environment: architecture, platforms and CI systems. Deprecate current_platforms() in favor of it. * Add new current_architecture() and current_ci() methods to return the current architecture and CI system. * Rename: - current_os() to current_platform(). - platforms_from_ids() to traits_from_ids(). - CI group to ALL_CI. CI now refers to the CI(Trait) class. - ALL_PLATFORM_IDS constant to ALL_TRAIT_IDS. - Group.platforms to Group.members. - Group.platform_ids to Group.member_ids. - Group._extract_platforms() to Group._extract_members() * Group.members is now an immutable MappingProxyType. * Add more in-place operators (|=, &=, -=, ^=) and set-like behavior to Group. * Add canonical attribute to Group. * Add new ALL_ARCHITECTURES, ANY_ARM, X86, LOONGARCH, ANY_MIPS, POWERPC, RISCV, ANY_SPARC, IBM_MAINFRAME, WEBASSEMBLY and ALL_TRAITS groups. * Deprecate ALL_PLATFORMS_WITHOUT_CI group is favor of ALL_PLATFORMS. * Add new ALL_ARCHITECTURE_GROUPS, ALL_PLATFORM_GROUPS and ALL_CI_GROUPS collections of groups. * Remove utilization workaround for macos-15-intel. * Replace deprecated codecov/test-results-action by codecov/codecov-action. * Move auto-lock time from 8:43 to 4:43. - switch to tarball from GitHub, as the one from PyPi does no longer container the tests directory ------------------------------------------------------------------- Tue Dec 9 06:44:50 UTC 2025 - Johannes Kastl - update to 5.1.0: * Change Amazon Linux icon. * Add cooldown period for dependabot and uv.lock updates. * Merge all label jobs into a single one. * Change the test, typing and docs extra dependency groups into development dependency groups. * Uncap all dependencies. * Run tests on Python 3.14t and 3.15t free-threaded variants. * Run tests on ubuntu-slim GitHub Actions runner. * Run docs update job on ubuntu-slim runner. * Unlock a CPU core stuck at 100% utilization on macos-15-intel. ------------------------------------------------------------------- Mon Nov 17 06:55:54 UTC 2025 - Johannes Kastl - update to 5.0.1: * Add detection of CachyOS. Closes #341. ------------------------------------------------------------------- Tue Nov 4 16:54:46 UTC 2025 - Johannes Kastl - update to 5.0.0 * Changes - Relax dependencies to support Python 3.10. - Re-introduce tomli dependency for Python 3.10 users. - Skip tests on intermediate Python versions (3.11, 3.12 and 3.13) to reduce CI load. ------------------------------------------------------------------- Sun Nov 2 16:01:14 UTC 2025 - Johannes Kastl - update to 4.1.1: * Add detection of Ultramarine Linux. Closes #329. ------------------------------------------------------------------- Wed Oct 22 04:46:43 UTC 2025 - Johannes Kastl - update to 4.1.0: * Add new invalidate_caches() method to invalidate internal caches used for platform detection. * Remove dependency on boltons. * Add all Operating System :: trove classifiers. * Add all platform names as package keywords. - update to 4.0.0: * Fix detection of GNU/Hurd. Closes #308. * Move all typing-related imports behind a hard-coded TYPE_CHECKING guard to avoid runtime imports. * Remove maximum capped version of all dependencies (relax all ~= specifiers to >=). This gives more freedom to downstream and upstream packagers. Document each minimal version choice. * Add official support of Python 3.14. * Run tests on Python 3.15. * Skip tests on Python 3.12 and 3.13 to reduce CI load. * Use astral-sh/setup-uv action to install uv instead of manually installing it with pip. * Run tests on macos-26 and macos-15-intel runners. * Remove tests on EOL'ed windows-2019 and macos-13. * Support GitHub admonitions in Sphinx/MyST documentation. ------------------------------------------------------------------- Wed Aug 6 05:28:30 UTC 2025 - Johannes Kastl - update to 3.2.3: * Add detection of macOS Tahoe (v26.x) ------------------------------------------------------------------- Sun May 25 07:58:30 UTC 2025 - Johannes Kastl - update to 3.2.2: * Fix detection of UNKNOWN_CI ------------------------------------------------------------------- Sun May 18 06:25:24 UTC 2025 - Johannes Kastl - update to 3.2.1: * Add convenient ALL_PLATFORMS_WITHOUT_CI group to exclude all CI systems from ALL_PLATFORMS ------------------------------------------------------------------- Sun May 18 06:03:14 UTC 2025 - Johannes Kastl - update to 3.2.0: * Add detection of CI systems: GITHUB_CI, GITLAB_CI and UNKNOWN_CI. * Add new CI group to group all CI platforms. * Move OS families diagrams to group documentation page. * Remove ALL_PLATFORMS from Sankey diagram. * Run tests on windows-11-arm runners. * Remove tests on EOL ubuntu-20-04. ------------------------------------------------------------------- Wed Mar 5 10:53:54 UTC 2025 - Johannes Kastl - update to 3.1.0: * Allow platform ID membership test on groups. * Add items() method to Group. * Allow None values in nested references to platforms and groups. * Keep initial order of data from platforms_from_ids() and groups_from_ids() results. * Allow arbitrary arguments number in Group._extract_platforms(). ------------------------------------------------------------------- Wed Mar 5 10:51:41 UTC 2025 - Johannes Kastl - update to 3.0.0: * Allow set operations to resolve group and Platform IDs. * Make resolution of platform and group IDs case-insensitive. * Only runs website tests on Linux to prevent DOSing them. * Drop supports for Python 3.10. * Remove tomli dependency. ------------------------------------------------------------------- Thu Feb 20 18:31:07 UTC 2025 - Johannes Kastl - update to 2.1.0: * Add new platforms_from_ids and groups_from_ids methods to retrieve platforms and groups from a collection of IDs. * Allow a platform to be fetched by its ID from a group with the group[platform_id] item getter syntax. * Add new ALL_PLATFORM_IDS, ALL_GROUP_IDS and ALL_IDS constants. * Removes ALL_OS_LABELS. * Add windows-2025 to the test matrix. * Mark Python 3.14 tests as stable. ------------------------------------------------------------------- Fri Jan 3 08:46:58 UTC 2025 - Johannes Kastl - update to 2.0.0: * Add support for Nobara detection. * Fix current_os() to always return a single platform. Closes #158. * Add new current_platforms() method to return all platforms matching the current environment. * Generate a pair of Pytest @skip_/@unless_ decorators for each platform and group. * Change all group membership check utilities to be functions instead of variables. You now have to call is_() instead of is_. * Cache the result of is_() group membership check utilities. * Do not call all detection heuristics on module import. Instead, call them lazily when needed. * Make URLs required on all platforms. * Invite users in error messages and logs to contribute back edge-cases to improve detection heuristics. * Upload test results to coverage. ------------------------------------------------------------------- Tue Dec 3 08:39:24 UTC 2024 - Johannes Kastl - update to 1.7.0: * Display the hierarchy of non-overlapping groups as a mindmap. * Add URL on all platforms. * Add support for openSUSE Tumbleweed detection. Closes #133. * Do not allow icons on platforms and groups to be empty. * Run tests in parallel to speed up CI. ------------------------------------------------------------------- Thu Nov 28 10:31:10 UTC 2024 - Johannes Kastl - enable builds for python3.13 ------------------------------------------------------------------- Wed Nov 20 13:47:55 UTC 2024 - Johannes Kastl - new package python-extra-platforms, required by python-click-extra