Releases: tektoncd/chains
Tekton Chains release v0.19.0 "v0.19.0"
-Docs @ v0.19.0
-Examples @ v0.19.0
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/chains/previous/v0.19.0/release.yaml
Attestation
Verify that all container images in the attestation are in the release file:
Note
Due to a bug in Pipelines, this release's signatures were not uploaded to the Rekor transparency log.
To verify the release images without Rekor, run:
cosign verify --key=tekton.pub --insecure-ignore-tlog=true gcr.io/tekton-releases/github.com/tektoncd/chains/cmd/controller:v0.19.0@sha256:a94236f0cb474d018b3a1a65e1e59e75fd03d7aaecf8c6a8d7df51ab7f04e5d3
Build attestation can be found here: https://search.sigstore.dev/?logIndex=45626858
Changes
Features
Fixes
- 🐛 Handle duplicates in subjects and materials consistently (#926)
Misc
- Removes unused context from the wrap function (#960)
Thanks
Thanks to these contributors who contributed to v0.19.0!
- ❤️ @PuneetPunamiya
- ❤️ @cguest97
- ❤️ @chuangw6
- ❤️ @dependabot[bot]
- ❤️ @joejstuart
- ❤️ @lcarva
- ❤️ @wlynch
Extra shout-out for awesome release notes:
- 😍 @PuneetPunamiya
- 😍 @cguest97
- 😍 @chuangw6
- 😍 @dependabot[bot]
- 😍 @joejstuart
- 😍 @lcarva
- 😍 @wlynch
Tekton Chains release v0.13.2 "v0.13.2"
-Docs @ v0.13.2
-Examples @ v0.13.2
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/chains/previous/v0.13.2/release.yaml
Attestation
The Rekor UUID for this release is 24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
Obtain the attestation:
REKOR_UUID=24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
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://storage.googleapis.com/tekton-releases/chains/previous/v0.13.2/release.yaml
REKOR_UUID=24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
# 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.13.2@sha256:" + .digest.sha256')
# Download the release file
curl "$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
Fixes
- 🐛Bump golang.org/x/net from 0.14.0 to 0.17.0 (#955)
Misc
Docs
Thanks
Thanks to these contributors who contributed to v0.13.2!
- ❤️ @lcarva
Extra shout-out for awesome release notes:
- 😍 @lcarva
Tekton Chains release v0.18.1 "v0.18.1"
-Docs @ v0.18.1
-Examples @ v0.18.1
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/chains/previous/v0.18.1/release.yaml
Attestation
The Rekor UUID for this release is 24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
Obtain the attestation:
REKOR_UUID=24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
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://storage.googleapis.com/tekton-releases/chains/previous/v0.18.1/release.yaml
REKOR_UUID=24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
# 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.18.1@sha256:" + .digest.sha256')
# Download the release file
curl "$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
Fixes
🐛Bump golang.org/x/net from 0.14.0 to 0.17.0 (#958)
Misc
Docs
Thanks
Thanks to these contributors who contributed to v0.18.1!
- ❤️ @lcarva
Extra shout-out for awesome release notes:
- 😍 @lcarva
Tekton Chains release v0.17.1 "v0.17.1"
-Docs @ v0.17.1
-Examples @ v0.17.1
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/chains/previous/v0.17.1/release.yaml
Attestation
The Rekor UUID for this release is 24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
Obtain the attestation:
REKOR_UUID=24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
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://storage.googleapis.com/tekton-releases/chains/previous/v0.17.1/release.yaml
REKOR_UUID=24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
# 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.17.1@sha256:" + .digest.sha256')
# Download the release file
curl "$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
Fixes
- 🐛Bump golang.org/x/net from 0.14.0 to 0.17.0 (#957)
Misc
Docs
Thanks
Thanks to these contributors who contributed to v0.17.1!
- ❤️ @lcarva
Extra shout-out for awesome release notes:
- 😍 @lcarva
Tekton Chains release v0.16.1 "v0.16.1"
-Docs @ v0.16.1
-Examples @ v0.16.1
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/chains/previous/v0.16.1/release.yaml
Attestation
The Rekor UUID for this release is 24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
Obtain the attestation:
REKOR_UUID=24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
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://storage.googleapis.com/tekton-releases/chains/previous/v0.16.1/release.yaml
REKOR_UUID=24296fb24b8ad77a87c2b34f4a9c02154b324b6f655a83ee4534a9c1cdbd28fab5b957f560c1b840
# 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.16.1@sha256:" + .digest.sha256')
# Download the release file
curl "$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
Fixes
- 🐛 Bump golang.org/x/net from 0.14.0 to 0.17.0 (#956)
Misc
Docs
Thanks
Thanks to these contributors who contributed to v0.16.1!
- ❤️ @lcarva
Extra shout-out for awesome release notes:
- 😍 @lcarva
Tekton Chains release v0.18.0 "v0.18.0"
-Docs @ v0.18.0
-Examples @ v0.18.0
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/chains/previous/v0.18.0/release.yaml
Attestation
The Rekor UUID for this release is 24296fb24b8ad77a87f3cdb6d4078507d9d3b943968f2cf3af530b417d79a7da05cbfddd3c447a95
Obtain the attestation:
REKOR_UUID=24296fb24b8ad77a87f3cdb6d4078507d9d3b943968f2cf3af530b417d79a7da05cbfddd3c447a95
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://storage.googleapis.com/tekton-releases/chains/previous/v0.18.0/release.yaml
REKOR_UUID=24296fb24b8ad77a87f3cdb6d4078507d9d3b943968f2cf3af530b417d79a7da05cbfddd3c447a95
# 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.18.0@sha256:" + .digest.sha256')
# Download the release file
curl "$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
-
✨ Deep inspection for materials (#903)
-
✨ Smarter Chains: check taskrun level results for Subjects (#866)
Fixes
- 🐛 Fix SPDX format function (#904)
Misc
-
🔨 Make e2e tests faster (#911)
-
🔨 Increase direct usage of Tekton Object Interface (#896)
-
🔨 Clean up Subjects compare (#891)
-
🔨 Add slsa compare options (#887)
-
🔨 Add k8s 1.26 + 1.27 to e2e test matrix. (#848)
Docs
Thanks
Thanks to these contributors who contributed to v0.18.0!
- ❤️ @PuneetPunamiya
- ❤️ @SergK
- ❤️ @chitrangpatel
- ❤️ @chuangw6
- ❤️ @dependabot[bot]
- ❤️ @joejstuart
- ❤️ @lcarva
- ❤️ @wlynch
Extra shout-out for awesome release notes:
- 😍 @PuneetPunamiya
- 😍 @SergK
- 😍 @chitrangpatel
- 😍 @chuangw6
- 😍 @dependabot[bot]
- 😍 @joejstuart
- 😍 @lcarva
- 😍 @wlynch
Tekton Chains release v0.17.0 "v0.17.0"
-Docs @ v0.17.0
-Examples @ v0.17.0
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/chains/previous/v0.17.0/release.yaml
Attestation
The Rekor UUID for this release is 24296fb24b8ad77a8f418b4ea48826b2469c46cd8208f150592cdf78d1277e7c29b847fa5517c375
Obtain the attestation:
REKOR_UUID=24296fb24b8ad77a8f418b4ea48826b2469c46cd8208f150592cdf78d1277e7c29b847fa5517c375
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://storage.googleapis.com/tekton-releases/chains/previous/v0.17.0/release.yaml
REKOR_UUID=24296fb24b8ad77a8f418b4ea48826b2469c46cd8208f150592cdf78d1277e7c29b847fa5517c375
# 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.17.0@sha256:" + .digest.sha256')
# Download the release file
curl "$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
-
✨ Add top-level build config to External Parameters (#863)
-
✨ SLSAv1.0 predicate format wire-up (#823)
-
✨ Slsa1.0 params, builderID, buildType, subjects, metadata, byProducts (#800)
-
✨ Introduce Resolved dependencies for SLSA v1.0 predicate (#798)
Fixes
Misc
Docs
Thanks
Thanks to these contributors who contributed to v0.17.0!
- ❤️ @Juneezee
- ❤️ @avinal
- ❤️ @bradbeck
- ❤️ @chitrangpatel
- ❤️ @chuangw6
- ❤️ @dependabot[bot]
- ❤️ @lcarva
- ❤️ @wlynch
- ❤️ @zregvart
Extra shout-out for awesome release notes:
- 😍 @Juneezee
- 😍 @avinal
- 😍 @bradbeck
- 😍 @chitrangpatel
- 😍 @chuangw6
- 😍 @dependabot[bot]
- 😍 @lcarva
- 😍 @wlynch
- 😍 @zregvart
Tekton Chains release v0.16.0 "v0.16.0"
-Docs @ v0.16.0
-Examples @ v0.16.0
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/chains/previous/v0.16.0/release.yaml
Attestation
The Rekor UUID for this release is 24296fb24b8ad77a3c42d79eba887ff35f251406199a42b1707976f80eaab969211e6db424640a52
Obtain the attestation:
REKOR_UUID=24296fb24b8ad77a3c42d79eba887ff35f251406199a42b1707976f80eaab969211e6db424640a52
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://storage.googleapis.com/tekton-releases/chains/previous/v0.16.0/release.yaml
REKOR_UUID=24296fb24b8ad77a3c42d79eba887ff35f251406199a42b1707976f80eaab969211e6db424640a52
# 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.16.0@sha256:" + .digest.sha256')
# Download the release file
curl "$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
-
✨ Re-add support for full task status for backward compatibility (#790)
-
✨ Set metadata completeness for parameters as true for slsav2/alpha1 (#763)
-
✨ [TEP0122] Add feature flags field to Invocation.Environment (#720)
-
✨ TEP 0122 - Adding taskspec to buildConfig and taskrunspec to parameters (#663)
Fixes
- 🐛 Bump tektoncd/pipelines dependency to v0.45 (#712)
Misc
-
🔨 Replace deprecated type/function (#779)
-
🔨 Cleanup: generics replace deprecated sets.String. (#776)
-
🔨 Hygiene: enable additional linters. (#735)
-
🔨 Hygiene: enable additional linters. (#731)
-
🔨 Add Pipelines v0.46.0 and v0.47.0 to e2e tests. (#785)
-
🔨 Bump sigstore to v1.6.3 (#784)
Docs
Thanks
Thanks to these contributors who contributed to v0.16.0!
- ❤️ @PuneetPunamiya
- ❤️ @bendory
- ❤️ @bradbeck
- ❤️ @chitrangpatel
- ❤️ @chuangw6
- ❤️ @dependabot[bot]
- ❤️ @lcarva
- ❤️ @pratap0007
- ❤️ @sallyom
- ❤️ @vdemeester
- ❤️ @wlynch
Extra shout-out for awesome release notes:
- 😍 @PuneetPunamiya
- 😍 @bendory
- 😍 @bradbeck
- 😍 @chitrangpatel
- 😍 @chuangw6
- 😍 @dependabot[bot]
- 😍 @lcarva
- 😍 @pratap0007
- 😍 @sallyom
- 😍 @vdemeester
- 😍 @wlynch
Tekton Chains release v0.15.0
-Docs @ v0.15.0
-Examples @ v0.15.
Highlights
- 🎉 Sigstore keyless mode promoted out of experimental
- 🎉
in-toto
provenance format now rebranded toslsa/v1
(in-toto
remains as an alias).
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/chains/previous/v0.15.0/release.yaml
Attestation
The Rekor UUID for this release is 24296fb24b8ad77a9a10cc2c864ff3b62961e990c5e6ebc3374f9e6bcb0a5f52375ef3177c0ca8f0
Obtain the attestation:
REKOR_UUID=24296fb24b8ad77a9a10cc2c864ff3b62961e990c5e6ebc3374f9e6bcb0a5f52375ef3177c0ca8f0
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://storage.googleapis.com/tekton-releases/chains/previous/v0.15.0/release.yaml
REKOR_UUID=24296fb24b8ad77a9a10cc2c864ff3b62961e990c5e6ebc3374f9e6bcb0a5f52375ef3177c0ca8f0
# 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.15.0@sha256:" + .digest.sha256')
# Download the release file
curl "$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
Backwards incompatible changes
- 5fab3e2 Remove tekton as a provenance format (#685) - This was deprecated as of v0.9.0. This completes its removal.
- 1b47418 Unexport intoto/taskrun funcs. (#668) - This should have no impact unless you were calling chains libraries directly.
Features
- 82c213c Add labels and annotations to attestation (#692)
- 05232aa Slsa Branding of Chains Provenance Format (#687)
- 759d570 Updating provenance branding from intotoite to slsa (#684)
- b4e5b53 Allow passing in of sha1 digests through StructuredResults (#676)
- 28a6c69 Issue 642: predicate.materials needs to record more information in PipelineRun (#658)
- af6c5b4 Promote Sigstore features out of experimental. (#652)
- 1d48332 Issue 642: predicate.materials needs to record more information (#649)
Fixes
- 3d0e739 Do not initialize Rekor client if transparency is not enabled (#693)
- 1b142b5 Fix to prevent adding empty structs into materials. (#678)
Misc
- 8dc461d Bump google.golang.org/grpc from 1.52.3 to 1.53.0 (#701)
- 08ba781 Bump golang.org/x/crypto from 0.5.0 to 0.6.0 (#702)
- 0a06881 Bump github.com/golangci/golangci-lint from 1.50.1 to 1.51.0 (#696)
- 49eaca0 Bump google.golang.org/grpc from 1.52.1 to 1.52.3 (#691)
- b43d824 Bump gocloud.dev/pubsub/kafkapubsub from 0.27.0 to 0.28.0 (#674)
- d339ef2 Bump google.golang.org/grpc from 1.52.0 to 1.52.1 (#690)
- f3022d0 Bump github.com/tektoncd/pipeline from 0.43.2 to 0.44.0 (#689)
- 5cc2a87 Bump github.com/google/go-containerregistry from 0.12.1 to 0.13.0 (#688)
- 3ab8dfa Bump cloud.google.com/go/storage from 1.28.1 to 1.29.0 (#686)
- e075201 Bump github.com/hashicorp/vault/sdk from 0.6.2 to 0.7.0 (#679)
- a497bbe Run GHA workflows on release branches. (#651)
- 6a00ef9 Bump github.com/spiffe/go-spiffe/v2 from 2.1.1 to 2.1.2 (#672)
- 6a167b6 Bump github.com/sigstore/sigstore from 1.5.0 to 1.5.1 (#682)
- 13f37a2 Bump github.com/google/addlicense from 1.1.0 to 1.1.1 (#681)
- 6e0f82b Bump gocloud.dev/docstore/mongodocstore from 0.27.0 to 0.28.0 (#673)
- aecd3d9 Bump google.golang.org/grpc from 1.51.0 to 1.52.0 (#670)
- 61e7faa Bump github.com/tektoncd/pipeline from 0.43.1 to 0.43.2 (#669)
- bf183c0 Bump github.com/tektoncd/pipeline from 0.43.0 to 0.43.1 (#667)
- 19a50fb Bump golang.org/x/crypto from 0.4.0 to 0.5.0 (#666)
- 8bbbe55 Cleanup golangci-lint and added additional linters. (#661)
- 5028b17 Cleanup: use idiomatic Go. (#662)
- 26fdcbf Cleanup: replaced deprecated ioutil package use. (#660)
- 7015e14 Update tektoncd/pipeline to 0.43.0 (#659)
- 9843497 Bump github.com/hashicorp/vault/sdk from 0.6.1 to 0.6.2 (#656)
- b5efd58 Bump cloud.google.com/go/compute/metadata from 0.2.2 to 0.2.3 (#647)
- 19b5339 Bump github.com/hashicorp/go-plugin from 1.4.7 to 1.4.8 (#641)
Docs
- 0eb541d add transparency log search ui provided by chainguard team (#632)
- 09c36ba Update releases for v0.14.0 (#653) (#654)
- 46f2948 Update releases for v0.14.0 (#653)
Thanks
Thanks to these contributors who contributed to v0.15.0!
- ❤️ @bendory
- ❤️ @chitrangpatel
- ❤️ @developer-guy
- ❤️ @EmmaMunley
- ❤️ @jagathprakash
- ❤️ @lcarva
- ❤️ @wlynch
Tekton Chains release v0.13.1
-Docs @ v0.13.1
-Examples @ v0.13.1
Installation one-liner
kubectl apply -f https://storage.googleapis.com/tekton-releases/chains/previous/v0.13.1/release.yaml
Attestation
The Rekor UUID for this release is 24296fb24b8ad77abd485cfcc75db8663ec582ee399b341b525bc6f55d3cf0188ef075d4ce955b1c
Obtain the attestation:
REKOR_UUID=24296fb24b8ad77abd485cfcc75db8663ec582ee399b341b525bc6f55d3cf0188ef075d4ce955b1c
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://storage.googleapis.com/tekton-releases/chains/previous/v0.13.1/release.yaml
REKOR_UUID=24296fb24b8ad77abd485cfcc75db8663ec582ee399b341b525bc6f55d3cf0188ef075d4ce955b1c
# 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.13.1@sha256:" + .digest.sha256')
# Download the release file
curl "$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
Fixes
Misc
- Update go.mod (#650)
Docs
Thanks
Thanks to these contributors who contributed to v0.13.1!
- ❤️ @wlynch
Extra shout-out for awesome release notes:
- 😍 @wlynch