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
openSUSE Build Service is sponsored by