Skip to content

Releases: mostafa/xk6-kafka

v1.0.0

28 May 16:39
v1.0.0
18c1155
Compare
Choose a tag to compare

xk6-kafka v1.0.0 is here! 🎉

After nearly 5 years of continuous development, from the initial commit on May 9, 2020, to today's milestone, xk6-kafka v1.0.0 represents our commitment to stability, clarity, and long-term support for everyone load-testing Kafka with k6. In that time, this extension has seen 277 commits, amassed 176 stars and 81 forks on GitHub, and benefitted from 21+ community contributors, with 72,000+ Docker pulls and 9,000+ binary downloads. With v1.0.0, we're formalizing versioning guarantees, polishing our public API, and delivering a rock-solid foundation you can build on with confidence.

Thank you, xk6-kafka community! 🌍

This release wouldn't be possible without you:

  • ⭐️ 176 stars on GitHub.
  • 🍴 81 forks to explore and extend.
  • 🧠 277 commits driving the project forward.
  • 🤝 21+ contributors shaping features and fixes.
  • 📦 72,000+ Docker pulls of mostafamoradian/xk6-kafka.
  • 📥 9,000+ GitHub artifact downloads for prebuilt binaries.

From enhancing serialization formats and authentication to expanding metrics coverage and improving developer ergonomics, your issues, PRs, and feedback have been invaluable. Thank you for every test run, discussion, and contribution that brought us here.

What's New in xk6-kafka v1.0.0?

1. Stability You Can Trust

  • Semantic Versioning: We've adopted SemVer 2.0.0, breaking changes only in major releases, with deprecation warnings in advance.
  • 🔒 2-Year Support Guarantee: Critical fixes and security patches for all v1.x releases, for at least two years.
  • 📦 Public API Surface: A clearly documented, supported set of functions (Writer, Reader, Connection, SchemaRegistry) and options you can rely on.

2. First-Class TypeScript Definitions

Leverage TypeScript's type-safety when writing Kafka tests:

import { Writer, Reader, SchemaRegistry, SCHEMA_TYPE_AVRO } from 'k6/x/kafka';

const writer = new Writer({
  brokers: ['localhost:9092'],
  topic: 'orders',
  keySchema: { type: SCHEMA_TYPE_AVRO, schema: orderKeySchema },
  valueSchema: { type: SCHEMA_TYPE_AVRO, schema: orderValueSchema },
});

export default function () {
  writer.produce([{ key: '123', value: orderPayload }]);
}

3. Streamlined Extension Workflow

No more toolchain quirks, just build and run:

xk6 build --with github.com/mostafa/[email protected]
k6 run script.js

Or use the official Docker image:

docker pull mostafamoradian/xk6-kafka:v1.0.0
docker run --rm -v "$(pwd)":/scripts \
  mostafamoradian/xk6-kafka:v1.0.0 \
  run /scripts/test_avro.js

4. Enhanced Metrics & Monitoring

  • 📊 New consumer metrics: Track kafka_consumer_lag, kafka_consumer_bytes, and more.
  • ⚖️ Improved thresholds: Apply thresholds on Kafka-specific metrics for automated pass/fail criteria.
  • 🔍 Hierarchical summaries: Group results by topic, partition, and metric category in the end-of-test report.

5. Quality-of-Life Upgrades

  • ✔️ Full Schema Registry support: Auto-fetch Avro/JSON Schema from your registry or embed inline.
  • 🔐 Expanded auth options: SASL/PLAIN, SCRAM, SSL, and AWS IAM are all first-class citizens.
  • Performance optimizations: Bulk-produce mode and connection pooling for high-throughput scenarios.

Ready to get started? Download the binaries or grab the Docker image, and let v1.0.0 supercharge your Kafka load tests. If you encounter any issues or have feature ideas, we'd love to hear from you on GitHub!

v0.31.5

14 Mar 13:33
v0.31.5
64bb0e6
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.31.2...v0.31.5

v0.31.2

07 Mar 12:49
v0.31.2
8fc0f99
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.31.1...v0.31.2

v0.31.1

20 Feb 10:32
v0.31.1
d1e570f
Compare
Choose a tag to compare

What's Changed

  • Update k6 to v0.57.0
  • Update Go to v1.24
  • Update deps
  • Adding docker build steps to README. by @beachwood23 in #326

New Contributors

Full Changelog: v0.30.0...v0.31.1

v0.30.0

21 Dec 13:38
4b512fa
Compare
Choose a tag to compare

Full Changelog: v0.29.0...v0.30.0

v0.29.0

18 Dec 12:23
v0.29.0
33e895e
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.28.0...v0.29.0

v0.28.0

01 Oct 11:39
ea13e01
Compare
Choose a tag to compare

Full Changelog: v0.27.0...v0.28.0

v0.27.0

11 Sep 14:58
23903d3
Compare
Choose a tag to compare

k6 is updated to v0.53.0 and Go v1.23.1 is used to build the extension. The rest of the dependencies are also updated.

What's Changed

Full Changelog: v0.26.0...v0.27.0

v0.26.0

10 Jun 14:15
3ea6bfe
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.25.1...v0.26.0

v0.25.1

30 Apr 16:30
1d8e9ef
Compare
Choose a tag to compare

Full Changelog: v0.25.0...v0.25.1