Changes
> This page details the changes made in the current version only. Earlier changes are detailed in the History of Previous Changes.
> # Version 5.2 Summary New and Noteworthy Incompatible changes Bug fixes Improvements Non-functional changes Known problems and workarounds Thanks
> New and Noteworthy
> This release is a major release. Please see the Changes history page to view the last release notes of version 5.1.1.
> Incompatible changes
> HTTP(S) Test Script Recorder now appends number at end of names, while previously it added it at beginning. See Bug 63450 When using XPath Assertion with an XPath expression returning a boolean, `True if nothing matches` had no effect and always returned true, see Bug 63455 XML parsing now refuses unsecure XML, this has impacts on the following features: XMLAssertion XMLSchemAssertion XPath function XPath 1 & 2 Extractors XPath 1 & 2 Assertions
> Improvements
> - ### HTTP Samplers and Test Script Recorder Bug 63450 - HTTP(S) Test Script Recorder: Put number at end instead of beginning Bug 63790 - Embedded Resources download: Optimize CSS parsing by removing source location ### Other samplers Bug 63406 - JDBC connection configuration: new option for pre-initialize to initialize the connection pool. Contributed by Franz Schwab (franz.schwab at exasol.com) Bug 63561 - JDBC Request: Allow to only fetch a certain number of rows. Contributed by Franz Schwab (franz.schwab at exasol.com) Bug 63801 - Add Bolt protocol support for Neo4j database. Contributed by GraphAware (www.graphaware.com) ### Controllers Bug 63565 - If Controller: GC issue with JMeter during the endurance run when using with "Interpret Condition as Variable Expression?" unchecked => Improve documentation ### Listeners Bug 63720 - BackendListener: InfluxDBBackendListenerClient Add support for InfluxDB 2. Contributed by Jakub Bednář (https://github.com/bednar) Bug 63770 - View Results Tree: Add JMESPath Tester. Contributed by Ubik Load Pack (support at ubikloadpack.com) ### Timers, Assertions, Config, Pre- & Post-Processors Bug 62863 - Enable PKCS11 keystores for usage with KeyStore Manager. Based on patch by Clifford Harms (clifford.harms at gmail.com). Pull request #457 - Slight performance improvement in PoissonRandomTimer by using ThreadLocalRandom. Based on a patch by Xia Li. Bug 62787 - New `XPath2 Assertion` supporting XPath2 with better performances than `XPath Assertion`. Contributed by Ubik Load Pack (support at ubikloadpack.com) Bug 63643 - Skip BOM on files opened through `FileServer` and use the BOM to detect the character encoding, if none is given explicitly. Reported by Havlicek Honza (havlicek.honza at gmail.com) Bug 63727 - New `JMESPath Extractor` element to ease extraction from JSON using JMESPath technology. Contributed by Ubik Load Pack (support at ubikloadpack.com) Bug 63763 - New `JMESPath Assertion` element to ease assertion on JSON using JMESPath technology. Contributed by Ubik Load Pack (support at ubikloadpack.com) Bug 63775 - Allow Boundary Extractor to accept empty boundaries ### Functions Bug 63219 - New function `__StringToFile` to save/append a string into a file. Contributed by Ubik Load Pack (support at ubikloadpack.com) Use `AtomicInteger` for `__counter` instead of synchronization on our own ### I18N ### Report / Dashboard Bug 63471 - `StringConverter`s used for report generation should ignore white space around numbers. ### General Bug 63396 - JSR223 Test Elements: Description of Parameters is misleading, same for Script Bug 63480 - XPathAssertion and XPathAssertion2: Improve test coverage for input coming from variable. Contributed by Ubik Load Pack (support at ubikloadpack.com) Bug 63452 - Tools / Import from cURL: Complete coverage of all command line options that are valid in JMeter use case. Contributed by Ubik Load Pack (support at ubikloadpack.com) Bug 63419 - Tools / Import from cURL: Add ability to import a set of cURL commands from a file. Contributed by Ubik Load Pack (support at ubikloadpack.com) Bug 63760 - JOrphanUtils: add random alphanumeric password generator Bug 63355 - View Results Tree: Browser view option is not Available since Java 11, document how to make it available, see this Bug 62861 - Thread Group: Provide ability to configure whether a new iteration is a new user or same user (Would be applied on Cookie Manager, Cache Manager and httpclient.reset_state_on_thread_group_iteration). Contributed by Ubik Load Pack (support at ubikloadpack.com) Bug 63616 - Fix Javadoc:
>       JMeterContext#getThreadNum()
> starts at 0 and not 1. Contributed by Ori Marko (orimarko at gmail.com) Updated to httpclient/httpmime 4.5.10 (from 4.5.7) Updated to dnsjava 2.1.9 (from 2.1.8) Updated to jsoup 1.12.1 (from 1.11.3) Updated to rsyntaxtextarea 3.0.4 (from 3.0.2) Updated to caffeine 2.8.0 (from 2.6.2) Updated to commons-codec 1.13 (from 1.11) Updated to commons-lang3 3.9 (from 3.8.1) Updated to commons-pool 2.7 (from 2.6) Updated to commons-text 1.8 (from 1.6) Updated to freemarker 2.3.29 (from 2.3.28) Updated to httpcore/httpcore-nio 4.12 (from 4.11) Updated to jodd 5.0.13 (from 5.0.6) Updated to log4j 2.12.1 (from 2.11.1) Updated to ph-commons 9.3.7 (from 9.2.1) Updated to ph-css 6.2.0 (from 6.1.1) Updated to Mozilla Rhino 1.7.11 (from 1.7.10) Updated to Saxon-HE 9.9.1-5 (from 9.9.1-1) Updated to slf4j 1.7.28 (from 1.7.25) Updated to tika-core and tika-parsers 1.22 (from 1.21) Updated jackson-annotations, jackson-core and jackson-databind to 2.9.10 (from 2.9.8)
> Non-functional changes
> Migrated from subversion to Git Bug 63630 - Switch build from Apache Ant to Gradle Bug 63529 - Add more unit tests for org.apache.jorphan.util.JOrphanUtils. Contributed by John Bergqvist(John.Bergqvist at diffblue.com) Updated to latest checkstyle (version 8.22) Clean-up of code in `CompareAssertion` and other locations. Based on patch by Graham Russell (graham at ham1.co.uk) Pull request #491 - Increase Graphite metrics coverage. Contributed by Graham Russell (graham at ham1.co.uk) Pull request #520 - Replace anonymous classes with lambda expressions. Contributed by Graham Russell (graham at ham1.co.uk). Pull request #524 - Migration from JUnit 4 to JUnit 5. Contributed by Graham Russell (graham at ham1.co.uk).
> Bug fixes
> ### HTTP Samplers and Test Script Recorder Bug 63298 - HTTP Requests with encoded URLs are being sent in decoded format Bug 63364 - When setting `subresults.disable_renaming=true`, sub results are still renamed using their parent SampleLabel while they shouldn't. Contributed by Ubik Load Pack (support at ubikloadpack.com) Bug 63129 - JMeter can not identify encoding during first time page submission. Based partly on analysis and PR made by Naveen Nandwani (naveen.nandwani at india.nec.com) Bug 62672 - HTTP Request sends double requests when using proxy with authentication. Based on patch by Artem Fedorov (artem.fedorov at blazemeter.com) and contributed by BlazeMeter. Bug 63574 - HTTP Cache Manager does not cache resource if `Cache-Control` header is missing. ### Other Samplers Bug 63442 - Reduce scanning for `LogParser` implementations in AccessLogSamplerBeanInfo. Bug 63563 - LdapExtSampler: When sampler fails with exception differing from NamingException, no SampleResult is generated Bug 63469 - JMSPublisher: Race condition in jms.client.ClientPool#clearClient ### Controllers ### Listeners Bug 63319 - `ArrayIndexOutOfBoundsException` in Aggregate Graph when selecting 90 % or 95 % columns Bug 63423 - Selection of table rows in Aggregate Graph gets lost too often Bug 63347 - View result tree: The search field is so small that even a single character is not visible on Windows 7 Bug 63433 - ListenerNotifier: Detected problem in Listener NullPointerException if filename is null. Contributed by Ubik Load Pack (support at ubikloadpack.com) Bug 63674 - Strip results with subresults deeper in their hierarchy when DataStripping is enabled ### Timers, Assertions, Config, Pre- & Post-Processors Bug 63455 - XPath Assertion: `True if nothing matches` does not work if XPath expression returns a boolean. Contributed by Ubik Load Pack (support at ubikloadpack.com) ### Functions ### I18N ### Report / Dashboard ### Documentation Bug 63513 - Add MariaDB examples to JDBC documentation. Contributed by Ori Marko (orimarko at gmail.com) Bug 63484 - Add notes to use Apache Velocity as JSR223 script language. Based on a patch by Ori Marko (orimarko at gmail.com) Bug 63519 - Pull request #471 - Use correct method `getLabelResource()` in JMeter tutorial. Contributed by Sun Tao (buzzerrookie at hotmail.com>) ### General Bug 63394 - JMeter should fail with non-zero when test execution fails (due to missing test plan or other reason). Contributed by Ubik Load Pack (support at ubikloadpack.com) Bug 63464 - image/svg+xml is wrongly considered as binary Bug 63490 - At end of scheduler duration lots of Samplers gets executed at the same time Pull request #480 - Pull request #482 - Fix a few typos in comments and log messages. Based on patch by Anass Benomar (anassbenomar at gmail.com) Bug 63751 - Correct a typo in Chinese translations. Reported by Jinliang Wang (wjl31802 at 126.com) Bug 63723 - Distributed testing: JMeter master ends distributed test though some threads still are active Bug 63614 - Distributed testing: Unable to generate Dashboard report at end of load test Bug 63862 - Search Dialog / Search in View Results Tree: Uncaught exception if regex is checked and regex is invalid Bug 63793 - Fix unsecure XML Parsing
> Thanks
> We thank all contributors mentioned in bug and improvement sections above: Clifford Harms (clifford.harms at gmail.com) Ubik Load Pack Xia Li Naveen Nandwani (naveen.nandwani at india.nec.com) Artem Fedorov (artem.fedorov at blazemeter.com) Ori Marko (orimarko at gmail.com) Sun Tao (buzzerrookie at hotmail.com) John Bergqvist (John.Bergqvist at diffblue.com) Franz Schwab (franz.schwab at exasol.com) Graham Russell (graham at ham1.co.uk) Anass Benomar (anassbenomar at gmail.com) Jakub Bednář Pascal Schumacher (pascalschumacher at apache.org) GraphAware We also thank bug reporters who helped us improve JMeter. Sergiy Iampol (sergiy.iampol at playtech.com) Brian Tully (brian.tully at acquia.com) Amer Ghazal (amerghazal at gmail.com) Stefan Seide (stefan at trilobyte-se.de) Havlicek Honza (havlicek.honza at gmail.com) Pierre Astruc (pierre.astruc at evertest.com) Jinliang Wang (wjl31802 at 126.com) Apologies if we have omitted anyone else.
> Known problems and workarounds
> - The Once Only controller behaves correctly under a Thread Group or Loop Controller, but otherwise its behaviour is not consistent (or clearly specified). The numbers that appear to the left of the green box are the number of active threads / total number of threads, the total number of threads only applies to a locally run test, otherwise it will show `0` (see Bug 55510 ). Note that under some windows systems you may have this WARNING:
>       java.util.prefs.WindowsPreferences
>       WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0
>       x80000002. Windows RegCreateKeyEx(…) returned error code 5.
> - The fix is to run JMeter as Administrator, it will create the registry key for you, then you can restart JMeter as a normal user and you won't have the warning anymore. You may encounter the following error:
>       java.security.cert.CertificateException: Certificates does not conform to algorithm constraints
>   if you run a HTTPS request on a web site with a SSL certificate (itself or one of SSL certificates in its chain of trust) with a signature algorithm using MD2 (like `md2WithRSAEncryption`) or with a SSL certificate with a size lower than 1024 bits. This error is related to increased security in Java 8+. To allow you to perform your HTTPS request, you can downgrade the security of your Java installation by editing the Java `jdk.certpath.disabledAlgorithms` property. Remove the MD2 value or the constraint on size, depending on your case. This property is in this file:
>       JAVA_HOME/jre/lib/security/java.security
> - See Bug 56357 for details. Under Mac OSX Aggregate Graph will show wrong values due to mirroring effect on numbers. This is due to a known Java bug, see Bug JDK-8065373 The fix is to use JDK8_u45 or later. View Results Tree may fail to display some HTML code under HTML renderer, see Bug 54586 . This is due to a known Java bug which fails to parse "`px`" units in row/col attributes. See Bug JDK-8031109 The fix is to use JDK9 b65 or later. JTable selection with keyboard (SHIFT + up/down) is totally unusable with Java 7 on Mac OSX. This is due to a known Java bug JDK-8025126 The fix is to use JDK 8 b132 or later. Since Java 11 the JavaScript implementation Nashorn has been deprecated. Java will emit the following deprecation warnings, if you are using JavaScript based on Nashorn.
>       Warning: Nashorn engine is planned to be removed from a future JDK release
>   To silence these warnings, add `-Dnashorn.args=--no-deprecation-warning` to your Java arguments. That can be achieved by setting the enviroment variable `JVM_ARGS`
>       export JVM_ARGS="-Dnashorn.args=--no-deprecation-warning"
Copyright © 1999-2019, Apache Software Foundation
Apache, Apache JMeter, JMeter, the Apache feather, and the Apache JMeter logo are trademarks of the Apache Software Foundation.