# changelog

author: Grafana Labs <support@grafana.com> - 0.50.0
changelog:
  - chore: release 0.50.0 (#1648)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - feat: k6runner: add constructor with some sanity checkign for Repository
  - chore: k6runner: document callers cannot modify items returned by Entries
  - chore: k6runner: add more debug-level logs to repository
  - chore: k6runner: document functions
  - feat: k6runner: allow k6 version repository to match constraints
  - feat: k6runner: make k6 version repository semver-aware
  - feat: k6runner: add k6 version repository
  A Repository can list k6 binaries present on disk, and run them to find
  their versions
  - docs: remove SECURITY.md (#1647)


author: Grafana Labs <support@grafana.com> - 0.51.0
changelog:
  - chore: release 0.51.0 (#1658)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - feat: Add channels to proto (#1656)
  * fix: Ignore google/protobuf on breaking cmd
  Ignore external google/protobuf breaking changes.
  Otherwise buf was reporting breaking changes in
  google/protobuf/descriptor.proto.
  * feat: Include channels in checks proto
  Channels specifies the channels to which the check is assigned to.
  By now only k6 channel is supported, indicating the channel to
  which k6-based checks are assigned.
  - fix: Use synctest in TestHandleCheckOp (#1663)
  Similar to the work done in 1e94e6ede5bfc496f4241842708c5c1335d69353,
  the issue as reported by @nadiamoe is that the test is ending before the
  goroutines it has started have all finished. Since the goroutine tries
  to use the test logger to report something, this manifests as a
  datarace. By wrapping this in synctest.Test and adding synctest.Wait()
  at the end of the bubble, the test waits for the goroutines to return
  before finishing the test, addressing the log-after-done issue.
  - chore: Update dependency grafana/xk6-sm to v0.6.14 (#1650)
  | datasource      | package        | from    | to      |
  | --------------- | -------------- | ------- | ------- |
  | github-releases | grafana/xk6-sm | v0.6.12 | v0.6.14 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module golang.org/x/net to v0.48.0 (#1652)
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.47.0 | v0.48.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/cache action to v5 (#1653)
  | datasource  | package       | from   | to     |
  | ----------- | ------------- | ------ | ------ |
  | github-tags | actions/cache | v4.3.0 | v5.0.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update GitHub Artifact Actions (#1654)
  | datasource  | package                   | from | to |
  | ----------- | ------------------------- | ---- | -- |
  | github-tags | actions/download-artifact | v6   | v7 |
  | github-tags | actions/upload-artifact   | v5   | v6 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.51.1
changelog:
  - chore: release 0.51.1 (#1664)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update actions/checkout action to v6.0.2
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/checkout | v6.0.1 | v6.0.2 |
  - chore: Update grafana/shared-workflows digest to 3105e25
  - chore: Update module github.com/miekg/dns to v1.1.72
  | datasource | package              | from    | to      |
  | ---------- | -------------------- | ------- | ------- |
  | go         | github.com/miekg/dns | v1.1.70 | v1.1.72 |
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:143.0.7499.169-r0-3.23.2 Docker digest to 304cadc
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.28.4
  | datasource | package                             | from   | to     |
  | ---------- | ----------------------------------- | ------ | ------ |
  | docker     | ghcr.io/grafana/grafana-build-tools | 1.28.3 | 1.28.4 |
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.28.3
  | datasource | package                             | from    | to     |
  | ---------- | ----------------------------------- | ------- | ------ |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.28.1 | 1.28.3 |
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:143.0.7499.169-r0-3.23.2 Docker digest to 4c106aa (#1676)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module google.golang.org/grpc to v1.78.0
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | google.golang.org/grpc | v1.77.0 | v1.78.0 |
  - chore: Update actions/cache action to v5.0.2
  | datasource  | package       | from   | to     |
  | ----------- | ------------- | ------ | ------ |
  | github-tags | actions/cache | v5.0.1 | v5.0.2 |
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v143
  | datasource | package                                     | from                    | to                       |
  | ---------- | ------------------------------------------- | ----------------------- | ------------------------ |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 142.0.7444.59-r0-3.22.2 | 143.0.7499.169-r0-3.23.2 |
  - chore: Update module github.com/puzpuzpuz/xsync/v4 to v4.3.0
  | datasource | package                       | from   | to     |
  | ---------- | ----------------------------- | ------ | ------ |
  | go         | github.com/puzpuzpuz/xsync/v4 | v4.2.0 | v4.3.0 |
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.20.0
  | datasource | package                            | from    | to      |
  | ---------- | ---------------------------------- | ------- | ------- |
  | go         | github.com/mccutchen/go-httpbin/v2 | v2.19.0 | v2.20.0 |
  - fix: Prevent random telemetry test failures
  After this change, TestTelemeterAddExecution doesn't seem to fail
  anymore. Tested using:
      go test -count 1000 -race -v -run TestTelemeterAddExecution ./internal/telemetry/
  - chore: Update module github.com/maypok86/otter/v2 to v2.3.0
  | datasource | package                      | from   | to     |
  | ---------- | ---------------------------- | ------ | ------ |
  | go         | github.com/maypok86/otter/v2 | v2.2.1 | v2.3.0 |
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.28.1
  | datasource | package                             | from   | to      |
  | ---------- | ----------------------------------- | ------ | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | 1.23.1 | v1.28.1 |
  - chore: Update actions/setup-go action to v6.2.0
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/setup-go | v6.1.0 | v6.2.0 |
  - chore: Update module github.com/miekg/dns to v1.1.70 (#1651)
  | datasource | package              | from    | to      |
  | ---------- | -------------------- | ------- | ------- |
  | go         | github.com/miekg/dns | v1.1.68 | v1.1.70 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm to v0.6.15
  | datasource      | package        | from    | to      |
  | --------------- | -------------- | ------- | ------- |
  | github-releases | grafana/xk6-sm | v0.6.14 | v0.6.15 |
  - chore: Update docker/setup-buildx-action action to v3.12.0
  | datasource  | package                    | from    | to      |
  | ----------- | -------------------------- | ------- | ------- |
  | github-tags | docker/setup-buildx-action | v3.11.1 | v3.12.0 |
  - chore: Update alpine Docker tag to v3.23.2
  | datasource | package | from   | to     |
  | ---------- | ------- | ------ | ------ |
  | docker     | alpine  | 3.23.0 | 3.23.2 |
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:142.0.7444.59-r0-3.22.2 Docker digest to fa55b08 (#1660)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update docker:dind Docker digest to 3a33fc8
  - chore: Update golang.org/x/exp digest to 944ab1f (#1655)
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20251125195548-87e1e737ad39 | v0.0.0-20251219203646-944ab1f22d93 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.51.2
changelog:
  - chore: release 0.51.2 (#1684)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - fix: Fail if memcached is requested but not available
  Previously this code would fallback to a local cache if memcache was
  requested but not available (e.g. by passing invalid memcached server
  addresses on the command line).
  Change this to failing in the specific case of passing memcached server
  which aren't available. This will cause the agent to fail and keep
  retrying until the servers become available. If no servers are specifed,
  it falls back to local cache as before.
  - chore: Update docker:dind Docker digest to a284d31
  - chore: Update alpine Docker tag to v3.23.3
  | datasource | package | from   | to     |
  | ---------- | ------- | ------ | ------ |
  | docker     | alpine  | 3.23.2 | 3.23.3 |
  - chore: Update module github.com/puzpuzpuz/xsync/v4 to v4.4.0
  | datasource | package                       | from   | to     |
  | ---------- | ----------------------------- | ------ | ------ |
  | go         | github.com/puzpuzpuz/xsync/v4 | v4.3.0 | v4.4.0 |
  - chore: Update docker:dind Docker digest to 6a58fe0
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.29.0
  | datasource | package                             | from   | to     |
  | ---------- | ----------------------------------- | ------ | ------ |
  | docker     | ghcr.io/grafana/grafana-build-tools | 1.28.4 | 1.29.0 |


author: Grafana Labs <support@grafana.com> - 0.51.3
changelog:
  - chore: release 0.51.3
  - chore: Update docker:dind Docker digest to 8bcbad4
  - chore: Update actions/checkout digest to de0fac2
  - chore: Update actions/cache action to v5.0.3
  | datasource  | package       | from   | to     |
  | ----------- | ------------- | ------ | ------ |
  | github-tags | actions/cache | v5.0.2 | v5.0.3 |
  - chore: Update dependency grafana/xk6-sm to v0.6.16
  | datasource      | package        | from    | to      |
  | --------------- | -------------- | ------- | ------- |
  | github-releases | grafana/xk6-sm | v0.6.15 | v0.6.16 |
  - chore: Update grafana/shared-workflows digest to ac51935


author: Grafana Labs <support@grafana.com> - 0.52.0
changelog:
  - chore: release 0.52.0 (#1700)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update module google.golang.org/grpc to v1.79.1
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | google.golang.org/grpc | v1.78.0 | v1.79.1 |
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.31.1
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.31.0 | v1.31.1 |
  - chore: Update grafana/shared-workflows digest to 7758749
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.31.0
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.30.0 | v1.31.0 |
  - chore: Update docker/build-push-action action to v6.19.2
  | datasource  | package                  | from    | to      |
  | ----------- | ------------------------ | ------- | ------- |
  | github-tags | docker/build-push-action | v6.18.0 | v6.19.2 |
  - chore: Update golang.org/x/exp digest to 81e46e3
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20260112195511-716be5621a96 | v0.0.0-20260212183809-81e46e3db34a |
  - chore: prober: minor refactor of channel nilness handling
  - chore: k6runner: add naive test for k6 channel manifest
  This is allegedly not very useful, but should at least try and catch
  naive bugs.
  - chore: multihttp: hardcode k6 channel manifest
  MultiHTTP checks are k6-based, but that is an implementation detail.
  Users should not need to care which k6 version is used. The entity
  tasked with composing a k6 script from the check data is the agent, and
  thus it makes sense it's the agent the one that should make the decision
  of which k6 version is generating that script for.
  For now, only one version is targeted: v1.
  - feat: browser, scripted: propagate k6 channel manifest to runner
  - feat: k6runner: propagate k6 channel manifest to remote runners
  Also, emit a warning if non-empty for local runner, which does not
  support versioning yet.
  - feat: Reject internal marker as job or target (#1708)
  '__internal__' value for check job or target fields is restricted for
  potential internal use. Therefore user-provided checks with these values
  will be rejected during validation.
  - chore: Update module golang.org/x/net to v0.50.0
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.49.0 | v0.50.0 |
  - chore: Update dependency grafana/xk6-sm to v0.6.17
  | datasource      | package        | from    | to      |
  | --------------- | -------------- | ------- | ------- |
  | github-releases | grafana/xk6-sm | v0.6.16 | v0.6.17 |
  - chore: Update grafana/shared-workflows digest to 8ef55db
  - chore: Update module github.com/prometheus-community/pro-bing to v0.8.0
  | datasource | package                                  | from   | to     |
  | ---------- | ---------------------------------------- | ------ | ------ |
  | go         | github.com/prometheus-community/pro-bing | v0.7.0 | v0.8.0 |
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.30.0
  | datasource | package                             | from   | to      |
  | ---------- | ----------------------------------- | ------ | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | 1.29.0 | v1.30.0 |


author: Grafana Labs <support@grafana.com> - 0.52.1
changelog:
  - chore: release 0.52.1 (#1712)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Revert "chore: Update module golang.org/x/net to v0.50.0"
  This reverts commit ca89e5f287ff24fcd6eb37052db5206e86e3d7b0.


author: Grafana Labs <support@grafana.com> - 0.53.0
changelog:
  - chore: release 0.53.0
  - feat: Add k6 service proto definition (#1710)
  Defines a k6 service which allows probes reporting information about the
  supported k6 versions.
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.32.0
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.31.1 | v1.32.0 |
  - chore: Update dependency grafana/xk6-sm to v0.6.18
  | datasource      | package        | from    | to      |
  | --------------- | -------------- | ------- | ------- |
  | github-releases | grafana/xk6-sm | v0.6.17 | v0.6.18 |
  - chore: fix typo in `smmodel` import
  - chore: k6runner/version: port code from runner
  Bring better error handling for bogus constraints, and more metadata
  returned on Resolve
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:144.0.7559.132-r1-3.23.3 Docker digest to de95a81
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v144
  | datasource | package                                     | from                     | to                       |
  | ---------- | ------------------------------------------- | ------------------------ | ------------------------ |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 143.0.7499.169-r0-3.23.2 | 144.0.7559.132-r1-3.23.3 |


author: Grafana Labs <support@grafana.com> - 0.54.0
changelog:
  - chore: release 0.54.0 (#1726)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.33.1
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.33.0 | v1.33.1 |
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.33.0
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.32.0 | v1.33.0 |
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.21.0
  | datasource | package                            | from    | to      |
  | ---------- | ---------------------------------- | ------- | ------- |
  | go         | github.com/mccutchen/go-httpbin/v2 | v2.20.0 | v2.21.0 |
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v144.0.7559.132-r3-3.23.3
  | datasource | package                                     | from                     | to                       |
  | ---------- | ------------------------------------------- | ------------------------ | ------------------------ |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 144.0.7559.132-r1-3.23.3 | 144.0.7559.132-r3-3.23.3 |
  - chore: k6runner/http: subject sending versions report to a timeout
  - chore: k6runner/http: implement Versions
  - chore: k6runner/http: treat URL as a base URL
  Automatically trim `/run` from now-base URL for backwards compatibility.
  - chore: k6runner/http: add helper to trim /run from URLs
  - chore: k6runner/local: octal formatting
  - fix: k6runner/local: use context error
  Co-authored-by: Daniel Jiménez <danijs12@hotmail.com>
  - chore: ci: replace push-to-gar-docker with docker-build-push-image
  - feat: k6runner/local: report versions present in k6 repository
  - feat: k6runner: add `Versions` function
  - chore: Update golang.org/x/exp digest to 3dfff04
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20250106191152-7588d65b2ba8 | v0.0.0-20260218203240-3dfff04db8fa |
  - chore: Update module golang.org/x/net to v0.51.0
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.49.0 | v0.51.0 |
  - chore: Update docker:dind Docker digest to 68f6d9a
  - chore: Update GitHub Artifact Actions
  | datasource  | package                   | from | to |
  | ----------- | ------------------------- | ---- | -- |
  | github-tags | actions/download-artifact | v7   | v8 |
  | github-tags | actions/upload-artifact   | v6   | v7 |
  - chore: Update grafana/shared-workflows digest to 37781cf
  - feat: k6runner/local: log k6 version used to run the script
  - feat: k6runner/local: use repository to resolve k6 version
  - feat: pass repository path to k6 runner factory
  - feat: k6runner/version: handle relative paths as overrides


author: Grafana Labs <support@grafana.com> - 0.55.0
changelog:
  - chore: release 0.55.0 (#1744)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - feat: Report k6 timestamp on k6 execution logs (#1636)
  Uses the timestamp reported by k6 during the execution of scripted checks as
  the Timestamp for Loki logs, rather than the current timestamp at the time
  of extraction.
  - chore: Update module google.golang.org/grpc to v1.79.3 [SECURITY] (#1747)
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | google.golang.org/grpc | v1.79.1 | v1.79.3 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: prober/multihttp: test with all k6 binaries found in dist
  - chore: cmd: remove validation of -k6-uri
  This is now done by k6 repository directly, and k6-uri defaults to empty
  string.
  - chore: build: download k6 as k6-v1, place it in repository folder
  - chore: Dockerfile: copy k6 to repository folder
  - chore: cmd: default to using k6 repository folder
  - fix: k6runner: use actual response schema from runners
  - chore: k6versions,k6runner: add more debug logs fro troubleshooting
  - feat: k6version: register versions reported by k6 runner to the API (#1736)
  * feat: k6version: register versions reported by k6 runner to the API
  * chore: k6version: add tests
  * feat: main: report k6 versions to the API
  * chore: k6version: log backoff in seconds
  * fix: k6version: wait for context on channel closure
  Prevent a channel closure from immediately aborting retries by canceling
  the retry context.


