Version 3.4.5


  • Fixed the crash that occurred when invalid switch statements were encountered in Tcl test scripts.
  • Fixed backtraces shown in the test result logs for Tcl scripts.
  • Fixed the usage of "\[" in wildcard matching patterns for property values.
  • Setup: Fixed writeConfiguration() so that it now shows the correct license key file if it exists, even if it could not be overwritten because it is set to read-only.
  • Added documentation for the Squish Hudson Plugin.
  • Fixed the Perl testData::put() function.
  • Implemented the ApplicationContext.usedMemory property on Windows.
  • The objectMap.load() function now throws a script exception if passed an invalid file name.
  • Fixed the Python script call stack; this means that test.verify() now logs the correct filename and line number.
  • Fixed Perl code generation of Verification Points for nested properties like geometry.x.
  • Improved the test log messages for Python exceptions.
  • Now default to using 'localhost' if an empty host name is passed to startApplication().
  • Fixed the execution of Tcl scripts with one-line command definitions such as proc p {} "test log Hello".
  • Fixed the reporting of errors from functions on the JavaScript SQL object.
  • Fixed the parsing of comments in squishserverrc and other configuration files.
  • Implemented nativeType("<Alt+Space>") for Windows and macOS.
  • macOS only: added support for more special keys (like "<Down>") and key combinations (like "<Command+q>") to the nativeType() function.


  • Fixed the extraction of multi-property names from FAIL's for copying the new screenshot as expected in a Verification Point.
  • Improved the Spy's interaction with the Object Map. This fixes, for example, 'Object existence' checks.
  • Pressing Esc in a "Save changed file?" dialog cancels the closing of the editor instead of closing without saving the changes.
  • Fixed loading Excel files into the Test Data Editor—empty cells are no longer ignored.
  • Fixed the test result messages when saving a test report via the 'Save Results As...' menu entry.
  • Fixed the replay of tests if the current working directory in the suite's settings contains spaces.
  • Fixed a case where the SQUISH_TESTCASE_TEMPLATES environment variable was not respected.


  • Added support for Qt 4.6.

    Note: Qt 4.6.0 on Windows renders text differently from previous Qt versions—this is likely to break existing screenshot verifications. If this is related to the Qt bug (QTBUG-6578) it might be reverted in 4.6.1.

  • Now the button's focus policy on clickButton() calls is respected.
  • Improved the hooking stability for applications which use multiple QApplication objects.
  • Now avoid possible memory corruption in internal QObjectLists.
  • Added a 'backgroundColor' property to QModelIndex objects.
  • Added a safeguard against crashes caused by reentrant calls to the event queue flushing function.
  • Made setMouseTracking(), setUniqueProperty(), and setAllowKeyEventCompression(), work for custom classes.
  • Fixed finding objects that have parenthesis, brackets, dot ('.') or star ('*') in their Qt object name.
  • Raise an exception if sendEvent() is called with the wrong number of arguments.
  • Monkey tester: now also considers top-level objects for user actions in addition to their children.
  • Stopped leaking QString objects that are created on-the-fly from native script strings.
  • Fixed the recording of context menu actions on item views.
  • Applied stricter type checks in various functions accepting QWidget arguments to protect against invalid input.
  • macOS with Qt 4 only: fixed a crash that happened in rare circumstances when the AUT exited.
  • macOS with Qt 4.5 only: record "<Tab>" instead of the non-portable "<->|>" ("->|" represents the tab symbol as ASCII art).
  • Fixed Qt 4 Wrapper Explorer crash on macOS ("dyld: Symbol not found: __ZnwmPv").
  • Return native long integer values if a wrapped API has a "long" return type.


  • Added 'MessageBoxOpened' as a possible option for the installEventHandler() function. The event handler will be called in SWT when a native message box is shown.
  • Fixed the exception that occurred when running setup and rt.jar doesn't contain a manifest.
  • Fixed Eclipse hooking if the "Java for Mac OS X 10.5 Update 4" is installed.
  • Fixed Java hooking on macOS after installing the Java security update of June 15, 2009.


  • Added support for Firefox version 3.5.2 and later.
  • Added support for Safari 4 for Web-testing on macOS.
  • Improved the setFrameContext() function to also consider the name attribute of frames.
  • Added support for the Richfaces toolkit's Combobox.
  • Fixed the replay of multi-line text input in web page <textarea> fields.

Mac-specific (Cocoa/Carbon edition)

  • Fixed a crash in Squish for Mac when accessing certain cells in NSTableViews.
  • Added support for NSAttributedStrings for testing Cocoa applications.
  • Added support for the event type "SheetOpened" in the installEventHandler() function (Cocoa only).
  • Improved the detection of the field editor (i.e., use the correct NSTextField object when recording keyboard input when a non-default field editor is used).


  • Fixed reference-counting of the object returned by the tcleval() function.
  • Avoid access to deleted mainwindow to prevent crashes.
  • Fixed recording on Canvas widgets when the item that was pressed is overlaid by another item before the release happens.
  • Make the Tk wrapper compilable with Qt 4 provided that the Qt3Support module is present.
  • Don't record redundant snooze() statements when the Pause key is used to insert comments into test scripts.

Source Builds

  • Fixed compilation on Mac OS 10.6 (Snow Leopard) if the system Perl library is being used.
  • Support compilation with Tcl 8.3.

© 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.