jmeter/xdocs/changes.xml

342 lines
17 KiB
XML
Raw Normal View History

<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!DOCTYPE document
[
<!ENTITY hellip "&#x02026;" >
<!ENTITY rarr "&#x02192;" >
<!ENTITY vellip "&#x022EE;" >
]>
<document>
<properties>
<author email="dev AT jmeter.apache.org">JMeter developers</author>
<title>Changes</title>
</properties>
<body>
<section name="Changes">
<style type="text/css"><!--
h2 { color: #960000; }
h3 { color: #960000; }
--></style>
<note>
<b>This page details the changes made in the current version only.</b>
<br></br>
Earlier changes are detailed in the <a href="changes_history.html">History of Previous Changes</a>.
</note>
<!-- =================== 3.2 =================== -->
<h1>Version 3.2</h1>
<p>
Summary
</p>
<ul>
<li><a href="#New and Noteworthy">New and Noteworthy</a></li>
<li><a href="#Incompatible changes">Incompatible changes</a></li>
<li><a href="#Bug fixes">Bug fixes</a></li>
<li><a href="#Improvements">Improvements</a></li>
<li><a href="#Non-functional changes">Non-functional changes</a></li>
<li><a href="#Known problems and workarounds">Known problems and workarounds</a></li>
<li><a href="#Thanks">Thanks</a></li>
</ul>
<ch_section>New and Noteworthy</ch_section>
<ch_section>IMPORTANT CHANGE</ch_section>
<p>
JMeter now requires Java 8. Ensure you use most up to date version.
</p>
<ch_title>Core improvements</ch_title>
<ul>
<li>Fill in improvements</li>
</ul>
<ch_title>Documentation improvements</ch_title>
<ul>
<li>PDF Documentations have been migrated to HTML user manual</li>
</ul>
<!-- <ch_category>Sample category</ch_category> -->
<!-- <ch_title>Sample title</ch_title> -->
<!-- <figure width="846" height="613" image="changes/3.0/view_results_tree_search_feature.png"></figure> -->
<!-- =================== Incompatible changes =================== -->
<ch_section>Incompatible changes</ch_section>
<ul>
<li>JMeter requires now at least a JAVA 8 version to run.</li>
<li>JMeter now sets through <code>-Djava.security.egd=file:/dev/urandom</code> the algorithm for secure random</li>
<li>Process Sampler now returns error code 500 when an error occurs. It previously returned an empty value.</li>
<li>In <code>org.apache.jmeter.protocol.http.sampler.HTTPHCAbstractImpl</code> 2 protected static fields (localhost and nonProxyHostSuffixSize) have been renamed to (LOCALHOST and NON_PROXY_HOST_SUFFIX_SIZE)
to follow static fields naming convention</li>
<li>JMeter now uses by default Oracle Nashorn engine instead of Mozilla Rhino for better performances. This should not have an impact unless
you use some advanced features. You can revert back to Rhino by settings property <code>javascript.use_rhino=true</code>.
You can read this <a href="https://wiki.openjdk.java.net/display/Nashorn/Rhino+Migration+Guide">migration guide</a> for more details on Nashorn. See <bugzilla>60672</bugzilla></li>
</ul>
<h3>Deprecated and removed elements or functions</h3>
<p><note>These elements do not appear anymore in the menu, if you need them modify <code>not_in_menu</code> property. The JMeter team advises not to use them anymore and migrate to their replacement.</note></p>
<ul>
<li><bug>60661</bug>Deprecate SOAP/XML-RPC Request</li>
<li><bug>60423</bug>Drop Monitor Results listener </li>
<li>Drop deprecated class <code>org.apache.jmeter.protocol.system.NativeCommand</code></li>
<li>Drop deprecated class <code>org.apache.jmeter.protocol.http.config.gui.MultipartUrlConfigGui</code></li>
<li>Drop deprecated class <code>org.apache.jmeter.testelement.TestListener</code></li>
<li>Drop deprecated class <code>org.apache.jmeter.reporters.FileReporter</code></li>
<li>Drop deprecated class <code>org.apache.jmeter.protocol.http.modifier.UserSequence</code></li>
<li>Drop deprecated class <code>org.apache.jmeter.protocol.http.parser.HTMLParseError</code></li>
<li>Drop unused methods <code>org.apache.jmeter.protocol.http.control.HeaderManager#getSOAPHeader</code>
and <code>org.apache.jmeter.protocol.http.control.HeaderManager#setSOAPHeader(Object)</code>
</li>
<li><code>org.apache.jmeter.protocol.http.util.Base64Encode</code> has been deprecated, you can use <code>java.util.Base64</code> as a replacement</li>
</ul>
<!-- =================== Improvements =================== -->
<ch_section>Improvements</ch_section>
<h3>HTTP Samplers and Test Script Recorder</h3>
<ul>
<li><bug>59934</bug>Fix race-conditions in CssParser. Based on a patch by Jerome Loisel (loisel.jerome at gmail.com)</li>
<li><bug>60543</bug>HTTP Request / Http Request Defaults UX: Move to advanced panel Timeouts, Implementation, Proxy. Implemented by Philippe Mouawad (p.mouawad at ubik-ingenierie.com) and contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>60548</bug>HTTP Request : Allow Upper Panel to be collapsed</li>
<li><bug>57242</bug>HTTP Authorization is not pre-emptively set with HttpClient4</li>
</ul>
<h3>Other samplers</h3>
<ul>
<li><bug>60585</bug>JMS Publisher and JMS Subscriber : Allow reconnection on error and pause between errors. Based on <pr>240</pr> from by Logan Mauzaize (logan.mauzaize at gmail.com) and Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
<li><pr>259</pr>Refactored and reformatted SmtpSampler. Contributed by Graham Russell (graham at ham1.co.uk)</li>
</ul>
<h3>Controllers</h3>
<ul>
<li><bug>60672</bug>JavaScript function / IfController : use Nashorn engine by default</li>
</ul>
<h3>Listeners</h3>
<ul>
<li><bug>60144</bug>View Results Tree : Add a more up to date Browser Renderer to replace old Render</li>
<li><bug>60542</bug>View Results Tree : Allow Upper Panel to be collapsed. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>52962</bug>Allow sorting by columns for View Results in Table, Summary Report, Aggregate Report and Aggregate Graph. Based on a <pr>245</pr> by Logan Mauzaize (logan.mauzaize at gmail.com) and Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
<li><bug>60590</bug>BackendListener : Add Influxdb BackendListenerClient implementation to JMeter. Partly based on <pr>246</pr> by Logan Mauzaize (logan.mauzaize at gmail.com) and Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
<li><bug>60591</bug>BackendListener : Add a time boxed sampling. Based on a <pr>237</pr> by Logan Mauzaize (logan.mauzaize at gmail.com) and Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
<li><bug>60678</bug>View Results Tree : Text renderer, search should not popup "Text Not Found"</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bug>60154</bug>User Parameters GUI: allow rows to be moved up &amp; down in the list. Contributed by Murdecai777 (https://github.com/Murdecai777).</li>
<li><bug>60507</bug>Added '<code>Or</code>' Function into ResponseAssertion. Based on a contribution from 忻隆 (298015902 at qq.com)</li>
<li><bug>58943</bug>Create a Better Think Time experience. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>60602</bug>XPath Extractor : Add Match No. to allow extraction randomly, by index or all matches</li>
</ul>
<h3>Functions</h3>
<ul>
</ul>
<h3>I18N</h3>
<ul>
<li>Improve translation "save_as" in French. Based on a <pr>252</pr> by Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
</ul>
<h3>Report / Dashboard</h3>
<ul>
<li><bug>60637</bug>Improve Statistics table design <figure image="dashboard/report_statistics.png" ></figure></li>
</ul>
<h3>General</h3>
<ul>
<li><bug>54525</bug>Search Feature : Enhance it with ability to replace</li>
<li><bug>60530</bug>Add API to create JMeter threads while test is running. Based on a contribution by Logan Mauzaize (logan.mauzaize at gmail.com) and Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
<li><bug>60514</bug>Ability to apply a naming convention on Children of a Transaction Controller. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>60593</bug>Switch to G1 GC algorithm</li>
<li><bug>60595</bug>Add a SplashScreen at the start of JMeter GUI. Contributed by Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
<li><bug>55258</bug>Drop "Close" icon from toolbar and add "New" to menu. Partly based on contribution from Sanduni Kanishka (https://github.com/SanduniKanishka)</li>
<li><bug>59995</bug>Allow user to change font size with 2 new menu items and use <code>jmeter.hidpi.scale.factor</code> for scaling fonts. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>60654</bug>Validation Feature : Be able to ignore BackendListener. Contributed by Maxime Chassagneux (maxime.chassagneux at gmail.com).</li>
<li><bug>60646</bug>Workbench : Save it by default</li>
<li><bug>60684</bug>Thread Group: Validate ended prematurely by Scheduler with 0 or very short duration. Contributed by Andrew Burton (andrewburtonatwh at gmail.com).</li>
</ul>
<ch_section>Non-functional changes</ch_section>
<ul>
<li><bug>60415</bug>Drop support for Java 7.</li>
<li>Updated to dnsjava-2.1.8.jar (from 2.1.7)</li>
<li>Updated to groovy 2.4.8 (from 2.4.7)</li>
<li>Updated to httpcore 4.4.6 (from 4.4.5)</li>
<li>Updated to httpclient 4.5.3 (from 4.5.2)</li>
<li>Updated to jodd 3.8.1 (from 3.8.1.jar)</li>
<li>Updated to jsoup-1.10.2 (from 1.10.1)</li>
<li>Updated to ph-css 5.0.3 (from 4.1.6)</li>
<li>Updated to ph-commons 8.6.0 (from 6.2.4)</li>
<li>Updated to slf4j-api 1.7.22 (from 1.7.21)</li>
<li>Updated to asm 5.2 (from 5.1)</li>
<li>Converted the old pdf tutorials to xml.</li>
<li><pr>255</pr>Utilised Java 8 (and 7) features to tidy up code. Contributed by Graham Russell (graham at ham1.co.uk)</li>
</ul>
<!-- =================== Bug fixes =================== -->
<ch_section>Bug fixes</ch_section>
<h3>HTTP Samplers and Test Script Recorder</h3>
<ul>
<li><bug>60531</bug>HTTP Cookie Manager : changing Implementation does not update Cookie Policy</li>
<li><bug>60575</bug>HTTP GET Requests could have a content-type header without a body.</li>
<li><bug>60643</bug>HTTP(S) Test Script Recorder doesn't correctly handle restart or start after stop. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>60652</bug>PUT might leak file descriptors.</li>
<li><bug>60689</bug><code>httpclient4.validate_after_inactivity</code> has no impact leading to usage of potentially stale/closed connections</li>
</ul>
<h3>Other Samplers</h3>
<ul>
<li><bug>603982</bug>Guard Exception handler of the <code>JDBCSampler</code> against null messages</li>
<li><bug>55652</bug>JavaSampler silently resets classname if class can not be found</li>
</ul>
<h3>Controllers</h3>
<ul>
</ul>
<h3>Listeners</h3>
<ul>
<li><bug>60648</bug>GraphiteBackendListener can lose some metrics at end of test if test is very short</li>
<li><bug>60650</bug>AbstractBackendListenerClient does not reset UserMetric between runs</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bug>60438</bug><pr>235</pr>Clear old variables before extracting new ones in JSON Extractor.
Based on a patch by Qi Chen (qi.chensh at ele.me)</li>
<li><bug>60607</bug>DNS Cache Manager configuration is ignored</li>
</ul>
<h3>Functions</h3>
<ul>
</ul>
<h3>I18N</h3>
<ul>
</ul>
<h3>General</h3>
<ul>
<li><bug>60428</bug>JMeter Graphite Backend Listener throws exception when test ends
and <code>useRegexpForSamplersList</code> is set to <code>true</code>.
Based on patch by Liu XP (liu_xp2003 at sina.com)</li>
<li><bug>60442</bug>Fix a typo in <code>build.xml</code> (gavin at 16degrees.com.au)</li>
<li><bug>60449</bug>JMeter Tree : Annoying behaviour when node name is empty</li>
<li><bug>60494</bug>Add sonar analysis task to build</li>
<li><bug>60501</bug>Search Feature : Performance issue when regexp is checked</li>
<li><bug>60444</bug>Intermittent failure of TestHTTPMirrorThread#testSleep(). Contributed by Thomas Schapitz (ts-nospam12 at online.de)</li>
<li><bug>60621</bug>The "report-template" folder is missing from ApacheJMeter_config-3.1.jar in maven central</li>
</ul>
<!-- =================== Thanks =================== -->
<ch_section>Thanks</ch_section>
<p>We thank all contributors mentioned in bug and improvement sections above:
</p>
<ul>
<li>Jerome Loisel (loisel.jerome at gmail.com)</li>
<li>Liu XP (liu_xp2003 at sina.com)</li>
<li>Qi Chen (qi.chensh at ele.me)</li>
<li>(gavin at 16degrees.com.au)</li>
<li>Thomas Schapitz (ts-nospam12 at online.de)</li>
<li>Murdecai777 (https://github.com/Murdecai777)</li>
<li>Logan Mauzaize (logan.mauzaize at gmail.com)</li>
<li>Maxime Chassagneux (maxime.chassagneux at gmail.com)</li>
<li>忻隆 (298015902 at qq.com)</li>
<li><a href="http://ubikloadpack.com">Ubik Load Pack</a></li>
<li>Graham Russell (graham at ham1.co.uk)</li>
<li>Sanduni Kanishka (https://github.com/SanduniKanishka)</li>
<li>Andrew Burton (andrewburtonatwh at gmail.com)</li>
</ul>
<p>We also thank bug reporters who helped us improve JMeter. <br/>
For this release we want to give special thanks to the following reporters for the clear reports and tests made after our fixes:</p>
<ul>
</ul>
<p>
Apologies if we have omitted anyone else.
</p>
<!-- =================== Known bugs or issues related to JAVA Bugs =================== -->
<ch_section>Known problems and workarounds</ch_section>
<ul>
<li>The Once Only controller behaves correctly under a Thread Group or Loop Controller,
but otherwise its behaviour is not consistent (or clearly specified).</li>
<li>
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 <code>0</code> (see <bugzilla>55510</bugzilla>).
</li>
<li>
Note that under some windows systems you may have this WARNING:
<source>
java.util.prefs.WindowsPreferences
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0
x80000002. Windows RegCreateKeyEx(&hellip;) returned error code 5.
</source>
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.
</li>
<li>
You may encounter the following error:
<source>java.security.cert.CertificateException: Certificates does not conform to algorithm constraints</source>
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 7 version u16 (MD2) and version u40 (Certificate size lower than 1024 bits), and Java 8 too.
<br></br>
To allow you to perform your HTTPS request, you can downgrade the security of your Java installation by editing
the Java <code>jdk.certpath.disabledAlgorithms</code> property. Remove the MD2 value or the constraint on size, depending on your case.
<br></br>
This property is in this file:
<source>JAVA_HOME/jre/lib/security/java.security</source>
See <bugzilla>56357</bugzilla> for details.
</li>
<li>
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 <a href="https://bugs.openjdk.java.net/browse/JDK-8065373" >JDK-8065373</a>
The fix is to use JDK8_u45 or later.
</li>
<li>
View Results Tree may fail to display some HTML code under HTML renderer, see <bugzilla>54586</bugzilla>.
This is due to a known Java bug which fails to parse "<code>px</code>" units in row/col attributes.
See Bug <a href="https://bugs.openjdk.java.net/browse/JDK-8031109" >JDK-8031109</a>
The fix is to use JDK9 b65 or later (but be aware that Java 9 is not certified yet for JMeter).
</li>
<li>
JTable selection with keyboard (<keycombo><keysym>SHIFT</keysym><keysym>up/down</keysym></keycombo>) is totally unusable with JAVA 7 on Mac OSX.
This is due to a known Java bug <a href="https://bugs.openjdk.java.net/browse/JDK-8025126" >JDK-8025126</a>
The fix is to use JDK 8 b132 or later.
</li>
</ul>
</section>
</body>
</document>