fix(deps): update module go.k6.io/k6 to v1.6.1#722
Open
renovate-sh-app[bot] wants to merge 1 commit intomainfrom
Open
fix(deps): update module go.k6.io/k6 to v1.6.1#722renovate-sh-app[bot] wants to merge 1 commit intomainfrom
renovate-sh-app[bot] wants to merge 1 commit intomainfrom
Conversation
Contributor
Author
ℹ️ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
|
|
| datasource | package | from | to | | ---------- | ----------- | ------ | ------ | | go | go.k6.io/k6 | v1.5.0 | v1.6.1 | Signed-off-by: renovate-sh-app[bot] <219655108+renovate-sh-app[bot]@users.noreply.github.com>
1ebef5f to
5be9ed9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.5.0→v1.6.1Release Notes
grafana/k6 (go.k6.io/k6)
v1.6.1Compare Source
k6
v1.6.1is here! This patch release includes:Bug fixes
experimental/csvmodule when multiple files with async code usecsv.parsein parallel during initialization.Maintenance and security updates
with-browserDocker image.v1.6.0Compare Source
k6 v1.6.0 is here 🎉! This release includes:
k6 depscommand for analyzing script dependencies.frameLocator(),goBack(),goForward()methods.jslibgets a new TOTP library for time-based one-time password generation and validation.Breaking changes
There are no breaking changes in this release.
New features
Configurable default stack for Cloud commands #5420
Cloud commands now support configuring the default Grafana Cloud stack you want to use. The stack slug (or stack id) is used by the Cloud to determine which default project to use when not explicitly provided.
Previously, users had to specify the project id for every test run. With this change, you can configure a default stack during login, and k6 will use it to automatically resolve the appropriate default project. This is particularly useful for organizations with multiple Grafana Cloud stacks or when working across different teams and environments.
Users can also set up a specific stack for every test run, either using the new option
stackIDor the environment variableK6_CLOUD_STACK_ID.Please note that, in k6 v2, this stack information will become mandatory to run a test.
This simplifies the cloud testing workflow and prepares k6 for upcoming changes to the Grafana Cloud k6 authentication process, where the stack will eventually become mandatory.
k6 depscommand and manifest support #5410, #5427A new
k6 depscommand is now available to analyze and list all dependencies of a given script or archive. This is particularly useful for understanding which extensions are required to run a script, especially when using auto extension resolution.The command identifies all imports in your script and lists dependencies that might be needed for building a new binary with auto extension resolution. Like auto extension resolution itself, this only accounts for imports, not dynamic
require()calls.This makes it easier to understand extension requirements, share scripts with clear dependency information, and integrate k6 into automated build pipelines.
In addition, k6 now supports a manifest that specifies default version constraints for dependencies when no version is defined in the script using pragmas. If a dependency is imported without an explicit version, it defaults to "*", and the manifest can be used to replace that with a concrete version constraint.
The manifest is set through an environment variable as JSON with keys being a dependency and values being constraints:
In this example, if the script only imports
k6/x/fakerand does not use ause k6 with k6/x/faker ...directive, it will set the version constraint to>=v0.4.4. It will not make any changes ifk6/x/fakeris not a dependency of the script at all.Browser module:
frameLocator()method #5487The browser module now supports
frameLocator()onPage,Frame,Locator, andFrameLocatorobjects. This method creates a locator for working withiframeelements without the need to explicitly switch contexts, making it much easier to interact with embedded content.Frame locators are particularly valuable when testing applications with nested iframes, as they allow you to chain locators naturally while maintaining readability:
Click to expand example code
This complements existing frame handling methods and provides a more intuitive API for working with iframe-heavy applications.
Browser module:
goBack()andgoForward()navigation methods #5494The browser module now supports
page.goBack()andpage.goForward()methods for browser history navigation. These methods allow you to navigate the page's history, similar to clicking the browser's back/forward buttons.Click to expand example code
Browser module: Request event handlers #5481, #5486
The browser module now supports
page.on('requestfailed')andpage.on('requestfinished')event handlers, enabling better monitoring and debugging of network activity during browser tests.The
requestfailedevent fires when a request fails (network errors, aborts, etc.), whilerequestfinishedfires when a request completes successfully.Click to expand example code
These event handlers provide deeper insights into network behavior during browser testing and help identify issues that might not be immediately visible.
Crypto module: PBKDF2 support #5380
The crypto module now supports PBKDF2 for deriving cryptographic keys from passwords. PBKDF2 is widely used for password hashing and key derivation in security-sensitive applications, and this addition enables testing of systems that use PBKDF2 for authentication or encryption.
For usage examples, check out the one provided in the repository or refer to the documentation.
WebSockets module is now stable #5586
The websockets module has been promoted to stable status and is now available via the
k6/websocketspath.The experimental
k6/experimental/websocketsmodule will be removed in a future release. Users should migrate to the stablek6/websocketsmodule.To migrate, simply update your import statement:
No other changes are required because the API is the same.
Console logging: ArrayBuffer and TypedArray support #5496
console.log()now properly displaysArrayBufferandTypedArrayobjects, making it easier to debug binary data handling in your test scripts. Previously, these types would not display useful information, making debugging difficult when working with binary protocols, file uploads, or WebSocket binary messages.Click to expand example code
Configurable TLS version for Experimental Prometheus output #5537
The experimental Prometheus remote write output now supports configuring the minimum TLS version used for connections. This allows you to meet specific security requirements or compatibility constraints when sending metrics to Prometheus endpoints.
If not set, the default minimum TLS version is 1.3.
A new TOTP library k6-totp
A new TOTP (Time-based One-Time Password) library is now available in jslib.k6.io, enabling k6 scripts to generate and validate time-based one-time passwords. This is particularly useful for testing applications that use TOTP-based two-factor authentication (2FA), such as authenticator apps like Google Authenticator or Authy. See the documentation at k6-totp.
Click to expand example code
The library follows the standard TOTP RFC 6238 specification, ensuring compatibility with standard authenticator applications.
Introducing mcp-k6: AI-assisted k6 script writing mcp-k6
mcp-k6 is an experimental Model Context Protocol (MCP) server for k6. Once connected to your AI assistant or MCP-compatible editor (such as Cursor, VS Code, or Claude Desktop), it helps you write better k6 scripts faster and run them with confidence.
With mcp-k6, your AI assistant can:
export default functiondeclarations before execution.To get started, install mcp-k6 via Docker, Homebrew, or from source, then configure it with your editor. See the documentation for installation instructions and setup guides.
UX improvements and enhancements
ExecutionStatusMarkedAsFailedwhen a test is explicitly marked as failed usingexec.test.fail().Bug fixes
csv.parse()where each VU created its own copy of CSV data instead of sharing it.saltLength: 0with RSA-PSS sign/verify operations.Config.String()in the OpenTelemetry output to properly displayExporterProtocol.Maintenance and internal improvements
WaitForEventmapping more type-safe and consistent by using a typed event name parameter instead of a raw string.make generatecommand OS-agnostic for cross-platform compatibility.github.com/jhump/protoreflect/desc/protoparsewithgithub.com/bufbuild/protocompilefor better protobuf parsing.cloudapi/v6package with authentication features.onAttachedToTargetcontext done detection for better maintainability.TestFlushMaxSeriesInBatchnon-deterministic behavior.frameLocatorPR review comments and improves code organization.t.Parallel()onTestCompilefor now, to reduce flakiness in CI.Roadmap
We've started looking into k6 v2! The major release will focus on introducing breaking changes that have accumulated throughout the v1.x series, such as removing deprecated APIs and changing default behaviors. New features will continue to be incrementally released in v1.x minor versions as usual until the v2.0.0 release.
External contributors
A huge thank you to the external contributors who helped during this release: @LBaronceli, @baeseokjae, @chojs23, @pkalsi97, @weillercarvalho, @ariasmn, @rahulmedicharla, @janHildebrandt98 and @shota3506! 🙏
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
Need help?
You can ask for more help in the following Slack channel: #proj-renovate-self-hosted. In that channel you can also find ADR and FAQ docs in the Resources section.