AbstractDatabaseObjectAction::setObjects() does not set the objectIDs
remove unnecessary code

getComment() returns always null if the comment is invalid, so it mustn't be checked
remove unnecessary code
add method "removeFromGroups()"

As it's not currently with the action can only add users to groups, but can not remove it again, I would propose to add this method in order to create a proper opportunity to remove user from user groups.
use "removeFromGroups"-Method in update()-Method
Added Tapatalk 4

In order to make this work properly, detection needs to be performed before Firefox.
Honor option "log_ip_address"
Updated to 0.4.0

Also re-implemented the "Work-around for superfluous brackets" (cba23a28c36273ed11e53bea5c66e6f7f33ed4ea)
Updated timepicker
Applied small optimization

reCaptcha answers with `ERROR_INVALID_COOKIE`, if javascript is disabled and the given answer within the fallback is wrong/malformed. In this case it's recommended to throw a `UserInputException` instead of a `SystemException`.
Added memorybot
Moved 3rdpartyFields to a better position
prevent updating deleted profile-fields with 3rd..

..party connections 

see here: https://www.woltlab.com/forum/index.php/Thread/227754-Facebook-Anmeldung-nicht-m%C3%B6glich/
Updating minified JavaScript files
Updating minified JavaScript files
Update MessageForm.class.php

Fixed PHPDoc
Fixed multiple open graph issues
Merge branch '2.0'

Conflicts:
	wcfsetup/install/files/js/WCF.min.js
Improved visuals and message tab menu behavior
Add canViewTag permission