---
title: "Version 1.8.0 release notes | Grafana k6 documentation"
description: "The release notes for Grafana k6 version 1.8.0"
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

This is documentation for the **next** version of Grafana k6 documentation. For the latest stable release, go to the [latest version](/docs/k6/latest/).

[Documentation](/docs/)![breadcrumb arrow](/static/assets/img/icons/grafana-icon-breadcrumb-arrow-gray.svg) [Grafana k6](/docs/k6/next/)![breadcrumb arrow](/static/assets/img/icons/grafana-icon-breadcrumb-arrow-gray.svg) [Release notes](/docs/k6/next/release-notes/)![breadcrumb arrow](/static/assets/img/icons/grafana-icon-breadcrumb-arrow-gray.svg) v1.8.0

Open source

k6 `v1.8.0` is here! This maintenance release on v1.x includes:

- Cloud secrets are now automatically available in `k6 cloud run --local-execution` — use `--no-cloud-secrets` to opt out.
- Pre-manifest extension dependencies are captured in archive metadata for cloud consumers.
- Structured logging from k6provider for better visibility into automatic extension provisioning.
- Multiple bug fixes for Browser, WebSocket, and Cloud modules.
- Dependency updates and reliability improvements.

## Breaking changes

There are no breaking changes in this release.

## New features

### Cloud secrets now automatically available in local execution [#5738](https://github.com/grafana/k6/pull/5738) &amp; [#5875](https://github.com/grafana/k6/pull/5875)

When running `k6 cloud run --local-execution`, secrets stored in Grafana Cloud are now automatically available to your script via `secrets.get()` without any additional configuration.

To opt out, pass `--no-cloud-secrets`:

shell ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```shell
k6 cloud run --local-execution --no-cloud-secrets script.js
```

Thanks, @vortegatorres!

### Pre-manifest extension dependencies captured in archive metadata [#5819](https://github.com/grafana/k6/pull/5819) &amp; [#5977](https://github.com/grafana/k6/pull/5977)

When creating a k6 archive (`k6 archive`), extension dependency information is now captured in `metadata.json` under a `"dependencies"` field, using the constraints declared by the script before any external manifest overrides are applied. This ensures that `k6/x/` imports are preserved correctly during auto-extension-resolution re-execution.

## UX improvements and enhancements

- [#5815](https://github.com/grafana/k6/pull/5815) &amp; [#5993](https://github.com/grafana/k6/pull/5993) Warns when `http.get()` or `http.head()` receive extra arguments that are silently ignored, helping catch common scripting mistakes. Thanks, @moko-poi!
- [#5657](https://github.com/grafana/k6/pull/5657) Adds automatic retries to `newAction`-based Locator APIs in the browser module, improving reliability of browser tests. Thanks, @janHildebrandt98!
- [#5845](https://github.com/grafana/k6/pull/5845) Wires k6provider’s structured logging into k6’s logger. Provisioning operations (artifact resolution, cache hits, downloads, retries, and cache pruning) now appear in k6’s log output at the correct level.

## Bug fixes

- [#5855](https://github.com/grafana/k6/pull/5855) Fixes auto-extension-resolution incorrectly triggering binary provisioning when a script manifest specifies a dependency as a Go module pseudo-version (`v0.0.0+sha` or `v0.0.0-timestamp-sha`), even when the running binary already satisfied the constraint.
- [#5574](https://github.com/grafana/k6/pull/5574) Fixes position parser for base pointer options. Thanks, @chrismooreproductions!
- [#5630](https://github.com/grafana/k6/pull/5630) &amp; [#5987](https://github.com/grafana/k6/pull/5987) Fixes duplicate redirect request metric emissions in the browser module, where each redirect was incorrectly emitting metrics for all prior redirects in the chain.
- [#5620](https://github.com/grafana/k6/pull/5620) &amp; [#5991](https://github.com/grafana/k6/pull/5991) Preserves context cancellation causes across the scheduler, browser, and secret-source layers, improving the accuracy of error messages surfaced when a test is interrupted. Thanks, @LBaronceli!
- [#5716](https://github.com/grafana/k6/pull/5716) &amp; [#5990](https://github.com/grafana/k6/pull/5990) Fixes WebSocket `bufferedAmount` not being incremented when sending TypedArrays, causing it to go negative. Thanks, @prakharbirla-ng!
- [#5814](https://github.com/grafana/k6/pull/5814) &amp; [#5975](https://github.com/grafana/k6/pull/5975) Fixes `k6 cloud run --local-execution` ignoring `K6_CLOUD_PUSH_REF_ID` and unconditionally creating a new test run instead of reusing the provided run ID. Thanks, @Reranko05!
- [#5786](https://github.com/grafana/k6/pull/5786) Fixes swapped Min and Max values for Gauge metrics in Cloud output v2, which caused incorrect peak and floor values in cloud test result queries. Thanks, @esquonk!
- [#5785](https://github.com/grafana/k6/pull/5785) Fixes a race condition in the browser module’s `handleExitEvent` where `Done()` was signalled before the subscription was removed, causing tests to hang until the timeout.
- [#5905](https://github.com/grafana/k6/pull/5905) Fixes a deadlock where WebSocket connections hang forever during teardown when the server sends pings. A server ping arriving during shutdown could permanently stall the k6 process.
- [#5923](https://github.com/grafana/k6/pull/5923) &amp; [#5989](https://github.com/grafana/k6/pull/5989) Fixes a nil pointer panic in `ElementHandle.DefaultTimeout` (and any method that calls it, such as `GetAttribute`) when invoked on a nil or partially-initialized handle. Thanks, @SAY-5!

## Maintenance and internal improvements

- [#5896](https://github.com/grafana/k6/pull/5896) &amp; [#5897](https://github.com/grafana/k6/pull/5897) Updates `go.opentelemetry.io/otel/exporters/otlp/otlptracehttp` and `otlpmetrichttp` to `v1.43.0` \[security], adding a 4 MiB response body cap to mitigate memory exhaustion from misconfigured or malicious servers.
- [#5857](https://github.com/grafana/k6/pull/5857), [#5950](https://github.com/grafana/k6/pull/5950) Updates Go to `v1.25.10`.
- [#5946](https://github.com/grafana/k6/pull/5946) Updates `golang.org/x/net` to `v0.55.0` \[security].
- [#6042](https://github.com/grafana/k6/pull/6042) Updates Go toolchain to `v1.25.11` \[security].
- [#6047](https://github.com/grafana/k6/pull/6047) Updates `golang.org/x/crypto` to `v0.52.0` \[security].
- [#5863](https://github.com/grafana/k6/pull/5863), [#5880](https://github.com/grafana/k6/pull/5880), [#5908](https://github.com/grafana/k6/pull/5908) Updates `github.com/grafana/k6provider` to `v0.5.0`.
- [#5740](https://github.com/grafana/k6/pull/5740), [#5796](https://github.com/grafana/k6/pull/5796), [#5910](https://github.com/grafana/k6/pull/5910) Updates `github.com/grafana/sobek` digest.
- [#6035](https://github.com/grafana/k6/pull/6035) Move Docker Hub publishing to GAR mirror.
- [#6064](https://github.com/grafana/k6/pull/6064) Bumps Dockerfile images for security updates.

## External contributors

A huge thank you to the external contributors who helped during this release: @moko-poi, @janHildebrandt98, @Reranko05, @prakharbirla-ng, @esquonk, @chrismooreproductions, @vortegatorres, @SAY-5, and @LBaronceli! 🙏
