2002-03-08 07:03:13 +08:00
<?xml version="1.0"?>
2004-02-14 09:20:53 +08:00
<!--
2007-01-08 02:50:01 +08:00
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
2004-02-14 09:20:53 +08:00
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.
-->
2002-03-08 07:03:13 +08:00
<document >
<properties >
2006-03-15 08:30:02 +08:00
<author email= "jmeter-dev AT jakarta.apache.org" > JMeter developers</author>
2008-05-16 22:19:21 +08:00
<title > Changes</title>
2002-03-08 07:03:13 +08:00
</properties>
<body >
2008-05-16 22:19:21 +08:00
<section name= "Changes" >
2001-03-25 04:44:24 +08:00
2008-05-16 22:19:21 +08:00
<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>
2008-05-29 07:08:45 +08:00
<!-- =================== -->
2009-05-10 20:41:31 +08:00
<h1 > Version 2.3.3</h1>
2007-11-26 23:12:36 +08:00
2009-05-10 20:41:31 +08:00
<h2 > Summary of main changes</h2>
<h3 > Bug fixes</h3>
2007-12-13 20:42:16 +08:00
2008-03-02 11:41:10 +08:00
<p >
2008-06-23 20:41:56 +08:00
<ul >
</ul>
2008-04-09 23:11:19 +08:00
</p>
2007-12-13 20:42:16 +08:00
2009-05-10 20:41:31 +08:00
<h3 > Improvements</h3>
2008-07-19 10:46:41 +08:00
2008-05-30 09:54:49 +08:00
<p >
2008-06-23 20:17:49 +08:00
<ul >
2008-07-19 03:03:14 +08:00
</ul>
2008-07-19 10:46:41 +08:00
2008-05-10 05:37:13 +08:00
</p>
2008-06-27 04:53:52 +08:00
<!-- ========================= End of summary ===================================== -->
2009-05-10 20:41:31 +08:00
<h2 > Known bugs</h2>
2007-12-13 20:42:16 +08:00
2008-05-14 06:11:33 +08:00
<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>
2007-12-13 20:42:16 +08:00
<p > Once Only controller behaves OK under a Thread Group or Loop Controller,
but otherwise its behaviour is not consistent (or clearly specified).</p>
2007-11-26 23:12:36 +08:00
2008-05-30 09:54:49 +08:00
<p >
The menu item Options / Choose Language does not change all the displayed text to the new language.
To override the default local language, set the JMeter property "language" before starting JMeter.
</p>
2008-07-06 00:48:57 +08:00
2009-05-10 20:41:31 +08:00
<h2 > Incompatible changes</h2>
2008-07-20 01:10:02 +08:00
<p >
2008-11-08 22:19:48 +08:00
When loading sample results from a file, previous results are no longer cleared.
This allows one to merge multiple files.
If the previous behaviour is required,
use the menu item Run/Clear (Ctrl+Shift+E) or Run/Clear All (Ctrl+E) before loading the file.
</p>
<p >
2008-09-20 10:43:41 +08:00
The test elements "Save Results to a file" and "Generate Summary Results" are now shown as Listeners.
2008-09-20 08:38:20 +08:00
They were previously shown as Post-Processors, even though they are implemented as Listeners.
</p>
<p >
2008-11-04 00:09:20 +08:00
The Cookie Manager no longer saves incoming cookies as variables by default.
To save cookies as variables, define the property "CookieManager.save.cookies=true".
Also, cookies names are prefixed with "COOKIE_" before they are stored (this avoids accidental corruption of local variables)
To revert to the original behaviour, define the property "CookieManager.name.prefix= " (one or more spaces).
</p>
<p >
2008-09-20 08:38:20 +08:00
The Counter element is now shown as a Configuration element.
It was previously shown as a Pre-Processor, even though it is implemented as a Config item.
</p>
<p >
The above changes only affect the icons that are displayed and the locations in the GUI pop-up menus.
They do not affect test plans or test behaviour.
2008-07-20 01:10:02 +08:00
</p>
<p >
2008-09-20 08:44:52 +08:00
The PreProcessors are now invoked directly by the JMeterThread class,
rather than by the TestCompiler#configureSampler() method. (JMeterThread handles the PostProcessors).
This does not affect test plans or behaviour, but could perhaps affect 3rd party add-ons (very unlikely).
</p>
<p >
2008-07-20 01:10:02 +08:00
Moved the Scoping Rules sub-section from Section 3. "Building a Test Plan" to Section 4. "Elements of a test plan"
</p>
2007-11-26 23:12:36 +08:00
2008-10-20 21:39:17 +08:00
<p >
The While controller now trims leading and trailing spaces from the condition value before it is compared
with LAST, blank or false.
</p>
2009-01-08 08:34:52 +08:00
<p >
The "threadName" variable in the _jexl() and __javaScript() functions was previously misspelt as "theadName".
</p>
2008-11-12 06:03:43 +08:00
<p >
The following deprecated methods were removed from JOrphanUtils: booleanToString(boolean) and valueOf(boolean).
Java 1.4+ has these methods in the Boolean class.
</p>
2008-10-23 09:21:47 +08:00
<p >
2008-10-25 22:43:15 +08:00
The TestElement interface has some new methods:
2008-10-23 09:21:47 +08:00
<ul >
<li > void setProperty(String key, String value, String dflt)</li>
2008-10-25 22:43:15 +08:00
<li > void setProperty(String key, boolean value, boolean dflt)</li>
<li > void setProperty(String key, int value)</li>
<li > void setProperty(String key, int value, int dflt)</li>
<li > int getPropertyAsInt(String key, int defaultValue)</li>
2008-10-23 09:21:47 +08:00
</ul>
These are implemented in the AbstractTestElement class which all elements should extend so this is unlikely to cause a problem.
</p>
2009-05-10 20:41:31 +08:00
<h2 > Bug fixes</h2>
2007-11-26 23:12:36 +08:00
<ul >
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 45199</bugzilla> - don't try to replace blank variables in Proxy recording</li>
2008-06-27 04:53:52 +08:00
<li > The "prev" and "sampler" objects are now defined for BSF test elements</li>
<li > Prompt to overwrite an existing file when first saving a new test plan</li>
2008-07-06 00:48:57 +08:00
<li > Amend TestBeans to show the correct popup menu for Listeners</li>
<li > Fix NPE when using nested Transaction Controllers with parent samples</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 45185</bugzilla> - CSV dataset blank delimiter causes OOM</li>
<li > <bugzilla > 43791</bugzilla> - ensure QueueReceiver is closed in JMS Point to Point sampler</li>
2008-08-11 18:32:35 +08:00
<li > Fix NPE (in DataSourceElement) when using JDBC in client-server mode</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 45749</bugzilla> - Response Assertion does not work with a substring that happens to be an invalid RE</li>
<li > Mailer Visualizer documentation now agrees with code i.e. failure/success counts need to be exceeded to trigger the mail.</li>
2008-09-13 07:39:30 +08:00
<li > Mailer Visualizer now shows the failure count</li>
2008-09-20 10:43:41 +08:00
<li > Fix incorrect GUI classifications:
"Save Results to a file" and "Generate Summary Results" are now shown as Listeners.
"Counter" is now shown as a Configuration element.
</li>
2008-09-22 07:07:43 +08:00
<li > HTTPSamplers can now use variables in POSTed file names</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 45831</bugzilla> - WS Sampler reports incorrect throughput if SOAP packet creation fails</li>
<li > <bugzilla > 45887</bugzilla> - TCPSampler: timeout property incorrectly set</li>
<li > <bugzilla > 45928</bugzilla> - AJP/1.3 Sampler doesn't retrieve its label from messages.properties</li>
<li > <bugzilla > 45904</bugzilla> - Allow 'Not' Response Assertion to succeed with null sample</li>
2008-10-11 23:36:01 +08:00
<li > HTTP, SOAP/XML-RPC and WebService(SOAP) sampler character encodings updated to be more consistent</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 45976</bugzilla> - incomplete result file when using remote testing with more than 1 server</li>
2008-10-12 19:59:57 +08:00
<li > Fix Summariser so it works in client server mode</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 45425</bugzilla> - JDBC Request does not support Unicode (changed sampler to use UTF-8)</li>
<li > <bugzilla > 46016</bugzilla> - avoid possible NPE in JMSSampler</li>
2008-10-25 10:08:26 +08:00
<li > Cookie Manager was not passing cookie policy to runtime threads so they always used compatibility mode</li>
2008-10-25 22:45:36 +08:00
<li > Add version attribute to JMeter Cookie class (needed for proper cookie support)</li>
2008-10-25 22:47:39 +08:00
<li > Cookie Manager now saves/restores cookie versions</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 41608</bugzilla> - misleading warning log message removed</li>
2008-11-04 20:28:40 +08:00
<li > CSVSaveService - check for EOF while reading quoted string</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 46142</bugzilla> - JMS Receiver now uses MessageID</li>
<li > <bugzilla > 46148</bugzilla> - HTTP sampler fails on SSL requests when logging for jmeter.util is set to DEBUG</li>
2008-11-06 00:55:29 +08:00
<li > TCP sampler now calls setupTest() and teardownTest() methods</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 45458</bugzilla> - Point to Point JMS in combination with authentication</li>
<li > <bugzilla > 45460</bugzilla> - JMS TestPlan elements depend on resource property</li>
<li > <bugzilla > 34096</bugzilla> - Duplicate samples not eliminated when writing to CSV files</li>
<li > <bugzilla > 44521</bugzilla> - empty variables for a POST in the HTTP Request don't get ignored</li>
<li > <bugzilla > 44941</bugzilla> - Throughput controllers should not share global counters</li>
2008-11-12 06:03:43 +08:00
<li > Various ReceiveSubscriber thread-safety fixes</li>
<li > JMSPublisher and Subscriber fixes: thread-safety, support dynamic locale changes, locale independence for JMX attribute values</li>
2008-11-12 23:26:58 +08:00
<li > Add HeaderAsPropertyRenderer to support header resource names; use this to fix locale changes in various GUI elements</li>
2008-11-17 21:25:20 +08:00
<li > Fixed language change handling for menus (does not yet work for TestBeans)</li>
2008-11-19 06:32:33 +08:00
<li > Fix regex function - was failing to process $m$mid$n$ correctly</li>
2008-12-06 07:36:29 +08:00
<li > Fix Java 1.6 https error: java.net.SocketException: Unconnected sockets not implemented</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 46359</bugzilla> - BSF JavaScript Preprocessor cannot access sampler variable on first interation (Implement temporary work-round for BSF-22)</li>
<li > <bugzilla > 46332</bugzilla> - HTTP Cookie Manager ignores manually defined cookies (bug introduced in r707810)</li>
<li > <bugzilla > 46407</bugzilla> - BSF elements do not load script files, attempt to interpret filename as script</li>
<li > <bugzilla > 46423</bugzilla> - I18N of Proxy Recorder</li>
2009-01-08 02:45:17 +08:00
<li > Better handling of Exceptions during test shutdown</li>
<li > Protect against possible NPE in RegexFunction if called during test shutdown.</li>
2009-01-08 08:34:52 +08:00
<li > Correct the variable name "theadName" to "threadName" in the __jexl() and __javaScript() functions</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 46522</bugzilla> - Incorrect "Response data" in JDBC sample when column names are missing</li>
<li > <bugzilla > 46424</bugzilla> - corrections to French translation</li>
<li > <bugzilla > 46436</bugzilla> - Improve error reporting in Proxy Gui</li>
2009-01-28 22:58:28 +08:00
<li > Fix potential thread safety issue in JMeterThread class</li>
<li > Mailer Visualiser - fix parsing of multiple e-mail address when using Test button</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 46435</bugzilla> - More verbose error msg for error 501 (Proxy Server)</li>
<li > <bugzilla > 46491</bugzilla> - Incorrect value for the last variable in "CSV Data Set Config" (error in processing quoted strings)</li>
2009-02-15 09:15:11 +08:00
<li > The JMeter variable "sample_variables" is sent to all server instances to ensure the data is available to the client.</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 46821</bugzilla> - JDBC select request doesn't store the first column in the variables</li>
2009-03-09 08:57:02 +08:00
<li > Fix bug in HTTP file: handling - read bytes, not characters in the default encoding.</li>
2009-03-13 08:47:34 +08:00
<li > Change HTTPS spoofing so https: links are replaced even when URL match fails</li>
2009-03-13 09:57:53 +08:00
<li > Check validity of cookies before storing them.</li>
2009-04-03 17:41:20 +08:00
<li > FTP Sampler now logs out before disconnecting.</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 46838</bugzilla> - if there was no data, still need to set latency in HTTPSampler</li>
2009-04-03 19:33:57 +08:00
<li >
2009-05-10 20:41:31 +08:00
<bugzilla > 46690</bugzilla> - handling of 302 redirects with invalid relative paths.
2009-04-03 19:33:57 +08:00
JMeter now removes extraneous leading "../" segments (as do many browsers)
</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 46844</bugzilla> - "Library" label in test plan are not I18N</li>
<li > <bugzilla > 46977</bugzilla> - JMeter does not handle HTTP headers not delimited by whitespace</li>
2009-04-08 01:57:26 +08:00
<li > Remove Host from headers saved by the Proxy server, as that will normally be generated by the HTTP stack</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 46993</bugzilla> - Saving from Header Manager generates ClassCastException</li>
<li > <bugzilla > 47009</bugzilla> - Insert parent caused child controller name to be reset</li>
<li > <bugzilla > 47064</bugzilla> - fixes for Mac LAF</li>
2009-04-25 08:43:18 +08:00
<li > Avoid NPE if XPath function does not match any nodes</li>
2009-04-27 09:00:55 +08:00
<li > Fix processing of Transaction Sampler parent mode so current sampler is set to actual sampler</li>
2009-04-29 08:49:17 +08:00
<li > Fix processing of first file name in HTTP POST so functions/variables work (bug introduced with multiple file support)</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 47127</bugzilla> - Unable to change language to pl_PL</li>
<li > <bugzilla > 47120</bugzilla> - Throughput Controller: change percent executions to total executions, the value is stored in a String and interpreted as 1 execution</li>
<li > <bugzilla > 47137</bugzilla> - Labels in View Results Tree aren't I18N</li>
<li > <bugzilla > 47150</bugzilla> - ThreadGroup with a loop count of zero causes infinite loop</li>
2009-05-07 22:17:13 +08:00
<li > A reference to a missing function - e.g. ${__missing(a)} - is now treated the same as a missing variable. Previously the function name - and leading { - were dropped.</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 47165</bugzilla> - Using the same module name in command line mode causes NPE</li>
2009-05-10 03:26:54 +08:00
<li > Save "Include group Name in Label" settings in Aggregate and Summary reports</li>
2007-11-26 23:12:36 +08:00
</ul>
2009-05-10 20:41:31 +08:00
<h2 > Improvements</h2>
2007-11-26 23:12:36 +08:00
<ul >
2008-06-27 04:53:52 +08:00
<li > LDAP result data now formatted with line breaks</li>
2009-01-08 08:34:52 +08:00
<li > Add OUT and log variables to __jexl() function</li>
<li > Add log variable to the __javaScript() function</li>
2008-06-27 07:36:35 +08:00
<li > Save Responses to a file can save the generated filename(s) to variables.</li>
2008-06-27 09:09:41 +08:00
<li > Add BSF Listener element</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 45200</bugzilla> - MailReaderSampler: store the whole MIME message in the SamplerResult</li>
2008-07-19 21:24:35 +08:00
<li > Added __char() function: allows arbitrary Unicode characters to be entered in fields.</li>
<li > Added __unescape() function: allows Java-escaped strings to be used.</li>
<li > Add Body (unescaped) source option to Regular Expression Extractor.</li>
<li > Added __unescapeHtml() function: decodes Html-encoded text.</li>
<li > Added __escapeHtml() function: encodes text using Html-encoding.</li>
2009-05-10 20:41:31 +08:00
<li > Allow spaces in JMeter path names (apply work-round for Java <bugzilla > 4496398</bugzilla> )</li>
<li > <bugzilla > 45694</bugzilla> - Support GZIP compressed logs</li>
2008-09-20 10:43:41 +08:00
<li > Random Variable - new configuration element to create random numeric variables</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 45929</bugzilla> - improved French translations</li>
<li > <bugzilla > 45571</bugzilla> - JMS Sampler correlation enhancement</li>
<li > <bugzilla > 45479</bugzilla> - Support for multiple HTTP Header Manager nodes</li>
<li > <bugzilla > 43119</bugzilla> - Save Responses to file: optionally omit the file number</li>
2008-10-10 01:53:10 +08:00
<li > Allow If Controller to use variable expressions (not just Javascript)</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 45903</bugzilla> - allow Assertions to apply to sub-samples</li>
2008-10-20 21:39:17 +08:00
<li > Trim spaces from While Controller condition before comparing against LAST, blank or false</li>
2008-10-23 09:33:30 +08:00
<li > Add classname field to TCP Sampler GUIs</li>
2008-10-25 00:49:44 +08:00
<li > Apache SOAP 2.3.1 does not give access to HTTP response code/message, so WebService sampler now treats an empty response as an error</li>
2008-11-03 20:42:16 +08:00
<li > Use Script to evaluate __jexl() function so can have multiple statements.</li>
2008-11-04 09:27:51 +08:00
<li > JDBC Request can optionally save the results of Select statements to variables.</li>
2008-11-04 20:28:40 +08:00
<li > JDBC Request now handles quoted strings.</li>
2009-02-24 03:47:38 +08:00
<li > JDBC Request now handles arbitrary variable types.</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 46030</bugzilla> - Extend TCP Sampler to Support Length-Prefixed Binary Data</li>
2008-11-08 22:19:48 +08:00
<li > Process JVM_ARGS last so users can override default settings</li>
<li > Read XML JTL files more efficiently - pass samples to visualisers as they are read, rather than saving them all and then processing them</li>
2008-11-17 21:25:20 +08:00
<li > Added locales.add property to allow for new Locales</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 40045</bugzilla> - Allow Results monitor to select a specific connector</li>
<li > <bugzilla > 46636</bugzilla> - rmi ports</li>
2009-04-08 01:54:16 +08:00
<li > Mirror server now supports "X-Sleep" header - if this is set, the responding thread will wait for the specified number of milliseconds</li>
2009-04-08 05:00:01 +08:00
<li > Make some samplers interruptible: HTTP (both), SoapSampler, FTPSampler</li>
2009-04-25 04:56:33 +08:00
<li > Test Action now supports "Stop Now" action, as do the Thread Group and Result Status Post Processor elements</li>
2009-04-23 10:55:56 +08:00
<li > The Menu items Stop and Shutdown now behave better. Shutdown will now wait until all threads exit.
In GUI mode it can be cancelled and Stop run instead.
Stop now reports if some threads will not exit, and exits if running in non-GUI mode</li>
2009-04-24 06:46:49 +08:00
<li > Add UDP server to wait for shutdown message if running in non-GUI mode; add UDP client to send the message.</li>
2009-04-29 08:18:16 +08:00
<li > HTTP Samplers now support connection and request timeouts (requires Java 1.5 for Java Http sampler)</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 47132</bugzilla> - Brazilian Portuguese translations</li>
<li > <bugzilla > 46900</bugzilla> - Polish translations</li>
<li > <bugzilla > 41209</bugzilla> - JLabeled* and ToolTips</li>
2009-05-09 10:23:04 +08:00
<li > Add option to skip suffix generation in Save Responses to a File</li>
2009-05-10 20:41:31 +08:00
<li > <bugzilla > 47176</bugzilla> - Monitor Results : improve load status graphic</li>
2007-11-26 23:12:36 +08:00
</ul>
2009-05-10 20:41:31 +08:00
<h2 > Non-functional changes</h2>
2007-11-26 23:12:36 +08:00
<ul >
2008-08-13 07:23:01 +08:00
<li > Introduce AbstractListenerGui class to make it easier to create Listeners with no visual output</li>
<li > Assertions run after PostProcessors; change order of pop-up menus accordingly</li>
2008-09-20 08:38:20 +08:00
<li > Remove unnecessary clone() methods from function classes</li>
2008-09-20 08:44:52 +08:00
<li > Moved PreProcessor invocation to JMeterThread class</li>
2008-09-20 11:16:44 +08:00
<li > Made HashTree Map field final</li>
2008-11-08 22:19:48 +08:00
<li > Improve performance of calling ResultCollector#isSampleWanted() for multiple samples</li>
2009-05-09 19:10:19 +08:00
<li > Updated to new versions of: xmlgraphics-commons (1.3.1), jdom (1.1), xstream (1.3.1), velocity (1.6.2)</li>
2007-11-26 23:12:36 +08:00
</ul>
2002-03-08 07:03:13 +08:00
</section>
</body>
2002-12-27 18:41:33 +08:00
</document>