Skip to content

Squash TM 9.X Release Notes

Automatic Database Installation and Update

Squash TM 9.0 introduces an automatic database installation and update system.
This can be configured via the squash.db.update-mode parameter in the squash.tm.cfg.properties file. The possible values and their effects are described on this page.
For installations of Squash TM in Docker, or as a Windows or Linux service (systemd), forced mode must be used.(In the Docker image supplied by Henix, this parameter is already set to forced).

Squash TM 9.0.0

Released on January 30, 2025

Evolutions

  • Requirements:

    • 256 The option selected in the filter of the requirement workspace dashboard is persisted.
  • Test Cases:

    • When copying a test case generated by AI, the "Drafted by AI" indicator is kept.
  • Executions:

    • 142 The test case related to an execution can be accessed from the execution page.
    • 256 The option selected in the filter of the execution workspace dashboard is persisted.
  • Issues:

    • Several issues can be linked in a row to an execution without having to close the dialog.
  • Reporting:

    • In the Requirement and Test Case Editable Reports, missing images are replaced with their alt text or with "image not found" if there is no alt text.
  • Automation:

    • When an automated test fails, the associated error messages are displayed on the test details view of an automated suite.
    • Issues can be created or linked to a test error message from the test details view of an automated suite.
    • Flags are automatically added in the test details view of an automated suite to indicate if the test needs to be analyzed, is flaky or has been fixed.
    • There is a feedback (green tick) when a test case is successfully transmitted.
    • 1 All columns can be resized in the tables of the automation workspace.
    • Parameters can be passed to automated scripts for SoapUI.
  • Transverse / Ergonomy:

    • The action buttons at the end of rows of all tables are fixed.
  • Administration:

    • Permissions in the requirement, test case, and action workspaces can be configured for custom profiles.
    • Users and teams linked to a profile can be transferred to another profile.
    • Deleting a repository linked to a source code management server in the UI deletes it on the Squash server.
    • Repositories can be recreated at the same location on the Squash server.
  • Technical:

    • Squash database upgrade is done automatically by default when upgrading the application.
    • The path for the report custom templates can be set using the squash.report-custom-template.folder-path property.
  • Performance:

    • The performance of the following features has been improved:
      • 66 Campaign exports;
      • Copy/paste of execution workspace folders, campaigns, iterations, test suites, sprint groups, and sprints;
      • Deletion of test plan items;
      • Display of execution plan;
      • Display of automated suites.
  • Xsquash4GitLab:

    • Xsquash4GitLab configuration (mappings and parameters) can be done in Squash project templates so it can be transmitted to linked projects or projects created from a project template.
    • GitLab issue state (open/closed) can be synchronized in a Squash requirement custom field, in the sprint tickets table and on a sprint ticket page.
    • The number of items (requirements and sprint tickets) successfully synchronized versus the total number of synchronized items is displayed in the synchronization table of Xsquash4GitLab configuration page and on the synchronization supervision page.
  • Xsquash4Jira:

    • The number of items (requirements and sprint tickets) successfully synchronized versus the total number of synchronized items is displayed in the synchronization table of Xsquash4Jira configuration page and on the synchronization supervision page.
  • GitLab Bugtracker:

    • GitLab issues to be linked to executions can be searched by their names and descriptions.
    • The number of GitLab issues returned when searching them to link them to an execution can be set using the squash.bugtracker.max-results-per-search property.
    • Cache features:
      • The cache update can be set with a cron expression using the squash.bugtracker.cache-update-cron property.
      • The number of workers dedicated to the cache construction can be set using the squash.bugtracker.cache-worker-pool-size property.
      • The last successful cache update is displayed in the UI.
      • The previous values are kept when the cache cannot be updated.
    • GitLab issue state (open/closed) can be displayed in the status column of the known issues tables.
  • REST API:

    • Deprecations:
      • Deprecation of /executions/{id}/issues endpoint in favor of /executions/{id}/attach-issue new endpoint, which now supports GitLab and AzureDevOps bugtrackers. No removal date has been set, but no future enhancements will be made to /executions/{id}/issues.
    • Transverse:
      • 170 Get (main information) and delete entities from the reporting workspace endpoints are added:
        • charts: /charts/{id};
        • custom exports: /custom-exports/{id};
        • dashboard: /dashboards/{id};
        • reports: /reports/{id};
        • folders of the reporting workspace: /reporting-folders/{id}.
      • Get case insensitive login (/configuration/case-insensitive-login) and case insensitive action word (/configuration/case-insensitive-action-word) endpoints are added.
      • Create a project from a template (/projects): the parameters to copy the template AI server (copy_ai_server_binding), plugin activation (copy_plugins_activation), plugin configuration (copy_plugins_configuration), and to bind the plugin configuration (keep_plugins_binding) are added.
      • Create a template from a project (/projects): the parameters to copy the project AI server (copy_ai_server_binding), plugin activation (copy_plugins_activation), and plugin configuration (copy_plugins_configuration) are added.
  • Administration REST API:

    • Add a SCM repository to a SCM server (/scm-servers/{id}/scm-repositories): the repository_path attribute does not have to be in the body to add the repository, and its value is ignored if it is the body since Squash manages the path.

Feature removals

  • OAuth 1A authentication for Jira servers;
  • Test case import in Zip format;
  • Test export in CSV format.

Corrections

  • Requirements:

    • A user with the WRITE permission could not modify the milestone binding to requirements.
    • A non-admin user could not link a requirement folder to a high-level requirement.
  • Test Cases:

    • Importing a file containing test case calls resulted in an error.
    • Exploratory tests executed in a sprint did not appear in the "Sessions" anchor of the test cases.
    • 315 It was not possible to select (and copy) the requirement description from the test step details page.
    • The 'Path' column was missing from the "Sessions" anchor of an exploratory test case.
    • The mode was not displayed in the "Executions" anchor of a test case.
    • A user with the "Validator" profile could remove the link between a requirement and a test step.
    • When a dataset value contained only a space, the indicator to modify the field vanished, making it hard to enter edit mode.
    • A user with advanced tester profile could interact with the button to delete an attachment from a test step, even if the deletion was not taken into account. The button is not displayed anymore.
    • There were incoherences regarding the permissions when associating requirements to test cases and requirements to test steps.
    • 252 For BDD test cases, in the autocompletion, the parts (fixed and variables) of the action words could be in the wrong order.
    • 281 When importing test case, the content of the field in the TC_AUTOMATABLE column was ignored.
  • Executions:

    • A test referee could delete a test suite containing executions.
    • The attached files were not taken into account during the copy/paste of a sprint.
    • When attempting to delete executions in a closed sprint, there was no dialog to indicate the user that it was not possible.
    • Exploratory notes were not reported in the Activity anchor of the exploratory sessions added to a sprint.
    • Exploratory sessions were not accessible when copy/pasting a sprint.
    • Issues were not displayed in the "Known issues" block of exploratory sessions added to a sprint.
    • There was a long loading time when navigating on the Overall Sprint Execution Plan if it contained more than 100 test cases.
    • The deletion of an executed test case from the Test Case workspace would delete the line in the Overall Sprint Execution Plan instead of displaying "Deleted".
    • When navigating on the anchors of a sprint, the number of elements displayed in the "Overall sprint execution plan" was not saved if it has been modified.
    • Unauthorized profiles could interact with the "Validation status" features of a sprint requirement, even if the modification was not taken into account.
    • The [Test] button on the sprint requirements table was not displayed for "Validator" and "Guest" profiles.
    • The "Modification" field of a sprint was not displayed at the correct location on the "Information" block.
    • 107 Campaign export would fail when the campaign name would contain special characters, including ,.
    • Unauthorized profiles could interact with the mass delete button of execution plan items, even if the deletion was not taken into account.
    • 205 Searching from an execution plan with the "Search by linked requirements" option resulted in a error when there is too many data.
    • 67 A user with the "Test referee" profile could not delete test plan items with only fastpass statuses. As long as there are no real executions linked to a test plan item, the test referee can now remove them from execution plans.
    • The status of an exploratory session was not transferred to the execution status of a test suite.
  • Reporting:

    • Generating a Requirement or a Test Case Editable Report resulted in an error if the scope included an entity with an invalid image.
  • Automation:

    • In the automated test execution overview dialog, the error message regarding the JWT token was not displayed correctly.
    • For some slow executions, the sending of the "RUNNING" status occured after the sending of the final status, resulting in having executions without a final status or a duration but with all the reports.
    • 289 Some profiles, allowed to run tests, could not see and modify environment variables from the automated test execution overview dialog.
    • 239 It was impossible to filter on the "SCM URL" column in the tables of the automation workspace with a PostgreSQL database.
  • Cross-functional:

    • 40 When searching on two custom fields of the same type, the operator applied was "OR" instead of "AND".
    • Various typos were corrected.
  • Administration:

    • The permission to add and delete attachments in the Action Words workspace was missing.
    • "Add a template from the selected project" option was available when a template was selected.
    • Search results were incorrect with certain search words in the permission matrix.
    • The roles of requirements links could not be renamed in the "Link between requirements" table and the table was not displayed properly.
    • Adding an attachment to a project template resulted in an error.
    • There was no redirection on the template page after the creation of a new template from a project.
    • The anchor focus was lost when navigating between entities of the same type (between projects, for example).
    • On a project configuration page, when associating a Mantis project, the field was "Project path" instead of "Project name".
  • Technical / Security:

    • The Xmx value was modified to 2048 in startup.bat to match the value defined in startup.sh file.
    • Removing a bugtracker plugin that was configured in Squash prevented Squash from working.
    • Log files were delivered with a wrong MIME type.
    • Various improvements regarding security were made.
  • Xsquash4GitLab:

    • 343 The milestone folders were duplicated when the GitLab milestone name contained a /.
    • 253 The iteration folders were duplicated when the GitLab iteration name contained a space at the beginning or at the end.
    • The synchronization simulation kept on running even after closing the "Add a synchronization" dialog and it was still displayed when adding a new synchronization.
    • The synchronization modification dialog was slow to display for large synchronization perimeters. The data causing the slowness (labels, milestones…) is now loading separately from the rest of the info of the dialog.
    • When a GitLab milestone was closed, the synchronized requirements did not remain in the milestone folder and were moved to the root folder.
  • Xsquash4Jira:

    • Jira sprint end date was not synchronized in Squash sprint.
  • GitLab Bugtracker:

    • The cache update would stop when the GitLab rate limit was hit and the remaining was not delayed.
    • The cached data (labels, assignees…) were not automatically updated when removing the cache.
  • Jira Cloud Bugtracker:

    • 118 There was no clear message if no id was entered when attaching an issue to an execution.
  • Jira Data Center Bugtracker:

    • 118 There was no clear message if no id was entered when attaching an issue to an execution.
  • Tuleap Bugtracker:

    • It was impossible to create a new issue on the 11th Tuleap project created on the Tuleap instance and above.
  • SCM Git:

    • 330 Adding a new repository with a branch different than the default one resulted in an error.
  • REST API:

    • 307 Authorizations were not taken into account for projects/{id}/campaign, projects/{id}/requirements and /projects/{id}/test-cases endpoints.
    • Users with project leader profile could not get and manage project clearances.
  • Administration REST API:

    • Guest users could modify case insensitive login parameter.
    • Guest users could see and modify Squash callback URL.
    • Guest users could see and modify import size limit.
    • Guest users could see and modify upload size limit.
    • Guest users could see and modify upload extension whitelist.

Plugins

  • New version for all plugins: compatibility with Squash TM and fixes;
  • Plugin release notes are included in the Squash TM release note.

Compatibility with third-party softwares

Squash TM version 9.x has been validated with the following versions of third-party softwares. It should be compatible with more recent versions.

Ticket management

Software Version
GitLab Cloud 17.9.0-pre
GitLab Server 17.6
Jira Cloud 10.01
Jira DataCenter 9.11.2

Anomaly management

Software Version
Azure DevOps Services 2025.01
Azure DevOps Server 2022.1
Bugzilla 5.0.6
Mantis 2.25.3
Redmine 6.0.2
RTC 6.0.3
Tuleap 14.4.99.130

Automating

Testing technologies Version
Agilitest 💎 2.3.0
Cucumber JVM 7.0.0
Cucumber JVM 4.2.6
Cypress 12.12.0
JUnit 5.3.2
JUnit 4.12
Katalon 💎 8.2.0
Playwright 1.43.1
Postman 8.12.1
Ranorex 💎 9.5
Robot Framework 6.1.1
SKF 1.14.0
SoapUI 5.6.0
UFT 💎 15.0.2