Hello Emond, On Fri, 25 Aug 2023 at 14:38, Emond Papegaaij <emond.papega...@gmail.com> wrote: > > Op vr 25 aug 2023 om 07:02 schreef Maxim Solodovnik <solomax...@gmail.com>: > > > So if (for whatever reason) we do have > > wicket-core 9.8.0+ AND wicket-util 9.7.0- > > > > In class path WebApplication will fail to start with > > java.lang.NoSuchMethodError > > > > This is perfectly fine. Semver only is about Wicket as a whole, so you > should not be mixing different versions of parts of Wicket. > > Also, the problem you are describing is about forward compatibility (if > were to be an external piece of code using this new method): you are using > code that is compiled against a newer version of Wicket and use it with an > older version. Semver does guarantee forward compatibility on any level. > > Finally, in minor releases you are allowed to add new functionality, this > is by definition not forward compatible. You cannot build something that > uses this new functionality in a piece of code and then expect it to work > with a version of Wicket where this functionality did not yet exist.
Let me explain the situation I found during debugging :) I was testing org.wicketstuff:openlayers3-examples:war:9.14.0 here is it's <partial> dependency tree: [INFO] +- de.agilecoders.wicket:wicket-bootstrap-extensions:jar:4.0.4:compile [INFO] | +- de.agilecoders.wicket:jquery-selectors:jar:3.0.3:compile [INFO] | | +- com.fasterxml.jackson.core:jackson-core:jar:2.11.4:compile [INFO] | | \- com.fasterxml.jackson.core:jackson-databind:jar:2.15.1:compile [INFO] | | \- com.fasterxml.jackson.core:jackson-annotations:jar:2.15.1:compile [INFO] | +- org.apache.wicket:wicket-extensions:jar:9.14.0:compile [INFO] | +- org.apache.wicket:wicket-util:jar:9.3.0:compile [INFO] | | +- commons-fileupload:commons-fileupload:jar:1.4:compile [INFO] | | +- commons-io:commons-io:jar:2.12.0:compile [INFO] | | \- org.apache.commons:commons-collections4:jar:4.4:compile [INFO] \- org.apache.wicket:wicket-core:jar:9.14.0:compile [INFO] +- com.github.openjson:openjson:jar:1.0.12:compile [INFO] +- org.apache.wicket:wicket-request:jar:9.14.0:compile [INFO] \- org.danekja:jdk-serializable-functional:jar:1.9.0:compile As you can see it directly depends on `org.apache.wicket:wicket-core:jar:9.14.0:compile` BUT it has no direct dependency on wicket-util :( The other (very much old) library wicket-bootstrap-extensions:jar:4.0.4 has it's dependency So we have conflict :( Maybe it worth to add some redundancy to our dependency:tree and add `wicket-util` as direct dependency of `wicket-core`? > > Best regards, > Emond -- Best regards, Maxim