Reliable, predictable, and scalable performance testing: Grafana k6 1.0 is here
For nearly a decade, Grafana k6 has enabled teams to proactively improve application reliability, preventing fires in production by igniting controlled ones during testing. The open source performance testing tool, acquired by Grafana Labs in 2021, has evolved to become a cornerstone of modern performance and reliability testing.
And today at GrafanaCON 2025, we’re celebrating the first major release of the k6 OSS project.
Grafana k6 1.0, now generally available, delivers a number of features, such as TypeScript support, support for extensions, revamped test insights, and clear support and versioning guarantees, to empower the next decade of reliability testing.
But this release isn’t just about version numbers or the latest features. It’s about trust. With k6 1.0, we’re doubling down on our commitment to make performance and reliability testing more predictable, scalable, and developer-friendly — whether you’re simulating 10 users or 100,000.
Let’s unpack what’s inside.
Production-grade stability you can build on
While earlier k6 versions achieved backward compatibility through careful maintenance, we hadn’t formally guaranteed the software and its APIs’ stability between releases. k6 1.0 establishes this foundation through three specific changes to how we build, release, and support k6:
- SemVer at last: k6 now follows Semantic Versioning, which means breaking changes only arrive in major releases (like 2.0) after explicit deprecation warnings.
- Support guarantees: Each major release version receives critical fixes for at least two years. Planning to stay on a previous release? You’re covered. Jumping to the latest? We’ll guide you.
- Public API surface: k6 extensions can now reliably build on k6’s public Go modules, which we guarantee will remain stable and SemVer-compliant throughout each major release cycle.
To learn more about these development, support, and versioning practices, please refer to our technical documentation.
New superpowers for your test suite
In addition to the enhancements above related to stability and predictability, k6 1.0 elevates your reliability testing suite with the following features.
Native TypeScript support
With the release of k6 1.0, we’ve answered one of our most frequent community requests: first-class TypeScript support.
No transpilation needed, no hairy workflows. Write more robust, predictable, and easier-to-maintain tests with type safety and IDE autocomplete, and reuse your existing TypeScript code and types directly in your k6 tests.
import http from 'k6/http';
import { expect } from 'https://jslib.k6.io/k6-testing/0.3.0/index.js';
interface PizzaRequest {
maxCaloriesPerSlice: number;
mustBeVegetarian: boolean;
excludedIngredients: string[];
}
export default function () {
const res = http.post('https://quickpizza.grafana.com/api/pizza', JSON.stringify({
maxCaloriesPerSlice: Math.floor(Math.random() * 1000),
mustBeVegetarian: Math.random() < 0.5
} as PizzaRequest));
expect(res.status).as("Pizza API response").toEqual(200); // From k6-testing jslib
}
Extend k6 without forking: extensions are now supported by k6
We are excited to announce that k6 1.0 introduces
support for extensions through a phased rollout, with extensions now being supported when using k6 cloud run
and k6 cloud run –local-execution
modes of execution, and support for k6 run
expected in a future release.
This update enables seamless integration of pre-approved extensions in Grafana Cloud k6, our fully managed performance testing platform powered by k6 OSS. Extensions now work out-of-the-box where supported, with k6 automatically handling dependencies. Simply import the supported extension of your choice in your script, run it, and k6 will handle the rest.
Here is an example using the
k6/x/faker
extension to generate test data:
import faker from 'k6/x/faker';
Use any of the functionalities provided by the extension throughout your script; for example, create a random name using the faker.person
class:
import faker from 'k6/x/faker';
export default function () {
console.log(faker.person.firstName());
}
Then, run your script as you normally would using the k6 cloud run
command. No need for dedicated tooling anymore; it just works:
k6 cloud run script.js
Find signal in the noise with our revamped test insights
k6 1.0 also ships with another frequently requested feature from the community: a modernized end-of-test summary, including:
- Scenario-specific metrics
- Group-specific metrics
- Hierarchical grouping of results
- Improved checks results
- Different levels of granularity of the information collected and displayed
By default, k6 run
will now display a compact and modernized version of the end-of-test results, focused on the results most important to you and your team.
Using the full summary mode, however, k6 will tell the whole story and help you identify bottlenecks:
k6 run --summary-mode=full script.js

To learn more, please visit our end-of-test summary documentation.
More quality of life improvements
For the 1.0 release, k6 maintainers took a number of other steps to improve the user experience. These include:
- Graduated modules: The
k6/browser
,k6/net/grpc
, andk6/crypto
modules are now stable. - Enhanced Grafana Cloud integration: Stream local test results to Grafana Cloud k6 with the
k6 cloud run –local-execution
mode. - Revamped and enriched k6 cloud command: The command has been restructured and enriched to become the central place for all your interactions with Grafana Cloud k6 from the command-line.
…and many other updates that we invite you to explore in the official k6 1.0 release notes on GitHub.
Thank you to the Grafana k6 community!
To everyone who contributed features, filed or fixed bugs, wrote extensions, or advocated for reliability testing with k6 at their org — thank you. With 27k+ GitHub stars, 200+ contributors, and tests run of any scale, in every time zone, you’ve made k6 what it is today. It’s been amazing to watch k6 evolve over the years; what started as an early-stage load testing tool grew into a robust performance testing tool, and now, is an end-to-end reliability testing tool used by teams all over the world.
You can learn more about k6, including how to get started, in our technical documentation. And as always, we’d love to hear your feedback (you can find us on GitHub!) to continue shaping the future of Grafana k6 together.
Happy testing!