Release notes
A short log of the changes you can see as a customer. This page is the customer-facing record. For live operational status and incident history, see the Maxoperf status page.
How to read these notes
Section titled “How to read these notes”- Changes are grouped by month, with the larger items first.
- “New” items add a capability without breaking existing workflows.
- “Improved” items refine something that already worked.
- “Changed” items affect behavior you might rely on. They are listed explicitly so you can adjust.
If a release affects an API contract, the API reference and its live spec at /reference/ are the authoritative source.
October 2026
Section titled “October 2026”Improved: Run detail Errors tab, failure summary and blocked-traffic notice
Section titled “Improved: Run detail Errors tab, failure summary and blocked-traffic notice”- The Errors tab now sits right after Request stats and shows the error count in its label, for example Errors (1.2K).
- A failed browser experience run shows one failure summary instead of repeating the failure in several places. The probe video tile keeps the recording’s aspect ratio and starts when the load started.
- When most failed requests were
403or429responses, or your WAF identified itself, the Overview warns that your target may be blocking MaxoPerf traffic and lists how to fix it (allowlist runner IPs, bypass header, lower rate). - New, additive:
GET /v1/runs/{runId}/dashboard/blocked-traffic, and an optionalblockedTrafficfield on the run executive summary andget_run_summary.
Changed: Apiritif requests fail on HTTP 4xx and 5xx
Section titled “Changed: Apiritif requests fail on HTTP 4xx and 5xx”- Apiritif scenarios that list plain
urlrequests now count a response with status 400 or higher as a failed request, like JMeter does. Before, a 403 “access denied” or WAF block page was reported as a success, which could show a high pass rate while most requests were blocked. - Failed requests appear in the run’s Errors tab under Client errors (4xx) or Server errors (5xx), and in your failure criteria’s error rate.
- A request or scenario with its own
http-codeassertion is unchanged: your assertion decides. To keep the old behaviour for a scenario, setauto-assert-ok: false. See HTTP error statuses on Apiritif requests. - Scenarios that set
certificatekeep the previous behaviour.
Fixed: Errors tab no longer shows another error’s response bodies
Section titled “Fixed: Errors tab no longer shows another error’s response bodies”- When a selected error group has no captured sample of its own, the Errors tab used to show bodies of other errors on the same transaction (for example 403 pages under a timeout group). They now appear only in a collapsed Other responses on this transaction section, clearly marked as not part of the selected error.
- The
get_run_error_bodiestool andGET /v1/runs/{runId}/dashboard/error-bodiesgain an optionalcategoryfilter (http_4xx,http_5xxornetwork) for the same purpose.
September 2026
Section titled “September 2026”Changed: Virtual-user metrics default to SUM
Section titled “Changed: Virtual-user metrics default to SUM”- In the run Metrics explorer (and
GET /v1/runs/{runId}/metrics/explorer/catalog), virtual users and threads (taurus.load.concurrency,taurus.load.group_threads,jmeter.load.threads) now listsum,max,min,p95, anddefaultAggregationissuminstead ofmax. Every option is a total across runners:sumadds each runner’s average level in the time bucket,maxadds each runner’s peak. avgis no longer listed for these metrics but is still accepted permanently and returns the same values assum, so saved dashboards, shared links and API scripts keep working.- A query that relied on the default now gets the per-bucket average total instead of the per-bucket peak total. Pass
aggregation: "max"explicitly to keep the old numbers. - SUM is also available on runner container memory (
runner.memory.current,runner.memory.working_set,runner.memory.swap_current) and disk I/O (runner.io.*), and is listed first for per-runner rates.
Improved: Run Logs, Artifacts and test settings
Section titled “Improved: Run Logs, Artifacts and test settings”- Logs is a terminal-style viewer: stream and severity chips, find with highlighted matches and next/previous, a runner filter, wrap, follow (live runs) and download of the loaded lines.
- Artifacts shows every file in one table with a Runner column, file-type icons, a summary of counts and total size, and type chips; switch to By runner for the grouped view.
- The test page’s engine, browsers, runner size and tags now sit in one compact, aligned settings band.
New: Errors grouped by type, with captured request and response bodies
Section titled “New: Errors grouped by type, with captured request and response bodies”- The run Errors tab now has two views: By error type groups failed requests by category (Server errors (5xx), Client errors (4xx), Timeouts & network, Assertion failures, Other errors) and a normalized signature; By transaction groups the same errors by request label. Select a row to open a First / Last / Recent sample of the captured request and response.
- These engines capture samples: JMeter, k6, Gatling, Locust, Apiritif and Playwright, with the limits listed in the guide; Selenium on Chrome while browser recording is on and the test’s first execution is Selenium. Samples appear while the run is in progress, except for Selenium, where they appear when each browser session ends.
- Captured samples are redacted: request and response bodies, the request URL, headers, and the response message. Transaction names and the Errors list’s own messages are shown unredacted.
- A new per-test Capture error bodies switch (Configuration → Test details, on by default) turns capture off for a single test’s future runs. Anyone a run is shared with, including share-link viewers, sees the same tab and samples.
- Runs recorded before this update still show their errors, grouped by status code under a Recorded before error grouping banner.
- See Inspect error response bodies.
New: Pay with one-time payments (prepaid credit)
Section titled “New: Pay with one-time payments (prepaid credit)”- Any paid plan can now be paid for with one-time PayPal payments instead of a recurring subscription: prepay 1, 3, 6 or 12 months, and the plan is charged monthly from your credit balance.
- The Billing Overview tab shows a Prepaid credit panel with your balance, how long it covers you and every top-up and charge. A short balance keeps the plan for a 3-day grace period, with a banner showing the deadline.
- Prepaid credit never expires and is non-refundable if you cancel, downgrade or close your account; refund rights in the Terms of Service still apply. See Pay with one-time payments.
- Terms of Service §16 gains a Prepaid credit paragraph stating that position.
- A PayPal refund or chargeback of a top-up takes that amount back off the balance. If the credit was already spent, the balance can go below zero; the panel shows it as owed and the next top-up covers it first.
Changed: Failure criteria decide every run
Section titled “Changed: Failure criteria decide every run”- The criteria saved on a test are now enforced on every run, for every test type and engine, including uploaded Taurus YAML, interactive tests and VarioTest members. An uploaded YAML’s own
passfailblock is replaced by the test’s criteria at run time. - A breached criterion with severity Error now fails the run even when its action is
continue; the action only decides whether the run stops early. - The verdict waits (up to two minutes) for every runner’s final results, so a breach in a run’s last seconds is no longer missed.
- A criterion’s label now defaults to All labels (
ANY), and the console suggests the labels your test really produces. A criterion whose label matched no samples shows No data on the run instead of passing silently. See Failure criteria pass/fail gates.
May 2026
Section titled “May 2026”New: Customer docs portal
Section titled “New: Customer docs portal”- Customer documentation now has Concepts, How-to, Reference, Troubleshooting, FAQ, and Release notes sections, with full-text search.
- New pages cover every shipped customer-facing capability: accounts and workspaces, tests and runs, engines, schedules, secrets, data entities, private datacenters, billing and plans, dashboards, and CI integration.
New: Inspect error response bodies
Section titled “New: Inspect error response bodies”- Error response body capture was announced here but did not reach the console until September 2026. See the September entry.
Improved: Reporting dashboards
Section titled “Improved: Reporting dashboards”- Dashboards now support per-chart titles and descriptions, drag-to-reorder, and resize-to-fit layouts. Default dashboards apply automatically when you open a run. See Build reporting dashboards.
Improved: Plan switch flow
Section titled “Improved: Plan switch flow”- Before you confirm a plan switch on the Billing screen, the flow now shows the plans side by side and the prorated charge for the rest of the current billing period. See Upgrade or cancel your plan.
For earlier release history, keep scrolling. This page holds the full customer-visible log. For anything it doesn’t answer, contact MaxoPerf from the FAQ.