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 circlewould become- share to team.
- The - updatenotificationapp now also supports notifications for apps that were updated. If the updated app provides a- CHANGELOG.language.mdor- CHANGELOG.en.mdfile, 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. See also the AppConfig section. 
Removed globals
- Global - autosizeis 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.fileexistsis deprecated. Use- openConflictPickerfrom @nextcloud/upload instead.
Back-end changes
Added APIs
- The Attributes - OCP\AppFramework\Http\Attribute\ApiRouteand- OCP\AppFramework\Http\Attribute\FrontpageRoutecan 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')and- OCP\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::getCustomPsrLoggerto get a customized PSR3 logger
- oc_sharetable: Due to massive performance impact on queries when selecting additionally for- item_type, it is no longer allowed, to use the- oc_sharetable for any other types than- fileand- folder.
- OC\BackgroundJob\Job,- OC\BackgroundJob\QueuedJoband- OC\BackgroundJob\TimedJob: use the- OCPversions.
Removed events
- OCP\Dashboard\RegisterWidgetEventwas deprecated in Nextcloud 20 and is now removed. Use- OCP\AppFramework\Bootstrap\IRegistrationContext::registerDashboardWidgetfrom 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.