Repository navigation
BreakTest 2026.09.13 — HAR Uploads, Shared Correlation Rules, and HTTP Improvements
BreakTest 2026.09.13 — HAR Uploads, Shared Correlation Rules, and HTTP Improvements
This release improves replaying recorded file uploads, adds import and export
for custom correlation rules, and fixes response handling and result navigation.
It also reduces HTTP processing overhead and expands HTTP/3 compatibility with
test certificates and client-certificate authentication.
HAR Uploads and Correlation Rules
- Replay browser-captured file uploads. HAR import recognizes multipart
uploads and preserves filenames, field names, and content types. When the HAR
includes supported browser upload captures, import binary and empty files
into the JMX archive, save them to the working directory, or keep filename
references only. Missing or ambiguous captures produce warnings. - Reuse identical captured files and give different files with the same name
distinct archive filenames. Archived upload references now resolve even
before the imported plan has been saved. - Share custom correlation rules as JSON through Tools → Try Predefined
Correlations, with import, export, and a custom-rules-only filter. Reimporting
updates matching rule IDs without duplicating them or removing unrelated rules. - Fix custom correlation selection after opening another JMX, so the dialog
uses the loaded plan's archived rules and imports into the correct plan.
Fixes and Usability
- Keep response bodies available to assertions and extractors during normal
runs. HTTP samplers configured with Fetch and discard or Store on
error automatically retain bodies when assertions or post-processors apply,
including inherited elements. Saved settings and explicit checksum modes
remain unchanged. - Navigate from redirect and embedded-resource subresults to their originating
sampler using Jump to or double-click in either Results Tree view. - Fix the fast JMX loading setting so it takes effect. Expose additional
controls in Options → Settings, including extractor preview timeouts,
custom correlation files, class-discovery caching, UDP receive limits,
HTTP/2 closed-session retries, and the long-line response display guard.
HTTP Performance and Resource Use
- Reduce temporary allocations when decoding gzip, Deflate, Brotli, and
Zstandard responses. Release decoder resources promptly, including when
calculating checksums of decoded responses. - Format diagnostic request and response headers only when a consumer reads
them, by default across HC5 HTTP/1.1 and HTTP/2 and the Java HTTP/3 client.
This reduces unnecessary work when headers are unused; workloads that
frequently read small headers may benefit from disabling the option under
Options → Settings → HttpClient5 and restarting BreakTest. - Avoid unnecessary request-header parsing when caching responses without a
Varyheader. - Let compatible backend-listener plugins opt into reusing a static sample
context, reducing per-sample allocations. Existing plugins retain their
current behavior unless they opt in.
Sources: #137,
#139,
#144,
#145,
#146.
HTTP/3 and TLS Compatibility
- Support HTTP/3 test targets with self-signed or expired certificates through
a certificate retry, and use configured client certificates on the normal
HTTP/3 connection path for mutual TLS. - HTTP/2 samplers now ignore certificate hostname mismatches, matching
HTTP/1.1. Tests that relied on rejecting a wrong-host certificate will no
longer receive that validation failure. The updater retains certificate and
hostname verification. - HTTP/3 certificate retries require TCP TLS at the original origin with a
matching certificate. They cannot recover certificate failures at a different
origin reached through automatic redirects. The initial handshake failure,
TCP probe, and retry count toward sample elapsed time. - The JDK hostname setting in
bin/system.propertiesalso affects JDK HTTP
clients in plugins and JSR223 scripts. Embedded applications and test runners
that do not load that file must pass
-Djdk.internal.httpclient.disableHostnameVerification=trueat JVM startup,
before any JDK HTTP client initializes, to obtain the same sampler behavior.
Security-sensitive JDK clients must explicitly enable HTTPS endpoint
identification. - Java 21 or later remains required; HTTP/3 over QUIC requires Java 26 or later.
Automatic HTTP/3 discovery remains opt-in.
Source: #141.
Also includes test and CI reliability improvements across Linux, macOS, and
Windows, with expanded Java 26 and HTTP/3 coverage.