<?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.
-->
<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>


<!--  =================== 2.11 =================== -->

<h1>Version 2.11</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>Improvements</ch_category> -->
<ch_title>HTTP(S) Test Script Recorder improvements</ch_title>
<p>
Following improvements have been made since major changes introduced in JMeter 2.10 on HTTP(S) Test Script Recorder:
<ul>
<li>Better detection of missing or invalid configuration of keytool utility</li>
<li>New system property keytool.directory (see system.properties) lets you configure directory containing keytool in case on non-standard installation</li>
</ul>
</p>

<ch_title>JMS Publisher/Point to Point : Add ability to set typed values in JMS header properties</ch_title>
<p>In the samplers JMS Publisher and JMS Point-to-Point, you can now set up the class of values for the JMS header properties. Previously only String was possible.</p>
<p>
<figure width="928" height="796" image="changes/2.11/01_jms_properties_typed_values.png"></figure>
</p>

<ch_title>View Results Tree : Add an XPath Tester </ch_title>
<p>In View Results Tree listener, a new XPath tester can be used to test XPATH expressions.</p>
<p>
<figure width="990" height="765" image="changes/2.11/03_xpath_tester.png"></figure>
</p>

<ch_title>Ability to choose the client alias for the cert key in JsseSslManager such that Mutual SSL auth testing can be made more flexible</ch_title>
<p>When testing client based certificate authentications you have now better control on certificate you use through a new field "Variable name holding certificate alias", this 
field lets you select the certificate you want to send to server to authenticate. You can use a CSV Data Set as a holder for the variable value.</p>
<p>
<figure width="471" height="189" image="changes/2.11/07_keystore_config.png"></figure>
</p>

<ch_title>Add a "Save as Test Fragment" option </ch_title>
<p>In the file menu, a new option allow to save a group of elements as a Test fragment.</p>
<p>
<figure width="295" height="242" image="changes/2.11/05_save_as_fragement.png"></figure>
</p>

<ch_title>Summariser is be enabled by default in Non GUI mode</ch_title>
<p>When you run JMeter from command line, now JMeter displays some statistics from the Summariser mode.</p>
<p>
<figure width="1287" height="386" image="changes/2.11/06_summariser.png"></figure>
</p>

<ch_title>Transaction Controller:Change default property "Include duration of timer..." for newly created element</ch_title>
<p>Starting from 2.11, Transaction Controller is configured by default to exclude processing time of pre/post processors as long as timers pause.</p>
<p>
<figure width="628" height="140" image="changes/2.11/02_transaction_controller.png"></figure>
</p>

<!-- <ch_title>Sample title</ch_title>
<p>
<ul>
<li>Sample text</li>
</ul>
</p>

<ch_title>Sample title</ch_title>
<p>Sample text</p>
<figure width="691" height="215" image="changes/2.10/18_https_test_script_recorder.png"></figure>
 -->


<!--  =================== Known bugs =================== -->


<ch_section>Known bugs</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>Listeners don't show iteration counts when a If Controller has a condition which is always false from the first iteration (see <bugzilla>52496</bugzilla>).  
A workaround is to add a sampler at the same level as (or superior to) the If Controller.
For example a Test Action sampler with 0 wait time (which doesn't generate a sample),
or a Debug Sampler with all fields set to False (to reduce the sample size).
</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 0 (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:
<pre>
 [java] WARNING: Couldn't flush user prefs:
 java.util.prefs.BackingStoreException:
 java.lang.IllegalArgumentException: Not supported: indent-number
</pre>
This does not affect JMeter operation. This issue is fixed since Java 7b05.
</li>

<li>
With Java 1.6 and Gnome 3 on Linux systems, the JMeter menu may not work correctly (shift between mouse's click and the menu). 
This is a known Java bug (see  <bugzilla>54477 </bugzilla>). 
A workaround is to use a Java 7 runtime (OpenJDK or Oracle JDK).
</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.sun.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>
</ul>

<!-- =================== Incompatible changes =================== -->

<ch_section>Incompatible changes</ch_section>

<ul>
<li>When creating a new Transaction Controller, property "Include duration of timer and pre-post processors in generated sample" will be unchecked starting from version 2.11</li>
<li>In Non GUI mode, since 2.11 summariser is enabled with a 30 seconds frequency</li>
<li>JMeter is more lenient with redirect handling and relaxes on RFC2616 by allowing relative locations. See property "jmeter.httpclient.strict_rfc2616" in jmeter.properties to change this behaviour, see <bugzilla>55717</bugzilla></li>
<li>When creating a new Response Assertion, property "Pattern Matching Rules" now defaults to Substring starting from version 2.11</li>
</ul>

<!-- =================== Bug fixes =================== -->

<ch_section>Bug fixes</ch_section>

<h3>HTTP Samplers and Test Script Recorder</h3>
<ul>
<li><bugzilla>55815</bugzilla> - Proxy#getDomainMatch does not handle wildcards correctly</li>
<li><bugzilla>55717</bugzilla> - Bad handling of Redirect when URLs are in relative format by HttpClient4 and HttpClient3.1</li>
</ul>

<h3>Other Samplers</h3>
<ul>
<li><bugzilla>55685</bugzilla> - OS Sampler: timeout option don't save and restore correctly value and don't init correctly timeout</li>
</ul>

<h3>Controllers</h3>
<ul>
<li><bugzilla>55816</bugzilla> - Transaction Controller with "Include duration of timer..." unchecked does not ignore processing time of last child sampler</li>
</ul>

<h3>Listeners</h3>
<ul>
<li><bugzilla>55826</bugzilla> - Unsynchronised concurrent accesses to list in field RespTimeGraphVisualizer.internalList </li>
</ul>

<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bugzilla>55694</bugzilla> - Assertions and Extractors : Avoid NullPointerException when scope is variable and variable is missing</li>
<li><bugzilla>55721</bugzilla> - HTTP Cache Manager - no-store directive is wrongly interpreted</li>
</ul>

<h3>Functions</h3>
<ul>
<li><bugzilla>55871</bugzilla> - Wrong result with intSum() function when a space character is present before/after the number. Contributed by Milamber based on a proposal by James Liang.</li>
</ul>

<h3>I18N</h3>
<ul>
</ul>

<h3>General</h3>
<ul>
<li><bugzilla>55739</bugzilla> - Remote Test : Total threads in GUI mode shows invalid total number of threads</li>
</ul>

<!-- =================== Improvements =================== -->

<ch_section>Improvements</ch_section>

<h3>HTTP Samplers and Proxy</h3>
<ul>
</ul>

<h3>Other samplers</h3>
<ul>
<li><bugzilla>55589</bugzilla> - JMS Publisher/Point to Point : Add ability to set typed values in JMS header properties.</li>
</ul>

<h3>Controllers</h3>
<ul>
<li><bugzilla>55854</bugzilla> - Transaction Controller:Change default property "Include duration of timer..." for newly created element</li>
</ul>

<h3>Listeners</h3>
<ul>
<li><bugzilla>55610</bugzilla> - View Results Tree : Add an XPath Tester</li>
</ul>

<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bugzilla>55908</bugzilla> - Response assertion : Change Pattern Matching Rules default to Substring on creation for better performances</li>
<li><bugzilla>54977</bugzilla> - Ability to choose the client alias for the cert key in JsseSslManager such that Mutual SSL auth testing can be made more flexible. Contributed by UBIK Load Pack (support at ubikloadpack.com)</li>
</ul>

<h3>Functions</h3>
<ul>
</ul>

<h3>I18N</h3>
<ul>
</ul>

<h3>General</h3>
<ul>
<li><bugzilla>55693</bugzilla> - Add a "Save as Test Fragment" option</li>
<li><bugzilla>55753</bugzilla> - Improve FilePanel behaviour to start from the value set in Filename field if any. Contributed by UBIK Load Pack (support at ubikloadpack.com)</li>
<li><bugzilla>55756</bugzilla> - HTTP Mirror Server : Add ability to set Headers</li>
<li><bugzilla>55852</bugzilla> - Be more lenient in parsing when charset value is surrounded with single quotes</li>
<li><bugzilla>55857</bugzilla> - Performance : AbstractProperty should test for emptiness to avoid Exception throwing</li>
<li><bugzilla>55858</bugzilla> - Startup Performance : On Startup, BeanInfoSupport should test for key availability instead of throwing</li>
<li><bugzilla>55865</bugzilla> - Performance :Disable stale check by default in HttpClient 4 and 3.1</li>
<li><bugzilla>55512</bugzilla> - Summariser should be enabled by default in Non GUI mode</li>
</ul>

<ch_section>Non-functional changes</ch_section>
<ul>
<li>Updated to rsyntaxtextarea-2.5.1.jar (from 2.5.0)</li>
<li>Updated to jodd-core-3.4.9.jar from (3.4.8) and jodd-lagarto-3.4.9.jar (from 3.4.9)</li>
<li>Updated to jsoup-1.7.3.jar (from 1.7.2)</li>
<li>Updated to mail-1.5.0-b01 (from 1.4.4)</li>
<li>Updated to mongo-java-driver-2.11.3 (from 2.11.2)</li>
</ul>

<ch_section>Thanks</ch_section>
<p>We thank all contributors mentioned in bug and improvement sections above:
<ul>
<li>James Liang (jliang at andera.com)</li>
<li>UBIK Load Pack (support at ubikloadpack.com)</li>
</ul>
<br/>
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:
<ul>
<li>John Natsioulas (john_natsioulas at yahoo.com.au)</li>
<li>Antonio Gomes Rodrigues (ra0077 at gmail.com)</li>
</ul>

Apologies if we have omitted anyone else.
 </p>
</section> 
</body> 
</document>
