Skip to content

Releases: trailofbits/pypi-attestations

v0.0.22

04 Mar 19:31
297772d
Compare
Choose a tag to compare

Changed

  • The inspect subcommand now ignores inputs that don't match *.attestation,
    rather than failing on them
    (#93)

Added

  • The CLI subcommand verify attestation now supports .slsa.attestation
    files. When verifying an artifact, both .publish.attestation and
    .slsa.attestation files are used (if present).
  • The CLI subcommand verify pypi now supports a friendlier
    syntax to specify the artifact to verify. The artifact can now be
    specified with a pypi: prefix followed by the filename, e.g:
    pypi:sampleproject-1.0.0.tar.gz. The old way (passing
    the direct URL) is still supported.
  • The CLI subcommand verify pypi now supports passing the local paths
    to the artifact and its provenance file, allowing the user to verify
    files already downloaded from PyPI. The artifact path is passed as
    usual, whereas the provenance file path is passed using the
    --provenance-file option.

v0.0.21

10 Jan 19:16
41584d9
Compare
Choose a tag to compare

Changed

  • The CLI entrypoint is now pypi-attestations
    (#82)
  • The CLI verify subcommand has been changed to verify attestation,
    as in pypi-attestations verify attestation --identity ...
    (#82)

Added

  • The CLI has a new subcommand verify pypi, which takes a URL to a
    PyPI distribution (either a wheel or a source distribution) and a
    GitHub/GitLab repository. The command verifies the distribution by
    downloading it and its provenance from PyPI, verifying them using
    sigstore and checking that the repository matches the one in the
    PyPI provenance file.
    (#82)

v0.0.20

11 Dec 16:58
d612336
Compare
Choose a tag to compare

Changed

  • Explicitly support sigstore-python 3.6
    (#79)

v0.0.19

04 Dec 23:13
08802ef
Compare
Choose a tag to compare

Fixed

  • Corrective release for 0.0.18

v0.0.18

27 Nov 20:52
64fd162
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.0.17...v0.0.18

v0.0.17

19 Nov 22:22
cfb3d4d
Compare
Choose a tag to compare

Fixed

  • The GitLabPublisher policy now takes the workflow file path in order to
    verify attestations, rathen than assuming it will always be gitlab-ci.yml
    (#71).
  • The GitLabPublisher now longer expects claims being passed during construction,
    rather the ref and sha claims are extracted from the certificate's extensions,
    similar to GitHubPublisher's behavior
    (#71).

Changed

  • Publisher classes (GitLabPublisher and GitHubPublisher) no longer take a claims
    dictionary during construction
    (#72).

v0.0.16

07 Nov 22:42
58c872e
Compare
Choose a tag to compare

Added

  • Attestation.statement has been added as a convenience API for accessing
    the attestation's enveloped statement as a dictionary

v0.0.15

06 Nov 22:49
478c93f
Compare
Choose a tag to compare

Full Changelog: v0.0.14...v0.0.15

v0.0.14

06 Nov 22:45
59fc62b
Compare
Choose a tag to compare

What's Changed

  • build(deps): bump actions/checkout from 4.2.1 to 4.2.2 in the actions group by @dependabot in #66
  • build(deps): bump actions/setup-python from 5.2.0 to 5.3.0 in the actions group by @dependabot in #67
  • fix handling of zip sdists by @woodruffw in #68

Full Changelog: v0.0.13...v0.0.14

v0.0.13

22 Oct 16:18
2cf1f8f
Compare
Choose a tag to compare

Changed

  • The minimum Python version required has been brought back to 3.9
    (#64).

  • The Attestation.verify(...) API has been changed to remove the Verifier
    argument in favor of an optional staging: bool kwarg to select the
    Sigstore instance
    (#62)

  • The Attestation.verify(...) API has been changed to accept both Publisher
    and VerificationPolicy objects as a policy. The publisher object is internally
    converted to an appropriate verification policy.

Fixed

  • python -m pypi_attestations verify now handles inputs like dist/*
    gracefully, by pre-filtering any attestation paths from the inputs.

  • python -m pypi_attestations verify now exits with a non-zero exit code
    if the verification step fails
    (#57)