Last release 9 days ago
18 Aug 2026
Ships fairly regularly
a new release about every 3 weeks
Rarely documented
notes for 5 of 27 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
85 releases ยท first in 2021
Release timeline
85 releases since 2021Releases
- v1.6.018 Aug 2026
Release notes
Open source โโจ New features
To bring PrivateLoadZone mode closer to how other modes of testing in GCk6 work, we've expanded the API and what is configured through it. (issue)
.spec.argsinTestRunCRDTo fully accommodate the above change, a new field
.spec.argswas added to aTestRunCRD (PR): it takes an array of strings as arguments to k6, which allows setting arbitrary values as tags and env vars of the k6 process. This is, in effect, a way to bypass the complex tricks around string escaping and the inability to set certain values in.spec.arguments(issue), which was a fundamental limitation of that configuration type. The new way to set k6 arguments inTestRunCRD looks like this:apiVersion: k6.io/v1alpha1 kind: TestRun metadata: name: k6-sample-with-args spec: parallelism: 2 script: configMap: name: k6-test file: test.js args: - --tag - note=arbitrary values are possible "here" # passed to k6 as is - -e - PRICE_LABEL=$$100 # passed to k6 as is - -e - BASE_URL=$(BASE_URL) # Kubernetes env var will be expanded runner: env: - name: BASE_URL value: https://test.k6.io
When
.spec.argsis present, it overrides.spec.arguments. But if.spec.argsis empty, the.spec.argumentswork as before, so this change is backwards compatible.The PLZ tests were switched to using the
.spec.argsunder the hood.Warning
Please make sure to update CRD definitions properly during upgrade, to avoid any issues.
๐ Bug fixes
We finally have a fix for trying to create start / stop jobs more than once (issue). It has been spamming logs with false positive messages. Thanks, @Guflly!
๐ฆ Helm
The bug with invalid lengthy names during Helm chart installation was solved by deliberately trimming all resource names to 63 characters. Thanks, @moko-poi!
Warning
If you have been using a lengthy release name with
service.enabled: false, you might encounter the rename of Deployment as part of this upgrade. On a healthy cluster, it shouldn't be an issue. But it makes sense to keep an eye on observability setup, if any: watch out if it picks up the change in name correctly in this case.๐ ๏ธ Maintenance
kube-api-linter was added as a custom plugin to our golangci-lint workflow, with some basic rules enabled already. Thanks, @moko-poi!
There was a cleanup of potential bugs with shared state around the GCk6 client in the TestRun controller. That should make k6-operator more reliable at scale.
A small refactor to improve readability of the default values in the code (issue). Thanks, @moko-poi!
Key dependencies update:
- Golang bumped to 1.26 (we're almost at the 1.27 release now)
- Kubernetes group bumped to 1.36
- controller-runtime bumped to 0.24.1
- go.k6.io/k6/v2 bumped to v2.2.0
Full changelog: v1.5.0...v1.6.0
- v1.5.1-0.20260803092101-8f42d4fb3cb33 Aug 2026pre-release
Nothing published for this version
- v1.5.1-0.20260728110815-119963bec12928 Jul 2026pre-release
Nothing published for this version
- v1.5.1-0.20260714082255-ffca562901c414 Jul 2026pre-release
Nothing published for this version
- v1.5.1-0.20260710154933-afe9151987b210 Jul 2026pre-release
Nothing published for this version
- v1.5.023 Jun 2026
Release notes
Open source โโ ๏ธ Deprecation warning
.spec.scuttleis deprecated and will be removed in the future. Please see the docs on how to set up Istio and update yourTestRuns. Note: This change comes with the RBAC update to publish Kubernetes events.โจ New features
We've added the configuration of
schedulerNameto all Pods in theTestRun. Thanks, @The-Flash-Routine!๐ Bug fixes
Initializer Shell command was refactored into a multi-line script to track additional error cases, like missing k6 binary and other non-standard errors from k6 invocation (issue). Now all such cases are logged by the initializer Pod, and its Job fails explicitly. This should help diagnose the errors in the k6 setup.
terminationGracePeriodSecondsis set to the default value (30s) in all Pods, removing an accidental drift between runners and other Pods. We do not recommend interrupting k6 runners, but if it can't be avoided, this change should help preserve some useful data.๐ฆ Helm
There was a bug in the Helm chart causing erratic and hard-to-diagnose behaviour of the
PrivateLoadZoneCRD, which was fixed and released as chart 4.4.1. Full description of the impact is here.๐ ๏ธ Maintenance
This is another maintenance-heavy release.
e2e tests were switched to using
expect()instead offail()in k6 tests: that guarantees the call toteardownin case of failure. This is esp. important in tests based on the xk6-environment.There has been a lot of work ongoing to improve our security stance:
- Helm release workflow was moved to use the GitHub App Token Broker (GATB) system.
- Pinning digests in dependencies, including ones in Dockerfile. Updates of the digests will be handled by renovate.
- This change also means that the
GO_BUILDER_IMGargument is no longer supported.
- This change also means that the
- Improving memory handling to prevent accidental leaks and tightening concurrency flow in PLZ.
Notable dependency updates:
go.k6.io/k6/v2instead of v1 as beforegolangci/golangci-lintto v2.12.1
Last but not least, the release process was heavily revamped to maximize the amount of automation and reduce the maintainer's toil.
Full changelog: v1.4.0...v1.5.0
- v1.4.028 Apr 2026
Release notes
Open source โโจ New features
Default tags in k6 metrics
We have changed the hard-coded tag passed to all runner pods: previously, it was
job_name. Now, it istestrun_name. As described in the issue, this change removes duplicate metrics and reduces cardinality.Warning
Some dashboards around k6-operator test runs might need updating.
E.g., if you have a query like this:
my_cool_metric{job_name=~"my-testrun-.*"}
You should change it to:
my_cool_metric{testrun_name="my-testrun", instance_id=~".*"}PrivateLoadZone CRD: Secrets support
PrivateLoadZone tests now support secrets out-of-the-box, issue. See more details about this feature in the docs and in the video here.
TLDR: if you have secrets stored in Grafana Cloud k6 and a script that references them, you can run this script with PrivateLoadZone as well.
PrivateLoadZone CRD: pod template expansion
We expanded the pod template in the PrivateLoadZone CRD to support labels and annotations, issue. This configuration will be applied to all Pods started by k6-operator for this PrivateLoadZone.
As mentioned in the release notes for 1.3.0, this is done gradually via relaxation of validation rules. In practice, this means that only a limited number of fields are available at the moment, but there will be more in the future.
Note
PrivateLoadZone doesn't support mutability yet, so it must be re-created anew if you want to add a new config to it.
๐ ๏ธ Maintenance
Notable version updates:
go.modat Go 1.25- Docker images at Go 1.26
golangci-lintat 2.10.1
There has been a lot of polishing around unit tests and e2e tests to improve overall structure and simplify onboarding and long-term maintenance. Among those changes, xk6-environment was finally refactored, addressing a long-running tech debt, and can now be built easily from its repo. This extension is used for isolation of e2e tests.
Lastly, there is now a
govulncheckGitHub Action workflow, PR, running weekly and for PRs.Full Changelog: v1.3.2...v1.4.0
- v1.3.22 Apr 2026
Release notes
Open source โA patch release to fix a #757 - to allow any kind of values in environment variables in initializer pod.
Full Changelog: v1.3.1...v1.3.2
- v1.3.2-0.20260326115512-f3b66e67d01c26 Mar 2026pre-release
Nothing published for this version
- v1.3.126 Mar 2026
Release notes
Open source โA patch release to fix a bug with environment variables in cloud output mode. Previously, duration of the tests set via environment variables could be calculated incorrectly at initializer step, resulting in potential timeouts from Grafana Cloud k6.
Full Changelog: v1.3.0...v1.3.1
- v1.3.01 Mar 2026
Nothing published for this version
- v1.2.06 Jan 2026
Nothing published for this version
- v1.1.2-0.20251223153957-0ffee48eb8b823 Dec 2025pre-release
Nothing published for this version
- v1.1.2-0.20251212193746-f122fa0082b312 Dec 2025pre-release
Nothing published for this version
- v1.1.112 Dec 2025
Nothing published for this version
- v1.1.1-0.20251112135202-27fa7545348e12 Nov 2025pre-release
Nothing published for this version
- v1.1.011 Nov 2025
Nothing published for this version
- v1.0.1-0.20251031153118-3239c792d5dd31 Oct 2025pre-release
Nothing published for this version
- v1.0.1-0.20251024165909-b377dafb3be024 Oct 2025pre-release
Nothing published for this version
- v1.0.1-0.20250915171509-dd3f13a0757015 Sept 2025pre-release
Nothing published for this version
- v1.0.013 Sept 2025
Nothing published for this version
- v0.0.24-0.20250807114236-ad6c08457bdf7 Aug 2025pre-release
Nothing published for this version
- v0.0.236 Aug 2025
Nothing published for this version
- v0.0.23-0.20250630104542-26b0611f74e430 Jun 2025pre-release
Nothing published for this version
- v0.0.2230 Jun 2025
Nothing published for this version
- v0.0.22-0.20250616154932-404592664ffa16 Jun 2025pre-release
Nothing published for this version
- v0.0.22-0.20250507120859-15878fc356057 May 2025pre-release
Nothing published for this version
- v0.0.22-0.20250507115626-36d85c2686167 May 2025pre-release
Nothing published for this version
- v0.0.217 May 2025
Nothing published for this version
- v0.0.21-0.20250414164154-415107bfeaa014 Apr 2025pre-release
Nothing published for this version
- v0.0.209 Apr 2025
Nothing published for this version
- v0.0.20-0.20250321094922-f8a423478c9521 Mar 2025pre-release
Nothing published for this version
- v0.0.1922 Jan 2025
Nothing published for this version
- v0.0.19-0.20241113134540-cbbc656fa05213 Nov 2024pre-release
Nothing published for this version
- v0.0.1812 Nov 2024
Nothing published for this version
- v0.0.18-0.20241112142729-dffa7366ca8d12 Nov 2024pre-release
Nothing published for this version
- v0.0.18-0.20241108091554-f2b861b5c4ab8 Nov 2024pre-release
Nothing published for this version
- v0.0.18-0.20241003115627-3e11f608ac883 Oct 2024pre-release
Nothing published for this version
- v0.0.172 Oct 2024
Nothing published for this version
- v0.0.17-0.20240910185505-64be967c7afe10 Sept 2024pre-release
Nothing published for this version
- v0.0.17-0.20240903123614-14b2c82364ae3 Sept 2024pre-release
Nothing published for this version
- v0.0.1629 Jul 2024
Nothing published for this version
- v0.0.16-0.20240705103626-94581a4a38125 Jul 2024pre-release
Nothing published for this version
- v0.0.155 Jul 2024
Nothing published for this version
- v0.0.15-0.20240523144734-6b38db77909423 May 2024pre-release
Nothing published for this version
- v0.0.15-0.20240514135733-6503bbb4a65114 May 2024pre-release
Nothing published for this version
- v0.0.15-0.20240402165757-226bb01d82ca2 Apr 2024pre-release
Nothing published for this version
- v0.0.15-0.20240328145451-55d949eb106728 Mar 2024pre-release
Nothing published for this version
- v0.0.1428 Mar 2024
Nothing published for this version
- v0.0.14-0.20240318125651-c2e81d8c832918 Mar 2024pre-release
Nothing published for this version
- v0.0.14-0.20240228093851-87ca93ba55ef28 Feb 2024pre-release
Nothing published for this version
- v0.0.14-0.20240226160605-df39311404d526 Feb 2024pre-release
Nothing published for this version
- v0.0.14-0.20240209152819-cacc4860412e9 Feb 2024pre-release
Nothing published for this version
- v0.0.14-0.20240202164921-568d40e9e7f62 Feb 2024pre-release
Nothing published for this version
- v0.0.14-0.20240202164101-90a0d330a8622 Feb 2024pre-release
Nothing published for this version
- v0.0.132 Feb 2024
Nothing published for this version
- v0.0.13-0.20240201191053-b1a5e24862dc1 Feb 2024pre-release
Nothing published for this version
- v0.0.13-0.20240117122901-d6daf9e0eb7117 Jan 2024pre-release
Nothing published for this version
- v0.0.13-0.20231212191631-1d97a47e471b12 Dec 2023pre-release
Nothing published for this version
- v0.0.13-0.20231207102442-9f91611e91d57 Dec 2023pre-release
Nothing published for this version