Nextcloud 35.0.2: many fixes, clean Docker upgrade from 35.0.1
Summary
Nextcloud 35.0.2 is a maintenance release with many fixes. The release notes group them as follows (reported, not tested by us beyond the upgrade):
- Sharing: link expiry defaults follow the configured setting, share presets are limited to the resharer’s permissions, and calendar and address book sharing is restricted to the owner.
- Sessions and login: remember-me cookie handling was tightened, and password reset link expiry is checked against the interactive login time.
- Files: filenames containing newline characters are rejected. Several fixes for live photos, renames and mounts.
- Admin: a code integrity background job,
trashbin:expirecontinues past errors, anduser:resetpasswordnow dispatches password reset events. - Fixes: an ImageMagick segfault in theming app icon rendering, and phpseclib updated to 3.0.57.
- Bundled apps: updates to text, circles, activity, notifications, serverinfo and others.
files_lockwidens lock identifiers and durations to bigint and runs migrations.
Breaking changes and deprecations
The release notes list no breaking changes. They report one deprecation: long, non-lazy app and user config values. Filenames with newline characters are now rejected, which could matter if you have scripts that create such names.
Tested in our lab
We upgraded the official Docker image from nextcloud:35.0.1 to nextcloud:35.0.2, using a named volume and the built-in SQLite database. We did not test a Postgres or MariaDB setup, Redis, or the sharing, session or DAV changes.
- 35.0.1 installed and answered on
status.php. We added a file for the admin user. - We stopped the container cleanly, then started 35.0.2 on the same volume.
- The entrypoint upgraded the database and apps automatically.
files_lockwent from 35.0.0 to 35.0.1. - After the upgrade
status.phpreported 35.0.2, maintenance mode was off, and no further DB upgrade was needed. - The test file was still there with the same content, and a file scan reported 0 errors.
- The Nextcloud log had two entries at warning level or above, both during the upgrade. They were about not reaching the app store from our lab guest. We do not count them as release problems.
Lab log
$ docker run -d --name nc -p 8080:80 -v nc_data:/var/www/html -e SQLITE_DATABASE=nc -e NEXTCLOUD_ADMIN_USER=admin -e NEXTCLOUD_ADMIN_PASSWORD=[redacted] nextcloud:35.0.1
$ docker exec -u www-data nc php occ status
- installed: true
- version: 35.0.1.1
- versionstring: 35.0.1
[...]
$ docker stop nc && docker rename nc nc-old && docker pull nextcloud:35.0.2 && docker run -d --name nc -p 8080:80 -v nc_data:/var/www/html nextcloud:35.0.2
$ curl -s http://localhost:8080/status.php
{"installed":true,"maintenance":false,"needsDbUpgrade":false,"version":"35.0.2.2","versionstring":"35.0.2","edition":"","productname":"Nextcloud","extendedSupport":false}
$ docker exec -u www-data nc cat /var/www/html/data/admin/files/lab.txt
hello-lab
$ docker exec -u www-data nc php occ files:scan admin
| Folders | Files | New | Updated | Removed | Errors | Elapsed time |
+---------+-------+-----+---------+---------+--------+--------------+
| 5 | 65 | 0 | 0 | 0 | 0 | 00:00:00 |
$ docker logs nc 2>&1 | grep -iE "error|warn|upgrade|Update"
[...]
Updated database
[...]
Updated <files_lock> to 35.0.1
[...]
Updated <notifications> to 8.0.1
Reported by others
We did not search issues or forums for reports on this release. The only source is the release notes.
Verdict
Upgrade. The 35.0.1 to 35.0.2 step was uneventful in our Docker and SQLite test, and the release carries many fixes. Take a backup first, as with any Nextcloud upgrade, and stop the old container before starting the new one.