Skip to content

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Sep 10:11
· 68 commits to main since this release

Changelog

Features

  • feat(cli): name the publisher key a source must be signed with
  • feat(cli): verify against the identities a policy allows
  • feat(cli): read a trust policy from the config
  • feat(trustpolicy): decide which keys may sign a reference
  • feat(trustpolicy): match a reference against a pattern
  • feat(cli): say when a model lost the provenance its layers claim
  • feat(transfer): report how many attestations a bundle carries
  • feat(transfer): carry the attestation with the model
  • feat(cli): attest to a model's sources when signing it
  • feat(attest): state where an artifact's layers came from
  • feat(cli): carry a fetched file's source into the packer
  • feat(pack): record where a fetched file came from
  • feat(cli): check an import against the publisher's signature
  • feat(omsig): read the signature a model repository publishes
  • feat(cli): pack a whole repository, keeping each file's digest
  • feat(pack): record the digest each file was published under
  • feat(hf): resolve a whole published model
  • feat(cli): report the weight encoding, and carry a model's licence

Fixes

  • fix(ci): decide from the changed files rather than a pattern library
  • fix(ci): make the change filter subtract from everything
  • fix(cli): hold an attestation to the identity that signed the artifact
  • fix(trustpolicy): bound ** segments to prevent exponential backtracking
  • fix(signing): resolve an attestation by the reference its target uses
  • fix(cli): lay fetched files out under their repository path
  • fix(hf): name the endpoint a repository was actually fetched from
  • fix(cli): report a manifest that cannot say what was owed
  • fix(hf): refuse an encoded walk and escape the path on the wire
  • fix(cli): say how much of an artifact an attestation covers
  • fix(cli): give every fetched file a directory of its own
  • fix(hf): check a published path where it is decoded
  • fix(cli): name the same layer every time an attestation falls short
  • fix(hf): hold a paths-info response to the files that were requested
  • fix(cli): match an attestation's records against whole layers
  • fix(signing): annotate an attestation the way cosign reads one
  • fix(transfer): report whether a source attestation travelled
  • fix(signing): read attestations and tags consistently with the rest of the store
  • fix(attest): validate the caller's subject digest before comparing it
  • fix(hf): validate a reported commit and pin every request to it
  • fix(hf): fetch from the commit the listing resolved to
  • fix(cli): isolate each fetched repository under its own directory
  • fix(omsig): read per-file digests from predicate.resources
  • fix(cli): refuse local files and misreported failures under --oms-key
  • fix(omsig): reject empty and malformed sha256 digests
  • fix(e2e): stop the supervised child instead of orphaning it

Documentation

  • docs: say when each set of verification rules is read
  • docs: describe the trust policy and what it refuses
  • docs(roadmap): separate keyless verification from the policy it extends
  • docs: shorten three comments to what they explain
  • docs: give the sample verify output a language
  • docs: describe the listing check as the drop it is
  • docs: record what a missing attestation costs and what says so
  • docs: record what an attestation does and does not settle
  • docs: record how a source attestation binds layers to upstream files
  • docs(adr): record verifying a publisher's signature at import
  • docs(readme): state what an import checks and what CI proves
  • docs: scope the import digest check to what a repository publishes
  • docs: packing a repository, and what its signature is checked against
  • docs(roadmap): lay out the milestones from import provenance to 1.0
  • docs(roadmap): plan the provenance chain from a publisher to a load
  • docs(comparison): record where KitOps verifies a signature
  • docs: say what the remaining validation actually waits on
  • docs(readme): add the OpenSSF Best Practices badge
  • docs(readme): say how to obtain palan, and how to check what you obtained
  • docs: correct three claims that had drifted from what the code does
  • docs: separate the Kubernetes patterns that were run from the one that was not
  • docs(readme): describe zero-copy and packing for both weight formats

Other

  • refactor(cli): fill an attestation reference only where it is read
  • build(deps): bump golang.org/x/crypto to v0.56.0
  • build: lint markdown as part of check
  • refactor(cli): spell out what makes two layer records the same
  • build: build on the newest patch of the Go toolchain
  • refactor(safetensors): name the files a model travels with in one place
  • build(release): describe the image by what it distributes and what it serves

Binaries are static (CGO disabled). The checksum file is signed with
cosign (keyless); see .goreleaser.yaml for the verify command.