Releases: tektoncd/results
Release list
Tekton Results release v0.20.0 LTS
Installation one-liner
kubectl apply -f https://infra.tekton.dev/tekton-releases/results/previous/v0.20.0/release.yamlAttestation
The Rekor UUID for this release is 108e9186e8c5677a7b39096fdb8731f7e7cf099b810464f05adabb9b24093868e089df76e8935cb8
Obtain the attestation:
REKOR_UUID=108e9186e8c5677a7b39096fdb8731f7e7cf099b810464f05adabb9b24093868e089df76e8935cb8
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/results/previous/v0.20.0/release.yaml
REKOR_UUID=108e9186e8c5677a7b39096fdb8731f7e7cf099b810464f05adabb9b24093868e089df76e8935cb8
# 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.20.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";
doneChanges
Features
- ✨ Add retention policy support for CustomRun records (#1361)
The retention policy agent now supports CustomRuns, both standalone and as part of PipelineRun.
- ✨ plugin(logs): support time based queries for Splunk (#1317)
Reduces the load to Splunk servers by limiting the search window with start/endTime
- ✨ Enable Server-Side Apply for finalizers management (#1322)
Switch finalizer management to Server-Side Apply patch to improve performance and reduce API load.
Fixes
- 🐛 fix(watcher): populate RecordSummary StartTime/EndTime from Status fields (#1285)
Fix RecordSummary StartTime always being NULL and EndTime being NULL for
failed/timed-out/cancelled runs. Timestamps are now read directly from the
run's Status.StartTime and Status.CompletionTime fields instead of from
Knative conditions.
Misc
- 🔨 chore: add dependabot for active release branches (#1360)
- 🔨 Bump pipelines to the latest version (#1414)
- 🔨 ci: Bump golangci-lint version (#1403)
- 🔨 Move README.md back to docs/ and symlink from root (#1370)
- 🔨 chore(deps): bump github.com/mattn/go-sqlite3 from 1.14.44 to 1.14.47 (#1365)
- 🔨 chore(deps): bump k8s.io/apimachinery from 0.35.5 to 0.35.6 (#1363)
Docs
Thanks
Thanks to these contributors who contributed to v0.20.0!
- ❤️ @SergK
- ❤️ @app/dependabot
- ❤️ @divyansh42
- ❤️ @enarha
- ❤️ @jkhelil
- ❤️ @michaelalang
Extra shout-out for awesome release notes:
- 😍 @SergK
- 😍 @divyansh42
- 😍 @enarha
- 😍 @jkhelil
- 😍 @michaelalang
Tekton Results release v0.19.0 LTS
Tekton Results release v0.19.0
Installation one-liner
kubectl apply -f https://infra.tekton.dev/tekton-releases/results/previous/v0.19.0/release.yamlAttestation
The Rekor UUID for this release is 108e9186e8c5677a73158266315a85394886e1497d84b82bfafb2cfd7d828badb84592fc8fc148f3
Obtain the attestation:
REKOR_UUID=108e9186e8c5677a73158266315a85394886e1497d84b82bfafb2cfd7d828badb84592fc8fc148f3
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/results/previous/v0.19.0/release.yaml
REKOR_UUID=108e9186e8c5677a73158266315a85394886e1497d84b82bfafb2cfd7d828badb84592fc8fc148f3
# 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.19.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";
doneChanges
Features
- ✨ Add support for storing CustomRuns (#1320)
The Result Watcher now watches and stores CustomRun resources (tekton.dev/v1beta1) alongside TaskRun and PipelineRun. CustomRuns created by custom task controllers are automatically recorded in the Results API.
- ✨ perf(cli): use exact match for describe/logs command (#1283)
Enhacement: Improved performance for describe and logs commands with optimized filtering; when multiple runs share the same name, the most recent one is returned (use --uid to target a specific run)
- ✨ Added config options to define json fields and line_format for loki logs (#1210)
Make the Loki LogQL more configurable by letting the user decide a json map for fields to be extracted and also define the following line_format
-
✨ feat(metrics): Migrate from OpenCensus to OpenTelemetry (#1249)
Migrate Results Watcher metrics from OpenCensus to OpenTelemetry
⚠️ Breaking Changes- ConfigMap key renamed
The observability config key in
config-observabilityhas been renamed:
frommetrics.backend-destinationtometrics-protocolprometheusis now the active default. If you were already using Prometheus and have not customized this ConfigMap, no action is needed.- Knative infrastructure metric names changed
Metrics emitted by the Knative controller runtime have been renamed. Update any dashboards, recording rules, or alerts that reference the old names:
Category Old name New name HTTP Client watcher_client_latencyhttp_client_request_duration_secondsHTTP Client watcher_client_resultskn_k8s_client_http_response_status_code_totalWorkqueue watcher_work_queue_depthkn_workqueue_depthWorkqueue watcher_workqueue_adds_totalkn_workqueue_adds_totalWorkqueue watcher_workqueue_depthkn_workqueue_depthWorkqueue watcher_workqueue_queue_latency_secondskn_workqueue_queue_duration_secondsWorkqueue watcher_workqueue_retries_totalkn_workqueue_retries_totalWorkqueue watcher_workqueue_unfinished_work_secondskn_workqueue_unfinished_work_secondsWorkqueue watcher_workqueue_work_duration_secondskn_workqueue_process_duration_secondsReconciler watcher_reconcile_latencykn_workqueue_process_duration_secondsGo runtime watcher_go_allocgo_memstats_alloc_bytesGo runtime watcher_go_bucket_hash_sysgo_memstats_buck_hash_sys_bytesGo runtime watcher_go_freesgo_memstats_frees_totalGo runtime watcher_go_gc_sysgo_memstats_gc_sys_bytesGo runtime watcher_go_heap_allocgo_memstats_heap_alloc_bytesGo runtime watcher_go_heap_idlego_memstats_heap_idle_bytesGo runtime watcher_go_heap_in_usego_memstats_heap_inuse_bytesGo runtime watcher_go_heap_objectsgo_memstats_heap_objectsGo runtime watcher_go_heap_releasedgo_memstats_heap_released_bytesGo runtime watcher_go_heap_sysgo_memstats_heap_sys_bytesGo runtime watcher_go_last_gcgo_memstats_last_gc_time_secondsGo runtime watcher_go_mallocsgo_memstats_mallocs_totalGo runtime watcher_go_mcache_in_usego_memstats_mcache_inuse_bytesGo runtime watcher_go_mcache_sysgo_memstats_mcache_sys_bytesGo runtime watcher_go_mspan_in_usego_memstats_mspan_inuse_bytesGo runtime watcher_go_mspan_sysgo_memstats_mspan_sys_bytesGo runtime watcher_go_next_gcgo_memstats_next_gc_bytesGo runtime watcher_go_num_gcgo_gc_duration_seconds_countGo runtime watcher_go_other_sysgo_memstats_other_sys_bytesGo runtime watcher_go_stack_in_usego_memstats_stack_inuse_bytesGo runtime watcher_go_stack_sysgo_memstats_stack_sys_bytesGo runtime watcher_go_sys...
Tekton Results release v0.18.0 LTS
Installation one-liner
kubectl apply -f https://infra.tekton.dev/tekton-releases/results/previous/v0.18.0/release.yamlAttestation
The Rekor UUID for this release is 108e9186e8c5677a10268b4a7ac74efdd0da76e60a934fbb3ae72e3615c6c8ac7dda7bf007179ca7
Obtain the attestation:
REKOR_UUID=108e9186e8c5677a10268b4a7ac74efdd0da76e60a934fbb3ae72e3615c6c8ac7dda7bf007179ca7
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/results/previous/v0.18.0/release.yaml
REKOR_UUID=108e9186e8c5677a10268b4a7ac74efdd0da76e60a934fbb3ae72e3615c6c8ac7dda7bf007179ca7
# 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 -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";
doneChanges
Features
- ✨ Add explicit TLS configuration support (#1187)
Fixes
Misc
-
🔨 Update GolangCI lint to 2.8.0 (#1196)
-
🔨 Fix golangci-lint errors and warnings (#1193)
-
🔨 temp pull the git history when using golangci-lint (#1191)
-
🔨 Fix link to latest Tekton Pipeline release (#1186)
-
🔨 Move adambkaplan to Alumni (#1183)
-
🔨 Bump github.com/jackc/pgx/v5 from 5.7.6 to 5.8.0 (#1195)
-
🔨 Bump google.golang.org/api from 0.255.0 to 0.264.0 (#1190)
-
🔨 Bump github.com/tektoncd/pipeline from 1.6.0 to 1.9.0 (#1188)
-
🔨 Bump gocloud.dev from 0.40.0 to 0.44.0 (#1175)
-
🔨 Bump k8s.io/apiserver from 0.32.9 to 0.32.11 (#1173)
-
🔨 Bump github.com/jackc/pgx/v5 from 5.7.5 to 5.7.6 (#1160)
-
🔨 Fix release pipeline for oracle cloud (#1159)
Docs
- 📖 docs(retention): clarify that TTL applies to DB records and not Run age (#1182)
Thanks
Thanks to these contributors who contributed to v0.18.0!
- ❤️ @aThorp96
- ❤️ @adambkaplan
- ❤️ @dependabot[bot]
- ❤️ @enarha
- ❤️ @khrm
Extra shout-out for awesome release notes:
Tekton Results release v0.17.2 "Tekton Results"
-Docs @ v0.17.2
-Examples @ v0.17.2
Changes
Features
Fixes
- 🐛 fix: prioritize maxRetention over defaultRetention for backward compatibility (#1165)
Retention configuration parsing now checks maxRetention first, maintaining backward compatibility during the deprecation period.
Misc
- 🔨 Remove GHCR migration notice from the readme (#1171)
Docs
- 📖 fix: prioritize maxRetention over defaultRetention for backward compatibility (#1165)
Retention configuration parsing now checks maxRetention first, maintaining backward compatibility during the deprecation period.
Thanks
Thanks to these contributors who contributed to v0.17.2!
- ❤️ @AlanGreene
- ❤️ @dependabot[bot]
- ❤️ @infernus01
- ❤️ @vdemeester
Extra shout-out for awesome release notes:
Tekton Results release v0.17.1 "Tekton Results"
-Docs @ v0.17.1
-Examples @ v0.17.1
Changes
Features
Fixes
- 🐛 Fix Status based retention policy bug (#1155)
When we set failed before a policy and former has higher duration, it's not applied.
Misc
- 🔨 Bump k8s.io/apimachinery from 0.32.9 to 0.32.10 (#1157)
- 🔨 Bump github.com/aws/aws-sdk-go-v2/config from 1.31.15 to 1.32.2 (#1156)
- 🔨 Bump golang.org/x/crypto from 0.43.0 to 0.45.0 (#1153)
- 🔨 Bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.27.1 to 2.27.3 (#1151)
- 🔨 Bump github.com/aws/aws-sdk-go-v2/credentials from 1.18.19 to 1.18.22 (#1150)
- 🔨 Bump golang.org/x/oauth2 from 0.32.0 to 0.33.0 (#1149)
Thanks
Thanks to these contributors who contributed to v0.17.1!
- ❤️ @dependabot[bot]
- ❤️ @khrm
Extra shout-out for awesome release notes:
- 😍 @khrm
Tekton Results release v0.17.0 "Tekton Results"
-Docs @ v0.17.0
-Examples @ v0.17.0
Changes
Features
- ✨ [CLI] feat: implement namespace-independent config storage for CLI (#1093)
[CLI] feat: Configuration now persists across namespace switches - no need to run 'tkn-results config set' again after switching namespaces
-
✨ Refactor annotations package and switch to Server-Side Apply (#1078)
-
✨ feat: add storage latency and runs not stored metrics for PipelineRuns and TaskRuns (#1065)
feat: add storage latency and runs not stored count metrics for PipelineRuns and TaskRuns
Fixes
-
🐛 Fix watcher CreateResult race condition (#1134)
-
🐛 fix(metrics): correct prDeleteDuration view description (#1123)
fix: correct metrics view description for PipelineRun delete duration tracking
Misc
-
🔨 Replace deprecated apimachinery wait.PollImmediate (#1139)
-
🔨 Bump Kind k8s version v1.34.0 (#1135)
-
🔨 Pin actions by commit SHA (#1129)
-
🔨 Add GitHub Actions workflow for go coverage job (#1126)
-
🔨 Add Presubmit Tests to GitHub Actions (#1114)
-
🔨 Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.84.0 to 1.90.0 (#1147)
-
🔨 Bump github.com/prometheus/client_golang from 1.23.0 to 1.23.2 (#1146)
-
🔨 Bump gorm.io/gorm from 1.30.1 to 1.31.1 (#1145)
-
🔨 Bump github.com/tektoncd/pipeline from 1.3.1 to 1.6.0 (#1144)
-
🔨 Bump google.golang.org/api from 0.252.0 to 0.254.0 (#1142)
-
🔨 Bump github.com/google/cel-go from 0.26.0 to 0.26.1 (#1138)
-
🔨 Bump github.com/aws/aws-sdk-go-v2/config from 1.29.14 to 1.31.15 (#1137)
-
🔨 Bump github.com/spf13/viper from 1.20.1 to 1.21.0 (#1131)
-
🔨 Bump google.golang.org/api from 0.247.0 to 0.252.0 (#1128)
-
🔨 Bump google.golang.org/grpc from 1.74.2 to 1.76.0 (#1127)
-
🔨 Bump github.com/spf13/cobra from 1.9.1 to 1.10.1 (#1120)
-
🔨 Bump k8s.io/apiserver from 0.32.8 to 0.32.9 (#1117)
-
🔨 Bump github.com/aws/aws-sdk-go-v2/credentials from 1.17.67 to 1.18.12 (#1111)
-
🔨 [CLI] Add mock REST client infrastructure and modify unit tests for pipelinerun list command (#1109)
-
🔨 Bump github.com/spf13/pflag from 1.0.6 to 1.0.10 (#1108)
-
🔨 Bump github.com/mattn/go-sqlite3 from 1.14.24 to 1.14.32 (#1099)
-
🔨 Bump gorm.io/driver/sqlite from 1.5.7 to 1.6.0 (#1097)
-
🔨 Bump github.com/go-viper/mapstructure/v2 from 2.3.0 to 2.4.0 (#1101)
Docs
- 📖 Update OpenAPI spec and documentation to match API (#1107)
OpenAPI Documentation updated to reflect new schema
Thanks
Thanks to these contributors who contributed to v0.17.0!
- ❤️ @AlanGreene
- ❤️ @dependabot[bot]
- ❤️ @divyansh42
- ❤️ @enarha
- ❤️ @freefood89
- ❤️ @khrm
- ❤️ @l-qing
Extra shout-out for awesome release notes:
- 😍 @AlanGreene
- 😍 @divyansh42
- 😍 @enarha
- 😍 @freefood89
- 😍 @khrm
- 😍 @l-qing
Tekton Results release v0.16.0 "Tekton Results"
-Docs @ v0.16.0
-Examples @ v0.16.0
Changes
Features
- ✨ Add support for fine-grained retention policies (#1077)
Tekton Results now supports fine-grained retention policies, allowing you to set different retention periods for PipelineRun and top-level TaskRun results based on their namespace, labels, annotations, and status.
This provides granular control to balance storage costs with compliance and debugging needs. The first policy that a result matches is applied. If no policy matches, the result falls back to the default maxRetention period.
The feature is configured by adding a policies key to the tekton-results-config-results-retention-policy ConfigMap.
-
✨ Add anti-affinity rules to results's replicas (#1060)
-
✨ [CLI] Enchance config set command automatic host detection and unit test improvements (#1058)
feat: [CLI] Extend interactive prompt support for manual host configuration and simplify route discovery using URL construction without requiring API permissions
- ✨ Add flag to Disable Live Collection of Runs (#1053)
Added flag: disable_storing_incomplete_runs If set to true, Runs will not be stored until they are complete. If false, Runs will be initially stored upon creation and continuously upserted until after they're deleted"
-
✨ Update PostgreSQL image used in local-db deployment (#1052)
-
✨ enable readOnlyRootFilesystem and add required writable mounts (#1067)
Fixes
- 🐛 [CLI] Properly handle the error when logs for the running pr/tr is queried (#1080)
[CLI] Properly handle the error when logs for the running pr/tr is queried
-
🐛 Resolve STS not starting when fsGroup is not set (#1068)
-
🐛 Skip processing of already stored Runs (#1063)
-
🐛 [CLI] Revert command template changes (#1044)
[CLI] Revert record get command template changes to avoid breaking changes
- 🐛 [CLI] Initialize clock with clockwork.NewRealClock() to fix nil pointer issue in the describe commands (#1034)
[CLI] Fix nil pointer error when using records get and results describe command
- 🐛 [CLI] Show proper error message when CLI config is missing (#1031)
[CLI] Throw error and a proper message when CLI config is missing
- 🐛 Fix usage of server related flags (#1024)
[CLI] Fix proper usage of server-related flags i.e. --host, --token, --api-path, --insecure-skip-tls-verify`
- 🐛 Fix the flaky unit test in field mask (#1051)
Misc
-
🔨set readOnlyRootFilesystem on all containers (#1029)
-
🔨 Remove duplicate data from dynamic reconciler logging (#1071)
-
🔨 Add Codeql code analysis gh actions (#1056)
-
🔨 Fix typos and formatting in documentation (#1042)
-
🔨 Add app label to Results api deployment (#1018)
-
🔨 Lower priority of log message (#1017)
-
🔨 Bump k8s.io/apiserver from 0.32.6 to 0.32.8 (#1092)
-
🔨 Bump github.com/prometheus/client_golang from 1.21.1 to 1.23.0 (#1090)
-
🔨 Bump golang.org/x/net from 0.42.0 to 0.43.0 (#1089)
-
🔨 Bump github.com/tektoncd/cli from 0.41.0 to 0.41.1 (#1088)
-
🔨 Bump google.golang.org/api from 0.238.0 to 0.247.0 (#1087)
-
🔨 Bump gorm.io/gorm from 1.25.7-0.20240204074919-46816ad31dde to 1.30.1 (#1084)
-
🔨 Bump pipeline to latest and Update GolangCI lint workflow (#1082)
-
🔨 Bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.76.0 to 1.84.0 (#1069)
-
🔨 Bump k8s.io/apiserver from 0.32.4 to 0.32.6 (#1057)
-
🔨 Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 (#1048)
-
🔨 Bump k8s.io/api from 0.32.5 to 0.32.6 (#1047)
-
🔨 Bump google.golang.org/api from 0.229.0 to 0.238.0 (#1032)
-
🔨 Bump gorm.io/driver/mysql from 1.5.1 to 1.6.0 (#1026)
-
🔨 Bump github.com/grpc-ecosystem/go-grpc-middleware/v2 from 2.2.0 to 2.3.2 (#1021)
-
🔨 Bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.26.1 to 2.26.3 (#1019)
-
🔨 Bump github.com/grpc-ecosystem/go-grpc-middleware from 1.3.0 to 1.4.0 (#579)
Docs
- 📖 Fix watcher documentation (#1049)
Thanks
Thanks to these contributors who contributed to v0.16.0!
- ❤️ @ab-ghosh
- ❤️ @dependabot[bot]
- ❤️ @divyansh42
- ❤️ @enarha
- ❤️ @infernus01
- ❤️ @jkhelil
- ❤️ @khrm
- ❤️ @pratap0007
- ❤️ @sventenraa
- ❤️ @vdemeester
Extra shout-out for awesome release notes:
- 😍 @ab-ghosh
- 😍 @divyansh42
- 😍 @enarha
- 😍 @infernus01
- 😍 @jkhelil
- 😍 @khrm
- 😍 @pratap0007
- 😍 @sventenraa
- 😍 @vdemeester
Tekton Results release v0.15.3 "Tekton Results"
-Docs @ v0.15.3
-Examples @ v0.15.3
Changes
Misc
- 🔨 [release-v0.15.x] Resolve STS not starting when fsGroup is not set (#1085)
Docs
Thanks
Thanks to these contributors who contributed to v0.15.3!
- ❤️ @sventenraa
Tekton Results release v0.15.2 "Tekton Results"
-Docs @ v0.15.2
-Examples @ v0.15.2
Changes
Fixes
- 🐛 [release-v0.15.x] [CLI] Revert command template changes (#1045)
CLI] Revert record get command template changes to avoid breaking changes
Thanks
Thanks to these contributors who contributed to v0.15.2!
- ❤️ @divyansh42
Extra shout-out for awesome release notes:
Tekton Results release v0.15.1 "Tekton Results"
-Docs @ v0.15.1
-Examples @ v0.15.1
Changes
Fixes
- 🐛 [release-v0.15.x] [CLI] Fix end points for the all namespace flag (#1041)
CLI] Fix API calling end points when using --all namespaces flag in list commands
- 🐛 [release-v0.15.x] [CLI] Show proper error message when CLI config is missing (#1040)
CLI] Throw error and a proper message when CLI config is missing
- 🐛 [release-v0.15.x] Fix usage of server related flags (#1039)
[CLI] Fix proper usage of server-related flags i.e. --host, --token, --api-path, --insecure-skip-tls-verify`
- 🐛 [release-v0.15.x] [CLI] Initialize clock with clockwork.NewRealClock() to fix nil pointer issue in the describe commands (#1037)
CLI] Fix nil pointer error when using records get and results describe command
- 🐛 [release-v0.15.x] [CLI] Improve docs to be more generic for the plugins (#1038)
Thanks
Thanks to these contributors who contributed to v0.15.1!
- ❤️ @divyansh42
Extra shout-out for awesome release notes: - 😍 @divyansh42