Skip to content

feat: Mark 32 bits support as removed for Nextcloud Hub 27 Winter - #61537

Merged
blizzz merged 4 commits into
masterfrom
carl/legacy-architecture
Aug 18, 2026
Merged

feat: Mark 32 bits support as removed for Nextcloud Hub 27 Winter#61537
blizzz merged 4 commits into
masterfrom
carl/legacy-architecture

Conversation

@CarlSchwan

@CarlSchwan CarlSchwan commented Jun 23, 2026

Copy link
Copy Markdown
Member

Summary

There are challenges around 32bit support, and while we added a warning to the setup checks in 2023 that 32bit support would be dropped, it's time to make a real decision.

We still claim to support 32bit, but in practice it isn't working well. Meanwhile, maintaining it is blocking improvements to performance, security and scalability that our (overwhelmingly 64bit) users would benefit from. Unless some volunteers step up to maintain 32bit support and find workarounds for the issues below, we intend to phase it out, with the coming release the last one that maintains some level of support.

Why this is getting harder

  • 32bit support breaks hard after 2038, and PHP itself will likely drop 32bit support well before that. A proposal to add PHP language features that would help 32bit was denied years ago, with maintainers citing that PHP itself would drop 32bit "soon anyway".
  • Realistically, this mostly affects Raspberry Pi 1 and 2 — anything below the Pi 3 isn't even supported by Nextcloud Pi anymore, and Pi 3 and up have 64bit support.

A lot is already broken

  • Some PHP logic is already broken on 32bit.
  • Many Nextcloud apps no longer support it.
  • Most of our supported Linux distributions no longer support it either.

We have limited automated 32bit testing and no manual testing. We recently spent real time fixing issues those tests turned up — work that will need to be repeated again and again if nothing changes.

That said, 32bit does still matter to some people: there are certainly still users running Nextcloud on Raspberry Pi 1/2, other dev boards, older NAS devices, and older routers. That's why we've kept it going this long, even though most contributors and customers have no need for it. But we've had a warning about the state of 32bit support in the setup screen since 2023, and we think it's time to move on.

The cost of keeping it "supported"

Our half-baked attempt at keeping 32bit alive comes at a real cost.

  • We're stuck on older versions of dependencies that still work on 32bit and can't upgrade to versions with fixes.
  • It blocks adoption of new tech we need, like snowflake IDs: PHP auto-converts big ints to floats on 32bit, losing precision; using them as strings instead just means PHP auto-converts them back to ints when used as array indices, breaking things either way.
  • A number of performance optimizations can't be applied because they would break on 32bit.

Without intervention, this situation is getting worse as libraries are no longer maintained. Bringing 32bit support back up to a good level would already be a lot of work, and will become harder and harder.

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

Signed-off-by: Carl Schwan <carlschwan@kde.org>
@CarlSchwan CarlSchwan self-assigned this Jun 23, 2026
@CarlSchwan
CarlSchwan requested a review from a team as a code owner June 23, 2026 13:09
@CarlSchwan CarlSchwan added the 3. to review Waiting for reviews label Jun 23, 2026
@CarlSchwan
CarlSchwan requested review from ArtificialOwl, come-nc, leftybournes and salmart-dev and removed request for a team June 23, 2026 13:09
@CarlSchwan

Copy link
Copy Markdown
Member Author

/backport to stable34

@CarlSchwan
CarlSchwan requested a review from sorbaugh June 23, 2026 14:02

@come-nc come-nc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 🪦

Comment thread apps/settings/lib/SetupChecks/SystemIs64bit.php Outdated
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Comment thread apps/settings/lib/SetupChecks/SystemIs64bit.php Outdated
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
@CarlSchwan CarlSchwan added this to the Nextcloud 35 milestone Aug 18, 2026
@CarlSchwan
CarlSchwan enabled auto-merge August 18, 2026 12:29
Comment thread apps/settings/lib/SetupChecks/SystemIs64bit.php Outdated
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
@blizzz blizzz changed the title feat: Mark 32 bits support as removed for Nextcloud Hub 27 Spring feat: Mark 32 bits support as removed for Nextcloud Hub 27 Winter Aug 18, 2026
@blizzz
blizzz disabled auto-merge August 18, 2026 14:32
@blizzz
blizzz merged commit af5ddb8 into master Aug 18, 2026
174 of 195 checks passed
@blizzz
blizzz deleted the carl/legacy-architecture branch August 18, 2026 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review Waiting for reviews

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants