updated to disallow ordered comparisons
Packaging 22+ and pip 25+ currently crash if this happens and the value is not representable as a version, such as on Linux. So most of this backward incompatibility has already been either fixed (by packages updating to not crash), or the package is simply not installable anymore, or the package only supports Windows/macOS. That’s why there are so few examples on PyPI, you can see them above (Oh, sorry, wrong thread. You can see them in the new thread I opened with my specific proposal). That’s one of the reasons that pip took so long to update to packaging 22+, it broke packages.
That’s why this comes up now and needs to be resolved before the next packaging release - we are changing that crash so it’s no longer a error, which means we might start getting packages depending on whatever behavior we define again.
There is no platform_version field. And the change specifically does not allow any implementation to error on ordered comparisons on platform_release, it is treated exactly like the _version fields. All other fields would be allowed to error on ordered comparisons, though not required. So the very rare cases where they are used with strings would not crash yet (current packaging status), but could in the future. It’s mostly used with >= "win32" (which is wrong, even if there was a "win64", it would fail on "win128" or pass on a platform that was alphabetically after "win", so that’s not generally useful), and one package uses it for arm to define a range, which also isn’t needed, there are only a limited list (v7 and v8).
This was proposed in Spec change/bugfix: dependency specifiers simplification (PEP 508) - please look at that and comment there, or in the PR at fix(markers): Fix/change dependency specifiers by henryiii · Pull Request #1971 · pypa/packaging.python.org · GitHub.