mirror of https://github.com/apache/jmeter.git
327 lines
17 KiB
XML
327 lines
17 KiB
XML
<?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 "…" >
|
|
<!ENTITY rarr "→" >
|
|
<!ENTITY vellip "⋮" >
|
|
]>
|
|
<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.4 =================== -->
|
|
|
|
<h1>Version 3.4</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_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> -->
|
|
<ch_title>Core improvements</ch_title>
|
|
|
|
<ch_title>Report/Dashboard improvements</ch_title>
|
|
|
|
<ch_title>Documentation improvements</ch_title>
|
|
|
|
<ch_title>Functions</ch_title>
|
|
|
|
<!-- =================== Incompatible changes =================== -->
|
|
|
|
<ch_section>Incompatible changes</ch_section>
|
|
<ul>
|
|
<li><code>Start time</code> and <code>End date</code> of Thread Group have been removed, see <bugzilla>61549</bugzilla></li>
|
|
<li>In distributed testing, mode <code>Hold</code> has been removed. Use alternative and more efficient modes</li>
|
|
<li>For 3rd party plugins, the following method in <code>org.apache.jmeter.gui.tree.JMeterTreeNode</code> has been dropped for migration to Java 9 (<bugzilla>61529</bugzilla>)
|
|
<source>public Enumeration<JMeterTreeNode> children()</source>
|
|
</li>
|
|
<li><code>tearDown Thread Group</code> will now run on stop and shutdown of a test by default. If you don't want this behaviour,
|
|
uncheck <code>Run tearDown Thread Groups after shutdown of main threads</code> on <code>Test Plan</code> element, see <bugzilla>61656</bugzilla></li>
|
|
<li>Properties <code>sampleresult.getbytes.headers_size</code> and <code>sampleresult.getbytes.body_real_size</code> have been dropped, see <bugzilla>61587</bugzilla></li>
|
|
<li>JMeter will now save your test plan whenever you run it. This behaviour can be controlled by property <code>save_automatically_before_run</code></li>
|
|
<li>Workbench element has been dropped, you now directly add <code>Non Test Element</code> as children of Test Plan. When loading a Test Plan that contains the element
|
|
JMeter will move the <code>Mirror Server</code>, <code>Property Display</code> and HTTP(s) <code>Test Script Recorder</code> elements as direct children of Test Plan. For
|
|
any other element, it will create a <code>Test Fragment</code> element called <code>Workbench Test Fragment and move the elements in it</code>.</li>
|
|
</ul>
|
|
<!-- =================== Improvements =================== -->
|
|
|
|
<ch_section>Improvements</ch_section>
|
|
|
|
<h3>HTTP Samplers and Test Script Recorder</h3>
|
|
<ul>
|
|
<li><pr>316</pr>Warn about empty truststore loading. Contributed by Vincent Herilier (https://github.com/vherilier)</li>
|
|
<li><bug>61639</bug>HTTP(S) Test Script Recorder : In request filtering tab, uncheck by default "Notify Child Listeners of filtered samplers"</li>
|
|
<li><bug>61672</bug>HTTP(S) Test Script Recorder : Have the ability to choose the sampler name while keeping the ability to just add a prefix</li>
|
|
<li><bug>53957</bug>HTTP Request : In Parameters tab, allow pasting of content coming from Firefox and Chrome (unparsed)</li>
|
|
<li><bug>61587</bug>Drop properties <code>sampleresult.getbytes.headers_size</code> and <code>sampleresult.getbytes.body_real_size</code></li>
|
|
</ul>
|
|
|
|
<h3>Other samplers</h3>
|
|
<ul>
|
|
<li><bug>61739</bug>Java Request / JavaSamplerClient : Improve <code>org.apache.jmeter.protocol.java.sampler.JavaSamplerContext</code></li>
|
|
<li><bug>61762</bug>Start Next Thread Loop should be used everywhere</li>
|
|
</ul>
|
|
|
|
<h3>Controllers</h3>
|
|
<ul>
|
|
<li><bug>61675</bug>If Controller : Use expression by default and add a warning when the other mode is used. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
|
|
<li><bug>61770</bug>Module Controller : Inform user in UI that he needs to have at least one Controller in his plan. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
|
|
</ul>
|
|
|
|
<h3>Listeners</h3>
|
|
<ul>
|
|
<li><bug>57760</bug>View Results Tree : Cookie Header is wrongly shown as empty(no cookies) when viewing a recorder Sample Result. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
|
|
<li><bug>61769</bug>View Results Tree: Use syntax highlighter in XPath Tester, JSON Path Tester and CSS/JQuery Tester. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
|
|
</ul>
|
|
|
|
<h3>Timers, Assertions, Config, Pre- & Post-Processors</h3>
|
|
<ul>
|
|
<li><bug>60213</bug>Boundary based extractor</li>
|
|
<li><bug>61644</bug>HTTP Cache Manager: "Use Cache-Control/Expires header when processing GET requests" should be checked by default</li>
|
|
<li><bug>61645</bug>Response Assertion : Add ability to assert on Request Data</li>
|
|
<li><bug>61534</bug>Convert AssertionError to a failed assertion in the JSR223Assertion allowing users to use assert in their code</li>
|
|
<li><bug>61756</bug>Extractors : Improve label name "Reference name" to make it clear what it makes</li>
|
|
<li><bug>61758</bug><code>Apply to:</code> field in Extractors, Assertions : When entering a value in <code>JMeter Variable Name</code>, the radio box <code>JMeter Variable Name</code> should be selected by default. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
|
|
</ul>
|
|
|
|
<h3>Functions</h3>
|
|
<ul>
|
|
<li><bug>61561</bug>Function helper dialog should display exception in result</li>
|
|
<li><bug>61738</bug>Function Helper Dialog : Add Copy in Generate and clarify labels. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
|
|
<li><bug>61593</bug>Remove Detail, Add, Add from Clipboard, Delete buttons in Function Helper GUI</li>
|
|
<li><bug>61724</bug>Add <code>__digest</code> function to provide computing of Hashes (SHA-XXX, MDX). Based on a contribution by orimarko at gmail.com</li>
|
|
<li><bug>61735</bug>Add <code>__dateTimeConvert</code> function to provide date formats conversions. Based on a contribution by orimarko at gmail.com</li>
|
|
</ul>
|
|
|
|
<h3>I18N</h3>
|
|
<ul>
|
|
<li><bug>61606</bug>Translate button <code>Browse...</code> in some elements (which use FileEditor class)</li>
|
|
<li><bug>61747</bug>HTTP(S) Test Script Recorder : add the missing doc to "Create transaction after request (ms)"</li>
|
|
</ul>
|
|
|
|
<h3>Report / Dashboard</h3>
|
|
<ul>
|
|
</ul>
|
|
|
|
<h3>General</h3>
|
|
<ul>
|
|
<li><bug>61591</bug>Drop Workbench from test tree. Implemented by Artem Fedorov (artem at blazemeter.com) and contributed by BlazeMeter Ltd.</li>
|
|
<li><bug>61549</bug>Thread Group : Remove start and end date</li>
|
|
<li><bug>61529</bug>Migration to Java 9. Partly contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
|
|
<li><bug>61709</bug>SampleResult : Add a method <code>setIgnore()</code> to make JMeter ignore the SampleResult and not send it to listeners</li>
|
|
<li><bug>61607</bug>Add browse button in all beanshell elements to select beanshell script</li>
|
|
<li><bug>61627</bug>Don't clear LogView anymore when clicking on Warning/Errors Indicator</li>
|
|
<li><bug>61629</bug>Add Think Times to Children menu should not consider disabled elements</li>
|
|
<li><bug>61655</bug>SampleSender : Drop HoldSampleSender implementation</li>
|
|
<li><bug>61656</bug><code>tearDown Thread Group</code> should run by default at stop or shutdown of test</li>
|
|
<li><bug>61659</bug>JMeterVariables#get() should apply toString() on non string objects</li>
|
|
<li><bug>61555</bug>Metaspace should be restricted as default</li>
|
|
<li><bug>61693</bug>JMeter aware of Docker (-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap)</li>
|
|
<li><bug>61694</bug>Add -server option in jmeter.bat</li>
|
|
<li><bug>61697</bug>Introduce Darcula Look And Feel to make JMeter UI more attractive</li>
|
|
<li><bug>61704</bug>Toolbar : Improve a bit the right part</li>
|
|
<li><bug>61731</bug>Enhance Test plan Backup with option to save before run. Based on a contribution by orimarko at gmail.com</li>
|
|
<li><bug>61640</bug>JSR223 Test Elements : Enable by default caching. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
|
|
</ul>
|
|
|
|
<ch_section>Non-functional changes</ch_section>
|
|
<ul>
|
|
<li>Updated to bsh-2.0b6 (from bsh-2.0b5)</li>
|
|
<li>Updated to rhino-1.7.7.2 (from rhino-1.7.7.1)</li>
|
|
<li><bug>61642</bug>Improve FTP test coverage</li>
|
|
<li><bug>61641</bug>Improve JMS test coverage</li>
|
|
<li><bug>61651</bug>Improve TCP test coverage</li>
|
|
<li><bug>61651</bug>Improve OS test coverage. Partly contributed by Aleksei Balan (abalanonline at gmail.com)</li>
|
|
<li><pr>319</pr>Removed commented out code. Contributed by Graham Russell (graham at ham1.co.uk)</li>
|
|
<li><pr>322</pr>General JavaDoc cleanup. Contributed by Graham Russell (graham at ham1.co.uk)</li>
|
|
<li><pr>323</pr>Extracted method and used streams to improve readability. Contributed by Graham Russell (graham at ham1.co.uk)</li>
|
|
<li><pr>324</pr> Save backup refactor. Contributed by Graham Russell (graham at ham1.co.uk)</li>
|
|
<li><pr>327</pr> Utilising more modern Java, simplifying code and formatting code and comments. 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>61569</bug>JMS Point-to-Point Test Plan: Synchronization issue when putting reply. Contributed by Igor Panainte (panainte.i at gmail.com)</li>
|
|
</ul>
|
|
|
|
<h3>Other Samplers</h3>
|
|
<ul>
|
|
<li><bug>61698</bug>Test Action: It stop is selected, samplers following Test Action can run</li>
|
|
<li><bug>61707</bug>Test Action: Target is ignored when pause is selected, so it should be disabled</li>
|
|
</ul>
|
|
|
|
<h3>Controllers</h3>
|
|
<ul>
|
|
<li><bug>61556</bug>Clarify in documentation performance impacts of ${} var usage in IfController and groovy. Contributed by Justin McCartney (be_strew at yahoo.co.uk)</li>
|
|
<li><bug>61713</bug>Test Fragment has option to Change Controller and Insert Parent. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
|
|
</ul>
|
|
|
|
<h3>Listeners</h3>
|
|
<ul>
|
|
<li><bug>61742</bug>BackendListener : fix default value for <code>backend_graphite.send_interval</code></li>
|
|
</ul>
|
|
|
|
<h3>Timers, Assertions, Config, Pre- & Post-Processors</h3>
|
|
<ul>
|
|
<li><bug>61716</bug>Header Manager : When pasting Headers from Firefox or Chrome spaces are introduced as first character of value</li>
|
|
</ul>
|
|
|
|
<h3>Functions</h3>
|
|
<ul>
|
|
<li><bug>61588</bug>Better log message for RandomDate function</li>
|
|
<li><bug>61619</bug>In Function Helper Dialog, the 1st function doesn't display default parameters</li>
|
|
<li><bug>61628</bug>If split string has empty separator default separator is not used</li>
|
|
<li><bug>61752</bug><code>__RandomDate</code> : Function does not allow missing last parameter used for variable name</li>
|
|
</ul>
|
|
|
|
<h3>I18N</h3>
|
|
<ul>
|
|
</ul>
|
|
|
|
<h3>Report / Dashboard</h3>
|
|
<ul>
|
|
</ul>
|
|
|
|
<h3>General</h3>
|
|
<ul>
|
|
<li><bug>61661</bug>Avoid startup/shutdown problems due to 3rd party Thread Listener plugins throwing RuntimeException</li>
|
|
<li><bug>61625</bug>File Editor used in BeanInfo behaves strangely under all LAFs with impact on CSVDataSet, JSR223, BSF, Beanshell Element</li>
|
|
</ul>
|
|
|
|
<!-- =================== Thanks =================== -->
|
|
|
|
<ch_section>Thanks</ch_section>
|
|
<p>We thank all contributors mentioned in bug and improvement sections above:
|
|
</p>
|
|
<ul>
|
|
<li>Igor Panainte (panainte.i at gmail.com)</li>
|
|
<li>Emilian Bold (emi at apache.org)</li>
|
|
<li><a href="https://ubikloadpack.com">Ubik Load Pack</a></li>
|
|
<li>Justin McCartney (be_strew at yahoo.co.uk)</li>
|
|
<li>Vincent Herilier (https://github.com/vherilier)</li>
|
|
<li>Aleksei Balan (abalanonline at gmail.com)</li>
|
|
<li>Graham Russell (graham at ham1.co.uk)</li>
|
|
<li>orimarko at gmail.com</li>
|
|
<li>Artem Fedorov (artem at blazemeter.com)</li>
|
|
<li><a href="https://www.blazemeter.com">BlazeMeter Ltd</a></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>
|
|
<li>user7294900 on Stackoverflow (orimarko at gmail.com)</li>
|
|
</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>View Results Tree may freeze rendering large response particularly if this response has no spaces, see <bugzilla>60816</bugzilla>.
|
|
This is due to an identified Java Bug <a href="https://bugs.openjdk.java.net/browse/JDK-8172336">UI stuck when calling <code>JEditorPane.setText()</code> or <code>JTextArea.setText()</code> with long text without space</a>.
|
|
</li>
|
|
</ul>
|
|
<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(…) 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 <code>md2WithRSAEncryption</code>) or with a SSL certificate with a size lower than 1024 bits.
|
|
This error is related to increased security in Java 8+.
|
|
<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.
|
|
</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>
|