Update on 32-bit support: decision to block the update on Nextcloud 26 reverted

It has been decided to revert the decision about fully dropping and blocking 32 bit instances.
We are currently working on:

  • making sure that the updater of Nextcloud 26 will not block the updates of 32-bit instances
  • reverting the breaking changes introduced so far for Nextcloud 26
  • planning the development of testing mechanisms for 32-bit

This article will outline the context and reflections of the decision and share ideas on how we want to improve testing.

History and context 32-bit support

32-bit support has been in decline for several years thanks to the News app, Office CODE app and Matterbridge Talk not supporting it. The employed Nextcloud maintainers don’t prioritise development efforts for 32-bit support and by the company there are no tests done for 32-bit, which means no manual tests (no developer has a 32-bit instance) and no automated tests. This comes at the risk of introducing changes that break 32-bit instances. This is why we - at first - removed the compatibility of Nextcloud with 32-bit from the system requirements documentation for the release of Nextcloud 25.

With Nextcloud 25 we unknowingly introduced breaking changes that affect 32-bit instances, while not blocking the updates or in any other way actively warning administrators of the lack of compatibility.

After heavy complaints on the forum, we sat down with the developers and reflected on the mistakes made and our process and communication, and the outcome of that reflection was that the best way to move forward is to:

  • fix the breaking changes in Nextcloud 25 to give everyone one more year to upgrade their hardware
  • to block 32-bit instances in the updater for version 26
  • to communicate about it with community timely

At this stage we published our previous forum post, announcing we would officially fully drop 32-bit support.

However, after this post, the reflection continued in other layers of the organization. They felt the decision is perhaps a too easy way out - why not take action to create a testing approach instead? Most importantly, the decision is also contradictory to Nextcloud’s overall product vision to support many different types of devices. And last but not least - we love our (homeuser)community and we are fully aware of the fact that removing support for 32bit instances would mean for some of them being forced into buying new hardware. These were the reasons to decide to revert the decision to block updates to 32 bit support.

Roadmap

@Andy and me sat down to come up with a roadmap and plan to prevent situations like we had with the release of Nextcloud 25.

We think the requirements for an acceptable 32-bit support, are the following:

  • Software needs to be reliable: Automated tests are in place for code paths that have been problematic in recent past releases, upgrades have to be manually tested
  • Maintenance of the code: If issues arise, critical issues need to be solved in a timely manner and new server releases of Nextcloud need to remain compatible with 32-bit.

Automated tests

  • Andy and the engineering teams are currently working on collecting the tasks and effort estimates for 32-bit (CI tests + reverting the breaking changes made so far)
  • It is unlikely that most tests will be available for the Nextcloud 26 release already
  • We will prioritize tests for code paths that had a high impact (like breaking an instance) in the past
  • We would appreciate community contributions for the tests

Manually testing of updates

We think it is important that updates also get manually tested. Are there people from community interested in doing such tests? What would you need from us?

We are also looking into if we can run our standard update tests in a virtual environment.

On our Talk instance we also have a dedicated server packager Talk room, where we announce newly published packages for major versions, maintenance releases as well as release candidates, so packagers are aware of it and can do their specific packaging and upgrade testing. We would like to get in touch with the NextcloudPi people and other people providing packages for 32-Bit packages to check if they would like top join that channel to always be up-to-date when it comes to new releases of any kind.

Maintenance

We also aligned on what the scope will be of the code maintenance done by paid maintainers:

  • High priority 32-bit issues (such as a totally breaking instance like we had for Nextcloud 25) will be planned and fixed by the maintainers of the code.
  • Other bugs and issues may be fixed by the maintainers on best effort basis.
  • The maintainers will accept pull requests if the pull requests are neither creating side effects destabilizing other parts of the system nor break nor limit compatibility or features with other infrastructures. For example 32-Bit systems can’t process file larger 2GB yet we would reject a PR limiting file uploads for files larger than 2GB because that would limit functionality for non-32-Bit systems for no reason.

Discussion

I personally hope that the continued discussion led to a decision that better fits the Nextcloud vision and the needs of admins of 32-bit instances, while simultaneously also providing a realistic and good-enough maintenance plan to avoid the problems we saw with the release of Nextcloud 25.

I’m not proud of how wobbly this process was and that we are now reverting an earlier statement made, and I hope it does not give the impression that the previous decision was made almost overnight without good consideration. 32-bit turned out to be a delicate and debatable topic with the key stakeholders having conflicting concerns. My main role in this has been to moderate the discussion, include concerns that were raised by you on the forum, communicate in a timely manner on this forum, and get acceptable compromises on the table. I hope you agree with me that these compromises are acceptable.

With this post I would like to dearly invite people who run 32-bit to get involved, please get in touch with us so we can involve you to create a nice experience for 32-bit users. For example, it would really have an impact if things like the updates get tested manually by community before actual releases take place.

Though we need to put out at this point that this announcement doesn’t automatically mean there will be 32-bit hardware support for ever. Please keep in mind that it could happen that we need to stop it at some point in the future and so we hope you’ll keep that in mind when buying new hardware.

21 Likes

I will just say from past experience that nothing speaks quite like a project willing to change course based on community feedback.

13 Likes

What a great news. :tada::partying_face:

  • Supports sustainability (every not replaced but still capable piece of hardware is a win for the planet) - even affected users „only“ were bought some more time to migrate
  • NC team proves they listen to the base/community and did a lessons learned with detailed actions afterwards like e. g. clear communication. Well appreciated.

This really reestablished a lot of the shortly lost trust (for me). Thank you.

If only maintainers like especially NC News would (re)prioritize 32 bit like that. It’s always a huge difference between not being able of using new features (like office integration) and not being able to continue using well-known long-term used apps like NC News. See News update 16.0.0 with not fulfilled dependencies · Issue #1423 · nextcloud/news · GitHub for the heated discussion at that time.

I‘m already supporting devs on GitHub fixing breaking changes introduced with NC v25. Looking forward to NC 26+.

6 Likes

:partying_face:
I just registered to say thank you for this decision.
We are using our raspberry pi for nextcloud and other thing (like Kodi with widevine). 64bit versions are just not available for parts of kodi which would have made it impossible to change to a 64bit OS.
Thanks for that great news.
Oliver

3 Likes

I was wondering if this warning from /settings/admin/overview will be modified or even removed?

It seems like you are running a 32-bit PHP version. Nextcloud 26 and higher require 64-bit. Please upgrade your OS and PHP to 64-bit! For further details read [the documentation page about this ↗](https://docs.nextcloud.com/server/25/go.php?to=admin-system-requirements).

1 Like

Likely.

2 Likes

Update quoting @Andy :

Quite some important news, I put it in a bit more prominent position on the forum.

1 Like

Even if i think dropping 32bit was a correct move. I feel that it was not communicated with the community the correct way. And it was a bit wonky just to see it dropped without any big post about it.

This post corrects that. S beautiful and very nicely put post and a good decision! Most excellently put.

Nice @Daphne more of these pretty please :slight_smile:

1 Like

I’d like to ask you to reconsider also to make builds, even if untested, for older version of MacOS. I certainly won’t throw my 10y old perfectly working iMac27 away just because some nextcloud guy thinks that I am taking unreasonable security risks to run a 10y old machine that is not updated. So now I have to synchronize it with command line, and it really sucks. Just my five cents.

Nice example of transparent communication. Bad example of evolution. Good work.

So long as support for 64-bit RPI remains strong, I would support dropping 32-bit, if it adds more work and slows development. Perhaps doing a community survey to gauge community support for dropping it in 25 or 26, or after a year.
I’m a home user. Thank you for everything you do.

I’m happy to hear that Nextcloud 26 will continue to support 32-bit. When I initially deployed Nextcloud on a Raspberry Pi (841 days ago and counting), Raspbian OS was 32-bit.

So, my only option for moving to 64-bit is to do a complete reinstall of the OS and Nextcloud. The decision to continue support of 32-bit gives me time to make that move.

2 Likes

Thank you for 32 bits support !
I have 2 Raspberry Pi alive ! They will not go to the trash and pollute the planet :slight_smile:
We have all the time needed to wait for good and stable releases :wink: as it’s free :slight_smile:

Thx guyz !

2 Likes

Somehow I just came across this announcement now.

Anyhow, I greatly appreciate that after the initial debacle, this issue has been taken seriously, and the team decided to improve communication and predictability. This goes a great length to restore trust in the NC project as a whole.

(It’s a little bit overshadowed by the unannounced deprecation of the Projects feature in the same release, which caused just as much headache to many of us, but that’s another discussion.)

1 Like

I think we’re all aware that support for 32-bit isn’t going to last forever. However, it would be really nice to have this as long as possible, and as long as existing 32-bit hardware have mostly adequate performance to run NC nicely (e.g. my Odroid HC2 is still plenty capable).

The other thing that we would like to have is clear communication about roadmap (concerning 32-bit, among all the other aspects of NC), and sufficiently early notice of future drop of support to enable us to properly prepare. In my understanding, the result of the above explained reflections is an emphasis on this by the team, which is hugely welcome and appreciated.

1 Like

I’ve already offered my help in testing the upgrade process here.

1 Like

Well, it’s not the fault of Nextcloud that your Mac does not receive any updates. I’d try to see if you can get other OS running that still receive support, perhaps there are some Linux or BSD images that can run. On these OS, you can easily run Nextcloud as well.

1 Like