Changes for developers & admins for Nextcloud 25 #32117
Closed
Description
Continuation of #29914
Front-end
- Theming redone: [stable25] New theming, how to make your app compatible #32060
body.theme--dark
classes removed. See above- SCSS support removed!
⚠️ [stable25] New theming, how to make your app compatible #32060
https://help.nextcloud.com/t/scss-support-dropped-with-nextcloud-25/ - Files app ID changes in the DOM, to remove duplicate IDs for accessibility:
- Non-Vue dialogs will stop working if triggered on top of Vue dialogs because of focus trap, example here: Port password confirmation dialog to vue #33675.
- We changed the container layout to adapt to the design changes with Nextcloud 25
- The body is no longer the main scroll area but instead the app content
- ⚗️ Proof of concept: Redesign app-content #33568
- Scroll listeners need to be adapted to watch for the scroll on the NcAppContent container instead of the main document
- If you are using sticky headers in your app you might need to adjust the css top property as the app content container is now the scrollable element. For any contained sticky that had a header height top spacing before you should be able to set that to 0
- If
@nextcloud/vue
components are used you'll need to update to the major release 7 of the library- Migration help for that can be found in https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md#v700-beta0-2022-09-01
- v6.0.0 included a rename of the components to be prefixed with
Nc
which is something that would also be required if not already done
- A global option to disable keyboard shortcuts was added to the accessibility settings. Since it heavily depends on the screenreader and tools that you use if Ctrl and/or Alt or other things are okay to use or not and maintaining a more detailed list is too much effort, we went for a global on/off switch. Apps can use this public javascript API call to determine whether the user used the opt-out:
OCP.Accessibility.disableKeyboardShortcuts()
. If that is the case, no additional shortcuts shall be registered by any app. Onlyspace
to toggle checkboxes andenter
to submit the currently active buttons/links are okay: Add global setting to disable keyboad shortcuts #34081
Backend
- The
christophwurst/nextcloud
composer package was replaced with a now Nextcloud ownednextcloud/ocp
package. The content is the same and all older versions were generated, so you can transition right away no matter which versions you support. We also have a GitHub Actions cron job template available at https://github.com/nextcloud/.github/blob/master/workflow-templates/update-nextcloud-ocp.yml which updates the packages every sunday, so you can make sure your app is still compatible with the latest OCP. - CSP policies now have merge priority: true wins over false: Add CSP policy merge priority for booleans #32113
IShareProvider::getSharesInFolder
now has a new argument$shallow
to support shallow and deep searches of shares in a folder. Update owner of subdir on move into/out of share #31728- Use
IUserManager::getDisplayName(): ?string
when you only want the display name of the user. This will avoid fetching all the user properties and generating useless DB/LDAP queries - Use \OCP\Server::get(className) instead of the private \OC::$server->get when dependency injection is not possible.
- Dashboard widgets are soon displayed in the mobile clients. With Extend dashboard api to allow listing of widgets #33658 buttons to see more information can be added and you can now already implement your widget as an
OCP\Dashboard\IAPIWidget
so the data is available to the clients. Also check the new documentation https://docs.nextcloud.com/server/latest/developer_manual/digging_deeper/dashboard.html ICreateFromString::handleIMipMessage(string $name, string $calendarData)
must be supported
Removed from public namespace:
- …
Removed from private namespace:
- …
Deprecations
- …
Deprecations of Events & Hooks
- Deprecate
\OCP\Collaboration\Resources::loadAdditionalScripts
Add event to load additional scripts for projects #32349
Behavorial changes
- …
Activity