2008-05-28 02:05:49 +08:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
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.
-->
<!-- Content Stylesheet for Site -->
2009-05-10 06:57:45 +08:00
2008-05-28 02:05:49 +08:00
<!-- start the processing -->
2009-05-10 06:57:45 +08:00
<!-- ====================================================================== -->
<!-- Main Page Section -->
<!-- ====================================================================== -->
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=iso-8859-1" / >
< meta name = "author" value = "JMeter developers" >
< meta name = "email" value = "jmeter-dev AT jakarta.apache.org" >
< title > JMeter - Changes< / title >
< / head >
< body bgcolor = "#ffffff" text = "#000000" link = "#525D76" >
< table border = "0" cellspacing = "0" >
<!-- TOP IMAGE -->
< tr >
< td >
2008-05-28 02:05:49 +08:00
<!-- Need to specify height otherwise iframe seems to grab extra -->
< iframe src = "http://www.apache.org/ads/halfbanner.html" height = "102"
2009-05-10 06:57:45 +08:00
style="border-width:0; float: left" frameborder="0" scrolling="no">< / iframe >
2008-05-28 02:05:49 +08:00
< / td >
< td align = "left" >
< a href = "http://jakarta.apache.org" > < img width = "505" height = "48" src = "./images/jakarta-logo.gif" alt = "Jakarta" title = "Jakarta" border = "0" / > < / a >
< / td >
< td align = "right" >
< a href = "http://jakarta.apache.org/jmeter/" > < img width = "221" height = "102" src = "./images/logo.jpg" alt = "JMeter" title = "JMeter" border = "0" / > < / a >
< / td >
2009-05-10 06:57:45 +08:00
< / tr >
< / table >
< table border = "0" width = "100%" cellspacing = "4" >
< tr > < td colspan = "2" >
< hr noshade size = "1" / >
< / td > < / tr >
< tr >
<!-- LEFT SIDE NAVIGATION -->
< td width = "20%" valign = "top" nowrap = "true" >
< p > < strong > About< / strong > < / p >
< ul >
< li > < a href = "./index.html" > Overview< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "./changes.html" > Changes< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "./known_bugs.html" > Known Bugs< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "./license.html" > License< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "http://wiki.apache.org/jakarta-jmeter/JMeterCommitters" > Contributors< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< / ul >
< p > < strong > Download< / strong > < / p >
< ul >
< li > < a href = "http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi" > Download Releases< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "./nightly.html" > Developer (Nightly) Builds< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< / ul >
< p > < strong > Documentation< / strong > < / p >
< ul >
< li > < a href = "./usermanual/index.html" > User Manual< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "./api/index.html" > Javadocs< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "./localising/index.html" > Localisation (Translator's Guide)< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "./building.html" > Building JMeter and Add-Ons< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "http://wiki.apache.org/jakarta-jmeter" > JMeter Wiki< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "http://wiki.apache.org/jakarta-jmeter/JMeterFAQ" > FAQ (Wiki)< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< / ul >
< p > < strong > Tutorials (PDF format)< / strong > < / p >
< ul >
< li > < a href = "./usermanual/jmeter_distributed_testing_step_by_step.pdf" > Distributed Testing< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "./usermanual/jmeter_proxy_step_by_step.pdf" > Recording Tests< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "./usermanual/junitsampler_tutorial.pdf" > JUnit Sampler< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "./usermanual/jmeter_accesslog_sampler_step_by_step.pdf" > Access Log Sampler< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "./extending/jmeter_tutorial.pdf" > Extending JMeter< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< / ul >
< p > < strong > Community< / strong > < / p >
< ul >
< li > < a href = "http://jakarta.apache.org/site/getinvolved.html" > Get Involved< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "http://jakarta.apache.org/site/mail.html" > Mailing Lists< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< li > < a href = "http://jakarta.apache.org/site/cvsindex.html" > SVN Repositories< / a >
2008-05-28 02:05:49 +08:00
< / li >
2009-05-10 06:57:45 +08:00
< / ul >
< / td >
< td width = "80%" align = "left" valign = "top" >
< table >
< tr >
< td bgcolor = "#525D76" >
< div align = "right" > < a href = "index.html" > < font size = -1 color = "#ffffff" face = "arial,helvetica,sanserif" > Index< / font > < / a > < / div >
< / td >
< td bgcolor = "#525D76" >
< div align = "right" > < a href = "$next" > < font size = -1 color = "#ffffff" face = "arial,helvetica,sanserif" > Next< / font > < / a > < / div >
< / td >
< td bgcolor = "#525D76" >
< div align = "right" > < a href = "$prev" > < font size = -1 color = "#ffffff" face = "arial,helvetica,sanserif" > Prev< / font > < / a > < / div >
< / td >
< / tr >
< / table >
< br >
< table border = "0" cellspacing = "0" cellpadding = "2" width = "100%" >
< tr > < td bgcolor = "#525D76" >
< font color = "#ffffff" face = "arial,helvetica,sanserif" >
< a name = "$section.getAttributeValue(" anchor " ) " > < strong > Changes< / strong > < / a >
< / font >
< / td > < / tr >
< tr > < td >
< blockquote >
< p >
< table border = "1" bgcolor = "#bbbb00" width = "50%" cellspacing = "0" cellpadding = "2" >
< tr > < td >
< b >
This page details the changes made in the current version only.
< / b >
< br >
< / br >
2008-05-28 02:05:49 +08:00
Earlier changes are detailed in the
2009-05-10 06:57:45 +08:00
< a href = "changes_history.html" >
History of Previous Changes
< / a >
.
< / td > < / tr >
< / table >
< / p >
2009-05-14 06:21:50 +08:00
< h1 >
2009-05-10 06:57:45 +08:00
Version 2.3.3
2009-05-14 06:21:50 +08:00
< / h1 >
< h2 >
2009-05-10 06:57:45 +08:00
Summary of main changes
2009-05-14 06:21:50 +08:00
< / h2 >
2009-05-10 06:57:45 +08:00
< p >
2009-05-14 06:21:50 +08:00
The handling of test closedown is much improved.
The gradual "Shutdown" command now waits until all threads have stopped,
and does not report an error if threads don't stop within 5 seconds.
The immediate "Stop" command can now be used if "Shutdown" takes too long.
Also the immediate "Stop" command is able to interrupt samplers which support the new Interruptible interface (e.g. HTTP and SOAP, FTP).
This allows immediate completion of pending responses.
Non-GUI mode tests can also now be sent a "Shutdown" or "Stop" message.
< a href = "./usermanual/component_reference.html#Test_Action" > Test Action< / a >
now supports a "Stop Now" action,
as do the
< a href = "./usermanual/component_reference.html#Thread_Group" > Thread Group< / a >
and
< a href = "./usermanual/component_reference.html#Result_Status_Action_Handler" > Result Status Action Handler< / a >
Post Processor elements.
2009-05-10 06:57:45 +08:00
2009-05-14 06:21:50 +08:00
< / p >
< p >
2009-05-10 06:57:45 +08:00
2009-05-14 06:21:50 +08:00
HTTP Cookie handling is improved, and HTTP POST can now use variable file names correctly.
HTTP, SOAP/XML-RPC and WebService(SOAP) sampler character encodings updated to be more consistent.
HTTP Samplers now support connection and response timeouts (requires JVM 1.5 for the HTTP Java sampler).
Together with the closedown improvements described above, this should avoid most cases where a test run hangs.
Multiple Header Manager elements are now supported for a single HTTP sampler.
The Proxy Server is improved, and no longer stores "Host" headers by default.
2009-05-10 06:57:45 +08:00
2009-05-14 06:21:50 +08:00
< / p >
< p >
2009-05-10 06:57:45 +08:00
2009-05-14 06:21:50 +08:00
JDBC Request can optionally save the results of Select statements to variables.
JDBC Request now handles quoted strings and UTF-8, and can handle arbitrary variable types.
2009-05-10 06:57:45 +08:00
< / p >
< p >
2009-05-14 06:21:50 +08:00
There are several new
< a href = "usermanual/functions.html" >
functions
< / a >
:
__char() function: allows arbitrary Unicode characters to be entered in fields.
__unescape() function: allows Java-escaped strings to be used.
_unescapeHtml() function: decodes Html-encoded text.
__escapeHtml() function: encodes text using Html-encoding.
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. This makes it easier to debug test plans.
2009-05-10 06:57:45 +08:00
2009-05-14 06:21:50 +08:00
< / p >
< p >
2009-05-10 06:57:45 +08:00
2009-05-14 06:21:50 +08:00
Some Assertions can now be applied to sub-samples as well as (or instead of) just the parent sample.
There is a new
< a href = "./usermanual/component_reference.html#Random_Variable" > Random Variable< / a >
Configuration element.
2009-05-10 06:57:45 +08:00
2009-05-14 06:21:50 +08:00
< / p >
< p >
2009-05-10 06:57:45 +08:00
2009-05-14 06:21:50 +08:00
JMS samplers are much improved (see details below). The
< a href = "./usermanual/component_reference.html#TCP_Sampler" > TCP Sampler< / a >
now supports some additional clients and is a bit more flexible.
2009-05-10 06:57:45 +08:00
2009-05-14 06:21:50 +08:00
< / p >
< p >
Client-server mode has been improved, and the server can optionally use a fixed RMI port, which should help with setting up firewalls.
2009-05-10 06:57:45 +08:00
< / p >
2009-05-14 06:21:50 +08:00
< p >
Various I18N changes have been made; language change works better (though not perfect yet).
There are improved French translations as well as new Polish and Brazilian Portugese translations.
2009-05-15 03:41:41 +08:00
< / p >
< p >
The BeanShell jar is now included with the binary archive; there is no need to download it separately.
2009-05-14 06:21:50 +08:00
< / p >
< h2 >
2009-05-10 06:57:45 +08:00
Known bugs
2009-05-14 06:21:50 +08:00
< / h2 >
2009-05-10 06:57:45 +08:00
< p >
2008-05-14 06:11:33 +08:00
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.
2008-05-28 02:05:49 +08:00
2009-05-10 06:57:45 +08:00
< / p >
< p >
2009-05-14 06:21:50 +08:00
Once Only controller behaves correctly under a Thread Group or Loop Controller,
2008-05-28 02:05:49 +08:00
but otherwise its behaviour is not consistent (or clearly specified).
2009-05-10 06:57:45 +08:00
< / p >
< p >
2008-05-30 09:54:49 +08:00
The menu item Options / Choose Language does not change all the displayed text to the new language.
2009-05-14 06:21:50 +08:00
[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.
2008-05-30 09:54:49 +08:00
2009-05-10 06:57:45 +08:00
< / p >
2009-05-14 06:21:50 +08:00
< h2 >
2009-05-10 06:57:45 +08:00
Incompatible changes
2009-05-14 06:21:50 +08:00
< / h2 >
2009-05-10 06:57:45 +08:00
< p >
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 >
The test elements "Save Results to a file" and "Generate Summary Results" are now shown as Listeners.
They were previously shown as Post-Processors, even though they are implemented as Listeners.
< / p >
< p >
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 >
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.
< / p >
< p >
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 >
Moved the Scoping Rules sub-section from Section 3. "Building a Test Plan" to Section 4. "Elements of a test plan"
< / p >
< p >
The While controller now trims leading and trailing spaces from the condition value before it is compared
with LAST, blank or false.
< / p >
< p >
The "threadName" variable in the _jexl() and __javaScript() functions was previously misspelt as "theadName".
< / p >
< 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 >
< p >
The TestElement interface has some new methods:
< ul >
< li >
void setProperty(String key, String value, String dflt)
< / li >
< 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 >
< / ul >
These are implemented in the AbstractTestElement class which all elements should extend so this is unlikely to cause a problem.
< / p >
2009-05-14 06:21:50 +08:00
< h2 >
2009-05-10 06:57:45 +08:00
Bug fixes
2009-05-14 06:21:50 +08:00
< / h2 >
< h3 >
HTTP Samplers and Proxy
2009-05-10 06:57:45 +08:00
< / h3 >
< ul >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46332" > Bug 46332< / a >
- HTTP Cookie Manager ignores manually defined cookies (bug introduced in r707810)
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Cookie Manager was not passing cookie policy to runtime threads so they always used compatibility mode
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Add version attribute to JMeter Cookie class (needed for proper cookie support)
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Cookie Manager now saves/restores cookie versions
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Check validity of cookies before storing them.
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
HTTPSamplers can now use variables in POSTed file names
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Fix processing of first file name in HTTP POST so functions/variables work (bug introduced with multiple file support)
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45831" > Bug 45831< / a >
- WS Sampler reports incorrect throughput if SOAP packet creation fails
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
HTTP, SOAP/XML-RPC and WebService(SOAP) sampler character encodings updated to be more consistent
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46148" > Bug 46148< / a >
- HTTP sampler fails on SSL requests when logging for jmeter.util is set to DEBUG
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Fix Java 1.6 https error: java.net.SocketException: Unconnected sockets not implemented
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46838" > Bug 46838< / a >
- if there was no data, still need to set latency in HTTPSampler
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46993" > Bug 46993< / a >
- Saving from Header Manager generates ClassCastException
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46690" > Bug 46690< / a >
- handling of 302 redirects with invalid relative paths.
JMeter now removes extraneous leading "../" segments (as do many browsers)
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=44521" > Bug 44521< / a >
- empty variables for a POST in the HTTP Request don't get ignored
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46977" > Bug 46977< / a >
- JMeter does not handle HTTP headers not delimited by whitespace
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Fix bug in HTTP file: handling - read bytes, not characters in the default encoding.
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
Remove Host from headers saved by the Proxy server, as that will normally be generated by the HTTP stack
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45199" > Bug 45199< / a >
- don't try to replace blank variables in Proxy recording
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Change HTTPS spoofing so https: links are replaced even when URL match fails
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46436" > Bug 46436< / a >
- Improve error reporting in Proxy Gui
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46435" > Bug 46435< / a >
- More verbose error msg for error 501 (Proxy Server)
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
Other Samplers
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
The "prev" and "sampler" objects are now defined for BSF test elements
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Fix NPE (in DataSourceElement) when using JDBC in client-server mode
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45425" > Bug 45425< / a >
- JDBC Request does not support Unicode (changed sampler to use UTF-8)
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46522" > Bug 46522< / a >
- Incorrect "Response data" in JDBC sample when column names are missing
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46821" > Bug 46821< / a >
- JDBC select request doesn't store the first column in the variables
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=43791" > Bug 43791< / a >
- ensure QueueReceiver is closed in JMS Point to Point sampler
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46016" > Bug 46016< / a >
- avoid possible NPE in JMSSampler
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46142" > Bug 46142< / a >
- JMS Receiver now uses MessageID
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45458" > Bug 45458< / a >
- Point to Point JMS in combination with authentication
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45460" > Bug 45460< / a >
- JMS TestPlan elements depend on resource property
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Various ReceiveSubscriber thread-safety fixes
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
JMSPublisher and Subscriber fixes: thread-safety, support dynamic locale changes, locale independence for JMX attribute values
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
FTP Sampler now logs out before disconnecting.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
TCP sampler now calls setupTest() and teardownTest() methods
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45887" > Bug 45887< / a >
- TCPSampler: timeout property incorrectly set
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
Controllers
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
Fix NPE when using nested Transaction Controllers with parent samples
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Fix processing of Transaction Controller parent mode so current sampler is set to actual sampler
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=44941" > Bug 44941< / a >
- Throughput controllers should not share global counters
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=47120" > Bug 47120< / a >
- Throughput Controller: change percent executions to total executions, the value is stored in a String and interpreted as 1 execution
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=47150" > Bug 47150< / a >
- ThreadGroup with a loop count of zero causes infinite loop
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=47009" > Bug 47009< / a >
- Insert parent caused child controller name to be reset
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=47165" > Bug 47165< / a >
- Using duplicate Module Controller names in command line mode causes NPE
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
Listeners
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
Mailer Visualizer documentation now agrees with code i.e. failure/success counts need to be exceeded to trigger the mail.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Mailer Visualizer now shows the failure count
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Mailer Visualiser - fix parsing of multiple e-mail address when using Test button
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45976" > Bug 45976< / a >
- incomplete result file when using remote testing with more than 1 server
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Fix Summariser so it works in client server mode
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=34096" > Bug 34096< / a >
- Duplicate samples not eliminated when writing to CSV files
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Save "Include group Name in Label" setting in Aggregate and Summary reports
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
The JMeter variable "sample_variables" is sent to all server instances to ensure the data is available to the client.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
CSVSaveService - check for EOF while reading quoted string
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
Assertions
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45749" > Bug 45749< / a >
- Response Assertion does not work with a substring that happens to be an invalid RE
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45904" > Bug 45904< / a >
- Allow 'Not' Response Assertion to succeed with null sample
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
Functions
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
Fix regex function - was failing to process $m$mid$n$ correctly
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Protect against possible NPE in RegexFunction if called during test shutdown.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Avoid NPE if XPath function does not match any nodes
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Correct the variable name "theadName" to "threadName" in the __jexl() and __javaScript() functions
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
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.
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
I18N
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
Fixed language change handling for menus (does not yet work for TestBeans)
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Add HeaderAsPropertyRenderer to support header resource names; use this to fix locale changes in various GUI elements
< / li >
2009-05-10 06:57:45 +08:00
2009-05-14 06:21:50 +08:00
< li >
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46424" > Bug 46424< / a >
- corrections to French translation
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46844" > Bug 46844< / a >
- "Library" label in test plan are not I18N
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=47064" > Bug 47064< / a >
- fixes for Mac LAF
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=47127" > Bug 47127< / a >
- Unable to change language to pl_PL
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=47137" > Bug 47137< / a >
- Labels in View Results Tree aren't I18N
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46423" > Bug 46423< / a >
- I18N of Proxy Recorder
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45928" > Bug 45928< / a >
- AJP/1.3 Sampler doesn't retrieve its label from messages.properties
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
General
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
Prompt to overwrite an existing file when first saving a new test plan
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Amend TestBeans to show the correct popup menu for Listeners
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45185" > Bug 45185< / a >
- CSV dataset blank delimiter causes OOM
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
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.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=41608" > Bug 41608< / a >
- misleading warning log message removed
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46359" > Bug 46359< / a >
- BSF JavaScript Preprocessor cannot access sampler variable on first interation (Implement temporary work-round for BSF-22)
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46407" > Bug 46407< / a >
- BSF elements do not load script files, attempt to interpret filename as script
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Better handling of Exceptions during test shutdown
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Fix potential thread safety issue in JMeterThread class
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46491" > Bug 46491< / a >
- Incorrect value for the last variable in "CSV Data Set Config" (error in processing quoted strings)
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
2009-05-10 06:57:45 +08:00
< / ul >
2009-05-14 06:21:50 +08:00
< h2 >
2009-05-10 06:57:45 +08:00
Improvements
2009-05-14 06:21:50 +08:00
< / h2 >
< h3 >
HTTP Samplers
2009-05-10 06:57:45 +08:00
< / h3 >
< ul >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45479" > Bug 45479< / a >
- Support for multiple HTTP Header Manager nodes
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
HTTP Samplers now support connection and request timeouts (requires Java 1.5 for Java Http sampler)
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
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
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Mirror server now supports "X-Sleep" header - if this is set, the responding thread will wait for the specified number of milliseconds
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45694" > Bug 45694< / a >
- Support GZIP compressed logs in Access Log Sampler
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
Other samplers
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
JDBC Request can optionally save the results of Select statements to variables.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
JDBC Request now handles quoted strings.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
JDBC Request now handles arbitrary variable types.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
LDAP result data now formatted with line breaks
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45200" > Bug 45200< / a >
- MailReaderSampler: store the whole MIME message in the SamplerResult
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45571" > Bug 45571< / a >
- JMS Sampler correlation enhancement
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46030" > Bug 46030< / a >
- Extend TCP Sampler to Support Length-Prefixed Binary Data
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Add classname field to TCP Sampler GUIs
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
Controllers
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
Allow If Controller to use variable expressions (not just Javascript)
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Trim spaces from While Controller condition before comparing against LAST, blank or false
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
Listeners
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
Save Responses to a file can save the generated filename(s) to variables.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Add option to skip suffix generation in Save Responses to a File
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=43119" > Bug 43119< / a >
- Save Responses to file: optionally omit the file number
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Add BSF Listener element
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=47176" > Bug 47176< / a >
- Monitor Results : improve load status graphic
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=40045" > Bug 40045< / a >
- Allow Results monitor to select a specific connector
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Read XML JTL files more efficiently - pass samples to visualisers as they are read, rather than saving them all and then processing them
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
Assertions, Config, Pre- & Post-Processors
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45903" > Bug 45903< / a >
- allow Assertions to apply to sub-samples
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Add Body (unescaped) source option to Regular Expression Extractor.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Random Variable - new configuration element to create random numeric variables
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
Functions
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
Add OUT and log variables to __jexl() function
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Use Script to evaluate __jexl() function so can have multiple statements.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Add log variable to the __javaScript() function
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Added __char() function: allows arbitrary Unicode characters to be entered in fields.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Added __unescape() function: allows Java-escaped strings to be used.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Added __unescapeHtml() function: decodes Html-encoded text.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Added __escapeHtml() function: encodes text using Html-encoding.
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
I18N
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=45929" > Bug 45929< / a >
- improved French translations
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=47132" > Bug 47132< / a >
- Brazilian Portuguese translations
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46900" > Bug 46900< / a >
- Polish translations
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Added locales.add property to allow for new Locales
2009-05-10 06:57:45 +08:00
< / li >
2009-05-14 06:21:50 +08:00
< / ul >
< h3 >
General
< / h3 >
< ul >
2009-05-10 06:57:45 +08:00
< li >
2009-05-14 06:21:50 +08:00
Allow spaces in JMeter path names (apply work-round for
< a href = "http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4496398" >
Java Bug 4496398
< / a >
)
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Process JVM_ARGS last in script files so users can override default settings
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=46636" > Bug 46636< / a >
- Allow server mode to optionally use a fixed rmi port
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Make some samplers interruptible: HTTP (both), SoapSampler, FTPSampler
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Test Action now supports "Stop Now" action, as do the Thread Group and Result Status Post Processor elements
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
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
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
Add UDP server to wait for shutdown message if running in non-GUI mode; add UDP client to send the message.
2009-05-10 06:57:45 +08:00
< / li >
< li >
2009-05-14 06:21:50 +08:00
< a href = "https://issues.apache.org/bugzilla/show_bug.cgi?id=41209" > Bug 41209< / a >
- JLabeled* and ToolTips
2009-05-10 06:57:45 +08:00
< / li >
2009-05-15 03:41:41 +08:00
< li >
Include BeanShell 2.0b4 jar in binary download.
< / li >
2009-05-10 06:57:45 +08:00
< / ul >
2009-05-14 06:21:50 +08:00
< h2 >
2009-05-10 06:57:45 +08:00
Non-functional changes
2009-05-14 06:21:50 +08:00
< / h2 >
2009-05-10 06:57:45 +08:00
< ul >
< li >
Introduce AbstractListenerGui class to make it easier to create Listeners with no visual output
< / li >
< li >
2009-05-14 06:21:50 +08:00
Assertions are run after PostProcessors; change order of pop-up menus accordingly
2009-05-10 06:57:45 +08:00
< / li >
< li >
Remove unnecessary clone() methods from function classes
< / li >
< li >
Moved PreProcessor invocation to JMeterThread class
< / li >
< li >
Made HashTree Map field final
< / li >
< li >
Improve performance of calling ResultCollector#isSampleWanted() for multiple samples
< / li >
< li >
Updated to new versions of: xmlgraphics-commons (1.3.1), jdom (1.1), xstream (1.3.1), velocity (1.6.2)
< / li >
< / ul >
< / blockquote >
< / p >
< / td > < / tr >
< tr > < td > < br > < / td > < / tr >
< / table >
< table >
< tr >
< td bgcolor = "#525D76" >
< div align = "right" > < a href = "index.html" > < font size = -1 color = "#ffffff" face = "arial,helvetica,sanserif" > Index< / font > < / a > < / div >
< / td >
< td bgcolor = "#525D76" >
< div align = "right" > < a href = "$next" > < font size = -1 color = "#ffffff" face = "arial,helvetica,sanserif" > Next< / font > < / a > < / div >
< / td >
< td bgcolor = "#525D76" >
< div align = "right" > < a href = "$prev" > < font size = -1 color = "#ffffff" face = "arial,helvetica,sanserif" > Prev< / font > < / a > < / div >
< / td >
< / tr >
< / table >
< br >
< / td >
< / tr >
< tr > < td colspan = "2" >
< hr noshade size = "1" / >
< / td > < / tr >
< tr > < td colspan = "2" >
< div align = "center" > < font color = "#525D76" size = "-1" > < em >
Copyright © 1999-2009, Apache Software Foundation
< / em > < / font > < / div >
< / td > < / tr >
< / table >
< / body >
< / html >
2008-05-28 02:05:49 +08:00
<!-- end the processing -->