Skip to content

Releases: oshokin/xk6-kv

Release v1.5.1

Choose a tag to compare

@github-actions github-actions released this 13 Jun 20:30

What changed

  • More reliable release checks on Windows

    • Hardened scripts/release_check_e2e.ps1 output capture to avoid false failures caused by benign stderr handling in PowerShell.
    • Improved Windows task execution in taskfile.yaml (race-test fallback when gcc is missing, more robust npm resolution, safer tag-fetch behavior, default single-scenario e2e value).
  • Build toolchain alignment

    • xk6 bumped from v1.4.4 to v1.4.6 across release/CI/task config.
  • Dependency refresh

    • Updated module graph, including:
      • github.com/grafana/sobek -> v0.0.0-20260612080906-524cb275218c
      • github.com/dlclark/regexp2/v2 -> v2.2.1 (indirect)
      • github.com/google/pprof -> v0.0.0-20260604005048-7023385849c0 (indirect)
      • golang.org/x/text -> v0.38.0 (indirect)
      • golang.org/x/sync -> v0.21.0 (indirect)

Upgrade impact

  • No migration needed for existing xk6-kv JS API usage.
  • Recommended upgrade for teams relying on Windows-based release validation and up-to-date toolchain deps.

Build toolchain

  • Go: 1.25.11
  • xk6: v1.4.6

Installation

Download Pre-built Binary

Download the archive for your platform, extract it, and run:

# Linux/macOS
tar -xzf xk6-kv_v1.5.1_linux_amd64.tar.gz
./k6 version

# Windows (PowerShell)
Expand-Archive xk6-kv_v1.5.1_windows_amd64.zip
.\k6.exe version

Build from Source

xk6 build --with github.com/oshokin/xk6-kv@v1.5.1

Full Changelog: https://github.com/oshokin/xk6-kv/commits/v1.5.1

Release v1.4.31

Choose a tag to compare

@github-actions github-actions released this 23 May 09:14

What's Changed

  • Added claimKeys() to lease explicit keys in one call and return claimed, busy, and missing partitions, with optional allOrNothing best-effort rollback for deterministic fixture reservation.
  • Added batch claim lifecycle helpers releaseClaims(), completeClaims(), and renewClaims() with partial-success summaries, stable per-item ClaimNotUpdated failures, and applied-progress context on technical storage errors.
  • Added allocationStats({ prefix }) for prefix-scoped pool health (total, claimable, claimedLive, claimedExpired) across memory and disk backends, including read-only disk fallback to durable bbolt scans when the operational index is unavailable.
  • Added exportCSV() for flat tabular export with configurable delimiter, columns, optional key column, and atomic temp-file replace semantics aligned with exportJSONL().
  • Added read-only seed preflight APIs validateCSV() and validateJSONL() with first-error reporting, row/line diagnostics, and checkedAll completion signaling before long imports.
  • Added OperationCanceledError when VU context cancellation or deadlines interrupt async work; long-running import/export/validation/backup/restore paths now honor context cancellation instead of treating shutdown as opaque failures.
  • Propagated VU context through the async bridge and long-running store work so canceled iterations, scenario stops, and test aborts fail fast with classified errors.
  • Expanded operation metrics coverage for new APIs (claim_keys, release_claims, complete_claims, renew_claims, export_csv, validate_csv, validate_jsonl, allocation_stats) and documented xk6_kv_async_in_flight saturation semantics.
  • Improved disk snapshot/restore behavior: optional operation contexts for backup/restore, in-place self-restore detection, and clearing persisted claim leases after self-restore to start from a clean allocation state.
  • Hardened portable file writes with cross-platform atomic replace helpers (internal/fileutil/replace_unix.go, replace_windows.go) used by CSV/JSONL export finalization.
  • Extended OSTree with prefix metadata walks and selectable-rank helpers to support claim-aware allocation indexing and prefix-scoped diagnostics.
  • Improved read-only disk store coverage for allocation stats and stats/claim reporting when trackKeys: true handles fall back to durable bbolt state.
  • Expanded TypeScript declarations and smoke tests for the new allocation, export, validation, and lifecycle APIs.
  • Added examples and fixtures for export-csv.js, validate-import-files.js, allocation-stats.js, claim-batch-lifecycle.js, and claim-keys.js, plus a recipe index in examples/README.md.
  • Added E2E coverage for allocation pool health, batch claim lifecycle, explicit fixture claims, CSV export capture, import validation, and expanded API output validation thresholds for the new methods.
  • Added task release-check (lint, race tests, TypeScript smoke, full E2E) with timestamped artifact capture via scripts/release_check_e2e.sh / .ps1.
  • Expanded README with API reference for the new methods, batch lifecycle semantics, allocation diagnostics guidance, export/validation recipes, intentional non-goals, and OperationCanceledError handling notes.

Build toolchain

  • Go: 1.25.10
  • xk6: v1.4.1

Installation

Download Pre-built Binary

Download the archive for your platform, extract it, and run:

# Linux/macOS
tar -xzf xk6-kv_v1.4.31_linux_amd64.tar.gz
./k6 version

# Windows (PowerShell)
Expand-Archive xk6-kv_v1.4.31_windows_amd64.zip
.\k6.exe version

Build from Source

xk6 build --with github.com/oshokin/xk6-kv@v1.4.31

Full Changelog: https://github.com/oshokin/xk6-kv/commits/v1.4.31