← Back to all sparks
A

Artillery

DEVOPS
Velocity3.8

Load testing and smoke testing toolkit for modern backends

Artillery adds a single-request diagnostic command and finally makes ESM a first-class citizen.

load-testingesmtypescriptaws-fargateplaywrightdeveloper-experience
Current state
Artillery ships a patch release every four to eight weeks, and for most of the last ten that release was a Playwright version bump plus fixes to the distributed runners on Lambda, Fargate and Azure ACI. The recurring failure mode being chased is dependency resolution in worker environments: tests that need external npm modules silently starting with fewer VUs, skipped installs, module-not-found errors at run time. v2.0.34 breaks that pattern with genuine new surface area.
Where it's heading
Two arcs are converging. The first is reliability of the cloud runners, addressed incrementally by bundling more into the worker image rather than fetching at test startup — the fake-data plugin moved in this release, following the pre-packaged Playwright and CLI binaries earlier in the window. The second is modern JavaScript support: full ESM across processors, plugins, engines and reporters, plus TypeScript definitions that now model the entire test script rather than a fragment. Together they point at a team removing the reasons a test fails for reasons unrelated to the system under test.
Prediction
Expect the ping command to grow assertion and output options, and the worker images to keep absorbing commonly-used plugins so that startup installs disappear entirely.

Recent moves

  1. 4d ago

    artillery ping lands, plus full ESM and complete TypeScript definitions

    ⚡ SPARK

    The first release in this window to add capability rather than repair it: a ping command for single-request diagnostics, ESM support throughout the extension points, and TypeScript types covering the whole script format. It also continues the worker-image consolidation arc by bundling the fake-data plugin instead of downloading it at test startup.

    View source ↗
  2. 2mo ago

    Playwright 1.61 and a Faker swap in fake-data

    A Playwright bump and a replacement of Falso with Faker.js inside the fake-data plugin. Maintenance in the cadence that dominates this window.

    View source ↗
  3. 3mo ago

    http.timeout no longer silently capped at 8 seconds

    Fixes a cap that made requests to slow origins fail with ERR_SOCKET_TIMEOUT regardless of the configured http.timeout, plus startup MODULE_NOT_FOUND errors and Fargate runs starting fewer VUs than configured. The timeout bug is the consequential one — it produced failures that looked like the system under test was broken.

    View source ↗
  4. 3mo ago

    W3C trace context propagation and a Got 11 to 14 engine upgrade

    Adds traceparent headers on outgoing requests so backend traces correlate with the test that caused them, and moves the HTTP engine from Got 11 to Got 14 — flagged as potentially breaking for tests that reach into Got internals. Fargate workers also self-terminate if the CLI disappears for 180 seconds, closing a runaway-cost gap.

    View source ↗
  5. 6mo ago

    Playwright 1.58.1 and a Fargate binary mismatch fix

    Bumps Playwright and ensures Fargate uses pre-packaged Playwright and CLI versions rather than reinstalling them. Small, but part of the worker-image consolidation that runs through this window.

    View source ↗
  6. 6mo ago

    Playwright 1.58 and a Fargate metrics completeness fix

    A Playwright bump plus a fix for incomplete results when a test tracks many distinct metrics on Fargate. Routine upkeep of the distributed runner.

    View source ↗