# changelog

author: Grafana Labs <support@grafana.com> - 0.29.1
changelog:
  - chore(main): release 0.29.1 (#963)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - release: Internal release (#962)
  - Chore: Update dependency chromium-swiftshader to v130.0.6723.69-r0 (#961)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.29.2
changelog:
  - chore(main): release 0.29.2 (#968)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - Upgrade grafana-build-tools to v0.30.0 (#970)
  - Fix: rework package creation (#967)
  - Update grafana-build-tools to 0.27.0 (#964)


author: Grafana Labs <support@grafana.com> - 0.29.3
changelog:
  - chore(main): release 0.29.3 (#973)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - release: Internal release (#972)
  - Chore: Update dependency chromium-swiftshader to v130.0.6723.91-r0 (#971)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.29.4
changelog:
  - chore(main): release 0.29.4 (#977)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - Chore: Update module github.com/prometheus/prometheus to v0.55.1 (#1027)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Chore: Update module golang.org/x/net to v0.31.0 (#990)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Chore: Update ghcr.io/renovatebot/renovate Docker tag to v39.9.1 (#1011)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Chore: Update dependency go to v1.23.3 (#983)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Chore: Update module google.golang.org/grpc to v1.68.0 (#984)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Chore: Update ghcr.io/renovatebot/renovate Docker tag to v39 (#989)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: k6runner: add level=error to deferred log reporting code from runner
  - ci/renovate: increase timeout to 10 minutes
  - ci/renovate: formatting
  - Chore: Update module golang.org/x/sync to v0.9.0 (#986)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Chore: Update dependency chromium-swiftshader to v130.0.6723.116-r0 (#982)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Chore: Update golang.org/x/exp digest to f66d83c (#953)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  Co-authored-by: Marcelo Magallon <marcelo.magallon@grafana.com>
  - Fix: simplify TestTenantPusher (#979)
  CI is failing consistently with this test. The best I can tell, it might be because some data is shared between tests, and the test might be time-sensitive.
  - Fix: change vault_instance to ops (#978)
  - Fix: add packages to release (#976)
  - Chore: Update ghcr.io/renovatebot/renovate Docker tag to v37.440.7
  - Chore: Update module github.com/prometheus/common to v0.60.1
  - Chore: Update module kernel.org/pub/linux/libs/security/libcap/cap to v1.2.71
  - renovate: fix regex for self-updating


author: Grafana Labs <support@grafana.com> - 0.29.5
changelog:
  - Chore: release 0.29.5 (#1049)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - Fix: use different chromium versions for different architectures (#1053)
  Since we are pinning versions, and since Alpine does not have a
  consistent set of packages across all the architectures, we have to
  install different versions of the chromium package depending on which
  achitecture we are targeting.
  - fix: Do not specify `--vus` or `--iterations` for browser checks
  - Chore: change release commit title (#1039)
  By default release-please creates a commit that looks like this:
  	chore(main): release vX.Y.Z
  Change this to:
  	Chore: release vX.Y.Z
  because the scope is superflous (this is not a monorepo, we only have
  one thing that we can release) and using uppercase to start the subject
  line is good form.
  - Chore: move named anchor in changelog (#1040)
  Something was left behind when we started using release-please, and this
  anchor
  	<a name="v0.28.0"></a>
  keeps showing up at the top of the changelog.
  Move it to the correct location.
  - chore: Add support for chore commits in release-please (#1046)
  * chore: Add support for chore commits in release-please
  Include `chore` as a supported category for release-please. Chore
  commits refer to changes that don't modify source files but are
  necessary to maintain the project. Some examples include:
  - Updating build scripts or configuration files
  - Updating dependencies
  - Updating CI/CD configurations
  Consider using scopes in order to "narrow down" the context of the
  change. For example:
  - chore(ci): <change>
  - chore(build): <change>
  * Remove release commit type from release-please
  The other supported categories should account for any change that may
  require a release.
  - chore: Throttle renovate updates
  Otherwise, updates are so frequent they become noise
  - Chore: Update ghcr.io/renovatebot/renovate Docker tag to v39.14.1
  - Chore: Update ghcr.io/renovatebot/renovate Docker tag to v39.11.7
  - Chore: Update module github.com/golangci/golangci-lint to v1.62.0
  - renovate: use `"enabled"` instead of `true` for `platformCommit`
  - Chore: Update ghcr.io/renovatebot/renovate Docker tag to v39.10.2


author: Grafana Labs <support@grafana.com> - 0.29.6
changelog:
  - Chore: release 0.29.6 (#1055)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - Chore: Update dependency chromium-swiftshader to v131


author: Grafana Labs <support@grafana.com> - 0.29.7
changelog:
  - Chore: release 0.29.7 (#1069)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - Chore: Update module github.com/golangci/golangci-lint to v1.62.2
  - Chore: Update module github.com/stretchr/testify to v1.10.0
  - chore: renovate: use loose versioning for chromium-swiftshader-alpine image
  - chore: renovate: remove config related to alpine packages
  - chore: Dockerfile: build browser image from chromium-swiftshader-alpine
  The new base image is built at
  https://github.com/grafana/chromium-swiftshader-alpine, and should allow
  us to both get chromium updates as PRs, while at the same time being
  stable so an outdated version does not break builds in the foreseeable
  future.


author: Grafana Labs <support@grafana.com> - 0.29.8
changelog:
  - chore: release 0.29.8 (#1071)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - Fix: pull in newer version of trigger-argo-workflow action (#1075)
  The current version is failing because it's talking to the wrong vault
  instance. The new version is the same one that has been verified to work
  elsewhere.
  - Fix: trigger argo release workflow from GHA (#1074)
  We have the drone pipeline running in parallel with the GHA one, with
  the exception of the release step. In order to unblock this, disable
  triggering the argo workflow in Drone and enable it in GHA. I'm 100%
  sure this is going to fail without changes on the workflow side, but
  making those changes first will very likely break the drone pipeline.
  Start it here, with dev releases, so that we can figure out what else
  needs changing but keep the prod path enabled in Drone, in case we need
  to make a release before this is done.
  - Reorder release-please commit types
  Alphabetical order.
  - chore: Fix release-please commit case


author: Grafana Labs <support@grafana.com> - 0.29.9
changelog:
  - chore: release 0.29.9 (#1080)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update module kernel.org/pub/linux/libs/security/libcap/cap to v1.2.73
  - chore: Update actions/upload-artifact digest to b4b15b8
  - chore: Update actions/checkout digest to 11bd719
  - Chore: Update golang.org/x/exp digest to 2d47ceb
  - fix: use `%q` instead of `"%s"` for free quote escaping
  - chore: use grafana/sm-renovate shared presets and actions


author: Grafana Labs <support@grafana.com> - 0.29.10
changelog:
  - chore: release 0.29.10 (#1093)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - Fix: increase SHA-1 short version length (#1092)
  It's been observed that two different runs of git produce two different
  values of the short SHA-1 value (which is weird, because this is
  supposed to be based on the number of objects in the repository). Fix
  this at 12, because that is longer than what git automatically decides
  to use.


author: Grafana Labs <support@grafana.com> - 0.26.0
changelog:
  - Release v0.26.0 (#863)
  * k6runner: always log error code and string to user's logger
  * Update module golang.org/x/sync to v0.8.0 (#812)
  * Update module golang.org/x/net to v0.28.0 (#813)
  * Build(deps): Bump the prometheus-go group across 1 directory with 2 updates (#827)
  * Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.22.0 (#817)
  * Update module go.k6.io/k6 to v0.53.0 (#823)
  * Update dependency grafana/k6 to v0.53.0
  * Update module github.com/miekg/dns to v1.1.62
  * Update github.com/grafana/loki/pkg/push digest to 9315b3d
  * Update golang.org/x/exp digest to 9b4947d
  * Update github.com/securego/gosec/v2 digest to ab3f6c1
  * Update github.com/grafana/loki/pkg/push digest to 246a1df
  * Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.23.0
  * Build(deps): Bump github.com/prometheus/client_golang
  * Update module github.com/securego/gosec to v2
  * renovate: fix grafana-build-tools dependency regex
  * Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.23.0
  * drone: regenerate pipelines
  * Add with-browser Docker image (#829)
  * Update module github.com/prometheus/prometheus to v0.54.1 (#843)
  * Update module github.com/prometheus/common to v0.56.0 (#849)
  * Build(deps): Bump google.golang.org/grpc from 1.65.0 to 1.66.0
  * Build(deps): Bump github.com/prometheus/common
  * renovate: group prometheus-go updates
  * renovate: enable default managers
  * renovate: add `dependencies` label to PRs
  * dependabot: remove
  * Update renovatebot/github-action action to v40.2.7 (#859)
  * go: upgrade to 1.23 (#838)
  * Update module github.com/golangci/golangci-lint to v1.60.0 (#825)
  * Update alpine Docker tag to v3.20 (#858)
  * Update actions/checkout action to v4.1.7 (#857)
  * Dockerfile: pin hash of debian:stable-slim image (#828)
  * Update module github.com/mccutchen/go-httpbin/v2 to v2.14.1 (#860)
  * Update module github.com/securego/gosec to v2 (#861)
  * feat: Validate browser capability (#809)
  - feat: Validate browser capability (#809)
  * Validate browser capability
  k6 functionality is required in the agent by default, and is only NOT
  required in case both, scripted and browser checks, have been disabled
  for the probe from the API.
  * Run test in parallel
  - Update module github.com/securego/gosec to v2 (#861)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update module github.com/mccutchen/go-httpbin/v2 to v2.14.1 (#860)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Dockerfile: pin hash of debian:stable-slim image (#828)
  Renovate (and hopefully dependabot) understand this syntax and will
  raise PRs when this image is retagged. This should help us stay on top
  of package updates and CVEs.
  - Update actions/checkout action to v4.1.7 (#857)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update alpine Docker tag to v3.20 (#858)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update module github.com/golangci/golangci-lint to v1.60.0 (#825)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - go: upgrade to 1.23 (#838)
  - Update renovatebot/github-action action to v40.2.7 (#859)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - dependabot: remove
  - renovate: add `dependencies` label to PRs
  - renovate: enable default managers
  With dependabot gone, we will want GHA and Docker updates, for example.
  - renovate: group prometheus-go updates
  - Build(deps): Bump github.com/prometheus/common
  Bumps the prometheus-go group with 1 update: [github.com/prometheus/common](https://github.com/prometheus/common).
  Updates `github.com/prometheus/common` from 0.56.0 to 0.57.0
  - [Release notes](https://github.com/prometheus/common/releases)
  - [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
  - [Commits](https://github.com/prometheus/common/compare/v0.56.0...v0.57.0)
  ---
  updated-dependencies:
  - dependency-name: github.com/prometheus/common
    dependency-type: direct:production
    update-type: version-update:semver-minor
    dependency-group: prometheus-go
  ...
  - Build(deps): Bump google.golang.org/grpc from 1.65.0 to 1.66.0
  Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.65.0 to 1.66.0.
  - [Release notes](https://github.com/grpc/grpc-go/releases)
  - [Commits](https://github.com/grpc/grpc-go/compare/v1.65.0...v1.66.0)
  ---
  updated-dependencies:
  - dependency-name: google.golang.org/grpc
    dependency-type: direct:production
    update-type: version-update:semver-minor
  ...
  - Update module github.com/prometheus/common to v0.56.0 (#849)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update module github.com/prometheus/prometheus to v0.54.1 (#843)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Add with-browser Docker image (#829)
  * Add Drone stages to build *-with-browser images.
  Updates the Dockerfile into a multi-stage build. The new final stage is based off of Alpine to enable
  simple access to chromium-swiftshader as the choice of headless browser. The Drone CI config is
  updated with additional stages to tag and push alternate Docker images corresponding to this stage.
  - drone: regenerate pipelines
  `make drone` with token from https://drone.grafana.net/account
  - Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.23.0
  - renovate: fix grafana-build-tools dependency regex
  - Update module github.com/securego/gosec to v2
  - Build(deps): Bump github.com/prometheus/client_golang
  Bumps the prometheus-go group with 1 update in the / directory: [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang).
  Updates `github.com/prometheus/client_golang` from 1.20.0 to 1.20.2
  - [Release notes](https://github.com/prometheus/client_golang/releases)
  - [Changelog](https://github.com/prometheus/client_golang/blob/v1.20.2/CHANGELOG.md)
  - [Commits](https://github.com/prometheus/client_golang/compare/v1.20.0...v1.20.2)
  ---
  updated-dependencies:
  - dependency-name: github.com/prometheus/client_golang
    dependency-type: direct:production
    update-type: version-update:semver-patch
    dependency-group: prometheus-go
  ...
  - Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.23.0
  - Update github.com/grafana/loki/pkg/push digest to 246a1df
  - Update github.com/securego/gosec/v2 digest to ab3f6c1
  - Update golang.org/x/exp digest to 9b4947d
  - Update github.com/grafana/loki/pkg/push digest to 9315b3d
  - Update module github.com/miekg/dns to v1.1.62
  - Update dependency grafana/k6 to v0.53.0
  - Update module go.k6.io/k6 to v0.53.0 (#823)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.22.0 (#817)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Build(deps): Bump the prometheus-go group across 1 directory with 2 updates (#827)
  Bumps the prometheus-go group with 2 updates in the / directory: [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) and [github.com/prometheus/prometheus](https://github.com/prometheus/prometheus).
  Updates `github.com/prometheus/client_golang` from 1.19.1 to 1.20.0
  - [Release notes](https://github.com/prometheus/client_golang/releases)
  - [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
  - [Commits](https://github.com/prometheus/client_golang/compare/v1.19.1...v1.20.0)
  Updates `github.com/prometheus/prometheus` from 0.53.1 to 0.54.0
  - [Release notes](https://github.com/prometheus/prometheus/releases)
  - [Changelog](https://github.com/prometheus/prometheus/blob/main/CHANGELOG.md)
  - [Commits](https://github.com/prometheus/prometheus/compare/v0.53.1...v0.54.0)
  ---
  updated-dependencies:
  - dependency-name: github.com/prometheus/client_golang
    dependency-type: direct:production
    update-type: version-update:semver-minor
    dependency-group: prometheus-go
  - dependency-name: github.com/prometheus/prometheus
    dependency-type: direct:production
    update-type: version-update:semver-minor
    dependency-group: prometheus-go
  ...
  Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  - Update module golang.org/x/net to v0.28.0 (#813)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update module golang.org/x/sync to v0.8.0 (#812)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - k6runner: always log error code and string to user's logger


author: Grafana Labs <support@grafana.com> - 0.27.0
changelog:
  - Release v0.27.0
  * Update module github.com/prometheus/common to v0.58.0
  * Output unadorned version tag for releases (#862)
  * Update debian:stable-slim Docker digest to 64bc71f (#867)
  * Update module github.com/prometheus/client_golang to v1.20.3 (#869)
  * Update module github.com/prometheus/common to v0.59.1 (#870)
  * Update module golang.org/x/net to v0.29.0
  * Update alpine:3.20 Docker digest to beefdbd (#874)
  * Update github.com/grafana/loki/pkg/push digest to 0780456 (#876)
  * Update golang.org/x/exp digest to e7e105d (#877)
  * Update renovatebot/github-action action to v40.2.8
  * scripts: update go to 1.23
  * Update module google.golang.org/grpc to v1.66.1 (#884)
  * Update module google.golang.org/grpc to v1.66.2 (#885)
  * Move browser Docker build into separate Dockerfile (#886)
  * Stop publishing browser image to GCR (#888)
  * Update grafana-build-tools to 0.23.1 (#889)
  * Migrate base image from Debian to Alpine (#875)
  * k6runner: error if script timeout is not set
  * scraper: use check frequency as the context deadline for k6 checks
  * scraper/test: work around panic if all settings are nil in test
  * k6runner/http: override only logger in WithLogger
  * k6runner/http: retry requests
  * k6runner: promote log messages surfacing errors to warning level
  * Update renovatebot/github-action action to v40.2.10 (#891)
  * Update module github.com/prometheus/client_golang to v1.20.4 (#893)
  * scripts/go: update gosec to v2 proper
  * Update module github.com/mccutchen/go-httpbin/v2 to v2.15.0
  - Update module github.com/mccutchen/go-httpbin/v2 to v2.15.0
  - scripts/go: update gosec to v2 proper
  I got tired about renovate (rightfully) trying to "upgrade" gosec to v0,
  such as in
  https://github.com/grafana/synthetic-monitoring-agent/pull/881. The
  import package lacking `/v2` seems to be the reason why.
  - Update module github.com/prometheus/client_golang to v1.20.4 (#893)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update renovatebot/github-action action to v40.2.10 (#891)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - k6runner: promote log messages surfacing errors to warning level
  - k6runner/http: retry requests
  k6runner: fix typo
  Co-authored-by: ka3de <danijs12@hotmail.com>
  - k6runner/http: override only logger in WithLogger
  This prevents developers from spending 5 minutes wondering what is going
  on if they forget to add new fields here.
  - scraper/test: work around panic if all settings are nil in test
  - scraper: use check frequency as the context deadline for k6 checks
  k6 reads the timeout from the check definition
  - k6runner: error if script timeout is not set
  - Migrate base image from Debian to Alpine (#875)
  - Update grafana-build-tools to 0.23.1 (#889)
  It looks like updating the version from the .gbt.mk never worked and the
  TLA is not actually used.
  Add some logic to read the version information from that file.
  - Stop publishing browser image to GCR (#888)
  - Move browser Docker build into separate Dockerfile (#886)
  Set target when publishing Docker images for base agent vs browser.
  - Update module google.golang.org/grpc to v1.66.2 (#885)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update module google.golang.org/grpc to v1.66.1 (#884)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - scripts: update go to 1.23
  - Update renovatebot/github-action action to v40.2.8
  - Update golang.org/x/exp digest to e7e105d (#877)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update github.com/grafana/loki/pkg/push digest to 0780456 (#876)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update alpine:3.20 Docker digest to beefdbd (#874)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update module golang.org/x/net to v0.29.0
  - Update module github.com/prometheus/common to v0.59.1 (#870)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update module github.com/prometheus/client_golang to v1.20.3 (#869)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update debian:stable-slim Docker digest to 64bc71f (#867)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Output unadorned version tag for releases (#862)
  There's stuff out there with pretty weird ideas as to what constitutes a
  "correct" version number. We have been trying to solve this problem of
  "incorrect versioning" for over 30 years with no success. You have to
  wonder why that is.
  For the specific case of releases, in addition to using vX.Y.Z-0-sha,
  also output a vX.Y.Z tag. That allows stuff to be happy about seeing
  something that matches its expectations in terms of version numbers. We
  still need to output something else in the n != 0 case, because we need
  to be able to differentiate between intermediate builds. It's incorrect
  in semver terms, because those are prereleases that sort _before_
  vX.Y.Z, not after it. To do it correctly, we would have to transform
  vX.Y.Z to vX.Y.(Z+1) and append the prerelease bit to that. Since that
  would become confusing really fast (in the face of existing practice),
  let's not do that. As long as nothing tries to "upgrade" vX.Y.Z-n-sha to
  vX.Y.Z, we shoud be OK.
  - Update module github.com/prometheus/common to v0.58.0


author: Grafana Labs <support@grafana.com> - 0.28.0
changelog:
  - Release v0.28.0 (#899)
  * Feature: add retries to ICMP prober (#896)
  * Fix: allow probers to provide a duration value (#898)
  - Fix: allow probers to provide a duration value (#898)
  Some probers need to override the duration that is reported, mostly
  because we use probe_duration_seconds as the "latency" of the probe,
  which isn't exactly correct. `probe_duration_seconds` was meant to be
  used as the duration of the probe: how long did it take for this probe
  to run. Capture that value in the logs for debugging purposes, and use
  `probe_duration_seconds` as if it meant the time it takes the target to
  produce a response, including *some* setup, but not e.g. the overhead
  introduced by retries or the time it takes for external programs to spin
  up.
  This is OK to change since these are all internal packages.
  - Feature: add retries to ICMP prober (#896)
  Add a retry mechanism to the ICMP prober. If the packet count is not
  set, use 3 packets instead of 1, and require that at least 1 of them
  gets a response. This should cover most reasonable scenarios where
  retries are needed.
  Note that this will send out 3 packets regardless of whether 1 is
  already received, so this has an impact on the probe_duration_seconds
  metric (because the probe takes longer to run).
  If the time for an individual packet is important, use
  `sum(probe_icmp_duration_seconds)` instead. That metric is split by
  phases, and the `rtt` phase is the average round-trip-time for all the
  received packets. The other two phases, `setup` and `resolve` only run
  once.
  The resolve part of this also retries, in the event that the DNS server
  fails to produce a response and there's an indication that the request
  should be retried (e.g. if the response is "not found", that is not
  retried).


author: Grafana Labs <support@grafana.com> - 0.28.1
changelog:
  - chore(main): release 0.28.1
  - release: internal release (#918)
  - chore: Setup release-please (#887)
  * chore: Setup release-please
  * Remove unreleased changelog section
  So it's not kept in the changelog when release-please starts adding new
  versions.
  * Adjust release-please changelog sections
  Adop the agreed conservative sections initially including only those
  that make sense particularly for staff in k6 department, staff from
  other departments, and external people from Grafana (mainly applies to
  OSS repositories).
  * Configure goreleaser
  Modifies the goreleaser configuration in order to:
  - Not generate changelog.
  - Keep the existing release notes and just upload files.
  This is so we can keep the release notes previously generated by
  release-please.
  * Add release type
  This type only exists to allow forcing release-please PR generation when
  the commits from the previous release are all internal (none of them
  comply with the supported sections by the release-please configuration).
  The convention is to push a single empty commit with message:
  `release: Internal release`
  Which will indicate that that release only contains internal changes.
  - k6runner/test: ensure HTTPRunRequest unmarshals into flattened struct
  - k6runner: embed Script in HTTPRunRequest
  It turns out the inline json tag only works for embedded fields.
  - k6runner/test: add test to ensure NotAfter is not zero
  Also, t.Parallel on some test cases
  - k6runner: send NotAfter hint
  - renovate: update pinned alpine packages (#890)
  Update pinned alpine packages using a regex pattern for renovate.
  - Update module google.golang.org/grpc to v1.67.0 (#900)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update module github.com/securego/gosec/v2 to v2.21.4 (#895)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - examples/kubernetes: update k8s example (#723)
  - Update actions/checkout action to v4.2.0 (#906)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update golang.org/x/exp digest to 701f63a (#903)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update github.com/grafana/loki/pkg/push digest to 47b9075 (#902)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.28.2
changelog:
  - chore(main): release 0.28.2 (#936)
  - Update module github.com/prometheus/client_golang to v1.20.5 (#941)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  Co-authored-by: Marcelo Magallon <marcelo.magallon@grafana.com>
  - Rework build_and_publish.yaml to handle docker images (#951)
  - k6runner: rename error code "user" to "aborted" (#945)
  - Build docker image with browser in validate_pr.yaml, too (#947)
  - Sync .github contents (#944)
  - Fix TestHttpRunnerRun (#946)
  - Update actions/checkout action to v4.2.1
  - Update renovatebot/github-action action to v40.3.3
  - ci/renovate: allow renovate to update itself
  - ci/renovate-validate: specify renovate-version for validate workflow
  - Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.24.0 (#932)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fixup! renovate: add workflow to validate config
  - renovate: add workflow to validate config
  - Update module go.k6.io/k6 to v0.54.0 (#931)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update renovatebot/github-action action to v40.3.2 (#934)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: Drone jsonnet source files (#937)
  * fix: Drone jsonnet
  Modifications have been made incorrectly to the drone.yaml which is an
  autogenerated file from the jsonnet sources. Therefore update the Drone
  jsonnet source files.
  * Fix Drone docs broken link
  - fix(drone): Resign .drone.yml file (#935)
  - Update dependency chromium-swiftshader to v129
  - adhoc: add grace time to k6-backed checks (#908)
  - ci: Fix argo workflow name conflict (#930)
  With the new release process, a push to main happens pretty much at the
  same time as the tag generation. Notice that the same naming is used for
  both workflows. This naming has a suffix that is set executing the
  ./scripts/version script, which will retrieve the current version with
  the command:
    git describe --dirty --tags --long --always
  If this command executed for the push CI is run after the tag is
  created, it will generate a workflow name that conflicts with the one to
  be created for the tag, not allowing the tag CI/CD to create its
  workflow.
  The fix adds an extra suffix to the workflow name that identifies the
  workflow "mode", dev for pushes to main, release for tags.
  - Update actions/checkout action to v4.2.1
  - Update github.com/grafana/loki/pkg/push digest to c2f38e1 (#926)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update golang.org/x/exp digest to 225e2ab (#927)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update github.com/alecthomas/units digest to 0f3dac3 (#925)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update module google.golang.org/grpc to v1.67.1 (#916)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update module github.com/golangci/golangci-lint to v1.61.0
  - Update renovatebot/github-action action to v40.3.1
  - Update dependency grafana/k6 to v0.54.0
  - k6runner: split local and http runners to different files
  - Update module github.com/prometheus/common to v0.60.0 (#922)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Update actions/create-github-app-token digest to 5d869da (#921)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.29.0
changelog:
  - chore(main): release 0.29.0 (#954)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - update shared-workflows-actions (#959)
  - Update get-vault-secrets action (#958)
  - Chore: Update module github.com/prometheus/prometheus to v0.55.0 (#955)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - feat: k6runner: add check metadata and type to remote runner requests (#928)
  * k6runner: add check metadata and type to remote runner requests
  * prober/browser,multihttp,scripted: fill CheckInfo
  * make probers receive a model.Check instead of prober.Check
  This makes region information available to probes


author: Grafana Labs <support@grafana.com> - 0.30.0
changelog:
  - chore: release 0.30.0
  - chore: rename add err prefix to unsupportedCheckType error
  Makes the linter happy
  - chore: Update docker/setup-buildx-action action to v3.8.0
  - chore: Update grafana/shared-workflows digest to a4e8131 (#1121)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Set release version (#1119)
  Release-As: 0.30.0
  - Set next release to v0.30.0 (#1118)
  Release-As: 0.30.0
  - chore: Set release version (#1113)
  - chore: Update module google.golang.org/grpc to v1.69.0
  - chore: Update grafana/shared-workflows digest to 5b45f78
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v131.0.6778.139-r0-3.21.0
  - chore: Update grafana/shared-workflows digest to 4abacd5
  - chore: Update golang.org/x/exp digest to 4a55095
  - Fix: bump minor, not patch, for features
  From the wonderful world of "we have opinions but we don't document
  them" comes "we provide a sane default configuration but we don't
  document it."
  When 5c21ba3535a071c6166d45812a4d0e11fb1680fe introduced a configuration
  file for release please, it replaced a built-in default configuration,
  which does not consist of the default values but a particular set of
  hand-picked values, with one where default values suddenly apply. In
  other words, by having an explicit configuration, all the options for
  which a value is not supplied use the default value. By *not* having a
  configuration, a predefined one is used, which is not composed of all
  the default values for all the options.
  I do not have the time to figure out where this default configuration
  comes from, but I can see that it does one thing if an empty
  configuration is provided and a different thing if no configuration is
  provided. At first glance, it seems to be the CLI flags but I do not
  know.
  Part of that sane default configuration is that when a feature is added,
  the minor version should be bumped, even if there hasn't been a major
  release yet. The default value, bump patch unless there's has been a
  major release already, is indeed a surprising bad default.
  - chore: Format changelog (#1109)
  * Add header
  * Reorder changelog sections
  - chore: Fix changelog (#1107)
  Every version posterior to v0.29.4 was being misplaced below that one.
  - Feat: remove drone setup
  By now everything should be running using GitHub actions, so the only
  thing that is changing is publishing images to GCR, but we have already
  switched to using GAR images in Argo Workflows.
  - Fix: pass version to argo workflow (#1105)
  We are passing the docker "tag", not just the version, and in this case
  the tag includes information about the flavor of the image, which does
  not match the version embedded in the binary.
  As a footnote, yes, I know the tag is the full thing, not just the bits
  after `:`, but that's how people refer to this. *shrug*
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v131.0.6778.108-r0-3.21.0
  - chore: Update docker/build-push-action action to v6.10.0
  - chore: Update module golang.org/x/net to v0.32.0
  - chore: Update alpine Docker tag to v3.21.0
  - chore: Update grafana/shared-workflows digest to 5a093ed
  - chore: Update actions/setup-go action to v5.2.0
  - chore: Update module google.golang.org/grpc to v1.68.1
  - chore: Update actions/cache action to v4.2.0
  - chore: Update actions/checkout action to v4.2.2


author: Grafana Labs <support@grafana.com> - 0.30.1
changelog:
  - chore: release 0.30.1 (#1126)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update module golang.org/x/net to v0.33.0 [SECURITY] (#1129)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update dependency go to v1.23.4 (#1095)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.34.0 (#1102)
  - remove execinquery from golangci-lint configuration, it's been
    disabled, including it in the configuration produces an error.
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.30.2
changelog:
  - chore: release 0.30.2 (#1133)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to bec45d4 (#1130)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module google.golang.org/grpc to v1.69.2 (#1128)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: Bump golang.org/x/crypto to v0.32.0 (#1131)


author: Grafana Labs <support@grafana.com> - 0.31.0
changelog:
  - chore: release 0.31.0
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.36.0 (#1140)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: Publish images to docker hub (#1145)
  When we switched over to GitHub actions, we inadvertently dropped
  publishing images to docker hub. Reenable that.
  Fixes: #1132
  - feat: Add policy bot configuration (#1144)
  - chore: Update module golang.org/x/net to v0.33.0 [SECURITY] (#1142)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: increase Scripted and Browser max timeout to 90s (#1136)
  * fix: Increase max timeout to 90s
  * chore: Linter
  - chore: Update docker/build-push-action action to v6.11.0 (#1139)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module google.golang.org/grpc to v1.69.4 (#1138)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update actions/create-github-app-token digest to c1a2851 (#1135)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update actions/upload-artifact digest to 65c4c4a (#1127)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.32.0
changelog:
  - chore: release 0.32.0 (#1147)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update docker/build-push-action action to v6.13.0 (#1158)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update actions/setup-go action to v5.3.0 (#1157)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update actions/checkout action to v4.2.2 (#1156)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: Update grafana-build-tools to v0.37.0 (#1162)
  This pulls in Go 1.23.5, which contains a couple of security fixes, one
  of them is relevant for our case.
  The change is here: https://go-review.googlesource.com/c/go/+/643104
  That change silently updates the test certificate used by httptest, and
  that's being picked up by TestValidateMetrics because certificate's
  "subjectalternative" field is changing. Regenerate the testdata.
  - feat: k6runner: improve error handling for k6 output
  - feat: fetch precompiled xk6 extension from `grafana/xk6-sm` (#966)
  * Dockerfiles: ADD sm-k6 from grafana/xk6-sm releases
  * renovate: upgrade grafana/xk6-sm releases URLs
  * make: add target to pull sm-k6 from grafana/xk6-sm repo
  * renovate: update xk6-sm version in makefile
  * scripts/package: source sm-k6 binary from current path
  * xk6: remove source tree and make targets
  * ci: call `make sm-k6` for workflows that need a k6 binary
  * prober/multihttp: use k6 binary from dest repo for `make sm-k6`
  - fix: increase Scripted and Browser max timeout to 120s (#1136) (#1160)
  - chore: Update module github.com/KimMachineGun/automemlimit to v0.7.0 (#1141)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module github.com/Antonboom/nilnil to v1.0.1 (#1149)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v131.0.6778.264-r0-3.21.2
  - chore: Update alpine Docker tag to v3.21.2


author: Grafana Labs <support@grafana.com> - 0.33.0
changelog:
  - chore: release 0.33.0 (#1168)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - fix: Use the recommended 'persist-credentials: false' setting (#1143)
  The GitHub checkout action has this `persist-credentials` setting.
  It's described like this:
      # Whether to configure the token or SSH key with the local git config
      # Default: true
      persist-credentials: ''
  Sounds harmless, right? It almosts makes it sound as if it's going to
  modify `~/.gitconfig`.
  This default of `true` causes credentials to end up in the working
  copy's `.git/config`, which interacts badly with other stuff happening
  in GHA.
  Set it to false just in case.
  - chore: Update module github.com/spf13/afero to v1.12.0 (#1172)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.37.1 (#1171)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - Chore: Update module github.com/prometheus/prometheus to v0.55.1 (#980)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  Co-authored-by: Marcelo Magallon <marcelo.magallon@grafana.com>
  - chore: Update module github.com/miekg/dns to v1.1.63 (#1163)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module github.com/prometheus-community/pro-bing to v0.6.0 (#1170)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - feat: Replace go-ping with pro-bing and enable DF (#1167)
  Replaces the deprecated go-ping library with pro-bing and adds support
  for the Don't Fragment (DF) bit in the ICMP header for ping checks.
  - fix: Tag images with the bare version. (#1166)


author: Grafana Labs <support@grafana.com> - 0.34.0
changelog:
  - chore: release 0.34.0 (#1181)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update docker/setup-buildx-action action to v3.9.0 (#1188)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - feat: update proto to include secret url and location (#1192)
  - chore: Update module golang.org/x/net to v0.35.0 (#1195)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.38.1 (#1189)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - feat: k6runner: default K6_BROWSER_LOG to info
  - fix: increase Scripted and Browser max timeout to 180s (#1173)
  fix: increase Scripted and Browser max timeout to 180s
  - feat: Run agent + chromium as non-root user (#1187)
  Runs the base and browser-enabled agent images as a non-root user,
  with minimal file capabilities and permissions.
  - chore: remove xk6 leftovers
  This should have been done as part of
  https://github.com/grafana/synthetic-monitoring-agent/pull/966, but
  somehow slipped through the cracks.
  - chore: Revert "Run agent + chromium as non-root user (#965)" (#1186)
  This reverts commit 1758a556276ef372c8b5e45526eb6ecada7a36f1.
  - Run agent + chromium as non-root user (#965)
  Runs the base and browser-enabled agent image as a non-root user,
  with minimal file capabilities and permissions.
  - chore: Update module github.com/golangci/golangci-lint to v1.63.4
  - fix: k6runner/local: disable k6 api server
  k6 includes a REST API, enabled by default on localhost, that allows
  querying it about the state of the test, among other things:
  https://grafana.com/docs/k6/latest/misc/k6-rest-api/
  In SM context, we do not really care about this, and having this enabled
  will cause k6 to emit a warning if there is another k6 check running, as
  the second one will fail to bind the same address (`localhost:6565`).
  This commit disables the REST API.
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.16.0 (#1164)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update prometheus-go (#1044)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: update logo and screenshot (#1176)
  Co-authored-by: Dougal Matthews <dougal@dougalmatthews.com>
  - fix: Point CODEOWNERS to synthetic-monitoring-be (#1180)
  - chore: Update module golang.org/x/sync to v0.11.0 (#1183)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module github.com/prometheus-community/pro-bing to v0.6.1 (#1182)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module google.golang.org/grpc to v1.70.0 (#1174)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update actions/create-github-app-token digest to 67e27a7 (#1177)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: tag docker images with the bare version (#1178)


author: Grafana Labs <support@grafana.com> - 0.34.1
changelog:
  - chore: release 0.34.1 (#1198)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to 7f3871d
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v132.0.6834.83-r0-3.21.3
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.40.0
  - chore: golangcilint: disable `exportloopref` linter
  This linter is disabled, declaring it causes golangci-lint to emit an
  error and exit with status 7
  ```
  level=error msg="[linters_context] exportloopref: This linter is fully
  inactivated: it will not produce any reports."
  ```
  - chore: Update actions/create-github-app-token digest to 0d56448
  - chore: Update alpine Docker tag to v3.21.3
  - chore: Update module github.com/golangci/golangci-lint to v1.64.5 (#1201)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.39.1 (#1199)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module github.com/golangci/golangci-lint to v1.64.4
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.39.0
  - chore: Update grafana/shared-workflows digest to 56d0989
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v132 (#1175)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.34.2
changelog:
  - chore: release 0.34.2 (#1210)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update actions/upload-artifact digest to 4cec3d8 (#1217)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update prometheus-go (#1208)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update docker/build-push-action action to v6.14.0
  - chore: Update actions/cache action to v4.2.1
  - chore: Update module github.com/dmarkham/enumer to v1.5.11
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.40.1
  - chore: golangci: remove properties rejected by schema (#1209)


author: Grafana Labs <support@grafana.com> - 0.34.3
changelog:
  - chore: release 0.34.3 (#1221)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update actions/download-artifact digest to cc20338 (#1223)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update actions/cache action to v4.2.2 (#1227)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v133
  - chore: Update grafana/shared-workflows digest to a7bc536


author: Grafana Labs <support@grafana.com> - 0.34.4
changelog:
  - chore: release 0.34.4 (#1231)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update googleapis/release-please-action digest to a02a34c (#1235)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - refactor: use time durations in checks_extra for easier readability (#1215)
  * refactor: use time durations in checks_extra for easier readability
  * refactor: unexport constants as they are not used externally
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v133.0.6943.141-r0-3.21.3 (#1236)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: remove unused renovate-app.json
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v0.40.3
  - chore: Update dependency go to v1.24.1 (#1233)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module github.com/golangci/golangci-lint to v1.64.6 (#1230)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module github.com/KimMachineGun/automemlimit to v0.7.1 (#1218)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update actions/create-github-app-token digest to 21cfef2 (#1232)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update docker/build-push-action action to v6.15.0


author: Grafana Labs <support@grafana.com> - 0.35.0
changelog:
  - chore: release 0.35.0 (#1247)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - fix: Use a global tenant ID when retrieving secrets information (#1260)
  We have several places that need a global tenant ID. We usually
  communicate this by using models.GlobalTenantID instead of just int64,
  but the GetTenant function takes a structure that doesn't make a
  distinction, because it would require updating the protocol buffer
  definition in a way that would be hard to handle.
  Fix the various locations that are using a local ID instead of a global
  ID.
  - chore: examples/kubernetes: default to a hardened `securityContext`
  - chore: Update module google.golang.org/grpc to v1.71.0
  - chore: Update module github.com/securego/gosec/v2 to v2.22.2
  - chore: Update dependency grafana/xk6-sm to v0.2.0 (#1161)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - feat: pass secret store from API (#1179)
  * feat: pass secret store from API
  * fix: store the token in a file
  * fix: use the URLEncoding
  * fix: revert accidental change
  * fix: use a colon for seperation
  This is what the pending upstream change uses.
  * chore: Update the gsm extension usage to pass a config file
  * feat: use the -gsm prefixed bianry when secrets are enabled
  - feat: Add the sm-k6-gsm binary for secrets (#1234)
  * feat: Add the sm-k6-gsm binary for secrets
  Depends on https://github.com/grafana/xk6-sm/pull/74
  * fix: Add the gsm binary to packages also
  - fix: Update version reporting logic (#1244)
  Go 1.24 added a way to obtain the version (extract from the current Git
  repo) from the running program. Switch to that instead of passing
  linker flags at build time.
  Update ./scripts/version to report the same string.
  - chore: Update grafana/shared-workflows digest to 68b38bb
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.17.1 (#1240)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module golang.org/x/net to v0.37.0 (#1245)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.35.1
changelog:
  - chore: release 0.35.1 (#1266)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - fix: Pass Tenant ID to adhoc checks (#1267)
  It seems ad hoc checks have never used the tenant ID. The secrets
  handling code needs this information in order to be able to retrieve
  secrets.
  - fix: Report errors when retrieving secrets (#1265)
  Add some logging to GetSecretCredentials in order to make it easier to
  figure out if there's an issue retrieving secrets.


author: Grafana Labs <support@grafana.com> - 0.35.2
changelog:
  - chore: release 0.35.2 (#1270)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update actions/upload-artifact digest to ea165f8
  - chore(deps): bump github.com/mccutchen/go-httpbin/v2
  Bumps [github.com/mccutchen/go-httpbin/v2](https://github.com/mccutchen/go-httpbin) from 2.17.1 to 2.18.0.
  - [Release notes](https://github.com/mccutchen/go-httpbin/releases)
  - [Commits](https://github.com/mccutchen/go-httpbin/compare/v2.17.1...v2.18.0)
  ---
  updated-dependencies:
  - dependency-name: github.com/mccutchen/go-httpbin/v2
    dependency-type: direct:production
  ...


author: Grafana Labs <support@grafana.com> - 0.36.0
changelog:
  - chore: release 0.36.0 (#1272)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: ci: remove unused `Renovate reviewer` workflow
  - chore: Update actions/create-github-app-token digest to d72941d
  - fix: Make test reporting style configurable (#1261)
  This is not changing anything, simply allowing for the possibility to
  configure the test reporting style. This is helpful if you are making a
  change where many tests start to fail at once.
  - fix: Add a safety net in adhoc's defaultRunnerFactory (#1268)
  This is trying to test for possible mistakes in setting up ad-hoc checks
  in the future.
  - fix: Update Go version retrieval logic (#1262)
  `go list -m -f '{{.GoVersion}}'` works for standalone modules, but it
  doesn't work in a Go workspace. In the later case, the command reports
  the Go version of _all_ modules in the workspace.
  `go mod edit -json` on the other hand only reports the versin in the
  current module. Having to depend on jq like this is not ideal...
  - chore: runner/test: initialize metrics with a noop registry
  - feat: report metrics about requests made to remote runners


author: Grafana Labs <support@grafana.com> - 0.37.0
changelog:
  - chore: release 0.37.0 (#1283)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update module kernel.org/pub/linux/libs/security/libcap/cap to v1.2.75 (#1242)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update dependency go to v1.24.2 (#1285)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module github.com/miekg/dns to v1.1.65 (#1287)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module google.golang.org/grpc to v1.71.1 (#1288)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update actions/setup-go action to v5.4.0 (#1289)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.18.1 (#1286)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: Synchronize makefiles with more recent versions (#1214)
  We have multiple versions of these files floating around. Synchronize
  the versions in this repo with the ones elsewhere, trying to avoid too
  many changes at once.
  This does remove the support for "bra", which was brought over from the
  grafana repo, and as far as I know, nobody is actually using here.
  Followup-to: 1982d52
  - chore: Update actions/cache action to v4.2.3 (#1275)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module gotest.tools/gotestsum to v1.12.1 (#1254)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update actions/download-artifact digest to 95815c3 (#1256)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: Subtract the timeout from the token expiry, to ensure it will last for the duration (#1282)
  - fix: Remove second k6 binary for gsm (#1274)
  Now that we have a more recent k6 version in xk6-sm[1] we can consolidate. This
  change requires updating xk6-sm to the latest release.
  [1]: https://github.com/grafana/xk6-sm/pull/106
  - fix: Update policybot config
  - fix: Change how the secret store is handled (#1281)
  * fix: move handling of secrets store around
  In the current version of the code, the secret store is populated when
  the prober is created. The problem with that is that the prober is
  created *once* in the lifetime of the check, but the secret store needs
  to be updated more or less on a continuous basis (because it contains
  the token used to access the secrets).
  I'm sure there's a better way to handle this, but it took me a while to
  figure out the issue.
  Co-authored-by: Dougal Matthews <dougal@grafana.com>
  - feat: bust the tenant cache on the token expiry (#1279)
  * feat: bust the cache on token expiry
  * fix: rename ExpirationDate to Expiry
  - chore: examples: mount an emptydir volume in /tmp
  For some types of checks, such as HTTP checks with a custom certificate,
  the agent needs to be able to write the certificate to a temporary path.
  The `emptyDir` volume mounted on `/tmp` makes this possible while
  keeping `readOnlyRootFilesystem: true`.


author: Grafana Labs <support@grafana.com> - 0.37.1
changelog:
  - chore: release 0.37.1 (#1297)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update module golang.org/x/net to v0.38.0 [SECURITY] (#1296)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.37.2
changelog:
  - chore: release 0.37.2 (#1299)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/prometheus-community/pro-bing to v0.7.0 (#1290)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: Resolve issues reported by zizmor, part 2 (#1303)
  - fix: Resolve issues reported by zizmor (#1302)
  - chore: Update dependency grafana/xk6-sm to v0.5.3 (#1301)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module github.com/rs/zerolog to v1.34.0 (#1291)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module kernel.org/pub/linux/libs/security/libcap/cap to v1.2.76 (#1298)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.37.3
changelog:
  - chore: release 0.37.3 (#1308)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - fix: Adjust workflow permissions (#1307)


author: Grafana Labs <support@grafana.com> - 0.37.4
changelog:
  - chore: release 0.37.4 (#1312)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: release 0.37.4 (#1311)
  Release-As: 0.37.4
  - give id-token write permission to deploy job (#1309)


author: Grafana Labs <support@grafana.com> - 0.37.5
changelog:
  - chore: release 0.37.5 (#1313)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/spf13/afero to v1.14.0


author: Grafana Labs <support@grafana.com> - 0.37.6
changelog:
  - chore: release 0.37.6 (#1317)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm to v0.5.5 (#1314)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module google.golang.org/grpc to v1.72.1 (#1306)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: deployment: add commented-out mountpoint for `/home/sm` (browser)
  The `-browser` images need to be able to write temporary data to the
  home directory.
  - fix: revert the tenant cache to 15 minutes (#1316)
  This is the previous timeout value which was reduced in 5a78dae0a786a8d9ceb5c6d03cb8e8c667c882a5
  This is no longer needed because the token expiry has been increased.
  - chore: Update push-to-gar-docker action to v0.4.1 (#1315)
  Updates push-to-gar-docker to v0.4.1 to make it able to use Direct Workload Identity Federation, so no service account should be needed for this repository.
  - chore: upgrade blackbox exporter (#1255)
  * chore: upgrade blackbox exporter
  The logging framework changed so we need to introduce an adapter.
  Fixes #1238
  * chore: update the scraper test data
  * chore: remove unnecessary change


author: Grafana Labs <support@grafana.com> - 0.37.7
changelog:
  - chore: release 0.37.7 (#1324)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v136
  - chore: Update actions/create-github-app-token action to v2
  - chore: Update module google.golang.org/grpc to v1.73.0
  - chore: Update alpine Docker tag to v3.22.0
  - chore: Update actions/setup-go action to v5.5.0
  - chore: Update module github.com/miekg/dns to v1.1.66
  - chore: Update module golang.org/x/net to v0.41.0
  - chore: Update dependency go to v1.24.4
  - chore: Update docker/build-push-action action to v6.18.0
  - chore: Update docker/setup-buildx-action action to v3.10.0
  - chore: Update module github.com/KimMachineGun/automemlimit to v0.7.2
  - chore: Update actions/download-artifact digest to d3f86a1
  - chore: Register Component into Software Catalog and set up TechDocs publishing (#1319)
  Co-authored-by: enghub-ops-integration[bot] <141459326+enghub-ops-integration[bot]@users.noreply.github.com>
  Co-authored-by: Erik Sommer <erik.sommer@grafana.com>


author: Grafana Labs <support@grafana.com> - 0.38.0
changelog:
  - chore: release 0.38.0 (#1338)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - feat: Add enableProtocolSecrets and supportsProtocolSecrets to protobuf (#1344)
  This is the first step towards supporting secrets in protocol checks
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:137.0.7151.68-r0-3.22.0 Docker digest to 5f6a1fc
  - chore: Update module github.com/KimMachineGun/automemlimit to v0.7.3
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.18.3
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1
  - chore: ci: pin exact version of actions/github-create-app-token
  The actual version is already SHA pinned, but the comment will cause
  renovate to create PRs saying "Update to vX.Y.Z" instead of
  "Update to abcdef123456".
  So this is a no-op aesthetic change.
  - chore: Update grafana/shared-workflows digest to cb40def (#1337)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.18.2 (#1339)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm to v0.5.6 (#1340)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v137 (#1334)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.38.1
changelog:
  - chore: release 0.38.1 (#1351)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v137.0.7151.103-r0-edge
  - chore: k6runner: replace exp/rand with math/rand/v2 (#1325)
  Fixes a linting issue surfaced by
  https://github.com/grafana/synthetic-monitoring-agent/pull/1190
  - chore: Update module github.com/golang/snappy to v1 (#1249)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:137.0.7151.68-r0-3.22.0 Docker digest to d1b6268 (#1347)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update docker/setup-buildx-action action to v3.11.1 (#1348)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to d24aec3 (#1343)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.38.2
changelog:
  - chore: release 0.38.2
  - chore: Update golang.org/x/exp digest to b7579e2 (#1190)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: Don't stop publisher if we hit Loki's stream limit (#1356)
  Right now we are stopping the publisher if we hit Loki's stream limit,
  as we consider that to be a fatal error. The actual observed behavior is
  that Loki will accept *some* data and it will reject some. Even more
  confusing, it seems like the stream was rejected (presumably the one
  that is going over the limit), might be accepted at a later point in
  time.
  After this change the behavior is that whatever data was rejected is
  dropped, and the rest of the publisher keeps working as if nothing had
  happened. We will have to observe the actual behavior to decide if this
  makes sense or not.
  This is related to #1355.


author: Grafana Labs <support@grafana.com> - 0.38.3
changelog:
  - chore: release 0.38.3
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v138


author: Grafana Labs <support@grafana.com> - 0.38.4
changelog:
  - chore: release 0.38.4 (#1365)
  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.8.0 (#1367)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to 8717df3 (#1368)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update prometheus-go
  - chore: Update dependency grafana/xk6-sm to v0.5.7
  - chore: Update grafana/shared-workflows digest to 00646b3
  - fix: Redact password field in RemoteInfo type (#1322)
  When logging using zerolog or when marshaling to JSON, we don't really
  have a need to log the actual password and instead we have a requirement
  not to do so.
  Add that behavior by implementing a couple of interfaces, one for
  zerolog and one for the JSON marshaller (stdlib).


author: Grafana Labs <support@grafana.com> - 0.38.5
changelog:
  - chore: release 0.38.5 (#1374)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to e9a3e88
  - chore: Update golang.org/x/exp digest to 6ae5c78
  - chore: Update grafana/shared-workflows digest to 388e3e9
  - chore: Update dependency grafana/xk6-sm to v0.5.8
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:138.0.7204.93-r0-3.22.0 Docker digest to 342d53b
  - fix: remove hardcoded blacklistIPs and blockHostnames for multihttp checks
  `--blackist-ips` is already supplied as a CLI flag. Having it specified
  here causes a conflict where this value will only take effect if
  `--blacklist-ips` is empty, which is non-obvious.
  `blockHostnames` follows the same pattern. On top of that, it's not
  helping much: The default blocklist can be easily circumvented by not
  fully qualifying a k8s hostname with `.cluster.local`, which will work
  in most kubernetes environments due to the very common `ndots 5`
  setting. Having this option here is more likely to create a sense of
  false security than anything else.
  Fixes https://github.com/grafana/synthetic-monitoring-agent/issues/735
  - chore: renovate: replace fileMatch with managerFilePatterns
  - chore: Update module github.com/miekg/dns to v1.1.67
  - chore: Update module golang.org/x/sync to v0.16.0
  - chore: Update dependency grafana/xk6-sm to v0.5.8
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.9.0
  - fix: Replace zerolog.Nop() with conditional logger
  We have a few places where we use zerolog.Nop() in tests, which is fine
  if we want to cut down the noise, but it's very difficult to use if
  there are failures.
  Change the direct calls to zerolog.Nop() to testhelper.Logger(t), which
  will create a zerolog instance configured to filter out everything below
  the error level. If the user passes the verbose flag to `go test`, when
  it switches to using debug level.
  Also add another helper, K6Path(*testing.T), which builds the path to
  the k6 binary used in tests, and fails if that doesn't exist, to prevent
  harder to debug errors down the test.
  - fix: Update CODEOWNERS file to enable release-please workflow


author: Grafana Labs <support@grafana.com> - 0.39.0
changelog:
  - chore: release 0.39.0
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v138.0.7204.157-r0-3.22.1
  - chore: Update module google.golang.org/grpc to v1.74.2
  - chore: Update dependency grafana/xk6-sm to v0.5.11
  - fix: runner: report script errors in the `RunResponse` object
  The contract for the Runner is such that errors encountered while
  running the script, as opposed to those encountered trying to start k6,
  should be reported as part of the `RunResponse` object, using the
  more-or-less human-readable `Error` and `ErrorCode` fields. If the `Run`
  method returns an error, this is understood as a failure trying to run
  k6 whatsoever, and no logs are reported to loki.
  This commit fixes a bug where the result of `errorFromLogs`, which by
  definition is always going to be an error with the script, was returned
  as an error trying to start k6 instead of in the `Error` and `ErrorCode`
  fields.
  - chore: Update dependency go to v1.24.5 (#1373)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update golang.org/x/exp digest to 645b1fa (#1395)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: k6: do not log k6 script contents before execution
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v138.0.7204.93-r0-3.22.1
  - feat: Implement usage report client (#1366)
  Implement usage report client that can send anonymous reports to https://stats.grafana.org/.
  Usage Reports are collected by default and can be disabled with `--disable-usage-stats-report`  flag.
  See https://github.com/grafana/usage-stats/ and https://github.com/grafana/usage-stats-handler/ for backend details about the stats endpoint.
  See the associated PR in usage stats(https://github.com/grafana/usage-stats/pull/55) for the structure of the BigQuery table that's created to store the collected usage reports. 
  Updates `checks.go` to submit a report whenever a probe is registered or updated.
  The following metadata is collected:
  - Version 
  - Arch
  - OS
  - Features
  - Public bool
  - TenantID
  - ProbeID
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.10.0
  - chore: Update dependency grafana/xk6-sm to v0.5.10
  - chore: Update module github.com/KimMachineGun/automemlimit to v0.7.4


author: Grafana Labs <support@grafana.com> - 0.39.1
changelog:
  - chore: release 0.39.1 (#1401)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to 8c3f72c (#1396)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update alpine Docker tag to v3.22.1
  - fix: include LICENSE tarballs, version-os-arch in name
  - fix: build a .tar.gz file with bare binaries and attach it to releases
  Fixes https://github.com/grafana/synthetic-monitoring-agent/issues/1362
  - chore: ci: do not push browser image to GAR


author: Grafana Labs <support@grafana.com> - 0.39.2
changelog:
  - chore: release 0.39.2 (#1404)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - fix: k6runner/http: increase number of attempts recorded in metric
  I've been writing code for 16 years at the time of this commit point but
  apparently I'm still capable of forgetting to increment a counter in a
  loop.
  - chore: Update dependency grafana/xk6-sm to v0.5.12
  - chore: Update grafana/shared-workflows digest to fd77b75


author: Grafana Labs <support@grafana.com> - 0.40.0
changelog:
  - chore: release 0.40.0 (#1410)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update actions/checkout digest to 08eba0b
  - feat: add secret manager boolean to HTTP checks (#1415)
  - chore: Update grafana/shared-workflows digest to 53e1f52 (#1409)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update dependency go to v1.24.6 (#1414)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update actions/create-github-app-token action to v2.1.0 (#1419)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update actions/cache action to v4.2.4
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:138.0.7204.157-r0-3.22.1 Docker digest to 340d57b
  - chore: Update module golang.org/x/net to v0.43.0
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.12.1
  - chore: Update actions/download-artifact action to v5
  - chore: Update module github.com/miekg/dns to v1.1.68
  - fix: error out early if grpc address doesn't have a port
  For nearly all users, the port needs to be specified and needs to be
  `443`. If skipped, GRPC will fall back to a different port that may not
  respond to SYN TCP segments. As a result, the agent process will just
  hang without logging anything.
  This change causes the agent to error out if the port is omitted, which
  allegedly should provide earlier feedback about this and other common
  mistakes.
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.12.0


author: Grafana Labs <support@grafana.com> - 0.40.1
changelog:
  - chore: release 0.40.1
  - chore: Update actions/checkout action to v5 (#1424)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm to v0.6.0
  - fix: Update the metrics labels limit const (#1428)
  Update the const `MaxMetricLabels` to 22 from 20.


author: Grafana Labs <support@grafana.com> - 0.41.0
changelog:
  - chore: release 0.41.0
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.16.0 (#1451)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.15.0
  - chore: Update grafana/shared-workflows digest to 8bb65cb
  - chore: Update golang.org/x/exp digest to 8b4c13b
  - chore: Update module github.com/stretchr/testify to v1.11.0 (#1449)
  Co-authored-by: grafanarenovatebot[bot] <146220760+grafanarenovatebot[bot]@users.noreply.github.com>
  - fix: Remove the requirement for a prefix on secret strings (#1446)
  Rather than requiring strings start with either plaintext: or gsm: we
  are going to use a string interpolation like we use in multihttp checks.
  - feat: runner/local: run k6 with `--throw` to raise common errors as exceptions
  - chore: Update googleapis/release-please-action action to v4.3.0
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:139.0.7258.66-r0-3.22.1 Docker digest to 3e6e533
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v139
  - chore: Update module google.golang.org/grpc to v1.75.0
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.14.0
  - chore: Update actions/create-github-app-token action to v2.1.1
  - fix: Workaround issues in build-push-to-dockerhub
  build-push-to-dockerhub is making assumptions regarding the environmnet
  where it's running.
  - it expects /etc/buildkitd.toml to exist; this is provided by the
    runner's image, so mount it into the container
  - there's something else it's assuming, but I cannot figure out what, so
    disable using cache-from/cache-to with type=gha
  - chore: Update dependency grafana/xk6-sm to v0.6.1


author: Grafana Labs <support@grafana.com> - 0.41.1
changelog:
  - chore: release 0.41.1
  - fix: properly classify codes.Unavailable errors as TransientError (#1457)
  - Add logging to handleError to debug error classification
  - Classify codes.Unavailable (EOF, connection reset, keepalive timeout) as TransientError
  - chore: Update module github.com/stretchr/testify to v1.11.1
  - fix: Migrate golangci-lint to v2
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.16.1


author: Grafana Labs <support@grafana.com> - 0.41.2
changelog:
  - chore: release 0.41.2
  - fix: Set up DinD in build and publish workflow
  We are seeing this error:
      #18 ERROR: failed to parse error response 400: <h2>Our services
      aren't available right now</h2><p>We're working to restore all
      services as soon as possible. Please check back
      soon.</p>01nevaAAAAABlb/82nD9PSbLV+3TWGtueU1RCRURHRTAxMDYARWRnZQ==:
      invalid character '<' looking for beginning of value
  This is an obscure way of saying that talking to Docker is not working.
  Nobody seems to know why *this* error, but we know that adding the DinD
  service helps with this. Caching type=gha still doesn't work, so remove
  that.


author: Grafana Labs <support@grafana.com> - 0.41.3
changelog:
  - chore: release 0.41.3 (#1471)
  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.17.0
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v139.0.7258.154-r0-3.22.1
  - chore: Update dependency grafana/xk6-sm to v0.6.2
  - fix: Make tests less flaky
  There are two separate issues here.
  The first issue manifests itself as a data race in the logger. This is
  known documented behavior of the test logger. The datarace is happening
  happening because some goroutines are still running after the test is
  done, and they try to log stuff. That code path *intentionally* ends up
  in a datarace, so that `go test -race` can flag it. The message is not
  the most obvious one, though.
  This is addressed by throwing a waitgroup into the mix. The waitgroup is
  not really going to do anything in production, but I don't think it's
  going to hurt either. I was tempted to add a noop waitgroup
  implementation, but decided against it because that requires introducing
  an interface.
  The second issue is that a couple of tests are trying to assert a
  certain state that is the result of running goroutines near the end of
  the test. Basically the issue is that you cannot expect goroutines to
  run in a particular order or within some specific time frame. Without
  some synchronization, it's simply not possible. And the code path that
  is involved in this is intentionally avoiding synchronization.
  This is addressed by simply retrying the assertion and sleeping a
  little.
  - fix: extract testSecretStore helpers to testhelper package (#1463)
  Add NoopSecretStore and TestSecretStore to internal/testhelper package


author: Grafana Labs <support@grafana.com> - 0.42.0
changelog:
  - chore: release 0.42.0 (#1481)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to ea90509 (#1492)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to ad19c58 (#1491)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module golang.org/x/sync to v0.17.0 (#1490)
  | datasource | package           | from    | to      |
  | ---------- | ----------------- | ------- | ------- |
  | go         | golang.org/x/sync | v0.16.0 | v0.17.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update docker:dind Docker digest to 8316442
  - feat: lay groundwork for protocol secrets and string interpolation system (#1468)
  * feat: add core secret infrastructure and string interpolation system
  * refactor: update interpolation to use only one pass
  - chore: k6runner/env: set `K6_AUTO_EXTENSION_RESOLUTION=false` by default
  - chore: k6runner/env: modularize set-env-if-empty code
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.18.1
  | datasource | package                             | from    | to     |
  | ---------- | ----------------------------------- | ------- | ------ |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.17.0 | 1.18.1 |
  - chore: Update dependency grafana/xk6-sm to v0.6.3
  - chore: Update grafana/shared-workflows digest to bee55b8
  - chore: switch to platform-managed renovate
  - chore: Update docker:dind Docker digest to a56b3bd


author: Grafana Labs <support@grafana.com> - 0.43.0
changelog:
  - chore: release 0.43.0 (#1494)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - fix: make log `duration_seconds` the same as the namesake metric
  The agent defers into implementation-specific probers to report what is
  the "latency" of whatever they're reporting. If they don't report one,
  then the agent falls back to the wall time it took to run the prober.
  Prior to this commit, that wall time was used unconditionally for
  logging, but not for the metric, creating inconsistencies. This commit
  changes that, so the reported value if used for both things if
  available, and the wall time is also used for both things if not.
  Additionally, the wall time is included as a separate attribute in the
  logs, for completeness sake.
  Closes https://github.com/grafana/synthetic-monitoring-agent/issues/1508
  - chore: Update dependency grafana/xk6-sm to v0.6.4
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v0.6.3 | v0.6.4 |
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:139.0.7258.154-r0-3.22.1 Docker digest to 59612ba
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.19.0
  | datasource | package                             | from   | to     |
  | ---------- | ----------------------------------- | ------ | ------ |
  | docker     | ghcr.io/grafana/grafana-build-tools | 1.18.1 | 1.19.0 |
  - chore: Update module google.golang.org/grpc to v1.75.1
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | google.golang.org/grpc | v1.75.0 | v1.75.1 |
  - chore: Update actions/setup-go action to v6
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/setup-go | v5.5.0 | v6.0.0 |
  - chore: Update module golang.org/x/net to v0.44.0
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.43.0 | v0.44.0 |
  - chore: Update module github.com/spf13/afero to v1.15.0
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | github.com/spf13/afero | v1.14.0 | v1.15.0 |
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:139.0.7258.154-r0-3.22.1 Docker digest to 6b2ac21
  - chore: update grafana.com/loki/pkg/push
  Just ran `go get ...@latest`. Let's see if renovate picks up this
  pattern.
  - chore: k6/http: log checkInfo when when retries are exhausted
  - fix: Update active series estimates
  After running `make generate`, these numbers are coming out different.
  I'm not sure where the change is coming from, but update them to avoid
  drift.
  - feat: Add air configuration (#1489)
  Introduce a basic `.air.toml` configuration file that enables
  live-reloading development for the agent against development
  environments.
  Updates the DEVELOPMENT.md file to describe how to install and run `air`.
  - fix: Fail earlier if sm-k6 isn't on path (#1488)
  Exit from the main func if
  1. k6 is enabled
  2. k6uri is set to `sm-k6`
  3. `sm-k6` is not on the path
  Previously, main would log out that this is problematic, but would would
  wait until later in the application to return an error and halt the
  agent.
  This was confusing and took me a bit of time following the codebase to
  realize it was problematic.
  Here's an example output when all of the conditions above exist:
  ```bash
  {"level":"info","program":"synthetic-monitoring-agent","version":"v0.41.4-0.20250905023333-90ab79056c11+dirty","commit":"90ab79056c112fe8c165fa9528610156ab99bc9b","buildstamp":"2025-09-05T02:33:33Z","features":"k6","config":{"DevMode":true,"Debug":true,"Verbose":true,"ReportVersion":false,"GrpcApiServerAddr":"localhost:4031","GrpcInsecure":true,"ApiToken":"<redacted>","EnableChangeLogLevel":true,"EnableDisconnect":true,"EnablePProf":true,"HttpListenAddr":"localhost:4050","K6URI":"sm-k6","K6BlacklistedIP":"10.0.0.0/8","SelectedPublisher":"v2","TelemetryTimeSpan":5,"AutoMemLimit":true,"MemLimitRatio":0.9,"DisableK6":false,"DisableUsageReports":false},"time":1757095838552,"caller":"github.com/grafana/synthetic-monitoring-agent/cmd/synthetic-monitoring-agent/main.go:199","message":"starting"}
  {"level":"info","program":"synthetic-monitoring-agent","time":1757095838552,"caller":"github.com/grafana/synthetic-monitoring-agent/cmd/synthetic-monitoring-agent/main.go:450","message":"the `k6` feature is now permanently enabled in the agent, you can remove it from the -features flag without loss of functionality"}
  E: exec: "sm-k6": executable file not found in $PATH
  ```
  - feat: Add PATCH as a valid HTTP method
  Omitting PATCH looks like an oversight. This affects both HTTP and
  MultiHTTP checks, because they use the same validation logic for the
  HTTP method value.


author: Grafana Labs <support@grafana.com> - 0.43.1
changelog:
  - chore: release 0.43.1 (#1511)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - fix: add a warning when secret store configuration is missing (#1519)
  Now that secret support is in public preview, we expect it to be
  available everywhere. This should help us idenfity any problems earlier.
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.20.0
  | datasource | package                             | from   | to     |
  | ---------- | ----------------------------------- | ------ | ------ |
  | docker     | ghcr.io/grafana/grafana-build-tools | 1.19.0 | 1.20.0 |
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:139.0.7258.154-r0-3.22.1 Docker digest to 8a396e1
  - chore: Update dependency grafana/xk6-sm to v0.6.5
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v0.6.4 | v0.6.5 |
  - chore: Update grafana/shared-workflows digest to c194c0f
  - chore: Update actions/create-github-app-token action to v2.1.4
  | datasource  | package                         | from   | to     |
  | ----------- | ------------------------------- | ------ | ------ |
  | github-tags | actions/create-github-app-token | v2.1.1 | v2.1.4 |
  - chore: Update golang.org/x/exp digest to df92998
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20250819193227-8b4c13bb791b | v0.0.0-20250911091902-df9299821621 |
  - fix: Modernize the agent (#1503)
  * fix: Modernize the agent
  I get a solid amount of warnings from gopls or Goland when working
  within the project, and they're often related to either newer features
  being available or what I would consider nit's. An experimental tool
  from Go exists called
  [modernize](https://pkg.go.dev/golang.org/x/tools/gopls@v0.20.0/internal/analysis/modernize)
  that allows you to automatically find and fix the code in a safe manner.
  I was curious to see the diff after running it across the entire project
  with the following command:
  ```
  go run golang.org/x/tools/gopls/internal/analysis/modernize/cmd/modernize@latest -fix -test ./...
  ```
  I've reviewed most of the changes and they all seem reasonably safe.
  All unit tests appear to be passing as well.
  * WIP
  * fix: Whitespace linter breaking on tests
  The modernizer tool removed the lines correctly but left blank spaces in
  it's place, which golangci-linter is correctly complaining about.
  Removes the blank spaces.
  * fix: bbe config linter config
  Removes the `//nolint:all` directive and fixes the linting errors.
  There was a switch case that only had a single case and could be
  rewritten as an if statement. I preferred this instead of adding another
  `//nolint:...` directive.
  Opted to add a `nolint:staticcheck` specific for the `s.Regexp`
  condition as it wasn't obvious if `s.Regexp.String() ==
  s.Regexp.Regexp.String()`.
  * Temporarily add nolint:all to validate fixes
  * Revert changes for bbe lint checks
  Add a comment on why we do not want to lint the bbe files. These are
  vendored in and we want to reduce the amount of drift between the
  upstream implementation and synthetic-monitoring-agent.
  * Rename maps0 to maps


author: Grafana Labs <support@grafana.com> - 0.43.2
changelog:
  - chore: release 0.43.2 (#1521)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to 052ae53
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.21.0
  | datasource | package                             | from   | to     |
  | ---------- | ----------------------------------- | ------ | ------ |
  | docker     | ghcr.io/grafana/grafana-build-tools | 1.20.0 | 1.21.0 |
  - chore: Update actions/cache action to v4.3.0
  | datasource  | package       | from   | to     |
  | ----------- | ------------- | ------ | ------ |
  | github-tags | actions/cache | v4.2.4 | v4.3.0 |
  - chore: Update module github.com/quasilyte/go-ruleguard/dsl to v0.3.23
  | datasource | package                               | from    | to      |
  | ---------- | ------------------------------------- | ------- | ------- |
  | go         | github.com/quasilyte/go-ruleguard/dsl | v0.3.22 | v0.3.23 |
  - chore: Update dependency grafana/xk6-sm to v0.6.6
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v0.6.5 | v0.6.6 |
  - fix: Change default logging level to WarnLevel (#1525)
  Lowers the default severity level of logs which are outputted by the
  application to Warn from Error.
  This includes warning logs as a default item of interest for operators
  and addresses an issue with adhoc checks on private probes wherein the
  success message is not published to Loki due to its log level.
  - chore: Update docker:dind Docker digest to 2ceb471
  - chore: improve wording about how to disable default blocked networks
  `--blocked-nets`, which controls the CIDR passed to k6's
  [blocklist](https://grafana.com/docs/k6/latest/using-k6/k6-options/reference/#blacklist-ip),
  defaults to `10.0.0.0/8`. This block can be lifted by setting
  `--blocked-nets` to either the empty string, or a no-op value such as
  `0.0.0.0/32`. This commit makes the help message more explicit on that,
  as the previous could be misunderstood as "the default is no blocking".
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:140.0.7339.185-r0-3.22.1 Docker digest to 130fb63
  - fix: Do not block during probe registration
  In d3c3c889fe583126564825bd8c97d18a076ba6c1 we introduced an usage
  reporter. This is working fine, except in cases when the report cannot
  be sent. If the HTTP client blocks for too long, the agent will fail to
  complete the registration handshake.
  Move sending the report to the end of that process, and run it from a
  goroutine in order to avoid blocking.
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v140
  | datasource | package                                     | from                     | to                       |
  | ---------- | ------------------------------------------- | ------------------------ | ------------------------ |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 139.0.7258.154-r0-3.22.1 | 140.0.7339.185-r0-3.22.1 |
  - chore: Update grafana/shared-workflows digest to bfeac15


author: Grafana Labs <support@grafana.com> - 0.43.3
changelog:
  - chore: release 0.43.3 (#1534)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: add further debug logging around secrets (#1542)
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:140.0.7339.207-r0-3.22.1 Docker digest to 109f5c2 (#1535)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - fix: add warning when tenant received without secret store details (#1533)
  - Log warning in updateTenant when tenant received via channel without secret store
  - Log warning in GetTenant when tenant retrieved from API without secret store
  - Addresses issue where k6 scripts using secrets fail with 'no secret sources are configured'
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v140.0.7339.207-r0-3.22.1 (#1532)
  | datasource | package                                     | from                     | to                       |
  | ---------- | ------------------------------------------- | ------------------------ | ------------------------ |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 140.0.7339.185-r0-3.22.1 | 140.0.7339.207-r0-3.22.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.44.0
changelog:
  - chore: release 0.44.0
  - fix: Short circuit get tenant request (#1556)
  Use a default timeout for GetTenant call from agents to the API.
  This takes especial relevance when calling GetTenant as part of a scrape
  operation. In that context, a 5s TO for the fastest running protocol
  checks, which have a min periodicity of 30s, seems a reasonable default
  value considering the roundtrips between components in order to retrieve
  the data.
  - fix: handle nil secret store in calculateValidUntil
  - fix: don't cache tenants if the secret store is not configured
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.21.2
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.21.1 | v1.21.2 |
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.21.1
  | datasource | package                             | from   | to      |
  | ---------- | ----------------------------------- | ------ | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | 1.21.0 | v1.21.1 |
  - chore: Update module github.com/go-logfmt/logfmt to v0.6.1
  | datasource | package                     | from   | to     |
  | ---------- | --------------------------- | ------ | ------ |
  | go         | github.com/go-logfmt/logfmt | v0.6.0 | v0.6.1 |
  - chore: Update docker:dind Docker digest to 2417311
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v141
  | datasource | package                                     | from                     | to                      |
  | ---------- | ------------------------------------------- | ------------------------ | ----------------------- |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 140.0.7339.207-r0-3.22.1 | 141.0.7390.54-r0-3.22.1 |
  - chore: Update grafana/shared-workflows digest to f248984
  - chore: Update golang.org/x/exp digest to 27f1f14
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20250911091902-df9299821621 | v0.0.0-20251002181428-27f1f14c8bb9 |
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:140.0.7339.207-r0-3.22.1 Docker digest to 44e30e6
  - chore: Update docker:dind Docker digest to c090c93
  - feat: Add cost attribution labels to tenants (#1543)
  :warning: This is based upon the feedback from @ka3de in #1655 :warning:
  Update the protobuf definition to have cost attribution labels
  associated with tenants instead of directly on checks.
  Cost Attribution Labels will be represented as a slice of strings, where each item is a key to look for in labels to get the value of the cost attribution label. 
  This allows the api to pick up the changes and test out propogated cal's
  from the api to checks.


author: Grafana Labs <support@grafana.com> - 0.44.1
changelog:
  - chore: release 0.44.1
  - fix: Revert "fix: Short circuit get tenant request (#1556)" (#1560)
  This reverts commit f5634c0ee60a64a3df5609d234a68c85f427d728.
  Reverting this change until changes in the other components allow us to
  short circuit this request.


author: Grafana Labs <support@grafana.com> - 0.44.2
changelog:
  - chore: release 0.44.2
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.21.3
  | datasource | package                             | from    | to     |
  | ---------- | ----------------------------------- | ------- | ------ |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.21.2 | 1.21.3 |
  - chore: Update golang.org/x/exp digest to d2f985d
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20251002181428-27f1f14c8bb9 | v0.0.0-20251009144603-d2f985daa21b |
  - chore: Update alpine Docker tag to v3.22.2
  | datasource | package | from   | to     |
  | ---------- | ------- | ------ | ------ |
  | docker     | alpine  | 3.22.1 | 3.22.2 |
  - chore: Update dependency grafana/xk6-sm to v0.6.7
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v0.6.6 | v0.6.7 |
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v141.0.7390.76-r0-3.22.2
  | datasource | package                                     | from                    | to                      |
  | ---------- | ------------------------------------------- | ----------------------- | ----------------------- |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 141.0.7390.54-r0-3.22.1 | 141.0.7390.76-r0-3.22.2 |
  - chore: Update module golang.org/x/net to v0.46.0
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.44.0 | v0.46.0 |
  - chore: Update module google.golang.org/grpc to v1.76.0
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | google.golang.org/grpc | v1.75.1 | v1.76.0 |


author: Grafana Labs <support@grafana.com> - 0.45.0
changelog:
  - chore: release 0.45.0 (#1565)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - feat: Adjust publisher options (#1558)
  * feat: Adjust max tenant idle time
  Specifies the time to wait for new check execution's data for the tenant
  before removing the handler, which would cause any non delivered data to
  be lost.
  Adjust it to 65 minutes. In the worst case scenario, where the publisher
  is unable to push for 1h, setting it to 65 minutes will allow the longer
  running checks (current max=1h) to still buffer data for new executions.
  * feat: Adjust backoff and retries
  When retries are exhausted, the data being pushed is not added again to
  the buffer queue, and instead it's discarded.
  With the previous configuration (20 retries, 30ms min backoff, 2s max
  backoff), if we consider that each push request takes ~200ms, the total
  time before exhausting retries and discarding data was ~35s.
  With the new configuration (50 retries, 50ms min backoff, 30s max
  backoff), if we consider that each push request takes ~200ms, the total
  time before exhausting retries and discarding data is ~20min.
  Notice that data might still be discarded earlier due to buffer size
  limits.
  * feat: Increase max queued bytes
  Specifies the max number of bytes to hold in the buffer per tenant in
  case of unsuccessfull retries before discarding data.
  In lack of better data for calculations.. running rough estimates we can
  consider each check execution to report ~15 metrics with 10 labels
  and one sample each. That will give us a rough estimate of ~5Kb per
  check execution.
  With the previous value of 128Kb, that would hold data for 25 check
  executions. In the best scenario where a tenant runs a single check in
  that agent, considering a check frequency of 1m, that would allow
  for 25 minutes before discarding data. In most cases this number will be
  much lower, as a tenant will be running more than one check in the same
  agent, resulting in a very short time window before data is discarded.
  Therefore, increase the buffer limit size to 1mb. Considering that that
  will only have an effect when data is unable to be pushed to particular
  Mimir/Loki cells, accept the memory increase in order to try to reduce
  discarded data. Autoscalers will scale agents if necessary based on the
  memory threshold.
  * feat: Avoid discarding data based on num items
  Number of items limit seems difficul to reason about and setting a
  reasonable limit. Therefore remove this limit and apply only the size
  limit which fulfills the same purpose.
  * fix: Fix queue test
  Adjust backoff for testing purposes.
  - chore: Update grafana/shared-workflows digest to c8ac4a2 (#1573)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/KimMachineGun/automemlimit to v0.7.5
  | datasource | package                               | from   | to     |
  | ---------- | ------------------------------------- | ------ | ------ |
  | go         | github.com/KimMachineGun/automemlimit | v0.7.4 | v0.7.5 |
  - fix: Update some github.com/prometheus/* modules
  Renovate is doing something weird, and I don't have time to deal with
  its issues.
  * github.com/prometheus/client_golang v1.22.0 -> v1.23.2
  * github.com/prometheus/common v0.65.0 -> v0.66.1
  * github.com/prometheus/prometheus v0.304.2 -> v0.305.0
  The implementation of labels.Labels change, so it's necessary to update
  that code accordingly.
  - chore: Update dependency grafana/xk6-sm to v0.6.8 (#1566)
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v0.6.7 | v0.6.8 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to eed6978 (#1567)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - fix: Run modernize over source code


author: Grafana Labs <support@grafana.com> - 0.46.0
changelog:
  - chore: release 0.46.0 (#1579)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update docker:dind Docker digest to ea9d204 (#1585)
  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.9 (#1586)
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v0.6.8 | v0.6.9 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to ae92934 (#1587)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:141.0.7390.122-r0-3.22.2 Docker digest to a6d31b0
  - feat: Apply jitter to tenants cache (#1576)
  Tenant data is mostly requested from scrapers when a check execution
  happens. The actual scraper start time has a jitter to randomize checks
  start up, as most checks are received as a bulk on initial connection.
  However that jitter is kept small on purpose in order to not delay
  checks, that makes more sense particularly for new checks.
  Therefore this commit applies a jitter at the tenants cache level of up
  to 25% of the entry timeout (currently 15m). This is only applied when
  there are no expiration considerations tied to the secrets
  functionality.
  - fix: k6runner: properly propagate user errors back to the prober
  Before this PR, errors returned by the `k6 run` operations that were
  identified as user errors by `isUserError`, such as timeouts or
  controlled k6 exit codes, were inadvertently ignored as the `err`
  variable was shadowed when reading logs and metrics. This prevented such
  errors from being reported upstream, causing only errors flagged by
  `errorFromLogs` to be reported.
  This affected timeout errors in particular, as they are identified as
  such by `isUserError` and not inferred from k6 logs.
  This commit slightly changes the code so that the error returned by the
  k6 run operation is not masked anymore.
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v141.0.7390.122-r0-3.22.2 (#1570)
  | datasource | package                                     | from                    | to                       |
  | ---------- | ------------------------------------------- | ----------------------- | ------------------------ |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 141.0.7390.76-r0-3.22.2 | 141.0.7390.122-r0-3.22.2 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update googleapis/release-please-action action to v4.4.0 (#1571)
  | datasource  | package                          | from   | to     |
  | ----------- | -------------------------------- | ------ | ------ |
  | github-tags | googleapis/release-please-action | v4.3.0 | v4.4.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/grafana/gsm-api-go-client to v0.2.1 (#1581)
  | datasource | package                              | from   | to     |
  | ---------- | ------------------------------------ | ------ | ------ |
  | go         | github.com/grafana/gsm-api-go-client | v0.2.0 | v0.2.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update GitHub Artifact Actions (#1574)
  | datasource  | package                   | from | to |
  | ----------- | ------------------------- | ---- | -- |
  | github-tags | actions/download-artifact | v5   | v6 |
  | github-tags | actions/upload-artifact   | v4   | v5 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module kernel.org/pub/linux/libs/security/libcap/cap to v1.2.77 (#1582)
  | datasource | package                                       | from    | to      |
  | ---------- | --------------------------------------------- | ------- | ------- |
  | go         | kernel.org/pub/linux/libs/security/libcap/cap | v1.2.76 | v1.2.77 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update golang.org/x/exp digest to a4bb9ff (#1572)
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20251009144603-d2f985daa21b | v0.0.0-20251023183803-a4bb9ffd2546 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - feat: add support for secrets in http checks (#1469)
  * feat: integrate secret resolution into HTTP prober and agent components
  * chore: upgrade gsm-api-go-client to v0.2.0


author: Grafana Labs <support@grafana.com> - 0.46.1
changelog:
  - chore: release 0.46.1 (#1591)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - fix: Update DEVELOPMENT.md (#1600)
  This is a high level overview of the code, with some hints as to how to
  interact with it.
  - chore: Update docker:dind Docker digest to 96789d5 (#1599)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:142.0.7444.59-r0-3.22.2 Docker digest to 5dcd595 (#1598)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - fix: Use ErrorIs instead of string comparison for context deadline (#1597)
  - chore: Update grafana/shared-workflows digest to 80f9be5
  - fix: Handle 504 Gateway Timeout false alarms in adhoc checks (#1578)
  - chore: Update module golang.org/x/sync to v0.18.0
  | datasource | package           | from    | to      |
  | ---------- | ----------------- | ------- | ------- |
  | go         | golang.org/x/sync | v0.17.0 | v0.18.0 |
  - chore: Update dependency grafana/xk6-sm to v0.6.10
  | datasource      | package        | from   | to      |
  | --------------- | -------------- | ------ | ------- |
  | github-releases | grafana/xk6-sm | v0.6.9 | v0.6.10 |
  - chore: Update docker:dind Docker digest to 2a232a4
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v142 (#1588)
  | datasource | package                                     | from                     | to                      |
  | ---------- | ------------------------------------------- | ------------------------ | ----------------------- |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 141.0.7390.122-r0-3.22.2 | 142.0.7444.59-r0-3.22.2 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.19.0 (#1589)
  | datasource | package                            | from    | to      |
  | ---------- | ---------------------------------- | ------- | ------- |
  | go         | github.com/mccutchen/go-httpbin/v2 | v2.18.3 | v2.19.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.47.0
changelog:
  - chore: release 0.47.0 (#1603)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update actions/checkout action to v5.0.1
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/checkout | v5.0.0 | v5.0.1 |
  - chore: Update actions/checkout digest to 93cb6ef
  - chore: Update grafana/shared-workflows digest to 92b146a
  - chore: Update golang.org/x/exp digest to e25ba8c
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20251023183803-a4bb9ffd2546 | v0.0.0-20251113190631-e25ba8c21ef6 |
  - chore: Update dependency grafana/xk6-sm to v0.6.11
  | datasource      | package        | from    | to      |
  | --------------- | -------------- | ------- | ------- |
  | github-releases | grafana/xk6-sm | v0.6.10 | v0.6.11 |
  - chore: Update module golang.org/x/net to v0.47.0
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.46.0 | v0.47.0 |
  - chore: Update docker:dind Docker digest to ecac43e
  - chore: use the obviously superior way to `Unseconds()`
  - feat: make `probe_duration_seconds` match `probe_script_duration_seconds`
  For the vast majority of check types, `probe_duration_seconds` is
  reported as the wall time that took to run the prober. This is accurate
  for the vast majority of cases, but there's one in particular where it
  is not: k6-backed checks that use external runners.
  External runners can take a certain time to process a request, which
  prior to this commit was counted as part of `probe_duration_seconds`
  while in fact it was not. This commit adds code that parses the
  `probe_script_duration_seconds` metric returned by k6 runners, and uses
  that as the duration of the check for both logs and
  `probe_duration_seconds`.
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.23.0
  | datasource | package                             | from   | to      |
  | ---------- | ----------------------------------- | ------ | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | 1.21.3 | v1.23.0 |
  - fix: Remove old +build directives
  Go 1.17 (?) added support for `go:build` directives to replace `+build`
  ones. That's ~ 4 years ago. We've moved past the point were we need to
  support those older things (see
  8e7fee2f5383df5c3666120fbc6351f718a008eb), so remove them.
  (an updated golangci-lint is complaining about this)


author: Grafana Labs <support@grafana.com> - 0.48.0
changelog:
  - chore: release 0.48.0 (#1617)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - feat: update CheckClassTelemetry protobuf (#1635)
  * Update CheckClassTelemetry protobuf
  Adds CostAttributionLabels field to the `CheckClassTelemetry` protobuf
  and regenerates the protobufs. This is the first step of tracking
  executions by cost attribution labels.
  I'm making this minimal change so that we can release the change in the
  agent and pull the changes into the API and validate no regressions.
  * Update CheckClassTelemetry protobuf
  After working through the change, I realized that we were not
  communicating that values of teh cost attribution labels. We _could_
  have serialized the values in such a
  way(`[]string{"team=A","service=__missing__"}` and had the API
  deserialize them, but this seems hacky.
  This created a dedicated `CostAttributionLabel` message so we do not
  tightly couple the existing `Label` to cost attribution labels.
  - fix: Rework telemetry tests to use synctest (#1631)
  Replace uses of a `sync.WaitGroup` to coordinate between different
  goroutines in tests with `testing/synctest`. That package, stable
  starting with Go 1.25, simplifies testing concurrent and asynchronous
  code by providing:
  - *Fake time*: Time advances automatically when goroutines block.
  - *Quiescence detection*: Deterministic synchronization instead of
    arbitrary delays.
  - *Fast, reliable tests*: Because of the fake time mechanism, test can
    wait for "arbitrary" periods of time and they will work. The clock
    will advance, but wallclock will be short. At the same time, you don't
    have to guess how much is enough.
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:142.0.7444.59-r0-3.22.2 Docker digest to 2e68718 (#1630)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - feat: add feature flag for protocol secrets support (#1626)
  Add SM_AGENT_ENABLE_PROTOCOL_SECRETS environment variable to enable
  protocol secrets support. This allows testing the feature before enabling
  it by default.
  - Add boolFromEnv helper function to parse boolean environment variables
  - Add EnableProtocolSecrets config field and environment variable parsing
  - Add SupportsProtocolSecrets field to UpdaterOptions and HandlerOpts
  - Update RegisterProbe calls to use the feature flag instead of hardcoded false
  - Add tests to verify the feature flag works correctly
  - chore: Update actions/create-github-app-token action to v2.2.0 (#1629)
  | datasource  | package                         | from   | to     |
  | ----------- | ------------------------------- | ------ | ------ |
  | github-tags | actions/create-github-app-token | v2.1.4 | v2.2.0 |
  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.12 (#1622)
  | datasource      | package        | from    | to      |
  | --------------- | -------------- | ------- | ------- |
  | github-releases | grafana/xk6-sm | v0.6.11 | v0.6.12 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to b055806 (#1625)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/checkout action to v6 (#1624)
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/checkout | v5.0.1 | v6.0.0 |
  | github-tags | actions/checkout | v5     | v6     |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/setup-go action to v6.1.0 (#1623)
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/setup-go | v6.0.0 | v6.1.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update docker:dind Docker digest to c9699f4 (#1616)
  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.77.0 (#1620)
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | google.golang.org/grpc | v1.76.0 | v1.77.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - fix: Prevent datarace in telemetry tests (#1628)
  This is a followup to 9f4e479ce46fb2e729ced943ce01febb321bb69d. Another
  datarace showed up similar to the one that that commit had fixed.
  - feat: Rework tenant cache (#1601)
  In order to be more resilient in the face of outages, implement an
  out-of-process cache using memcached. In order to support the existing
  mode of operation, add an in-process-cache using Otter. Rework the
  tenant cache to use this new system.
  Co-authored-by: Anant Sharma <anant.sharma@grafana.com>
  - fix: iterate over slice values, not indexes
  Since this is a slice of ints, the compiler did not catch this one.
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:142.0.7444.59-r0-3.22.2 Docker digest to 4bfff84
  - feat: prober/traceroute: log traceroute entries in increasing hop order
  Previously, results of traceroute hops were logged in random order as an
  artifact of them being stored in a map. This PR does not change the data
  structure, but ensures we walk it in ascending key order. Functionality
  should not change, but hopefully logs will be more readable as a result.
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.23.1
  | datasource | package                             | from    | to     |
  | ---------- | ----------------------------------- | ------- | ------ |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.23.0 | 1.23.1 |
  - feat: Pull cost attribution labels for tenant (#1544)
  Following a similar path as limits to pull cost attribution labels for
  tenants. Adds a new internal library `cals/cals.go` that provides an
  interface that wraps the `TenantProvider` client. Updates all of the
  wiring from Updated => Scraper to pass along the new cal client.
  Starts the process of using the library in `scraper.go`, which right now
  finds the cost attribution labels for a specific tenant. Returns an
  empty slice if nothing is found.
  This will be dependent upon the API changes being released to get cost
  attribution labels defined at the tenant level.
  My goal is to have a follow up PR that updates the telemeter bits to track executions by cost attribution labels. 
  - relies on https://github.com/grafana/synthetic-monitoring-api/pull/1750


author: Grafana Labs <support@grafana.com> - 0.49.0
changelog:
  - chore: release 0.49.0 (#1644)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - feat: track executions by cals (#1642)
  Resolves https://github.com/grafana/synthetic-monitoring/issues/391
  Extend the region pusher codebase to track executions by Cost Attribution Labels(CAL's) by adding an addition map to the telemetry attribution. The `telemetry` map now is now:
  ```go
  // key int64: tenant id
  // middle string: check class
  // last string: serialized cost attribution label
  telemetry   map[int64]map[sm.CheckClass]map[string]*sm.CheckClassTelemetry
  ```
  CAL's are stored as `[]sm.CostAttributionLabel`, which can not be indexed in a map. Two methods were introduced:
  1. `serializeCal`
  2. `deserializeCal`
  The methods allows the program to go from a slice to a string for the key and back. 
  To preserve existing state, if no cost attribution labels are set, then the executions are tracked with the key `__MISSING__`. When executions are pushed to the API, this gets deserialized to `[]sm.CostAttributionLabel{}` which preserves the API's ability to emit the telemetry as it does today. A PR will be made to the API which will handle the scenarios where no cost attribution labels are set(existing state today), and when the slice is set. 
  - chore: Update module golang.org/x/sync to v0.19.0 (#1646)
  | datasource | package           | from    | to      |
  | ---------- | ----------------- | ------- | ------- |
  | go         | golang.org/x/sync | v0.18.0 | v0.19.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/create-github-app-token action to v2.2.1 (#1645)
  | datasource  | package                         | from   | to     |
  | ----------- | ------------------------------- | ------ | ------ |
  | github-tags | actions/create-github-app-token | v2.2.0 | v2.2.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - feat: Resolve memcached servers (#1627)
  In order to allow the user to pass a hostname on the command line (that
  might resolve to multiple IP addresses), perform DNS resolution when
  creating the Memcached client. The servers are resolved again on a
  periodic basis to account for possible changes in IP addresses (as might
  happen in a k8s cluster).
  - chore: Update actions/checkout action to v6.0.1 (#1639)
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/checkout | v6.0.0 | v6.0.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update docker:dind Docker digest to 40916fb (#1637)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update alpine Docker tag to v3.23.0 (#1641)
  | datasource | package | from   | to     |
  | ---------- | ------- | ------ | ------ |
  | docker     | alpine  | 3.22.2 | 3.23.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update grafana/shared-workflows digest to 02bf120 (#1634)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/checkout digest to 8e8c483 (#1638)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update golang.org/x/exp digest to 87e1e73 (#1633)
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20251113190631-e25ba8c21ef6 | v0.0.0-20251125195548-87e1e737ad39 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>


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.


author: Grafana Labs <support@grafana.com> - 0.56.0
changelog:
  - chore: release 0.56.0
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.35.1
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.35.0 | v1.35.1 |
  - chore: Update module kernel.org/pub/linux/libs/security/libcap/cap to v1.2.78
  | datasource | package                                       | from    | to      |
  | ---------- | --------------------------------------------- | ------- | ------- |
  | go         | kernel.org/pub/linux/libs/security/libcap/cap | v1.2.77 | v1.2.78 |
  - chore: Update module golang.org/x/net to v0.52.0
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.51.0 | v0.52.0 |
  - chore: Update module google.golang.org/grpc to v1.80.0
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | google.golang.org/grpc | v1.79.3 | v1.80.0 |
  - chore: Update actions/create-github-app-token action to v3
  | datasource  | package                         | from   | to     |
  | ----------- | ------------------------------- | ------ | ------ |
  | github-tags | actions/create-github-app-token | v2.2.2 | v3.0.0 |
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v146
  | datasource | package                                     | from                     | to                       |
  | ---------- | ------------------------------------------- | ------------------------ | ------------------------ |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 144.0.7559.132-r3-3.23.3 | 146.0.7680.177-r0-3.23.3 |
  - chore: Update actions/download-artifact digest to 3e5f45b
  - chore: Update module github.com/rs/zerolog to v1.35.0
  | datasource | package               | from    | to      |
  | ---------- | --------------------- | ------- | ------- |
  | go         | github.com/rs/zerolog | v1.34.0 | v1.35.0 |
  - chore: Update dependency grafana/xk6-sm to v0.6.20
  | datasource      | package        | from    | to      |
  | --------------- | -------------- | ------- | ------- |
  | github-releases | grafana/xk6-sm | v0.6.18 | v0.6.20 |
  - chore: Update actions/create-github-app-token action to v2.2.2
  | datasource  | package                         | from   | to     |
  | ----------- | ------------------------------- | ------ | ------ |
  | github-tags | actions/create-github-app-token | v2.2.1 | v2.2.2 |
  - chore: Update actions/cache action to v5.0.4
  | datasource  | package       | from   | to     |
  | ----------- | ------------- | ------ | ------ |
  | github-tags | actions/cache | v5.0.3 | v5.0.4 |
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.35.0
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.33.1 | v1.35.0 |
  - chore: Update grafana/shared-workflows digest to d84db42
  - chore: Update docker/build-push-action action to v7
  | datasource  | package                  | from    | to     |
  | ----------- | ------------------------ | ------- | ------ |
  | github-tags | docker/build-push-action | v6.19.2 | v7.0.0 |
  - chore: Update module golang.org/x/sync to v0.20.0
  | datasource | package           | from    | to      |
  | ---------- | ----------------- | ------- | ------- |
  | go         | golang.org/x/sync | v0.19.0 | v0.20.0 |
  - chore: Update docker/setup-buildx-action action to v4
  | datasource  | package                    | from    | to     |
  | ----------- | -------------------------- | ------- | ------ |
  | github-tags | docker/setup-buildx-action | v3.12.0 | v4.0.0 |
  - chore: Update docker:dind Docker digest to f80c262
  - chore: Update actions/setup-go action to v6.4.0
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/setup-go | v6.2.0 | v6.4.0 |
  - feat: Add support for channels on adhoc checks (#1750)
  Adhoc checks must be able to define a specific k6 channel for its
  execution.


author: Grafana Labs <support@grafana.com> - 0.57.0
changelog:
  - chore: release 0.57.0 (#1775)
  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.36.0
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.35.1 | v1.36.0 |
  - feat(metamonitoring): publish internal metrics to remote (#1749)
  Adds a metamonitoring package that periodically gathers metrics from the  
    internal prometheus registry and publishes them to the tenant's remote    
    endpoint via the existing pusher. This gives us a way to observe agent    
    health without requiring the metrics to be scraped, which is necessary    
    for private probes that aren't reachable by a scraper.                    
    The handler is gated behind a new `--experimental-push-telemetry` flag    
    that defaults to false. The flag is intended to gate both metrics and     
    logs in the future so we don't end up with a separate config option per   
    signal type. The push interval is controlled by `--metrics-push-interval` 
    and defaults to 1 minute to align with recommended DPM practices for      
    Grafana Cloud.                                                            
    Tenant ID is sourced from the probe registration in the checks updater    
    and communicated over a channel. Broadcasting the full probe struct       
    rather than just the tenantID gives us room to pull other probe           
    attributes (like the probe name, which is now appended as a label to      
    disambiguate metrics from different agent instances) without needing to   
    change the channel contract again. This also provides better safety if    
    we ever run private probes in a multitenant configuration, since we're    
    no longer relying on whichever tenant happens to be registered first.     
    Histograms and summaries are intentionally skipped since they decompose   
    into multiple series that require special handling; only scalar metric    
    types are forwarded as-is.       
  - chore: Update actions/upload-artifact digest to 043fb46
  - chore: Update module github.com/prometheus/prometheus to v0.311.2 [SECURITY] (#1774)
  | datasource | package                          | from     | to       |
  | ---------- | -------------------------------- | -------- | -------- |
  | go         | github.com/prometheus/prometheus | v0.305.0 | v0.311.2 |
  Update test code to align with updated package.
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update googleapis/release-please-action action to v4.4.1
  | datasource  | package                          | from   | to     |
  | ----------- | -------------------------------- | ------ | ------ |
  | github-tags | googleapis/release-please-action | v4.4.0 | v4.4.1 |
  - chore: Update module golang.org/x/net to v0.53.0
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.52.0 | v0.53.0 |
  - chore: Update docker/build-push-action action to v7.1.0
  | datasource  | package                  | from   | to     |
  | ----------- | ------------------------ | ------ | ------ |
  | github-tags | docker/build-push-action | v7.0.0 | v7.1.0 |
  - fix: Parse BBE log timestamps with RFC3339Nano (#1773)
  f890931 introduced a regression where the 'time' logfmt field
  for BBE logs was getting promoted to being the log timestamp
  while retaining its RFC3339 (seconds-only) precision.
  This caused logs from BBE to appear as they predate the
  initial 'Beginning check' log due to the nanoseconds
  truncation. Using RFC3339Nano to parse timestamps from
  BBE should maintain the correct ordering for check
  execution logs.


author: Grafana Labs <support@grafana.com> - 0.57.1
changelog:
  - chore: release 0.57.1
  - docs: update building and development docs (#1792)
  Closes #1776
  Add docs for sm-k6 binary usage
  - chore: Update module github.com/grafana/gsm-api-go-client to v0.2.2
  | datasource | package                              | from   | to     |
  | ---------- | ------------------------------------ | ------ | ------ |
  | go         | github.com/grafana/gsm-api-go-client | v0.2.1 | v0.2.2 |
  - chore: Update module github.com/rs/zerolog to v1.35.1 (#1791)
  | datasource | package               | from    | to      |
  | ---------- | --------------------- | ------- | ------- |
  | go         | github.com/rs/zerolog | v1.35.0 | v1.35.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/puzpuzpuz/xsync/v4 to v4.5.0
  | datasource | package                       | from   | to     |
  | ---------- | ----------------------------- | ------ | ------ |
  | go         | github.com/puzpuzpuz/xsync/v4 | v4.4.0 | v4.5.0 |
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.37.0
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.36.0 | v1.37.0 |
  - chore: Update actions/create-github-app-token action to v3.1.1 (#1780)
  | datasource  | package                         | from   | to     |
  | ----------- | ------------------------------- | ------ | ------ |
  | github-tags | actions/create-github-app-token | v3.0.0 | v3.1.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v147 (#1790)
  | datasource | package                                     | from                     | to                       |
  | ---------- | ------------------------------------------- | ------------------------ | ------------------------ |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 146.0.7680.177-r0-3.23.3 | 147.0.7727.101-r0-3.23.4 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.22.1
  | datasource | package                            | from    | to      |
  | ---------- | ---------------------------------- | ------- | ------- |
  | go         | github.com/mccutchen/go-httpbin/v2 | v2.21.0 | v2.22.1 |
  - chore: Update alpine Docker tag to v3.23.4
  | datasource | package | from   | to     |
  | ---------- | ------- | ------ | ------ |
  | docker     | alpine  | 3.23.3 | 3.23.4 |
  - chore: Update docker:dind Docker digest to c77e5d7
  - chore: Update dependency grafana/xk6-sm to v1 (#1787)
  - fix: Clean up dependency management
  Add a dependabot configuration file that disables dependabot for all
  reasonable updates.
  Remove the deprecated renovate workflow. This is handled centrally at
  the org level.
  Clean up and rework the renovate configuration management bits. Most
  notable, dump .github/renovate.json5. JSON5 tooling is lacking, so it's
  a hassle to try to work with it. Instead, convert the existing file to
  YAML and add tooling to generate a JSON file out of that. Extend the
  renovate validation workflow so that it handles the drift.


author: Grafana Labs <support@grafana.com> - 0.57.2
changelog:
  - chore: release 0.57.2 (#1799)
  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.38.1
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.38.0 | v1.38.1 |
  - fix: Move string constants to named constants
  After bumping the golangci-lint version, a number of repeated strings
  got flagged. The linter is correct, the existing style makes it hard to
  perform refactorings and similar tasks.
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.38.0
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.37.1 | v1.38.0 |
  - chore: Update docker:dind Docker digest to 685b91d
  - chore: Update googleapis/release-please-action action to v5 (#1794)
  | datasource  | package                          | from   | to |
  | ----------- | -------------------------------- | ------ | -- |
  | github-tags | googleapis/release-please-action | v4.4.1 | v5 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update github.com/bradfitz/gomemcache digest to 4d751bb (#1796)
  | datasource | package                        | from                               | to                                 |
  | ---------- | ------------------------------ | ---------------------------------- | ---------------------------------- |
  | go         | github.com/bradfitz/gomemcache | v0.0.0-20250403215159-8d39553ac7cf | v0.0.0-20260422231931-4d751bb6e37c |
  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.81.0 (#1808)
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | google.golang.org/grpc | v1.80.0 | v1.81.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/prometheus/prometheus to v0.311.3 [SECURITY] (#1806)
  | datasource | package                          | from     | to       |
  | ---------- | -------------------------------- | -------- | -------- |
  | go         | github.com/prometheus/prometheus | v0.311.2 | v0.311.3 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm to v1.1.0
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v1.0.1 | v1.1.0 |
  - chore: Update module github.com/grafana/gsm-api-go-client to v0.3.0
  | datasource | package                              | from   | to     |
  | ---------- | ------------------------------------ | ------ | ------ |
  | go         | github.com/grafana/gsm-api-go-client | v0.2.2 | v0.3.0 |
  - chore: Update module github.com/Masterminds/semver/v3 to v3.5.0
  | datasource | package                          | from   | to     |
  | ---------- | -------------------------------- | ------ | ------ |
  | go         | github.com/Masterminds/semver/v3 | v3.4.0 | v3.5.0 |
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.37.1 (#1801)
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.37.0 | v1.37.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm to v1.0.1 (#1793)
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v1.0.0 | v1.0.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - fix: Include channels when running adhoc checks (#1800)
  Fixes the default runner factory for adhoc checks by including the
  channels definition sent by the API in the actual check that will be run
  by the probe.
  This supports adhoc checks running with particularly specified channel
  versions.
  - chore: Update actions/cache action to v5.0.5 (#1778)
  | datasource  | package       | from   | to     |
  | ----------- | ------------- | ------ | ------ |
  | github-tags | actions/cache | v5.0.4 | v5.0.5 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - fix: Replace deprecated k6 `--no-summary` option (#1797)
  Replaces the k6 `--no-summary` option for the equivalent
  `--summary-mode=disabled`.
  Reference: https://grafana.com/docs/k6/latest/using-k6/k6-options/reference/#summary-mode


author: Grafana Labs <support@grafana.com> - 0.58.0
changelog:
  - chore: release 0.58.0 (#1816)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update go module directive to v1.25.5 (#1831)
  | datasource     | package | from   | to     |
  | -------------- | ------- | ------ | ------ |
  | golang-version | go      | 1.25.0 | 1.25.5 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.23.0 (#1839)
  | datasource | package                            | from    | to      |
  | ---------- | ---------------------------------- | ------- | ------- |
  | go         | github.com/mccutchen/go-httpbin/v2 | v2.22.1 | v2.23.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update docker:dind Docker digest to 6b9cd91
  - chore: Update docker/build-push-action action to v7.2.0
  | datasource  | package                  | from   | to     |
  | ----------- | ------------------------ | ------ | ------ |
  | github-tags | docker/build-push-action | v7.1.0 | v7.2.0 |
  - chore: Update module google.golang.org/grpc to v1.81.1
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | google.golang.org/grpc | v1.81.0 | v1.81.1 |
  - chore: Update module golang.org/x/net to v0.55.0 [SECURITY] (#1828)
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.54.0 | v0.55.0 |
  - chore: Update docker/setup-buildx-action action to v4.1.0
  | datasource  | package                    | from   | to     |
  | ----------- | -------------------------- | ------ | ------ |
  | github-tags | docker/setup-buildx-action | v4.0.0 | v4.1.0 |
  - fix(ci): Fix build_and_publish publish images permissions (#1826)
  Restore `id-token` permissions, required for push-to-gar.
  - fix: Add id-token: write for create-github-app-token
  - fix: Point release please at .github/release-please/release-please-manifest.json (#1824)
  - feat: Add support for xk6-sm v2 (#1771)
  * feat: Add support for xk6-sm v2
  Updates build and release files in order to include xk6-sm v2 binary
  bundled within the same directory as v1.
  Also updates renovate configuration in order to keep both dependencies
  up to date.
  * chore: Skip multihttp TestSettingsToScript for xk6-sm v2
  multihttp checks are currently forced to run with xk6-sm v1 only.
  * fix: Simplify renovate setup for updating k6 versions
  Inject variables into the docker files and makefiles so that files are
  easier to read. Strictly speaking it's not necessary to use the exact
  same pattern in both places, as you can have multiple managers for the
  same dependency, but since it's not that terrible to deferred variables
  in the makefile, which happen to use a syntax that is close enough to
  Docker's, use that.
  ---------
  Co-authored-by: Marcelo E. Magallon <marcelo.magallon@grafana.com>
  - fix: Migrate workflows to NOT use get-vault-secrets
  - chore: Update module golang.org/x/net to v0.54.0
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.53.0 | v0.54.0 |
  - fix: Fix k6 version resolve log timestamp (#1815)
  Include an explicit timestamp in the log line that informs for the k6
  resolved version. Set the timestamp to reference `start` time,
  corresponding to the moment right before running k6 command, so the log
  line appears right before any k6 execution logs.


author: Grafana Labs <support@grafana.com> - 0.58.1
changelog:
  - chore: release 0.58.1
  - fix: Push to GAR, not dockerhub
  We can no longer use dockerhub directly. Push to GAR, so that we can
  mirror from there to dockerhub.


author: Grafana Labs <support@grafana.com> - 0.58.2
changelog:
  - chore: release 0.58.2 (#1843)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - fix(ci): publish images to Docker Hub via GAR mirror (#1845)
  - chore: Update grafana/shared-workflows digest to ae92934


author: Grafana Labs <support@grafana.com> - 0.58.3
changelog:
  - chore: release 0.58.3 (#1850)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v148
  | datasource | package                                     | from                     | to                       |
  | ---------- | ------------------------------------------- | ------------------------ | ------------------------ |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 147.0.7727.101-r0-3.23.4 | 148.0.7778.178-r0-3.23.4 |
  - chore: Update module golang.org/x/sync to v0.21.0
  | datasource | package           | from    | to      |
  | ---------- | ----------------- | ------- | ------- |
  | go         | golang.org/x/sync | v0.20.0 | v0.21.0 |
  - chore: Update golang.org/x/exp digest to 055de63
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20260218203240-3dfff04db8fa | v0.0.0-20260603202125-055de637280b |
  - fix: Add architecture diagrams
  - chore: Update docker:dind Docker digest to 7d85d0e
  - fix: Make curl fail if it cannot download k6
  curl defaults to not failing when it cannot download the target. You
  have to pass --fail (or -f).
  - chore: Update dependency grafana/xk6-sm-v1 to v1.1.5
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v1.1.0 | v1.1.5 |


author: Grafana Labs <support@grafana.com> - 0.59.0
changelog:
  - chore: release 0.59.0 (#1857)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:149.0.7827.53-r0-3.23.4 Docker digest to d6d6a5d (#1876)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update alpine Docker tag to v3.24.1 (#1874)
  | datasource | package | from   | to     |
  | ---------- | ------- | ------ | ------ |
  | docker     | alpine  | 3.24.0 | 3.24.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm-v1 to v1.1.6 (#1865)
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v1.1.5 | v1.1.6 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.41.1 (#1872)
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.41.0 | v1.41.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine Docker tag to v149 (#1871)
  | datasource | package                                     | from                     | to                      |
  | ---------- | ------------------------------------------- | ------------------------ | ----------------------- |
  | docker     | ghcr.io/grafana/chromium-swiftshader-alpine | 148.0.7778.178-r0-3.23.4 | 149.0.7827.53-r0-3.23.4 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update docker:dind Docker digest to 7bb861a (#1869)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update golang.org/x/exp digest to c48552f (#1868)
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20260603202125-055de637280b | v0.0.0-20260611194520-c48552f49976 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/felixge/httpsnoop to v1.1.0 (#1867)
  | datasource | package                      | from   | to     |
  | ---------- | ---------------------------- | ------ | ------ |
  | go         | github.com/felixge/httpsnoop | v1.0.4 | v1.1.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm-v2 to v2.0.1
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v2.0.0 | v2.0.1 |
  - chore: Update alpine Docker tag to v3.24.0
  | datasource | package | from   | to     |
  | ---------- | ------- | ------ | ------ |
  | docker     | alpine  | 3.23.4 | 3.24.0 |
  - chore: Update module github.com/prometheus-community/pro-bing to v0.9.0
  | datasource | package                                  | from   | to     |
  | ---------- | ---------------------------------------- | ------ | ------ |
  | go         | github.com/prometheus-community/pro-bing | v0.8.0 | v0.9.0 |
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.23.1
  | datasource | package                            | from    | to      |
  | ---------- | ---------------------------------- | ------- | ------- |
  | go         | github.com/mccutchen/go-httpbin/v2 | v2.23.0 | v2.23.1 |
  - chore: Update module golang.org/x/net to v0.56.0
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.55.0 | v0.56.0 |
  - feat: Set k6 ref. id as check execution ID for browser checks run by local runner (#1853)
  * feat: Include execution ID per check run as structured metadata
  Generates an execution ID (UUID) for every check run and inclues it as
  part of log streams structured metadata.
  This execution ID allows grouping all check execution logs
  unequivocally.
  * feat: Include execution ID for ad-hoc checks
  * feat: Provide execution ID to probers
  Propagate the check run execution ID to each prober Probe() method.
  The execution ID may be or may not be used by each check type prober
  implementation.
  * feat: Provide execution ID to k6 runners
  * feat: Include k6RefID on local k6 runner browser checks
  Incluedes the k6RefID built upon the check's execution ID for every
  browser check executed by the local k6 runner.
  The k6RefID will be passed verbatim by k6 into the every web page's DOM,
  setting it as part of the k6 object.
  This allows FE O11y parsing that execution ID and correlating its
  session data against the specific check execution that generated it.
  * feat: Propagate execution ID through k6 HTTP runner
  Propagate the check execution ID to the remote k6 runners.
  - chore: Update docker:dind Docker digest to ad68e89
  - chore: Update module github.com/grafana/gsm-api-go-client to v0.3.1
  | datasource | package                              | from   | to     |
  | ---------- | ------------------------------------ | ------ | ------ |
  | go         | github.com/grafana/gsm-api-go-client | v0.3.0 | v0.3.1 |
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.41.0
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.40.1 | v1.41.0 |
  - feat: Run multihttp checks with k6 v2 (#1844)
  Sets the multihttp k6 channel manifest to '*', which will force the
  agent and runners to use the latest available k6 version.
  This allows us to avoid having to update the manifest for each new k6
  version. It does introduce the risk that a new version breaks the
  multihttp implementation, however that should be caught by
  `TestSettingsToScript` which now runs test cases for every supported k6
  version by the agent. This does not cover specifically the k6 runner's
  path, but arguably that upgrade will be performed within the same
  process as the agent k6 version upgrade, which will allow us to catch it
  without relying on external tests to this repo, even if these also exist
  in the form of e2e tests.
  - chore: Update actions/checkout digest to df4cb1c
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.40.1
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.38.1 | v1.40.1 |


author: Grafana Labs <support@grafana.com> - 0.60.0
changelog:
  - chore: release 0.60.0 (#1877)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - feat(proto): add LabelMode enum to Tenant proto (#1878)
  - chore: Update actions/cache action to v6 (#1882)
  | datasource  | package       | from   | to     |
  | ----------- | ------------- | ------ | ------ |
  | github-tags | actions/cache | v5.0.5 | v6.0.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm-v1 to v1.1.7 (#1880)
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v1.1.6 | v1.1.7 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - feat: Unit + Integration tests for check execution metrics (#1782)
  This PR adds an in-repo metric catalogue contract for the scraper and surfaces an initially non-blocking runtime validation in CI.
  The intent is to catch metric/label drift prior to PR merge instead of solely relying on E2E validation.
  This currently achieves catalogue parity with E2E. The next step would be to attain parity with the exhaustiveness of different check configurations tested.


author: Grafana Labs <support@grafana.com> - 0.60.1
changelog:
  - chore: release 0.60.1 (#1887)
  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.42.0 (#1886)
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.41.1 | v1.42.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - fix: Remove usage of deprecated grpc.WithBlock() (#1873)


author: Grafana Labs <support@grafana.com> - 0.61.0
changelog:
  - chore: release 0.61.0 (#1893)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - feat: Gate protocol secrets with the protocol-secrets feature (#1891)
  Protocol-secrets support was enabled through a bespoke environment
  variable, SM_AGENT_ENABLE_PROTOCOL_SECRETS, read via a one-off
  boolFromEnv helper. The agent already has a first-class feature-flag
  mechanism (the -features flag backed by feature.Collection), so use it:
  add a "protocol-secrets" feature and drive config.EnableProtocolSecrets
  from features.IsSet(feature.ProtocolSecrets).
  The downstream wiring is unchanged: config.EnableProtocolSecrets still
  feeds SupportsProtocolSecrets into the checks updater and adhoc handler,
  which advertise it in ProbeInfo at registration.
  Remove the now-unused environment variable and the boolFromEnv helper.
  The feature is pre-release (only ever set on dev probes), so there is no
  backward-compatible fallback. Enable it with `-features protocol-secrets`.


author: Grafana Labs <support@grafana.com> - 0.62.0
changelog:
  - chore: release 0.62.0 (#1895)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:149.0.7827.53-r0-3.23.4 Docker digest to 5b66d43 (#1908)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update prometheus-go (#1836)
  * chore: Update prometheus-go
  | datasource | package                                 | from     | to       |
  | ---------- | --------------------------------------- | -------- | -------- |
  | go         | github.com/prometheus/blackbox_exporter | v0.27.0  | v0.28.0  |
  | go         | github.com/prometheus/common            | v0.67.5  | v0.70.0  |
  | go         | github.com/prometheus/prometheus        | v0.311.3 | v0.313.1 |
  * fix: Update metric golden files
  ---------
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  Co-authored-by: Marcelo E. Magallon <marcelo.magallon@grafana.com>
  - chore: Update module github.com/mccutchen/go-httpbin/v2 to v2.24.0 (#1909)
  | datasource | package                            | from    | to      |
  | ---------- | ---------------------------------- | ------- | ------- |
  | go         | github.com/mccutchen/go-httpbin/v2 | v2.23.1 | v2.24.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm-v1 to v1.1.10 (#1910)
  | datasource      | package        | from   | to      |
  | --------------- | -------------- | ------ | ------- |
  | github-releases | grafana/xk6-sm | v1.1.9 | v1.1.10 |
  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.82.1 (#1912)
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | google.golang.org/grpc | v1.82.0 | v1.82.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm-v2 to v2.0.5 (#1911)
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v2.0.4 | v2.0.5 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update docker:dind Docker digest to bfec1f5 (#1907)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/checkout action to v7 (#1875)
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/checkout | v6.0.3 | v7.0.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/checkout action to v6.0.3 (#1851)
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/checkout | v6.0.2 | v6.0.3 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - fix: Update policy bot config (#1905)
  - chore: Update module golang.org/x/net to v0.57.0 (#1901)
  | datasource | package          | from    | to      |
  | ---------- | ---------------- | ------- | ------- |
  | go         | golang.org/x/net | v0.56.0 | v0.57.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm-v1 to v1.1.9 (#1896)
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v1.1.7 | v1.1.9 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/grafana/gsm-api-go-client to v0.3.2 (#1897)
  | datasource | package                              | from   | to     |
  | ---------- | ------------------------------------ | ------ | ------ |
  | go         | github.com/grafana/gsm-api-go-client | v0.3.1 | v0.3.2 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update docker/build-push-action action to v7.3.0 (#1898)
  | datasource  | package                  | from   | to     |
  | ----------- | ------------------------ | ------ | ------ |
  | github-tags | docker/build-push-action | v7.2.0 | v7.3.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update docker/setup-buildx-action action to v4.2.0 (#1899)
  | datasource  | package                    | from   | to     |
  | ----------- | -------------------------- | ------ | ------ |
  | github-tags | docker/setup-buildx-action | v4.1.0 | v4.2.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module golang.org/x/sync to v0.22.0 (#1902)
  | datasource | package           | from    | to      |
  | ---------- | ----------------- | ------- | ------- |
  | go         | golang.org/x/sync | v0.21.0 | v0.22.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.43.1 (#1903)
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.43.0 | v1.43.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - fix: Enable WSL linter (#1904)
  I'm starting to get tired of LLM-generated code smushing together code
  because to it it's basically the same. At the same time I don't want to
  be telling people to add blank lines all over the place because that
  gets annoying fast. So reach out for the best available alternative:
  have a linter check that formatting is consistent and emit diagnostics
  if it's not.
  - feat: Implement label mode behaviour (#1879)
  Implements behavioural changes relating to the tenant's
  LabelMode to control omission of the legacy `label_` prefix
  for custom check/probe labels.
  * DUAL_WRITE: writes labels with and without the prefix.
  * UNPREFIXED: omits the prefix, writes labels once.
  Migration to either of these states away from the base
  PREFIXED state also writes custom labels - without the
  prefix - to the metrics emitted by check executions. This
  enables features like LBAC, telemetry cost attribution,
  simplified alert routing, simpler querying, and more for
  synthetic monitoring metrics.
  Finally, institutes and enforces a list of system-reserved
  label values which are not permitted for use by tenants
  for custom values.
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.43.0 (#1900)
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.42.0 | v1.43.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:149.0.7827.53-r0-3.23.4 Docker digest to 35312b0 (#1888)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update docker:dind Docker digest to 66d292e (#1883)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/cache action to v6.1.0 (#1885)
  | datasource  | package       | from   | to     |
  | ----------- | ------------- | ------ | ------ |
  | github-tags | actions/cache | v6.0.0 | v6.1.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update dependency grafana/xk6-sm-v2 to v2.0.4 (#1881)
  | datasource      | package        | from   | to     |
  | --------------- | -------------- | ------ | ------ |
  | github-releases | grafana/xk6-sm | v2.0.1 | v2.0.4 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/prometheus-community/pro-bing to v0.9.1 (#1889)
  | datasource | package                                  | from   | to     |
  | ---------- | ---------------------------------------- | ------ | ------ |
  | go         | github.com/prometheus-community/pro-bing | v0.9.0 | v0.9.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/setup-go action to v6.5.0 (#1884)
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/setup-go | v6.4.0 | v6.5.0 |
  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.82.0 (#1890)
  | datasource | package                | from    | to      |
  | ---------- | ---------------------- | ------- | ------- |
  | go         | google.golang.org/grpc | v1.81.1 | v1.82.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>


author: Grafana Labs <support@grafana.com> - 0.62.1
changelog:
  - chore: release 0.62.1 (#1916)
  Co-authored-by: sm-release-app[bot] <180338484+sm-release-app[bot]@users.noreply.github.com>
  - chore: Update golang.org/x/exp digest to 764159d (#1925)
  | datasource | package          | from                               | to                                 |
  | ---------- | ---------------- | ---------------------------------- | ---------------------------------- |
  | go         | golang.org/x/exp | v0.0.0-20260611194520-c48552f49976 | v0.0.0-20260718201538-764159d718ef |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update prometheus-go (#1924)
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | go         | github.com/prometheus/client_golang | v1.24.0 | v1.24.1 |
  | go         | github.com/prometheus/common        | v0.70.0 | v0.70.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:149.0.7827.53-r0-3.23.4 Docker digest to 23f3e68 (#1921)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/google/cel-go to v0.29.0 [SECURITY] (#1923)
  | datasource | package                  | from    | to      |
  | ---------- | ------------------------ | ------- | ------- |
  | go         | github.com/google/cel-go | v0.26.1 | v0.29.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/grafana-build-tools Docker tag to v1.44.0 (#1927)
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | docker     | ghcr.io/grafana/grafana-build-tools | v1.43.1 | v1.44.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/checkout action to v7.0.1 (#1920)
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/checkout | v7.0.0 | v7.0.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/prometheus/client_golang to v1.24.0 (#1919)
  | datasource | package                             | from    | to      |
  | ---------- | ----------------------------------- | ------- | ------- |
  | go         | github.com/prometheus/client_golang | v1.23.2 | v1.24.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update ghcr.io/grafana/chromium-swiftshader-alpine:149.0.7827.53-r0-3.23.4 Docker digest to 216a193 (#1917)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/setup-go action to v7 (#1913)
  | datasource  | package          | from   | to     |
  | ----------- | ---------------- | ------ | ------ |
  | github-tags | actions/setup-go | v6.5.0 | v7.0.0 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update module github.com/quic-go/quic-go to v0.59.1 [SECURITY] (#1914)
  | datasource | package                    | from    | to      |
  | ---------- | -------------------------- | ------- | ------- |
  | go         | github.com/quic-go/quic-go | v0.57.1 | v0.59.1 |
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
  - chore: Update actions/checkout digest to 3d3c42e (#1915)
  Co-authored-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>


