Compatibility between Nextcloud server version and nextcloud/vue

Hello,

I have seen in https://nextcloud-vue-components.netlify.app/ that there are different versions of the nectloud/vue app available. At the moment there are v6 through v8 and the upcoming v9 of the vue library.

According to the Vue Style Guidist, each version is somehow related with a NC server version. However, this is the only more or less clear relation that I found:
grafik

Honestly, I am not able to tell what this means in detail.

  1. Is this a strict relationship between the library version and the version of the server an app can run on. So, an app (version) with library v7 is only working well on NC 25-27? For NC 28 onward there will be fatal errors in the web frontnd?
  2. The library defines a minimal NC sever version. So when running v7, a NC of 25 is required minimum.
  3. The NC server version dictates the min library version (NC 25 requires at least library v7).

My personal expectation is that 1. is correct. I am asking to clarify because the current situation (active NC versions 27/28/29) implies that the app must work with the library in v7 (for NC 27), v8/v9 (for NC 28), and some unspecified version (for NC 29 as currently officially supported). That way, it is required for (community) apps that three different versions are at least supported (older NC releases are then no longer supported) and maintained by community contributors.

Can someone please clarify if this is true and every app should use the corresponding Vue library for the corresponding NC server versions? Can you give me a short hint, @susnux?

Thank you a lot
Christian

Hi Christian!

  1. Is this a strict relationship between the library version and the version of the server an app can run on. So, an app (version) with library v7 is only working well on NC 25-27? For NC 28 onward there will be fatal errors in the web frontnd?

Theoretically — yes. @nextcloud/vue is not “self-sufficient”. It is based on global server styles and CSS variables, and it uses server API which might change from version to version. So it is not guaranteed that an app with an old @nextcloud/vue will work fine on a new Nextcloud version and the opposite.

However, practically the difference is not so significant, not fatal errors. There are apps that use the latest @nextcloud/vue running on old Nextcloud servers, for example, groupware apps (Mail, Calendar etc.). Though, it might require some custom adjustments.

  1. The library defines a minimal NC sever version. So when running v7, a NC of 25 is required minimum.

Yes, in the context of the p.1

  1. The NC server version dictates the min library version (NC 25 requires at least library v7).

Yes, in the context of the p.1