Added
- Add
Marker.apply()to partially evaluate a marker for a given environment (#945). - Add Python 3.15 to the automatically generated classifiers (#961).
Changed
- Reject links with filenames containing path separators (#974).
- Update list of supported licenses (#946, #958, #968).
- Improve performance of creating links and determining file extensions (#940, #941).
- Improve performance of version comparisons (#951, #952).
- Improve performance of schema validation by caching compiled JSON schema validators (#965).
Fixed
- Fix an issue where a
<Vversion constraint wrongly allowed pre-releases ofVin some cases (#939). - Fix an issue where version ranges with coincident bounds were not recognized as empty (#939).
- Fix an issue where the string representation of a version union did not describe the same constraint after being parsed again (#939).
- Fix an issue where the intersection of a version range with a local version resulted in a wrong constraint (#949).
- Fix an issue where the union of a version range and a public version did not include all local versions of the public version (#950).
- Fix an issue where the union of a public version and one of its local versions did not result in the public version (#966).
- Fix an issue where the difference between a public version and one of its local versions still allowed the local version, which could result in an infinite loop during dependency resolution (#953).
- Fix an issue where a version range that excluded some local versions of a public version was wrongly considered to allow all versions of the public version (#959).
- Fix an issue where a
!= <value>constraint was wrongly considered to allow all values of a<value> not inconstraint (#955). - Fix an issue where merging
platform_releasemarkers with incompatible constraint types failed (#956). - Fix an issue where the string representation of a version range whose upper bound only consists of zeros raised an
IndexError(#964). - Fix an issue where formatting a Python constraint that only allows unknown Python versions raised an
IndexError(#971). - Fix an issue where marker values containing spaces could not be parsed (#972).
- Fix an issue where the upper bound of a
~=constraint was wrong for versions with more than three release segments (#973). - Fix an issue where the filename of a link created from a Windows path was wrong (#974).