jmeter/xdocs/changes.xml

362 lines
20 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.1 =================== -->
<h1>Version 3.1</h1>
Summary
<ul>
<li><a href="#New and Noteworthy">New and Noteworthy</a></li>
<li><a href="#Known bugs">Known bugs</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="#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> -->
<!-- =================== Incompatible changes =================== -->
<ch_section>Incompatible changes</ch_section>
<ul>
<li>A cache for CSS Parsing of URLs has been introduced in this version, it is enabled by default. It is controlled by property <code>css.parser.cache.size</code>. It can be disabled by setting its value to <code>0</code>. See <bugzilla>59885</bugzilla></li>
<li>ThroughputController defaults have changed. Now defaults are Percent Executions which is global and no more per user. See <bugzilla>60023</bugzilla></li>
<li>Since 3.1 version, HTML report ignores Empty Transaction controller (possibly generated by If Controller or Throughput Controller) when computing metrics. This provides more accurate metrics</li>
<li>Since 3.1 version, Summariser ignores SampleResults generated by TransactionController when computing the live statistics, see <bugzilla>60109</bugzilla></li>
<li>Since 3.1 version, when using Stripped modes (by default StrippedBatch is used) , response will be stripped also for failing SampleResults, you can revert this to previous behaviour by setting <code>sample_sender_strip_also_on_error=false</code> in <code>user.properties</code>, see <bugzilla>60137</bugzilla></li>
<li>Since 3.1 version, <code>jmeter.save.saveservice.connect_time</code> property value is <code>true</code>, meaning CSV file for results will contain an additional column containing connection time, see <bugzilla>60106</bugzilla></li>
<li>Since 3.1 version, Random Timer subclasses (Gaussian Random Timer, Uniform Random Timer and Poisson Random Timer) implement interface <code><a href="./api/org/apache/jmeter/timers/ModifiableTimer.html">org.apache.jmeter.timers.ModifiableTimer</a></code></li>
<li>Since 3.1 version, if you don't select any language in JSR223 Test Elements, Apache Groovy language will be used. See <bugzilla>59945</bugzilla></li>
</ul>
<h3>Deprecated and removed elements</h3>
<ul>
<li>Sample removed element</li>
</ul>
<!-- =================== Improvements =================== -->
<ch_section>Improvements</ch_section>
<h3>HTTP Samplers and Test Script Recorder</h3>
<ul>
<li><bug>59882</bug>Reduce memory allocations for better throughput. Contributed by Benoit Wiart (b.wiart at ubik-ingenierie.com) through <pr>217</pr> and <pr>228</pr></li>
<li><bug>59885</bug>Optimize css parsing for embedded resources download by introducing a cache. Contributed by Benoit Wiart (b.wiart at ubik-ingenierie.com) through <pr>219</pr></li>
<li><bug>60092</bug>Add shortened version of the PUT body to sampler result.</li>
</ul>
<h3>Other samplers</h3>
<ul>
<li><pr>211</pr>Differentiate the timing for JDBC Sampler. Use latency and connect time. Contributed by Thomas Peyrard (thomas.peyrard at murex.com)</li>
<li><bug>59620</bug>Fix button action in "JMS Publisher &rarr; Random File from folder specified below" to allow to select a directory</li>
<li><bug>60066</bug>Handle CLOBs and BLOBs and limit them if necessary when storing them in result sampler.</li>
</ul>
<h3>Controllers</h3>
<ul>
<li><bug>59351</bug>Improve log/error/message for IncludeController. Partly contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)</li>
<li><bug>60023</bug>ThroughputController : Make "Percent Executions" and global the default values. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>60082</bug>Validation mode : Be able to force Throughput Controller to run as if it was set to 100%</li>
<li><bug>59329</bug>Trim spaces in input filename in CSVDataSet.</li>
<li><bug>59349</bug>Trim spaces in input filename in IncludeController.</li>
</ul>
<h3>Listeners</h3>
<ul>
<li><bug>59953</bug>GraphiteBackendListener : Add Average metric. Partly contributed by Maxime Chassagneux (maxime.chassagneux at gmail.com)</li>
<li><bug>59975</bug>View Results Tree : Text renderer annoyingly scrolls down when content is bulky. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>60109</bug>Summariser : Make it ignore TC generated SampleResult in its summary computations</li>
<li><bug>59948</bug>Add a formatted and sane HTML source code render to View Results Tree</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bug>59845</bug>Log messages about JSON Path mismatches at <code>debug</code> level instead of <code>error</code>.</li>
<li><pr>212</pr>Allow multiple selection and delete in HTTP Authorization Manager. Based on a patch by Benoit Wiart (b.wiart at ubik-ingenierie.com)</li>
<li><bug>59816</bug><pr>213</pr>Allow multiple selection and delete in HTTP Header Manager.
Based on a patch by Benoit Wiart (b.wiart at ubik-ingenierie.com)</li>
<li><bug>59967</bug>CSS/JQuery Extractor : Allow empty default value. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>59974</bug>Response Assertion : Add button "<code>Add from clipboard</code>". Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>60050</bug>CSV Data Set : Make it clear in the logs when a thread will exit due to this configuration</li>
<li><bug>59962</bug>Cache Manager does not update expires date when response code is <code>304</code>.</li>
<li><bug>60018</bug>Timer : Add a factor to apply on pauses. Partly based on a patch by Ubik Load Pack (support at ubikloadpack.com)</li>
</ul>
<h3>Functions</h3>
<ul>
<li><bug>59963</bug>New Function <code>__RandomFromMultipleVars</code>: Ability to compute a random value from values of one or more variables. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>59991</bug>New function <code>__groovy</code> to evaluate Groovy Script. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
</ul>
<h3>I18N</h3>
<ul>
<li><pr>214</pr>Add spanish translation for delayed starting of threads. Contributed by Asier Lostalé (asier.lostale at openbravo.com).</li>
</ul>
<h3>Report / Dashboard</h3>
<ul>
<li><bug>59954</bug>Web Report/Dashboard : Add average metric</li>
<li><bug>59956</bug>Web Report / Dashboard : Add ability to generate a graph for a range of data</li>
<li><bug>60065</bug>Report / Dashboard : Improve Dashboard Error Summary by adding response message to "Type of error". Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>60079</bug>Report / Dashboard : Add a new "Response Time Overview" graph</li>
<li><bug>60080</bug>Report / Dashboard : Add a new "Connect Time Over Time " graph. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>60091</bug>Report / Dashboard : Have a new report containing min/max and percentiles graphs.</li>
<li><bug>60108</bug>Report / Dashboard : In Requests Summary rounding is too aggressive</li>
<li><bug>60098</bug>Report / Dashboard : Reduce default value for "<code>jmeter.reportgenerator.statistic_window</code>" to reduce memory impact</li>
<li><bug>60115</bug>Add date format property for start/end date filter into Report generator</li>
<li><bug>60171</bug>Report / Dashboard : Active Threads Over Time should stack lines to give the total amount of threads running</li>
</ul>
<h3>General</h3>
<ul>
<li><bug>59803</bug>Use <code>isValid()</code> method from JDBC driver, if no <code>validationQuery</code>
is given in JDBC Connection Configuration.</li>
<li><bug>59918</bug>Ant generated HTML report is broken (extras folder)</li>
<li><bug>57493</bug>Create a documentation page for properties</li>
<li><bug>59924</bug>The log level of <em>XXX</em> package is set to <code>DEBUG</code> if <code>log_level.<em>XXXX</em></code> property value contains spaces, same for <code>__log</code> function</li>
<li><bug>59777</bug>Extract SLF4J binding into its own jar and make it a JMeter lib.
<note>If you get a warning about multiple SLF4J bindings on startup. Remove either the Apache JMeter provided binding
<code>lib/ApacheJMeter_slf4j_logkit.jar</code>, or all of the other reported bindings.
For more information you can have a look at <a href="http://www.slf4j.org/codes.html#multiple_bindings">SLF4Js own info page.</a></note>
</li>
<li><bug>60085</bug>Remove cache for prepared statements, as it didn't work with the current JDBC pool implementation and current JDBC drivers should support caching of prepared statements themselves.</li>
<li><bug>60137</bug>In Distributed testing when using StrippedXXXX modes strip response also on error</li>
<li><bug>60106</bug>Settings defaults : Switch "<code>jmeter.save.saveservice.connect_time</code>" to true (after 3.0)</li>
<li><pr>229</pr> tiny memory allocation improvements. Contributed by Benoit Wiart (b.wiart at ubik-ingenierie.com)</li>
<li><bug>59945</bug>For all JSR223 elements, if script language has not been chosen on the UI, the script will be interpreted as a groovy script.</li>
</ul>
<ch_section>Non-functional changes</ch_section>
<ul>
<li>Updated to jsoup-1.9.2 (from 1.8.3)</li>
<li>Updated to ph-css 4.1.5 (from 4.1.4)</li>
<li>Updated to tika-core and tika-parsers 1.13 (from 1.12)</li>
<li>Updated to commons-io 2.5 (from 2.4)</li>
<li>Updated to commons-net 3.5 (from 3.4)</li>
<li>Updated to groovy 2.4.7 (from 2.4.6)</li>
<li>Updated to httpcore 4.4.5 (from 4.4.4)</li>
<li>Updated to slf4j-api 1.7.21 (from 1.7.13)</li>
<li>Updated to rsyntaxtextarea-2.6.0 (from 2.5.8)</li>
<li>Updated to xstream 1.4.9 (from 1.4.8)</li>
<li>Updated to jodd 3.7.1 (from 3.6.7.jar)</li>
<li>Updated to xmlgraphics-commons 2.1 (from 2.0.1)</li>
<li><pr>215</pr>Reduce duplicated code by using the newly added method <code>GuiUtils#cancelEditing</code>.
Contributed by Benoit Wiart (b.wiart at ubik-ingenierie.com)</li>
<li><pr>218</pr>Misc cleanup. Contributed by Benoit Wiart (b.wiart at ubik-ingenierie.com)</li>
<li><pr>216</pr>Re-use pattern when possible. Contributed by Benoit Wiart (b.wiart at ubik-ingenierie.com)</li>
</ul>
<!-- =================== Bug fixes =================== -->
<ch_section>Bug fixes</ch_section>
<h3>HTTP Samplers and Test Script Recorder</h3>
<ul>
<li><bug>58888</bug>HTTP(S) Test Script Recorder (ProxyControl) does not add TestElement's returned by <code>SamplerCreator#createChildren()</code></li>
<li><bug>59902</bug>Https handshake failure when setting <code>httpclient.socket.https.cps</code> property</li>
<li><bug>60084</bug>JMeter 3.0 embedded resource URL is silently encoded</li>
</ul>
<h3>Other Samplers</h3>
<ul>
<li><bug>59113</bug>JDBC Connection Configuration : Transaction Isolation level not correctly set if constant used instead of numerical</li>
</ul>
<h3>Controllers</h3>
<ul>
</ul>
<h3>Listeners</h3>
<ul>
<li><bug>59712</bug>Display original query in RequestView when decoding fails. Based on a patch by
Teemu Vesala (teemu.vesala at qentinel.com)</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bug>59964</bug>JSR223 Test Element : Cache compiled script if available is not correctly reset. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>59609</bug>Format extracted JSON Objects in JSON Post Processor correctly as JSON.</li>
</ul>
<h3>Functions</h3>
<ul>
</ul>
<h3>I18N</h3>
<ul>
</ul>
<h3>General</h3>
<ul>
<li><bug>59400</bug>Get rid of UnmarshalException on stopping when <code>-X</code> option is used.</li>
<li><bug>59607</bug>JMeter crashes when reading large test plan (greater than 2g). Based on fix by Felix Draxler (felix.draxler at sap.com)</li>
<li><bug>59621</bug>Error count in report dashboard is one off.</li>
<li><bug>59657</bug>Only set font in JSyntaxTextArea, when property <code>jsyntaxtextarea.font.family</code> is set.</li>
<li><bug>59720</bug>Batch test file comparisons fail on Windows as XML files are generated as EOL=LF</li>
<li>Code cleanups. Patches by Graham Russell (graham at ham1.co.uk)</li>
<li><bug>59722</bug>Use StandardCharsets to reduce the possibility of misspelling Charset names.</li>
<li><bug>59723</bug>Use <code>jmeter.properties</code> for testing whenever possible</li>
<li><bug>59726</bug>Unit test to check that CSV header text and sample format don't change unexpectedly</li>
<li><bug>59889</bug>Change encoding to UTF-8 in reports for dashboard.</li>
<li><bug>60053</bug>In Non GUI mode, a Stacktrace is shown at end of test while report is being generated</li>
<li><bug>60049</bug>When using Timers with high delays or Constant Throughput Timer with low throughput, Scheduler may take a lot of time to exit, same for Shutdown test </li>
<li><bug>60089</bug>Report / Dashboard : Bytes throughput Over Time has reversed Sent and Received bytes. Contributed by Ubik Load Pack (support at ubikloadpack.com)</li>
<li><bug>60090</bug>Report / Dashboard : Empty Transaction Controller should not count in metrics</li>
<li><bug>60103</bug>Report / Dashboard : Requests summary includes Transaction Controller leading to wrong percentage</li>
<li><bug>60105</bug>Report / Dashboard : Report requires Transaction Controller "<code>generate parent sample</code>" option to be checked , fix related issues</li>
<li><bug>60107</bug>Report / Dashboard : In StatisticSummary, TransactionController SampleResult makes Total line wrong</li>
<li><bug>60110</bug>Report / Dashboard : In Response Time Percentiles, slider is useless</li>
<li><bug>60135</bug>Report / Dashboard : Active Threads Over Time should be in OverTime section</li>
<li><bug>60125</bug>Report / Dashboard : Dashboard cannot be generated if the default delimiter is <code>\t</code>. Based on a report from Tamas Szabadi (tamas.szabadi at rightside.co)</li>
<li><bug>59439</bug>Report / Dashboard : AbstractOverTimeGraphConsumer.createGroupInfos() should be abstract</li>
</ul>
<!-- =================== Thanks =================== -->
<ch_section>Thanks</ch_section>
<p>We thank all contributors mentioned in bug and improvement sections above:
</p>
<ul>
<li>Felix Draxler (felix.draxler at sap.com)</li>
<li>Antonio Gomes Rodrigues (ra0077 at gmail.com)</li>
<li>Graham Russell (graham at ham1.co.uk)</li>
<li>Teemu Vesala (teemu.vesala at qentinel.com)</li>
<li>Asier Lostalé (asier.lostale at openbravo.com)</li>
<li>Thomas Peyrard (thomas.peyrard at murex.com)</li>
<li>Benoit Wiart (b.wiart at ubik-ingenierie.com)</li>
<li>Maxime Chassagneux (maxime.chassagneux at gmail.com)</li>
<li><a href="http://ubikloadpack.com">Ubik Load Pack</a></li>
<li>Tamas Szabadi (tamas.szabadi at rightside.co)</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 there is a <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6396599 ">bug in Java</a>
on some Linux systems that manifests itself as the following error when running the test cases or JMeter itself:
<source>
[java] WARNING: Couldn't flush user prefs:
java.util.prefs.BackingStoreException:
java.lang.IllegalArgumentException: Not supported: indent-number
</source>
This does not affect JMeter operation. This issue is fixed since Java 7b05.
</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>
With Oracle Java 7 and Mac Book Pro Retina Display, the JMeter GUI may look blurry.
This is a known Java bug, see Bug <a href="http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8000629" >JDK-8000629</a>.
A workaround is to use a Java 7 update 40 runtime which fixes this issue.
</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 JDK7_u79, 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>