Switch to next version

git-svn-id: https://svn.apache.org/repos/asf/jmeter/trunk@1440161 13f79535-47bb-0310-9956-ffa450edef68

Former-commit-id: b9f4bc1293
This commit is contained in:
Philippe Mouawad 2013-01-29 21:49:47 +00:00
parent 7811cedce9
commit be03b4d53f
2 changed files with 327 additions and 200 deletions

View File

@ -39,112 +39,6 @@ Earlier changes are detailed in the <a href="changes_history.html">History of Pr
<h2>New and Noteworthy</h2>
<h3><u>Core Improvements:</u></h3>
<h4>* A new Extractor that uses CSS or jquery-like selector syntax has been introduced,
it allows using either JODD or JSOUP implementations</h4>
<p>
<figure width="762" height="277" image="changes/2.9/01_css_jquery_extractor.png"></figure>
</p>
<p>Result: the title of the page in a JMeter variable
<figure width="719" height="171" image="changes/2.9/01_css_jquery_extractor_resul.png"></figure>
</p>
<h4>* JMeter can now handle different types of documents (PDF, MsOffice files, Apache OpenOffice's files...)
within different elements </h4>
<ul>
<li>Regular Expression Extractor, extract text from documents</li>
<li>Assertion Response, check text in documents</li>
<li>View Results Tree, view as a text the documents</li>
</ul>
<p>
<figure width="761" height="345" image="changes/2.9/02_document_render_view_results_tree.png"></figure>
</p>
<h4>* A new Regex User Parameters Pre-Processor that enables injecting input parameter names and values
using a reference extracted by Regular Expression Extractor from a previous response</h4>
<p>
<figure width="727" height="138" image="changes/2.9/13_regex_user_params.png"></figure>
</p>
<h4>* TCP Sampler: new options</h4>
<p>TCP Sampler has been enhanced with new options to allow setting <b>Close Connection</b>,
<b>SO_LINGER</b> and <b>End of line(EOL) byte value</b>
<figure width="1147" height="302" image="changes/2.9/03_new_options_tcp_sampler.png"></figure>
</p>
<h4>* A new function <i>__escapeOroRegexpChars(,)</i> has been introduced quote ORO regexp meta characters</h4>
<h4>* ForEach Controller: new fields</h4>
<p>ForEach Controller has now 2 new fields to control start and end of loop
<figure width="320" height="203" image="changes/2.9/04_for_each_new_fields.png"></figure>
</p>
<h4>* Result Status Action Handler now has a new option to "Start next thread loop"</h4>
<p>
<figure width="722" height="132" image="changes/2.9/05_result_status_action_handler.png"></figure>
</p>
<h4>* JMS Publisher: new option</h4>
<p>JMS Publisher can now send Bytes Messages</p>
<figure width="833" height="701" image="changes/2.9/11_jms_publisher_bytes.png"></figure>
<h4>* Memory and performance improvements</h4>
<p>Significant improvements have been done in this version on memory usage per Thread and CPU when more
than one Post Processor is used as child of a Sampler</p>
<p>JSR223 Elements (enable using Groovy, Scala... as scripting languages) have been improved to enable caching
of Compilation results when scripts are passed in Text area</p>
<figure width="841" height="470" image="changes/2.9/12_jsr223_sampler.png"></figure>
<p>Some configuration defaults have changed to improve performances by default(see <bugzilla>54412</bugzilla>),
see description in New and Noteworthy section.
<ul>
<li>Distributed testing now uses MODE_STRIPPED_BATCH, which returns samples in batch mode (every 100 samples
or every minute by default). Note also that MODE_STRIPPED_BATCH strips response data from SampleResult,
so if you need it change to another mode (mode property in jmeter.properties)</li>
<li>Result data are now saved to CSV by default (jmeter.save.saveservice.output_format in jmeter.properties)</li>
</ul>
</p>
<h4>* XPath Assertion now enables using a JMeter variable as input</h4>
<p>
<figure width="800" height="317" image="changes/2.9/14_xpath_assertion.png"></figure>
</p>
<h3><u>GUI and ergonomy Improvements:</u></h3>
<h4>* Search feature has been improved to search within more internal fields of elements and expand search results</h4>
<h4>* Copy/paste is now possible between 2 JMeter instances &gt;= 2.9 version</h4>
<p>Copy element(s) from one JMeter instance:
<figure width="618" height="262" image="changes/2.9/06_copy_paste_between_2_jmeter1.png"></figure>
</p>
<p>Paste element(s) into a second JMeter instance:
<figure width="617" height="278" image="changes/2.9/06_copy_paste_between_2_jmeter2.png"></figure>
</p>
<h4>* HTTP Header Manager</h4>
<p>Allow copy from clipboard to HeaderPanel, headers are supposed to be separated by new line
and have the following form <i>name:value</i>
<figure width="661" height="263" image="changes/2.9/07_header_panel_add_from_clipboard.png"></figure>
</p>
<h4>* Module Controller</h4>
<p>Module Controller has been improved to better render referenced controller and expand it by clicking on a new button
<figure width="832" height="274" image="changes/2.9/08_module_controller_improvements.png"></figure>
</p>
<h4>* HTTP Proxy Server</h4>
<p>HTTP Proxy Server now has a button to add a set of default exclusions for URL patterns,
this list can be configured through property : <i>proxy.excludes.suggested</i>
<figure width="811" height="214" image="changes/2.9/09_proxy_excludes_suggested.png"></figure>
</p>
<h4>* Rendering of target controller has been improved in HTTP Proxy Server</h4>
<h3><u>HTTP Proxy Server recording:</u></h3>
<p>* HTTP Proxy Server now automatically uses HTTP Request with Raw Post Body mode for
samples that only have one unnamed argument (JSON, XML, GWT...)</p>
<p>* HTTP Proxy Server does not force user to select the type of Sampler in HTTP Sampler Settings,
this allows easier switch between implementations as Sampler do not have this information set anymore</p>
<p>
<figure width="484" height="307" image="changes/2.9/10_http_proxy_dont_force_http_type.png"></figure>
</p>
<p>* SamplerCreator interface has been enriched to meet new requirements for plug-in providers</p>
<p>* It is now possible to create binary sampler for x-www-form-urlencoded POST request by
modifying <i>proxy.binary.types</i> property to add application/x-www-form-urlencoded </p>
<p>* Improved timestamp format auto-detection when reading CSV files</p>
<!-- =================== Known bugs =================== -->
<h2>Known bugs</h2>
@ -190,54 +84,16 @@ This does not affect JMeter operation.
<h2>Incompatible changes</h2>
<p><b>JMeter requires now a Java 6 runtime or higher.</b></p>
<p>Some configuration defaults have changed to improve performances by default (see <bugzilla>54412</bugzilla>),
see description in New and Noteworthy section.</p>
<p>Webservice sampler now adds to request the headers that are set through Header Manager, these were previously ignored</p>
<p><i>jdbcsampler.cachesize</i> property has been removed, it previously limited the size of a per connection cache of Map &lt; String,
PreparedStatement &gt; , it also limited the size of this
map which held the PreparedStatement for SQL queries. This limitation provoked a bug <bugzilla>53995</bugzilla>.
It has been removed so now size of these 2 maps is not limited anymore. This change changes behaviour as starting from
this version no PreparedStatement will be closed during the test.</p>
<p>Starting with this version, there are some important changes on JSR223 Test Elements:
<ul>
<li>JSR223 Test Elements that have an invalid filename (not existing or unreadable) will make test fail instead of
making the element silently work</li>
<li>In JSR223 Test Elements: responseCodeOk, responseMessageOK and successful are set before
script is executed, if responseData is set it will not be overriden anymore by a toString() on script return value</li>
</ul>
</p>
<p>View Results Tree now considers response with missing content type as text.</p>
<p>In remote Test mode, JMeter now exits in error if one of the remote engines cannot be configured,
previously it started the test with available engines.</p>
<!-- =================== Bug fixes =================== -->
<h2>Bug fixes</h2>
<h3>HTTP Samplers and Proxy</h3>
<ul>
<li>Don't log spurious warning messages when using concurrent pool embedded downloads with Cache Manager or CookieManager</li>
<li><bugzilla>54057</bugzilla>- Proxy option to set user and password at startup (-u and -a) not working with HTTPClient 4</li>
<li><bugzilla>54187</bugzilla> - Request tab does not show headers if request fails</li>
<li><bugzilla>53840</bugzilla> - Proxy Recording : Response message: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "" "</li>
<li><bugzilla>54351</bugzilla> - HC4 and URI fragments is failing</li>
</ul>
<h3>Other Samplers</h3>
<ul>
<li><bugzilla>53997</bugzilla> - LDAP Extended Request: Escape ampersand (&amp;), left angle bracket (&lt;)
and right angle bracket (&gt;) in search filter tag in XML response data</li>
<li><bugzilla>53995</bugzilla> - AbstractJDBCTestElement shares PreparedStatement between multi-threads</li>
<li><bugzilla>54119</bugzilla> - HTTP 307 response is not redirected</li>
<li><bugzilla>54326</bugzilla> - AjpSampler send file in post throws FileNotFoundException</li>
<li><bugzilla>54331</bugzilla> - AjpSampler throws null pointer on GET request that are protected</li>
</ul>
<h3>Controllers</h3>
@ -246,17 +102,10 @@ and right angle bracket (&gt;) in search filter tag in XML response data</li>
<h3>Listeners</h3>
<ul>
<li><bugzilla>54088</bugzilla> - The type video/f4m is text, not binary</li>
<li><bugzilla>54166</bugzilla> - ViewResultsTree could not render the HTML response: handle failure to parse HTML</li>
<li><bugzilla>54287</bugzilla> - Incorrect Timestamp in Response Time Graph when using a date with time in Date format field</li>
<li><bugzilla>54451</bugzilla> - Response Time Graph reports wrong times when the are many samples for same time</li>
<li><bugzilla>54459</bugzilla> - CSVSaveService does not handle date parsing very well</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bugzilla>54058</bugzilla> - In HTTP Request Defaults, the value of field "Embedded URLs must match: is not saved if the check box "Retrieve All Embedded Resources" is not checked.</li>
<li><bugzilla>54375</bugzilla> - Regular Expression Extractor : When regex syntax is wrong, post processing is stopped</li>
</ul>
<h3>Functions</h3>
@ -269,14 +118,6 @@ and right angle bracket (&gt;) in search filter tag in XML response data</li>
<h3>General</h3>
<ul>
<li><bugzilla>53975</bugzilla> - Variables replacement doesn't work with option "Delay thread creation until needed"</li>
<li><bugzilla>54055</bugzilla> - View Results tree: = signs are stripped from parameter values at HTTP tab</li>
<li><bugzilla>54129</bugzilla> - Search Feature does not find text although existing in elements </li>
<li><bugzilla>54023</bugzilla> - Unable to start JMeter from a root directory and if the full path of JMeter installation contains one or more spaces (Unix/linux)</li>
<li><bugzilla>54172</bugzilla> - Duplicate shortcut key not working and CTRL+C / CTRL+V / CTRL+V do not cancel default event</li>
<li><bugzilla>54057</bugzilla> - Proxy option to set user and password at startup (-u and -a) not working with HTTPClient 4</li>
<li><bugzilla>54267</bugzilla> - Start Next Thread Loop setting doesn't work in custom thread groups</li>
<li><bugzilla>54413</bugzilla> - DataStrippingSampleSender returns 0 for number of bytes of any response</li>
</ul>
<!-- =================== Improvements =================== -->
@ -285,44 +126,26 @@ and right angle bracket (&gt;) in search filter tag in XML response data</li>
<h3>HTTP Samplers</h3>
<ul>
<li><bugzilla>54185</bugzilla> - Allow query strings in paths that start with HTTP or HTTPS</li>
</ul>
<h3>Other samplers</h3>
<ul>
<li><bugzilla>54004</bugzilla> - Webservice Sampler : Allow adding headers to request with Header Manager</li>
<li><bugzilla>54106</bugzilla> - JSR223TestElement should check for file existence when a filename is set instead of using Text Area content </li>
<li><bugzilla>54107</bugzilla> - JSR223TestElement : Enable compilation and caching of Script Text</li>
<li><bugzilla>54109</bugzilla> - JSR223TestElement : SampleResult properties should be set before entering script to allow user setting different code</li>
<li><bugzilla>54230</bugzilla> - TCP Sampler, additions of "Close Connection", "SO_LINGER" and "End of line(EOL) byte value" options</li>
<li><bugzilla>54182</bugzilla> - Support sending of ByteMessage for JMS Publisher.</li>
</ul>
<h3>Controllers</h3>
<ul>
<li><bugzilla>54131</bugzilla> - ForEach Controller : Add start and end index for looping over variables</li>
<li><bugzilla>54132</bugzilla> - Module Controller GUI : Improve rendering of referenced controller</li>
<li><bugzilla>54155</bugzilla> - ModuleController : Add a shortcut button to unfold the tree up to referenced controller and highlight it</li>
</ul>
<h3>Listeners</h3>
<ul>
<li><bugzilla>54200</bugzilla> - Add support of several document types (like Apache OpenOffice's files, MS Office's files, PDF's files, etc.)
to the elements View Results Tree, Assertion Response and Regular Expression Extractor (using Apache Tika)</li>
<li><bugzilla>54226</bugzilla> - View Results Tree : Show response even when server does not return ContentType header</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bugzilla>54259</bugzilla> - Introduce a new Extractor that uses CSS or jquery-like selector syntax</li>
<li><bugzilla>45772</bugzilla> - RegEx User Parameters Post Processor</li>
<li><bugzilla>54160</bugzilla> - Add support for xpath assertion to apply to a JMeter variable.</li>
</ul>
<h3>Functions</h3>
<ul>
<li><bugzilla>54189</bugzilla> - Add a function to quote ORO regexp meta characters</li>
<li><bugzilla>54418</bugzilla> - UUID Function</li>
</ul>
<h3>I18N</h3>
@ -331,33 +154,10 @@ to the elements View Results Tree, Assertion Response and Regular Expression Ext
<h3>General</h3>
<ul>
<li><bugzilla>54005</bugzilla> - HTTP Mirror Server : Add special headers "X-" to control Response status and response content</li>
<li><bugzilla>53875</bugzilla> - Include suggested defaults for URL filters on HTTP Proxy</li>
<li><bugzilla>54031</bugzilla> - Add tooltip to running/total threads indicator </li>
<li>Webservice (SOAP) Request has been deprecated</li>
<li><bugzilla>54161</bugzilla> - Proxy : be able to create binary sampler for x-www-form-urlencoded POST request</li>
<li><bugzilla>54154</bugzilla> - HTTP Proxy Server should not force user to select the type of Sampler in HTTP Sampler Settings</li>
<li><bugzilla>54165</bugzilla> - Proxy Server: Improve rendering of target controller</li>
<li><bugzilla>46677</bugzilla> - Copying Test Elements between test plans</li>
<li><bugzilla>54204</bugzilla> - Result Status Action Handler : Add start next thread loop option</li>
<li><bugzilla>54232</bugzilla> - Search Feature : Add a button to search and expand results</li>
<li><bugzilla>54251</bugzilla> - Add tristate checkbox implementation</li>
<li><bugzilla>54257</bugzilla> - Enhance SamplerCreator interface to meet new requirements</li>
<li><bugzilla>54258</bugzilla> - Proxy : Use Raw Post Body when Sampler has one unnamed argument, useful for Samplers using POST method by of type JSON, XML, GWT body</li>
<li><bugzilla>54268</bugzilla> - Improve CPU and memory usage</li>
<li><bugzilla>54376</bugzilla> - ScopePanel : Allow configuring more precisely scopes</li>
<li><bugzilla>54412</bugzilla> - Changing JMeter defaults to ensure better performances by default</li>
<li><bugzilla>54414</bugzilla> - Remote Test should not start if one of the engines fails to start correctly</li>
</ul>
<h2>Non-functional changes</h2>
<ul>
<li><bugzilla>53956</bugzilla> - Add ability to paste (a list of values) from clipboard for Header Manager</li>
<li>Updated to HttpComponents Client 4.2.3 (from 4.2.1)</li>
<li>Updated to HttpComponents Core 4.2.3 (from 4.2.2)</li>
<li><bugzilla>54110</bugzilla> - BSFTestElement and JSR223TestElement should use shared super-class for common fields</li>
<li><bugzilla>54199</bugzilla> - Move to Java 6</li>
<li>Upgraded to rhino 1.7R4</li>
</ul>
</section>

View File

@ -30,6 +30,333 @@ Current changes are detailed in <a href="changes.html">Changes</a>.
<p><b>Changes sections are chronologically ordered from top (most recent) to bottom
(least recent)</b></p>
<!-- =================== 2.9 =================== -->
<h1>Version 2.9</h1>
<h2>New and Noteworthy</h2>
<h3><u>Core Improvements:</u></h3>
<h4>* A new Extractor that uses CSS or jquery-like selector syntax has been introduced,
it allows using either JODD or JSOUP implementations</h4>
<p>
<figure width="762" height="277" image="changes/2.9/01_css_jquery_extractor.png"></figure>
</p>
<p>Result: the title of the page in a JMeter variable
<figure width="719" height="171" image="changes/2.9/01_css_jquery_extractor_resul.png"></figure>
</p>
<h4>* JMeter can now handle different types of documents (PDF, MsOffice files, Apache OpenOffice's files...)
within different elements </h4>
<ul>
<li>Regular Expression Extractor, extract text from documents</li>
<li>Assertion Response, check text in documents</li>
<li>View Results Tree, view as a text the documents</li>
</ul>
<p>
<figure width="761" height="345" image="changes/2.9/02_document_render_view_results_tree.png"></figure>
</p>
<h4>* A new Regex User Parameters Pre-Processor that enables injecting input parameter names and values
using a reference extracted by Regular Expression Extractor from a previous response</h4>
<p>
<figure width="727" height="138" image="changes/2.9/13_regex_user_params.png"></figure>
</p>
<h4>* TCP Sampler: new options</h4>
<p>TCP Sampler has been enhanced with new options to allow setting <b>Close Connection</b>,
<b>SO_LINGER</b> and <b>End of line(EOL) byte value</b>
<figure width="1147" height="302" image="changes/2.9/03_new_options_tcp_sampler.png"></figure>
</p>
<h4>* A new function <i>__escapeOroRegexpChars(,)</i> has been introduced quote ORO regexp meta characters</h4>
<h4>* ForEach Controller: new fields</h4>
<p>ForEach Controller has now 2 new fields to control start and end of loop
<figure width="320" height="203" image="changes/2.9/04_for_each_new_fields.png"></figure>
</p>
<h4>* Result Status Action Handler now has a new option to "Start next thread loop"</h4>
<p>
<figure width="722" height="132" image="changes/2.9/05_result_status_action_handler.png"></figure>
</p>
<h4>* JMS Publisher: new option</h4>
<p>JMS Publisher can now send Bytes Messages</p>
<figure width="833" height="701" image="changes/2.9/11_jms_publisher_bytes.png"></figure>
<h4>* Memory and performance improvements</h4>
<p>Significant improvements have been done in this version on memory usage per Thread and CPU when more
than one Post Processor is used as child of a Sampler</p>
<p>JSR223 Elements (enable using Groovy, Scala... as scripting languages) have been improved to enable caching
of Compilation results when scripts are passed in Text area</p>
<figure width="841" height="470" image="changes/2.9/12_jsr223_sampler.png"></figure>
<p>Some configuration defaults have changed to improve performances by default(see <bugzilla>54412</bugzilla>),
see description in New and Noteworthy section.
<ul>
<li>Distributed testing now uses MODE_STRIPPED_BATCH, which returns samples in batch mode (every 100 samples
or every minute by default). Note also that MODE_STRIPPED_BATCH strips response data from SampleResult,
so if you need it change to another mode (mode property in jmeter.properties)</li>
<li>Result data are now saved to CSV by default (jmeter.save.saveservice.output_format in jmeter.properties)</li>
</ul>
</p>
<h4>* XPath Assertion now enables using a JMeter variable as input</h4>
<p>
<figure width="800" height="317" image="changes/2.9/14_xpath_assertion.png"></figure>
</p>
<h3><u>GUI and ergonomy Improvements:</u></h3>
<h4>* Search feature has been improved to search within more internal fields of elements and expand search results</h4>
<h4>* Copy/paste is now possible between 2 JMeter instances &gt;= 2.9 version</h4>
<p>Copy element(s) from one JMeter instance:
<figure width="618" height="262" image="changes/2.9/06_copy_paste_between_2_jmeter1.png"></figure>
</p>
<p>Paste element(s) into a second JMeter instance:
<figure width="617" height="278" image="changes/2.9/06_copy_paste_between_2_jmeter2.png"></figure>
</p>
<h4>* HTTP Header Manager</h4>
<p>Allow copy from clipboard to HeaderPanel, headers are supposed to be separated by new line
and have the following form <i>name:value</i>
<figure width="661" height="263" image="changes/2.9/07_header_panel_add_from_clipboard.png"></figure>
</p>
<h4>* Module Controller</h4>
<p>Module Controller has been improved to better render referenced controller and expand it by clicking on a new button
<figure width="832" height="274" image="changes/2.9/08_module_controller_improvements.png"></figure>
</p>
<h4>* HTTP Proxy Server</h4>
<p>HTTP Proxy Server now has a button to add a set of default exclusions for URL patterns,
this list can be configured through property : <i>proxy.excludes.suggested</i>
<figure width="811" height="214" image="changes/2.9/09_proxy_excludes_suggested.png"></figure>
</p>
<h4>* Rendering of target controller has been improved in HTTP Proxy Server</h4>
<h3><u>HTTP Proxy Server recording:</u></h3>
<p>* HTTP Proxy Server now automatically uses HTTP Request with Raw Post Body mode for
samples that only have one unnamed argument (JSON, XML, GWT...)</p>
<p>* HTTP Proxy Server does not force user to select the type of Sampler in HTTP Sampler Settings,
this allows easier switch between implementations as Sampler do not have this information set anymore</p>
<p>
<figure width="484" height="307" image="changes/2.9/10_http_proxy_dont_force_http_type.png"></figure>
</p>
<p>* SamplerCreator interface has been enriched to meet new requirements for plug-in providers</p>
<p>* It is now possible to create binary sampler for x-www-form-urlencoded POST request by
modifying <i>proxy.binary.types</i> property to add application/x-www-form-urlencoded </p>
<p>* Improved timestamp format auto-detection when reading CSV files</p>
<!-- =================== Known bugs =================== -->
<h2>Known bugs</h2>
<p>The Once Only controller behaves correctly under a Thread Group or Loop Controller,
but otherwise its behaviour is not consistent (or clearly specified).</p>
<p>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).
</p>
<p>Webservice sampler does not consider the HTTP response status to compute the status of a response, thus a response 500 containing a non empty body will be considered as successful, see <bugzilla>54006</bugzilla>.
To workaround this issue, ensure you always read the response and add a Response Assertion checking text inside the response.
</p>
<p>
Changing language can break part of the configuration of the following elements (see <bugzilla>53679</bugzilla>):
<ul>
<li>CSV Data Set Config (sharing mode will be lost)</li>
<li>Constant Throughput Timer (Calculate throughput based on will be lost)</li>
</ul>
</p>
<p>
The numbers that appear to the left of the green box are the number of active threads / total number of threads,
these only apply to a locally run test; they do not include any threads started on remote systems when using client-server mode, (see <bugzilla>54152</bugzilla>).
</p>
<p>
Note that there is a bug in Java 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.
</p>
<!-- =================== Incompatible changes =================== -->
<h2>Incompatible changes</h2>
<p><b>JMeter requires now a Java 6 runtime or higher.</b></p>
<p>Some configuration defaults have changed to improve performances by default (see <bugzilla>54412</bugzilla>),
see description in New and Noteworthy section.</p>
<p>Webservice sampler now adds to request the headers that are set through Header Manager, these were previously ignored</p>
<p><i>jdbcsampler.cachesize</i> property has been removed, it previously limited the size of a per connection cache of Map &lt; String,
PreparedStatement &gt; , it also limited the size of this
map which held the PreparedStatement for SQL queries. This limitation provoked a bug <bugzilla>53995</bugzilla>.
It has been removed so now size of these 2 maps is not limited anymore. This change changes behaviour as starting from
this version no PreparedStatement will be closed during the test.</p>
<p>Starting with this version, there are some important changes on JSR223 Test Elements:
<ul>
<li>JSR223 Test Elements that have an invalid filename (not existing or unreadable) will make test fail instead of
making the element silently work</li>
<li>In JSR223 Test Elements: responseCodeOk, responseMessageOK and successful are set before
script is executed, if responseData is set it will not be overriden anymore by a toString() on script return value</li>
</ul>
</p>
<p>View Results Tree now considers response with missing content type as text.</p>
<p>In remote Test mode, JMeter now exits in error if one of the remote engines cannot be configured,
previously it started the test with available engines.</p>
<!-- =================== Bug fixes =================== -->
<h2>Bug fixes</h2>
<h3>HTTP Samplers and Proxy</h3>
<ul>
<li>Don't log spurious warning messages when using concurrent pool embedded downloads with Cache Manager or CookieManager</li>
<li><bugzilla>54057</bugzilla>- Proxy option to set user and password at startup (-u and -a) not working with HTTPClient 4</li>
<li><bugzilla>54187</bugzilla> - Request tab does not show headers if request fails</li>
<li><bugzilla>53840</bugzilla> - Proxy Recording : Response message: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "" "</li>
<li><bugzilla>54351</bugzilla> - HC4 and URI fragments is failing</li>
</ul>
<h3>Other Samplers</h3>
<ul>
<li><bugzilla>53997</bugzilla> - LDAP Extended Request: Escape ampersand (&amp;), left angle bracket (&lt;)
and right angle bracket (&gt;) in search filter tag in XML response data</li>
<li><bugzilla>53995</bugzilla> - AbstractJDBCTestElement shares PreparedStatement between multi-threads</li>
<li><bugzilla>54119</bugzilla> - HTTP 307 response is not redirected</li>
<li><bugzilla>54326</bugzilla> - AjpSampler send file in post throws FileNotFoundException</li>
<li><bugzilla>54331</bugzilla> - AjpSampler throws null pointer on GET request that are protected</li>
</ul>
<h3>Controllers</h3>
<ul>
</ul>
<h3>Listeners</h3>
<ul>
<li><bugzilla>54088</bugzilla> - The type video/f4m is text, not binary</li>
<li><bugzilla>54166</bugzilla> - ViewResultsTree could not render the HTML response: handle failure to parse HTML</li>
<li><bugzilla>54287</bugzilla> - Incorrect Timestamp in Response Time Graph when using a date with time in Date format field</li>
<li><bugzilla>54451</bugzilla> - Response Time Graph reports wrong times when the are many samples for same time</li>
<li><bugzilla>54459</bugzilla> - CSVSaveService does not handle date parsing very well</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bugzilla>54058</bugzilla> - In HTTP Request Defaults, the value of field "Embedded URLs must match: is not saved if the check box "Retrieve All Embedded Resources" is not checked.</li>
<li><bugzilla>54375</bugzilla> - Regular Expression Extractor : When regex syntax is wrong, post processing is stopped</li>
</ul>
<h3>Functions</h3>
<ul>
</ul>
<h3>I18N</h3>
<ul>
</ul>
<h3>General</h3>
<ul>
<li><bugzilla>53975</bugzilla> - Variables replacement doesn't work with option "Delay thread creation until needed"</li>
<li><bugzilla>54055</bugzilla> - View Results tree: = signs are stripped from parameter values at HTTP tab</li>
<li><bugzilla>54129</bugzilla> - Search Feature does not find text although existing in elements </li>
<li><bugzilla>54023</bugzilla> - Unable to start JMeter from a root directory and if the full path of JMeter installation contains one or more spaces (Unix/linux)</li>
<li><bugzilla>54172</bugzilla> - Duplicate shortcut key not working and CTRL+C / CTRL+V / CTRL+V do not cancel default event</li>
<li><bugzilla>54057</bugzilla> - Proxy option to set user and password at startup (-u and -a) not working with HTTPClient 4</li>
<li><bugzilla>54267</bugzilla> - Start Next Thread Loop setting doesn't work in custom thread groups</li>
<li><bugzilla>54413</bugzilla> - DataStrippingSampleSender returns 0 for number of bytes of any response</li>
</ul>
<!-- =================== Improvements =================== -->
<h2>Improvements</h2>
<h3>HTTP Samplers</h3>
<ul>
<li><bugzilla>54185</bugzilla> - Allow query strings in paths that start with HTTP or HTTPS</li>
</ul>
<h3>Other samplers</h3>
<ul>
<li><bugzilla>54004</bugzilla> - Webservice Sampler : Allow adding headers to request with Header Manager</li>
<li><bugzilla>54106</bugzilla> - JSR223TestElement should check for file existence when a filename is set instead of using Text Area content </li>
<li><bugzilla>54107</bugzilla> - JSR223TestElement : Enable compilation and caching of Script Text</li>
<li><bugzilla>54109</bugzilla> - JSR223TestElement : SampleResult properties should be set before entering script to allow user setting different code</li>
<li><bugzilla>54230</bugzilla> - TCP Sampler, additions of "Close Connection", "SO_LINGER" and "End of line(EOL) byte value" options</li>
<li><bugzilla>54182</bugzilla> - Support sending of ByteMessage for JMS Publisher.</li>
</ul>
<h3>Controllers</h3>
<ul>
<li><bugzilla>54131</bugzilla> - ForEach Controller : Add start and end index for looping over variables</li>
<li><bugzilla>54132</bugzilla> - Module Controller GUI : Improve rendering of referenced controller</li>
<li><bugzilla>54155</bugzilla> - ModuleController : Add a shortcut button to unfold the tree up to referenced controller and highlight it</li>
</ul>
<h3>Listeners</h3>
<ul>
<li><bugzilla>54200</bugzilla> - Add support of several document types (like Apache OpenOffice's files, MS Office's files, PDF's files, etc.)
to the elements View Results Tree, Assertion Response and Regular Expression Extractor (using Apache Tika)</li>
<li><bugzilla>54226</bugzilla> - View Results Tree : Show response even when server does not return ContentType header</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li><bugzilla>54259</bugzilla> - Introduce a new Extractor that uses CSS or jquery-like selector syntax</li>
<li><bugzilla>45772</bugzilla> - RegEx User Parameters Post Processor</li>
<li><bugzilla>54160</bugzilla> - Add support for xpath assertion to apply to a JMeter variable.</li>
</ul>
<h3>Functions</h3>
<ul>
<li><bugzilla>54189</bugzilla> - Add a function to quote ORO regexp meta characters</li>
<li><bugzilla>54418</bugzilla> - UUID Function</li>
</ul>
<h3>I18N</h3>
<ul>
</ul>
<h3>General</h3>
<ul>
<li><bugzilla>54005</bugzilla> - HTTP Mirror Server : Add special headers "X-" to control Response status and response content</li>
<li><bugzilla>53875</bugzilla> - Include suggested defaults for URL filters on HTTP Proxy</li>
<li><bugzilla>54031</bugzilla> - Add tooltip to running/total threads indicator </li>
<li>Webservice (SOAP) Request has been deprecated</li>
<li><bugzilla>54161</bugzilla> - Proxy : be able to create binary sampler for x-www-form-urlencoded POST request</li>
<li><bugzilla>54154</bugzilla> - HTTP Proxy Server should not force user to select the type of Sampler in HTTP Sampler Settings</li>
<li><bugzilla>54165</bugzilla> - Proxy Server: Improve rendering of target controller</li>
<li><bugzilla>46677</bugzilla> - Copying Test Elements between test plans</li>
<li><bugzilla>54204</bugzilla> - Result Status Action Handler : Add start next thread loop option</li>
<li><bugzilla>54232</bugzilla> - Search Feature : Add a button to search and expand results</li>
<li><bugzilla>54251</bugzilla> - Add tristate checkbox implementation</li>
<li><bugzilla>54257</bugzilla> - Enhance SamplerCreator interface to meet new requirements</li>
<li><bugzilla>54258</bugzilla> - Proxy : Use Raw Post Body when Sampler has one unnamed argument, useful for Samplers using POST method by of type JSON, XML, GWT body</li>
<li><bugzilla>54268</bugzilla> - Improve CPU and memory usage</li>
<li><bugzilla>54376</bugzilla> - ScopePanel : Allow configuring more precisely scopes</li>
<li><bugzilla>54412</bugzilla> - Changing JMeter defaults to ensure better performances by default</li>
<li><bugzilla>54414</bugzilla> - Remote Test should not start if one of the engines fails to start correctly</li>
</ul>
<h2>Non-functional changes</h2>
<ul>
<li><bugzilla>53956</bugzilla> - Add ability to paste (a list of values) from clipboard for Header Manager</li>
<li>Updated to HttpComponents Client 4.2.3 (from 4.2.1)</li>
<li>Updated to HttpComponents Core 4.2.3 (from 4.2.2)</li>
<li><bugzilla>54110</bugzilla> - BSFTestElement and JSR223TestElement should use shared super-class for common fields</li>
<li><bugzilla>54199</bugzilla> - Move to Java 6</li>
<li>Upgraded to rhino 1.7R4</li>
</ul>
<!-- =================== 2.8 =================== -->
<h1>Version 2.8</h1>