What’s new

This section provides a summary of the notable changes in Helix Swarm for the 2024.4 release. Full details are available in the distribution's RELNOTES.txt file.

Major new functionality

To share your feedback about Helix Swarm, see Getting help.

Added support for Haxe code for syntax highlighting in the Review page

The syntax highlighting in the Review page now supports Haxe code, see Supported syntax highlighting in the Review page.

Added ability to check that user has permission to paths added to branches

Added a new configurable permission_check for projects in SWARM_ROOT/data/config.php file that enables Helix Swarm to check if a user has permissions to create a branch for a specified path. See Configuration overview.

When deleting users in Helix Core Server, they are now removed automatically from Helix Swarm's lists of users

When a user is deleted from the Helix Core Server, Helix Swarm automatically removes the deleted user from the user profile, test definitions, workflows, projects, and groups. See How Swarm handles deleted users .

Minor new functionality

Improved security of Helix Swarm

The security of the Helix Swarm application has been improved by adding missing security headers, identified through Mozilla Observatory. See Security.

Added ability to view diff for a file that is moved and edited

If you rename a file, edit it, and request a review, only the edited content is highlighted in the diff panel. See File diff panel.

Added ability to use Slack integration through a proxy server

You can now use Slack integration through a proxy server. See Use Slack integration through a proxy server.

Important information

HTTP OPTIONS method is no longer supported

The HTTP OPTIONS method can inadvertently assist attackers by providing insights into the system's setup and potential vulnerabilities. To enhance security of Helix Swarm, we have removed the HTTP OPTIONS method from the list of permitted methods.

PHP 8.0 version will no longer be supported in Helix Swarm 2024.5 release

Helix Swarm will drop support for PHP 8.0 in 2024.5 release. This is part of our commitment to move away from using versions of platforms that have reached End-of-Life (EOL).

Redis binary upgrade in Helix Swarm 2024.3 release changes the kernel and glibc requirements

In the Helix Swarm 2024.3 release, Redis binary has been upgraded to version 7.2.4. As a result of this upgrade, the kernel and glibc requirements have automatically changed from version 2.6 to 3.10. If you need to run Redis under kernel version 2.6, you can do either of the following:

  • Compile Redis from sources on the target host meeting the target kernel.

  • Or use your own older Redis installation.

CentOS/RHEL 7 is no longer supported from Helix Swarm 2024.3 release

Helix Swarm has dropped support for CentOS/RHEL 7 in 2024.3 release. This is part of our commitment to move away from using versions of platforms that have reached End-of-Life (EOL).

PHP 7.X versions are no longer supported from Helix Swarm 2024.3 release

Helix Swarm has dropped support for PHP 7.X in 2024.3 release. This is part of our commitment to move away from using versions of platforms that have reached End-of-Life (EOL).

PHP version 8.X addresses important security issues and helps improve Helix Swarm's performance. You can upgrade to PHP 8.x when you upgrade Helix Swarm. See Upgrading Swarm.

Upcoming changes to SSO configuration

Helix Swarm now supports Helix Authentication Service (HAS) as a Single Sign-On (SSO) provider. This helps to simplify configuration and create a more robust SSO solution. The SAML configuration will be removed from Helix Swarm in a later release.

Project level test and deploy code features to be deprecated in a later Helix Swarm release

The project level test and deploy code features will be deprecated in a later Helix Swarm release. We recommend you use test integration to automatically deploy code within a review. For more information, see Add a test.

Helix Swarm 2022.3 or later only works with Helix Core Visual Client (P4V) 2021.3 or later

When upgrading to Helix Swarm 2022.3 or later, ensure that you upgrade Helix Core Visual Client (P4V) to 2021.3 or later.

The emulate_ip_protections configurable now defaults to false

From Helix Swarm 2022.2, the default setting of the emulate_ip_protections configurable in the SWARM_ROOT/data/config.php file is now set to false. If you are upgrading Helix Swarm and have emulate_ip_protections set to true, the upgrade will not change your setting.

API version updated to v11 for Helix Swarm 2022.1

For Helix Swarm 2022.1, we introduced a new set of v11 APIs. These refine and extend the v10 APIs, and further standardize the endpoint and response pattern. The v10 APIs will continue to be available for some time to come

  • Any improvements made in the migration to v11 will not be backported to v9 or v10.
  • New API endpoints will be created as v11 and will not be backported to v9 or v10.

Helix Swarm no longer supports Microsoft Internet Explorer

Helix Swarm 2022.1 and later no longer supports Microsoft Internet Explorer. This is part of our commitment to move away from using platforms that have reached End-of-Life (EOL).

Helix Swarm no longer supports CentOS 8

Helix Swarm 2022.1 and later no longer supports Helix Swarm installation on CentOS 8. This is part of our commitment to move away from using versions of platforms that have reached End-of-Life (EOL).

Helix Swarm no longer supports Ubuntu 16.04

Helix Swarm 2021.1 and later no longer supports Helix Swarm installation on Ubuntu 16.04. This is part of our commitment to focus on supported technology platforms.

Helix Swarm no longer supports CentOS 6 and RHEL 6

Helix Swarm 2020.2 does not support Helix Swarm installation on CentOS 6 and RHEL 6. This is part of our commitment to focus on supported technology platforms.

Upgrading from Helix Swarm 2019.1 and earlier

Helix Swarm 2019.2 introduced a Redis in-memory cache to improve performance and reduce the load on the Helix Core Server. This replaces the file-based cache that was previously used by Helix Swarm.

On Helix Swarm systems with a large number of users, groups, and projects, the initial population of this cache can take some time. If you have a large Helix Swarm system you should read through the Redis server connection and configuration options before installing or upgrading Helix Swarm, see Redis server.

Known limitations

For Ubuntu 24.04, downloading from the Helix Swarm UI fails for a file with Unicode characters in its name

Downloading from the Helix Swarm UI fails on Ubuntu 24.04 when trying to download a file with Unicode characters in its name. This is a Ubuntu 24.04 issue. See the issue logged on Ubuntu's website.

After an upgrade to Helix Swarm 2022.3, you may see partial text labels or unexpected page artifacts

After an upgrade to Helix Swarm 2022.3, if you see partial text labels or unexpected page artifacts, clear your web browser cache and refresh Helix Swarm in your web browser.

No activity event is created when a project setting is updated

When a project setting is updated, Helix Swarm does not create an activity.

Issue with userids containing a / character

Issue: Logging in to Helix Swarm 2020.2 or earlier with a userid that contains a forward slash (/) character results in a spinner for the user icon that does not go away.
Fix: This is fixed for new installations of Helix Swarm 2021.1 and later, but is not fixed if you upgrade from an earlier version of Helix Swarm. To fix this issue when you upgrade from Helix Swarm 2020.2 or earlier, add AllowEncodedSlashes NoDecode to the VirtualHost block of your /etc/apache2/sites-enabled/perforce-swarm-site.conf file. For more information about the VirtualHost block, see Apache configuration.

Helix Swarm shelvedel trigger can fail for a specific Windows use case

The Helix Swarm shelvedel trigger will fail in the following specific situation:
When the Helix Core Server is hosted on Windows and a user runs the shelf delete command while in the root of one of their local drives.
For example, c:\p4 -u bruno -c my_shelf shelve -d -c 9

Unsupported characters in user names and group names in Helix Swarm 2019.2 and later

Helix Swarm does not support the following characters in user names and group names: :@{}()

Helix Swarm support for the "Private editing of streams" feature in Helix Core Server 2019.1 and later

Supported: stream specs can be edited in your workspace using the Private editing of streams feature and they are displayed in reviews.
Not supported: Helix Swarm cannot commit locked stream specs.

Multiple Helix Core Server instances on a single Helix Swarm instance

Issue: Swarm will lose connection to all of the Helix Core Servers if you edit the base_url configurable value in the environment block of <swarm_root>/data/config.php. This will stop your system working.

Fix: Remove the base_url configurable from the environment block of <swarm_root>/data/config.php.

Global Dashboard does not support Single Sign-On (Helix Authentication Service)

Issue: If Helix Authentication Service is enabled for Helix Swarm and the Try to login to all available servers with these credentials checkbox or the All available servers option is selected in a login dialog, Helix Swarm will not try to log in to any of the other Helix Core Server instances that are configured for Helix Authentication Service.
Workaround: Log in to them individually using the instance Log in button Image of the global dashboard log in button in the sidebar or by including the server instance name in the URL, for example: https://swarm.company.com/serverA.

Project Commits tab can fail to show some Helix Core Server commits in the top level view

The Project Commits tab top level client view is made up of all of the branches of the project.
 
For example, Project Alpha:
 
Branch: QA:
//depot/alpha/dev/QA/...
 
Branch: Dev :
//depot/alpha/dev/...
-//depot/alpha/dev/QA/...
 
The project commits tab view is generated by processing the branches in the order that they were created in and from top to bottom for the paths in each of those branches.
For the project Alpha example above:
The first path includes all of the directories and files under //depot/alpha/dev/QA/ in the project commits tab top level view.
The second path includes all of the directories and files under //depot/alpha/dev/ in the project commits tab top level view.
The third path excludes all of the directories and files in //depot/alpha/dev/QA/ from the project commits tab top level view.
 
Result: commits made to //depot/alpha/dev/QA/ that should be shown for the QA branch are not displayed in the Project Commits tab top level view.
 
When you have a simple branch structure this can be avoided by considering this issue when you create your branches. In the example above, creating the Dev branch first and then creating the QA branch avoids the problem because//depot/alpha/dev/QA/ is not excluded from the Project Commits tab top level view.
Tip

Individual branch views display the commits correctly.

Task Stream Reviews

Pre-commit reviews in a task stream are not yet supported.