#1499167 (Bug #90426) Implemented the support to display Readme.md file for Projects.

#1496945, #1508873 (Bug #86498, #90885) Added support for Markdown in comments. Markdown in comments is limited to syntax which doesn't break the flow of the page.

#1493811, #1496152, #1496156 (Bug #90559, #90562, #90671, #90672) Additional review filters have been added to allow users to filter their reviews list based on: If they have commented on a review and if they have voted on a review.

#1488307 (Bug #89886) Implemented Action Dashboard on home page to allow user to see what reviews require their action.

#1485432, #1485462, #1489449 (Bug #86758) Added support for PHP7 in P4PHP and Swarm.

#1481965 (Bug #89025) Adding functionality to change the author of a review. To enable this feature you need to change this to true. 'allow_author_change' => false,

#1507806 (Bugs #90584, #90759) Configurable project sort order for 'All projects' on the home page

#1507137 (Bug #90795) Changed the Reviews page a little to allow it to display a reviews with lots of reviwers on it. Also made it so the actionable buttons like Tasks, Author change and Reviewers buttons go onto a new line once a screen size is too small.

#1499644 (Bug #90703) Adding the ability to cleanup the users pending changelist related to a review when committing the reviews.

#1496624 (Bug #90637) Remove the fullname of users from the buttons when added to project so they don't look like the name is being truncated.

#1496523 (Bug #90388) Changes to email headers. This change changes how email headers are constructed for reviews. Previously we were assigning random timestamps to emails coming out of reviews, this resulted in users not being able to filter the email notifications coming out of Swarm. Main principle is - all messages should have proper Message-ID and In-Reply-To headers - if this is a new review then the email should only have a Message-ID. All messages coming out of a review should have the header of In-Reply-To pointing to the message-ID of the first email in the chain (new review being requested). All comments to the review itself should be accumulated under one thread, all comments to a specific line in a file in a specific version should have their separate thread. All other messages - actions taken on the review - should have a distinguishable value ie. "action-voted_up" and a timestamp to avoid confusion between messages. The part after "@" sign should be configurable and default to 'swarm'.

#1492207 (Bug #87136) Autosuggest dropdown with users for @mentions in comments. Added jquery plugin to enable user dropdown in comments on files/reviews/jobs with new configuration options: 'mentions' => array( 'mode' - either global(default)/projects/disabled 'usersBlacklist' - array of user id's that should not appear on the dropdown It uses a two-fold approach - if we have enabledAll - all comment boxes in all pages in Swarm - the data is fetched from js with an ajax call and then passed down to the plugin. If we have enabledInProjects only comment boxes in reviews that are part of a project will have a list of users that are either a participant on that review or a member of a project. By default the dropdown is disabled.

#1490507 (Bug #90062) Review Participants API endpoint This endpoint will enable listing, adding, removing, and updating participants on reviews. It will also allow the API caller to define required participants and place votes.

#1480084, #1487008 (Bug #72450) Add option to sync change/review descriptions. If "sync_descriptions" was enabled and we have updated a change description on a changelist all previous changelists would have their description changed.

#1479671, #1486253 (Bug #87275) Only show groups tab for super users.

#1479414, #1486693 (Bugs #74561, #80804) Modify the message behaviour on commit failure. Previously we were discarding all messages coming out of p4 and passing down the first line of the message. Modify the behaviour to pass the whole message except the last line for jQuery to render. If message will have more than two lines use the extender to hide the additional output. It will pass down anything coming out of Perforce - so it will also pass any user-defined messages - like messages coming out of triggers - to the frontend.

#1478138 (Bug #85037) Override expander to allow any part of the table cell containing the shortened description to be clicked.

#1477010 (Bug #63571) Implemented a global 'ignore whitespace' button that toggles ignore off/on. Initially whitespace is not ignored - when you click the global button all files that were not ignoring whitespace and changed to ignore whitespace Similarly when you toggle the global button off all files ignoring whitespace are switched to not ignore whitespace

#1494480, #1497544 (Bug #90307) If your P4 admin is mis-configured or its ticket has expired, will result in the user now getting a meaningful error message.

#1493869 (Bug #89988) Bookmark reviews filter. As we cannot reliably do the same thing for all browsers a decision has been made to include a button on the reviews page to save the url - this button should have a tooltip informing users of an option of saving the current filters by using the browsers built-in function to create bookmarks.

#1492312 (Bug #87180) Fixing temporary file creation while handling ktext files. Trigger script was creating a file and trying to run a p4 print against an open file - which would understandably fail. The message returned was not helpful to the customer at all. Changed it so instead of creating a file it creates a filename that later is used with the print command - should fix the problem and it should now be possible to recalculate digests for unexploded ktext files.

#1492205 (Bug #90376) Fixing the issue where the project typeahead would auto close when clicking inside the input. This was due to the multiPicker checking if authenticated first then dropping out instead of preventing the closure of the input box first. This has only been introduced because no multipicker was accessible unless logged in.

#1491907 (Bug #90380) If you have navigated to a private project and decided to logout, you will now be redirected to the home page instead of a 403 error.

#1490000 (Bug #89983) Filter reviews by participant role only Filter reviews by participant role only On the 'Reviews' page selecting "I'm a participant" should not also return all the views I authored

#1489999 (Bug #80507) We should attempt to line break long descriptions to prevent the whole description from appearing in bold.

#1487039 (Bug #90243) This change prevents the user from adding a non-committed change to a review from the 'Add commit...', 'Already committed...' dialogs.

#1483093, #1490001 (Bug #89908) Perforce admin users should not see all projects Perforce super users should see all projects Perforce admin users should not see all projects; they should be subject to permissions when it comes to project filtering

#1481962 (Bug #80366) Close our confirm popover when clicked outside. Before, the only way to close the popover was by clicking on the 'Cancel' button inside it. This could be problematic when the DOM structure changes as it could cause the popover being visually detached from the element.

#1480955 (Bug #89891) Make sure if someone updates a review, they get properly credited for the work. Previously if user 'foo' created a review, all updates to that review would be credited to that user. This should make sure anyone who at any point updates the review with a new shelf, is credited for the work, instead of the review author.

#1480702 (Bug #88630) Show a better error for invalid group name created via the API

#1480070 (Bug #89622) Allow owners to delete a project without needing to be a member

#1479660 (Bug #65237) Make branch id in sync with branch name

#1474448 (Bug #89662) Fixed a bug where review version slider was always rendered in scrolling mode if review page was loaded with 'Files' tab not active.