Upgrade to Nextcloud 14
Note
Critical changes were collected on GitHub. See the original ticket for links to the pull requests and tickets.
General
- php7.0 and php7.1 support added. 
- Introduction of type hints for scalar types in public APIs according to existing PHPDoc. 
Front-end changes
- OCA.Searchis now- OCA.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\Files
- Setting custom client URLs in a custom - \OC_Themeclass. Settings in config.php should be used.
- Log levels in - OCP\Util. Moved to the- \OCP\ILoggerinterface
- OCP\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::urlgenerator
- Deprecated OCP constants 
- Deprecated template functions from OCP 
- Some deprecated methods of - \OCP\Response
- HTTPHelper 
Behavioral changes
- Removed - --no-app-disablefrom- occ 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 to- php. As this option is lost with the upgrade of phpmailer.
OCS changes
- Details endpoint for the user list 
- Details endpoint for the groups list 
- 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_Backend
- Removed - OC_Response::setStatusand the constants for status codes