You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Raise appinfo/info.xml on main to the fleet Nextcloud floor:
field
before
after
nextcloud@min-version
28
32
nextcloud@max-version
33
33 (unchanged)
php@min-version
8.0
8.3 (min-int-size="64" preserved)
Nothing else in the file is touched. This is a floor-only change.
Why
Product directive (PO, Ruben): the fleet standardises on Nextcloud 32 so it can require PHP 8.3 - "we want php 8.3 so going for min version nc 32 fleet wide is a good thing."
Governing rule (openconnector#1172 / #1173): an app's min-version must be >= the max of every <app> dependency's floor. If it is lower, the App Store advertises the app on Nextcloud releases where the dependency refuses to install, and the app is non-functional there - the App Store advertises a range the app cannot deliver.
Measured, not quoted:openregister@development currently declares nextcloud min-version="32" max-version="34" and php min-version="8.3" - re-measured on this branch with an XML parser rather than repeating a number (openregister#2384, merged 2026-08-08T10:45Z).
<app> dependency check for this repo:main's info.xml declares no <app> dependency at all - parsed ./dependencies/app, empty. So for this repo the rule is not binding via a declared dependency; the change lands on the product directive above, and pre-aligns the floor before any app dependency is declared.
Shape: floor-only PR directly to main
main trails development by 188-5206 commits across this fleet, so a development -> main merge would be a full release, not a floor fix. This PR therefore changes only the two floor attributes on main.
Measurement method
Values were read by parsing appinfo/info.xml with an XML parser (xml.etree.ElementTree), never grep: these files contain literal nextcloud element examples inside XML comments, and grepping has already produced false floor readings today. The comment added by this PR is deliberately prose only, with no angle-bracket XML element syntax, because floor guards count raw regex matches of the nextcloud element across the whole file including comments - a quoted example would trip the guard as a second, contradictory declaration.
Pre-push validation on this branch: the file parses as XML and the raw regex for the nextcloud element matches exactly once.
CI on main - verified for this repo
Listed every file in .github/workflows on main and grepped each for quality.yml@ and for any stable3[0-9] token:
No workflow on main referencesConductionNL/.github/.github/workflows/quality.yml@ - 0 hits.
No stable3[0-9] token anywhere in main's workflows - 0 hits.
No workflow on main installs Nextcloud at all.main's code-quality.yml is the old self-contained shape: PHP lint/quality only.
So there is no CI leg pinned to a Nextcloud version below 32 that needs to be dropped in this PR.
Follow-up (out of scope here):main's code-quality.yml sets php-version: '8.1' while info.xml will now declare a PHP floor of 8.3. The lint matrix and the declared floor disagree. Deliberately not rewriting those legacy workflows in this PR - out of scope, and it would surface unrelated failures.
Risk
Floor-only metadata change. No PHP, JS, schema, or lockfile is touched.
main has no completed run of the Code Quality workflow at all (gh run list --branch main --workflow code-quality.yml returns zero rows in this repo), so there is no baseline to compare failing job names against. Per the merge rule, each failure was therefore inspected individually instead of being assumed pre-existing. This PR changes only two attributes and one comment in appinfo/info.xml — no PHP, JS, CSS, or lockfile.
There is no Quality Report aggregator on this branch (these are the legacy self-contained workflows), so nothing was miscounted as debt.
eslint: Unable to resolve path to module '@conduction/nextcloud-vue', 'Delete' is defined but never used in src/views/organisaties/OrganisatieIndex.vue — 5 errors, 7 warnings
no
check-branch
branch-policy: PRs to main must come from beta or hotfix/*; source is chore/nc-floor-32-main
yes — branch-NAME policy gate, the only failure this PR causes
PHP Lint and CodeQL pass. The branch-policy gate fails by design and was overridden with --admin rather than renaming the branch to hotfix/* to force it green. Merging to main is authorised by the PO.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Raise
appinfo/info.xmlonmainto the fleet Nextcloud floor:nextcloud@min-version2832nextcloud@max-version3333(unchanged)php@min-version8.08.3(min-int-size="64" preserved)Nothing else in the file is touched. This is a floor-only change.
Why
Product directive (PO, Ruben): the fleet standardises on Nextcloud 32 so it can require PHP 8.3 - "we want php 8.3 so going for min version nc 32 fleet wide is a good thing."
Governing rule (openconnector#1172 / #1173): an app's
min-versionmust be >= the max of every<app>dependency's floor. If it is lower, the App Store advertises the app on Nextcloud releases where the dependency refuses to install, and the app is non-functional there - the App Store advertises a range the app cannot deliver.Measured, not quoted:
openregister@developmentcurrently declaresnextcloud min-version="32" max-version="34"andphp min-version="8.3"- re-measured on this branch with an XML parser rather than repeating a number (openregister#2384, merged 2026-08-08T10:45Z).<app>dependency check for this repo:main'sinfo.xmldeclares no<app>dependency at all - parsed./dependencies/app, empty. So for this repo the rule is not binding via a declared dependency; the change lands on the product directive above, and pre-aligns the floor before any app dependency is declared.Shape: floor-only PR directly to
mainmaintrailsdevelopmentby 188-5206 commits across this fleet, so adevelopment->mainmerge would be a full release, not a floor fix. This PR therefore changes only the two floor attributes onmain.Measurement method
Values were read by parsing
appinfo/info.xmlwith an XML parser (xml.etree.ElementTree), never grep: these files contain literal nextcloud element examples inside XML comments, and grepping has already produced false floor readings today. The comment added by this PR is deliberately prose only, with no angle-bracket XML element syntax, because floor guards count raw regex matches of the nextcloud element across the whole file including comments - a quoted example would trip the guard as a second, contradictory declaration.Pre-push validation on this branch: the file parses as XML and the raw regex for the nextcloud element matches exactly once.
CI on
main- verified for this repoListed every file in
.github/workflowsonmainand grepped each forquality.yml@and for anystable3[0-9]token:mainreferencesConductionNL/.github/.github/workflows/quality.yml@- 0 hits.stable3[0-9]token anywhere inmain's workflows - 0 hits.maininstalls Nextcloud at all.main'scode-quality.ymlis the old self-contained shape: PHP lint/quality only.So there is no CI leg pinned to a Nextcloud version below 32 that needs to be dropped in this PR.
Follow-up (out of scope here):
main'scode-quality.ymlsetsphp-version: '8.1'whileinfo.xmlwill now declare a PHP floor of 8.3. The lint matrix and the declared floor disagree. Deliberately not rewriting those legacy workflows in this PR - out of scope, and it would surface unrelated failures.Risk
Floor-only metadata change. No PHP, JS, schema, or lockfile is touched.