📄 changes_history.html
字号:
<!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.
-->
<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 - History of Previous Changes</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#525D76">
<table border="0" cellspacing="0">
<tr>
<td colspan="2">
<a href="http://jakarta.apache.org"><img width="505" height="48" src="./../docs/images/jakarta-logo.gif" align="left" border="0"></a>
</td>
</tr>
</table>
<table border="0" cellspacing="4">
<tr><td>
<hr noshade size="1">
</td></tr>
<tr>
<td align="left" valign="top">
<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>History of Previous 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 previous versions only.
</b>
<br>
</br>
Current changes are detailed in
<a href="changes.html">
Changes
</a>
.
</td></tr>
</table></p>
<p>
<b>
Changes sections are chronologically ordered from top (most recent) to bottom
(least recent)
</b>
</p>
<h3>
Version 2.3.1
</h3>
<h4>
Summary of changes
</h4>
<h5>
JMeter Proxy
</h5>
<p>
The Proxy spoof function was broken in 2.3; it has been fixed.
Spoof now supports an optional parameter to limit spoofing to particular URLs.
This is useful for HTTPS pages that have insecure content - e.g. images/stylesheets may be accessed using HTTP.
Spoofed responses now drop the default port (443) from https links to make them work better.
</p>
<p>
Ignored proxy samples are now visible in Listeners - the label is enclosed in [ and ] as an indication.
Proxy documentation has been improved.
</p>
<h5>
GUI changes
</h5>
<p>
The Add menus show element types in the order in which they are processed
- see
<a href="usermanual/test_plan.html#executionorder">
Test Plan Execution Order
</a>
.
It is no longer possible to add test elements to inappropriate parts of the tree
- e.g. samplers cannot be added directly under a test plan.
This also applies to Paste and drag and drop.
</p>
<p>
The File menu now supports a "Revert" option, which reloads the current file.
Also the last few file names used are remembered for easy reloading.
</p>
<p>
The Options Menu now supports Collapse All and Expand All items to collapse and expand the test tree.
</p>
<h5>
Remote testing
</h5>
<p>
The JMeter server now starts the RMI server directly (by default).
This simplifies testing, and means that the RMI server will be stopped when the server stops.
</p>
<p>
Functions can now be used in Listener filenames (variables do not work).
</p>
<p>
Command-line option -G can now be used to define properties for remote servers.
Option -X can be used to stop a remote server after a non-GUI run.
Server can be set to automatically exit after a single test (set property server.exitaftertest=true).
</p>
<h5>
Other enhancements
</h5>
<p>
JMeter startup no longer loads as many classes; this should reduce memory requirements.
</p>
<p>
Parameter and file support added to all BeanShell elements.
Javascript function now supports access to JMeter objects;
Jexl function always did have access, but the documentation has now been included.
New functions __eval() and __evalVar() for evaluating variables.
</p>
<p>
CSV files with the correct header column names are now automatically recognised when loaded.
There is no need to configure the properties.
</p>
<p>
The hostname can now be saved in CSV and XML output files.
New "Successes only" option added when saving result files.
Errors / Successes only option is now supported when loading XML and CSV files.
</p>
<p>
General documentation improvements.
</p>
<h5>
HTTP
</h5>
<p>
PUT and DELETE should now work properly.
Cookie Manager no longer clears manually entered cookies.
</p>
<p>
Now handles the META tag http-equiv charset
</p>
<h5>
JDBC
</h5>
<p>
JDBC Sampler now allows INOUT and OUT parameters for Called procedures.
JDBC Sampler now allows per-thread connections - set Max Connections = 0 in JDBC Config.
</p>
<hr>
</hr>
<h4>
Incompatible changes
</h4>
<ul>
<li>
JMeter server now creates the RMI registry by default.
If the RMI registry has already been started externally, this will generate a warning message, but the server will continue.
This should not affect JMeter testing.
However, if you are also using the RMI registry for other applications there may be problems.
For example, when the JMeter server shuts down it will stop the RMI registry.
Also user-written command files may need to be adjusted (the ones supplied with JMeter have been updated).
To revert to the earlier behaviour, define the JMeter property:
<b>
server.rmi.create=false
</b>
.
</li>
<li>
The Proxy server removes If-Modified-Since and If-None-Match headers from generated Header Managers.
To revert to the previous behaviour, define the property proxy.headers.remove with no value
</li>
</ul>
<h4>
Bug fixes
</h4>
<ul>
<li>
Bug 43430 - Count of active threads is incorrect for remote samples
</li>
<li>
Throughput Controller was not working for "all thread" counts
</li>
<li>
If a POST body is built from parameter values only, these are now encoded if the checkbox is set.
</li>
<li>
Bug 43584 - Assertion Failure Message contains a comma that is also used as the delimiter for CSV files
</li>
<li>
HTTP Mirror Server now always returns the exact same content, it used to return incorrect data if UTF-8 encoding was used for HTTP POST body, for example
</li>
<li>
Bug 43612 - HTTP PUT does not honor request parameters
</li>
<li>
Bug 43694 - ForEach Controller (empty collection processing error)
</li>
<li>
Bug 42012 - Variable Listener filenames do not get processed in remote tests.
Filenames can now include function references; variable references do not work.
</li>
<li>
Ensure Listener nodes get own save configuration when copy-pasted
</li>
<li>
Correct Proxy Server include and exclude matching description - port and query are included, contrary to previously documented.
</li>
<li>
Aggregate Graph and Aggregate Report Column Header is KB/Sec; fixed the values to be KB rather than bytes
</li>
<li>
Fix SamplingStatCalculator so it no longer adds elapsed time to endTime, as this is handled by SampleResult.
This corrects discrepancies between Summary Report and Aggregate Report throughput calculation.
</li>
<li>
Default HTTPSampleResult to ISO-8859-1 encoding
</li>
<li>
Fix default encoding for blank encoding
</li>
<li>
Fix Https spoofing (port problem) which was broken in 2.3
</li>
<li>
Fix HTTP (Java) sampler so http.java.sampler.retries means retries, i.e. does not include initial try
</li>
<li>
Fix SampleResult dataType checking to better detect TEXT documents
</li>
</ul>
<h4>
Improvements
</h4>
<ul>
<li>
Add run_gui Ant target, to package and then start the JMeter GUI from Ant
</li>
<li>
Add File->Revert to easily drop the current changes and reload the project file currently loaded
</li>
<li>
Bug 31366 - Remember recently opened file(s)
</li>
<li>
Bug 43351 - Add support for Parameters and script file to all BeanShell test elements
</li>
<li>
SaveService no longer needs to instantiate classes
</li>
<li>
New functions: __eval() and __evalVar()
</li>
<li>
Menu items now appear in execution order
</li>
<li>
Test Plan items can now only be dropped/pasted/merged into parts of the tree where they are allowed
</li>
<li>
Property Display to show the value of System and JMeter properties and allow them to be changed
</li>
<li>
Bug 43451 - Allow Regex Extractor to operate on Response Code/Message
</li>
<li>
JDBC Sampler now allows INOUT and OUT parameters for Called procedures
</li>
<li>
JDBC Sampler now allows per-thread connections
</li>
<li>
Cookie Manager not longer clears cookies defined in the GUI
</li>
<li>
HTTP Parameters without names are ignored (except for POST requests with no file)
</li>
<li>
"Save Selection As" added to main menu; now checks only item is selected
</li>
<li>
Test Plan now has Paste menu item (paste was already supported via ^V)
</li>
<li>
If the default delimiter does not work when loading a CSV file, guess the delimiter by analysing the header line.
</li>
<li>
Add optional "loopback" protocol for HttpClient sampler
</li>
<li>
HTTP Mirror Server now supports blocking waiting for more data to appear, if content-length header is present in request
</li>
<li>
HTTP Mirror Server GUI now has the Start and Stop buttons in a more visible place
</li>
<li>
Server mode now creates the RMI registry; to disable set the JMeter property server.rmi.create=false
</li>
<li>
HTTP Sampler now supports using MIME Type field to specify content-type request header when body is constructed from parameter values
</li>
<li>
Enable exit after a single server test - define JMeter property server.exitaftertest=true
</li>
<li>
Added -G option to set properties in remote servers
</li>
<li>
Added -X option to stop remote servers after non-GUI run
</li>
<li>
Bug 43485 - Ability to specify keep-alive on SOAP/XML-RPC request
</li>
<li>
Bug 43678 - Handle META tag http-equiv charset
</li>
<li>
Bug 42555 - [I18N] Proposed corrections for the french translation
</li>
<li>
Bug 43727 - Test Action does not support variables or functions
</li>
<li>
The Proxy server removes If-Modified-Since and If-None-Match headers from generated Header Managers by default.
To change the list of removed headers, define the property proxy.headers.remove as a comma-separated list of headers to remove
</li>
<li>
The javaScript function now has access to JMeter variables and context etc. See
<a href="usermanual/functions.html#__javaScript">
JavaScript function
</a>
</li>
<li>
Use drop-down list for BSF Sampler language field
</li>
<li>
Add hostname to items that can be saved in CSV and XML output files.
</li>
<li>
Errors only flag is now supported when loading XML and CSV files
</li>
<li>
Ensure ResultCollector uses SaveService encoding
</li>
<li>
Proxy now rejects attempts to use it with https
</li>
<li>
Proxy spoofing can now use RE matching to determine which urls to spoof (useful if images are not https)
</li>
<li>
Proxy spoofing now drops the default HTTPS port (443) when converting https: links to http:
</li>
<li>
Add Successes Only logging and display
</li>
<li>
The JMeter log file name is formatted as a SimpleDateFormat (applied to the current date) if it contains paired single-quotes, .e.g. 'jmeter_'yyyyMMddHHmmss'.log'
</li>
<li>
Added Collapse All and Expand All Option menu items
</li>
<li>
Allow optional definition of extra content-types that are viewable as text
</li>
</ul>
<h4>
Non-functional Improvements
</h4>
<ul>
<li>
Functor code tightened up; Functor can now be used with interfaces, as well as pre-defined targets and parameters.
</li>
<li>
Save graphics function now prompts before overwriting an existing file
</li>
<li>
Debug Sampler and Debug PostProcessor added.
</li>
<li>
Fixed up method names in Calculator and SamplingStatCalculator
</li>
<li>
Tidied up Listener documentation.
</li>
</ul>
<h3>
Version 2.3
</h3>
<h3>
Fixes since 2.3RC4
</h3>
<h4>
Bug fixes
</h4>
<ul>
<li>
Fix NPE in SampleResultConverter - XStream PrettyPrintWriter cannot handle nulls
</li>
<li>
If Java HTTP sampler sees null ResponseMessage, replace with HTTP header
</li>
<li>
Bug 43332 - 2.3RC4 does not clear Guis based on TestBean
</li>
<li>
Bug 42948 - Problems with Proxy gui table fields in Java 1.6
</li>
<li>
Fixup broken jmeter-server script
</li>
<li>
Bug 43364 - option to revert If Controller to pre 2.3RC3 behaviour
</li>
<li>
Bug 43449 - Statistical Remote mode does not handle Latency
</li>
<li>
Bug 43450 (partial fix) - Allow SampleCount and ErrorCount to be saved to/restored from files
</li>
</ul>
<h4>
Improvements
</h4>
<ul>
<li>
Add nameSpace option to XPath extractor
</li>
<li>
Add NULL parameter option to JDBC sampler
</li>
<li>
Add documentation links for Rhino and BeanShell to functions; clarify variables and properties
</li>
<li>
Ensure uncaught exceptions are logged
</li>
<li>
Look for user.properties and system.properties in JMeter bin directory if not found locally
</li>
</ul>
<h4>
Fixes since 2.3RC3
</h4>
<ul>
<li>
Fixed NPE in Summariser (bug introduced in 2.3RC3)
</li>
<li>
Fixed setup of proxy port (bug introduced in 2.3RC3)
</li>
<li>
Fixed errors when running non-GUI on a headless host (bug introduced in 2.3RC3)
</li>
<li>
Bug 43054 - SSLManager causes stress tests to saturate and crash (bug introduced in 2.3RC3)
</li>
<li>
Clarified HTTP Request Defaults usage of the port field
</li>
<li>
Bug 43006 - NPE if icon.properties file not found
</li>
<li>
Bug 42918 - Size Assertion now treats an empty response as having zero length
</li>
<li>
Bug 43007 - Test ends before all threadgroups started
</li>
<li>
Fix possible NPE in HTTPSampler2 if 302 does not have Location header.
</li>
<li>
Bug 42919 - Failure Message blank in CSV output [now records first non-blank message]
</li>
<li>
Add link to Extending JMeter PDF
</li>
<li>
Allow for quoted charset in Content-Type parsing
</li>
<li>
Bug 39792 - ClientJMeter synchronisation needed
</li>
<li>
Bug 43122 - GUI changes not always picked up when short-cut keys used (bug introduced in 2.3RC3)
</li>
<li>
Bug 42947 - TestBeanGUI changes not picked up when short-cut keys used
</li>
<li>
Added serializer.jar (needed for update to xalan 2.7.0)
</li>
<li>
Bug 38687 - Module controller does not work in non-GUI mode
</li>
</ul>
<h4>
Improvements since 2.3RC3
</h4>
<ul>
<li>
Add stop thread option to CSV Dataset
</li>
<li>
Updated commons-httpclient to 3.1
</li>
<li>
Bug 28715 - allow variable cookie values (set CookieManager.allow_variable_cookies=false to disable)
</li>
<li>
Bug 40873 - add JMS point-to-point non-persistent delivery option
</li>
<li>
Bug 43283 - Save action adds .jmx if not present; checks for existing file on Save As
</li>
<li>
Control+A key does not work for Save All As; changed to Control+Shift+S
</li>
<li>
Bug 40991 - Allow Assertions to check Headers
</li>
</ul>
<h3>
Version 2.3RC3
</h3>
<h4>
Known problems/restrictions:
</h4>
<p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -