File k6.changes of Package k6
-------------------------------------------------------------------
Mon Nov 10 13:09:41 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 1.4.0:
k6 v1.4.0 is here! This release includes:
* OpenTelemetry output graduated from experimental to stable
status.
* Changes in the Browser module:
- page.waitForRequest for waiting on specific HTTP requests.
- QueryAll methods now return elements in DOM order.
- locator.evaluate and locator.evaluateHandle for executing
JavaScript code in the page context with access to the
matching element.
- page.unroute(url) and page.unrouteAll for removing routes
registered with page.route.
* Breaking changes
As per our stability guarantees, breaking changes across minor
releases are allowed only for experimental features.
- Breaking changes for experimental modules
- #5164 OpenTelemetry output now exports rate metrics as a
single counter with zero/nonzero labels instead of separate
metrics.
- #5333 OpenTelemetry output configuration:
K6_OTEL_EXPORTER_TYPE is deprecated in favor of
K6_OTEL_EXPORTER_PROTOCOL to align with OpenTelemetry
standards.
- Breaking changes for undefined behaviours
- #5320, #5239, #5342 Automatic extension resolution now only
inspects ES module import statements and no longer supports
CommonJS require() calls. CommonJS require() calls are
dynamic, and it is not possible to know for certain if they
will be called, or if they will be called with static
strings - the only way they were even previously loaded.
This functionality was a quirk of the previous
implementation and had numerous problems. Additionally, use
k6 directives are now only recognized when they appear at
the beginning of files (after optional shebang and
whitespace/comments). This was the original intention, but
due to implementation bugs, it did not accurately reflect
what was happening.
* New features
- OpenTelemetry output graduation #5334
The OpenTelemetry output has graduated from experimental
status and is now available as a stable output using the name
opentelemetry. This change makes OpenTelemetry the
recommended vendor-agnostic solution for exporting k6
telemetry data.
You can now use the stable output name in your k6 commands:
# Previous experimental usage (still supported for backward compatibility)
K6 run --out experimental-opentelemetry script.js
# New stable usage
K6 run --out opentelemetry script.js
The experimental-opentelemetry name will continue to work for
backward compatibility for now but it's deprecated and we
might remove it in future versions. We recommend migrating to
use the new opentelemetry name.
- page.waitForRequest #5330
The browser module now supports page.waitForRequest(), which
allows you to wait for HTTP requests that match specific URL
patterns during browser automation. This method is
particularly valuable for testing scenarios where you need to
ensure specific network requests are initiated before
proceeding with test actions.
The method supports multiple URL pattern matching strategies:
// Wait for exact URL match
const requestPromise = page.waitForRequest('https://api.example.com/data');
await page.click('button[data-testid="load-data"]');
const request = await requestPromise;
// Wait for regex pattern match
await page.waitForRequest(/\/api\/.*\.json$/);
// Use with Promise.all for coordinated actions
await Promise.all([
page.waitForRequest('https://api.example.com/user-data'),
page.click('button[data-testid="load-user-data"]')
]);
This complements the existing page.waitForResponse() method
by focusing on HTTP requests rather than responses, providing
more granular control over network-dependent test scenarios.
- page.unroute(url) and page.unrouteAll() #5223
The browser module now supports page.unroute(url) and
page.unrouteAll(), allowing you to remove routes previously
registered with page.route.
Example usage:
await page.route(/.*\/api\/pizza/, function (route) {
console.log('Modifying request to /api/pizza');
route.continue({
postData: JSON.stringify({
customName: 'My Pizza',
}),
});
});
...
await page.unroute(/.*\/api\/pizza/); // The URL needs to be exactly the same as the one used in the call to the `route` function
await page.route(/.*\/api\/pizza/, function (route) {
console.log('Modifying request to /api/pizza');
route.continue({
postData: JSON.stringify({
customName: 'My Pizza',
}),
});
});
...
await page.unrouteAll();
- locator.evaluate and locator.evaluateHandle #5306
The browser module now supports locator.evaluate and
locator.evaluateHandle, allowing you to execute JavaScript
code in the page context with access to the matching element.
The only difference between evaluate and evaluateHandle is
that evaluateHandle returns a JSHandle.
Example usage:
await check(page, {
'calling evaluate': async p => {
const n = await p.locator('#pizza-name').evaluate(pizzaName => pizzaName.textContent);
return n == 'Our recommendation:';
}
});
await check(page, {
'calling evaluate with arguments': async p => {
const n = await p.locator('#pizza-name').evaluate((pizzaName, extra) => pizzaName.textContent + extra, ' Super pizza!');
return n == 'Our recommendation: Super pizza!';
}
});
const jsHandle = await page.locator('#pizza-name').evaluateHandle((pizzaName) => pizzaName);
const obj = await jsHandle.evaluateHandle((handle) => {
return { innerText: handle.innerText };
});
console.log(await obj.jsonValue()); // {"innerText":"Our recommendation:"}
- New officially supported k6 DNS extension
The xk6-dns extension is now officially supported in k6 OSS
and k6 Cloud. You can import k6/x/dns directly in your
scripts thanks to automatic extension resolution, with no
custom build required.
Use it to perform DNS resolution testing as part of your
tests: resolve names via custom or system DNS, measure
resolution latency and errors, validate records before HTTP
steps, compare resolvers, and even load test DNS servers in
end‑to‑end scenarios.
For example:
import dns from 'k6/x/dns';
export default function () {
const answer = dns.resolve('grafana.com', { recordType: 'A' });
console.log(answer.records.map(({ address }) => address).join(', '));
}
The extension currently supports A and AAAA record lookups.
If you would like to see additional record types supported,
please consider contributing to the extension.
- Automatic extension resolution improvements #5320, #5239,
#5342, #5332, #5240
Automatic extension resolution has been completely
reimplemented to use k6's internal module loader instead of
the external k6deps/esbuild pipeline. This change brings
significant improvements in reliability and maintainability.
As part of the rewrite, a few issues and unintended features
were found, namely:
- Trying to follow require calls, which, due to their dynamic
nature, don't work particularly stably. That is, depending
on where and how the require call was used, k6 might decide
whether it is needed or not. And it definitely doesn't work
when using actual string variables. Support for CommonJS is
primarily for backward compatibility, so after an internal
discussion, we opted not to support it at all. We could
bring this back until v2, if there is enough interest.
However, in the long term, it is intended that this not be
part of k6.
- "use k6 with ..." directives were parsed from the whole
file instead of just the beginning, which leads to numerous
problems, and was not the intended case. As such, they are
now only parsed at the beginning of files (not just the
main one) with potential empty lines and comments preceding
them.
Example:
// main.js
"use k6 with k6/x/faker"
import { faker } from 'k6/x/faker';
import { helper } from './utils.js';
export default function() {
console.log(faker.name());
helper();
}
Or, an example using the directive with CommonJS
// utils.js
"use k6 with k6/x/redis"
const redis = require('k6/x/redis');
exports.helper = function() {
// Use redis extension
}
In this example, k6 will detect both k6/x/faker and
k6/x/redis extensions from the use k6 directives in both
files and provision a binary that includes both extensions if
needed.
Other fixes this brings are:
- Fixes for path related issues (irregardless of usage of the
feature) on windows, especially between drives. It is
possible there were problems on other OSes that were just
not reported. #5176
- Syntax errors were not reported as such, as the underlying
esbuild parsing will fail, but won't be handled well.
#5127, #5104
- Propagating exit codes from a sub-process running the new
k6. This lets you use the result of the exit code.
* UX improvements and enhancements
- #5307 QueryAll methods now return elements in DOM order.
Thank you, @shota3506, for the contribution.
- #5159 Simplifies warning message for legacy config files.
- #5343 Explictly marks the option's default values.
* Bug fixes
- #5242 Fixes cleanup errors on Windows for browser tests.
- #5246 Fixes the support for TypeScript source code from
stdin.
- #5322 Fixes browser.newPageInContext bug where pages created
in a non-existing browser context.
* Maintenance and internal improvements
- #5238 Browser: Fix early context cancellation in tests
- #5347, #5349 Browser: Move k6ext.Promise to the mapping
layer.
- #5340 Browser: Simplify page event iteration by using an
iterator.
- #5315, #5311 Browser: Revamped page event listening internals
for addition of new features and better maintainability.
- #5339 Browser: Remove unused VU fields.
- #5314 Browser: Refactor pattern matcher.
- #5222 Browser: Fix linter errors and warnings.
- #5207 Browser: Refactor and improve selector parsing. Thank
you, @elmiringos for the contribution.
- #5313, #5321 Update to k6provider v0.2.0 and update code to
use the new API.
- #4682 Update go-httpbin dependency to v2 and update tests to
accommodate breaking changes.
- #5309 Update cdproto dependency and fix syntax changes in
browser module.
- #5209 Update golangci-lint to v2.5.0 and fix related linting
issues.
- #5308 Format Go Doc comments. Thank you, @shota3506 for the
contribution.
- #5184 Migrates Prometheus Remote-Write output configuration
parsing to envconfig.
- #5304 Bumps the minimum required Go version to 1.24.
- #5214 Update release issue template after 1.3.0
- #5303 Fixes code scanning alert no. 102: Incorrect conversion
between integer types.
- #5302, #5244 Refactors Sobek out of business logic and into
mapping layer for the browser module.
- #5247 Refactors indirection out of locator.go.
- #4234, #5301, #5300, #5208 Updates renovate config.
- #5355, #5354, #5353, #5352, #5351, #5324, #5293, #5292,
#5291, #5290, #5288, #5287, #5286, #5284, #5283, #5282,
#5268, #5267, #5266, #5265, #5258, #5257, #5256, #5253,
#5252, #5251, Updates dependencies.
- #5216 Refactors TestPageOnResponse to fail fast on errors.
Thank you, @rMaxiQp for the contribution.
- #5203, #5201 Adds WinGet support to the project.
- #5220 Switches from gouuid to google/uuid. Thank you,
@mikelolasagasti for the contribution.
- #5344, #5345 Uses .env context for ghcr login when publishing
docker images.
- #5331 Reports require calls during the initial loading of
modules, instead for each call in all execution of all VUs.
- #5218 Adds user AgnesToulet to the auto assign issue
workflow.
-------------------------------------------------------------------
Tue Sep 23 10:39:56 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 1.3.0:
New features and their explanations can be found in the release
notes. You can also find the roadmap there.
https://github.com/grafana/k6/releases/tag/v1.3.0
* Deprecations
- A new summary mode disabled has been introduced to replace
the "no summary" option #5118
The --no-summary flag and its corresponding environment
variable K6_NO_SUMMARY have been deprecated in favor of the
new disabled summary mode. This change unifies the
configuration experience for controlling the end-of-test
summary. You can now disable the end-of-test summary with
either --summary-mode=disabled or K6_SUMMARY_MODE=disabled.
- The legacy summary mode has been deprecated #5138
The legacy summary mode was introduced in k6 v1.0, when the
end-of-test summary was revamped with the addition of two new
modes: compact and full. Its purpose was to ease the
transition for users who relied heavily on the old summary
format. However, we’ve now reached the point where it’s time
to deprecate it. The plan is to fully remove it in k6 v2.0,
so please migrate to either compact or full to ensure
readiness for the next major release.
* UX improvements and enhancements
- #5117 Unifies unauthenticated errors for Cloud commands.
- #5125 Changes a warn log to a debug when a worker type is
used on a website under test.
- #5111 Adds retries to actionability based APIs (locator) when
elements aren't visible.
- #5004 Removes undefined headers from route.continue/fulfill.
- #4984 Adds link to documentation in k6 --help output. Thank
you, @Nishant891 for the change.
* Bug fixes
- #5079 Fixes version of k6 when it is built with xk6.
- #5057 Fixes a panic on the deprecated k6 login cloud command.
Thanks @indygriffiths for reporting it!
- #5059 Fixes group order in end of test summary when scenarios
are used.
- #5081 Fixes auto extension resolution only working if binary
is called k6 after a fix in v1.2.2.
- #5089 Fixes gRPC calls not using loaded types and erroring
out, especially around the usage of Any.
- #5071, #5086, #5163 Fixes click action in browser module when
working in iframes and CORS.
- #5084 Fixes a browser module issue when adopting elements
from util to main execution contexts in Chromium.
- #5178 Fixes a subtle metric labelling issue in Prometheus RW
output.
- #5200 Fixes a bug where clearTimeout would not recalculate
the timer but instead will run the next timer earlier if it
used to remove the earliest one.
* Maintenance and internal improvements
- #5165 Fixes arguments order for multiple
{require|assert}.{Equal|NotEqual} and equivalent calls.
- #5157 Fixes the test TestURLSkipRequest for Chrome 140+.
- #5074, #5078 Uses common.IsNullish through the code instead
of other variants of it or custom helpers.
- #5072, #5107, #5108 Update k6packager debian to latest LTS
and fixes due to the update.
- #5051, #5052, #5053 Adds tests and refactors getBy* and
waitForURL implementations.
- #5101 Updates times to nanoseconds to make tests less flakey
in CI.
- #5122 Migrates to use a new code signing process for Windows
binaries instead of using the static code-signing
certificate. Thanks @martincostello for the contribution!
- #5048 Updates release issue template after v1.2.0
- #5046 Adds architecture overview and code authoring
instructions for Claude Code and alike.
-------------------------------------------------------------------
Thu Aug 28 04:46:56 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 1.2.3:
* Bug fixes
- #5099 Fixes auto extension resolution only working if binary
is called k6 after a fix in v1.2.2.
- #5098 Fixes gRPC calls not using loaded types and erroring
out, especially around the usage of Any.
-------------------------------------------------------------------
Wed Aug 20 12:55:34 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 1.2.2:
* Bug fixes
- #5067 fixes a panic on the deprecated k6 login cloud command.
Thanks @indygriffiths for reporting it!
- #5069 Fixes group order in end of test summary when scenarios
are used.
- #5070 Adds nullish check to the new getByRole and add tests
for other getBy* APIs nullish checks.
-------------------------------------------------------------------
Wed Aug 20 12:51:29 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 1.2.1:
https://github.com/grafana/k6/releases/tag/v1.2.1
Note: An old xk6-browser repo v1.2.0 tag was pushed by mistake.
It was left over on the machine since the merging of the two
repos. As such it can not be used as a go module or installed
with go install. For this reason v1.2.1 is released.
-------------------------------------------------------------------
Wed Aug 20 12:37:57 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 1.2.0:
The release notes contain a lot of examples and documentation on
new features, please check it out here:
https://github.com/grafana/k6/releases/tag/v1.2.0
* Breaking changes
As per our stability guarantees, breaking changes across minor
releases are allowed only for experimental features.
Breaking changes for experimental modules
- The experimental Open Telemetry and Prometheus outputs now
default to TLSv1.3. This should've been the default to
begin with. It is not expected that anyone should be
affected, apart from making it more secure for the metrics
output to send messages.
* UX improvements and enhancements
- #4878 Do not report NaN percentages when there are no checks
in the end of test summary. Thank you @Fernando-hub527 for
the fix.
- #4897 Support string-labels in locator.selectOption in the
browser module.
- #4898 Add support for authority pseudo header to the gRPC
module. Thank you @Oursin for the changes.
- #4916 Print errors more consistently and correctly.
- #4918 Surface navigation errors from navigation events in the
browser module.
- #4919 page.url() now doesn't make a call to the browser but
instead uses a cached version. Making it a lot faster and
aligned with playwright.
- #4932 Making it more clear that the requests were aborted in
the browser module.
- #4944 Add Prometheus metrics endpoint. Thank you @gouthamve.
- #5040 Use new expect() syntax in script templates.
- #4976 Align metrics in end of test summary with using less
dots and less horizontal space.
* Bug fixes
- #4850 Fixes incorrect conversions between integer types in
the browser module.
- #4973 Fixes panic when BrowserContext is requested before
creating a Page in the browser module.
- #4975 Fixes potential race conditions in the browser module.
- #5015 Fixes waitForNavigation now blocking the iteration from
ending if page.close is not called.
- #5017 Fixes potential race conditions in gRPC module, when it
gets protobuf defintions from remote server.
* Maintenance and internal improvements
- #4666 Lowers the log level on some cloud output logs that
were too noisy.
- #4879, #4945 Updates of software used by the internal
k6packager that packages k6.
- #4886 Prevents running Winsign for public forks to avoid
failing and wasting CI time.
- #4892, #4901, #4909, #4927, #4928, #4929, #4939, #4954,
#4965, #4977, #5000, #5001, #5041, #5043 Updates
dependencies.
- #4925 Configures Dependabot to update all OTel dependencies.
- #4914, #4967, #4974, #4990, #4991, #5007, #5008 PRs trying to
get the CI tests to be more stable.
- #4923 Mention k6 studio in the readme for more visibility.
- #4931 Lower the debug log on internal implementation detail
error.
- #4943, #4946, #4948 Fix the CI not checking generated files
and pinning versions.
- #4949 Updates to Linux Alpine 3.22 for building the k6 docker
image.
- #4950 Adds Dependabot rule to update the main Dockerfile
dependencies.
- #4958 Passes k6's file system to k6deps (for automatic
extension resolution).
- #4959 Copies Zizmor configuration in the repository to make
it work for forks.
- #4960 Reduces waitForNavigation complexity.
- #4969, #4986 Updates around semgrep scanning for security
issues.
- #4994 Configures Dependabot to update dependencies in Github
actions.
- #4996, #4997, #4998 Updates to github actions dependancies.
- #5014 Adds a test for running tests with the automatic
extension resolution disabled.
- #5016 Fix internal/cmd/tests with automatic extension
resolution enabled.
- #5020 Fix examples with browser using the wrong endpoints.
-------------------------------------------------------------------
Mon Jun 30 05:25:54 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 1.1.0:
https://github.com/grafana/k6/releases/tag/v1.1.0
* k6 v1.1.0 is here 🎉! This release includes:
- New count, nth, first, and last methods for the browser
module's Locator API #4797, #4825
- The k6/experimental/webcrypto module has been removed as its
functionality is available globally.
- Group results in the full end-of-test summary are now sorted as
in code and properly indented.
* Breaking changes for experimental modules
- Remove experimental k6/experimental/webcrypto module #4851
The WebCrypto API has been available globally since
v1.0.0-rc1 (or v0.58.0), and now the experimental import
(k6/experimental/webcrypto) is no longer available.
The required change for users is to remove the import; the
rest of the code should work.
* New features
- New count method for the browser module's Locator API #4797
The new locator.Count method returns the number of elements
matching the locator. Unlike other Locator API methods,
locator.Count returns the result immediately and doesn't wait
for the elements to be visible.
- New nth, first and last methods for the browser module's
Locator API #4825
The new Locator API methods, nth, first, and last, can select
a single element from multiple elements matched by a locator.
For example, selecting a single item from a catalogue of
items on an e-commerce website. Because items in this
catalogue generally change often and selecting an exact
element may fail in future test runs, the new methods help to
prevent flaky tests, leading to more reliable tests.
* UX improvements and enhancements
- #4807 Sorts full end-of-test summary group results as in code
and fixes the indentation. Thanks, @the-it, for the
contribution!
- #4832 Uses consistent error messages in the execution config
options.
* Bug fixes
- #4794 Fixes race conditions from stringifying types in
k6/browser.
- #4809 Fixes the locator.fill method when used on react based
websites.
- #4831 Fixes the Dockerfile for k8s use by setting the user to
12345 instead of k6 to avoid having to work with runAsUser in
the pod manifest file.
- #4845 Fixes an infrequent panic when click is called.
* Maintenance and internal improvements
- #4608 Enables the 'copyloopvar' linter.
- #4744 Updates the 'golangci-lint' linter to v2.
- #4746 Adds a collection of small k6/browser performance
improvements.
- #4750 Fixes the lint GHA.
- #4775 Updates the version of the golangci-lint GHA.
- #4784 Fixes the golangci-lint version detection and
execution. Thanks, @tbourrely, for the contribution!
- #4785 Updates the chromedp/cdproto dependency and adjusts the
Browser module accordingly.
- #4800 Allows un/marshaling of invalid UTF-8 when using JSONv2
within the Browser module.
- #4802 Fixes the examples/grpc_server and updates its
dependencies.
- #4822 Uses the CODECOV_TOKEN variable for GH Workflows from
Vault.
- #4831 Fixes the default user defined in the Dockerfile.
- #4833 Retrieves secrets from Vault and adjusts the
'k6packager' deployment process.
- #4837, #4847 Prevent Codecov from running on forks.
- #4848 Enables CI pipelines to be executed also on ARM
(ubuntu-24.04-arm). Thanks, @nadiamoe, for the contribution!
- #4855 Adds some changes to make Browser tests more stable.
- #4864 Updates the logging to debug and adds more context to
it when waiting for an element to be detached.
- #4780, #4781, #4782, #4786, #4798, #4816, #4821, #4835, #4840
Update direct dependencies.
* build(deps): bump github.com/evanw/esbuild from 0.25.3 to
0.25.4 (#4780)
* build(deps): bump github.com/evanw/esbuild from 0.25.4 to
0.25.5 (#4821)
* build(deps): bump github.com/grafana/xk6-dashboard from
0.7.5 to 0.7.6
* build(deps): bump google.golang.org/grpc in the googles
group
* build(deps): bump google.golang.org/grpc in the googles
group
* build(deps): bump the golangx group with 5 updates
* build(deps): bump the golangx group with 6 updates
* build(deps): bump the googles group across 1 directory with
3 updates (#4835)
* build(deps): bump the otel group with 6 updates
-------------------------------------------------------------------
Tue May 06 11:22:39 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 1.0.0:
Grafana k6 v1.0 is here!
After 9 years of iteration and countless community contributions,
we're thrilled to announce Grafana k6 v1.0.
While many features and capabilities in this release were
introduced gradually in previous versions, k6 v1.0 marks a
turning point: a commitment to stability, formal support
guarantees, and transparency in how we evolve and develop the
project from here. This milestone is more than a version number;
it's about trust, reliability, and empowering you to test
confidently.
What's New in k6 1.0?
* Stability You Can Build On
* First-Class TypeScript Support
* Extensions Made Simple
* Revamped test summary
* Quality of Life Upgrades
Full changelog:
https://github.com/grafana/k6/releases/tag/v1.0.0
-------------------------------------------------------------------
Tue May 06 04:56:02 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 0.59.0:
The v0.59.0 release mirrors the previous v1.0.0-rc2 release to
allow automation tools to recognize it as the latest version.
For example, Homebrew's k6 formulae and pkg.go.dev do not
automatically fetch unstable versions such as v1.0.0-rc2, which
is legitimately the expected behavior for these tools.
However, this has been the default for all previous v0.*
releases, where they were considered the latest stable
version—even if they were under a version typically associated
with unstable releases. To address this, we will continue
releasing mirrored versions under v0.* for necessary release
candidates.
This practice will end once the official stable v1.0.0 release is
available, after which we will follow the standard SemVer
lifecycle to simplify the workflow for everyone.
The release notes for v1.0.0-rc2 provide a detailed look at all
the changes that have been implemented since v1.0.0-rc1/v0.58.0
and are now part of this version.
* New features
- Native support for extensions in the Cloud #4671
The new Binary Provisioning feature automatically requests
and uses custom k6 binaries with the required extensions for
your tests. This allows you to run scripts that use
extensions without manually rebuilding k6 as it was in the
past by depending on tools like xk6. The system caches
binaries locally for efficiency, and any additional runs with
the same dependencies will use the same binary and will run
faster.
Binary Provisioning is available for all k6 Cloud users (free
and paid plans). It is an experimental feature, it's enabled
by opt-in with the feature flag K6_BINARY_PROVISIONING=true.
Binary provisioning is a limited set of extensions that are
supported, and it's not available for the k6 run command that
might be added in the future. However, local development is
supported with the k6 cloud --local-execution command if a
cloud token is provided by the canonical login methods.
Check out the documentation for additional details.
https://grafana.com/docs/grafana-cloud/testing/k6/author-run/use-k6-extensions
- Test failure control with execution.test.fail #4672
The new execution.test.fail function allows you to explicitly
fail a test while letting it continue execution until
completion. This gives you more control over test outcomes
while still collecting all metrics and completing necessary
cleanup tasks.
* UX improvements and enhancements
- #4698 Displays threshold values even when are not configured
in summaryTrendStats option.
- #4699 Drops the link of the legacy k6 website from the user
agent.
* Bug fixes
- #4717 Safeguards against pressedKeys being updated
concurrently in the browser module.
- #4665 Prevents race condition between Ended & Interrupted
execution states.
- #4677 Makes secretsource also redact float32 and float64
values.
* Maintenance and internal improvements
- #4675, #4676, #4678 Move several packages to internal as
preparations for v1.0.0 stabilization
- #4686 Drops the redundant NO_COLOR detection.
- #4709 Fixes JS native objects override to avoid a page under
the test from overwriting native JavaScript objects, like Set
and Map.
- #4726 Unifies the internal/cmd.Execute methods.
- #4703 Makes wptTests run without tags or skip if repos not
checkout.
- #4701 Fixes WebCrypto errors not propagating from the tests.
- #4691, #4674, #4673, #4663 Bumps the versions for
OpenTelemetry, grpc, golang/x and esbuild dependencies.
- #4691 Bumps x509roots/fallback dependency for fallback
certificates.
- #4739 Removes deprecated GetLayoutMetrics.VisualViewport CDP
usage.
-------------------------------------------------------------------
Mon Mar 31 10:52:24 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
- Update to version 0.58.0:
The v0.58.0 release mirrors the previous v1.0.0-rc1 release to
allow automation tools to recognize it as the latest version.
For example, Homebrew's k6 formulae and pkg.go.dev do not
automatically fetch unstable versions such as v1.0.0-rc1, which
is legitimately the expected behavior for these tools.
However, this has been the default for all previous v0.*
releases, where they were considered the latest stable
version—even if they were under a version typically associated
with unstable releases. To address this, we will continue
releasing mirrored versions under v0.* for necessary release
candidates.
This practice will end once the official stable v1.0.0 release is
available, after which we will follow the standard SemVer
lifecycle to simplify the workflow for everyone.
The release notes for v1.0.0-rc1 provide a detailed look at all
the changes that have been implemented since v0.57.0 and are now
part of this version.
https://github.com/grafana/k6/releases/v1.0.0-rc1
-------------------------------------------------------------------
Tue Mar 18 17:41:47 UTC 2025 - opensuse_buildservice@ojkastl.de
- Update to version 0.57.0:
* Release v0.57.0 (#4511)
* Bump k6 version
* Add TODO to Frame.SetContent (#4538)
* browser: race fix in page.setInputFiles
* browser: race fix in page.SetViewportSize
* browser: race fix in page.selectOptions and co
* Drop not true TODO comments
* browser: race fix in page.screenshot
* browser: race fix in page/frame.Check
* Fix setContent racy access to options
-------------------------------------------------------------------
Tue Mar 18 17:40:04 UTC 2025 - Johannes Kastl <opensuse_buildservice@ojkastl.de>
- new package k6: a modern load testing tool, using Go and
JavaScript