Repository navigation
Tags: posit-dev/go-python-packaging
Tags
chore(release): date 0.10.0 (#57) Releases wheelname.ParseTags (#56) so the PyPI manifest producer can consume it; rstudio/package-manager#20776 is blocked on this tag existing. Additive only; Parse's behaviour is unchanged. Minor bump while major is 0. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
v0.7.0 Adds version.ReleaseKey: a version's position in PEP 440's release order -- its epoch and its trailing-zero-stripped release segments, ignoring the pre/post/dev/local suffix -- derived from the parsed fields rather than by rendering the version back to text. 16 ns and no allocation against 220 ns and 10 allocations for the BaseVersion() render-and-split it replaces. Pinned to pypa/packaging 26.2's own release key by a frozen fixture, and exact at every magnitude.
v0.6.0 Packed integer comparison key for version.Version: 97.26% of production PyPI versions compare via a few integer operations with zero allocations; 2.1-5.2x faster warm resolutions end to end. Ordering pinned to pypa/packaging 26.2 by frozen ranked fixtures in CI. A parsed Version is now safe to share across goroutines.
v0.5.0 Breaking. Fixes a padding defect shipped in v0.4.0: the zero-padding loops appended ceil(gap/2) zeros instead of gap, because the loop bound shrank as the slice grew. Measured against pypa/packaging 26.2 over an 82-row oracle sweeping gaps of 1-4 in both directions: v0.4.0 diverged on 30 of 82 cases, this release on 0. Notably !=7.0.0.* matched 7, which the reference excludes. v0.4.0 also introduced a regression this fixes: ==0.0.0.* matched 1!1.0 because versionSplit did not prepend the epoch. v0.4.0's notes wrongly described those cases as a pre-existing divergence merely exposed. Also: the public Specifier/Specifiers query API and marker environment helpers; the ported test_specifiers.py conformance tables (2,105 subtests) and the six divergences they surfaced; and tags/ gaining free-threaded and abi3t ABIs, distro libc baselines, pre-11 macOS, PyPy ABI, the cross-major manylinux walk, and the pre-3.8 m/u abiflags fix.
PreviousNext