About

- Overview
- Changes
- Known Bugs
- License
- Contributors

Download

- Download Binary
- Download Source
- Nightly Builds

Documentation

- User Manual
- Javadocs
- Localisation (Translator's Guide)
- FAQ (Wiki)

JMeter Resources

- JMeter Wiki
- JMeter Articles
- JMeter on IRC
- Developer Notes

Tutorials

- Distributed Testing
- Recording Tests
- JUnit Sampler
- Access Log Sampler

Community

- Get Involved
- Mailing Lists
- SVN Repositories

History of Changes

> Changes are chronologically ordered from top (most recent) to bottom (least recent)

> ### Version 2.1.2

> #### Incompatible changes:

> The time stamp is now set to the sampler start time (it was the end). To revert to the previous behaviour, change the property sampleresult.timestamp.start to false (or comment it)

> The JMX output format has been simplified and files are not backwards compatible

> The JMeter.BAT file no longer changes directory to JMeter home, but runs from the current working directory. The jmeter-n.bat and jmeter-t.bat files change to the directory containing the input file.

> Listeners are now started slightly later in order to allow variable names to be used. This may cause some problems; if so define the following in jmeter.properties:
> jmeterengine.startlistenerslater=false

> #### Known problems:

> - Module Controller does not work in non-GUI mode
> - Aggregate Report and some other listeners use increasing amounts of memory as a test progresses
> - Does not always handle non-default encoding properly
> - Spaces in the installation path cause problems for client-server mode
> - Change of Language does not propagate to all test elements
> - SamplingStatCalculator keeps a List of all samples for calculation purposes; this can cause memory exhaustion in long-running tests
> - Does not properly handle server certificates if they are expired or not installed locally

> #### New functionality:

> - Report function
> - XPath Extractor Post-Processor. Handles single and multiple matches.
> - Simpler JMX file format (2.2)
> - BeanshellSampler code can update ResponseData directly
> - Bug 37490 - Allow UDV as delay in Duration Assertion
> - Slow connection emulation for HttpClient
> - Enhanced JUnitSampler so that by default assert errors and exceptions are not appended to the error message. Users must explicitly check append in the sampler
> - Enhanced the documentation for webservice sampler to explain how it works with CSVDataSet
> - Enhanced the documentation for javascript function to explain escaping comma
> - Allow CSV Data Set file names to be absolute
> - Report Tree compiler errors better
> - Don't reset Regex Extractor variable if default is empty
> - includecontroller.prefix property added
> - Regular Expression Extractor sets group count
> - Can now save entire screen as an image, not just the right-hand pane
> - Bug 38901 - Add optional SOAPAction header to SOAP Sampler
> - New BeanShell test elements: Timer, PreProcessor, PostProcessor, Listener
> - __split() function now clears next variable, so it can be used with ForEach Controller
> - Bug 38682 - add CallableStatement functionality to JDBC Sampler
> - Make it easier to change the RMI/Server port
> - Add property jmeter.save.saveservice.xml_pi to provide optional xml processing instruction in JTL files
> - Add bytes and URL to items that can be saved in sample log files (XML and CSV)
> - The Post-Processor "Save Responses to a File" now saves the generated file name with the sample, and the file name can be included in the sample log file.
> - Change jmeter.bat DOS script so it works from any directory
> - New -N option to define nonProxyHosts from command-line
> - New -S option to define system properties from input file
> - Bug 26136 - allow configuration of local address
> - Expand tree by default when loading a test plan - can be disabled by setting property onload.expandtree=false
> - Bug 11843 - URL Rewriter can now cache the session id
> - Counter Pre-Processor now supports formatted numbers
> - Add support for HEAD PUT OPTIONS TRACE and DELETE methods
> - Allow default HTTP implementation to be changed
> - Optionally save active thread counts (group and all) to result files
> - Variables/functions can now be used in Listener file names
> - New __time() function; define START.MS/START.YMD/START.HMS properties and variables
> - Add Thread Name to Tree and Table Views
> - Add debug functions: What class, debug on, debug off
> - Non-caching Calculator - used by Table Visualiser to reduce memory footprint
> - Summary Report - similar to Aggregate Report, but uses less memory
> - Bug 39580 - recycle option for CSV Dataset
> - Bug 37652 - support for Ajp Tomcat protocol
> - Bug 39626 - Loading SOAP/XML-RPC requests from file
> - Bug 39652 - Allow truncation of labels on AxisGraph
> - Allow use of htmlparser 1.6
> - Bug 39656 - always use SOAP action if it is provided
> - Automatically include properties from user.properties file
> - Add __jexl() function - evaluates Commons JEXL expressions
> - Optionally load JMeter properties from user.properties and system properties from system.properties.
> - Bug 39707 - allow Regex match against URL
> - Add start time to Table Visualiser
> - HTTP Samplers can now extract embedded resources for any required media types

> #### Bug fixes:

> - Fix NPE when no module selected in Module Controller
> - Fix NPE in XStream when no ResponseData present
> - Remove ?xml prefix when running with Java 1.5 and no x-jars
> - Bug 37117 - setProperty() function should return ""; added optional return of original setting
> - Fix CSV output time format
> - Bug 37140 - handle encoding better in RegexFunction
> - Load all cookies, not just the first; fix class cast exception
> - Fix default Cookie path name (remove page name)
> - Fixed resultcode attribute name
> - Bug 36898 - apply encoding to RegexExtractor
> - Add properties for saving subresults, assertions, latency, samplerData, responseHeaders, requestHeaders & encoding
> - Bug 37705 - Synch Timer now works OK after run is stopped
> - Bug 37716 - Proxy request now handles file Post correctly
> - HttpClient Sampler now saves latency
> - Fix NPE when using JavaScript function on Test Plan
> - Fix Base Href parsing in htmlparser
> - Bug 38256 - handle cookie with no path
> - Bug 38391 - use long when accumulating timer delays
> - Bug 38554 - Random function now uses long numbers
> - Bug 35224 - allow duplicate attributes for LDAP sampler
> - Bug 38693 - Webservice sampler can now use https protocol
> - Bug 38646 - Regex Extractor now clears old variables on match failure
> - Bug 38640 - fix WebService Sampler pooling
> - Bug 38474 - HTML Link Parser doesn't follow frame links
> - Bug 36430 - Counter now uses long rather than int to increase the range
> - Bug 38302 - fix XPath function
> - Bug 38748 - JDBC DataSourceElement fails with remote testing
> - Bug 38902 - sometimes -1 seems to be returned unnecessarily for response code
> - Bug 38840 - make XML Assertion thread-safe
> - Bug 38681 - Include controller now works in non-GUI mode
> - Add write(OS,IS) implementation to TCPClientImpl
> - Sample Result converter saves response code as "rc". Previously it saved as "rs" but read with "rc"; it will now also read with "rc". The XSL stylesheets also now accept either "rc" or "rs"
> - Fix counter function so each counter instance is independent (previously the per-user counters were shared between instances of the function)
> - Fix TestBean Examples so that they work
> - Fix JTidy parser so it does not skip body tags with background images
> - Fix HtmlParser parser so it catches all background images
> - Bug 39252 set SoapSampler sample result from XML data
> - Bug 38694 - WebServiceSampler not setting data encoding correctly
> - Result Collector now closes input files read by listeners
> - Bug 25505 - First HTTP sampling fails with "HTTPS hostname wrong: should be 'localhost'"
> - Bug 25236 - remove double scrollbar from Assertion Result Listener
> - Bug 38234 - Graph Listener divide by zero problem
> - Bug 38824 - clarify behaviour of Ignore Status
> - Bug 38250 - jmeter.properties "language" now supports country suffix, for zh_CN and zh_TW etc
> - jmeter.properties file is now closed after it has been read
> - Bug 39533 - StatCalculator added wrong items
> - Bug 39599 - ConcurrentModificationException
> - HTTPSampler2 now handles Auto and Follow redirects correctly
> - Bug 29481 - fix reloading sample results so subresults not counted twice
> - Bug 30267 - handle AutoRedirects properly
> - Bug 39677 - allow for space in JMETER_BIN variable
> - Use Commons HttpClient cookie parsing and management. Fix various problems with cookie handling.
> - Bug 39773 - NTCredentials needs host name

> #### Other changes

> - Updated to HTTPClient 3.0 (from 2.0)
> - Updated to Commons Collections 3.1
> - Improved formatting of Request Data in Tree View
> - Expanded user documentation
> - Added MANIFEST, NOTICE and LICENSE to all jars
> - Extract htmlparser interface into separate jarfile to make it possible to replace the parser
> - Removed SQL Config GUI as no longer needed (or working!)
> - HTTPSampler no longer logs a warning for Page not found (404)
> - StringFromFile now callable as __StringFromFile (as well as _StringFromFile)
> - Updated to Commons Logging 1.1

> ### Version 2.1.1

> #### New functionality:

> - New Include Controller allows a test plan to reference an external jmx file
> - New JUnitSampler added for using JUnit Test classes
> - New Aggregate Graph listener is capable of graphing aggregate statistics
> - Can provide additional classpath entries using the property user.classpath and on the Test Plan element

> #### Bug fixes:

> - AccessLog Sampler and JDBC test elements populated correctly from 2.0 test plans
> - BSF Sampler now populates filename and parameters from saved test plan
> - Bug 36500 - handle missing data more gracefully in WebServiceSampler
> - Bug 35546 - add merge to right-click menu
> - Bug 36642 - Summariser stopped working in 2.1
> - Bug 36618 - CSV header line did not match saved data
> - JMeter should now run under JVM 1.3 (but does not build with 1.3)

> ### Version 2.1

> #### New functionality:

> - New Test Script file format - smaller, more compact, more readable
> - New Sample Result file format - smaller, more compact
> - XSchema Assertion
> - XML Tree display
> - CSV DataSet Config item
> - New JDBC Connection Pool Config Element
> - Synchronisation Timer
> - setProperty function
> - Save response data on error
> - Ant JMeter XSLT now optionally shows failed responses and has internal links
> - Allow JavaScript variable name to be omitted
> - Changed following Samplers to set sample label from sampler name
> - All Test elements can be saved as a graphics image to a file
> - Bug 35026 - add RE pattern matching to Proxy
> - Bug 34739 - Enhance constant Throughput timer
> - Bug 25052 - use response encoding to create comparison string in Response Assertion
> - New optional icons
> - Allow icons to be defined via property files
> - New stylesheets for 2.1 format XML test output
> - Save samplers, config element and listeners as PNG
> - Enhanced support for WSDL processing
> - New JMS sampler for topic and queue messages
> - How-to for JMS samplers
> - Bug 35525 - Added Spanish localisation
> - Bug 30379 - allow server.rmi.port to be overridden
> - enhanced the monitor listener to save the calculated stats
> - Functions and variables now work at top level of test plan

> #### Bug fixes:

> - Bug 34586 - XPath always remained as /
> - BeanShellInterpreter did not handle null objects properly
> - Fix Chinese resource bundle names
> - Save field names if required to CSV files
> - Ensure XML file is closed
> - Correct icons now displayed for TestBean components
> - Allow for missing optional jar(s) in creating menus
> - Changed Samplers to set sample label from sampler name as was the case for HTTP
> - Fix various samplers to avoid NPEs when incomplete data is provided
> - Fix Cookie Manager to use seconds; add debug
> - Bug 35067 - set up filename when using -t option
> - Don't substitute TestElement.* properties by UDVs in Proxy
> - Bug 35065 - don't save old extensions in File Saver
> - Bug 25413 - don't enable Restart button unnecessarily
> - Bug 35059 - Runtime Controller stopped working
> - Clear up any left-over connections created by LDAP Extended Sampler
> - Bug 23248 - module controller didn't remember stuff between save and reload
> - Fix Chinese locales
> - Bug 29920 - change default locale if necessary to ensure default properties are picked up when English is selected.
> - Bug fixes for Tomcat monitor captions
> - Fixed webservice sampler so it works with user defined variables
> - Fixed screen borders for LDAP config GUI elements
> - Bug 31184 - make sure encoding is specified in JDBC sampler
> - TCP sampler - only share sockets with same host:port details; correct the manual
> - Extract src attribute for embed tags in JTidy and Html Parsers

> ### Version 2.0.3

> #### New functionality:

> - XPath Assertion and XPath Function
> - Switch Controller
> - ForEach Controller can now loop through sets of groups
> - Allow CSVRead delimiter to be changed (see jmeter.properties)
> - Bug 33920 - allow additional property files
> - Bug 33845 - allow direct override of Home dir

> #### Bug fixes:

> - Regex Extractor nested constant not put in correct place (32395)
> - Start time reset to now if necessary so that delay works OK.
> - Missing start/end times in scheduler are assumed to be now, not 1970
> - Bug 28661 - 304 responses not appearing in listeners
> - DOS scripts now handle different disks better
> - Bug 32345 - HTTP Rewriter does not work with HTTP Request default
> - Catch Runtime Exceptions so an error in one Listener does not affect others
> - Bug 33467 - __threadNum() extracted number wrongly
> - Bug 29186,33299 - fix CLI parsing of "-" in second argument
> - Fix CLI parse bug: -D arg1=arg2. Log more startup parameters.
> - Fix JTidy and HTMLParser parsers to handle form src= and link rel=stylesheet
> - JMeterThread now logs Errors to jmeter.log which were appearing on console
> - Ensure WhileController condition is dynamically checked
> - Bug 32790 ensure If Controller condition is re-evaluated each time
> - Bug 30266 - document how to display proxy recording responses
> - Bug 33921 - merge should not change file name
> - Close file now gives chance to save changes
> - Bug 33559 - fixes to Runtime Controller

> #### Other changes:

> - To help with variable evaluation, JMeterThread sets "sampling started" a bit earlier (see jmeter.properties)
> - Bug 33796 - delete cookies with null/empty values
> - Better checking of parameter count in JavaScript function
> - Thread Group now defaults to 1 loop instead of forever
> - All Beanshell access is now via a single class; only need BSH jar at run-time
> - Bug 32464 - document Direct Draw settings in jmeter.bat
> - Bug 33919 - increase Counter field sizes
> - Bug 32252 - ForEach was not initialising counters

> ### Version 2.0.2

> #### New functionality:

> - While Controller
> - BeanShell intilisation scripts
> - Result Saver can optionally save failed results only
> - Display as HTML has option not to download frames and images etc
> - Multiple Tree elements can now be enabled/disabled/copied/pasted at once
> - __split() function added
> - (28699) allow Assertion to regard unsuccessful responses - e.g. 404 - as successful
> - (29075) Regex Extractor can now extract data out of http response header as well as the body
> - __log() functions can now write to stdout and stderr
> - URL Modifier can now optionally ignore query parameters

> #### Bug fixes:

> - If controller now works after the first false condition (31390)
> - Regex GUI was losing track of Header/Body checkbox (29853)
> - Display as HTML now handles frames and relative images
> - Right-click open replaced by merge
> - Fix some drag and drop problems
> - Fixed foreach demo example so it works
> - (30741) SSL password prompt now works again
> - StringFromFile now closes files at end of test; start and end now optional as intended
> - (31342) Fixed text of SOAP Sampler headers
> - Proxy must now be stopped before it can be removed (25145)
> - Link Parser now supports BASE href (25490)
> - (30917) Classfinder ignores duplicate names
> - (22820) Allow Counter value to be cleared
> - (28230) Fix NPE in HTTP Sampler retrieving embedded resources
> - Improve handling of StopTest; catch and log some more errors
> - ForEach Controller no longer runs any samples if first variable is not defined
> - (28663) NPE in remote JDBC execution
> - (30110) Deadlock in stopTest processing
> - (31696) Duration not working correctly when using Scheduler
> - JMeterContext now uses ThreadLocal - should fix some potential NPE errors

> ### Version 2.0.1

> Bug fix release. TBA.

> ### Version 2.0

> - HTML parsing improved; now has choice of 3 parsers, and most embedded elements can now be detected and downloaded.
> - Redirects can now be delegated to URLConnection by defining the JMeter property HTTPSamper.delegateRedirects=true (default is false)
> - Stop Thread and Stop Test methods added for Samplers and Assertions etc. Samplers can call setStopThread(true) or setStopTest(true) if they detect an error that needs to stop the thread of the test after the sample has been processed
> - Thread Group Gui now has an extra pane to specify what happens after a Sampler error: Continue (as now), Stop Thread or Stop Test. This needs to be extended to a lower level at some stage.
> - Added Shutdown to Run Menu. This is the same as Stop except that it lets the Threads finish normally (i.e. after the next sample has been completed)
> - Remote samples can be cached until the end of a test by defining the property hold_samples=true when running the server. More work is needed to be able to control this from the GUI
> - Proxy server has option to skip recording browser headers
> - Proxy restart works better (stop waits for daemon to finish)
> - Scheduler ignores start if it has already passed
> - Scheduler now has delay function
> - added Summariser test element (mainly for non-GUI) testing. This prints summary statistics to System.out and/or the log file every so oftem (3 minutes by default). Multiple summarisers can be used; samples are accumulated by summariser name.
> - Extra Proxy Server options: Create all samplers with keep-alive disabled Add Separator markers between sets of samples Add Response Assertion to first sampler in each set
> - Test Plan has a comment field
> - Help Page can now be pushed to background
> - Separate Function help page
> - New / amended functions
> - __property() and __P() functions
> - __log() and __logn() - for writing to the log file
> - _StringFromFile can now process a sequence of files, e.g. dir/file01.txt, dir/file02.txt etc
> - _StringFromFile() funtion can now use a variable or function for the file name
> - New / amended Assertions
> - Response Assertion now works for URLs, and it handles null data better
> - Response Assertion can now match on Response Code and Response message as well
> - HTML Assertion using JTidy to check for well-formed HTML
> - If Controller (not fully functional yet)
> - Transaction Controller (aggregates the times of its children)
> - New Samplers
> - Basic BSF Sampler (optional)
> - BeanShell Sampler (optional, needs to be downloaded from www.beanshell.org
> - Basic TCP Sampler
> - Optionally start BeanShell server (allows remote access to JMeter variables and methods)

> ### Version 1.9.1

> TBA

> ### Version 1.9

> - Sample result log files can now be in CSV or XML format
> - New Event model for notification of iteration events during test plan run
> - New Javascript function for executing arbitrary javascript statements
> - Many GUI improvements
> - New Pre-processors and Post-processors replace Modifiers and Response-Based Modifiers.
> - Compatible with jdk1.3
> - JMeter functions are now fully recursive and universal (can use functions as parameters to functions)
> - Integrated help window now supports hypertext links
> - New Random Function
> - New XML Assertion
> - New LDAP Sampler (alpha code)
> - New Ant Task to run JMeter (in extras folder)
> - New Java Sampler test implementation (to assist developers)
> - More efficient use of memory, faster loading of .jmx files
> - New SOAP Sampler (alpha code)
> - New Median calculation in Graph Results visualizer
> - Default config element added for developer benefit
> - Various performance enhancements during test run
> - New Simple File recorder for minimal GUI overhead during test run
> - New Function: StringFromFile - grabs values from a file
> - New Function: CSVRead - grabs multiple values from a file
> - Functions now longer need to be encoded - special values should be escaped with "\" if they are literal values
> - New cut/copy/paste functionality
> - SSL testing should work with less user-fudging, and in non-gui mode
> - Mailer Model works in non-gui mode
> - New Througput Controller
> - New Module Controller
> - Tests can now be scheduled to run from a certain time till a certain time
> - Remote JMeter servers can be started from a non-gui client. Also, in gui mode, all remote servers can be started with a single click
> - ThreadGroups can now be run either serially or in parallel (default)
> - New command line options to override properties
> - New Size Assertion

> ### Version 1.8.1

> - Bug Fix Release. Many bugs were fixed.
> - Removed redundant "Root" node from test tree.
> - Re-introduced Icons in test tree.
> - Some re-organization of code to improve build process.
> - View Results Tree has added option to view results as web document (still buggy at this point).
> - New Total line in Aggregate Listener (still buggy at this point).
> - Improvements to ability to change JMeter's Locale settings.
> - Improvements to SSL Manager.

> ### Version 1.8

> - Improvement to Aggregate report's calculations.
> - Simplified application logging.
> - New Duration Assertion.
> - Fixed and improved Mailer Visualizer.
> - Improvements to HTTP Sampler's recovery of resources (sockets and file handles).
> - Improving JMeter's internal handling of test start/stop.
> - Fixing and adding options to behavior of Interleave and Random Controllers.
> - New Counter config element.
> - New User Parameters config element.
> - Improved performance of file opener.
> - Functions and other elements can access global variables.
> - Help system available within JMeter's GUI.
> - Test Elements can be disabled.
> - Language/Locale can be changed while running JMeter (mostly).
> - View Results Tree can be configured to record only errors.
> - Various bug fixes.
> Changes: for more info, contact Michael Stover

> ### Version 1.7.3

> - New Functions that provide more ability to change requests dynamically during test runs.
> - New language translations in Japanese and German.
> - Removed annoying Log4J error messages.
> - Improved support for loading JMeter 1.7 version test plan files (.jmx files).
> - JMeter now supports proxy servers that require username/password authentication.
> - Dialog box indicating test stopping doesn't hang JMeter on problems with stopping test.
> - GUI can run multiple remote JMeter servers (fixes GUI bug that prevented this).
> - Dialog box to help created function calls in GUI.
> - New Keep-alive switch in HTTP Requests to indicate JMeter should or should not use Keep-Alive for sockets.
> - HTTP Post requests can have GET style arguments in Path field. Proxy records them correctly now.
> - New User-defined test-wide static variables.
> - View Results Tree now displays more information, including name of request (matching the name in the test tree) and full request and POST data.
> - Removed obsolete View Results Visualizer (use View Results Tree instead).
> - Performance enhancements.
> - Memory use enhancements.
> - Graph visualizer GUI improvements.
> - Updates and fixes to Mailer Visualizer.

> ### Version 1.7.2

> - JMeter now notifies user when test has stopped running.
> - HTTP Proxy server records HTTP Requests with re-direct turned off.
> - HTTP Requests can be instructed to either follow redirects or ignore them.
> - Various GUI improvements.
> - New Random Controller.
> - New SOAP/XML-RPC Sampler.

> ### Version 1.7.1

> - JMeter's architecture revamped for a more complete separation between GUI code and test engine code.
> - Use of Avalon code to save test plans to XML as Configuration Objects
> - All listeners can save data to file and load same data at later date.

> ### Version 1.7Beta

> - Better XML support for special characters (Tushar Bhatia)
> - Non-GUI functioning & Non-GUI test plan execution (Tushar Bhatia)
> - Removing Swing dependence from base JMeter classes
> - Internationalization (Takashi Okamoto)
> - AllTests bug fix (neth6@atozasia.com)
> - ClassFinder bug fix (neth6@atozasia.com)
> - New Loop Controller
> - Proxy Server records HTTP samples from browser (and documented in the user manual)
> - Multipart Form support
> - HTTP Header class for Header customization
> - Extracting HTTP Header information from responses (Jamie Davidson)
> - Mailer Visualizer re-added to JMeter
> - JMeter now url encodes parameter names and values
> - listeners no longer give exceptions if their gui's haven't been initialized
> - HTTPS and Authorization working together
> - New Http sampling that automatically parses HTML response for images to download, and includes the downloading of these images in total time for request (Neth neth6@atozasia.com)
> - HTTP responses from server can be parsed for links and forms, and dynamic data can be extracted and added to test samples at run-time (documented)
> - New Ramp-up feature (Jonathan O'Keefe)
> - New visualizers (Neth)
> - New Assertions for functional testing

> ### Version 1.6.1

> - Fixed saving and loading of test scripts (no more extra lines)
> - Can save and load special characters (such as "&" and "<").
> - Can save and load timers and listeners.
> - Minor bug fix for cookies (if you cookie value contained an "=", then it broke).
> - URL's can sample ports other than 80, and can test HTTPS, provided you have the necessary jars (JSSE)

> ### Version 1.6 Alpha

> - New UI
> - Separation of GUI and Logic code
> - New Plug-in framework for new modules
> - Enhanced performance
> - Layering of test logic for greater flexibility
> - Added support for saving of test elements
> - Added support for distributed testing using a single client

> ### Version 1.5.1

> - Fixed bug that caused cookies not to be read if header name case not as expected.
> - Clone entries before sending to sampler - prevents relocations from messing up information across threads
> - Minor bug fix to convenience dialog for adding paramters to test sample. Bug prevented entries in dialog from appearing in test sample.
> - Added xerces.jar to distribution
> - Added junit.jar to distribution and created a few tests.
> - Started work on new framework. New files in cvs, but do not effect program yet.
> - Fixed bug that prevent HTTPJMeterThread from delaying according to chosen timer.

> ### Version 1.5

> - Abstracted out the concept of the Sampler, SamplerController, and TestSample. A Sampler represents code that understands a protocol (such as HTTP, or FTP, RMI, SMTP, etc..). It is the code that actually makes the connection to whatever is being tested. A SamplerController represents code that understands how to organize and run a group of test samples. It is what binds together a Sampler and it's test samples and runs them. A TestSample represents code that understands how to gather information from the user about a particular test. For a website, it would represent a URL and any information to be sent with the URL.
> - The UI has been updated to make entering test samples more convenient.
> - Thread groups have been added, allowing a user to setup multiple test to run concurrently, and to allow sharing of test samples between those tests.
> - It is now possible to save and load test samples.
> - ....and many more minor changes/improvements...

> Apache JMeter 1.4.1-dev ( Stefano Mazzocchi )

> - Cleaned up URLSampler code after tons of patches for better readability. (SM)
> - Made JMeter send a special "user-agent" identifier. (SM)
> - Fixed problems with redirection not sending cookies and authentication info and removed a warning with jikes compilation. Thanks to Wesley Tanaka for the patches (SM)
> - Fixed a bug in the URLSampler that caused to skip one URL when testing lists of URLs and a problem with Cookie handling. Thanks to Graham Johnson for the patches (SM)
> - Fixed a problem with POST actions. Thanks to Stephen Schaub for the patch (SM)

> Apache JMeter 1.4 - Jul 11 1999 ( Jean-Pierre Norguet , Stefano Mazzocchi )

> - Fixed a problem with POST actions. Thanks to Brendan Burns for the patch (SM)
> - Added close button to the About box for those window managers who don't provide it. Thanks to Jan-Henrik Haukeland for pointing it out. (SM)
> - Added the simple Spline sample visualizer (JPN)

> Apache JMeter 1.3 - Apr 16 1999 ( Stefano Mazzocchi , Raphaël Luta )

> - Run the Garbage Collector and run finalization before starting to sampling to ensure same state every time (SM)
> - Fixed some NullPointerExceptions here and there (SM)
> - Added HTTP authentication capabilities (RL)
> - Added windowed sample visualizer (SM)
> - Fixed stupid bug for command line arguments. Thanks to Jorge Bracer for pointing this out (SM)

> Apache JMeter 1.2 - Mar 17 1999 ( Sean Dowd , Stefano Mazzocchi )

> - Integrated cookie capabilities with JMeter (SM)
> - Added the Cookie manager and Netscape file parser (SD)
> - Fixed compilation error for JDK 1.1 (SD)

> Apache JMeter 1.1 - Feb 24 1999 ( Sean Dowd , Stefano Mazzocchi )

> - Created the opportunity to create URL aliasing from the properties file as well as the ability to associate aliases to URL sequences instead of single URLs (SM) Thanks to Simon Chatfield for the very nice suggestions and code examples.
> - Removed the TextVisualizer and replaced it with the much more useful FileVisualizer (SM)
> - Added the known bug list (SM)
> - Removed the Java Apache logo (SM)
> - Fixed a couple of typos (SM)
> - Added UNIX makefile (SD)

> Apache JMeter 1.0.1 - Jan 25 1999 ( Stefano Mazzocchi )

> - Removed pending issues doc issues (SM)
> - Fixed the unix script (SM)
> - Added the possibility of running the JAR directly using "java -jar ApacheJMeter.jar" with Java 2 (SM)
> - Some small updates: fixed Swing location after Java 2(tm) release, license update and small cleanups (SM)

> Apache JMeter 1.0 - Dec 15 1998 ( Stefano Mazzocchi )

> - Initial version. (SM)

Copyright © 1999-2006, Apache Software Foundation