From 1ff1d30d09f1d88712b1e26af482e8fca531e612 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov Date: Mon, 5 Jun 2023 19:13:40 +0300 Subject: [PATCH 01/18] Add v0.45.0 release notes --- release notes/v0.45.0.md | 169 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 release notes/v0.45.0.md diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md new file mode 100644 index 00000000000..1b5f0e87d04 --- /dev/null +++ b/release notes/v0.45.0.md @@ -0,0 +1,169 @@ +k6 v0.45.0 is here πŸŽ‰! This release includes: + +- Experimental gRPC streaming support. +- Only update scripts in cloud. +- JS Metadata API. +- A lot of internal changes and bugfixes. + +## Breaking changes + +* [#3066](https://github.com/grafana/k6/pull/3066) k6 will now warn users on metric names that are not compatible with open telemetry or prometheus. This is planned to become an error with v0.48.0. + +## New features + +### Experimental gRPC module with stream supports [#3107](https://github.com/grafana/k6/pull/3107) + +There is a new experimental module `k6/experimental/grpc`. It is a copy of the `k6/grpc` module with added stream support [#2020](https://github.com/grafana/k6/issues/2020). + + +
+ Expand to see an example of the new functionality. + +This example shows server streaming: + +```javascript +import { Client, Stream } from 'k6/experimental/grpc'; +import { sleep } from 'k6'; + +const COORD_FACTOR = 1e7; +// to run this sample, you need to start the grpc server first. +// to start the grpc server, run the following command in k6 repository's root: +// go run -mod=mod examples/grpc_server/*.go +// (golang should be installed) +const GRPC_ADDR = __ENV.GRPC_ADDR || '127.0.0.1:10000'; +const GRPC_PROTO_PATH = __ENV.GRPC_PROTO_PATH || '../../grpc_server/route_guide.proto'; + +let client = new Client(); + +client.load([], GRPC_PROTO_PATH); + +export default () => { + client.connect(GRPC_ADDR, { plaintext: true }); + + const stream = new Stream(client, 'main.FeatureExplorer/ListFeatures', null); + + stream.on('data', function (feature) { + console.log( + 'Found feature called "' + + feature.name + + '" at ' + + feature.location.latitude / COORD_FACTOR + + ', ' + + feature.location.longitude / COORD_FACTOR + ); + }); + + stream.on('end', function () { + // The server has finished sending + client.close(); + console.log('All done'); + }); + + stream.on('error', function (e) { + // An error has occurred and the stream has been closed. + console.log('Error: ' + JSON.stringify(e)); + }); + + // send a message to the server + stream.write({ + lo: { + latitude: 400000000, + longitude: -750000000, + }, + hi: { + latitude: 420000000, + longitude: -730000000, + }, + }); + + sleep(0.5); +}; +``` +
+ +You can just replace `k6/grpc` import with `k6/experimental/grpc` to use the new functionality. + +In the future this functionality will be moved to the `k6/grpc` module. + +### You can now only upload a test to the cloud without running it [#3030](https://github.com/grafana/k6/pull/3030) + +For [years users have wanted](https://github.com/grafana/k6-cloud-feature-requests/issues/22) to be able to update the test that is saved in the cloud but *not* run it at this exact point. + +This is now possible by adding `--upload-only` when invoking `k6 cloud` as in `k6 cloud --upload-only script.js`. + +This is likely going to be most useful in a CI on the actual test script project. Now that CI can just run `k6 cloud --upload-only new-verson-of-script.js` on "release". + +And later on that newer version will be used. For example by a [scheduled run](https://k6.io/docs/cloud/manage/scheduled-tests/). + +### Setting sample metadata API [#3037](https://github.com/grafana/k6/pull/3037) + +It is now possible to set metadata for samples emitted by a given VU. + +Metadata was added in v0.41.0 but was not available to be set from JS code. This was mainly due to lack of agreement on the API to do so. + +After further discussion a compromised smaller and consistent API was aggread upon. + +The API is similar to the one used to set tags for all metrics of the vu: +```javascript +import exec from "k6/execution"; + +export default () => { + exec.vu.metrics.metadata["my_cool_id"] = "a very unique value" + // all metrics from here on will have this metadata set + delete exec.vu.metrics.metadata["my_cool_id"] + // all metriccs from here on wil *not* have the metadata set +} +``` + +This also introduces the sub object `metrics` on the `vu` object. +Apart from `metadata` it has another property `tags`. This is supposed to be the new way to set tags instead of usng `exec.vu.tags`. + +There are no current plans when or if `exec.vu.tags` will be dropped and only `exec.vu.metrics.tags` to stay. + +### UX improvements and enhancements + +- [#3015](https://github.com/grafana/k6/pull/3015) Official arm64 docker images. Thanks to @nrxr! πŸ™‡ +- [#3099](https://github.com/grafana/k6/pull/3099) replace "breached" with "crossed" in logs around thresholds. Thanks to @MattDodsonEnglish πŸ™‡. +- [#3102](https://github.com/grafana/k6/pull/3102) Better error message when SharedArray constructor is provided with an async function. This is not supported, but the original message wasn't very clear. +- [#3089](https://github.com/grafana/k6/pull/3089) Add SBOM reports to k6 releases. Thanks to @SadFaceSmith πŸ™‡. + +## Bug fixes + +* [#3058](https://github.com/grafana/k6/pull/3058) fix repetitive `the`. Thank you, @cuishuang πŸ™‡. + +## Maintenance and internal improvements + +- [#2091](https://github.com/grafana/k6/pull/2991) Refactor JS modules system so that is usable in tests. Which allowed the enablement of the tc39 tests for modules [#3040](https://github.com/grafana/k6/pull/3040). +- [#3025](https://github.com/grafana/k6/pull/3025) Internally stop referring to afero and use an internal package to do all file system interaction. That package still uses afero. +- [#3036](https://github.com/grafana/k6/pull/3036) and [#3053](https://github.com/grafana/k6/pull/3053) Add options to `scenarios` for usage by browser module. +- [#3064](https://github.com/grafana/k6/pull/3064), [#3070](https://github.com/grafana/k6/pull/3070), [#3075](https://github.com/grafana/k6/pull/3075) and [#3106](https://github.com/grafana/k6/pull/3106) Go dependancies updates. +- [#3067](https://github.com/grafana/k6/pull/3067) Add method to retrive all registered metrics. +- [#3068](https://github.com/grafana/k6/pull/3068) Add metric Sink constructor. +- [#3078](https://github.com/grafana/k6/pull/3078) Pinning to alpine 3.17 in docker builder image. Thank you, @arukiidou πŸ™‡. +- [#3086](https://github.com/grafana/k6/pull/3086) Fix downlonad `.golangci.yml` for PRs from forks. +- [#3088](https://github.com/grafana/k6/pull/3088) Make TestDNSResolver less flaky. +- [#3094](https://github.com/grafana/k6/pull/3094) Fix example from the run command. Thanks to @rocktwotj πŸ™‡. +- [#3095](https://github.com/grafana/k6/pull/3095) Maintenance update of .`golangci.yml`. +- [#3103](https://github.com/grafana/k6/pull/3103) Fix lint and logical issues in `k6/data` module tests. +- [#3045](https://github.com/grafana/k6/pull/3045), [#3049](https://github.com/grafana/k6/pull/3049), [#3073](https://github.com/grafana/k6/pull/3073) and [#3044](https://github.com/grafana/k6/pull/3044) New issues are now assigned to maintaners. This is to better split the triaging of new issues between maitainers. Also, both that and new PRs assignement actions are now not using external actions. +## Roadmap + +There is now a [public Roadmap document](https://github.com/grafana/k6/blob/master/ROADMAP.md) in the main repo added in [#3028](https://github.com/grafana/k6/pull/3028) + +The idea is that we will keep it updated and current or future users will be able to look at it to see on what bigger projects the team is working on. + +### Cloud output v2 + TODO + - https://github.com/grafana/k6/pull/2963 + - https://github.com/grafana/k6/pull/3027 + - https://github.com/grafana/k6/pull/3041 + - https://github.com/grafana/k6/pull/3061 + - https://github.com/grafana/k6/pull/3063 + - https://github.com/grafana/k6/pull/3071 + - https://github.com/grafana/k6/pull/3072 + - https://github.com/grafana/k6/pull/3082 + - https://github.com/grafana/k6/pull/3083 + - https://github.com/grafana/k6/pull/3085 + - https://github.com/grafana/k6/pull/3098 + - https://github.com/grafana/k6/pull/3105 +_Placeholder_ From f36a346b193672ba1570bae58b97b33e8e208f1c Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Tue, 6 Jun 2023 10:46:30 +0300 Subject: [PATCH 02/18] Apply suggestions from code review Co-authored-by: Oleg Bespalov --- release notes/v0.45.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index 1b5f0e87d04..2e4eadcb3f2 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -1,17 +1,17 @@ k6 v0.45.0 is here πŸŽ‰! This release includes: - Experimental gRPC streaming support. -- Only update scripts in cloud. +Update scripts in the cloud without running tests. - JS Metadata API. - A lot of internal changes and bugfixes. ## Breaking changes -* [#3066](https://github.com/grafana/k6/pull/3066) k6 will now warn users on metric names that are not compatible with open telemetry or prometheus. This is planned to become an error with v0.48.0. +* [#3066](https://github.com/grafana/k6/pull/3066) k6 will warn users about metric names incompatible with OpenTelemetry or Prometheus. This is planned to become an error with v0.48.0. ## New features -### Experimental gRPC module with stream supports [#3107](https://github.com/grafana/k6/pull/3107) +### Experimental gRPC module with streaming support [#3107](https://github.com/grafana/k6/pull/3107) There is a new experimental module `k6/experimental/grpc`. It is a copy of the `k6/grpc` module with added stream support [#2020](https://github.com/grafana/k6/issues/2020). @@ -101,9 +101,9 @@ It is now possible to set metadata for samples emitted by a given VU. Metadata was added in v0.41.0 but was not available to be set from JS code. This was mainly due to lack of agreement on the API to do so. -After further discussion a compromised smaller and consistent API was aggread upon. +After further discussion, a compromised, smaller and consistent API was agreed upon. -The API is similar to the one used to set tags for all metrics of the vu: +The API is similar to the one used to set tags for all metrics of the VU: ```javascript import exec from "k6/execution"; @@ -115,7 +115,7 @@ export default () => { } ``` -This also introduces the sub object `metrics` on the `vu` object. +This also introduces the sub-object `metrics` on the `vu` object. Apart from `metadata` it has another property `tags`. This is supposed to be the new way to set tags instead of usng `exec.vu.tags`. There are no current plans when or if `exec.vu.tags` will be dropped and only `exec.vu.metrics.tags` to stay. @@ -125,7 +125,7 @@ There are no current plans when or if `exec.vu.tags` will be dropped and only `e - [#3015](https://github.com/grafana/k6/pull/3015) Official arm64 docker images. Thanks to @nrxr! πŸ™‡ - [#3099](https://github.com/grafana/k6/pull/3099) replace "breached" with "crossed" in logs around thresholds. Thanks to @MattDodsonEnglish πŸ™‡. - [#3102](https://github.com/grafana/k6/pull/3102) Better error message when SharedArray constructor is provided with an async function. This is not supported, but the original message wasn't very clear. -- [#3089](https://github.com/grafana/k6/pull/3089) Add SBOM reports to k6 releases. Thanks to @SadFaceSmith πŸ™‡. +- [#3089](https://github.com/grafana/k6/pull/3089) Add Software Bill of Materials (SBOM) reports to k6 releases. Thanks to @SadFaceSmith πŸ™‡. ## Bug fixes @@ -143,7 +143,7 @@ There are no current plans when or if `exec.vu.tags` will be dropped and only `e - [#3086](https://github.com/grafana/k6/pull/3086) Fix downlonad `.golangci.yml` for PRs from forks. - [#3088](https://github.com/grafana/k6/pull/3088) Make TestDNSResolver less flaky. - [#3094](https://github.com/grafana/k6/pull/3094) Fix example from the run command. Thanks to @rocktwotj πŸ™‡. -- [#3095](https://github.com/grafana/k6/pull/3095) Maintenance update of .`golangci.yml`. +- [#3095](https://github.com/grafana/k6/pull/3095) Maintenance update of `.golangci.yml`. - [#3103](https://github.com/grafana/k6/pull/3103) Fix lint and logical issues in `k6/data` module tests. - [#3045](https://github.com/grafana/k6/pull/3045), [#3049](https://github.com/grafana/k6/pull/3049), [#3073](https://github.com/grafana/k6/pull/3073) and [#3044](https://github.com/grafana/k6/pull/3044) New issues are now assigned to maintaners. This is to better split the triaging of new issues between maitainers. Also, both that and new PRs assignement actions are now not using external actions. ## Roadmap From dc9ee3033c9b2a3247409b68d6656ccf5f9cb1e0 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Tue, 6 Jun 2023 11:10:24 +0300 Subject: [PATCH 03/18] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ivan MiriΔ‡ --- release notes/v0.45.0.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index 2e4eadcb3f2..87000b1a41b 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -1,7 +1,7 @@ k6 v0.45.0 is here πŸŽ‰! This release includes: - Experimental gRPC streaming support. -Update scripts in the cloud without running tests. +- Update scripts in the cloud without running tests. - JS Metadata API. - A lot of internal changes and bugfixes. @@ -116,9 +116,9 @@ export default () => { ``` This also introduces the sub-object `metrics` on the `vu` object. -Apart from `metadata` it has another property `tags`. This is supposed to be the new way to set tags instead of usng `exec.vu.tags`. +Apart from `metadata` it has another property `tags`. This is meant to be the new way to set tags instead of using `exec.vu.tags`. -There are no current plans when or if `exec.vu.tags` will be dropped and only `exec.vu.metrics.tags` to stay. +There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags`. ### UX improvements and enhancements @@ -139,13 +139,13 @@ There are no current plans when or if `exec.vu.tags` will be dropped and only `e - [#3064](https://github.com/grafana/k6/pull/3064), [#3070](https://github.com/grafana/k6/pull/3070), [#3075](https://github.com/grafana/k6/pull/3075) and [#3106](https://github.com/grafana/k6/pull/3106) Go dependancies updates. - [#3067](https://github.com/grafana/k6/pull/3067) Add method to retrive all registered metrics. - [#3068](https://github.com/grafana/k6/pull/3068) Add metric Sink constructor. -- [#3078](https://github.com/grafana/k6/pull/3078) Pinning to alpine 3.17 in docker builder image. Thank you, @arukiidou πŸ™‡. -- [#3086](https://github.com/grafana/k6/pull/3086) Fix downlonad `.golangci.yml` for PRs from forks. +- [#3078](https://github.com/grafana/k6/pull/3078) Pinning to Alpine 3.17 in Docker builder image. Thank you, @arukiidou πŸ™‡. +- [#3086](https://github.com/grafana/k6/pull/3086) Fix downloading `.golangci.yml` for PRs from forks. - [#3088](https://github.com/grafana/k6/pull/3088) Make TestDNSResolver less flaky. - [#3094](https://github.com/grafana/k6/pull/3094) Fix example from the run command. Thanks to @rocktwotj πŸ™‡. - [#3095](https://github.com/grafana/k6/pull/3095) Maintenance update of `.golangci.yml`. - [#3103](https://github.com/grafana/k6/pull/3103) Fix lint and logical issues in `k6/data` module tests. -- [#3045](https://github.com/grafana/k6/pull/3045), [#3049](https://github.com/grafana/k6/pull/3049), [#3073](https://github.com/grafana/k6/pull/3073) and [#3044](https://github.com/grafana/k6/pull/3044) New issues are now assigned to maintaners. This is to better split the triaging of new issues between maitainers. Also, both that and new PRs assignement actions are now not using external actions. +- [#3045](https://github.com/grafana/k6/pull/3045), [#3049](https://github.com/grafana/k6/pull/3049), [#3073](https://github.com/grafana/k6/pull/3073) and [#3044](https://github.com/grafana/k6/pull/3044) New issues are now automatically assigned to maintainers, to improve response time on issues. Both new issue and new PR assignments are now not using external actions. ## Roadmap There is now a [public Roadmap document](https://github.com/grafana/k6/blob/master/ROADMAP.md) in the main repo added in [#3028](https://github.com/grafana/k6/pull/3028) From 4ec7c0badde830565cddfbcb9438d77af760a974 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov Date: Tue, 6 Jun 2023 14:48:39 +0300 Subject: [PATCH 04/18] Add 3109 changes --- release notes/v0.45.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index 87000b1a41b..1ff28369c29 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -146,6 +146,7 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` - [#3095](https://github.com/grafana/k6/pull/3095) Maintenance update of `.golangci.yml`. - [#3103](https://github.com/grafana/k6/pull/3103) Fix lint and logical issues in `k6/data` module tests. - [#3045](https://github.com/grafana/k6/pull/3045), [#3049](https://github.com/grafana/k6/pull/3049), [#3073](https://github.com/grafana/k6/pull/3073) and [#3044](https://github.com/grafana/k6/pull/3044) New issues are now automatically assigned to maintainers, to improve response time on issues. Both new issue and new PR assignments are now not using external actions. +- [#3109](https://github.com/grafana/k6/pull/3109) Add a way to get the cloudapi Client's base URL. Thanks to @yorugac πŸ™‡. ## Roadmap There is now a [public Roadmap document](https://github.com/grafana/k6/blob/master/ROADMAP.md) in the main repo added in [#3028](https://github.com/grafana/k6/pull/3028) From 8d037c8cb395d8e19c5d8e6ee47df8b535a811c6 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Tue, 6 Jun 2023 15:57:34 +0300 Subject: [PATCH 05/18] Update release notes/v0.45.0.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ivan MiriΔ‡ --- release notes/v0.45.0.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index 1ff28369c29..d869ca6ce50 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -97,13 +97,7 @@ And later on that newer version will be used. For example by a [scheduled run](h ### Setting sample metadata API [#3037](https://github.com/grafana/k6/pull/3037) -It is now possible to set metadata for samples emitted by a given VU. - -Metadata was added in v0.41.0 but was not available to be set from JS code. This was mainly due to lack of agreement on the API to do so. - -After further discussion, a compromised, smaller and consistent API was agreed upon. - -The API is similar to the one used to set tags for all metrics of the VU: +Support for high-cardinality metrics metadata was added in v0.41.0, but it wasn't accessible from test scripts. It's now possible to set or delete metadata with a similar API as used for tags: ```javascript import exec from "k6/execution"; From 50fbad9e8b632d0ab1af357ffc11bbd87173b723 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Thu, 8 Jun 2023 09:53:35 +0300 Subject: [PATCH 06/18] Update release notes/v0.45.0.md --- release notes/v0.45.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index d869ca6ce50..0ffaa166dd4 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -97,7 +97,7 @@ And later on that newer version will be used. For example by a [scheduled run](h ### Setting sample metadata API [#3037](https://github.com/grafana/k6/pull/3037) -Support for high-cardinality metrics metadata was added in v0.41.0, but it wasn't accessible from test scripts. It's now possible to set or delete metadata with a similar API as used for tags: +Support for high-cardinality metrics metadata was added in v0.41.0, but it wasn't accessible from test scripts. It's now possible to set or delete metadata for the whole VU with a similar API as used for tags: ```javascript import exec from "k6/execution"; From d67bfc51f9d01bdabd631e099f796e6d2c991912 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Thu, 8 Jun 2023 09:54:03 +0300 Subject: [PATCH 07/18] Update release notes/v0.45.0.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ivan MiriΔ‡ --- release notes/v0.45.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index 0ffaa166dd4..bf47d984100 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -116,7 +116,7 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` ### UX improvements and enhancements -- [#3015](https://github.com/grafana/k6/pull/3015) Official arm64 docker images. Thanks to @nrxr! πŸ™‡ +- [#3015](https://github.com/grafana/k6/pull/3015) We're now building ARM64 Docker images in CI, but due to some Docker complications, they're still not pushed to the repository. We expect to resolve these issues by next release. Thanks @nrxr! πŸ™‡ - [#3099](https://github.com/grafana/k6/pull/3099) replace "breached" with "crossed" in logs around thresholds. Thanks to @MattDodsonEnglish πŸ™‡. - [#3102](https://github.com/grafana/k6/pull/3102) Better error message when SharedArray constructor is provided with an async function. This is not supported, but the original message wasn't very clear. - [#3089](https://github.com/grafana/k6/pull/3089) Add Software Bill of Materials (SBOM) reports to k6 releases. Thanks to @SadFaceSmith πŸ™‡. From 8942c06d6d69c194727399d8cd1980437ee25fc8 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov Date: Thu, 8 Jun 2023 10:05:00 +0300 Subject: [PATCH 08/18] Cloud output v2 notes --- release notes/v0.45.0.md | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index bf47d984100..fc853fa1967 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -148,17 +148,18 @@ There is now a [public Roadmap document](https://github.com/grafana/k6/blob/mast The idea is that we will keep it updated and current or future users will be able to look at it to see on what bigger projects the team is working on. ### Cloud output v2 - TODO - - https://github.com/grafana/k6/pull/2963 - - https://github.com/grafana/k6/pull/3027 - - https://github.com/grafana/k6/pull/3041 - - https://github.com/grafana/k6/pull/3061 - - https://github.com/grafana/k6/pull/3063 - - https://github.com/grafana/k6/pull/3071 - - https://github.com/grafana/k6/pull/3072 - - https://github.com/grafana/k6/pull/3082 - - https://github.com/grafana/k6/pull/3083 - - https://github.com/grafana/k6/pull/3085 - - https://github.com/grafana/k6/pull/3098 - - https://github.com/grafana/k6/pull/3105 -_Placeholder_ + +Work on a new version of the cloud output has been ongoing over this cycle. + +While functionally it is now mostly complete, we feel like more testing is still needed and some smaller issues need to be ironed out. + +Ove the next cycle we will be testing it internally and coming v0.46.0 it will be generally available. With the idea of becoming the default. + +The new output has some benefits over the previous one: +- Binary(protobuf) format instead of JSON [#2963](https://github.com/grafana/k6/pull/2963) +- Samples aggregation for every metric instead of only for HTTP ones [#3071](https://github.com/grafana/k6/pull/3071) +- HDR Histogram generation for trend-type metrics [#3027](https://github.com/grafana/k6/pull/3027) + +This in general makes the payload send for tests with a lot of samples *way* smaller which also in most cases has turned out to lower the CPU and memory usage. + + Other related PRs: [#3041](https://github.com/grafana/k6/pull/3041), [#3061](https://github.com/grafana/k6/pull/3061), [#3063](https://github.com/grafana/k6/pull/3063) [#3072](https://github.com/grafana/k6/pull/3072), [#3082](https://github.com/grafana/k6/pull/3082), [#3083](https://github.com/grafana/k6/pull/3083), [#3085](https://github.com/grafana/k6/pull/3085), [#3094](https://github.com/grafana/k6/pull/3098), [#3105](https://github.com/grafana/k6/pull/3105) From 8072fa63219e3d8e6d706393042875ca35b2e6a6 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Thu, 8 Jun 2023 14:09:13 +0300 Subject: [PATCH 09/18] Update release notes/v0.45.0.md Co-authored-by: Ivan <2103732+codebien@users.noreply.github.com> --- release notes/v0.45.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index fc853fa1967..c47dbd19248 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -7,7 +7,7 @@ k6 v0.45.0 is here πŸŽ‰! This release includes: ## Breaking changes -* [#3066](https://github.com/grafana/k6/pull/3066) k6 will warn users about metric names incompatible with OpenTelemetry or Prometheus. This is planned to become an error with v0.48.0. +* [#3066](https://github.com/grafana/k6/pull/3066) k6 will warn users about metric names incompatible with OpenTelemetry or Prometheus. This is planned to [become an error](https://github.com/grafana/k6/issues/3065) with v0.48.0. ## New features From 8e3e19dad8064d32fbcf029ca13b552820c071a8 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Sat, 10 Jun 2023 08:46:21 +0300 Subject: [PATCH 10/18] Apply suggestions from code review Co-authored-by: ka3de --- release notes/v0.45.0.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index c47dbd19248..f9c11a31697 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -8,6 +8,7 @@ k6 v0.45.0 is here πŸŽ‰! This release includes: ## Breaking changes * [#3066](https://github.com/grafana/k6/pull/3066) k6 will warn users about metric names incompatible with OpenTelemetry or Prometheus. This is planned to [become an error](https://github.com/grafana/k6/issues/3065) with v0.48.0. +* [browser#851](https://github.com/grafana/xk6-browser/pull/851) Remove existing browser namespaced metrics. These have been deprecated in favor of Web Vitals metrics. ## New features @@ -124,6 +125,8 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` ## Bug fixes * [#3058](https://github.com/grafana/k6/pull/3058) fix repetitive `the`. Thank you, @cuishuang πŸ™‡. +* [browser#852](https://github.com/grafana/xk6-browser/pull/852) Fix `Locator.WaitFor` for `detached` and `hidden` states. +* [browser#859](https://github.com/grafana/xk6-browser/pull/859) Fix remote object parsing when subtype is `null`. ## Maintenance and internal improvements From 5631537fe22b6b911836bda386aa32f14703934e Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Mon, 12 Jun 2023 11:49:05 +0300 Subject: [PATCH 11/18] Update release notes/v0.45.0.md Co-authored-by: Mostafa Moradian --- release notes/v0.45.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index f9c11a31697..8f6b9c92105 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -156,7 +156,7 @@ Work on a new version of the cloud output has been ongoing over this cycle. While functionally it is now mostly complete, we feel like more testing is still needed and some smaller issues need to be ironed out. -Ove the next cycle we will be testing it internally and coming v0.46.0 it will be generally available. With the idea of becoming the default. +Over the next cycle we will be testing it internally and coming v0.46.0 it will be generally available. With the idea of becoming the default. The new output has some benefits over the previous one: - Binary(protobuf) format instead of JSON [#2963](https://github.com/grafana/k6/pull/2963) From c73594546a068e435e9e36c53f671e82ea167527 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Mon, 12 Jun 2023 12:53:49 +0300 Subject: [PATCH 12/18] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ivan MiriΔ‡ --- release notes/v0.45.0.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index 8f6b9c92105..aaf920c1b17 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -92,7 +92,7 @@ For [years users have wanted](https://github.com/grafana/k6-cloud-feature-reques This is now possible by adding `--upload-only` when invoking `k6 cloud` as in `k6 cloud --upload-only script.js`. -This is likely going to be most useful in a CI on the actual test script project. Now that CI can just run `k6 cloud --upload-only new-verson-of-script.js` on "release". +This is likely going to be most useful in a CI on the actual test script project. Now that CI can just run `k6 cloud --upload-only new-version-of-script.js` on "release". And later on that newer version will be used. For example by a [scheduled run](https://k6.io/docs/cloud/manage/scheduled-tests/). @@ -103,10 +103,10 @@ Support for high-cardinality metrics metadata was added in v0.41.0, but it wasn' import exec from "k6/execution"; export default () => { - exec.vu.metrics.metadata["my_cool_id"] = "a very unique value" - // all metrics from here on will have this metadata set - delete exec.vu.metrics.metadata["my_cool_id"] - // all metriccs from here on wil *not* have the metadata set + exec.vu.metrics.metadata["my_cool_id"] = "a very unique value"; + // all metrics from here on will have this metadata set + delete exec.vu.metrics.metadata["my_cool_id"]; + // all metrics from here on will *not* have the metadata set } ``` @@ -130,13 +130,13 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` ## Maintenance and internal improvements -- [#2091](https://github.com/grafana/k6/pull/2991) Refactor JS modules system so that is usable in tests. Which allowed the enablement of the tc39 tests for modules [#3040](https://github.com/grafana/k6/pull/3040). +- [#2091](https://github.com/grafana/k6/pull/2991) Refactor JS modules system so that is usable in tests. Which allowed enabling the tc39 tests for modules [#3040](https://github.com/grafana/k6/pull/3040). - [#3025](https://github.com/grafana/k6/pull/3025) Internally stop referring to afero and use an internal package to do all file system interaction. That package still uses afero. - [#3036](https://github.com/grafana/k6/pull/3036) and [#3053](https://github.com/grafana/k6/pull/3053) Add options to `scenarios` for usage by browser module. -- [#3064](https://github.com/grafana/k6/pull/3064), [#3070](https://github.com/grafana/k6/pull/3070), [#3075](https://github.com/grafana/k6/pull/3075) and [#3106](https://github.com/grafana/k6/pull/3106) Go dependancies updates. -- [#3067](https://github.com/grafana/k6/pull/3067) Add method to retrive all registered metrics. +- [#3064](https://github.com/grafana/k6/pull/3064), [#3070](https://github.com/grafana/k6/pull/3070), [#3075](https://github.com/grafana/k6/pull/3075) and [#3106](https://github.com/grafana/k6/pull/3106) Go dependencies updates. +- [#3067](https://github.com/grafana/k6/pull/3067) Add method to retrieve all registered metrics. - [#3068](https://github.com/grafana/k6/pull/3068) Add metric Sink constructor. -- [#3078](https://github.com/grafana/k6/pull/3078) Pinning to Alpine 3.17 in Docker builder image. Thank you, @arukiidou πŸ™‡. +- [#3078](https://github.com/grafana/k6/pull/3078) Pin base Docker builder image to Alpine 3.17. Thank you, @arukiidou πŸ™‡. - [#3086](https://github.com/grafana/k6/pull/3086) Fix downloading `.golangci.yml` for PRs from forks. - [#3088](https://github.com/grafana/k6/pull/3088) Make TestDNSResolver less flaky. - [#3094](https://github.com/grafana/k6/pull/3094) Fix example from the run command. Thanks to @rocktwotj πŸ™‡. @@ -146,7 +146,7 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` - [#3109](https://github.com/grafana/k6/pull/3109) Add a way to get the cloudapi Client's base URL. Thanks to @yorugac πŸ™‡. ## Roadmap -There is now a [public Roadmap document](https://github.com/grafana/k6/blob/master/ROADMAP.md) in the main repo added in [#3028](https://github.com/grafana/k6/pull/3028) +There is now a [public Roadmap document](https://github.com/grafana/k6/blob/master/ROADMAP.md) in the main repo added in [#3028](https://github.com/grafana/k6/pull/3028). The idea is that we will keep it updated and current or future users will be able to look at it to see on what bigger projects the team is working on. @@ -159,10 +159,10 @@ While functionally it is now mostly complete, we feel like more testing is still Over the next cycle we will be testing it internally and coming v0.46.0 it will be generally available. With the idea of becoming the default. The new output has some benefits over the previous one: -- Binary(protobuf) format instead of JSON [#2963](https://github.com/grafana/k6/pull/2963) +- Binary (protobuf) format instead of JSON [#2963](https://github.com/grafana/k6/pull/2963) - Samples aggregation for every metric instead of only for HTTP ones [#3071](https://github.com/grafana/k6/pull/3071) - HDR Histogram generation for trend-type metrics [#3027](https://github.com/grafana/k6/pull/3027) -This in general makes the payload send for tests with a lot of samples *way* smaller which also in most cases has turned out to lower the CPU and memory usage. +This in general makes the payload sent for tests with a lot of samples much smaller, which also in most cases has turned out to lower the CPU and memory usage. Other related PRs: [#3041](https://github.com/grafana/k6/pull/3041), [#3061](https://github.com/grafana/k6/pull/3061), [#3063](https://github.com/grafana/k6/pull/3063) [#3072](https://github.com/grafana/k6/pull/3072), [#3082](https://github.com/grafana/k6/pull/3082), [#3083](https://github.com/grafana/k6/pull/3083), [#3085](https://github.com/grafana/k6/pull/3085), [#3094](https://github.com/grafana/k6/pull/3098), [#3105](https://github.com/grafana/k6/pull/3105) From e85e8d661225e7afbde994348d5cc073b438e2fa Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Fri, 16 Jun 2023 10:13:45 +0300 Subject: [PATCH 13/18] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Oleg Bespalov Co-authored-by: Ivan MiriΔ‡ --- release notes/v0.45.0.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index aaf920c1b17..e3c9bc05398 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -14,7 +14,7 @@ k6 v0.45.0 is here πŸŽ‰! This release includes: ### Experimental gRPC module with streaming support [#3107](https://github.com/grafana/k6/pull/3107) -There is a new experimental module `k6/experimental/grpc`. It is a copy of the `k6/grpc` module with added stream support [#2020](https://github.com/grafana/k6/issues/2020). +There is a new experimental module `k6/experimental/grpc`. It is a copy of the `k6/net/grpc` module with added stream support [#2020](https://github.com/grafana/k6/issues/2020).
@@ -82,9 +82,9 @@ export default () => { ```
-You can just replace `k6/grpc` import with `k6/experimental/grpc` to use the new functionality. +You can just replace `k6/net/grpc` import with `k6/experimental/grpc` to use the new functionality. Documentation for the module is available [here](https://k6.io/docs/javascript-api/k6-experimental/grpc/). -In the future this functionality will be moved to the `k6/grpc` module. +In the future, this functionality will be moved to the `k6/net/grpc` module. ### You can now only upload a test to the cloud without running it [#3030](https://github.com/grafana/k6/pull/3030) @@ -121,6 +121,7 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` - [#3099](https://github.com/grafana/k6/pull/3099) replace "breached" with "crossed" in logs around thresholds. Thanks to @MattDodsonEnglish πŸ™‡. - [#3102](https://github.com/grafana/k6/pull/3102) Better error message when SharedArray constructor is provided with an async function. This is not supported, but the original message wasn't very clear. - [#3089](https://github.com/grafana/k6/pull/3089) Add Software Bill of Materials (SBOM) reports to k6 releases. Thanks to @SadFaceSmith πŸ™‡. +- [goja#510](https://github.com/dop251/goja/pull/510) `JSON.parse` will now fail with a friendler error message. ## Bug fixes @@ -156,7 +157,7 @@ Work on a new version of the cloud output has been ongoing over this cycle. While functionally it is now mostly complete, we feel like more testing is still needed and some smaller issues need to be ironed out. -Over the next cycle we will be testing it internally and coming v0.46.0 it will be generally available. With the idea of becoming the default. +Over the next cycle we will be testing it internally, and in v0.46.0 it will be generally available as the default Cloud output. It will still be possible to use the current version via an option, but we plan to gradually deprecate it. The new output has some benefits over the previous one: - Binary (protobuf) format instead of JSON [#2963](https://github.com/grafana/k6/pull/2963) From e55fb30d5946d33f3fe62659f8136e14d398c497 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov Date: Fri, 16 Jun 2023 10:16:06 +0300 Subject: [PATCH 14/18] move typo fix in maintaince section --- release notes/v0.45.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index e3c9bc05398..d078dd91127 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -125,7 +125,6 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` ## Bug fixes -* [#3058](https://github.com/grafana/k6/pull/3058) fix repetitive `the`. Thank you, @cuishuang πŸ™‡. * [browser#852](https://github.com/grafana/xk6-browser/pull/852) Fix `Locator.WaitFor` for `detached` and `hidden` states. * [browser#859](https://github.com/grafana/xk6-browser/pull/859) Fix remote object parsing when subtype is `null`. @@ -134,6 +133,7 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` - [#2091](https://github.com/grafana/k6/pull/2991) Refactor JS modules system so that is usable in tests. Which allowed enabling the tc39 tests for modules [#3040](https://github.com/grafana/k6/pull/3040). - [#3025](https://github.com/grafana/k6/pull/3025) Internally stop referring to afero and use an internal package to do all file system interaction. That package still uses afero. - [#3036](https://github.com/grafana/k6/pull/3036) and [#3053](https://github.com/grafana/k6/pull/3053) Add options to `scenarios` for usage by browser module. +* [#3058](https://github.com/grafana/k6/pull/3058) fix repetitive `the`. Thank you, @cuishuang πŸ™‡. - [#3064](https://github.com/grafana/k6/pull/3064), [#3070](https://github.com/grafana/k6/pull/3070), [#3075](https://github.com/grafana/k6/pull/3075) and [#3106](https://github.com/grafana/k6/pull/3106) Go dependencies updates. - [#3067](https://github.com/grafana/k6/pull/3067) Add method to retrieve all registered metrics. - [#3068](https://github.com/grafana/k6/pull/3068) Add metric Sink constructor. From da6dbbbf6763d5d7d8d2d7733b88c18fcc44ec99 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Fri, 16 Jun 2023 10:46:52 +0300 Subject: [PATCH 15/18] Update release notes/v0.45.0.md --- release notes/v0.45.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index d078dd91127..f9b71c3dc3c 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -7,7 +7,7 @@ k6 v0.45.0 is here πŸŽ‰! This release includes: ## Breaking changes -* [#3066](https://github.com/grafana/k6/pull/3066) k6 will warn users about metric names incompatible with OpenTelemetry or Prometheus. This is planned to [become an error](https://github.com/grafana/k6/issues/3065) with v0.48.0. +* [#3066](https://github.com/grafana/k6/pull/3066) k6 will warn users about metric names [incompatible with OpenTelemetry or Prometheus](https://k6.io/docs/using-k6/metrics/#metric-name-restrictions). This is planned to [become an error](https://github.com/grafana/k6/issues/3065) with v0.48.0. * [browser#851](https://github.com/grafana/xk6-browser/pull/851) Remove existing browser namespaced metrics. These have been deprecated in favor of Web Vitals metrics. ## New features From 02d731d717e04ed12b45516aac17ba3679db74b0 Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Fri, 16 Jun 2023 10:57:45 +0300 Subject: [PATCH 16/18] Apply suggestions from code review Co-authored-by: Ivan <2103732+codebien@users.noreply.github.com> --- release notes/v0.45.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index f9b71c3dc3c..69e37b72ea0 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -145,9 +145,10 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` - [#3103](https://github.com/grafana/k6/pull/3103) Fix lint and logical issues in `k6/data` module tests. - [#3045](https://github.com/grafana/k6/pull/3045), [#3049](https://github.com/grafana/k6/pull/3049), [#3073](https://github.com/grafana/k6/pull/3073) and [#3044](https://github.com/grafana/k6/pull/3044) New issues are now automatically assigned to maintainers, to improve response time on issues. Both new issue and new PR assignments are now not using external actions. - [#3109](https://github.com/grafana/k6/pull/3109) Add a way to get the cloudapi Client's base URL. Thanks to @yorugac πŸ™‡. + ## Roadmap -There is now a [public Roadmap document](https://github.com/grafana/k6/blob/master/ROADMAP.md) in the main repo added in [#3028](https://github.com/grafana/k6/pull/3028). +There is now a [public Roadmap](https://github.com/orgs/grafana/projects/443/views/1) as a GitHub project of the main repo. The idea is that we will keep it updated and current or future users will be able to look at it to see on what bigger projects the team is working on. From 2e9870593057622941f52a42ce8e68e428040d5f Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Fri, 16 Jun 2023 15:04:05 +0300 Subject: [PATCH 17/18] Apply suggestions from code review Co-authored-by: Oleg Bespalov --- release notes/v0.45.0.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index 69e37b72ea0..9b712ecda60 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -117,7 +117,6 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` ### UX improvements and enhancements -- [#3015](https://github.com/grafana/k6/pull/3015) We're now building ARM64 Docker images in CI, but due to some Docker complications, they're still not pushed to the repository. We expect to resolve these issues by next release. Thanks @nrxr! πŸ™‡ - [#3099](https://github.com/grafana/k6/pull/3099) replace "breached" with "crossed" in logs around thresholds. Thanks to @MattDodsonEnglish πŸ™‡. - [#3102](https://github.com/grafana/k6/pull/3102) Better error message when SharedArray constructor is provided with an async function. This is not supported, but the original message wasn't very clear. - [#3089](https://github.com/grafana/k6/pull/3089) Add Software Bill of Materials (SBOM) reports to k6 releases. Thanks to @SadFaceSmith πŸ™‡. @@ -148,9 +147,9 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` ## Roadmap -There is now a [public Roadmap](https://github.com/orgs/grafana/projects/443/views/1) as a GitHub project of the main repo. +We're excited to share [our public roadmap](https://github.com/orgs/grafana/projects/443/views/1), outlining the upcoming features and improvements we have planned. -The idea is that we will keep it updated and current or future users will be able to look at it to see on what bigger projects the team is working on. +We hope this updated roadmap provides a clear overview of our plans for k6's future development. As always, we welcome feedback, corrections, and suggestions to make this roadmap more comprehensive, accessible, and valuable for the k6 community. ### Cloud output v2 From 201002189734c5c80d0ec6c7d820645a10fcf0cb Mon Sep 17 00:00:00 2001 From: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> Date: Fri, 16 Jun 2023 18:22:58 +0300 Subject: [PATCH 18/18] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ivan MiriΔ‡ --- release notes/v0.45.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/release notes/v0.45.0.md b/release notes/v0.45.0.md index 9b712ecda60..f1d62129dec 100644 --- a/release notes/v0.45.0.md +++ b/release notes/v0.45.0.md @@ -120,7 +120,7 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` - [#3099](https://github.com/grafana/k6/pull/3099) replace "breached" with "crossed" in logs around thresholds. Thanks to @MattDodsonEnglish πŸ™‡. - [#3102](https://github.com/grafana/k6/pull/3102) Better error message when SharedArray constructor is provided with an async function. This is not supported, but the original message wasn't very clear. - [#3089](https://github.com/grafana/k6/pull/3089) Add Software Bill of Materials (SBOM) reports to k6 releases. Thanks to @SadFaceSmith πŸ™‡. -- [goja#510](https://github.com/dop251/goja/pull/510) `JSON.parse` will now fail with a friendler error message. +- [goja#510](https://github.com/dop251/goja/pull/510) `JSON.parse` will now fail with a friendlier error message. ## Bug fixes @@ -129,7 +129,7 @@ There are no current plans to replace `exec.vu.tags` with `exec.vu.metrics.tags` ## Maintenance and internal improvements -- [#2091](https://github.com/grafana/k6/pull/2991) Refactor JS modules system so that is usable in tests. Which allowed enabling the tc39 tests for modules [#3040](https://github.com/grafana/k6/pull/3040). +- [#2991](https://github.com/grafana/k6/pull/2991) Refactor JS modules system so that is usable in tests. Which allowed enabling the tc39 tests for modules [#3040](https://github.com/grafana/k6/pull/3040). - [#3025](https://github.com/grafana/k6/pull/3025) Internally stop referring to afero and use an internal package to do all file system interaction. That package still uses afero. - [#3036](https://github.com/grafana/k6/pull/3036) and [#3053](https://github.com/grafana/k6/pull/3053) Add options to `scenarios` for usage by browser module. * [#3058](https://github.com/grafana/k6/pull/3058) fix repetitive `the`. Thank you, @cuishuang πŸ™‡. @@ -166,4 +166,4 @@ The new output has some benefits over the previous one: This in general makes the payload sent for tests with a lot of samples much smaller, which also in most cases has turned out to lower the CPU and memory usage. - Other related PRs: [#3041](https://github.com/grafana/k6/pull/3041), [#3061](https://github.com/grafana/k6/pull/3061), [#3063](https://github.com/grafana/k6/pull/3063) [#3072](https://github.com/grafana/k6/pull/3072), [#3082](https://github.com/grafana/k6/pull/3082), [#3083](https://github.com/grafana/k6/pull/3083), [#3085](https://github.com/grafana/k6/pull/3085), [#3094](https://github.com/grafana/k6/pull/3098), [#3105](https://github.com/grafana/k6/pull/3105) + Other related PRs: [#3041](https://github.com/grafana/k6/pull/3041), [#3061](https://github.com/grafana/k6/pull/3061), [#3063](https://github.com/grafana/k6/pull/3063), [#3072](https://github.com/grafana/k6/pull/3072), [#3082](https://github.com/grafana/k6/pull/3082), [#3083](https://github.com/grafana/k6/pull/3083), [#3085](https://github.com/grafana/k6/pull/3085), [#3098](https://github.com/grafana/k6/pull/3098), [#3105](https://github.com/grafana/k6/pull/3105)