What's new in 2014.3

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

Major new functionality

Mark Files as Read

Swarm now provides a Mark as Read button beside each file in a code review. The button helps you track whether you have reviewed a file or not. The tracking is independent for each reviewer, and automatically clears when the contents of the file changes in subsequent review updates.

See “Review display” for details.

Tasks

Swarm now provides a lightweight workflow within code reviews by allowing reviewers to mark comments as tasks. Tasks can be marked as addressed, and may optionally be marked as verified.

See “Tasks” for details.

Show More Context

The Swarm UI now features a Show More Context row in diffs that, when clicked, fetches 10 additional lines from the associated file that are adjacent to the row (potentially fetching 20 more lines of context).

See “Diffs” for details.

Stale Votes

When a code review is updated with modified files, any existing votes are now marked as stale. Stale votes are shown with a faded icon and do not count towards up-votes or down-votes.

See “Review display” for details.

API

Swarm now provides an API that daylights and documents various tasks that were previously difficult to accomplish.

The API supports:

  • listing reviews

  • retrieving information about an individual review

  • creating a review from an existing pending or committed change

  • adding a change to a review (making it the new head revision of that review)

  • listing projects

  • creating new entries in the Activity list

See Swarm API for details.

Auto review update

If a changelist has been associated with a review, Swarm now always updates the review when the changelist's files are shelved, or when the changelist is committed. Previously, if the #review-123 or [review-123] review keyword was not present in the changelist description, the review would not have been updated.

Minor new functionality

Comment attachment cache

Comment attachments are now cached by the browser for 12 hours. This decreases jumpiness when rendering attached images.

Workers and SSL

Swarm's cron script now supports starting workers on SSL-enabled Swarm hosts that utilize a self-signed certificate.

Review filtering

The Reviews page now updates the URL to reflect filtering of the reviews, making it easy to bookmark or share filtered review listings, and maintaining the filtered view when navigating the browser's history.

Changelist linkification

Swarm now linkifies occurrences of changelist <#> in comments and changelist descriptions.

OVA packages

The Swarm OVA is now built using Swarm packages. This makes upgrading the OVA to future releases much easier.

Jobs search

The Jobs page now updates the URL to reflect the search terms in use, making it easy to bookmark or share job searches, and maintains the search results when navigating the browser's history.

Keyboard navigation

Swarm's drop-down menus can now be operated via the keyboard.

JIRA enhancements

A few enhancements have been made to the JIRA module:

  • JIRA Swarm links now include a snippet of the change/review description (links created prior to the installation of 2014.3 are not automatically updated to include descriptions).

  • Editing a submitted change description or adding/removing jobs on a change or review updates JIRA Swarm links.

Tab size

Swarm now has a default tab-size of 4 in Chrome, Firefox, and Safari. Internet Explorer does not support tab-size and continues to display a tab width of 8.

System avatar

Swarm now includes a system avatar for activity not associated with a particular user, for example when tests pass or fail.

Ignored users

Swarm now allows changes by specific users to be ignored from the perspective of starting and updating reviews.

See “Ignored users for reviews” for more details.

Project branch order

Mainline branches are now listed first under the Review queue's branch filter.

SVG images

SVG images are now rendered in file preview, file diffs, and comment attachments.

Review keyword

The #review is now more forgiving of nearby punctuation.

Review keyword

The #review is now more forgiving of nearby punctuation.

Automatic Needs Review

Swarm now automatically reverts a code review's state to Needs Review when approved reviews are updated with modified files.

Error Swarm

Swarm adds a swarm of bees that fly around your mouse pointer on error pages. As you move your mouse, more bees surround your cursor. Over time, the bees go away if you hold your mouse still.

Job @mentions

@mentioned jobs are now handled in a case-insensitive way.

Basic auth

Basic auth is now a supported means of authentication. This means that actions which previously required 2 steps (performing a login, writing the resulting cookie to a cookie jar, and then performing the actual action) can now be streamlined into a single request.

The username must match a valid user in the Perforce service with permissions to perform the action, and the password can be a valid ticket or the user's password.

Note

Some p4d security levels only allow the use of tickets in this context.

Sorting improvements

The sorting of files and directories when browsing has been adjusted to position hidden (e.g. .foo) files and directories last.

Archiving comments

For inline comments, the row will now collapse when the last open comment is archived.

Known limitations

Access Control

Swarm maintains a variety of information in the Perforce service's keys facility. By default, users with list-level privileges can read these keys, which can include comments that contain excerpts of code they may not normally have access to.

Perforce server version 2013.1 and higher have a configuration setting to require admin-level privileges. See “Hiding Swarm storage from regular users”.

Virtual host recommended

Swarm must be installed to the root of a domain. We recommend creating a virtual host dedicated to Swarm.

LibreOffice

LibreOffice may become unresponsive, requiring the manual removal of /tmp/OSL_PIPE_* to restore preview functionality.

Due to issues with LibreOffice's headless mode on the Mac platform, Swarm cannot display Office-type file formats if it is installed on the Mac platform.

Task Stream Reviews

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

Trigger script for Windows

We include a trigger script for both Linux/Mac and Windows; however, the Windows variant currently lacks support for the following features:

  • enforce (enforce that submits are tied to an approved Swarm review)

  • strict (ensure the content of submits matches the content of their associated approved Swarm review)

Trigger table entries with '%quote%' not supported on 2010.2

The Swarm trigger scripts (found in p4-bin/scripts) document the trigger table entries to add, making use of %quote% to surround the pathname to the script; however, %quote% is not supported on 2010.2 Perforce Servers (they are harmless though). If you're running a 2010.2 Perforce server, ensure that there are no spaces in the path to the trigger script.