Overview¶
Upon updating (or upgrading) to a new Squish version, the following points should generally be considered.
General considerations and topics¶
Squish backwards compatibility¶
The major aim of Squish is to maintain a maximum of backwards compatibility. However, in some rare cases this may not be possible to achieve. Information about cases where backwards compatibility could not be maintained can be found in the release notes of the Squish manual.
Please make sure to check the release notes in the Squish manual of each intermediate Squish release for this information.
Test every new Squish version¶
Ensure to thoroughly test each Squish version before bringing a into production. Do not make assumptions.
Support rollback¶
In case problems occur with a new version in production, make it so that rolling back to the last known working setup is possible.
Squish versions covered by standard support¶
Consider updating to a Squish version that is covered by standard support.
Typically only the last releases of the two last major+minor version releases are supported. (See 1. STANDARD SUPPORT AND MAINTENANCE .)
For example, at the time of this writing:
Squish 9.2.1 has been released on 2026-03-19 and is currently covered by standard support.
Squish 9.2.0 will be supported during a grace period until 2026-06-19 (3 months after previous major+minor release 9.2.1).Squish 9.1.1 has been released on 2025-11-11 and is currently covered by standard support.
Squish 9.1.0 will be supported during a grace period until 2026-03-11 (3 months after previous major+minor release 9.1.0).Earlier versions are no longer covered by standard support.
Skipping Squish releases¶
It is a viable strategy to skip Squish releases when updating.
But in case of problems that cannot be easily solved, be ready to test any of the skipped Squish releases. If an earlier release does not exhibit the same problem, consider updating to this instead, for the time being.
Support for old/new technologies and old/new technology versions in Squish¶
Ensure that the Squish version still supports the required technology or technology version.
Ensure that the Squish version already supports the required technology or technology version.
If in doubt, please contact our technical support to clarify this ahead of time.
Information about deprecated functionality and deprecated technology support can be found in the release notes in the Squish manual (and via the search function). (See "Deprecation Status Updates" of Squish Squish 9.2.0 and Squish 9.1.1 , but also earlier version.)
Update one-at-a-time¶
When your application is being updated to a new version of the underlying technology, update the test setup for the current version of the application (based on a previous version of the underlying technology) to the most recent Squish version possible.
When the test setup needs to be updated to a new version of the operating system, try to make it so to only update that, then ensure your automated tests are still working. This assumes that new versions Squish still support this older operating system version. If it does not, check the most recent version of Squish that still supports that version of the operating system.
Squish known issues¶
Check the known issues of the intermediate and the desired Squish versions for issues that are relevant to your use cases.
Please find information about known issues in the Squish knowledge base .
Test script related problems¶
Timing issues in test scripts¶
Test scripts may be failing due to insufficient synchronization. For example, an object that should be clicked may not have arrived at its final position on the screen yet, for example due to animation, or because the view it resides in is still (or constantly) being updated.
A simple way to test for such types of problems is to insert a
snooze(3)
function call before the lines where the problems occur, and then check if the problems remain. If this delay avoids the problem, one needs to consider how to improve the synchronization for the required object state.
A possible approach to try check, as well as to stabilize test execution, can consist of implementing the functions
waitUntilObjectReady()
and
waitUntilObjectItemReady()
in the test scripts, and to simply add such a snooze() based delay in them:
Due to changes in Squish¶
This type of problem can also occur due to internal changes in Squish, for example when some Squish operating is sped up in a new version, so that the test execution may get to interacting with objects before the have reached the desired state.