Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release notes v0.47.0 #3360

Merged
merged 27 commits into from
Oct 10, 2023
Merged
Changes from 8 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
f2a2eb1
Init release notes v0.47.0
codebien Aug 21, 2023
3ac4078
gRPC related changelogs
olegbespalov Sep 25, 2023
547de60
Add improved cookie API release notes (#3352)
inancgumus Sep 27, 2023
a164603
Add browser's `page.on('console')` to release notes (#3353)
ka3de Sep 27, 2023
9772c96
Fix browser ConsoleMessage link
ka3de Sep 27, 2023
f890f19
k6-core release notes
codebien Oct 2, 2023
56204c4
Removed protobuf wrappers duplicated issue
codebien Oct 2, 2023
9f812a3
Fixed a link
codebien Oct 2, 2023
e71ab73
v0.47.0 release notes for browser (#3356)
ankur22 Oct 2, 2023
11edcc1
Apply suggestions from code review
codebien Oct 3, 2023
5344e66
Drop the summary section
codebien Oct 3, 2023
886953b
3288 rewording
codebien Oct 3, 2023
77e6c38
Moved the chars limit as a UX item from breaking changes
codebien Oct 3, 2023
cd5aea2
Rephrase browser/1007
codebien Oct 3, 2023
456a4e6
Replace Breaking changes w Deperacations
codebien Oct 3, 2023
a63e851
ECMAScript modules roadmap
codebien Oct 4, 2023
afb73e2
Future breaking changes section
codebien Oct 4, 2023
30953c4
Small fixes to the roadmap section
codebien Oct 4, 2023
396a8f1
Mention browser-enabled images in release notes
andrewslotin Oct 4, 2023
8a5c028
Use GCk6 instead of k6 Cloud
codebien Oct 4, 2023
557beff
Move Prometheus output changes to the feature section
codebien Oct 4, 2023
2d3e053
Prom output updates
codebien Oct 4, 2023
6c5d362
Apply suggestions from code review
codebien Oct 4, 2023
bc3eadb
Move #1035 to improvements section
ankur22 Oct 5, 2023
17b1d74
Refactor the cookie changes
ankur22 Oct 5, 2023
b54af8c
Apply suggestions from code review
codebien Oct 9, 2023
014e885
Improvements for Future breaking changes
codebien Oct 9, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions release notes/v0.47.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
k6 `v0.47.0` is here 🎉! This release includes:

- (_optional_) `<highlight of breaking changes>`
- `<Summary of new features>` (_one or multiple bullets_)
codebien marked this conversation as resolved.
Show resolved Hide resolved

## Breaking changes
codebien marked this conversation as resolved.
Show resolved Hide resolved

- [#3347](https://github.com/grafana/k6/pull/3347) `statsd` output is now deprecated. Check out [#2982](https://github.com/grafana/k6/issues/2982) for the future plans.
codebien marked this conversation as resolved.
Show resolved Hide resolved
heitortsergent marked this conversation as resolved.
Show resolved Hide resolved
- [#3335](https://github.com/grafana/k6/pull/3335) Metric names will be limited to 128 characters following the OpenTelemetry update instead of the previous limit of 63 characters. k6 will return an error from the next release (v0.48.0) if the limit is hit.
codebien marked this conversation as resolved.
Show resolved Hide resolved
- [#3288](https://github.com/grafana/k6/pull/3288) Deprecate k6 figuring out if an import specifier is a URL by trying to resolve it by prepending `https://` in case it can't figure it out. To be fully removed v0.48.0.
codebien marked this conversation as resolved.
Show resolved Hide resolved

## New features

### Add gRPC's binary metadata support [#3234](https://github.com/grafana/k6/pull/3234), [xk6-grpc#46](https://github.com/grafana/xk6-grpc/pull/46)

By specification gRPC metadata with the `-bin` postfix should be treated as binary data. These PRs add the support of such metadata to the `k6/net/grpc` and `k6/experimental/grpc` modules.
codebien marked this conversation as resolved.
Show resolved Hide resolved

```js
let resp = client.invoke("grpc.testing.TestService/EmptyCall", {}, { metadata: { "X-Load-Tester-bin": new Uint8Array([2, 200]) } })
```

Thanks, @sapphire-janrain, for contribution!
codebien marked this conversation as resolved.
Show resolved Hide resolved

### Add the reflection metadata [#3343](https://github.com/grafana/k6/pull/3343), [xk6-grpc#46](https://github.com/grafana/xk6-grpc/pull/46)
codebien marked this conversation as resolved.
Show resolved Hide resolved

In some workflows the reflection call should also include some metadata. This PR adds [a new connection parameter `reflectMetadata`](https://k6.io/docs/javascript-api/k6-net-grpc/client/client-connect/#connectparams) that allows to specify the metadata to be sent with the reflection call.
codebien marked this conversation as resolved.
Show resolved Hide resolved

### Higher precision for Trend metrics in Cloud [#3302](https://github.com/grafana/k6/pull/3302)

k6 Cloud is now able to store and visualize Trend metrics up to 3 digits of precision for decimal numbers.
codebien marked this conversation as resolved.
Show resolved Hide resolved

### Docker images for Arm64 architecture [#3320](https://github.com/grafana/k6/pull/3320)
codebien marked this conversation as resolved.
Show resolved Hide resolved
heitortsergent marked this conversation as resolved.
Show resolved Hide resolved

k6 builds and pushes dedicated Docker images for Arm64 architecture. Check k6's [tags page](https://hub.docker.com/r/grafana/k6/tags) on DockerHub for details.
codebien marked this conversation as resolved.
Show resolved Hide resolved

### Improved the browser module's cookie API

The browser module now provides a more complete and robust API for handling cookies. We stabilized the cookie API by defining a new [`Cookie` class](https://k6.io/docs/javascript-api/k6-experimental/browser/browsercontext/cookie) ([browser#1008](https://github.com/grafana/xk6-browser/pull/1008), [browser#1030](https://github.com/grafana/xk6-browser/pull/1030)) that can be used while creating and retrieving cookies.

We added a new [`browserContext.cookies([urls])`](https://k6.io/docs/javascript-api/k6-experimental/browser/browsercontext/cookies/) ([browser#1005](https://github.com/grafana/xk6-browser/pull/1005)) method that returns all cookies from the current [browser context](https://k6.io/docs/javascript-api/k6-experimental/browser/browsercontext). The new API also supports filtering cookies by URL ([browser#1016](https://github.com/grafana/xk6-browser/pull/1016)). We also fixed a bug where the `expires` field was not being set correctly while adding cookies using the [`context.addCookie()`](https://k6.io/docs/javascript-api/k6-experimental/browser/browsercontext/addcookies/) method. Lastly, we fixed the existing [`context.clearCookies()`](https://k6.io/docs/javascript-api/k6-experimental/browser/browsercontext/clearcookies) method to clear all cookies from the current [browser context](https://k6.io/docs/javascript-api/k6-experimental/browser/browsercontext).

```js
const context = browser.newContext();
context.addCookies([
{name: 'foo', value: 'bar', url: 'https://test.k6.io'},
{name: 'baz', value: 'qux', url: 'https://grafana.com'},
]);

const cookies = context.cookies('https://test.k6.io');
console.log(cookies.length); // 1
console.log(cookies[0].name); // foo
console.log(cookies[0].value); // bar

context.clearCookies();
console.log(context.cookies.length); // 0
```

### Add support for browser module's `page.on('console')` [browser#1006](https://github.com/grafana/xk6-browser/pull/1006)

Allows users to register a handler to be executed every time the `console` API methods are called from within the page's JavaScript context. The arguments passed into the handler are defined by the [ConsoleMessage](https://k6.io/docs/javascript-api/k6-experimental/browser/consolemessage/) class.
olegbespalov marked this conversation as resolved.
Show resolved Hide resolved

### UX improvements and enhancements
codebien marked this conversation as resolved.
Show resolved Hide resolved

- [#3338](https://github.com/grafana/k6/pull/3338), [xk6-grpc#48](https://github.com/grafana/xk6-grpc/pull/48). Adds a support of the v1 of the gRPC reflection protocol.
codebien marked this conversation as resolved.
Show resolved Hide resolved
- [#3290](https://github.com/grafana/k6/pull/3290) Log errors when executing `setup` and `teardown` via REST API.
codebien marked this conversation as resolved.
Show resolved Hide resolved
- [#3327](https://github.com/grafana/k6/pull/3327) `k6 version` now prints the commit identifier for the build.
codebien marked this conversation as resolved.
Show resolved Hide resolved
- [#3340](https://github.com/grafana/k6/pull/3340) The k6 ``*-with-browser`` Docker images set now the `no-sandbox` environment variable automatically.
codebien marked this conversation as resolved.
Show resolved Hide resolved

## Bug fixes

- [xk6-grpc#47](https://github.com/grafana/xk6-grpc/pull/47) Fix the premature closing of the stream when a stream's client has finished sending. Thanks, @thiagodpf, for reporting!
codebien marked this conversation as resolved.
Show resolved Hide resolved
- [#3344](https://github.com/grafana/k6/pull/3344), [xk6-grpc#49](https://github.com/grafana/xk6-grpc/pull/49) adds (fixes) the support of google protobuf wrappers. Thanks, @zibul444, for reporting!
codebien marked this conversation as resolved.
Show resolved Hide resolved
- [#3346](https://github.com/grafana/k6/pull/3346) A data race when `http.batch` it is used with binary response has been fixed.
codebien marked this conversation as resolved.
Show resolved Hide resolved
- [#3308](https://github.com/grafana/k6/pull/3308) `goja` version has been updated and it fixes a compiler bug when class is declared in a function with argument.
codebien marked this conversation as resolved.
Show resolved Hide resolved
- [browser#1040](https://github.com/grafana/xk6-browser/pull/1040) fix the `context.clearCookies()` method to clear all cookies from the current browser context.
- [browser#1031](https://github.com/grafana/xk6-browser/pull/1031) fix the `expires` field while adding cookies using the `context.addCookie()` method.
- [browser#1039](https://github.com/grafana/xk6-browser/pull/1039) fix Goja conversions while adding and retrieving cookies.

## Maintenance and internal improvements

- [#3342](https://github.com/grafana/k6/pull/3342) Updates xk6-grpc to the latest version. This change brings all the latest fixes and improvements to the experimental gRPC module.
- [#3271](https://github.com/grafana/k6/pull/3271),[#3272](https://github.com/grafana/k6/pull/3272) Updated the golangci version and added the `interfacebloat` linter.
- [#3279](https://github.com/grafana/k6/pull/3279) Fixed the CI not publishing the SBOM file on new a release.
- [#3283](https://github.com/grafana/k6/pull/3283) Updated the Go version to 1.21.
- [#3351](https://github.com/grafana/k6/pull/3351) Updated the version of Prometheus remote write output. Check the specific [release notes](https://github.com/grafana/xk6-output-prometheus-remote/releases/tag/v0.3.0).
- [#3341](https://github.com/grafana/k6/pull/3341), [#3339](https://github.com/grafana/k6/pull/3339) Updated `goja` that includes Runtime initialization speed-up and a fix for source indexes.
- [#3311](https://github.com/grafana/k6/pull/3311) Updated the `alpine` image version that is used as the base of the k6 Docker image.

## _Optional_ Roadmap

_Discussion of future plans_
codebien marked this conversation as resolved.
Show resolved Hide resolved

codebien marked this conversation as resolved.
Show resolved Hide resolved
Loading