What’s new
This section provides a summary of the notable changes in Swarm for the 2020.1 release. Full details are available in the distribution's RELNOTES.txt
file.
Major new functionality
Swarm collapsible side menu
The original Swarm top menu has been moved to the left of the page and can be collapsed to save space. As you enter, for example a project, the main menu is replaced by the project menu so that it is more context aware.
For more information, see Menu quick reference.
Edit text files directly from the Swarm UI - Technology preview feature
Need to make a quick edit to a text file and shelve or commit your change? Swarm now supports the editing of text files directly from the File browser view of the Swarm UI.
Edit global workflow from the Swarm UI
You can now edit your global workflow from the Swarm Workflows page, see Workflow global rules. Existing workflow rules are automatically migrated to the UI when you upgrade from an earlier version of Swarm.
Create tests in the Swarm UI
You can now create tests from the Swarm UI and view them from the new Tests menu, see Tests.
Add tests to workflows
Tests configured in the Swarm UI can be associated with individual workflows. When a review is associated with a workflow that has tests, those tests will be run when the review is either created/updated or submitted, see Workflows. Tests can also be associated with the global workflow, this ensures that these global tests are enforced for all changes even if they are not part of a project.
Minor new functionality
New Cache Info tab
Check and manage your Swarm Redis caches from the new Cache Info tab on the System information page. With the click of a button you can now verify a cache or reload your Swarm configuration.
New API endpoints
A number of new endpoints have been added to the API, see the Swarm API.
Important information
Changes to Swarm support for CentOS 6 and RHEL 6
Swarm 2020.1 is the final version of Swarm that will 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 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 server trigger table or added if it does not already exist, see Update the Helix 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 Upgrade Swarm.
PHP and Apache version support changed for Swarm version 2019.1
We have removed support for versions of PHP older than 7.0 in Swarm 2019.1. As a result of this change, support for Apache 2.2 has also been removed. This is part of our commitment to move away from using versions of platforms that have reached End-of-Life (EOL).
Ensure that you can install a supported version of PHP and Apache before upgrading to Swarm 2019.1. For information on versions of PHP and Apache supported by Swarm, see PHP and Apache web server.
P4PHP 2019.1 or later required for Swarm 2019.1 and later
The latest version of P4PHP is included in the Swarm package, OVA, and tarball installations.
Known limitations
Swarm shelvedel trigger can fail when Helix server is on Windows and a shelf is deleted from the command line
The Swarm shelvedel trigger will fail in the following specific situation:
When the Helix 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 Swarm 2019.2 and later
Swarm does not support the following characters in user names and group names: :@{}()
Swarm support for the "Private editing of streams" feature in Helix 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: Swarm cannot commit locked stream specs.
Multiple-Helix server instances on a single Swarm instance
Issue: Swarm will lose connection to all of the Helix 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 MFA login
Issue: You cannot login into server instances from the global dashboard if you have MFA enabled on Swarm.
Workaround: Log in to each instance individually 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 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.
Swarm OVA installation fails with a Run p4 login2
error
Issue: Swarm OVA deployment against an MFA enabled Helix server fails with a Run p4 login2
error.
Workaround: You must run p4 login2
for a super user account that has MFA enabled before deploying the Swarm OVA. For p4 login2
detail, see p4 login2 in Helix Core P4 Command Reference.
Task Stream Reviews
Pre-commit reviews in a task stream are not yet supported.