Self-service SSO and SCIM onboarding
Enterprise organization administrators can now start SSO and SCIM onboarding from Artillery Cloud. Open Settings → SSO to submit your identity-provider configuration and provisioning requirements.
Enterprise organization administrators can now start SSO and SCIM onboarding from Artillery Cloud. Open Settings → SSO to submit your identity-provider configuration and provisioning requirements.
config.http.distributedTracing (boolean, or object with enabled, sampled, and traceIdPrefix fields). When enabled, Artillery adds a traceparent header to each request so backend traces can be correlated with the originating test.SIGKILL) and worker tasks continue running. Fargate worker tasks will now self-terminate if the CLI disappears for more than 180 seconds.notifyOnFailureOnly option to only send a Slack notification when a test fails.npm dependencies (for example, TypeScript scenarios that require external packages) could silently skip installation, causing the test to fail later with module-not-found errors.http.url alongside url.full, and http.method alongside http.request.method) so existing dashboards and queries continue to work.Full release notes on GitHub: https://github.com/artilleryio/artillery/releases/tag/artillery-2.0.31
We updated Artillery Cloud to comply with Web Content Accessibility Guidelines (WCAG) 2.1 Level AA . Improvements include keyboard navigation, support for browser zoom, accessible chart descriptions, clearer form errors, improved color contrast, and labels for interactive controls.
You can now browse, search, and inspect data stored with the Stash API from Artillery Cloud. Open Stash in the sidebar to view the keys and values available to your organization.
Artillery Cloud now uses a collapsible sidebar and page breadcrumbs for navigation. The new layout makes the current location clearer and provides room for more product features as they are added.
A Performance Trends overview is now available on individual test runs. Open a test report to see how its key performance metrics compare across recent runs of the same test.
Full release notes on GitHub: https://github.com/artilleryio/artillery/releases/tag/artillery-2.0.30
Full release notes on GitHub: https://github.com/artilleryio/artillery/releases/tag/artillery-2.0.29
stripQueryString (defaults to false): Remove query strings from URLsnormalizeQueryString (defaults to true): Normalize query string values to reduce metric cardinality. Converts numeric values like /page?id=123 to /page?id=NUMBER--scenario-name flag was ignored, causing all scenarios to run instead of just the specified scenarioFull release notes on GitHub: https://github.com/artilleryio/artillery/releases/tag/artillery-2.0.28
We have significantly improved the performance of load test reports for tests with many distinct metrics: memory consumption was reduced, Text logs and Activity widgets open much faster, and the Chart builder widget can now handle thousands of metrics.
Tooltips are now synchronized across visible charts making it easier to compare metrics. We also improved the tooltip design and tweaked chart legends to take less space on the page, further improving the readability of reports.
We have added a new option under the test view more menu (…) so you can now export test reports as PDF.
--no-assign-public-ip flag to disable automatic assignment of public IPs to worker tasks. This allows for load tests to run from private subnets with a NAT gateway attached for use-cases where traffic has to come from a set of known IPs.config.payload when a separate config is used with the --config flag.--scenario-name flagFull release notes on GitHub: https://github.com/artilleryio/artillery/releases/tag/artillery-2.0.27
Contextual docs & help are now available right inside Artillery Cloud via the new info side panel:
getStash() method to access the Stash API from any Node.js script (example )Full release notes on GitHub: https://github.com/artilleryio/artillery/releases/tag/artillery-2.0.26
package.json over automatically-detected dependencies. This fixes issues where latest versions of dependencies could be installed rather than those specified in package.jsonasync function is used for a function stepFull release notes on GitHub: https://github.com/artilleryio/artillery/releases/tag/artillery-2.0.25
lightstep-tracer library. Lightstep reporting is OTel-only now.Full release notes on GitHub: https://github.com/artilleryio/artillery/releases/tag/artillery-2.0.24
You can now see trends across multiple runs of a load test in the new Performance Trends view in Artillery Cloud.

Performance Trends view provides a summary of test health, and changes across key metrics in a test:
ensure checks, if definedTrends are calculated automatically for all load test runs, and are grouped by test name.
To see trends for a load test, you need to have at least 10 distinct runs of that test in the previous 90 days.
Performance Trends are available to all users on Team, Business, and Enterprise plans. There is no additional cost for using Performance Trends.
We’ve rebuilt Playwright Test Runner reporting in Artillery Cloud from the ground up with a focus on performance and usability.
Playwright test reports now update in real-time as a test is running, and you can start investigating test failures as soon as they happen.
Traces, screenshots, and other attachments are available for each test case immediately, and can be viewed directly in the report.
You can create a sharing URL with the Share button to share reports with people outside of your Artillery Cloud organization.
Web Vitals metrics can be captured and reported for every page in your tests automatically.
This feature needs to be enabled in your tests - see the @artilleryio/playwright-reporter docs for more informaion.
Playwright v1.51.0 and later automatically attaches a prompt with useful context for every failing test case. You can copy that prompt with the “Copy prompt” button in the report and in the trace viewer.
This feature requires Playwright v1.52 or later.
captureGitInfo supportThe report will show the details of the Git commit if captureGitInfo: { commit: true } is enabled in your playwright.config.ts file (see Playwright docs for details).
maxConcurrentRecordings from 3 to 5 to increase the probability of capturing traces for failed VUs (#3533 )AZURE_CLIENT_ID and AZURE_CLIENT_SECRET environment variables rather than CLI flags. This brings Artillery CLI in line with Azure SDK’s DefaultAzureCredential credential chain. (#3525 )WORKER_WAIT_TIMEOUT_SEC environment variable (#3527 )us-gov-east-1 & us-gov-east-2 (AWS GovCloud), il-central-1 (Israel), cn-north-1 & cn-northwest-1 (China) (#3522 )WORKER_WAIT_TIMEOUT_SEC environment variable (#3527 )--task-role-name flag not being taken into account (#3469 )slack plugin (#3499 )report command has ben removed. As an alternative consider setting up Artillery Cloud for visualizing test metrics, or setting up an OpenTelemetry integration with an external monitoring system with the publish-metrics plugin. (#3431 )config.target could not be set to the value of a remote environment variable (#3430 )--env-file flag as an alternative for --dotenv flag. This makes it consistent with the Node.js --env-file flag. The --dotenv flag will be deprecated in a future release (#3376 )http.response_time.2xx or http.response_time.5xx) is now reported to provide more granular view of response times in a test (#3326 )pause phases (#3331 )--dotenv / --env-file flag available to workers containers (rather than just the Artillery process running inside the worker) (#3376 )json-plus to address a critical security vulnerability (#3369 )Introducing a new way to filter and organize your tests. We have updated the UI to better surface all filters and added even more options to filter by, so it should be easy to find specific test runs.

You can now see the target and phases of your test right from the load test view — added in Artillery CLI v2.0.20.
multipart/form-data form fields #3316 — docsloadAll is not set by @hassy in #3303 --name option to set the name of the test to be shown in Artillery Cloud dashboard #3317 — docs--config option correctly #3312 --dotenv correctly #3313 .npmrc and other dotfiles correctly #3312 
loadAll (#3277 )--container-dns-servers flag when running on ECS/EC2 (#3301 )--task-ephemeral-storage flag (#3301 )You can now try our new Comparison view. This feature lets you to compare two test runs side by side, making it easier to spot trends and correlations between them. Right now the feature is in open preview for all Artillery Cloud users, so try it out and let us know what you think.
run:ecs and run-ecs aliases to run-fargate commandtough-cookie package to v5 to prevent usage of deprecated package--platform flag--container flag (all run-lambda tests now run using Lambda Container Images)strictCapture option into account when set in defaultsArtillery will now always use Lambda Container Images to run tests on AWS Lambda. The --container flag introduced in v2.0.12 is no longer required and will be removed in the next release. Creating Lambda functions from .zip archives is no longer supported.
All existing tests should continue running normally without needing any changes. If you run into any issues please open an issue .
This change brings improved startup times for tests running on AWS Lambda and brings AWS Lambda support to parity with AWS Fargate.
WORKED_ID environment variable0 values for defaultNavigationTimeout and defaultTimeout settingstestFunction cannot be foundpublish-metrics plugin)url attribute to page spans when tracing is enabled for Playwright teststest_id attribute is no longer set on all metrics. The built-in $testId variable may be used to set that attribute when neededFix a number of issues that prevented the Slack plugin from working with tests running on AWS Fargate and AWS Lambda
We have improved the Metrics page, it should load much faster and be easier and quicker to navigate. Here are the changes:
Artillery can now use Lambda Container Images to run tests on AWS Lambda. Pass the --container flag to run-lambda command to use a container instead of a zip file. No further configuration is required.
This change brings two main benefits:
Container-based Lambda functions will become the default option in a future release of Artillery.
ENOSPC error with Playwright tracing enabledbrowser.traces_collected and browser.traces_discarded metrics$dirname variable - docs--scenario-name flag will now default to using an exact string match, and fall back to using a regex--tags flagYou can now create custom charts with any metrics from your test run. Charts created with the new chart builder are available across different test runs with the same name. Custom charts can also be viewed by other members of your team.
For long test runs, a navigator is available to help you zoom-in and inspect different phases of your load test. The new navigator is available on the bottom of the chart, and the zoom level is synchronized across all charts, including the newly introduced custom charts.
--task-role-name) - docsexpect pluginparallel action for making parallel requests in HTTP tests--quiet flag - docseu-north-1 to supported regions--quiet flag - docs1.43.1 - docsreplaceSpanNameRegex config option - DocssampleRate tracing option setplugins.publish-metrics.spans.exported ) when tracing is enabledARTILLERY_CLOUD_API_KEY environment variable from being picked up by Fargate when using --dotenvETIMEOUT or ECONNRESET - docsasync functions as hooks - docs--launch-config flagexpect from @playwright/test work natively with Typescript support - Documentationtarget as Playwright’s baseURL by default, allowing test scripts to include only relative paths in page navigations (e.g. page.goto('/docs') ) - Documentationconfig.bundling.external to set packages that can’t be bundled as external - Documentation{{ $testId }} in scenarios/config and vuContext.vars.$testId in custom codeopentelemetry reporter with a test_id attribute, making it easier to search for all relevant data from a particular test runYou can now invite new team members and manage existing membership from one screen.

You can see how much of your plan’s quota your organization is using in the new usage stats section in the Billing page. There’s also a new FAQ section to help with any questions you might have around usage limits.
Filter by date gets a new navigation, with improvements for selecting dates across multiple months. There’s a new Last 7 days shortcut too.

There’s a new quick access area with links to Billing, Team Members, and API Keys in the organization dropdown. You can now see your current billing plan too.
Artillery will now aim to release a new CLI version every first and third Monday of each month, when possible.
testIdAttribute setting - Documentationheadless mode by default when running in Fargate, as headed mode is not compatible with Fargate--spot flag - Documentation$randomString(length) utility to return correct number of characters and allow length larger than 10eu-west-2, eu-west-3, us-east-2, us-west-2, ca-central-1, ap-east-1, ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-northeast-1, me-south-1, sa-east-1 )--variables flag in run-fargate command - Documentation--region flagbrowser.page.codes.<code> metric - Documentationbefore/ after hooks that prevented the Playwright engine from working - Documentationtest.step() with OpenTelemetry Playwright tracing enabledUnique sharing URLs can now be generated for test reports. This is useful for sharing test reports with people outside of your team on Artillery Cloud.

We have updated the colors for the Page performance widget so they are consistent across all charts that have the same metrics. We now show the score (good, fair, bad) for every metric on all tooltips and on also the “Performance breakdown by URL” table.

When plotting two separate metrics with the same aggregation (e.g. p95) for comparisons, the series lines now show a distinctive style to improve readability.
You can now see an overview of your team’s load testing activity at a glance:
ensure checks if any were defined.Stats for all time activity are shown by default, but you can also see stats for the last 30 days.
Sometimes you need to stop a test that is currently running. You can now do this directly from the dashboard.
This works for all Artillery tests that run on AWS Fargate, regardless of whether they are triggered from a developer’s machine or from a CI/CD pipeline.
This feature requires that Artillery CLI v2.0.1 or later is used to run the test.
The extension is available from the VS Code Marketplace .
artillery-plugin-fake-data plugin will now appear listed under config.plugins, with all different available functions listed to customise their options
config.environments will now have full Intelisense support, with all available config options shown when an environment is listed
key:value pairs in:
cookies, headers and form fieldsquery and extraHeaders fieldsheaders fieldthink steps in scenariosmetrics-by-endpoint plugin is now enabled by default to capture per-URL metrics in HTTP tests. The metrics will be available only in the JSON report and not output to the console, unless the plugin is loaded explicitly by the user.--cpu and --memory flags$env not resolving correctly in the config section--scenario-name not picking up the correct scenariofake-data plugin to allow for realistic test data to be generated in your tests - docsensure checksexpect plugintest.step() calls, page navigation events, and Core Web Vitals metrics400 or higherHTTP_REQUEST_CONTENT_LENGTH, HTTP_USER_AGENT and HTTP_FLAVOR attributesvu.uuid) not always being set correctlypublish-metrics pluginFID Core Web Vital metric not being emitted as expected--cpu and --memory flagsargs/on optionsmatch errors in the report
In order to enhance readability and efficiency, we have made the following updates to charts:
We have also improved the design of load phases on all charts. Changes include:
pause phases are now labeled as pause instead of phase #npause phases from regular load phasespause phases)We have introduced a new HTTP performance widget that displays information for all HTTP requests. This widget offers the following enhancements:
playwright: Update Playwright version to latest (1.39.0).playwright: Add a convenience test.step() helper, allowing you to break your tests into steps that emit custom timing metrics - Docs.--scenario-name, allowing you to specify which scenario to run by its name in the test script - Docs.mean as a metric.context.scenario - Docs.
socketio: Allow nested options (e.g. namespace) in emit without throwing validation error - Docs.socketio: Allow emit action to be an array of strings - Docs.fargate: Fix issue with --packages flag.fargate: Include apdex plugin and playwright engine by default in image, preventing additional installation in workers.capture.config.engine.apdex - Allow frustrated, satisfied and tolerated metrics to be checked with ensure plugin.apdex - Prevent plugin from crashing when using processor functions.publish-metrics - Set headers as metadata for otel-grpc exporter in OpenTelemetry reporter - Docs.publish-metrics - Create endpoint path correctly so it works with managed instances of Dynatrace.publish-metrics: Fix OpenTelemetry reporter debug logging.Display load phase information on all time series charts when you hover over the load phase name.

Show sparkline chart preview of Page performance scores per URL over time. This is useful to help you identify any spikes without needing to expand the chart.

We have added custom favicons that show the current test status right in your browser tab. Helps you keep tabs on your running tests and for those with multiple tabs opened.
![]()
Improve loading states for HTTP requests and HTTP response distribution widgets.
x axis for time series charts0 if no data availableGroup views make it much easier to scan through your Load Tests page, specially for users that run a high volume of tests. We have added grouping by date, test status, test name, and user.
We have improved loading states and help copy on Checks, Errors, and Load Summary widgets.
Improve performance of loading screens and update its design.
This update is focused on improving visibility of test phases for tests in progress.
vusers metrics under one chart on Test Reports0 for tests in progressThis update is focused on many small improvements to improve overall information density and make it easier to understand load testing activity at a glance, as well as to make it easier to analyze individual load test runs.








name tag is no longer shown in the list of tags (the name tag sets the name of the test shown in the list)publish-metrics plugin can now be configured to send Artillery metrics and events to Dynatrace. Read more in the docsconfig.http.defaults - default headers and cookies for all requests in a test may now be set via config.http.defaults--variables to be used anywhere in configpublish-metrics - Exit early if required config is missing for publish-metricspublish-metrics - Reduce memory usage of the pluginexpect - add useRequestNamesOnly optionensure - fix bug where ensure config under config.plugins.ensure would not get picked up
We’ve reorganized the layout of individual test reports to make notes more prominent, improved readability of the metadata section, and created more room for useful visualizations in the main area.
Notes provide a way to annotate test runs with useful information such as links to external logs and dashboards, and for recording results of investigations into performance issues found by load tests.
We’ve now pulled them out from a separate view to make them more accessible.

You can now see Core Web Vitals measurements for an entire test run, and understand how user experience is affected by high load.

We have added the ability to switch between p99, p95 and median aggregations for visualizing Core Web Vitals metrics.
We have added a new quickstart wizard which lets you go from first sign-in to running a load test in 3 steps.


Core Web Vitals is a set of key frontend performance metrics that measure user-perceived performance of a web application.
The dashboard will now visualize the performance of every page for load tests that use Artillery’s Playwright integration. This will help you understand how user-perceived performance is affected by high load.


The load test summary view will now calculate and display Apdex scores for load tests that make use the built-in apdex plugin.
Apdex (Application Performance Index) is an open standard for measuring performance of HTTP services. The Apdex score converts response times into a single score that reflects user satisfaction with the service.

This release adds support for running tests on AWS Fargate . Scale out your load tests horizontally from any of the six supported regions.
artillery run-fargate --count 10 --region us-east-1 my-script.ymlSupported regions:
us-east-1us-west-1eu-west-1eu-central-1ap-south-1ap-northeast-1AWS Fargate is a serverless solution that requires no infrastructure to be managed, and unlike AWS Lambda does not impose a restriction on the duration of your load tests.
Artillery’s Playwright integration is fully supported on Fargate, to let you run browser-based load tests at scale with ease.
Playwright support is now built into Artillery. The integration in artillery-engine-playwright is now bundled into the Artillery CLI.
testFunction attribute rather than flowFunctionflow attribute may now be omitted in Playwright engine scenarioslambdaRoleArn to AWS Lambda engine correctlyhttp.downloaded_bytes metric$env variable (the current way of accessing those via $processEnvironment is still supported but will be deprecated in future)

The main load test list now shows the results of ensure checks so that you can see at a glance which tests succeeded and which ones did not meet performance thresholds.
We recommend using ensure checks for all regular tests to help make sure that performance goals are met.
We have reduced the number of status filters down to just four: Succeeded, Failed, Cancelled, and In Progress. A test run that sets ensure checks is marked as Succeeded only if all checks are successful.

We have done a comprehensive overhaul across the whole interface of the application, updating component surfaces, font sizes, animations, and more, to make the UI feel more consistent, accessible, and easy on the eyes.

The Settings area has been updated to make navigation easier and now includes the ability to edit organization and personal details.
It’s now also possible to pick a “system theme” which makes our UI follow your operating system’s light/dark theme.
To make getting to the information you want faster, the dashboard supports Saved Views now. Any combination of tag filters, date filters, and test status filters can be named and saved as a view.

You can now manage current team members, and the GitHub allowlist that determines who may join your organization from the Settings area.
Overview pages are now live and can be used to follow the progress of an in-progress load test.
We improved information density and scannability of the main load test list view. The default page size has also been increased from 10 to 50.
Create API keys to use with the Artillery CLI or to create custom integrations with Artillery Cloud.
We spent a lot of time on refactoring and optimization. End result: a leaner, snappier and more responsive UI.

config.plugins and engines loaded via config.enginesnotStatusCode check in the expect pluginincludeOnly and excluded options may be used to configure the list of Artillery metrics which will be sent to Datadogartillery run is used with the --output option, Artillery will check if destination exists before running the test
We have released Artillery v2.0.0-28, which adds support for AWS CloudWatch, and features a number of performance and stability improvements.
artilleryio-default-lambda-role role, you will need to re-attach it to the new artilleryio-default-lambda-role-20230116 roleprobe command has been removed from the CLI. The functionality has been moved to the new Skytrace CLI gzip) will be decompressed by default now. (Set gzip: false to disable automatic decompression if required to improve performance.)arrivalRate and rampTo set to 0rampTo logic to result in more predictable and deterministic rampsmaxVusers setting that would lead to unexpected number of VUs to be generatedartillery objectmemory-size and security-group-ids optionsWe have released a big update to the Artillery Dashboard with a focus on improving the Overview section and our charting engine to let you understand load test results faster.




The new Overview section provides at-a-glance view of what happened during a load test, including:
ensure checks.min, max, p999, p99, and p95).
Capture the results of performance investigations and link to relevant external resources such as Datadog dashboards, Kibana logs, or JIRA tickets. With full Markdown support, and ability to post notes via the CLI.

And finally, if dark mode isn’t your thing, the dashboard has a light mode now. Toggle it on via Profile -> Light Mode.

We have improved the layout and styling of reports generated with artillery report.

You can now load environment variables from a file with the --dotenv flag. Those env vars are available in Artillery scenarios through the $env variable.
We released an official AWS CDK -based installer for Artillery dashboard.
The dashboard can now be deployed in more than one way to fit the exact requirements of your organization:
We added support for authentication through GitHub.

An Aurora Serverless database cluster may now be used as the backing store for Artillery Pro.
This requires Data API to be enabled on the cluster. Only Aurora Serverless v1 is supported right now.

Artillery Pro v3.0.0-10 has been released (full changelog)
--dotenv flagtest_run_id tag, which is set to the test run ID--secret flag would be taken into account--subnet-ids in run-test
A long requested feature of our dashboard has been the ability to login with GitHub. A layer of authentication removing the need for VPN’s on your end.

With the latest we’re shipping:

We have launched the first version of Artillery Probe, a smart and user-friendly HTTP client built into Artillery

Artillery Probe is available in the most recent release of Artillery:
npm install -g artillery@latestwait action to WebSocket scenariosDetailed changelog for the CLI on GitHub releases page .



Polish & fixes:
--max-duration flag to run-test command to set a limit on running time of a testNew kubectl plugin! Use kubectl artillery scaffold to scaffold tests for existing Kube services. Available from GitHub releases ›

Sometimes you don’t need to keep a test result around - maybe the run did not complete and you don’t need the report, or perhaps you ran the test in the wrong environment and the results are meaningless. Whatever the reason, you can now delete test results you don’t need.

In case you missed it in the previous changelog, this can be done from the CLI too with the - Add delete-test-run command.
Artillery v2.0.0-13 has been released:

(Artillery Pro Dashboard is in early beta with a small number of Artillery Pro customers. If you’d like to join the beta, please let us know via team@artillery.io )
Last week we made a few changes focused on improving querying & filtering, providing more context around test run data, and adding a bit of extra polish.
You can now search & filter by:
We also improved the tag filtering input and made tag filter query easier to read.

You can now customize the columns shown in the main load test view to be able to find what you’re looking for faster.

We’ve exposed more metadata for test runs in the sidebar. You can now see more information for each test run now, such as:
artillery command used to trigger the test run
Sometimes filtering and searching can take a bit of time, especially for more complex queries. We’ve added loading indicators in a few places to make it clear that the UI is busy doing the thing you asked it to do.

delete-test-run commanddescribe-test-run returns extra metadata about a test run:

Welcome to our brand new changelog where we will keep you updated on new releases, features, fixes and improvements in our products.
You can now filter the list of load test results by multiple tags.

You can further refine a tag filter with test status. For example to show all test runs tagged with team:sre and service:checkout-service which did not complete successfully.
You can now jump straight to a chart for a specific metric from the sidebar.

We added support for zooming and panning to metric charts.

When a new release of the dashboard is available, the app will show a notification in the top-right corner, along with a link to the changelog and upgrade instructions.

We have released an early preview of the Artillery Operator for Kubernetes. The goal of the project is to make Kubernetes-specific workflows easier with Artillery. We’d love to hear your feedback, comments, and suggestions.