Skip to content

v6.0.0

Latest

Choose a tag to compare

@simonecorsi simonecorsi released this 12 May 11:13
· 43 commits to main since this release

6.0.0 (2026-05-12)

  • chore!: replace eslint/prettier/husky/ava/nyc with biome/lefthook (01b3bb7)
  • feat!: ship ESM-only package, require Node.js >=24, upgrade to TypeScript 6 (df4e1ca)

Bug Fixes

  • adds missing build step (3b8f798)
  • cli: replace DRY_RUN=1 hint with --dry-run and suppress sent log on dry-run (429023e)
  • coerce port flag value to number before validation (39a5ede)
  • destructure dry-run key correctly so --dry-run flag activates (1978d6f)
  • ensure CLI args take precedence over file configs (c92264e)
  • flush buffered metrics before closing socket (358f139)
  • socket: set closing flag before await to prevent double-close TOCTOU (92a0d5e)
  • socket: set connected flag before awaits to prevent TOCTOU race in close (e6a0f02)
  • test: guard ServerTCP.stop() against double invocation (1bcb6f4)
  • test: guard ServerTCP.stop() against uninitialized or non-listening server (88e97e6)
  • upgrade autocannon from 7.14.0 to 7.15.0 (e8c1672)

BREAKING CHANGES

  • Development toolchain completely replaced. ESLint, Prettier,
    Husky, lint-staged, NYC, Ava, pkg, czrc, and commitlint config removed.
    Biome (linter+formatter) and lefthook (git hooks) added instead.
  • Package is now ESM-only. CommonJS output has been removed.
    Node.js >=24.0.0 is now required (leverages native CJS→ESM interoperability).
    TypeScript 6 with NodeNext module resolution. CLI binaries now built with
    bun build --compile instead of pkg. Also fixes close() not cancelling the
    buffer flush timeout, which could cause timer leaks after the client is closed.