Upgrade to Nextcloud 14
Note
Critical changes were collected on GitHub. See the original ticket for links to the pull requests and tickets.
General
PHP 7.0 and PHP 7.1 support added.
Introduction of type hints for scalar types in public APIs according to existing PHPDoc.
Front-end changes
OCA.Searchis nowOCA.Search.Core.Overall structure changed.
.with-app-sidebarnot required anymore to open the sidebar only use disappear on the sidebar.svgnot required anymore.with-settingsnot required anymore.with-iconnot required anymore
Back-end changes
Changed APIs
AppFramework\Http\Request::getHeaderalways returns a string (and not null).Security\ICrypto::decryptonly accepts strings.\OCP\AppFramework\Utility\ITimeFactoryis strictly typed.\OCP\IL10Nis strictly typed.\OCP\Mailand the email templates got type hints.\OCP\Authentication\TwoFactorAuthgot typehints and return type hints.\OCP\Migration\IMigrationStephas two new methods.EMailTemplatechild classes should use the %$1s notation for replacements to be future compatible and be able to reuse parameters.
Deprecated APIs
OCP\FilesSetting custom client URLs in a custom
\OC_Themeclass. Settings in config.php should be used.Log levels in
OCP\Util. Moved to the\OCP\ILoggerinterfaceOCP\AppFramework\Db\Mapper. Move to\OCP\AppFramework\Db\QBMapper
Removed APIs
several deprecated functions from
\OCP\AppFramework/IAppContainer\OCP\BackgroundJob::registerJob\OCP\Config\OCP\Contacts\OCP\DB\OCP\Files::tmpFile\OCP\Files::tmpFolder\OCP\IHelper\OCP\ISearch\search\OCP\JSON\OCP\Response\OCP\Share::resolveReshare\OCP\User::getDisplayNames\OCP\Util\formatDate\OCP\Util::generateRandomBytes\OCP\Util::sendMail\OCP\Util::encryptedFiles\OCP\Util::getServerProtocol\OCP\Util::getServerHost\OCP\Util::getServerProtocol\OCP\Util::getRequestUri\OCP\Util::getScriptName\OCP\Util::urlgeneratorDeprecated OCP constants
Deprecated template functions from OCP
Some deprecated methods of
\OCP\ResponseHTTPHelper
Behavioral changes
Removed
--no-app-disablefromocc upgradecommand.$fromMailAddresswon’t be injected anymore by the DI container.Apps that are enabled for groups can now provide public pages, that are available even if a user is not logged in.
OCS API method AddUser POST:/users now allow empty password iff email is set and valid.
Email texts are not automatically escaped anymore in all cases.
Configuration changes
When using Swift Objectstore as home storage make sure that to set the
bucket/containerparameter.mail_smtpmodecan no longer be set tophp. As this option is lost with the upgrade of phpmailer.
OCS changes
Added APIs
Details endpoint for the user list
Details endpoint for the groups list
Changed APIs
OCS API getGroup method replaced by getGroupUsers #8904
Internal changes
Note
Only relevant if you used non-public APIs. Don’t use them.
cleanup of
OC_*namespace - we removed quite some classes, methods and constants from our internal namespace.Removed
OC_Group_BackendRemoved
OC_Response::setStatusand the constants for status codes