What’s new
This section provides a summary of the notable changes in Swarm for the 2023.4 release. Full details are available in the distribution's RELNOTES.txt
file.
Major new functionality
To share your feedback about Swarm, see Getting help.
Default Swarm review page enhancements
The Swarm review page (preview) is now the default review page
The Swarm Review page (preview) is now the default Swarm review page. The old review page is now referred to as the classic review page. The Swarm Classic view option will be removed in a future Swarm release. See Review display.
The side panels are now hidden by default
When opening the default review page for the first time, the file list panel and the information panel are hidden so it is easier to view the file diffs. See Review display.
Improved the Blocking Approval section in the Information panel
Once a review has been approved, the Blocking Approval section is hidden. If a new requirement is added to an approved review then it is displayed in the Blocking Commit section. See Blocking Approval or Blocking Commit.
Added a new Blocking commit section to the Information panel
Added a new Blocking Commit section in the Information panel for pre-commit reviews. If a review has been approved but not committed and a new requirement is added to the review, then it is displayed in the Blocking Commit section. See Blocking Approval or Blocking Commit.
Added an option to expand and collapse the review description
When the review description exceeds 25% of the page, the review description is truncated. Use the Expand description button to view the full review description. See Review description.
Added the ability to expand or collapse all files in a review
Added a new Expand all files or Collapse all files option in the Diff actions button. The Expand all files option is only displayed if all or at least one file is collapsed within a review. The Collapse all files option is only displayed if all files are expanded within a review. See Diff actions button.
Added a new flag in the configuration file
Added a new flag fetchContent to the max-size configurable in the SWARM_ROOT/data/config.php
file. This flag determines if the size of a file is larger than the max_size value and enables or disables the show more context buttons in the File diff panel. See max_size configurable.
Added truncation of large files
All files larger than the max_size configurable value in the SWARM_ROOT/data/config.php
file are truncated in the File diff panel. When a file is truncated a message is displayed in the File diff panel. See File diff panel.
Added an option to view the full context of a file
Added a button to the File content panel header that enables you to view the full context of a file. This button is only displayed for text files. See File content panel header.
Minor new functionality
Improved Swarm logs
The Swarm log file has been improved to include more details to help trace events. Each request contains the URI (Uniform Resource Identifier), PID (Process ID), worker ID (only for a worker), task details, IP address of the remote host, and originating IP address of a client (if a request is forwarded). See Swarm logs.
Added support for RHEL 9.2
Swarm now supports RHEL 9.2. See Install Swarm on RHEL 9.
Added support for RHEL 8.8
Swarm now supports RHEL 8.8. See Install Swarm on RHEL 8.
Important information
3D model file type is not supported in the default review page
You can view the 3D model file types only in the classic view of the Swarm review page. Use Helix DAM, a digital asset management software solution by Perforce to view 3D model files. For more information about how to use Helix DAM, see Helix DAM User Guide.
Upcoming changes to SSO configuration
PHP 7.X versions will no longer be supported in Swarm 2024 release
Swarm will drop support for PHP 7.X in 2024. 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 Swarm's performance. You can upgrade to PHP 8.x when you upgrade Swarm.
Project level test and deploy code features to be deprecated in a later Swarm release
The project level test and deploy code features will be deprecated in a later Swarm release. We recommend you use test integration to automatically deploy code within a review. For more information, see Add a test.
The ability to edit custom modules from the Swarm UI to be removed in a later Swarm release
Editing custom modules from the Swarm UI will not work once the new review page replaces the original review page. The new review page will replace the original review page in a later Swarm release.
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 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 Swarm and have emulate_ip_protections set to true, the upgrade will not change your setting.
API support changed for Swarm 2022.2
From Swarm 2022.2, Swarm no longer supports APIs older than v9.
API version updated to v11 for Swarm 2022.1
For 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.
PHP version support changed for Swarm 2022.1
We have removed support for PHP 7.0 and 7.1 for Swarm 2022.1. This is part of our commitment to move away from using versions of platforms that have reached End-of-Life (EOL).
Swarm no longer supports Microsoft Internet Explorer
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).
Swarm no longer supports CentOS 8
Swarm 2022.1 and later no longer supports 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).
Swarm no longer supports Ubuntu 16.04
Swarm 2021.1 and later no longer supports Swarm installation on Ubuntu 16.04. This is part of our commitment to focus on supported technology platforms.
Swarm no longer supports CentOS 6 and RHEL 6
Swarm 2020.2 does not support Swarm installation on CentOS 6 and RHEL 6. This is part of our commitment to focus on supported technology platforms.
Helix Core Server 2020.1 stream spec file permissions change
Helix Core Server 2020.1 and later, permissions have changed for viewing and editing stream spec files in Swarm. To view and edit stream spec files in Swarm, the Swarm user must have admin permissions for the entire depot //...
Trigger script updated for Swarm 2020.1
The swarm.shelvedel shelve-del trigger script has been updated in Swarm 2020.1, the trigger script must be updated in the Helix Core Server trigger table or added if it does not already exist, see Update the Helix Core Server triggers table to run the trigger script.
Custom module support in Swarm 2020.1 and later
The Zend 3 Framework project has been forked to an open source project called Laminas, see https://getlaminas.org/about/. Swarm 2020.1 now uses the Laminas framework, this is part of our commitment to move away from using versions of platforms that have reached End-of-Life (EOL).
If you have existing custom Swarm modules created for Swarm 2019.3 or earlier, you must update them to use the Laminas framework. For instructions on updating your Zend custom modules to Laminas, see Migrate existing custom modules to the Laminas framework.
Upgrading from Swarm 2019.1 and earlier
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 Swarm.
On 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 Swarm system you should read through the Redis server connection and configuration options before installing or upgrading Swarm, see Redis server.
API support changing for Swarm User Interface release (2020)
We have started adding a new set of v10 APIs to Swarm. These will provide a new endpoint and response pattern, and are designed for use with the new rich User Interface that is being introduced in 2020. Swarm will continue to support the v9 APIs for some time, see API versions.
API support changed for Swarm 2019.3
APIs older than v9 are being deprecated, support for them will be removed in a future release. See API versions.
Workflow feature support changed for Swarm 2019.2
The Swarm workflow feature is enabled by default. If you are upgrading from an earlier version you will need to update your triggers, see Upgrading Swarm.
P4PHP 2019.1 or later required for Swarm 2019.1 and later
The latest version of P4PHP is included in the Swarm package and tarball installations.
Known limitations
After an upgrade to Swarm 2022.3, you may see partial text labels or unexpected page artifacts
After an upgrade to Swarm 2022.3, if you see partial text labels or unexpected page artifacts, clear your web browser cache and refresh Swarm in your web browser.
No activity event is created when a project setting is updated
When a project setting is updated, Swarm does not create an activity.
Issue with userids containing a / character
Swarm shelvedel trigger can fail for a specific Windows use case
Unsupported characters in user names and group names in Swarm 2019.2 and later
Swarm support for the "Private editing of streams" feature in Helix Core Server 2019.1 and later
Multiple-Helix Core Server instances on a single 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)
Project Commits tab can fail to show some Helix Core Server commits in the top level view
Individual branch views display the commits correctly.