JMeter 5.3 Release Notes
Apache JMeter 5.3 release notes with 27 improvements and 19 bug fixes, plus upgrade notes from the official changelog.
Change summary
Section titled “Change summary”| Section | Changes |
|---|---|
| Incompatible changes | 2 |
| Improvements | 27 |
| Bug fixes | 19 |
| Non-functional changes | 34 |
New and Noteworthy
Section titled “New and Noteworthy”UX improvements
Section titled “UX improvements”Added Darklaf look and feel that improves several components.
Tree indentation level is easier to follow:
JMeter tree with Darklaf Darcula theme
JMeter tree with Darklaf IntelliJ theme
New look and feel themes. Light: IntellJ, Solarized Light, HighContrast Light. Dark: OneDark, Solarized Dark, HighContrast Dark.
When an element in tree is disabled, all its descendants are shown in gray.
For instance, While Contoller is disabled in the following tree, so its children
are gray. It is purely a UI change, and the behavior is not altered.
While controller is disabled, so its children are gray
Tree context menu is shown even in case the node selection is changed. Previously the popup did disappear and it was required to select a node first and only then launch popup.
Look and feel can now be updated without a restart
Use CTRL + ALT + wheel for zooming
fonts. Previous shortcut was CTRL + SHIFT + wheel,
however, it conflicted with horizontal scrolling.
In-app zoom is more consistent (e.g. sometimes not all the labels or even panels were scaled). For instance: log viewer, JSR223 code editor were not previously scaled with zoom-in/out feature
Tree context menu is shown for the full row, not for the label only
Undo and redo support for editable fields. Keystrokes are CTRL + Z /
CTRL + SHIFT + Z, or
CMD + Z/
CMD + SHIFT + Z depending on the operating system.
Undo is implemented on a field level basis (each fields has its own history), and the history is
invalidated when tree selection changes.
Mark the currently selected language in the options menu.
Mark the currently selected log level in the options menu.
Rework of many Test Element UI (JUnit Request, ForEach Controller, If Controller, Throughput Controller, WhileController, Counter Config, XPath2 Extractor, Function Helper Dialog, Search popup, JMS Elements)
Incompatible changes
Section titled “Incompatible changes”- Default value of
httpclient4.time_to_livehas been modified from2000to60000, this means HTTP connections will live longer than before. This has impact on connection creation and SSL handshake, see Bug 64289 - The update to Groovy 3 (PR#590) might break some old Groovy code of your tests. Have a look at the update notes for Groovy 3
Improvements
Section titled “Improvements”HTTP Samplers and Test Script Recorder
Section titled “HTTP Samplers and Test Script Recorder”- Bug 64160Test HTTP/S Test Script Recorder: Name transaction controller/ simple controller using prefix without “
-XXXX” suffix - Bug 64289Make
httpclient4.time_to_liveto60000to be closer to typical browser behavior
Other samplers
Section titled “Other samplers”- Bug 64288JUnit Request: Improve UX
- Bug 64407Improve JMS Publisher UX. Contributed by Ubik Load Pack (https://ubikloadpack.com)
- Bug 64408Improve JMS Subscriber UX. Contributed by Ubik Load Pack (https://ubikloadpack.com)
Controllers
Section titled “Controllers”- Bug 64277ForEach Controller: Improve UX
- Bug 64280If Controller: Improve UX
- Bug 64282Throughput Controller: Improve UX
- Bug 64287WhileController: Improve UX
Listeners
Section titled “Listeners”- Bug 64150View Results Tree: Allow editing of response data in testers
- Bug 63822View Results Tree: Keep position of split pane while switching renderer mode
Timers, Assertions, Config, Pre- & Post-Processors
Section titled “Timers, Assertions, Config, Pre- & Post-Processors”- Bug 64091Precise Throughput Timer schedule generation is improved significantly (e.g. 2 seconds for 10M samples)
- Bug 64281Counter Config: Improve UX
- Bug 64283XPath2 Extractor: Improve UX
Functions
Section titled “Functions”- Bug 64070
_timeshiftfunction does not work with offset formatters - Bug 64275Function Helper Dialog: Improve UX
- Bug 64102Add Chinese translation for Tools menu. Contributed by Liu XP (liu_xp2003 at sina.com)
Report / Dashboard
Section titled “Report / Dashboard”- Bug 64380Add a ‘
Median’ field to the dashboard and make the response time percentile fields support floating-point numbers. Contributed by Keith Mo(https://github.com/keithmork) - Bug 64378HTML report generation should not fail if a plugin has registered a graph and is not more present in classpath, issue a warning instead
General
Section titled “General”- Bug 63458PR#551Add new template “Functional Testing Test Plan [01]”. Contributed by Sebastian Boga (sebastian.boga at endava.com)
- Bug 64119Use first renderer from
view.results.tree.renderers_orderproperty as default in View Results Tree - Bug 64148Use gray icons for disabled elements in the tree, display subtree as gray
- Bug 64198Allow spaces in
\${...}expressions around functions. - Bug 64276Search popup: Improve UX
- PR#573Improve the startup time: skip test plan UI initialization
- PR#585Added JEXL3 as a syntax alias for JSyntaxTextArea. Contributed by drivera-armedia (https://github.com/drivera-armedia)
- PR#590Update Groovy to 3.0.3.
Bug fixes
Section titled “Bug fixes”HTTP Samplers and Test Script Recorder
Section titled “HTTP Samplers and Test Script Recorder”- Bug 64400Make sorting recorded samples into transaction controllers more predictable
- Bug 64267When preemptive auth is disabled HTTP Sampler does not automatically respond to Basic Auth challenge
Other Samplers
Section titled “Other Samplers”Controllers
Section titled “Controllers”Listeners
Section titled “Listeners”Timers, Assertions, Config, Pre- & Post-Processors
Section titled “Timers, Assertions, Config, Pre- & Post-Processors”- Bug 64091Precise Throughput Timer might produce less samples when low test duration is used
- Bug 64142Presence of DebugPostProcessor in Test plan breaks ActiveThread Over time in report due to missing information
- Bug 64196Recurse into sub samplers more deeply when checking assertions
- Bug 64196Recurse into sampleResults for
AbstractScopedTestElement#getSampleList - Bug 64381PreciseThroughputTimer: On termination, log message contains negative value
Functions
Section titled “Functions”Report / Dashboard
Section titled “Report / Dashboard”- Bug 64059Response Time Percentiles Over Time, unable to change the percentiles
Documentation
Section titled “Documentation”- PR#547Correct Log level documentation. Contributed by jmetertea
- PR#548Correct typos in documentation. Contributed by jmetertea
- Bug 64022Correct Chinese translation for “Ignore Sub-Controller blocks”. Provided by yangxiaofei77 (yangxiaofei77 at gmail.com)
- PR#552Fix
client.rmi.localportport allocation description. Contributed by anant-93 - PR#543Clarify documentation of
__StringToFilefunction regarding default value ofAppend to file?parameter. Contributed by Ori Marko - Bug 64302Correct links to JMeter API in printable docs and BeanShell best practices and to JavaFX implementation website in all docs. Reported by 2477441814 (2477441814 at qq.com)
General
Section titled “General”- Bug 63945NPE when opening a file after file system change
- Bug 64034Shell scripts fail if space in
JAVA_HOMEpath. Contributed by ray7219 (ray7219 at hotmail.com) - Bug 63856Set
connectTimeon parent samples when using a transaction controller - Bug 64227Error when loading Templates on Windows
- TestPlan UI: skip adding the entry to the classpath if the user clicks cancel
Non-functional changes
Section titled “Non-functional changes”- Build system upgraded from Gradle to 6.3 (from 6.1), Java 14 can be used now for the build
- Bug 63963PR#546Updated jackson to 2.10.3 (from 2.9.10)
- Bug 64120Updated jsoup to 1.13.1 (from 1.12.1)
- Bug 63809Updated commons-dbcp2 to 2.7.0 (from 2.5.0)
- Updated Apache ActiveMQ to 5.15.11 (from 5.15.8)
- Updated bouncycastle to 1.64 (from 1.60)
- Updated asm to 7.3.1 (from 7.1)
- Updated Apache commons-codec to 1.14 (from 1.13)
- Updated Apache commons-pool to 2.8.0 (from 2.7.0)
- Updated equalsverifier to 3.1.9 (from 3.1.12)
- Updated Apache Groovy to 2.4.18 (from 2.4.16)
- Updated hsqldb to 2.5.0 (from 2.4.1)
- Updated hamcrest to 2.2 (from 2.1)
- Updated Apache httpclient and httpmime to 4.5.12 (from 4.5.10)
- Updated Apache httpcore and httpcore-nio to 4.4.13 (from 4.4.12)
- Updated Apache Tika to 1.24.1 (from 1.22)
- Updated jmespath to 0.5.0 (from 0.3.0)
- Updated Apache log4j to 2.13.1 (from 2.12.1)
- Updated junit4 to 4.13 (from 4.12)
- Updated junit5 to 5.6.0 (from 5.5.1)
- Updated slf4j to 1.7.30 (from 1.7.28)
- Updated ph-commons to 9.4.1 (from 9.3.7)
- Updated ph-css to 6.2.2 (from 6.2.0)
- Updated rsyntaxtextarea to 3.1.0 (from 3.0.4)
- Updated rhino to 1.7.12 (from 1.7.11)
- Updated SaxonHE to 9.9.1-7 (from 9.9.1-5)
- Updated cglib to 3.2.12 (from 3.2.9)
- Updated commons-lang3 to 3.10 (from 3.9)
- Updated freemarker to 2.3.30 (from 2.3.29)
- Updated hamcrest-date to 2.0.7 (from 2.0.4)
- Updated equalsverifier to 3.1.13 (from 3.1.12)
- Updated xstream to 1.4.11.1 (from 1.4.11)
- PR#559Add a note to the source of TrustAllSSLSocketFactory, that it is not secure to trust everyone. Based on a PR from YYTVicky (yytvicky at github)
- PR#588Add documentation on usage of InfluxDB v2 for real-time results. Based on PR from Jakub Bednář (jakub.bednar at gmail.com)
Thanks
Section titled “Thanks”We thank all contributors mentioned in bug and improvement sections above:
- Jannis Weis
- Stefan Seide (stefan at trilobyte-se.de)
- jmetertea
- ray7219
- Sebastian Boga (sebastian.boga at endava.com)
- Liu XP (liu_xp2003 at sina.com)
- anant-93 (https://github.com/anant-93)
- Ori Marko (orimarko at gmail.com)
- Keith Mo(https://github.com/keithmork)
- drivera-armedia (https://github.com/drivera-armedia)
- Ubik Load Pack
- Jakub Bednář (jakub.bednar at gmail.com)
We also thank bug reporters who helped us improve JMeter.
- Michael McDermott (mcdermott.michaelj at gmail.com)
- yangxiaofei77 (yangxiaofei77 at gmail.com)
- Markus Wolf (wolfm at t-systems.com)
- Pierre Astruc (pierre.astruc at evertest.com)
- YYTVicky (yytvicky at github)
- 2477441814 at qq.com
Apologies if we have omitted anyone else.