Quality First Software GmbHgradient
Quality First Software GmbH
ProfessionalTest Automation
Home|Contact|Deutsch
QF-Test  –  The GUI Test Tool for Java and Web Demo VideoDownloadQF-Test BookletQF-Test

Release notes

This document lists changes to QF-Test since version 3.0.

Development and Production Versions

Currently there is only one version of QF-Test available, but sometimes there are two. The development version with odd middle version number always includes the latest features. On a production branch with even middle version number, new versions are released mainly to fix bugs. Only very few new features are added there and these are typically small. Both versions are tested equally well. The production version is more stable insofar as it undergoes fewer and less significant changes and its larger user-base has had more time to find bugs.

Please see Upgrades for further information.

Full Releases and Patches

Even with the conservative approach of separate development and production versions there remains a certain conflict on interests. On one hand, bug-fixes should become available as early as possible. However, most problems affect a minority only and the rest usually prefer collective updates at longer intervals. To accommodate both there are typically two kinds of releases on a production branch:

bullet 
Full maintenance releases like version 3.0.1 are released about every 6-10 weeks with a complete collection of changes accumulated during that period. In case of severe bugs a full maintenance version will be released as soon as the bug is fixed. Maintenance releases are announced publicly on the newsletter and the website.
bullet 
At irregular intervals, patch versions like 3.0.0-p1 are released to provide the latest changes to those who need them. These are announced on the QF-Test mailing list only (more about the QF-Test mailing list).

During development of new features or bug-fixes it is often necessary to solicit feedback from users. To that end, experimental patches are sometimes released to individual customers or, if of general interest, via the mailing list.

A patch is a very small set of changes relative to a given QF-Test version. It is provided in the form of a ZIP archive which is extracted over an existing QF-Test installation. There is only one ZIP file for all operating systems and installing a patch causes far less overhead than upgrading to a new QF-Test release.

A patch is always a temporary solution. The next full maintenance release will include all working fixes from patches since the last release and thus supersede previous patches.

We always run a full set of tests against official patches. However, due to the shorter release cycles patches cannot be quite as well tested as full releases. If you encounter problems after installing a patch, you can usually disable the patch by removing the file .../qftest/qftest-x.y.z/qflib/patch.jar. Please report all problems with patches to qftest-bug@qfs.de or to the mailing list.

Version 3.2.2 - July 15, 2010

New features:

bullet 
Support was added for testing Eclipse/SWT version 3.6 "Helios".
bullet 
Multiple file selection in an SWT FileDialog can now be recorded and replayed.

Bugs fixed:

bullet 
Replay performance could suffer severely if the user's home directory was located on a network drive.
bullet 
A workaround for an AWT weakness introduced in QF-Test 3.2.1 could impact replay performance for AWT/Swing.
bullet 
Yet another performance problem resulting from very large hierarchies of Swing menus has also been fixed.
bullet 
Several special cases for uploading files with Internet Explorer are now handled correctly.
bullet 
Downloading files with Internet Explorer now works correctly in case of HTTP redirection.

Version 3.2.1 - May 11, 2010

Bugs fixed:

bullet 
With a 1.4 JDK in interactive mode QF-Test would only start if given a file to open.
bullet 
Web-testing now works again on Windows 2000.
bullet 
The QF-Test debugger used to show duplicate entries on the variable stack for 'Procedure call' and 'Test call' nodes.
bullet 
There was a memory leak in connection with interactive editing of test-suites with 'Check image' nodes for large images.
bullet 
In very special cases an import of components into their own suite could result in incorrectly updated references.
bullet 
Saving entries for zipped run-logs could occasionally fail on Windows due to a problem in the underlying library. QF-Test now works around that.
bullet 
Two problems were fixed for SUTs with more than one GUI engine, e.g. a WebStart application or combined SWT/Swing. In such a case QF-Test used to log more than one screenshot of the main screen after an error and sometimes connections from the second engine could fail.
bullet 
The upload dialog for web pages was not handled correctly for all browser versions and the procedure qfs.web.input.fileUpload in the standard library qfs.qft did not handle all cases correctly.
bullet 
In recent QF-Test versions there was an inofficial global Jython run-context rc available in addition to the local one. In special cases this could cause subtle namespace problems, so the (still inofficial) global version was renamed to __rc.
bullet 
Several minor problems and occasional exceptions in connection with the result list dialogs were fixed.

New features in QF-Test version 3.2

Following is an overview over the main new features that have been implemented for QF-Test version 3.2. For detailed information about the differences between QF-Test 3.0 and 3.2, please see the release notes for versions 3.2.0 and 3.1.x.

bullet 
Support for Web testing in combination with Java applets
bullet 
JDK instrumentation is no longer required
bullet 
Workbench view for a modern user interface
bullet 
'Test-step' nodes for detailed reports
bullet 
Refactoring support with automatic update of references
bullet 
Integration with the open source test management tool TestLink
bullet 
New 'Best Practices' part in the manual
bullet 
Eclipse/SWT support updated for the latest versions including GEF
bullet 
Incremental search in all of QF-Test's text fields
bullet 
Result list dialogs for complex operations
bullet 
Component method spy
bullet 
Options can be set at script level
bullet 
Relative and test-suite-local procedures
bullet 
New-style 'Check' nodes and support for custom Checkers
bullet 
Static validation of references
bullet 
Automatic parameterization of procedures
bullet 
Persistent bookmarks and transient marks
bullet 
New APIs: ItemResolver, Checker, ClassNameResolver and TestRunListener

Version 3.2.0 - March 25, 2010

New features:

bullet 
Support for Eclipse/SWT has been brought up-to-date with the current versions 3.5.2 and 3.6M6.
bullet 
Swing components are no longer highlighted by exchanging their foreground and background color but by painting a rectangle, similar to SWT and Web. Target sub-items are now highlighted as well.
bullet 
The new 'Boolean check' node with 'Check type identifier' attribute 'visible' is similar to 'Wait for component to appear' node, but in contrast to the latter is is listed in the report as a check and it has different default settings for the result handling.
bullet 
The most recently accessed component and possibly item in the SUT can now be retrieved in Jython and Groovy 'SUT script' nodes via rc.getLastComponent() and rc.getLastItem().
bullet 
Selecting a file for upload in a web form can now be recorded and replayed directly on Windows. For a cross-platform implementation it is still necessary to call the procedure qfs.web.input.fileUpload from the standard library qfs.qft.
bullet 
Additional features were added to the result lists for complex operations. For example, you can now perform actual replacements in the result list for the replace dialog or you can update multiple failed checks at once from the error list in a run-log. Besides, the result list for an operation that takes time is now filled continuously and the operation can be aborted if necessary.
bullet 
Recent search expressions are now saved in the user configuration.
bullet 
'Dependency' nodes inside 'Packages' are now listed in the pkgdoc documentation unless disabled via the command line argument -pkgdoc.dependencies or the respective interactive option.

Bugs fixed:

bullet 
Right-clicks for Javascript-based popup menus no longer need to be replayed as hard events in order to trigger the popup reliably.
bullet 
When recording checks the z-order of DOM nodes is now properly taken into account so that QF-Test no longer records nodes that are actually in the background, covered by other nodes.

Version 3.1.4 - February 9, 2010

New features:

bullet 
It is no longer necessary to instrument standard JDKs or JREs, though it doesn't hurt to keep existing instrumentation.
bullet 
Support was added for the latest Eclipse/SWT version 3.6.
bullet 
QF-Test now supports Firefox 3.6.
bullet 
The new part II 'Best Practices' in the manual describes recommended procedures based on lessons learned from several customer projects and user feedback that will hopefully help you to find the best strategy for using QF-Test in your own projects.
bullet 
Reports have been restructured and further extended. 'Check' nodes now have an optional 'Name' attribute for their representation in the report. Besides, the performance of report creation has been drastically improved and its memory impact reduced.
bullet 
The tree display in run-logs now shows expanded values instead of variables. This can be toggled via the »View« menu.
bullet 
Compactification for run-logs is now more efficient and special placeholder log entries show where nodes were removed during compactification.
bullet 
Support for the Eclipse Graphical Editing Framework (GEF) is now included by default and works correctly with multiple concurrent GEF editors.
bullet 
The new procedure qfs.web.input.fileUpload in the standard library qfs.qft handles INPUT:FILE nodes for the various browser variants.
bullet 
TestLink integration has been simplified.
bullet 
For Swing and SWT tables and multi-column trees it is now possible to check a whole row at once.
bullet 
ExtraFeatureResolvers can now also be used for SWT and Swing.
bullet 
The standard library qfs.qft now includes wrapper procedures for the autowin module in the package qfs.autowin. These can be used to check for the existence of a window and to close it on Windows systems.
bullet 
The runid of the current test-run now is now available via ${qftest:runid}.
bullet 
Special variables or properties of type group:name can now be used for 'Characteristic variables'.
bullet 
For nodes like 'Test-step' or 'Test-set' with several tabs for variable bindings the number of bound variables is now displayed in the tab which makes it much easier to locate those bindings.

Bugs fixed:

bullet 
Several causes for IE crashes were fixed.
bullet 
Wait for absence now works correctly for invisible nodes.
bullet 
QF-Test doesn't get blocked as easily when the SUT generates a lot of output and the JTextArea for the shared terminal cannot keep up.
bullet 
The internal variable stack of QF-Test could get messed up in some special cases.
bullet 
The procedure builder now correctly handles '_' characters in package or class names.

Version 3.1.3 - December 1, 2009

New features:

bullet 
The new 'Test-step' node can be used to provide further structure and document tests below 'Test-cases'. 'Test-steps' are listed individually in the report unless deactivated with -report.teststeps. Similar effects can be achieved by marking arbitrary nodes with the doctag @teststep, optionally followed by a name for the step.
bullet 
The report now also can list checks (off by default) and warnings (excluding component recognition warnings, on by default) integrated into the test-step listing and also shows icons for nodes. The respective settings can be changed via -report.checks, -report.warnings and -report.nodeicons in batch mode or the respective options in the dialog for interactive report creation.
bullet 
In the workbench view there is now a context menu for the test-suite tabs.
bullet 
All 'Comment' attributes can now be edited in an external editor similar to scripts.
bullet 
There are new toolbar buttons in the run-log window for navigating to the next/previous error or warning.
bullet 
The incremental search feature now has more intelligent scrolling for hits and also allows scrolling the component being searched via the [Up], [Down], [Page up] and [Page down] keys.
bullet 
'Dependencies' can now optionally be resolved in a namespace which allows having different sets of dependencies for different parts of a test so that the dependencies don't interfere with each other. See the 'Dependency namespace' attribute for details.

Bugs fixed:

bullet 
Due to the JIDE libraries used, the new workbench view does not work with JDK 1.4. It now gets deactivated automatically when starting QF-Test with a 1.4 JDK.
bullet 
Several exceptions caused by the new workbench view and the multi result dialogs were fixed.
bullet 
Text checks for SWT Group widgets were missing.
bullet 
Fixed automatic scrolling of web pages for image checks and replay of hard events.
bullet 
The popup sub-menu for setting and removing marks was sometimes empty.

Patch 3.1.2-p1 - October 20, 2009

Bugs fixed:

bullet 
In the new workbench view QF-Test could lose track about which suites are currently loaded, causing a suite to get loaded more than once, leading to confusing behavior and sometimes an exception.
bullet 
The new mechanism for on-the-fly SWT instrumentation only handled one SWT plugin, so that in case of a multi-platform Eclipse based application with several SWT plugins the correct plugin for the current platform could remain uninstrumented.
bullet 
Calling stopRun could cause the shared run-context in the QF-Test daemon to become unusable.

Version 3.1.2 - October 15, 2009

New features:

bullet 
Support was added for the latest Eclipse/SWT version 3.5.1.
bullet 
We have started work on special support for several AJAX web toolkits, including Ext GWT, Ext JS, GWT, qooxdoo and RAP. Instead of deeply nested hierarchies of <DIV> nodes QF-Test now operates in terms of the actual rich interface of buttons, labels, trees etc. For information on how to activate this feature in its current state, please get in touch with QFS.
bullet 
QF-Test now comes with support for interacting with the open source test management tool TestLink.
bullet 
By default QF-Test now starts with a "Workbench View" where all open test-suites are arranged as tabs in a single window. This feature is work in progress. In case it causes problems or if you prefer the old style, you can switch back to multiple windows via the »View« menu.
bullet 
The new function »Analyze references« in the context menu of a node can be used to statically validate the correctness of a test-suite by verifying the existence of the target nodes of 'Procedure calls', 'Test calls', 'Dependency references' and references to 'Components'.
bullet 
Operations that search for or result in changes to multiple nodes now bring up a mass result dialog listing the affected nodes. You can either navigate to specific nodes directly from that dialog or use it to set marks on some or all of the resulting nodes.
bullet 
Nodes in a test-suite can now be marked with markers in four different colors for easier reference and quick navigation. Marks can be set either individually via the menu »Edit«-»Marks« or the context menu, or from a mass result dialog.
bullet 
All text fields, terminals etc. in QF-Test's user interface can now be searched locally by pressing [Ctrl-F] when the field owns the keyboard focus.
bullet 
The new Component Method Spy retrieves and displays fields and methods of Swing or SWT components as well as the Javascript properties of a DOM node in the web client.
bullet 
After recording a new sequence and transforming it into a 'Procedure' you can select »Parameterize node« from its context menu to tell QF-Test to automatically extract parameters for it from the contained nodes.
bullet 
The Eclipse/SWT instrumentation performed by the 'Procedure' qfs.qft#qfs.swt.instrument.setup now operates on-the-fly, building a new plugin from an existing plugin and the QF-Test specific add-ons. Thus it is now possible to instrument custom SWT plugins or plugins for unofficial Eclipse versions for which QF-Test doesn't provide an exactly matching instrumented plugin.
bullet 
Event nodes can now be transformed into a 'Wait for component to appear' node.
bullet 
The keyboard shortcut for the 'Redo' operation was changed from [Ctrl-R] to [Ctrl-Y]. Over the last years the latter has become a de facto standard.
bullet 
The warning about nested 'Test-case' execution can now be suppressed via the option "Log warning for nested test-cases".
bullet 
Where scrolling a web page is required to perform a hard event or an image check, QF-Test now tries to scroll a web page itself via Javascript calls instead of relying on the browser's internal mechanism which often completely messes up the display.
bullet 
Component recognition based on geometry can now be suppressed by setting the coordinate and size attributes of a 'Component' to '-'.
bullet 
It is now possible to specify just the 'Class count' or 'Class index' of a 'Component' node and ignore the other.

Bugs fixed:

bullet 
Using the replace dialog to replace a regular expression with an empty string caused an exception.
bullet 
The function to make 'Procedure calls' or 'Dependency references' relative did not work reliably.
bullet 
When moving several 'Procedures', the automatic correction of 'Procedure calls' could fail in some special cases.
bullet 
Procedure recording now works correctly for custom classes with a special ClassLoader.
bullet 
When creating reports, warnings can be suppressed entirely by specifying -report.warnings=false for batch mode or deactivating the respective option in the dialog for interactive report generation.
bullet 
Recording a click on an editable SWT table cell could cause the cell editor to get activated in the wrong table row.
bullet 
'Fetch index' nodes were not implemented for SWT.
bullet 
Removing or marking unused components, importing and other complex component operations could fail if the test-suite contained a 'Data table' node with no columns or empty table cells.

Add-on for Eclipse/SWT 3.5.1 - September 30, 2009

New features:

bullet 
This add-on adds support for Eclipse/SWT 3.5.1 "Galileo".

Version 3.1.1 - July 28, 2009

Incompatible changes:

bullet 
The changes to the check system described below are fully backwards compatible. However, once a test-suite has been saved with QF-Test version 3.1.1 it cannot be run correctly with an older QF-Test version except for QF-Test version 3.0.3 which has explicit bidirectional compatibility support for this feature. Once you introduce QF-Test version 3.1.1 you can safely continue to work with QF-Test 3.0.3, but you should not use older versions like 3.1.0 or 3.0.2.

New features:

bullet 
The transition to the new check mechanism is now complete. Custom Checkers are now fully documented and can be created for all check data types. All 'Check' nodes now have a 'Check type identifier' attribute and the old 'Check editable', 'Check enabled' and 'Check selected' nodes were replaced with 'Boolean check' nodes with a matching 'Check type identifier'.
bullet 
It is now possible to bookmark test-suites, run-logs and individual nodes in a test-suite so they are directly accessible via the new sub-menu »File«-»Bookmarks«.
bullet 
The new ClassNameResolver - though also useful for SWT and Swing applications - is an important milestone for AJAX web testing. With its help and the new pseudo class hierarchy for DOM nodes a deeply nested hierarchy of DIV nodes can be turned into a concise component hierarchy with expressive class names that vastly improve component recognition.
bullet 
'Procedures' can now automatically be parameterized via the sub-menu »Parameterize node« in the popup menu for the 'Procedure' node. This feature is work in progress and will need more fine-tuning so we hope for your feedback.
bullet 
When creating testdoc documentation it is now possible to follow 'Test call' nodes and include the target 'Test-case', 'Test-set' or test-suite into the generated documentation by activating the respective option in the dialog for interactive use or via the command line argument -testdoc.followcalls in batch mode.
bullet 
Several more variants for converting and (un)packing nodes were added.

Bugs fixed:

bullet 
Several problems with split run-logs were fixed. Log entries could get lost in compact logs, when the split run-log was not saved as a zip file or when split run-logs were disabled but the attribute 'Name for separate run-log' was defined.
bullet 
DaemonTestRunListeners did not work correctly in asynchronous mode.
bullet 
When creating a report, screenshots for failed 'Check image' nodes were always saved regardless of whether the failed check actually represented an error or was just a part of a conditional construct.
bullet 
Use of the new Java regular expressions in QF-Test's replace dialog was not correct so that some replacements based on regexps were not possible.
bullet 
When determining uniqueness of "id" attributes for use as names, QF-Test was too strict so that in some cases potential names were not assigned.
bullet 
Instrumenting an OpenJDK directory now works.
bullet 
Waiting for a new document did not handle the window name attribute correctly.
bullet 
Waiting for a download to finish always waited for the full timeout.
bullet 
In very rare cases replaying text input could crash an SWT application on Linux.
bullet 
Option settings from rc.setOption() in the SUT were reset whenever options were changed in the option dialog.
bullet 
Event replay for SWT MenuItems with Gtk 2.4 on RedHat Enterprise Linux 4 was not reliable.
bullet 
The ktable and gef Jython modules for the respective SWT components were not correctly updated for the new ItemResolver and Checker mechanisms.
bullet 
QF-Test now properly discerns the most modal SWT Shell in case multiple modal Shells are opened simultaneously.

Patch 3.1.0-p1 - June 25, 2009

New features:

bullet 
The primary cause for this patch release is its support for Eclipse 3.5 "Galileo".

Version 3.1.0 - May 19, 2009

Incompatible changes:

bullet 
QF-Test now uses standard Java regular expressions by default which are much more powerful than the old GNU regexp package. One major difference is that '{' and '}' are special characters for Java regexps and may need to be escaped with a '\'. If necessary, you can switch back to the old GNU regexps via the option "Use old-style GNU regexps (from before QF-Test version 3.1)".
bullet 
In contrast to Mozilla, Internet Explorer reports a local navigation to an anchor on the current page as a normal navigation event, so up to now a 'Wait for document to load' node was recorded which failed when replaying the same test on Mozilla. QF-Test now treats this situation uniformly by ignoring the extra navigation from IE so no 'Wait for document to load' node is recorded with either browser. Consequently, old 'Wait for document to load' nodes for local navigation will now fail and need to be removed from your tests.

New features:

bullet 
QF-Test's embedded browser for web testing now supports Java applets with JDK 1.6.0_10 and up, so QF-Test can now test the interaction of a web application with its embedded Java applet.
bullet 
Many of QF-Test's options, specifically those with an impact on test execution, can now be changed at run-time via the new run-context method rc.setOption.
bullet 
When moving 'Procedure', 'Dependency' or 'Test-case' nodes, all references to these nodes can now be updated automatically. Similar updates are now performed when changing the name of such nodes or 'Component' IDs via the replace dialog. As an additional feature the new special Variable group ${id:...} and the run-context method rc.id can be used to mark arbitrary text as the definition of a component id that will be updated whenever the referenced component changes.
bullet 
'Procedure calls' from one 'Procedure' to another 'Procedure' in the same 'Package' hierarchy can now use a relative procedure name. Also, 'Procedures' and 'Packages' can now be made local to their test-suite by prefixing the name with an '_'.
bullet 
The selection dialog for a 'Procedure', 'Dependency' or 'Test-case' node now also shows the comment of the selected node. Also, it is now possible to select multiple nodes in order to insert multiple calls at once.
bullet 
A 'Procedure call' to a specific 'Procedure' can now be created by copying the 'Procedure' node and pasting it to a place where insertion of the 'Procedure' is not allowed, which is basically everywhere a 'Procedure call' is allowed except for the 'Extras' node. Dragging and dropping a 'Procedure' with the same effect is also supported.
bullet 
It is now possible to interact directly with the Javascript engine of the browser and execute arbitrary scripts via the methods DomNode.toJs, DomNode.evalJs and DocumentNode.evalJs.
bullet 
When an error or exception occurs, the run-log now contains a stacktrace node, showing all nodes on the execution stack including their variable bindings, similar to the variables view in the debugger window.
bullet 
There is a new API for various kinds of resolvers and checkers, including an ItemResolver interface for implementing your own sub-items of custom components and a Checker interface for custom checks that can be captured and replayed just like QF-Test's standard checks.
bullet 
The new TestRunListener API can be used to monitor a test-run from a script. Its variant DaemonTestRunListener supports the same remotely via QF-Test's daemon API.
bullet 
Support for Eclipse/SWT now includes the latest Eclipse milestone 3.5M7.
bullet 
The run-context method rc.callProcedure now also works from an 'SUT script' in a web application.
bullet 
Execution of a 'Test-case' or 'Test-set' can now be aborted or skipped via the run-context methods rc.skipTestCase, rc.skipTestSet, rc.stopTestCase and rc.stopTestSet, e.g. to prevent wasted time and irrelevant error messages in case a dependency cannot be resolved.
bullet 
The name of the currently executing 'Test-case' is now available via the special variables ${qftest:testcase.name}, ${qftest:testcase.qname} and ${qftest:testcase.reportname}.
bullet 
Via the new methods setProperty and getProperty in the class Node from QF-Test's pseudo DOM API for web applications, arbitrary data can be associated with DOM nodes without affecting the web application.
bullet 
The new command line argument -ping for qftest -batch -calldaemon can be used to check whether a QF-Test daemon is up and running.

Bugs fixed:

bullet 
For SUTs running on Mac OS X QF-Test disables use of the screen menu bar to allow proper capture/replay of menu actions.
bullet 
Activating an engine license in the option dialog now works as expected.
bullet 
When recording procedures, a new root 'Package' is always created instead of merging the procedures into a possibly existing 'Package' named "procbuilder".

Version 3.0.3 - July 28, 2009

New features:

bullet 
Handling of 'Check' nodes is reverse-compatible with changes in QF-Test version 3.1.1 in which checks underwent a major overhaul. QF-Test version 3.0.3 can load, execute and save test-suites created with version 3.1.1 without losing information.

Bugs fixed:

bullet 
Several problems with split run-logs were fixed. Log entries could get lost in compact logs, when the split run-log was not saved as a zip file or when split run-logs were disabled but the attribute 'Name for separate run-log' was defined.
bullet 
When determining uniqueness of "id" attributes for use as names, QF-Test was too strict so that in some cases potential names were not assigned.
bullet 
JDK instrumentation now also works for an OpenJDK directory.
bullet 
Waiting for a new document did not handle the 'Name of the browser window' attribute correctly.
bullet 
Waiting for a download to finish always consumed the full timeout.
bullet 
Activating an engine license in the option dialog now works as expected.
bullet 
In very rare cases replaying text input could crash an SWT application on Linux.
bullet 
For SUTs running on Mac OS X QF-Test disables use of the screen menu bar to allow proper capture/replay of menu actions.

Patch 3.0.2-p2 - June 25, 2009

New features:

bullet 
The primary cause for this patch release is its support for Eclipse 3.5 "Galileo".

Bugs fixed:

bullet 
Event replay for SWT MenuItems with Gtk 2.4 on RedHat Enterprise Linux 4 was not reliable.
bullet 
QF-Test now properly discerns the most modal SWT Shell in case multiple modal Shells are opened simultaneously.

Patch 3.0.2-p1 - April 14, 2009

Bugs fixed:

bullet 
In QF-Test version 3.0.2 hard TAB characters in Jython or Groovy scripts were replaced with blanks when showing the script, immediately causing the respective node to become modified. This change has been taken back.
bullet 
With JDK 1.6 some of QF-Test's dialogs were not displayed with the correct size.

Version 3.0.2 - March 27, 2009

New features:

bullet 
Support was added for Eclipse/SWT versions 3.5M6 and 3.4.2.
bullet 
The method callProcedure was added to the class DaemonRunContext of QF-Test's daemon API. This method and the existing method runTest now also support direct passing of parameters to this call.

Bugs fixed:

bullet 
'Wait for document to load' nodes for web clients did not work reliably in case of multiple browser windows.
bullet 
Checking the enabled/disabled state of components is now also implemented for web clients.
bullet 
Capture and replay of MOVED and SIZED events is now also supported for browser windows of web clients.
bullet 
QF-Test now performs regular explicit garbage collections to prevent running out of memory in the PermGen Space, a special Java memory region that causes trouble for a lot of Java applications. For the SUT these extra garbage collections can be turned off via the option 'Automatically perform garbage collection in the SUT'.
bullet 
Disposal and recreation of an SWT Display is now handled correctly.
bullet 
Custom SWT Widgets implemented as an anonymous local class were not treated correctly, possibly leading to a ComponentNotFoundException.
bullet 
For checks with a very long timeout deadlock detection is now adjusted accordingly.
bullet 
The demonstration test-suite for integration with the Imbus TestBench was updated to the latest TestBench version and now handles split run-logs correctly.

Version 3.0.1 - January 23, 2009

New features:

bullet 
The Jython and Groovy run context rc now provides the convenience methods getBool, getInt, getNum and getString for simplifying lookup of typed variable values in scripts.
bullet 
It is now possible to specify proxy settings for a web SUT directly in the quickstart wizard or via the procedure qfs.web.browser.settings.setProxy in the standard library test-suite qfs.qft.
bullet 
An entry for Swing JInternalFrame components has been added to the template file for automatic procedure creation.

Bugs fixed:

bullet 
Web-testing with Mozilla on Linux no longer requires using a 1.4 JDK.
bullet 
Using the "Update component" feature for web pages with deeply nested tables could lead to duplicate component IDs.
bullet 
Left-to-right binding in 'Data table' and other data nodes has been fixed.
bullet 
SQL statements in 'Database' nodes did not work with Oracle databases, due to an automatically appended ';' character. This has been fixed. If your database engine requires that SQL statements are terminated with a ';' you have to specify it yourself.
bullet 
The procedure qfs.swt.instrument.setup now always picks the SWT plugin with an exact version match for instrumentation, if available. This is important for SWT 3.4, where versions 3.4.0 and 3.4.1 are mutually incompatible.
bullet 
When recording procedures, a '$' character displayed in one of the fields of the SUT could lead to an exception.
bullet 
Groovy class loading and script parsing in the SUT should now be faster, in some cases - specifically applets - drastically.
bullet 
A caught exception in the 'Finally' node of a 'Try' node could mess up the state of an exception caught earlier in a 'Catch' node.
bullet 
The demo test-suite swt_addressbook.qft was still based on SWT 3.1, support for which is no longer distributed with QF-Test. The suite is now based on SWT 3.4.

Version 3.0.0 - December 5, 2008

Major new features:

bullet 
Cross-platform and cross-browser web testing with web2.0/AJAX support.
bullet 
Integration with HP/Mercury Quality Center and Imbus TestBench.
bullet 
Groovy as a second scripting language.
bullet 
New Jython version 2.2.1.
bullet 
Improved Jython and Groovy script editor with syntax-highlighting.
bullet 
Automated creation of basic procedures.
bullet 
Extended and unified functionality for 'Check...' and 'Wait...' nodes.
bullet 
Direct support for negated checks.
bullet 
Split run-logs enable long-running tests without memory problems.
bullet 
64-bit support for SWT on Windows and Linux.
bullet 
Extensions and an external driver for the daemon API.
bullet 
New concept: "Expected failure" for 'Test-case' nodes.
bullet 
Directing and documenting manual tests.
bullet 
Extended undo support.
bullet 
Immediate vs. lazy variable bindings.
bullet 
Image API for creating and saving screenshots.
bullet 
Crypting of text input for password fields.
bullet 
Recursive sorting and transformation of nodes.
bullet 
Revised search with highlighting of results.
bullet 
Extensions to the standard library test-suite qfs.qft.
bullet 
New tutorial chapters for advanced features.