Version 4.0.1


  • Improved the reliability of calls to the dragAndDrop function on Windows machines.
  • Deal with the Tcl "wide" integer type. Fixed overload errors when, for example, the [seek] command is being used.
  • Properly contain internal lookup errors that may occur during calls to the Boolean object.exists(objectName) function.
  • Invoking squishrunner --testsuite now correctly prints all the test scripts' stderr output to stderr instead of merging the scripts' stderr and stdout output all into stdout. This restores the Squish 3.4.x behavior.
  • No longer produce a spurious "Connection closed" error which sometimes occurred on application exit—for example, if the application was quit inside an event handler.
  • Fixed some problems that could occur when running squishrunner --testsuite on the command line where the test scripts output lots of text to stdout.


  • Fixed a bug where the squishide could hang during startup.
  • Prevented native Windows dialogs from randomly appearing by upgrading to a newer Java Runtime environment.
  • Fixed high CPU consumption in the Script Console view after terminating script execution.
  • Recording of new TSL scripts is not supported so this language option is no longer shown.
  • Prevented a spurious exception from occurring when using the Terminate button to stop execution while halted at a breakpoint.
  • Prevented a spurious exception from occurring when filtering out all the results from the Test Results view.
  • Prevented a spurious exception that could occur when opening a file in an editor other than one of the default script editors.
  • Stopped flickering when updating the text shown in the Control Bar Window.
  • Gracefully handle the opening of a test suite that has the same name as an existing test suite.
  • Fixed a problem with the Launch AUT action that could occur when the editor is maximized.
  • Prevented a spurious exception that could occur when quickly toggling a property checkbox in the Verification Point Creator view.
  • Disable the Launch AUT action, the Run Test Case action, and the Record Test Case action when they don't make sense—for example, when a test case has started.
  • Drastically improved the performance of the Test Results view by reducing the number of screen refreshes.
  • Automatically open the correct Console view when stopping at a breakpoint.
  • Improved the error message that appears when an attempt is made to select an invalid "Squish Tools" package.
  • Fixed a regression where the Pref­er­ences dialog's Playback preferences page was hidden: it is now visible. This page is used to configure the Snooze Factor and Cursor Animation settings.
  • When a file is deleted any editors that are showing the file's contents are now correctly closed.
  • Fixed the updating of failed image verification points with new expected results.
  • The Delete Test Suite action is now disabled when the AUT is running.
  • Gracefully handle the absence of a suite settings file (suite.conf).
  • The order of test cases is now correctly maintained in the suite.conf file even when a test case is renamed.
  • Any changes made through the squishide that affect the suite.conf file now result in the file being updated immediately. This ensures that if the squishrunner accesses the suite.conf file after a change has been made in the squishide, the squishrunner gets the most up to date data.
  • Fixed results produced by the Check Object Existence action.


  • Wildcard matches can now be used on QGraphicsItem objects' lineColor and fillColor properties.
  • Modifier key presses are now correctly simulated when calling the dragItemBy(objectOrName, x, y, dx, dy, modifierState, button) function.
  • Added a new editable property to QModelIndex objects.
  • Added mouseClick(objectOrName, x, y, modifierState, button) overloads for Q3ListView and Q3TableItem objects. These new overloads don't require mouse button or keyboard modifier arguments.
  • Added a mouseClick(objectOrName, x, y, modifierState, button) overload for clicking web objects inside QtWebKit widgets. This overload doesn't require mouse button or keyboard modifier arguments.
  • Fixed the recording and replay of clicks on QComboBox items that have no text.
  • Improved the performance of looking up items in Qt widgets.
  • Fixed the start*aut tool's --verbose option
  • Fixed out-of-bounds checking for rows and columns.
  • The object cache is now correctly invalidated when Squish detects that a cached QObject got deleted.
  • Improved the recognition of web elements inside QtWebKit widgets in cases where the widget's HTML document is reloaded.
  • Properties of type QUrl belonging to QObjects are now automatically exposed.
  • Improved the error message that is output when the lookup of a QTableView's cell failed for given a row and column.
  • Improved the reliability of screenshot generation for Qt widgets; also fixed a bug when calling the doubleClickItem(objectOrName, itemText, x, y, modifierState, button) function on null objects.


  • Fixed the recording of canceling a SWT ColorDialog.
  • Fixed a rare java.lang.ClassCastException when clicking items in Java AWT GUIs.
  • Fixed Windows error R6034 when trying to launch a Java application with a 64-bit JRE installed.


Native Windows (new edition)

  • Fixed the recording of tests on Windows applications which temporarily close all of their windows.
  • Fixed the recording of mouse clicks on native Windows applications in cases where the object under the mouse cursor changes between the mouse button press and mouse button release.
  • Greatly improved the support for interacting with the Windows system tray.
  • Actions on disabled toolbar items are (correctly) no longer recorded.

Mac-specific (Cocoa/Carbon edition)

  • Fixed synchronization problems which could occur when calling the type(objectOrName, text) function and which caused the script to play back before all the keyboard events were processed.


  • Added support for iOS 4 with the iPhone simulator. Note that separate packages are needed for iPhone OS 3.x and for iOS 4.
  • Support hooking into applications that have an executable file name that is different from the .app name.
  • Added a new command line option --xcode-root=<directory> to the iphonelauncher tool in order to support Xcode installations in non-default locations.
  • Fixed a bug in the hook used to test on the iPhone device itself.


  • Fixed clicks on iwidgets TabNotebook objects.

Source Builds

  • Perform 32-bit builds on macOS unless the --enable-64bit option is passed to configure.

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.
The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.
Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.