Major Enhancements

#1532256 (Bug #92061) Fix issues with display of limited diffs.

#1529588, #1529647, #1533980 (Bugs #90654, #91642, #91650, #91769) Improve the user experience when reviewing large files. Two new configurables have been created to allow admins to tune and improve the page load time.

Size of the file in bytes displayed in the browsing 'files' array( 'max_size' => 1024 * 1024, ),

Number of diffs shown before file is truncated 'diffs' => array( 'max_diffs' => 1500, // maximum number of diff lines // without manual user override ),

#1524707 (Bug #91782) Improve performance for the Vote up and down filter. This means the request only fetches reviews which the logged in user is a participant of. This helps limit the amount of data we have to process on post filter.

#1524597 (Bug #91756) Introduce a new configurable to limit the number of files to be displayed.

This configurable controls if 'Expand all' is available for reviews by specifying a file limit over which the option will not be available. 0 signifies always on. 'reviews' => array( 'expand_all_file_limit' => 10, ),

#1523805 (Bug #91798) Zend have a built in cache class which helps improve load time of pages. We have configured Swarm to use the cache class loader.

#1521677, #1524714, #1525522 (Bugs #91673, #91695, #91755, #91780, #91781, #91782, #91811) Removing the resetting of the FETCH_MAXIMUM which was causing us to fetch all the reviews and hit memory limits. This does cause the reviews page to do lots of Ajax calls to try and fill the page up if you have fewer reviews for X filter.

#1520113, #1520876 (Bug #90952) Implementing the 'I have not voted' filter for reviews. This is to allow the user to get a list of reviews they are participating in and have not yet voted or their vote has gone stale.

Minor Enhancements

#1523878, #1524740, #1524624, #1533964 (Bugs #91833,#91834, #91835, #92130, #92145) Re-branding of product updated.

#1531205 (Bug #91930) The comments filter now includes the author as a participant when fetching reviews.

#1529997 (Bug #89066) Allow longer time to download a file - configurable value default to 30 minutes same as archive 'files' => array( 'download_timeout' => 1800, // Time allowed before download of a // non archive file will error default // 30 minutes (must be in seconds) ),

#1528515, #1528516 (Bugs #87586, #89689, #90701, #90702, #91286, #91953, #92053) Removing the need for curl/wget in the swarm trigger script. This should simplify configuration and installation, especially on Windows. VERIFY_SSL - Defaults to 1, if 0 then will not verify SSL certificates, allowing self-signed certs to be used on a web server. Also now outputs the error reason if there is a non-200 response from the server, and checks to ensure that no content has been returned even if there is a 200 response. Since the Swarm endpoints don't return any content from a trigger call, if we see content then possibly we're not configured to talk to the correct web server.

#1528166 (Bug #91240) Introduced a review cleanup script as example of how to tidy up reviews that may have many pending changelists associated with them. This can be found in the API section of the documentation.

#1520123 (Bug #90855) Moving the activity stream to its own page if a readme.md is present or not disabled.

#1520087, #1521604 (Bug #91627) Added feature to check if group tab is disabled. If it is disabled we remove groups from the search box.

#1519006 (Bug #91670) Ensuring that shelved changes in Swarm only show the @mention users based on the mentions mode that has been set.

#1519005 (Bug #91598) Upgrading Jquery to 3.2.1

#1517927 (Bugs #91395, #91432, #91433, #91434) Making sure the mention mode for pages like reviews/changes and jobs have taken effect.

Bug Fixes

#1533627 (Bug #79136) Fixing bug with trigger SSL verification, and making sure a ping command outputs any errors to the console.

#1532234 (Bug #91857) Fix to make the state buttons on the reviews page sticky.

#1532216 (Bug #91962) Corrected the display of file history where in some edge case integrations were being left off or displayed incorrectly.

#1531115 (Bug #91839) Email threading not working correctly for outlook users. Corrected the threadIndex and added additional debug output. Also added new configurable to allow the threadIndex to be turn off or on. 'mail' => array( 'index-conversations' => true, ), Some mail application and servers can deal with the indexing themselves.

#1530952, #1531161 (Bug #91866) When using the delay email (batching) it wasn't taking the configuration option 'notify_self'. This meant that the Author wasn't being added to the recipients list.

#1530881, #1530904 (Bug #92033) Upgraded Zend to 2.2.10 due to PHP 5.3.3 compatibility limits.

#1530040, #1532193 (Bugs #92002, #92003, #92004) Fixes for cleanup API return values both with and without the reopen parameter.

#1530007 (Bugs #91417, #91612, #92141, #92159) Comments mentions and project owners/members search should use user full name.

#1529630 (Bug #89986) Improved the frequent calls to the groups command, which now uses a local cache to help speed the request up. This also helps lower the number of Perforce commands Swarm issues.

#1529623 (Bug #91913) If a review author has been deleted we don't log this as an error when getting the review.

#1529616 (Bug #91860) Fix review index storage when a review commit fails. If a review is approved:committed and it fails (perhaps due to resolution needed) the review state index remains at approved. This is because the indexes get updated before the commit runs. If the commit fails we should roll back to the previous state so the index value and the review agree.

#1529602, #1529923 (Bug #91783) Fix the global search functionality that wasn't able to fetch data from the cache.

#1526033 (Bug #91742) Fixed the mail module that would exit without warning if the Perforce user was deleted.

#1523803 (Bug #91640) Fixed Unicode character issues searching full name.

#1518979 (Bug #91549) Add some defensive code to cope with user clone errors.