Skip to content

feat: support Nextcloud 35 and 36 - #2540

Closed
pducharme wants to merge 5 commits into
nextcloud:masterfrom
pducharme:fix/nextcloud-36-compatibility
Closed

pducharme wants to merge 5 commits into
nextcloud:masterfrom
pducharme:fix/nextcloud-36-compatibility

Conversation

@pducharme

@pducharme pducharme commented Sep 17, 2026 •

Copy link
Copy Markdown

Bookmarks declares compatibility only through Nextcloud 34, preventing normal activation on Nextcloud 35 and the current 36 development branch. The newer public schema interface also no longer exposes changeColumn, which Psalm reports in an older migration.

This change extends the supported range to 36 and replaces that call with modifyColumn, preserving the column type and unsigned setting. Application IDs, REST endpoints, authentication and stored data formats are unchanged.

The existing manifest-driven PHPUnit/Psalm matrices cover the added versions. SQLite activation now runs without --force; upgrade tests add v16.2.6 on 35/master with SQLite, MariaDB and PostgreSQL and compare exported bookmarks before/after. MariaDB services meet the new server minimum. Floccus tests use Nextcloud source checkouts for stable32, stable35 and master so development-server coverage does not depend on a released Docker tag.

Validation

The fork validation runs use the same application code with standard GitHub runners in place of the organization's ubuntu-latest-low runners:

  • PHPUnit: SQLite, PostgreSQL, MariaDB 10.11/11.4 and MySQL 8.4 — passed.
  • Psalm: Nextcloud 32, 33, 34, 35 and master — passed. The new 35/master checks reproduced the schema API error before the fix.
  • Upgrade: all 25 jobs passed, including v16.2.6 on 35/master across all three database backends.
  • Repair tests, PHP lint/coding standards, ESLint, Stylelint, JavaScript build and CodeQL — passed.
  • Floccus browser tests — all six Firefox jobs passed: Floccus master/develop on Nextcloud stable32, stable35 and master. This targeted run includes the final Floccus setup changes; application code is identical to the earlier passing PHP/upgrade checks.

Upstream workflows currently require maintainer approval. Dependency Review cannot run in the fork because its dependency graph is disabled; no application dependency changes are included here. Nextcloud master currently identifies itself as 36.0.0 dev, so results do not attest a future final release. No production instance or personal browser data has been accessed.

Prepared with assistance from OpenAI Codex.

Signed-off-by: pducharme <pducharme@gestioo.co>
Signed-off-by: pducharme <pducharme@gestioo.co>
Signed-off-by: pducharme <pducharme@gestioo.co>
@pducharme
pducharme force-pushed the fix/nextcloud-36-compatibility branch from daa2bf6 to 914293e Compare September 17, 2026 12:49
Signed-off-by: pducharme <pducharme@gestioo.co>
Signed-off-by: pducharme <pducharme@gestioo.co>
@pducharme
pducharme marked this pull request as ready for review September 17, 2026 13:27
@marcelklehr

Copy link
Copy Markdown
Member

Thank you @pducharme for taking this on. I have a few opinionated alterations to this, so I've whipped up #2542
I hope that's ok. I will close this for now. Thank you nonetheless

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants