Smartclient is a bit special, because that needs jars also on the client (so downloadable). With 2022.09 when you export a WAR and you have rmi enabled (disabled by default) then we should be in the 2022.06 mode. it should work the same
Of course we are constantly updating libraries and versions (i think 2022.12 will be even bigger, because for that release we will be moving fully to Java 17)
But in the new way of deploying all the plugins and all the supported libs of plugins are being placed in the area where they are supposed to be (WEB-INF/lib) that means it is 1 big classpath with everything loaded through one classloader.
This does mean (but that was kind of always the case) that you can’t have different versions of the same jar… That should never have happened and should always be avoided.
Since 2022.06 we already have checks for that, when you generate a WAR we copy all the jars and we double check for duplicate version, and we will warn and throw out the older once. (maybe that is what you hit against?)
Even the past week i created cases at Eclipse and Apache projects to get libraries to have correct dependency setup, and I told eclipse that they have to use a newer version of stuff. happily that was right away picked up and for the next, next release (so not 2022.12 because that will be built on the now fixed 2022.09 of eclipse) this will be fixed and I can move to the latest libs of everything.
If you use 3rd party jars, then the maintainers of those need to check every time there dependencies and they should not ship versions of jars that Servoy already ships… That is bad.
Of course then you could still have 2 3rd party plugins with their own set of jars and they have duplicates between them, but hopefully they can be maintained that both are always on the latest major versions.
About NPM packages for TiNG we will make sure that all our packages are up to date when we do a release and we will do a release of all the NPM package that needs this. It is just now a way that software moves way faster to keep up with everything. If we would not do that then in 1 or 2 years we would be falling so much behind that it will be very hard to catch up… Not to mention then the possible security issues that could arise in the meantime…
But if you have your own or a 3rd party component/service then at least you need to be in sync with the angular version that we also ship for that specific Servoy release.
For Servoy we will be introducing in min and max version for a package… So it will not be anymore only that Servoy Version X is needed for component package Y, but we also say Servoy version X will also need a minimum version of the component package…
If for example 2022.09 already had that, then when upgrading from a 2022.06, at the first restart we would popup right away a dialog, with the information that you have to upgrade these packages before you can continue because Servoy 2022.09 needs Bootstrapcomponents 2022.09 as a minimum.
So i am all ears how this could be smoother, but i think it really is that everybody needs to maintain their dependencies.