Upgrade to Nextcloud 29
General
The Circles app will be renamed to Teams. Apps that use the terms Circle/Circles need to get adjusted to use Team/Teams instead. For example
share to circle
would becomeshare to team
.The
updatenotification
app now also supports notifications for apps that were updated. If the updated app provides aCHANGELOG.language.md
orCHANGELOG.en.md
file, it will create notifications for users about these changes. See also the app changelog section.
info.xml
Make sure your appinfo/info.xml
allows for Nextcloud 29.
<dependencies>
<nextcloud min-version="27" max-version="29" />
</dependencies>
Front-end changes
Changed APIs
IAppConfig has been fully reworked, most of previous methods are now deprecated. The new version of the API implements multiple settings for app config values to define their laziness and sensitivity.
Removed globals
Global
autosize
is removed, it was deprecated for over 4 years and scheduled for removal with Nextcloud 20. If you still need it you should ship your own version.
Deprecated APIs
OC.dialogs.fileexists
is deprecated. UseopenConflictPicker
from @nextcloud/upload instead.
Back-end changes
Added APIs
The Attributes
OCP\AppFramework\Http\Attribute\ApiRoute
andOCP\AppFramework\Http\Attribute\FrontpageRoute
can be used for routing registering routes. See Routing for documentation.
Changed APIs
OCP\IURLGenerator::URL_REGEX_NO_MODIFIERS
: Changed to match localhost and hostnames with ports.OCP\Files\IMimeTypeLoader
: Every method from this interface now has type declarations. Make sure to update your implementation if you have one.OCP\IRequest::getParam('_route')
andOCP\IRequest::getParams()['_route']
: The route name (consisting of app ID, controller name and controller method) is now all lower case
Removed APIs
OCP\Log\ILogFactory::getCustomLogger
: use\OCP\Log\ILogFactory::getCustomPsrLogger
to get a customized PSR3 loggeroc_share
table: Due to massive performance impact on queries when selecting additionally foritem_type
, it is no longer allowed, to use theoc_share
table for any other types thanfile
andfolder
.OC\BackgroundJob\Job
,OC\BackgroundJob\QueuedJob
andOC\BackgroundJob\TimedJob
: use theOCP
versions.
Removed events
OCP\Dashboard\RegisterWidgetEvent
was deprecated in Nextcloud 20 and is now removed. UseOCP\AppFramework\Bootstrap\IRegistrationContext::registerDashboardWidget
from within your app bootstrap.
Changed behavior
The dashboard no longer loads the sidebar or Viewer scripts, if your dashboard widget relies on this it should emit the required events itself.