Nextcloud Server 30.0.0 → 31.0.0
8 versions, 7 critical-change sections in 1 version, 1 required stop
Required stops
- 30.0.17
Latest 30.x release.
Nextcloud must be upgraded step by step:
- Before you can upgrade to the next major release, you need to upgrade to the latest point release of your current major version.
- Then run the upgrade again to upgrade to the next major release’s latest point release.
- You cannot skip major releases. Please re-run the upgrade until you have reached the highest available (or applicable) release.
- Example: 18.0.5 -> 18.0.11 -> 19.0.5 -> 20.0.2
Wait for background migrations to finish after major upgrades. After upgrading to a new major version, some migrations are scheduled to run as a background job. If you plan to upgrade directly to another major version (e.g. 24 -> 25 -> 26) you need to make sure these migrations were executed before starting the next upgrade. To do so you should run the
cron.phpfile 2-3 times, for example:$ sudo -E -u www-data php -f /var/www/nextcloud/cron.phpSource: https://docs.nextcloud.com/server/latest/admin_manual/maintenance/upgrade.html (checked 2026-09-26)
Version by version, oldest first
30.0.1 – 30.0.6: no action items (6 versions)
30.0.7 – 30.0.16: released after 31.0.0; not on this route
30.0.17 2025-10-23
Required stop
31.0.0 2025-02-25
Quoted from docs.nextcloud.com/server/latest/admin_manual/release_notes/upgrade_to_31.html
Critical change
System requirements
- PHP 8.1 is now deprecated but still supported.
- PHP 8.4 is now supported, but 8.3 is recommended.
Critical change
Database configuration
Other row formats than DYNAMIC for MySQL and MariaDB databases will issue a warning since Nextcloud 24, as they often cause performance issues. With Nextcloud 31 a more prominent new setup warning for this was added.
The row format can be changed via ALTER TABLE DDL commands during a maintenance window. Changing the row format from COMPRESSED to DYNAMIC requires about 2x the disk space and may take a long time depending on the size of the database. See the MySQL documentation for more information. If you're not sure how to do this, you can find some tips and tricks from the community.
Critical change
PHP configuration
We have a new setup warning to check if the memory reserved for APCu is high enough. If you see this warning, you should increase the memory reserved for APCu. You can do this by increasing the value of the apc.shm_size directive in your php.ini file. It is generally advised to review this value and increase it if necessary depending on your instance size.
Critical change
Nextcloud configuration
Maximum chunk size
We have adjusted the default maximum chunk size for big file uploading. Previously it was set to 10MiB, it is now increased to 100MiB.
Also the configuration was moved from an app configuration to the system configuration (config.php). If you set up a custom value previously the value will be automatically migrated to the system configuration during the update. But if you need to set a new custom value you need now to use the system configuration, see also Adjust chunk size on Nextcloud side.
Critical change
Monitoring: Counting of active users
Starting with Nextcloud 31.0.6 the monitoring app was adjusted to count the active users in the same way as occ user:report and the support app.
Critical change
Previews
Starting with Nextcloud 31.0.10, the preview provider for MP3 files, which reads cover images embedded in the files, is disabled by default for performance and stability reasons. See Previews configuration for details on how to enable or disable the preview provider.
Critical change
AppAPI (app_api) is now a default app
Starting with Nextcloud 30.0.1, the AppAPI app is included and enabled by default. See ExApps management for details.
You can disable this app in the standard manner via the Apps menu if you do not expect to use AppAPI integrations in the near future.
If AppAPI is disabled, other apps that depend on it will not be visible in the app store. AppAPI-related setup checks will also be deactivated.
Release notes from github.com/nextcloud/server/releases, and Upgrade to Nextcloud 31, checked 17 hours ago. Only text the vendor marks as breaking, or puts in a warning/caution/important note, is shown; read the full notes for anything else. Nextcloud's GitHub release notes are lists of merged pull requests and mark nothing as breaking. What is quoted instead is the admin manual's “Critical changes” page for each major version (Upgrade to Nextcloud 26, 27, 28, 30, 31, 32, 33 and 35; there is none for 29 or 34), one item per section, labelled “Critical change”, on the x.0.0 release. The manual has no such pages before 26. Versions are covered from 23.0.0; GitHub has no complete release list before that. Required stops are the latest point release of each major version on the way, per the manual's upgrade page.