Skip to content

Latest commit

 

History

History
123 lines (86 loc) · 5.36 KB

changelog.md

File metadata and controls

123 lines (86 loc) · 5.36 KB

Changelog

Important

This version is not released yet and is under active development.

  • Move OS families diagrams to group documentation page.
  • 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().
  • 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.
  • 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.
  • Add detection of Nobara.
  • 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_<id>/@unless_<id> decorators for each platform and group.
  • Change all group membership check utilities to be functions instead of variables. You now have to call is_<group_id>() instead of is_<group_id>.
  • Cache the result of is_<group_id>() 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.
  • Display the hierarchy of non-overlapping groups as a mindmap.
  • Add URL on all platforms.
  • Add detection of openSUSE Tumbleweed. Closes #133.
  • Do not allow icons on platforms and groups to be empty.
  • Run tests in parallel to speed up CI.
  • Add a new copy() method to Group.
  • New target_pool parameter on reduce method let you specify the subset of groups to reduce platforms to.
  • Remove CURRENT_OS_ID and CURRENT_OS_LABEL.
  • Allow union, intersection, difference and symmetric difference of Group.
  • Implements <=, <, >=, >, |, &, - and ^ operators for Group.
  • Deduplicate platforms on Group instantiation.
  • Allow testing for membership of individual platform in Group.
  • Allow set comparison between groups and single platform.
  • Add detection of Tuxedo OS. Closes #93.
  • Add support for Python 3.13.
  • Drop supports for Python 3.9.
  • Run jobs on ubuntu-24.04 instead of ubuntu-22.04.
  • Run tests on macos-15. Remove tests on macos-12.
  • Run tests on Python 3.14-dev.
  • Fix conflicting detection heuristics for Linux distributions. Closes #72.
  • Fix fetching of macOS version for releases without build number (like 15.0).
  • Add detection of all versions of macOS and Windows. Closes #55.
  • Drop supports for Python 3.8.
  • Add is_<group_id> booleans to module root to test the membership of the current platform to that group.
  • Rename ALL_LINUX group to LINUX.
  • Rename ALL_WINDOWS group to ANY_WINDOWS.
  • Fix changelog update.
  • Add new LINUX_LIKE family that merge ALL_LINUX and LINUX_LAYERS groups.
  • Run tests on ubuntu-24.04 and macos-12.
  • Add missing typed marker.
  • Add documentation.
  • Expose all utilities at root level.
  • Split code.
  • Re-release.
  • Add pytest utilities.
  • Reorganize code.
  • Fix tests.
  • First version as a stand alone package extracted from click-extra.