Releases: grafana/xk6-client-prometheus-remote
v0.5.1
xk6-client-prometheus-remote v0.5.1 is here!
A maintenance release on top of the k6 v2.0.0 line with security updates and a toolchain refresh. JavaScript usage is unchanged, so existing test scripts continue to run as-is.
Maintenance
- Pinned the Go toolchain in
go.modto1.25.11for reproducible, security-current builds (#93).
Security
For the complete list of changes, see the full changelog.
v0.5.0
xk6-client-prometheus-remote v0.5.0 is here!
This release upgrades the extension to the k6 v2 line and the new go.k6.io/k6/v2 module path. It also rolls in a batch of security and dependency updates accumulated since v0.4.0, plus a project ownership transfer to grafana/k6-core and a Renovate configuration to keep dependencies current going forward.
JavaScript usage is unchanged — existing test scripts run as-is.
Highlights
k6 v2 compatibility
- Migrated to
go.k6.io/k6/v2 v2.0.0(fromgo.k6.io/k6 v1.4.0at the previous release). - All internal imports updated to the
v2module path (remote_write.go,bench_test.go). - Release and validate workflows now target
k6-version: v2.0.0viaxk6-version: 1.4.1. - Intermediate k6 bumps along the way:
v1.4.0 → v1.5.0(#66),→ v1.7.1(#77),→ v2.0.0.
Note for users building with xk6: when building a k6 binary that includes this extension, use
xk6 1.4.1(or newer) so it resolves the/v2module path correctly.
Maintenance
- Ownership transferred to
grafana/k6-core(#83). - Renovate enabled to automate future dependency updates (#82).
- Go toolchain pinned to the latest patch version for reproducible, security-current builds (#85); the module now targets
go 1.25.0/toolchain go1.25.10. - Fixed repository name in
tsconfig.json(#63). - Pinned
grafana/xk6GitHub Action to a commit SHA (#64, #75).
Security
golang.org/x/net→v0.53.0(#84) — security update.go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp→v1.43.0(#80) — security update.go.opentelemetry.io/otel/sdk→v1.40.0(#78) — security update.
Dependency updates
google.golang.org/protobuf→v1.36.11(#73).github.com/xhit/go-str2duration/v2→v2.1.0(#68).github.com/grafana/sobekdigest refreshed to22d1085(#65).- Transitive indirect dependencies refreshed via
go mod tidyagainst k6 v2.0.0 (k6provider 0.5.0, otlpmetricgrpc, Azure ntlmssp v0.1.1, esbuild v0.28.0, and others).
For the complete list of changes, see the full changelog.
v0.4.0
xk6-client-prometheus-remote v0.4.0 is here!
This release brings significant improvements to code quality, security, developer experience, and bug fixes. The codebase has been modernized, tooling enhanced, and important compatibility issues addressed.
New Features
TypeScript API Declarations (#48)
Added comprehensive TypeScript type definitions (index.d.ts) providing:
- Full IDE autocomplete support for all APIs
- Type safety and compile-time error checking
- Inline documentation with practical examples
- Better developer experience in VS Code, WebStorm, and other modern editors
Developer Tooling (#57)
Added a comprehensive development environment with:
- Makefile: Common development tasks (build, test, lint, security checks, documentation generation)
- CONTRIBUTING.md: Complete contribution guidelines covering:
- Code of conduct
- Bug reporting and feature requests
- Development workflow
- Testing and quality standards
- Task documentation
Comprehensive Smoke Test (#51)
Added a runtime verification test that ensures:
- All Go exports match TypeScript definitions
- API surface correctness across language boundaries
- Prevention of export regressions
- Documentation of expected behavior through executable tests
Improvements
Code Quality Enhancements (#50)
Implemented comprehensive linting with golangci-lint (40+ linters enabled):
- Added package and function documentation for all exports
- Reorganized code with proper function ordering (exported before unexported)
- Modernized codebase using Go 1.22+ features (integer range loops, automatic loop variable capture)
- Improved test infrastructure with parallel test execution
- Enhanced error handling and context propagation
- Fixed whitespace, formatting, and style consistency issues
- Pre-allocated slices for better performance
- Used standard library constants for improved maintainability
k6 v1.4.0 Support (#53)
Updated to the latest k6 version, ensuring compatibility with the newest k6 features and improvements.
Modernized Release Workflow (#55)
Replaced custom release workflow with the shared workflow from grafana/xk6, bringing:
- Consistency with other k6 extensions
- Streamlined release process
- Better maintainability
Breaking Change: Docker images will no longer be created with k6 binary built with this extension. Users should use k6's Automatic Extension Resolution feature or build with xk6 locally if needed.
Security
Vulnerability Fixes (#59)
Updated golang.org/x/crypto from v0.43.0 to v0.45.0, addressing:
- GO-2025-4135: Malformed constraint causing denial of service in
golang.org/x/crypto/ssh/agent - GO-2025-4134: Unbounded memory consumption in
golang.org/x/crypto/ssh
Bug Fixes
Label Ordering Compliance (#60)
Fixed label ordering in example scripts to comply with Prometheus/Thanos requirements:
- Labels are now sorted alphabetically (lexicographic order after
__name__) - Prevents 409 Conflict errors from Thanos
- Updated examples:
examples/full_write_example.jsexamples/full_read_write_example.jsexamples/benchtool.js
Documentation
- Added comprehensive TypeScript API documentation
- Created contribution guidelines
- Updated development workflow documentation
- Added inline code examples throughout type definitions
For the complete list of changes, see the full changelog.
v0.3.2
What's Changed
- Report remote write success on any 2xx response by @philipgough in #31
- Transfer code ownership to k6-extensions by @andrewslotin in #33
- Change to using sobek instead of goja by @mstoykov in #34
New Contributors
- @andrewslotin made their first contribution in #33
Full Changelog: v0.3.1...v0.3.2
v0.3.1
v0.3.0
What's Changed
- feat: update k6 dependency and go version by @fgouteroux in #28
New Contributors
- @fgouteroux made their first contribution in #28
Full Changelog: v0.2.4...v0.3.0