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.