Skip to content

Tekton Chains release v0.29.0

Latest

Choose a tag to compare

@tekton-robot tekton-robot released this 04 Aug 10:33
01d9ebf

Installation one-liner

kubectl apply -f https://infra.tekton.dev/tekton-releases/chains/previous/v0.29.0/release.yaml

Attestation

The Rekor UUID for this release is
108e9186e8c5677a82aef8db00e95c000a21e72f54ff0b2efbee3300c0f3bdc2a30a7f9485d76641

Obtain the attestation:

REKOR_UUID=108e9186e8c5677a82aef8db00e95c000a21e72f54ff0b2efbee3300c0f3bdc2a30a7f9485d76641
rekor-cli get --uuid $REKOR_UUID --format json | jq -r .Attestation | jq .

Verify that all container images in the attestation are in the release file:

RELEASE_FILE=https://infra.tekton.dev/tekton-releases/chains/previous/v0.29.0/release.yaml
REKOR_UUID=108e9186e8c5677a82aef8db00e95c000a21e72f54ff0b2efbee3300c0f3bdc2a30a7f9485d76641

# Obtains the list of images with sha from the attestation
REKOR_ATTESTATION_IMAGES=$(rekor-cli get --uuid "$REKOR_UUID" --format json | jq -r .Attestation | jq -r '.subject[]|.name + ":v0.29.0@sha256:" + .digest.sha256')

# Download the release file
curl -L "$RELEASE_FILE" > release.yaml

# For each image in the attestation, match it to the release file
for image in $REKOR_ATTESTATION_IMAGES; do
  printf $image; grep -q $image release.yaml && echo " ===> ok" || echo " ===> no match";
done

Changes

Features

  • ✨ feat: add OCI 1.1 Referrers API support with configurable encoding format (#1691)

feat: OCI storage now supports the OCI 1.1 Referrers API via a new config key:

Set storage.oci.encoding-format: sigstore-bundle in the chains-config ConfigMap
to store signatures and attestations as Sigstore protobuf bundles (v0.3) via the
OCI 1.1 Referrers API instead of .sig/.att tags.

  • Default value dsse preserves existing tag-based behavior (backward compatible).
  • sigstore-bundle mode: both signatures and attestations are pushed as OCI 1.1 referrers with artifactType: application/vnd.dev.sigstore.bundle.v0.3+json, discoverable via oras discover or cosign download.
  • Transparency log entries (Rekor) are embedded in the bundle when
    transparency.enabled: "true".
  • Verification: cosign verify and cosign verify-attestation work with both modes.
  • Re-signing in sigstore-bundle mode accumulates referrers (one per signing invocation) because ECDSA is non-deterministic; the dedup only coalesces exact crash-recovery retries.
  • Invalid values for storage.oci.encoding-format are rejected by the controller at config-load time; the last valid config continues to be used.

Fixes

  • 🐛 fix(release): stop duplicating GitHub release title (#1851)

  • 🐛 fix(storage): skip docdb watcher reconfiguration on empty file read (#1769)

  • 🐛 fix(signing): make KMS OIDC fallback test environment-independent (#1765)

Misc

  • 🔨 chore(deps): bump github.com/tektoncd/pipeline from v1.14.1 to v1.15.0 (#1854)

  • 🔨 Ignore otel major/minor updates in dependabot (#1817)

  • 🔨 fix-CVE-2026-48702 -bump sigstore/rekor (#1793)

  • 🔨 chore(deps): bump the all group with 8 updates (#1849)

  • 🔨 chore(deps): bump github.com/sigstore/sigstore-go from 1.1.4 to 1.2.1 (#1844)

  • 🔨 chore(deps): bump the all group across 1 directory with 6 updates (#1840)

  • 🔨 chore(deps): bump github.com/google/cel-go from 0.28.1 to 0.29.0 (#1839)

  • 🔨 chore(deps): bump the all group with 4 updates (#1833)

  • 🔨 chore(deps): bump google.golang.org/grpc from 1.82.0 to 1.82.1 (#1825)

  • 🔨 chore(deps): bump the all group with 3 updates (#1824)

  • 🔨 chore(deps): bump the all group with 5 updates (#1808)

  • 🔨 chore(deps): bump the all group with 3 updates (#1788)

  • 🔨 chore(deps): bump the all group across 1 directory with 21 updates (#1768)

  • 🔨 chore(deps): bump the all group with 2 updates (#1763)

Docs

Thanks

Thanks to these contributors who contributed to v0.29.0!

Extra shout-out for awesome release notes: