On this page

Version 9.3

Squish 9.3 is a major release that allows authenticating with a Qt Account login to obtain a license, adds support for Qt 6.12 and Java 25 and includes many smaller features, bug fixes, and usability improvements across all Squish editions.

System Requirements Changes

This Squish release depends on OpenSSL 3 to be installed on the system for any Squish-initiated secure network connections to work correctly. Features that require OpenSSL 3 include:

  • using the new Qt Account login as a licensing option
  • using HTTPS-based on-premise Qt License Server (QLS) as a licensing option
  • OCR.Space and Amazon Rekognition OCR integrations
  • network connections initiated from JavaScript code using the XMLHttpRequest object

On legacy Linux distributions where OpenSSL 3 cannot be installed, including but not limited to:

  • CentOS 7 (Red Hat Enterprise Linux 7 and equivalent) and older
  • Ubuntu 20.04 LTS and older
  • Debian 11 and older

Squish can still be deployed and used, but without the above mentioned features.

General

  • On Linux, network components now gracefully fall back to IPv4 when access to IPv6 is denied by mandatory access control (MAC) frameworks such as AppArmor or SELinux.
  • squishserver now supports attaching to AUTs when a hostname resolves to an IPv6 address.
  • squishrunner changed its exit code in case of start-up errors (invalid commandline arguments and the like) from -1 to 1. This change was made for two reasons:
    1. Unix systems do not support negative exit codes, so -1 turned into 255 on Unix, while it remained -1 on Windows.
    2. Some error conditions already returned exit code 1.

    Please note that the squishrunner commandline reference only documents the behavior of exit code 0, which means that there were no errors. Any other exit code is a potential error, either before, during, or after script code execution happened.

  • Fixed an issue where squishrunner would silently skip test cases when test case execution ran into a fatal error before the actual test script was executed. This includes failure to acquire or renew a license when using a remote license server (i.e. Qt License Server or Squish Floating License Server).
  • Fixed updating of Visual Verification Points using the Accept All button, as it failed to locate the etc/visualselectiondefaults.xml file inside the Squish installation.
  • Bundled Qt License Server (QLS) utilities were upgraded to version 3.6.4, which brings performance improvements for scenarios with a high number (several thousand) of parallel requests.

Scripting

  • Squish now ships Python 3.14.0 as the default bundled interpreter, replacing Python 3.10.6.
  • Placeholder handling in JavaScript BDD steps now processes all characters between the two '|'. This aligns the JavaScript BDD implementation with those of other scripting languages.

IDE

  • The Squish IDE executable was relocated from the bin/ sub-directory to the root directory of the Squish installation.
  • Extended the license configuration GUI in the Squish IDE to support Qt Account as an additional licensing option. The License Key Settings dialog now allows users to sign in with their Qt Account alongside the existing local license key, Qt License Server, and Squish Floating License Server options.
  • Fixed a problem with validating the Squish Floating License Server port in the License Key dialog. Values lower than 1024 were permitted in the Squish IDE, but rejected later when reading the configuration, causing errors.
  • Added a new option Log Output to the control bar Insert menu. It allows users to insert test.log(..) statements into a test script during recording.
  • Fixed a problem causing the toolbar in the Squish IDE main window to disappear when the main window was restored after a test execution or recording.
  • Resolved an issue with custom combo boxes (test suites, MCU devices) in the IDE that were previously rendered with transparent background, making it hard to read the text.

Installer

  • Extended the Squish Installer to support Qt Account as an additional licensing option. Users can now sign in with their Qt Account as a part of the installation process, alongside the existing local license key, Qt License Server, and Squish Floating License Server options.
  • An informative label has been added to the installer, warning users that opting for Qt License Server (on-premise) or Qt Account may affect settings of other Qt products.
  • To configure on-premise QLS or Qt Account login as a licensing option, Squish now uses the newest qtlicensetool available on the system (this may have been installed by another Qt product).
  • Examples are now optional for evaluators, meaning they can be deselected during installation to reduce disk space or avoid risks associated with their dependencies.

Qt

  • The Squish for Qt edition now supports testing AUTs built with Qt 6.12, the latest Qt LTS release.
  • Fixed a crash in Qt AUTs when accessing custom QtQuick Gradient properties on Qt 6. The standard Rectangle.gradient property is not affected by the problem.
  • Fixed a problem with the Squish embedded extension for Weston which would crash debug builds of Weston >= 12.0 when touch input was injected via a test API or remote control.
  • Fixed conversion from QStringList to QList<QString> in Qt 6, this previously caused overload resolution failures.
  • Fixed a re-entrancy issue between the attachable AUT communication logic and activating application windows of a Qt-based AUT.

Android

  • Fixed an issue causing accessibility properties to go out of sync on Android Automotive. The fix refreshes nodes by active polling, which may introduce delays.
  • Fixed an issue where an Android AUT could freeze on start-up on devices with stripped debug information.
  • Fixed a problem where saving an object snapshot could cause Squish for Android to stop responding.

iOS

  • The iphonelauncher helper tool for Squish for iOS now works with Xcode 27, where Device Hub replaces the standalone Simulator.app.

Java

  • The Squish for Java edition now supports testing AUTs running with Java 25.
  • The squish.bcel Java system property was renamed to squish.bytecodelib. Customers using this property when specifying the JVM hooking options manually instead of relying upon squishserver or the startjavaaut tool will need to adjust their AUT invocation.
  • The com.froglogic.squish.swt.FixJar and com.froglogic.squish.awt.FixMethod classes have been moved to squishagent.jar. Customers who use these classes to pre-patch their SWT or AWT libraries will need to adjust the classpath in their pre-patching commands.
  • Improved the Java tutorial to include a full walk-through of testing SWT applications.

macOS

  • When controlling an AUT via accessibility features, Squish for macOS now considers an element's automation type in addition to its accessibility role.
  • Squish for macOS now supports denylisting properties in macwrapper.ini to work around problems with AUTs when Squish queries the property.

MCU

  • Squish for MCU now moves beyond image-based testing and provides full access to the object tree of Qt Quick Ultralite (QUL) applications, including objects, their hierarchy, and their properties. This enables testers to identify objects, verify individual properties and create more robust tests that do not depend on screenshots or display resolution. For object introspection on MCU devices, Qt Quick Ultralite 2.12 or newer is required (see automated testing on MCUs guide for the full list of prerequisites).
  • Fixed a problem where reading from an empty stdout or stderr stream in an MCU test case (applicationContext.readStdout(), readStderr()) caused the test to fail with RuntimeError.

Windows

  • Added a new option WpfUseFastBoundsCalculation to the Windows wrapper. When enabled, a different method will be used to calculate global bounds of objects. This should improve Squish performance when picking objects while recording in WPF applications.

Source Packages/Building from Source

  • squishidl now requires libclang 16.0 to build.
  • Squish for Qt source packages now always contain support for web views, a custom source package is not needed for this anymore.
  • When building from source, configure now auto-detects the following Qt library properties via qmake:
    • Use of debug or release Qt libraries
    • Use of static or shared Qt libraries
    • Use of framework Qt builds on macOS/iOS

    Should automatic detection fail, these properties can be controlled via a set of configure switches:

    • --enable-qt-debug and --disable-qt-debug control use of debug or release Qt libraries
    • --enable-qt-static and --disable-qt-static control use of static or shared Qt libraries
    • --enable-qt-framework and --disable-qt-framework control use of framework or traditional Qt builds (macOS/iOS only)

    The previous --enable-qtdebug-libs switch is now deprecated in favor of the above mentioned --enable-qt-debug switch and will be removed in a future Squish release.

  • Fixed building Squish tools (runner/ide-utils) with a Qt that lacks the QtWebSockets module, leading to undefined symbols in Test Center reportgenerator code.

Deprecated and Removed Features

  • In squishserver configuration, setting the Java hook method jvm is deprecated and will be removed in a future release of Squish.
  • Starting with this Squish release, Squish for Qt 5.4 - 5.14 binary packages are no longer going to be available in the download area.
  • Squish for Qt pre-build example applications form are now deprecated for all Qt 6 versions except for those with active long-term support (LTS): Qt 6.8, 6.11 and 6.12. Starting with Squish 9.4, these applications will be provided as source code only. This change reflects the fact that non-LTS Qt versions and versions with expired (inactive) LTS no longer receive security updates.
  • Squish Floating License Server (FLS) is now deprecated and will be removed in a future release of Squish. Its installers are no longer available in the download area. We recommend customers who currently use FLS to explore on-premise Qt License Server as an alternative, possibly with the FLS-QLS bridge configuration for deployments with legacy Squish (9.1 and older) clients.
  • The Ruby script interpreter shipped with Squish binary packages is now deprecated and will be removed in a future release of Squish. Customers using Ruby to automate their applications are encouraged to reach out to technical support to discuss possible alternatives and/or migration paths, as writing test scripts in Ruby will no longer be possible with future versions of Squish.
  • Third-party OCR integrations Amazon Rekognition and OCR.Space are deprecated and will be removed in a future release of Squish. For image-based testing, Tesseract OCR engine is the recommended alternative.
  • Removed support for building Squish for Qt from embedded source packages on 32-bit Intel Linux hosts. This change does not affect the list of supported target platforms i.e. cross-compiling for 32-bit Linux targets is still possible.
  • Removed support for automated testing of Java applets (deprecated since Squish 9.2.0). These applets are deprecated since JRE/JDK 9 and modern web browsers do not support them anymore.
  • Removed support for PowerBuilder in Squish for Windows (deprecated since Squish 9.2.0). Customers who currently rely on the PowerBuilder extension for automating their Windows AUTs are encouraged to explore the Squish for Windows UiAutomation extension as an alternative, and reach out to technical support to discuss migration assistance tailored to their specific use-case.
  • Removed support for GRIT third-party UI controls in Squish for Windows (deprecated since Squish 7.2.0).

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

Search Results