From b403bec1ecb77c4efaa6760a9ce59491ad1c9ada Mon Sep 17 00:00:00 2001 From: oleiade Date: Mon, 29 Jan 2024 17:36:19 +0100 Subject: [PATCH 01/34] Add k6 v0.50.0 release notes --- release notes/v0.50.0.md | 46 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 release notes/v0.50.0.md diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md new file mode 100644 index 00000000000..5e37f0b7111 --- /dev/null +++ b/release notes/v0.50.0.md @@ -0,0 +1,46 @@ +k6 `v0.50.0` is here 🎉! This release includes: + +- (_optional_) `` +- `` (_one or multiple bullets_) + + +## Breaking changes + +- `#pr`, `` +- `#pr`, `` + +### (_optional h3_) `` `#pr` + +## New features + +_optional intro here_ + +### `` `#pr` + +_what, why, and what this means for the user_ + +### `` `#pr` + +_what, why, and what this means for the user_ + +## UX improvements and enhancements + +_Format as ` . `_: + +- _`#999` Gives terminal output prettier printing. Thanks to `@person` for the help!_ +- `#pr` `` +- `#pr` `` + +## Bug fixes + +_Format as ` . `_: +- _`#111` fixes race condition in runtime_ + +## Maintenance and internal improvements + +_Format as ` . `_: +- _`#2770` Refactors parts of the JS module._ + +## _Optional_ Roadmap + +_Discussion of future plans_ From 970d3c857b5db10365778f6309a8d0ded02bae49 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Mon, 29 Jan 2024 17:38:24 +0000 Subject: [PATCH 02/34] Add changes for the goja refactors in browser --- release notes/v0.50.0.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 5e37f0b7111..2699fe13736 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -38,8 +38,7 @@ _Format as ` . `_: ## Maintenance and internal improvements -_Format as ` . `_: -- _`#2770` Refactors parts of the JS module._ +- [browser#1164](https://github.com/grafana/xk6-browser/pull/1164), [browser#1171](https://github.com/grafana/xk6-browser/pull/1171), [browser#1173](https://github.com/grafana/xk6-browser/pull/1173), [browser#1175](https://github.com/grafana/xk6-browser/pull/1175), [browser#1179](https://github.com/grafana/xk6-browser/pull/1179), [browser#1183](https://github.com/grafana/xk6-browser/pull/1183), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1188](https://github.com/grafana/xk6-browser/pull/1188), [browser#1189](https://github.com/grafana/xk6-browser/pull/1189), [browser#1191](https://github.com/grafana/xk6-browser/pull/1191), [browser#1193](https://github.com/grafana/xk6-browser/pull/1193), [browser#1161](https://github.com/grafana/xk6-browser/pull/1166), [browser#1190](https://github.com/grafana/xk6-browser/pull/1190) refactor internals. ## _Optional_ Roadmap From e0b0c40b5ab2eabcad57a0e9ed322fd5ce597011 Mon Sep 17 00:00:00 2001 From: Ankur Date: Tue, 30 Jan 2024 10:00:18 +0000 Subject: [PATCH 03/34] Update release notes/v0.50.0.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: İnanç Gümüş --- release notes/v0.50.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 2699fe13736..ec6af0a2fac 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -38,7 +38,7 @@ _Format as ` . `_: ## Maintenance and internal improvements -- [browser#1164](https://github.com/grafana/xk6-browser/pull/1164), [browser#1171](https://github.com/grafana/xk6-browser/pull/1171), [browser#1173](https://github.com/grafana/xk6-browser/pull/1173), [browser#1175](https://github.com/grafana/xk6-browser/pull/1175), [browser#1179](https://github.com/grafana/xk6-browser/pull/1179), [browser#1183](https://github.com/grafana/xk6-browser/pull/1183), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1188](https://github.com/grafana/xk6-browser/pull/1188), [browser#1189](https://github.com/grafana/xk6-browser/pull/1189), [browser#1191](https://github.com/grafana/xk6-browser/pull/1191), [browser#1193](https://github.com/grafana/xk6-browser/pull/1193), [browser#1161](https://github.com/grafana/xk6-browser/pull/1166), [browser#1190](https://github.com/grafana/xk6-browser/pull/1190) refactor internals. +- [browser#1164](https://github.com/grafana/xk6-browser/pull/1164), [browser#1171](https://github.com/grafana/xk6-browser/pull/1171), [browser#1173](https://github.com/grafana/xk6-browser/pull/1173), [browser#1175](https://github.com/grafana/xk6-browser/pull/1175), [browser#1179](https://github.com/grafana/xk6-browser/pull/1179), [browser#1183](https://github.com/grafana/xk6-browser/pull/1183), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1188](https://github.com/grafana/xk6-browser/pull/1188), [browser#1189](https://github.com/grafana/xk6-browser/pull/1189), [browser#1191](https://github.com/grafana/xk6-browser/pull/1191), [browser#1193](https://github.com/grafana/xk6-browser/pull/1193), [browser#1161](https://github.com/grafana/xk6-browser/pull/1166), [browser#1190](https://github.com/grafana/xk6-browser/pull/1190) refactor internals to improve stability. ## _Optional_ Roadmap From 65b6e43fcd56d5da549c6bfef5cc4d680cfd571d Mon Sep 17 00:00:00 2001 From: ankur22 Date: Tue, 30 Jan 2024 10:39:09 +0000 Subject: [PATCH 04/34] Add browser#1163 to release notes --- release notes/v0.50.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index ec6af0a2fac..769dd8220e1 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -38,7 +38,7 @@ _Format as ` . `_: ## Maintenance and internal improvements -- [browser#1164](https://github.com/grafana/xk6-browser/pull/1164), [browser#1171](https://github.com/grafana/xk6-browser/pull/1171), [browser#1173](https://github.com/grafana/xk6-browser/pull/1173), [browser#1175](https://github.com/grafana/xk6-browser/pull/1175), [browser#1179](https://github.com/grafana/xk6-browser/pull/1179), [browser#1183](https://github.com/grafana/xk6-browser/pull/1183), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1188](https://github.com/grafana/xk6-browser/pull/1188), [browser#1189](https://github.com/grafana/xk6-browser/pull/1189), [browser#1191](https://github.com/grafana/xk6-browser/pull/1191), [browser#1193](https://github.com/grafana/xk6-browser/pull/1193), [browser#1161](https://github.com/grafana/xk6-browser/pull/1166), [browser#1190](https://github.com/grafana/xk6-browser/pull/1190) refactor internals to improve stability. +- [browser#1164](https://github.com/grafana/xk6-browser/pull/1164), [browser#1171](https://github.com/grafana/xk6-browser/pull/1171), [browser#1173](https://github.com/grafana/xk6-browser/pull/1173), [browser#1175](https://github.com/grafana/xk6-browser/pull/1175), [browser#1179](https://github.com/grafana/xk6-browser/pull/1179), [browser#1183](https://github.com/grafana/xk6-browser/pull/1183), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1188](https://github.com/grafana/xk6-browser/pull/1188), [browser#1189](https://github.com/grafana/xk6-browser/pull/1189), [browser#1191](https://github.com/grafana/xk6-browser/pull/1191), [browser#1193](https://github.com/grafana/xk6-browser/pull/1193), [browser#1161](https://github.com/grafana/xk6-browser/pull/1166), [browser#1190](https://github.com/grafana/xk6-browser/pull/1190), [browser#1163](https://github.com/grafana/xk6-browser/pull/1163) refactor internals to improve stability. ## _Optional_ Roadmap From ad518e1b5e00eba29199c8de19f57005610b184f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0nan=C3=A7=20G=C3=BCm=C3=BC=C5=9F?= Date: Wed, 7 Feb 2024 17:32:13 +0300 Subject: [PATCH 05/34] Add browser#1205 to release notes (#3584) --- release notes/v0.50.0.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 769dd8220e1..c67b149d5c0 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -38,7 +38,11 @@ _Format as ` . `_: ## Maintenance and internal improvements -- [browser#1164](https://github.com/grafana/xk6-browser/pull/1164), [browser#1171](https://github.com/grafana/xk6-browser/pull/1171), [browser#1173](https://github.com/grafana/xk6-browser/pull/1173), [browser#1175](https://github.com/grafana/xk6-browser/pull/1175), [browser#1179](https://github.com/grafana/xk6-browser/pull/1179), [browser#1183](https://github.com/grafana/xk6-browser/pull/1183), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1188](https://github.com/grafana/xk6-browser/pull/1188), [browser#1189](https://github.com/grafana/xk6-browser/pull/1189), [browser#1191](https://github.com/grafana/xk6-browser/pull/1191), [browser#1193](https://github.com/grafana/xk6-browser/pull/1193), [browser#1161](https://github.com/grafana/xk6-browser/pull/1166), [browser#1190](https://github.com/grafana/xk6-browser/pull/1190), [browser#1163](https://github.com/grafana/xk6-browser/pull/1163) refactor internals to improve stability. +- [browser#1164](https://github.com/grafana/xk6-browser/pull/1164), [browser#1166](https://github.com/grafana/xk6-browser/pull/1166), [browser#1171](https://github.com/grafana/xk6-browser/pull/1171), + [browser#1173](https://github.com/grafana/xk6-browser/pull/1173), [browser#1175](https://github.com/grafana/xk6-browser/pull/1175), [browser#1179](https://github.com/grafana/xk6-browser/pull/1179), + [browser#1183](https://github.com/grafana/xk6-browser/pull/1183), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1188](https://github.com/grafana/xk6-browser/pull/1188), + [browser#1189](https://github.com/grafana/xk6-browser/pull/1189), [browser#1190](https://github.com/grafana/xk6-browser/pull/1190), [browser#1191](https://github.com/grafana/xk6-browser/pull/1191), + [browser#1193](https://github.com/grafana/xk6-browser/pull/1193), [browser#1163](https://github.com/grafana/xk6-browser/pull/1163), [browser#1205](https://github.com/grafana/xk6-browser/pull/1205) refactor internals to improve stability. ## _Optional_ Roadmap From ac8c417267fc91035631df62a815a1aa66617313 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Wed, 14 Feb 2024 11:21:39 +0000 Subject: [PATCH 06/34] Add 1215 to release notes --- release notes/v0.50.0.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index c67b149d5c0..dbc0b0605c1 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -33,8 +33,7 @@ _Format as ` . `_: ## Bug fixes -_Format as ` . `_: -- _`#111` fixes race condition in runtime_ +- [browser#1215](https://github.com/grafana/xk6-browser/pull/1215) fixes a data race during logging that causes a panic. ## Maintenance and internal improvements From d13c8e3630ec481efaa392a105d0f4f5fc48232f Mon Sep 17 00:00:00 2001 From: Ankur Date: Wed, 14 Feb 2024 11:39:23 +0000 Subject: [PATCH 07/34] Update release notes/v0.50.0.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: İnanç Gümüş --- release notes/v0.50.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index dbc0b0605c1..be1f2aa43d3 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -33,7 +33,7 @@ _Format as ` . `_: ## Bug fixes -- [browser#1215](https://github.com/grafana/xk6-browser/pull/1215) fixes a data race during logging that causes a panic. +- [browser#1215](https://github.com/grafana/xk6-browser/pull/1215) fixes a data race during logging that panics. ## Maintenance and internal improvements From 434e5c7d2ae2b41f6c5d91f532ae9dfc9657ba74 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Wed, 14 Feb 2024 11:28:25 +0000 Subject: [PATCH 08/34] Add screenshot upload to release notes --- release notes/v0.50.0.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index be1f2aa43d3..b2e64413dc2 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -25,11 +25,7 @@ _what, why, and what this means for the user_ ## UX improvements and enhancements -_Format as ` . `_: - -- _`#999` Gives terminal output prettier printing. Thanks to `@person` for the help!_ -- `#pr` `` -- `#pr` `` +- [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203) add the ability to upload screenshots to a remote location instead of persisting them to the local disk. ## Bug fixes From 1d6b371d96c65eb1f2aaa97a9308688d792c4c37 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Wed, 14 Feb 2024 12:24:05 +0000 Subject: [PATCH 09/34] Update wording for screenshot upload update --- release notes/v0.50.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index b2e64413dc2..9530c494fde 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -25,7 +25,7 @@ _what, why, and what this means for the user_ ## UX improvements and enhancements -- [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203) add the ability to upload screenshots to a remote location instead of persisting them to the local disk. +- [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203) add the ability to upload screenshots to a remote location. ## Bug fixes From e93914a3bc8bb6fa4d239153d96c832f4df7d0b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0nan=C3=A7=20G=C3=BCm=C3=BC=C5=9F?= Date: Fri, 16 Feb 2024 12:53:13 +0300 Subject: [PATCH 10/34] Add browser 1209 to release notes (#3604) --- release notes/v0.50.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 9530c494fde..dba8ebcd39d 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -26,6 +26,7 @@ _what, why, and what this means for the user_ ## UX improvements and enhancements - [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203) add the ability to upload screenshots to a remote location. +- [browser#1209](https://github.com/grafana/xk6-browser/pull/1209) add a shadow DOM usage example. ## Bug fixes From 0d6cfba0462906d5bda5b42e9ac9e412ab4db8dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0nan=C3=A7=20G=C3=BCm=C3=BC=C5=9F?= Date: Fri, 16 Feb 2024 12:54:14 +0300 Subject: [PATCH 11/34] Add browser 1217 to release notes (#3603) --- release notes/v0.50.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index dba8ebcd39d..585f4732309 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -38,7 +38,8 @@ _what, why, and what this means for the user_ [browser#1173](https://github.com/grafana/xk6-browser/pull/1173), [browser#1175](https://github.com/grafana/xk6-browser/pull/1175), [browser#1179](https://github.com/grafana/xk6-browser/pull/1179), [browser#1183](https://github.com/grafana/xk6-browser/pull/1183), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1188](https://github.com/grafana/xk6-browser/pull/1188), [browser#1189](https://github.com/grafana/xk6-browser/pull/1189), [browser#1190](https://github.com/grafana/xk6-browser/pull/1190), [browser#1191](https://github.com/grafana/xk6-browser/pull/1191), - [browser#1193](https://github.com/grafana/xk6-browser/pull/1193), [browser#1163](https://github.com/grafana/xk6-browser/pull/1163), [browser#1205](https://github.com/grafana/xk6-browser/pull/1205) refactor internals to improve stability. + [browser#1193](https://github.com/grafana/xk6-browser/pull/1193), [browser#1163](https://github.com/grafana/xk6-browser/pull/1163), [browser#1205](https://github.com/grafana/xk6-browser/pull/1205), + [browser#1217](https://github.com/grafana/xk6-browser/pull/1217) refactor internals to improve stability. ## _Optional_ Roadmap From 00fdd35aae3722bbe272b97070d0183de55cbaef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0nan=C3=A7=20G=C3=BCm=C3=BC=C5=9F?= Date: Fri, 16 Feb 2024 13:09:12 +0300 Subject: [PATCH 12/34] Add browser 850 and Go 1.20 PRs to release notes (#3605) --- release notes/v0.50.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 585f4732309..274badf3cf4 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -40,6 +40,8 @@ _what, why, and what this means for the user_ [browser#1189](https://github.com/grafana/xk6-browser/pull/1189), [browser#1190](https://github.com/grafana/xk6-browser/pull/1190), [browser#1191](https://github.com/grafana/xk6-browser/pull/1191), [browser#1193](https://github.com/grafana/xk6-browser/pull/1193), [browser#1163](https://github.com/grafana/xk6-browser/pull/1163), [browser#1205](https://github.com/grafana/xk6-browser/pull/1205), [browser#1217](https://github.com/grafana/xk6-browser/pull/1217) refactor internals to improve stability. +- [browser#850](https://github.com/grafana/xk6-browser/pull/850), [browser#1211](https://github.com/grafana/xk6-browser/pull/1211), [browser#1212](https://github.com/grafana/xk6-browser/pull/1212), + [browser#1214](https://github.com/grafana/xk6-browser/pull/1214), [browser#1216](https://github.com/grafana/xk6-browser/pull/1216) refactor to work with errors.Join and set the minimum Go version to 1.20. ## _Optional_ Roadmap From 3e29110a339b66a31276bd96450f8a2749dd6b80 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Mon, 26 Feb 2024 10:45:11 +0000 Subject: [PATCH 13/34] Add browser 1220 and 1221 to release notes --- release notes/v0.50.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 274badf3cf4..18b98fff69c 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -25,7 +25,7 @@ _what, why, and what this means for the user_ ## UX improvements and enhancements -- [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203) add the ability to upload screenshots to a remote location. +- [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203), [browser#1221](https://github.com/grafana/xk6-browser/pull/1221) add the ability to upload screenshots to a remote location. - [browser#1209](https://github.com/grafana/xk6-browser/pull/1209) add a shadow DOM usage example. ## Bug fixes @@ -42,6 +42,7 @@ _what, why, and what this means for the user_ [browser#1217](https://github.com/grafana/xk6-browser/pull/1217) refactor internals to improve stability. - [browser#850](https://github.com/grafana/xk6-browser/pull/850), [browser#1211](https://github.com/grafana/xk6-browser/pull/1211), [browser#1212](https://github.com/grafana/xk6-browser/pull/1212), [browser#1214](https://github.com/grafana/xk6-browser/pull/1214), [browser#1216](https://github.com/grafana/xk6-browser/pull/1216) refactor to work with errors.Join and set the minimum Go version to 1.20. +- [browser#1220](https://github.com/grafana/xk6-browser/pull/1220) add more logging. ## _Optional_ Roadmap From 7fc55129301aa8b73204602f0433a821a5b6a342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0nan=C3=A7=20G=C3=BCm=C3=BC=C5=9F?= Date: Wed, 6 Mar 2024 13:51:12 +0300 Subject: [PATCH 14/34] Add/browser 1112 to release notes (#3624) * Add grafana/xk6-browser#1112 * Rephrase browser 1112 to release notes Co-authored-by: Ankur --- release notes/v0.50.0.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 18b98fff69c..e07f35431e4 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -28,6 +28,10 @@ _what, why, and what this means for the user_ - [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203), [browser#1221](https://github.com/grafana/xk6-browser/pull/1221) add the ability to upload screenshots to a remote location. - [browser#1209](https://github.com/grafana/xk6-browser/pull/1209) add a shadow DOM usage example. +### Browser Context Isolation [browser#1112](https://github.com/grafana/xk6-browser/issues/1112) + +With this release, we have overhauled and (tremendously) improved the performance and stability of the browser module. It's now possible to run tests with a larger number of VUs concurrently without any performance issues. Previously, when running tests with multiple VUs concurrently, each VU's browser context would attach to the pages from the other VUS' browser contexts. This led to unexpected behavior and performance issues, and to an extent, reduced the modules capability to run multi VU tests. + ## Bug fixes - [browser#1215](https://github.com/grafana/xk6-browser/pull/1215) fixes a data race during logging that panics. @@ -43,6 +47,7 @@ _what, why, and what this means for the user_ - [browser#850](https://github.com/grafana/xk6-browser/pull/850), [browser#1211](https://github.com/grafana/xk6-browser/pull/1211), [browser#1212](https://github.com/grafana/xk6-browser/pull/1212), [browser#1214](https://github.com/grafana/xk6-browser/pull/1214), [browser#1216](https://github.com/grafana/xk6-browser/pull/1216) refactor to work with errors.Join and set the minimum Go version to 1.20. - [browser#1220](https://github.com/grafana/xk6-browser/pull/1220) add more logging. +- [browser#1112](https://github.com/grafana/xk6-browser/issues/1112) fixes deadlock issues when running multiple VUs, iterations, and Chrome instances. ## _Optional_ Roadmap From 68214c61058b13220e913ad23abfbc646e7e0345 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Mon, 11 Mar 2024 10:17:40 +0000 Subject: [PATCH 15/34] Add better error pr for browser evaluate APIs --- release notes/v0.50.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index e07f35431e4..fa1608ffd49 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -27,6 +27,7 @@ _what, why, and what this means for the user_ - [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203), [browser#1221](https://github.com/grafana/xk6-browser/pull/1221) add the ability to upload screenshots to a remote location. - [browser#1209](https://github.com/grafana/xk6-browser/pull/1209) add a shadow DOM usage example. +- [browser#1233](https://github.com/grafana/xk6-browser/pull/1233) returns actionable errors for `evaluate` APIs. ### Browser Context Isolation [browser#1112](https://github.com/grafana/xk6-browser/issues/1112) From 8e9c61f16b6b226edeff8115a497a5606849091e Mon Sep 17 00:00:00 2001 From: ankur22 Date: Mon, 11 Mar 2024 10:22:16 +0000 Subject: [PATCH 16/34] Add browser testRunId inject prs to release note --- release notes/v0.50.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index fa1608ffd49..ca5ee68bcde 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -28,6 +28,7 @@ _what, why, and what this means for the user_ - [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203), [browser#1221](https://github.com/grafana/xk6-browser/pull/1221) add the ability to upload screenshots to a remote location. - [browser#1209](https://github.com/grafana/xk6-browser/pull/1209) add a shadow DOM usage example. - [browser#1233](https://github.com/grafana/xk6-browser/pull/1233) returns actionable errors for `evaluate` APIs. +- [browser#1228](https://github.com/grafana/xk6-browser/pull/1228), [browser#1232](https://github.com/grafana/xk6-browser/pull/1232), [browser#1235](https://github.com/grafana/xk6-browser/pull/1235) injects the `testRunId` into the `window.k6` object for external applications to query (e.g. Grafana Faro). ### Browser Context Isolation [browser#1112](https://github.com/grafana/xk6-browser/issues/1112) From 6a935c3f5590cecf6c97bdf1f85fe5ecf3b8674c Mon Sep 17 00:00:00 2001 From: ankur22 Date: Mon, 11 Mar 2024 10:23:17 +0000 Subject: [PATCH 17/34] Update the verb --- release notes/v0.50.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index ca5ee68bcde..0b4191412ac 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -25,8 +25,8 @@ _what, why, and what this means for the user_ ## UX improvements and enhancements -- [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203), [browser#1221](https://github.com/grafana/xk6-browser/pull/1221) add the ability to upload screenshots to a remote location. -- [browser#1209](https://github.com/grafana/xk6-browser/pull/1209) add a shadow DOM usage example. +- [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203), [browser#1221](https://github.com/grafana/xk6-browser/pull/1221) adds the ability to upload screenshots to a remote location. +- [browser#1209](https://github.com/grafana/xk6-browser/pull/1209) adds a shadow DOM usage example. - [browser#1233](https://github.com/grafana/xk6-browser/pull/1233) returns actionable errors for `evaluate` APIs. - [browser#1228](https://github.com/grafana/xk6-browser/pull/1228), [browser#1232](https://github.com/grafana/xk6-browser/pull/1232), [browser#1235](https://github.com/grafana/xk6-browser/pull/1235) injects the `testRunId` into the `window.k6` object for external applications to query (e.g. Grafana Faro). @@ -45,10 +45,10 @@ With this release, we have overhauled and (tremendously) improved the performanc [browser#1183](https://github.com/grafana/xk6-browser/pull/1183), [browser#1186](https://github.com/grafana/xk6-browser/pull/1186), [browser#1188](https://github.com/grafana/xk6-browser/pull/1188), [browser#1189](https://github.com/grafana/xk6-browser/pull/1189), [browser#1190](https://github.com/grafana/xk6-browser/pull/1190), [browser#1191](https://github.com/grafana/xk6-browser/pull/1191), [browser#1193](https://github.com/grafana/xk6-browser/pull/1193), [browser#1163](https://github.com/grafana/xk6-browser/pull/1163), [browser#1205](https://github.com/grafana/xk6-browser/pull/1205), - [browser#1217](https://github.com/grafana/xk6-browser/pull/1217) refactor internals to improve stability. + [browser#1217](https://github.com/grafana/xk6-browser/pull/1217) refactors internals to improve stability. - [browser#850](https://github.com/grafana/xk6-browser/pull/850), [browser#1211](https://github.com/grafana/xk6-browser/pull/1211), [browser#1212](https://github.com/grafana/xk6-browser/pull/1212), - [browser#1214](https://github.com/grafana/xk6-browser/pull/1214), [browser#1216](https://github.com/grafana/xk6-browser/pull/1216) refactor to work with errors.Join and set the minimum Go version to 1.20. -- [browser#1220](https://github.com/grafana/xk6-browser/pull/1220) add more logging. + [browser#1214](https://github.com/grafana/xk6-browser/pull/1214), [browser#1216](https://github.com/grafana/xk6-browser/pull/1216) refactors to work with errors.Join and sets the minimum Go version to 1.20. +- [browser#1220](https://github.com/grafana/xk6-browser/pull/1220) adds more logging. - [browser#1112](https://github.com/grafana/xk6-browser/issues/1112) fixes deadlock issues when running multiple VUs, iterations, and Chrome instances. ## _Optional_ Roadmap From 0bda276c58b21903c82651018d4dfa60c89a4421 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Mon, 11 Mar 2024 16:11:18 +0000 Subject: [PATCH 18/34] Add details of browser#1238 to release notes --- release notes/v0.50.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 0b4191412ac..0382004c843 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -37,6 +37,7 @@ With this release, we have overhauled and (tremendously) improved the performanc ## Bug fixes - [browser#1215](https://github.com/grafana/xk6-browser/pull/1215) fixes a data race during logging that panics. +- [browser#1238](https://github.com/grafana/xk6-browser/pull/1238) fixes fill functionality for textarea. Thanks @bandorko for the fix! :bow: :tada: ## Maintenance and internal improvements From 0e9ce55b63f9dcdd34a63b0708c0ff40f851a3c7 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Mon, 11 Mar 2024 16:04:22 +0000 Subject: [PATCH 19/34] Add details of browser#1097 to release notes --- release notes/v0.50.0.md | 89 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 88 insertions(+), 1 deletion(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 0382004c843..c17ac8de69f 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -13,7 +13,94 @@ k6 `v0.50.0` is here 🎉! This release includes: ## New features -_optional intro here_ +### Add support for uploading files from the browser module [browser#1097](https://github.com/grafana/xk6-browser/pull/1097) + +You can now upload files using the available input forms on the website under test. The new API is `setInputFiles` which can be called from a `page`, `frame` or `elementHandle` types. It can upload one or more files from the local filesystem, or one or more files encoded in the test script, or a combination of both files from the filesystem and from within the test script. + +
+Expand to see the examples. + +For the following examples we will use the html file: + +```html + + + +
+ + +
+ + + +``` + +Uploading a file from the local filesystem can be achieved with the following script: + +```js +export default async function () { + const page = browser.newPage(); + + await page.goto(url) + + // Set the path relative to the current working directory. + page.setInputFiles('input[id="upload"]', 'test.txt') + + // Click on the submit button on the form to upload the file. + const submitButton = page.locator('input[type="submit"]') + await Promise.all([page.waitForNavigation(), submitButton.click()]) + + page.close(); +} +``` + +Uploading a file that is encoded in the test script can be achieved with the following script: + +```js +// Import the k6 encoder module. +import encoding from 'k6/encoding'; +... +export default async function () { + const page = browser.newPage(); + + await page.goto(url) + + // Encode and upload some data into a plain text file called test.txt. + page.setInputFiles('input[id="upload"]', { name: 'test.txt', mimetype: 'text/plain', buffer: encoding.b64encode('Hello World') }) + + // Click on the submit button on the form to upload the file. + const submitButton = page.locator('input[type="submit"]') + await Promise.all([page.waitForNavigation(), submitButton.click()]) + + page.close(); +} +``` + +Uploading multiple files can be done with the use of an array: + +```js +page.setInputFiles('input[id="upload"]', ['test.txt', 'test.json']) +``` + +or + +```js +page.setInputFiles('input[id="upload"]', + [{ name: 'test.txt', mimetype: 'text/plain', buffer: encoding.b64encode('Hello World') }, + { name: 'test.json', mimetype: 'text/json', buffer: encoding.b64encode('{"message": "Hello World"}') }]) +``` + +and can be a combination of both: + +```js +page.setInputFiles('input[id="upload"]', + ['test.txt', + { name: 'test.json', mimetype: 'text/json', buffer: encoding.b64encode('{"message": "Hello World"}') }]) +``` + +
+ +Thanks to @bandorko! :bow: :tada: ### `` `#pr` From 8a30f57f1a292087dd7d0a1b8cfbe0297413dab1 Mon Sep 17 00:00:00 2001 From: Ankur Date: Tue, 12 Mar 2024 11:14:59 +0000 Subject: [PATCH 20/34] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: İnanç Gümüş --- release notes/v0.50.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index c17ac8de69f..3cb2573c61e 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -20,7 +20,7 @@ You can now upload files using the available input forms on the website under te
Expand to see the examples. -For the following examples we will use the html file: +For the following examples, we will use the HTML file: ```html @@ -90,7 +90,7 @@ page.setInputFiles('input[id="upload"]', { name: 'test.json', mimetype: 'text/json', buffer: encoding.b64encode('{"message": "Hello World"}') }]) ``` -and can be a combination of both: +And can be a combination of both: ```js page.setInputFiles('input[id="upload"]', From ecc69c996499aadb50e6611173a535545f7848f3 Mon Sep 17 00:00:00 2001 From: Oleg Bespalov Date: Thu, 14 Mar 2024 17:05:35 +0100 Subject: [PATCH 21/34] JWK, options.cloud and some other changelogs --- release notes/v0.50.0.md | 47 +++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 3cb2573c61e..c303f3a469c 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -7,7 +7,7 @@ k6 `v0.50.0` is here 🎉! This release includes: ## Breaking changes - `#pr`, `` -- `#pr`, `` +- [websockets#60](https://github.com/grafana/xk6-websockets/pull/60) allows manual set `name` tag, which also overwrites `url` tag with `name` value. This is aligning of the logic that was implemented in the k6 v0.41. Thanks, @mkadirtan for contributing! ### (_optional h3_) `` `#pr` @@ -102,13 +102,43 @@ page.setInputFiles('input[id="upload"]', Thanks to @bandorko! :bow: :tada: -### `` `#pr` +### Introducing options.cloud [#3348](https://github.com/grafana/k6/pull/3348), [#3407](https://github.com/grafana/k6/pull/3407) -_what, why, and what this means for the user_ +In this release, we introduce a new way of defining cloud options. From now on, you can use just use `options.cloud` instead of the `options.ext.loadimpact`. -### `` `#pr` +To migrate to the new way, you can move the `loadimpact` object to the root of the `options` object and rename it to `cloud`. For example: -_what, why, and what this means for the user_ +```javascript +export let options = { + ext: { + loadimpact: { + name: "Legacy way of defining cloud options", + projectID: 12345, + } + } +}; + +export let options = { + cloud: { + name: "Current way of defining cloud options", + projectID: 12345, + } +}; +``` + +All scripts with legacy `options.ext.loadimpact` will continue to function as before. There is no planned sunset date for the legacy options, but we highly encourage using `options.cloud` instead. + +### JSON Web Key support in `k6/experimental/webcrypto` module + +The experimental webcrypto module got a support for JSON Web Key's (JWK) in `importKey` and `exportKey` operations. + +This allows you to import and export keys in the JWK format for the supported algorithms. + +```js +const generatedKey = await crypto.subtle.generateKey({name: "AES-CBC", length: "256"}, true, [ "encrypt", "decrypt"]); + +const exportedKey = await crypto.subtle.exportKey("jwk", generatedKey); +``` ## UX improvements and enhancements @@ -138,6 +168,13 @@ With this release, we have overhauled and (tremendously) improved the performanc [browser#1214](https://github.com/grafana/xk6-browser/pull/1214), [browser#1216](https://github.com/grafana/xk6-browser/pull/1216) refactors to work with errors.Join and sets the minimum Go version to 1.20. - [browser#1220](https://github.com/grafana/xk6-browser/pull/1220) adds more logging. - [browser#1112](https://github.com/grafana/xk6-browser/issues/1112) fixes deadlock issues when running multiple VUs, iterations, and Chrome instances. +- [3586](https://github.com/grafana/k6/pull/3586) fixes file traversal for the test. +- [3588](https://github.com/grafana/k6/pull/3588) updates `codeql` GitHub action to v3. +* [webcrypto#62](https://github.com/grafana/xk6-webcrypto/pull/62) fixes display error message in the console and does minor maintenance. +* [webcrypto#60](https://github.com/grafana/xk6-webcrypto/pull/60) leverages some of the k6 APIs to handle JavaScript operations. +* [webcrypto#59](https://github.com/grafana/xk6-webcrypto/pull/59) makes `newTestSetup` rely on k6's modulestest. +* [webcrypto#58](https://github.com/grafana/xk6-webcrypto/pull/58) addresses linter issues related to repeated static strings. +* [3633](https://github.com/grafana/k6/pull/3633) updates k6 dependencies. ## _Optional_ Roadmap From 70ac7ef303081cb9bb89ae6ef4b473e9b519f515 Mon Sep 17 00:00:00 2001 From: oleiade Date: Mon, 18 Mar 2024 10:25:55 +0100 Subject: [PATCH 22/34] Link webcrypto JWK import/export to PR --- release notes/v0.50.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index c303f3a469c..01abe3b1554 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -128,7 +128,7 @@ export let options = { All scripts with legacy `options.ext.loadimpact` will continue to function as before. There is no planned sunset date for the legacy options, but we highly encourage using `options.cloud` instead. -### JSON Web Key support in `k6/experimental/webcrypto` module +### JSON Web Key support in `k6/experimental/webcrypto` module [webcrypto#61](https://github.com/grafana/xk6-webcrypto/pull/61) The experimental webcrypto module got a support for JSON Web Key's (JWK) in `importKey` and `exportKey` operations. From e32e5d29e75ab241796d63f6a37d9860a3902c72 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Mon, 18 Mar 2024 11:15:44 +0000 Subject: [PATCH 23/34] Add browser#1241 to release notes --- release notes/v0.50.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 01abe3b1554..5c20f4ba9ba 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -155,6 +155,7 @@ With this release, we have overhauled and (tremendously) improved the performanc - [browser#1215](https://github.com/grafana/xk6-browser/pull/1215) fixes a data race during logging that panics. - [browser#1238](https://github.com/grafana/xk6-browser/pull/1238) fixes fill functionality for textarea. Thanks @bandorko for the fix! :bow: :tada: +- [browser#1242](https://github.com/grafana/xk6-browser/pull/1242) fixes XPath evaluation on `DocumentFragment`. ## Maintenance and internal improvements From 59b4c5932cdcdb95acba84197bf2e890400f7cc5 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Mon, 18 Mar 2024 11:22:38 +0000 Subject: [PATCH 24/34] Update the browser#1097 release notes The API has changed so that it requires working with the experimental fs module to upload files from the local file system. --- release notes/v0.50.0.md | 39 +++------------------------------------ 1 file changed, 3 insertions(+), 36 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 5c20f4ba9ba..c4cdcecc4dc 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -13,9 +13,9 @@ k6 `v0.50.0` is here 🎉! This release includes: ## New features -### Add support for uploading files from the browser module [browser#1097](https://github.com/grafana/xk6-browser/pull/1097) +### Add support for uploading files from the browser module [browser#1097](https://github.com/grafana/xk6-browser/pull/1097), [browser#1244](https://github.com/grafana/xk6-browser/pull/1244) -You can now upload files using the available input forms on the website under test. The new API is `setInputFiles` which can be called from a `page`, `frame` or `elementHandle` types. It can upload one or more files from the local filesystem, or one or more files encoded in the test script, or a combination of both files from the filesystem and from within the test script. +You can now upload files using the available input forms on the website under test. The new API is `setInputFiles` which can be called from a `page`, `frame` or `elementHandle` types. It can upload one or more files encoded in the test script. To upload files from the local file system, work with the [experimental fs module](https://grafana.com/docs/k6/latest/javascript-api/k6-experimental/fs/).
Expand to see the examples. @@ -35,26 +35,7 @@ For the following examples, we will use the HTML file: ``` -Uploading a file from the local filesystem can be achieved with the following script: - -```js -export default async function () { - const page = browser.newPage(); - - await page.goto(url) - - // Set the path relative to the current working directory. - page.setInputFiles('input[id="upload"]', 'test.txt') - - // Click on the submit button on the form to upload the file. - const submitButton = page.locator('input[type="submit"]') - await Promise.all([page.waitForNavigation(), submitButton.click()]) - - page.close(); -} -``` - -Uploading a file that is encoded in the test script can be achieved with the following script: +Uploading a file can be achieved with the following script: ```js // Import the k6 encoder module. @@ -78,26 +59,12 @@ export default async function () { Uploading multiple files can be done with the use of an array: -```js -page.setInputFiles('input[id="upload"]', ['test.txt', 'test.json']) -``` - -or - ```js page.setInputFiles('input[id="upload"]', [{ name: 'test.txt', mimetype: 'text/plain', buffer: encoding.b64encode('Hello World') }, { name: 'test.json', mimetype: 'text/json', buffer: encoding.b64encode('{"message": "Hello World"}') }]) ``` -And can be a combination of both: - -```js -page.setInputFiles('input[id="upload"]', - ['test.txt', - { name: 'test.json', mimetype: 'text/json', buffer: encoding.b64encode('{"message": "Hello World"}') }]) -``` -
Thanks to @bandorko! :bow: :tada: From 993d55ceb8f50b0eeb320e7b43e4ea87ea4d161d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0nan=C3=A7=20G=C3=BCm=C3=BC=C5=9F?= Date: Mon, 18 Mar 2024 16:24:51 +0300 Subject: [PATCH 25/34] Add browser 986 (#3652) * Add browser 986 * Update add browser 1246 Co-authored-by: Ankur --- release notes/v0.50.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index c4cdcecc4dc..7183e64ab10 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -136,6 +136,7 @@ With this release, we have overhauled and (tremendously) improved the performanc [browser#1214](https://github.com/grafana/xk6-browser/pull/1214), [browser#1216](https://github.com/grafana/xk6-browser/pull/1216) refactors to work with errors.Join and sets the minimum Go version to 1.20. - [browser#1220](https://github.com/grafana/xk6-browser/pull/1220) adds more logging. - [browser#1112](https://github.com/grafana/xk6-browser/issues/1112) fixes deadlock issues when running multiple VUs, iterations, and Chrome instances. +- [browser#1246](https://github.com/grafana/xk6-browser/issues/1246) removes logging of in-flight requests when a request fails. - [3586](https://github.com/grafana/k6/pull/3586) fixes file traversal for the test. - [3588](https://github.com/grafana/k6/pull/3588) updates `codeql` GitHub action to v3. * [webcrypto#62](https://github.com/grafana/xk6-webcrypto/pull/62) fixes display error message in the console and does minor maintenance. From bccd7c8cf97d46f9dd6a46c3a701cfc7e6e7b51d Mon Sep 17 00:00:00 2001 From: Mihail Stoykov Date: Mon, 18 Mar 2024 15:29:15 +0200 Subject: [PATCH 26/34] Add k6/timers stabilization release notes --- release notes/v0.50.0.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 7183e64ab10..92b94369bfe 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -95,6 +95,12 @@ export let options = { All scripts with legacy `options.ext.loadimpact` will continue to function as before. There is no planned sunset date for the legacy options, but we highly encourage using `options.cloud` instead. +### Timers API becomes part of the k6 core [#3587](https://github.com/grafana/k6/pull/3587) + +With this release, the timers API is no longer experimental and can be imported as `k6/timers` instead of as `k6/experimental/timers`. The later will be supported until `v0.52.0`. + +If you want you can also comment on making the current exports of it globally available in [#3589](https://github.com/grafana/k6/issues/3589) or just giving it :+1:. + ### JSON Web Key support in `k6/experimental/webcrypto` module [webcrypto#61](https://github.com/grafana/xk6-webcrypto/pull/61) The experimental webcrypto module got a support for JSON Web Key's (JWK) in `importKey` and `exportKey` operations. From 28683c0e0d986d8cee26e29cef73796c3bd734f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joan=20L=C3=B3pez=20de=20la=20Franca=20Beltran?= Date: Mon, 18 Mar 2024 15:36:18 +0100 Subject: [PATCH 27/34] Add #3653 to release notes --- release notes/v0.50.0.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 92b94369bfe..e47ecceb151 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -126,6 +126,7 @@ With this release, we have overhauled and (tremendously) improved the performanc ## Bug fixes +- [#3653](https://github.com/grafana/k6/pull/3653) fixes a connectivity issue with non-lowercase `options.hosts`. - [browser#1215](https://github.com/grafana/xk6-browser/pull/1215) fixes a data race during logging that panics. - [browser#1238](https://github.com/grafana/xk6-browser/pull/1238) fixes fill functionality for textarea. Thanks @bandorko for the fix! :bow: :tada: - [browser#1242](https://github.com/grafana/xk6-browser/pull/1242) fixes XPath evaluation on `DocumentFragment`. @@ -143,8 +144,8 @@ With this release, we have overhauled and (tremendously) improved the performanc - [browser#1220](https://github.com/grafana/xk6-browser/pull/1220) adds more logging. - [browser#1112](https://github.com/grafana/xk6-browser/issues/1112) fixes deadlock issues when running multiple VUs, iterations, and Chrome instances. - [browser#1246](https://github.com/grafana/xk6-browser/issues/1246) removes logging of in-flight requests when a request fails. -- [3586](https://github.com/grafana/k6/pull/3586) fixes file traversal for the test. -- [3588](https://github.com/grafana/k6/pull/3588) updates `codeql` GitHub action to v3. +- [#3586](https://github.com/grafana/k6/pull/3586) fixes file traversal for the test. +- [#3588](https://github.com/grafana/k6/pull/3588) updates `codeql` GitHub action to v3. * [webcrypto#62](https://github.com/grafana/xk6-webcrypto/pull/62) fixes display error message in the console and does minor maintenance. * [webcrypto#60](https://github.com/grafana/xk6-webcrypto/pull/60) leverages some of the k6 APIs to handle JavaScript operations. * [webcrypto#59](https://github.com/grafana/xk6-webcrypto/pull/59) makes `newTestSetup` rely on k6's modulestest. From b537bcc73beb98654b50d3e20a60729f5fbbf113 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Crevon?= Date: Wed, 20 Mar 2024 10:11:48 +0100 Subject: [PATCH 28/34] Apply suggestions from code review Co-authored-by: Heitor Tashiro Sergent --- release notes/v0.50.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index e47ecceb151..72738db7506 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -7,7 +7,7 @@ k6 `v0.50.0` is here 🎉! This release includes: ## Breaking changes - `#pr`, `` -- [websockets#60](https://github.com/grafana/xk6-websockets/pull/60) allows manual set `name` tag, which also overwrites `url` tag with `name` value. This is aligning of the logic that was implemented in the k6 v0.41. Thanks, @mkadirtan for contributing! +- [websockets#60](https://github.com/grafana/xk6-websockets/pull/60) allows manually setting the `name` tag, which also overwrites the `url` tag with the `name` value. This change makes it consistent with the logic that was implemented in k6 v0.41. Thanks, @mkadirtan for contributing! ### (_optional h3_) `` `#pr` @@ -71,9 +71,9 @@ Thanks to @bandorko! :bow: :tada: ### Introducing options.cloud [#3348](https://github.com/grafana/k6/pull/3348), [#3407](https://github.com/grafana/k6/pull/3407) -In this release, we introduce a new way of defining cloud options. From now on, you can use just use `options.cloud` instead of the `options.ext.loadimpact`. +In this release, we introduce a new way of defining cloud options. From now on, you can use `options.cloud` instead of `options.ext.loadimpact`. -To migrate to the new way, you can move the `loadimpact` object to the root of the `options` object and rename it to `cloud`. For example: +To migrate, you can move the `loadimpact` object to the root of the `options` object and rename it to `cloud`. For example: ```javascript export let options = { @@ -93,17 +93,17 @@ export let options = { }; ``` -All scripts with legacy `options.ext.loadimpact` will continue to function as before. There is no planned sunset date for the legacy options, but we highly encourage using `options.cloud` instead. +All scripts with legacy `options.ext.loadimpact` will continue to function as before. There's no planned sunset date for the legacy option, but we highly encourage using `options.cloud` going forward. For more details about cloud options, refer to [Cloud options](https://grafana.com/docs/grafana-cloud/k6/author-run/cloud-scripting-extras/cloud-options/). ### Timers API becomes part of the k6 core [#3587](https://github.com/grafana/k6/pull/3587) With this release, the timers API is no longer experimental and can be imported as `k6/timers` instead of as `k6/experimental/timers`. The later will be supported until `v0.52.0`. -If you want you can also comment on making the current exports of it globally available in [#3589](https://github.com/grafana/k6/issues/3589) or just giving it :+1:. +You can also contribute to the discussion on making the current timer exports globally available in [#3589](https://github.com/grafana/k6/issues/3589), or just give it a :+1:. ### JSON Web Key support in `k6/experimental/webcrypto` module [webcrypto#61](https://github.com/grafana/xk6-webcrypto/pull/61) -The experimental webcrypto module got a support for JSON Web Key's (JWK) in `importKey` and `exportKey` operations. +The experimental webcrypto module now supports the JSON Web Key (JWK) format, using the `importKey` and `exportKey` methods. This allows you to import and export keys in the JWK format for the supported algorithms. @@ -118,11 +118,11 @@ const exportedKey = await crypto.subtle.exportKey("jwk", generatedKey); - [browser#1197](https://github.com/grafana/xk6-browser/pull/1197), [browser#1202](https://github.com/grafana/xk6-browser/pull/1202), [browser#1203](https://github.com/grafana/xk6-browser/pull/1203), [browser#1221](https://github.com/grafana/xk6-browser/pull/1221) adds the ability to upload screenshots to a remote location. - [browser#1209](https://github.com/grafana/xk6-browser/pull/1209) adds a shadow DOM usage example. - [browser#1233](https://github.com/grafana/xk6-browser/pull/1233) returns actionable errors for `evaluate` APIs. -- [browser#1228](https://github.com/grafana/xk6-browser/pull/1228), [browser#1232](https://github.com/grafana/xk6-browser/pull/1232), [browser#1235](https://github.com/grafana/xk6-browser/pull/1235) injects the `testRunId` into the `window.k6` object for external applications to query (e.g. Grafana Faro). +- [browser#1228](https://github.com/grafana/xk6-browser/pull/1228), [browser#1232](https://github.com/grafana/xk6-browser/pull/1232), [browser#1235](https://github.com/grafana/xk6-browser/pull/1235) injects the `testRunId` into the `window.k6` object for external applications to query (for example, Grafana Faro). ### Browser Context Isolation [browser#1112](https://github.com/grafana/xk6-browser/issues/1112) -With this release, we have overhauled and (tremendously) improved the performance and stability of the browser module. It's now possible to run tests with a larger number of VUs concurrently without any performance issues. Previously, when running tests with multiple VUs concurrently, each VU's browser context would attach to the pages from the other VUS' browser contexts. This led to unexpected behavior and performance issues, and to an extent, reduced the modules capability to run multi VU tests. +With this release, we have overhauled and (tremendously) improved the performance and stability of the browser module. It's now possible to run tests with a larger number of VUs concurrently without any performance issues. Previously, when running tests with multiple VUs concurrently, each VU's browser context would attach to the pages from the other VUs' browser contexts. This led to unexpected behavior and performance issues and, to an extent, reduced the module's capability to run multi-VU tests. ## Bug fixes From d98c72d0c202bfee7e7203b52f637042afd206b6 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Mon, 11 Mar 2024 10:42:56 +0000 Subject: [PATCH 29/34] Add notice for async browser API breaking change --- release notes/v0.50.0.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 72738db7506..6e959c80d5a 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -9,6 +9,17 @@ k6 `v0.50.0` is here 🎉! This release includes: - `#pr`, `` - [websockets#60](https://github.com/grafana/xk6-websockets/pull/60) allows manually setting the `name` tag, which also overwrites the `url` tag with the `name` value. This change makes it consistent with the logic that was implemented in k6 v0.41. Thanks, @mkadirtan for contributing! +### Browser APIs to Async + +In future release we are going to be moving most of the browser APIs to asynchronous (promisfying them). We expect that this will affect majority of our users, which is why we are posting this upfront before we make the change itself. Here are the reasons for making this large breaking change: + +1. Most of the browser APIs use some form of long running IO operation (networking) to perform the requested action on the web browser against the website under test. We need to avoid blocking the javascript's runtime event loop for such operations. +2. We're going to be adding more asynchronous event based APIs (such as [page.on](https://github.com/grafana/xk6-browser/issues/1227)) that would be blocked with our current synchronous APIs. +3. To align with how javascript developers expect to work with javascript APIs. +4. To have better compatibility with Playwright. + +You can find a list of all the APIs that we expect to convert to async in a comment in issue [browser#428](https://github.com/grafana/xk6-browser/issues/428#issuecomment-1964020837). + ### (_optional h3_) `` `#pr` ## New features From 02ae6fde07bdcd9b98612bad82b5a7218b984ef5 Mon Sep 17 00:00:00 2001 From: Ankur Date: Mon, 11 Mar 2024 14:20:52 +0000 Subject: [PATCH 30/34] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: İnanç Gümüş --- release notes/v0.50.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 6e959c80d5a..d06f5ad34f9 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -11,11 +11,11 @@ k6 `v0.50.0` is here 🎉! This release includes: ### Browser APIs to Async -In future release we are going to be moving most of the browser APIs to asynchronous (promisfying them). We expect that this will affect majority of our users, which is why we are posting this upfront before we make the change itself. Here are the reasons for making this large breaking change: +In future releases, we are going to be moving most of the synchronous browser APIs to asynchronous ones (promisifying them). We expect this will affect most of our users, so we are posting this upfront before making the change. Here are the reasons for making this large breaking change: -1. Most of the browser APIs use some form of long running IO operation (networking) to perform the requested action on the web browser against the website under test. We need to avoid blocking the javascript's runtime event loop for such operations. -2. We're going to be adding more asynchronous event based APIs (such as [page.on](https://github.com/grafana/xk6-browser/issues/1227)) that would be blocked with our current synchronous APIs. -3. To align with how javascript developers expect to work with javascript APIs. +1. Most browser APIs use some form of long-running IO operation (networking) to perform the requested action on the web browser against the website under test. We need to avoid blocking Javascript's runtime event loop for such operations. +2. We're going to add more asynchronous event-based APIs (such as [page.on](https://github.com/grafana/xk6-browser/issues/1227)) that our current synchronous APIs would block. +3. To align with how developers expect to work with JavaScript APIs. 4. To have better compatibility with Playwright. You can find a list of all the APIs that we expect to convert to async in a comment in issue [browser#428](https://github.com/grafana/xk6-browser/issues/428#issuecomment-1964020837). From dadab7635f3c41a32b217ad026463f193ddcf746 Mon Sep 17 00:00:00 2001 From: ankur22 Date: Tue, 19 Mar 2024 12:11:17 +0000 Subject: [PATCH 31/34] Add await explanation on non thenable --- release notes/v0.50.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index d06f5ad34f9..99f29da2152 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -20,6 +20,8 @@ In future releases, we are going to be moving most of the synchronous browser AP You can find a list of all the APIs that we expect to convert to async in a comment in issue [browser#428](https://github.com/grafana/xk6-browser/issues/428#issuecomment-1964020837). +Awaiting on something that’s not a thenable just resolves to that value, which means you can add the `await` keyword against APIs that will become async to future proof your test scripts. + ### (_optional h3_) `` `#pr` ## New features From e605df5582d0217136c8d92371b621a398f9a8da Mon Sep 17 00:00:00 2001 From: oleiade Date: Fri, 22 Mar 2024 10:01:48 +0100 Subject: [PATCH 32/34] Add release changes top-level summary --- release notes/v0.50.0.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 99f29da2152..f263dffac1e 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -1,12 +1,13 @@ -k6 `v0.50.0` is here 🎉! This release includes: - -- (_optional_) `` -- `` (_one or multiple bullets_) +k6 `v0.50.0` is here 🎉! +This release: +- Adds support for uploading files from the browser module. +- Introduces the `options.cloud` option. +- Stabilizes the previously experimental timers module as the `k6/timers` module. +- Brings JSON Web Key support to the `k6/experimental/webcrypto` module. ## Breaking changes -- `#pr`, `` - [websockets#60](https://github.com/grafana/xk6-websockets/pull/60) allows manually setting the `name` tag, which also overwrites the `url` tag with the `name` value. This change makes it consistent with the logic that was implemented in k6 v0.41. Thanks, @mkadirtan for contributing! ### Browser APIs to Async From 68c37b04917379d3844931650504eec677d082d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9o=20Crevon?= Date: Mon, 25 Mar 2024 10:35:48 +0100 Subject: [PATCH 33/34] Apply suggestions from code review Co-authored-by: Mihail Stoykov <312246+mstoykov@users.noreply.github.com> --- release notes/v0.50.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index f263dffac1e..89a3c0e701e 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -14,14 +14,14 @@ This release: In future releases, we are going to be moving most of the synchronous browser APIs to asynchronous ones (promisifying them). We expect this will affect most of our users, so we are posting this upfront before making the change. Here are the reasons for making this large breaking change: -1. Most browser APIs use some form of long-running IO operation (networking) to perform the requested action on the web browser against the website under test. We need to avoid blocking Javascript's runtime event loop for such operations. +1. Most browser APIs use some form of long-running IO operation (networking) to perform the requested action on the web browser against the website under test. We need to avoid blocking JavaScript's runtime event loop for such operations. 2. We're going to add more asynchronous event-based APIs (such as [page.on](https://github.com/grafana/xk6-browser/issues/1227)) that our current synchronous APIs would block. 3. To align with how developers expect to work with JavaScript APIs. 4. To have better compatibility with Playwright. You can find a list of all the APIs that we expect to convert to async in a comment in issue [browser#428](https://github.com/grafana/xk6-browser/issues/428#issuecomment-1964020837). -Awaiting on something that’s not a thenable just resolves to that value, which means you can add the `await` keyword against APIs that will become async to future proof your test scripts. +Awaiting on something that’s not a thenable just returns that value, which means you can add the `await` keyword against APIs that will become async to future proof your test scripts. ### (_optional h3_) `` `#pr` From 57304f0217410fa387bdc3d6ceea076e94398d73 Mon Sep 17 00:00:00 2001 From: oleiade Date: Mon, 25 Mar 2024 10:57:49 +0100 Subject: [PATCH 34/34] Remove placeholders --- release notes/v0.50.0.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/release notes/v0.50.0.md b/release notes/v0.50.0.md index 89a3c0e701e..58a1a978584 100644 --- a/release notes/v0.50.0.md +++ b/release notes/v0.50.0.md @@ -23,8 +23,6 @@ You can find a list of all the APIs that we expect to convert to async in a comm Awaiting on something that’s not a thenable just returns that value, which means you can add the `await` keyword against APIs that will become async to future proof your test scripts. -### (_optional h3_) `` `#pr` - ## New features ### Add support for uploading files from the browser module [browser#1097](https://github.com/grafana/xk6-browser/pull/1097), [browser#1244](https://github.com/grafana/xk6-browser/pull/1244) @@ -165,7 +163,3 @@ With this release, we have overhauled and (tremendously) improved the performanc * [webcrypto#59](https://github.com/grafana/xk6-webcrypto/pull/59) makes `newTestSetup` rely on k6's modulestest. * [webcrypto#58](https://github.com/grafana/xk6-webcrypto/pull/58) addresses linter issues related to repeated static strings. * [3633](https://github.com/grafana/k6/pull/3633) updates k6 dependencies. - -## _Optional_ Roadmap - -_Discussion of future plans_