Major Enhancements

#890602 (Bug #66725) Added the option to show 10 more lines of context on diffs by clicking on the blank row that separates the diffs.

#889932 (Bug #73703) When a review is updated with modified files, existing votes will now be marked as 'stale'. Stale votes will be shown with a faded icon and will not count towards up-votes or down-votes.

#889492 (Bug #63260) It is now possible to mark files in reviews as 'read'. To mark a file as read, click the 'eye' button on the far right of the file header. The read flag is remembered independently for each user along with the version and file digest information. If the contents of the file change, the 'read' flag automatically clears. This feature can be helpful when reviewing lots of files.

#884641, #887942, #889744, #890743 (Bug #63263) Swarm now supports treating comments as light-weight tasks. Tasks can be marked as 'addressed' and may optionally be 'verified'.

#877136 (Bug #73157) If a change has been associated to a review, Swarm will always update the review when files are shelved or the change is committed. Previously, if the #review-123 or [review-123] style keyword wasn't present, the review would not have been updated.

#854977, #863042, #873042, #875837, #876579, #889563 (Bug #70664) Swarm now has an API that exposes 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 submitted change, adding a change to a review (making it the new Head revision of that review), listing projects, and creating new entries in the Activity list. Authentication is handled using standard HTTP Basic Auth, with either a password or a ticket. Note that passwords will not work in higher-security configurations, so a ticket may be required.

Minor Enhancements

#886023 (Bug #73067) Comment attachments will now be cached by the browser for 12 hours. This will decrease jumpiness when rendering attached images.

#882741 (Bug #73058) The Swarm cron script now supports starting workers on SSL-enabled Swarm hosts that utilize a self-signed certificate.

#879274 (Bugs #62048, #69646, #71743, #72202) The Reviews page now updates the URL to reflect search terms. This allows users to bookmark or share searches and ensures the search results are shown correctly when navigating browsers history.

#878436 (Bug #73357) Swarm will now linkify occurrences of "changelist <#>" in comments and changelist descriptions.

#878206, #878814, #879346, #879579 (Bug #72736) The Swarm OVA is now built using Swarm packages. This allows the user to more easily upgrade Swarm.

#875126 (Bug #66253) The jobs page now updates the URL to reflect search terms. This allows users to bookmark or share searches and ensures the search results are shown correctly when navigating browsers history.

#871859 (Bug #66355) Dropdown menus in Swarm can now be operated via the keyboard.

#870337, #870357 (Bugs #70905, #71325, #72767) Several enhancements have been made to the Swarm JIRA module. JIRA Swarm links now include a snippet of the change/review description. Additionally, editing a submitted change description or adding/removing jobs on a change or review will update JIRA Swarm links. Note, old links are not automatically updated to include descriptions.

#862937, #870621 (Bug #69205) Swarm now has a default tab-size of 4 in Chrome, Firefox and Safari. Internet Explorer does not support tab-size and will still display a tab width of 8.

#860398 (Bug #66357) Added a 'system' avatar for activity not associated with a particular user (for example when tests pass or fail).

#860346 (Bug #73032) Swarm now allows changes by specific users to be ignored from the perspective of starting and updating reviews. This is enabled by specifying 'ignored_users' under the 'reviews' config.

#860321 (Bug #73057) Mainlines are now listed first under the Review queue's branch filter.

#855740 (Bug #67654) Added support for rendering SVG images in file preview, file diffs and comment attachments.

#853423 (Bug #72412) The #review keyword is now more forgiving of nearby punctuation.

#848771 (Bug #72359) Swarm now automatically reverts review state back to 'Needs Review' when approved reviews are updated with modified files.

#846902 (Bug #72448) Added a swarm of bees that fly around your cursor on the error page. As you move your mouse more bees surround your cursor. Over time, if you hold your mouse still, the bees go away.

#842916, #851529 (Bug #72559) We now do a case insensitive lookup for @mentioned jobs.

#842660 (Bug #73720) 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 perforce user 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.

#840855 (Bug #72696) Upgraded jQuery to 1.11.1 and added the jQuery sourcemap.

#839881 (Bug #72704) Adjusted the sorting of files and directories when browsing to put hidden (e.g. '.foo') files and directories last.

#836802 (Bug #72385) For inline comments, the row will now collapse when the last open comment is archived.

Bug Fixes

#893456 (Bug #73882) Fixed an issue where URL-encoded characters could erroneously show up in filenames under the activity feed or comments tab.

#892728 (Bug #73833) Logging in with the incorrect cAsE user id on a case insensitive p4d will no longer prevent transitioning and approving reviews.

#892681 (Bug #73832) Fixed an issue where using characters like % and # in your filename would cause errors when trying to show full context.

#892564 (Bug #73824) Fixed an issue where placeholder text in IE erroneously acted as default values for new inline comments under sideways diff mode.

#892532 (Bug #73826) Fixed an issue where the comments could overlay code lines if the comment was wide enough to wrap and diff scrollbars were showing.

#891999 (Bug #73759) Swarm will display a warning if thread-safe PHP is detected. This is because P4PHP is does not support threaded operation.

#891941 (Bug #71531) Ensure all emails are set to use UTF-8 encoding so extended characters display properly.

#890428 (Bug #71549) Attempting to commit a review with out of date files no longer logs an exception. An error is still shown to the user in the Swarm UI.

#890422 (Bug #72918) If Swarm encounters a task file it cannot delete; it will no longer process it and will abort the worker. This will prevent endlessly reprocessing the task.

#890342, #892319 (Bug #73718) The windows trigger script now wraps the path to curl in quotes allowing curl.exe to be under a path with spaces.

#888871 (Bug #73599) Fixed an issue where using the context menu to paste content into the comment form would fail to enable the post button.

#887895 (Bug #71805) Adding a new comment will no longer show files that were attached to a previously posted comment.

#886698 (Bug #73581) Performance improvements for rendering larger files in IE. Performance was increased by about 30% for the rendering of the side-by-side Diff mode. For files with more than 1000 lines this can still be very slow, we plan to continue making improvements.

#880741 (Bug #65586) Introduced tab history tracking for IE9. Previously IE9 would load the correct tabs for urls with tab ids but would not insert tab ids when navigating tabs in Swarm.

#879459 (Bug #67480) ARIA labels have been added to the filter buttons on the Reviews Queue in order to expose their meaning to screen readers.

#877109 (Bug #73296) Swarm will no longer enter an endless loop when the 'swarm' group references recursive sub-groups.

#873881 (Bug #73084) Fixed an issue where users would sometimes be required to login to comment despite having recently logged in.

#863379 (Bug #66712) Swarm will no longer fail to update reviews when the Swarm admin user has changed.

#861147 (Bug #73037) The json output for projects no longer leaks automated test and deploy settings. These values can include sensitive data such as auth tokens.

#860313, #861755 (Bug #73056) Improved handling of empty descriptions in commit and review email notifications. We no longer append a trailing '-' to the subject and we no longer output an empty description block in the body.

#855747 (Bug #72716) Fixed a bug where selecting the already active project/branch filter would erroneously clear the filter.

#860349 (Bug #61897) We now prevent service and operator type users from logging in.

#851970 (Bug #72825) Fixed an issue where Swarm was generating 'Unknown command' errors on Perforce Server's using structured logs. Instead of running a null command, we now run 'help' to avoid the error. Further, we only test the connection if it appears necessary which should provide a minor performance boost.

#849546 (Bug #72860) Following an inline comment link to a file open for 'add' no longer produces a JavaScript error.

#848957 (Bug #72845) The trigger script will now fallback to curl if wget returns an exit code of 126 or higher. Previously we only fellback for 127.

#842648 (Bug #72680) We now correctly detect files of type 'import' as being adds.

#842413 (Bug #72707) Reviews now only reference projects/branches impacted by the current version.

#841620 (Bug #70219) Invalid/non-existent jobs added to a change no longer result in a HTTP-500 error.

#841606 (Bug #71843) Uploading a directory now results in an error message, not an unreadable white bar.

#836796 (Bug #72523) IE11 is no longer erroneously detected as being Firefox by Swarm's generic error handling code.

#836814 (Bug #72435) Modal dialogs now display on top of tooltips, previously they could erroneously overlap the dialog.