Upgrade to Nextcloud 25
Note
Critical changes were collected on GitHub. See the original ticket for links to the pull requests and tickets.
General
info.xml
Make sure your appinfo/info.xml allows for Nextcloud 25.
<dependencies>
<nextcloud min-version="22" max-version="25" />
</dependencies>
SCSS support removal
With 25, we removed the support for scss files provided by apps. Please handle your own compilation, move to a vue app or move back to css. See Github issue #32060.
Front-end changes
Disabled keyboard shortcuts
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. Only space to toggle checkboxes and
enter to submit the currently active buttons/links are okay to be used.
See Github issue #34081 and JavaScript Frontend documentation.
Back-end changes
christophwurst/nextcloud replaced
The christophwurst/nextcloud composer package was replaced with a now Nextcloud owned nextcloud/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.
Avatar generation and avatar URL changes
Nextcloud 25 changed the behavior of generated avatars.
If your app or integration requests avatar images directly, note the following:
Deprecated avatar sizes are normalized to supported sizes:
requests for sizes up to
64return a64x64avatarrequests for sizes above
64return a512x512avatar
Dark theme variants of generated avatars are available through dedicated endpoints:
/avatar/{userId}/{size}/dark/avatar/guest/{guestName}/{size}/dark
Generated avatars may have a different appearance in dark mode than in light mode.
Apps should not assume that arbitrary requested avatar sizes are returned unchanged.
If you need dark-mode aware generated avatars, use the /dark endpoints.
Removed APIs
Removed SVG colour API