Move 2.5 changes to history

git-svn-id: https://svn.apache.org/repos/asf/jakarta/jmeter/trunk@1164042 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Sebastian Bazley 2011-09-01 12:27:30 +00:00
parent d31a87efb8
commit acf9dd6d24
2 changed files with 221 additions and 114 deletions

View File

@ -31,31 +31,13 @@ Earlier changes are detailed in the <a href="changes_history.html">History of Pr
<!-- =================== -->
<h1>Version 2.5</h1>
<h1>Version 2.5.1</h1>
<h2>Summary of main changes</h2>
<ul>
<li>The HTTP implementation can now be selected at run-time, and JMeter now also supports Apache HttpComponents HttpClient 4.x.
Note that Commons HttpClient 3.1 is no longer actively developed, and support may be removed from JMeter in a future release.
</li>
<li>The HTTP sampler now allows concurrent downloads of embedded resources in an HTML page</li>
<li>The HTTP Sampler can now report the size of a request before decompression.</li>
<li>The JMS and Mail samplers have been improved.</li>
<li>The new Test Fragment Test Element makes using Include Controllers easier</li>
<li>There are various improvements to the View Results Tree Listener</li>
<li>Bug 30563 - Thread Group should have a start next loop option on Sample Error</li>
<li>There are two new Thread Group types - setUp and tearDown - which are run before and after the main Thread groups.</li>
<li>Client-Server mode now supports external stop/shutdown via UDP<br></br>
multiple JMeter server instances can be started on the same host without needing to change the port property.</li>
<li>Bug 50516 - "Host" header in HTTP Header Manager is not included in generated HTTP request</li>
</ul>
<p>
<ul>
</ul>
</p>
<!-- ========================= End of summary ===================================== -->
@ -78,92 +60,40 @@ To override the default local language fully, set the JMeter property "language"
<h2>Incompatible changes</h2>
<p>
Unsupported methods are no longer converted to GET by the Commons HttpClient sampler.
</p>
<p>
Removed method public static long currentTimeInMs().
This has been replaced by the instance method public long currentTimeInMillis().
</p>
<p>
ProxyControl.getSamplerTypeName() now returns a String rather than an int.
This is internal to the workings of the JMeter Proxy &amp; its GUI, so should not affect any user code.
</p>
<h2>Bug fixes</h2>
<h3>HTTP Samplers and Proxy</h3>
<ul>
<li>Bug 50178 - HeaderManager added as child of Thread Group can create concatenated HeaderManager names and OutOfMemoryException</li>
<li>Bug 50392 - value is trimmed when sending the request in Multipart</li>
<li>Bug 50686 - HeaderManager logging too verbose when merging instances</li>
<li>Bug 50963 - AjpSampler throws java.lang.StringIndexOutOfBoundsException</li>
<li>Bug 50516 - "Host" header in HTTP Header Manager is not included in generated HTTP request</li>
<li>Bug 50544 - In Apache Common Log the HEAD requests cause problems.</li>
<li>Bug 51268 - HTTPS request through an invalid proxy causes NullPointerException and does not show in result tree.
Rather than delegating to the JMeter thread handler for "unexpected" failures, ensure all Exceptions generate a sample error.
</li>
<li>Bug 51275 - Cookie Panel clearGui() sets incorrect default policy in Java 1.6</li>
</ul>
<h3>Other Samplers</h3>
<ul>
<li>Bug 50173 - JDBCSampler discards ResultSet from a PreparedStatement</li>
<li>Ensure JSR223 Sampler has access to the current SampleResult</li>
<li>Bug 50977 - Unable to set TCP Sampler for individual samples</li>
</ul>
<h3>Controllers</h3>
<ul>
<li>Bug 50032 - Last_Sample_Ok along with other controllers doesnt work correctly when the threadgroup has multiple loops</li>
<li>Bug 50080 - Transaction controller incorrectly creates samples including timer duration</li>
<li>Bug 50134 - TransactionController : Reports bad response time when it contains other TransactionControllers</li>
</ul>
<h3>Listeners</h3>
<ul>
<li>Bug 50367 - Clear / Clear all in View results tree does not clear selected element</li>
</ul>
<h3>Assertions</h3>
<ul>
<li>Bug 51488 - Assertion: Variable name scope is shared among all assertions (and Bug 51255)</li>
</ul>
<h3>Functions</h3>
<ul>
<li>Bug 50568 - Function __FileToString(): Could not read file when encoding option is blank/empty</li>
</ul>
<h3>I18N</h3>
<ul>
<li>Bug 50811 - Incomplete Spanish translation</li>
</ul>
<h3>General</h3>
<ul>
<li>Bug 49734 - Null pointer exception on stop Threads command (Run>Stop)</li>
<li>Bug 49666 - CSV Header read as data after EOF</li>
<li>Bug 45703 - Synchronizing Timer</li>
<li>Bug 50088 - fix getAvgPageBytes in SamplingStatCalculator so it returns what it should</li>
<li>Bug 50203 Cannot set property "jmeter.save.saveservice.default_delimiter=\t"</li>
<li>mirror-server.sh - fix classpath to use : separator (not ;)</li>
<li>Bug 50286 - URL Re-writing Modifier: extracted jsessionid value is incorrect when is between XML tags</li>
<li>
System.nanoTime() tends to drift relative to System.currentTimeMillis().
Change SampleResult to recalculate offset each time.
Also enable reversion to using System.currentTimeMillis() only.
</li>
<li>Bug 50425 - Remove thread groups from Controller add menu</li>
<li>
Bug 50675 - CVS Data Set Config incompatible with Remote Start
Fixed RMI startup to provide location of JMX file relative to user.dir.
</li>
<li>Bug 50221 - Renaming elements in the tree does not resize label</li>
<li>Bug 51002 - Stop Thread if CSV file is not available. JMeter now treats IOError as EOF.</li>
<li>Define sun.net.http.allowRestrictedHeaders=true by default. This fixes Bug 51238.</li>
<li>Bug 51645 - CSVDataSet does not read UTF-8 files when file.encoding is UTF-8</li>
</ul>
<!-- ==================================================== -->
@ -172,81 +102,38 @@ Fixed RMI startup to provide location of JMX file relative to user.dir.
<h3>HTTP Samplers</h3>
<ul>
<li>AJP Sampler now implements Interruptible</li>
<li>Allow HTTP implementation to be selected at run-time</li>
<li>Bug 50684 - Optionally disable Content-Type and Transfer-Encoding in Multipart POST</li>
<li>Bug 50943 - Allowing concurrent downloads of embedded resources in html page</li>
<li>Bug 50170 - Bytes reported by http sampler is after GUnZip<br></br>Add optional properties to allow change the method to get response size</li>
<li>Hiding the proxy password on HTTP Sampler (just on GUI, not in JMX file)</li>
</ul>
<h3>Other samplers</h3>
<ul>
<li>Bug 49622 - Allow sending messages without a subject (SMTP Sampler)</li>
<li>Bug 49603 - Allow accepting expired certificates on Mail Reader Sampler</li>
<li>Bug 49775 - Allow sending messages without a body</li>
<li>Bug 49862 - Improve SMTPSampler Request output.</li>
<li>Bug 50268 - Adds static and dynamic destinations to JMS Publisher</li>
<li>JMS Subscriber - Add dynamic destination</li>
<li>Bug 50666 - JMSSubscriber: support for durable subscriptions</li>
<li>Bug 50937 - TCP Sampler does not provide for / honor connect timeout</li>
<li>Bug 50569 - Jdbc Request Sampler to optionally store result set object data</li>
<li>Bug 51011 - Mail Reader: upon authentication failure, tell what you tried</li>
</ul>
<h3>Controllers</h3>
<ul>
<li>Bug 50475 - Introduction of a Test Fragment Test Element for a better Include flow</li>
</ul>
<h3>Listeners</h3>
<ul>
<li>View Results Tree - Add a dialog's text box on "Sampler result tab > Parsed" to display the long value with a double click on cell</li>
<li>Bug 37156 - Formatted view of Request in Results Tree</li>
<li>Bug 49365 - Allow result set to be written to file in a path relative to the loaded script</li>
<li>Bug 50579 - Error count is long, sample count is int. Changed sample count to long.</li>
<li>View Results Tree - Add new size fields: response headers and response body (in bytes) - derived from Bug 43363</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li>Bug 48015 - Proposal new icons for pre-processor, post-processor and assertion elements</li>
<li>Bug 50962 - SizeAssertionGui validation prevents the use of variables for the size</li>
<li>Size Assertion - Add response size scope (full, headers, body, code, message) - derived from Bug 43363</li>
</ul>
<h3>Functions</h3>
<ul>
<li>Bug 49975 - New function returning the name of the current sampler</li>
</ul>
<h3>I18N</h3>
<ul>
<li>Add French translation for the new labels and reduce size for some labels (by abbreviation) on HTTP Sample</li>
</ul>
<h3>General</h3>
<ul>
<li>Bug 30563 - Thread Group should have a start next loop option on Sample Error</li>
<li>Bug 50347 - Eclipse setup instructions should remind user to download dependent jars</li>
<li>Bug 50490 - Setup and Post Thread Group enhancements for better test flow.</li>
<li>All BeansShell test elements now have the script variables "prev" and "Label" defined.</li>
<li>Bug 50708 - Classpath jar order in NewDriver not alphabetically</li>
<li>Bug 50659 - JMeter server does not support concurrent tests - prevent client from starting another</li>
<li>Added remote shutdown functionality</li>
<li>Client JMeter engine now supports external stop/shutdown via UDP</li>
<li>UDP shutdown can now use a range of ports, from jmeterengine.nongui.port=4445 to jmeterengine.nongui.maxport=4455,
allowing multiple JMeter instances on the same host without needing to change the port property.</li>
<li>Updated to httpcore 4.1.3 and httpclient 4.1.2</li>
</ul>
<h2>Non-functional changes</h2>
<ul>
<li>Bug 50008 - Allow BatchSampleSender to be subclassed</li>
<li>Bug 50450 - use System.array copy in jacobi solver as, being native, is more performant.</li>
<li>Bug 50487 - runSerialTest verifies objects that never need persisting</li>
<li>Use Thread.setDefaultUncaughtExceptionHandler() instead of private ThreadGroup</li>
<li>Update to Commons Net 3.0</li>
</ul>
</section>

View File

@ -30,6 +30,226 @@ 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>
<h1>Version 2.5</h1>
<h2>Summary of main changes</h2>
<ul>
<li>The HTTP implementation can now be selected at run-time, and JMeter now also supports Apache HttpComponents HttpClient 4.x.
Note that Commons HttpClient 3.1 is no longer actively developed, and support may be removed from JMeter in a future release.
</li>
<li>The HTTP sampler now allows concurrent downloads of embedded resources in an HTML page</li>
<li>The HTTP Sampler can now report the size of a request before decompression.</li>
<li>The JMS and Mail samplers have been improved.</li>
<li>The new Test Fragment Test Element makes using Include Controllers easier</li>
<li>There are various improvements to the View Results Tree Listener</li>
<li>Bug 30563 - Thread Group should have a start next loop option on Sample Error</li>
<li>There are two new Thread Group types - setUp and tearDown - which are run before and after the main Thread groups.</li>
<li>Client-Server mode now supports external stop/shutdown via UDP<br></br>
multiple JMeter server instances can be started on the same host without needing to change the port property.</li>
<li>Bug 50516 - "Host" header in HTTP Header Manager is not included in generated HTTP request</li>
</ul>
<p>
<ul>
</ul>
</p>
<!-- ========================= End of summary ===================================== -->
<h2>Known bugs</h2>
<p>
The Include Controller has some problems in non-GUI mode.
In particular, it can cause a NullPointerException if there are two include controllers with the same name.
</p>
<p>Once Only controller behaves correctly under a Thread Group or Loop Controller,
but otherwise its behaviour is not consistent (or clearly specified).</p>
<p>
The menu item Options / Choose Language does not change all the displayed text to the new language.
[The behaviour has improved, but language change is still not fully working]
To override the default local language fully, set the JMeter property "language" before starting JMeter.
</p>
<h2>Incompatible changes</h2>
<p>
Unsupported methods are no longer converted to GET by the Commons HttpClient sampler.
</p>
<p>
Removed method public static long currentTimeInMs().
This has been replaced by the instance method public long currentTimeInMillis().
</p>
<p>
ProxyControl.getSamplerTypeName() now returns a String rather than an int.
This is internal to the workings of the JMeter Proxy &amp; its GUI, so should not affect any user code.
</p>
<h2>Bug fixes</h2>
<h3>HTTP Samplers and Proxy</h3>
<ul>
<li>Bug 50178 - HeaderManager added as child of Thread Group can create concatenated HeaderManager names and OutOfMemoryException</li>
<li>Bug 50392 - value is trimmed when sending the request in Multipart</li>
<li>Bug 50686 - HeaderManager logging too verbose when merging instances</li>
<li>Bug 50963 - AjpSampler throws java.lang.StringIndexOutOfBoundsException</li>
<li>Bug 50516 - "Host" header in HTTP Header Manager is not included in generated HTTP request</li>
<li>Bug 50544 - In Apache Common Log the HEAD requests cause problems.</li>
<li>Bug 51268 - HTTPS request through an invalid proxy causes NullPointerException and does not show in result tree.
Rather than delegating to the JMeter thread handler for "unexpected" failures, ensure all Exceptions generate a sample error.
</li>
<li>Bug 51275 - Cookie Panel clearGui() sets incorrect default policy in Java 1.6</li>
</ul>
<h3>Other Samplers</h3>
<ul>
<li>Bug 50173 - JDBCSampler discards ResultSet from a PreparedStatement</li>
<li>Ensure JSR223 Sampler has access to the current SampleResult</li>
<li>Bug 50977 - Unable to set TCP Sampler for individual samples</li>
</ul>
<h3>Controllers</h3>
<ul>
<li>Bug 50032 - Last_Sample_Ok along with other controllers doesnt work correctly when the threadgroup has multiple loops</li>
<li>Bug 50080 - Transaction controller incorrectly creates samples including timer duration</li>
<li>Bug 50134 - TransactionController : Reports bad response time when it contains other TransactionControllers</li>
</ul>
<h3>Listeners</h3>
<ul>
<li>Bug 50367 - Clear / Clear all in View results tree does not clear selected element</li>
</ul>
<h3>Assertions</h3>
<ul>
<li>Bug 51488 - Assertion: Variable name scope is shared among all assertions (and Bug 51255)</li>
</ul>
<h3>Functions</h3>
<ul>
<li>Bug 50568 - Function __FileToString(): Could not read file when encoding option is blank/empty</li>
</ul>
<h3>I18N</h3>
<ul>
<li>Bug 50811 - Incomplete Spanish translation</li>
</ul>
<h3>General</h3>
<ul>
<li>Bug 49734 - Null pointer exception on stop Threads command (Run>Stop)</li>
<li>Bug 49666 - CSV Header read as data after EOF</li>
<li>Bug 45703 - Synchronizing Timer</li>
<li>Bug 50088 - fix getAvgPageBytes in SamplingStatCalculator so it returns what it should</li>
<li>Bug 50203 Cannot set property "jmeter.save.saveservice.default_delimiter=\t"</li>
<li>mirror-server.sh - fix classpath to use : separator (not ;)</li>
<li>Bug 50286 - URL Re-writing Modifier: extracted jsessionid value is incorrect when is between XML tags</li>
<li>
System.nanoTime() tends to drift relative to System.currentTimeMillis().
Change SampleResult to recalculate offset each time.
Also enable reversion to using System.currentTimeMillis() only.
</li>
<li>Bug 50425 - Remove thread groups from Controller add menu</li>
<li>
Bug 50675 - CVS Data Set Config incompatible with Remote Start
Fixed RMI startup to provide location of JMX file relative to user.dir.
</li>
<li>Bug 50221 - Renaming elements in the tree does not resize label</li>
<li>Bug 51002 - Stop Thread if CSV file is not available. JMeter now treats IOError as EOF.</li>
<li>Define sun.net.http.allowRestrictedHeaders=true by default. This fixes Bug 51238.</li>
<li>Bug 51645 - CSVDataSet does not read UTF-8 files when file.encoding is UTF-8</li>
</ul>
<!-- ==================================================== -->
<h2>Improvements</h2>
<h3>HTTP Samplers</h3>
<ul>
<li>AJP Sampler now implements Interruptible</li>
<li>Allow HTTP implementation to be selected at run-time</li>
<li>Bug 50684 - Optionally disable Content-Type and Transfer-Encoding in Multipart POST</li>
<li>Bug 50943 - Allowing concurrent downloads of embedded resources in html page</li>
<li>Bug 50170 - Bytes reported by http sampler is after GUnZip<br></br>Add optional properties to allow change the method to get response size</li>
<li>Hiding the proxy password on HTTP Sampler (just on GUI, not in JMX file)</li>
</ul>
<h3>Other samplers</h3>
<ul>
<li>Bug 49622 - Allow sending messages without a subject (SMTP Sampler)</li>
<li>Bug 49603 - Allow accepting expired certificates on Mail Reader Sampler</li>
<li>Bug 49775 - Allow sending messages without a body</li>
<li>Bug 49862 - Improve SMTPSampler Request output.</li>
<li>Bug 50268 - Adds static and dynamic destinations to JMS Publisher</li>
<li>JMS Subscriber - Add dynamic destination</li>
<li>Bug 50666 - JMSSubscriber: support for durable subscriptions</li>
<li>Bug 50937 - TCP Sampler does not provide for / honor connect timeout</li>
<li>Bug 50569 - Jdbc Request Sampler to optionally store result set object data</li>
<li>Bug 51011 - Mail Reader: upon authentication failure, tell what you tried</li>
</ul>
<h3>Controllers</h3>
<ul>
<li>Bug 50475 - Introduction of a Test Fragment Test Element for a better Include flow</li>
</ul>
<h3>Listeners</h3>
<ul>
<li>View Results Tree - Add a dialog's text box on "Sampler result tab > Parsed" to display the long value with a double click on cell</li>
<li>Bug 37156 - Formatted view of Request in Results Tree</li>
<li>Bug 49365 - Allow result set to be written to file in a path relative to the loaded script</li>
<li>Bug 50579 - Error count is long, sample count is int. Changed sample count to long.</li>
<li>View Results Tree - Add new size fields: response headers and response body (in bytes) - derived from Bug 43363</li>
</ul>
<h3>Timers, Assertions, Config, Pre- &amp; Post-Processors</h3>
<ul>
<li>Bug 48015 - Proposal new icons for pre-processor, post-processor and assertion elements</li>
<li>Bug 50962 - SizeAssertionGui validation prevents the use of variables for the size</li>
<li>Size Assertion - Add response size scope (full, headers, body, code, message) - derived from Bug 43363</li>
</ul>
<h3>Functions</h3>
<ul>
<li>Bug 49975 - New function returning the name of the current sampler</li>
</ul>
<h3>I18N</h3>
<ul>
<li>Add French translation for the new labels and reduce size for some labels (by abbreviation) on HTTP Sample</li>
</ul>
<h3>General</h3>
<ul>
<li>Bug 30563 - Thread Group should have a start next loop option on Sample Error</li>
<li>Bug 50347 - Eclipse setup instructions should remind user to download dependent jars</li>
<li>Bug 50490 - Setup and Post Thread Group enhancements for better test flow.</li>
<li>All BeansShell test elements now have the script variables "prev" and "Label" defined.</li>
<li>Bug 50708 - Classpath jar order in NewDriver not alphabetically</li>
<li>Bug 50659 - JMeter server does not support concurrent tests - prevent client from starting another</li>
<li>Added remote shutdown functionality</li>
<li>Client JMeter engine now supports external stop/shutdown via UDP</li>
<li>UDP shutdown can now use a range of ports, from jmeterengine.nongui.port=4445 to jmeterengine.nongui.maxport=4455,
allowing multiple JMeter instances on the same host without needing to change the port property.</li>
<li>Updated to httpcore 4.1.3 and httpclient 4.1.2</li>
</ul>
<h2>Non-functional changes</h2>
<ul>
<li>Bug 50008 - Allow BatchSampleSender to be subclassed</li>
<li>Bug 50450 - use System.array copy in jacobi solver as, being native, is more performant.</li>
<li>Bug 50487 - runSerialTest verifies objects that never need persisting</li>
<li>Use Thread.setDefaultUncaughtExceptionHandler() instead of private ThreadGroup</li>
<li>Update to Commons Net 3.0</li>
</ul>
<!-- ===================================================================== -->
<h1>Version 2.4</h1>
<h2>Summary of main changes</h2>