Backward compatibility of Springboot 2.3.4 - spring

I am using spring boot 2.0.4 for a project, and need to upgrade the mongo driver to version 4.1.
I understand that springboot 2.3.4 upgrades (here) MongoDB to version 4.1, but it doesn't clearly says if it is MongoDB version or MongoDriver.
Seems like springboot v2.3.4 is not backward compatible and my project starts failing build for missing class ChannelAwareMessageListener.
Trying to find the class path for this class, and how can I make it backward compatible with minimum changes. Otherwise, I would have to exclude the Mongo driver from Springboot mongo starter and add it as a separate dependency, which defeats the spring boot dependency version management goal.

Related

Is spring-data-rest-webmvc:3.4.x compatible with Spring Boot 2.3.x?

There is a vulnerability (https://nvd.nist.gov/vuln/detail/CVE-2021-22047) discovered in spring-data-rest-webmvc which is only fixed in versions 3.4.14 and 3.5.6. Spring Boot 2.3.12 uses the version 3.3.9. Migrating to spring boot 2.4.x or above is not an option for us.
We would like to use spring-data-rest-webmvc:3.4.14, but we are not sure if it's compatible with spring boot 2.3.x.
Can we use them together?
Spring Data Rest version 3.4 and up use Spring Framework version 5.3.x.
Spring Boot 2.3 is build with Spring Framework 5.2.x.
Will it work, probably, but there are no garanties that it will keep working or work at all. Most like it will fail with some NoSuchMethodError or ClassNotFOundExceptions or other exotic expetions one gets when mixing modules/jars from different versions of a framework.

How do I find out if a component is compatible with the current version of Spring

For a given spring version how do I find out which if the latest version of a component is supported or not,For example-if we are using spring boot (v1.5.8.RELEASE) ,how do I know if that spring version supports the latest version of a component say netty-all (4.1.63.Final) or the spring boot version does not support it and needs a spring version upgrade
I guess you put the version into your POM and run your tests. Then you'll see.

Can GraphQL server be built with Spring Boot version less than 2.x?

I am adding GraphQL schema wiring to my legacy microservices. I want to embed the wiring inside each of the spring boot services; The challenge I am running into is my project's Spring boot version is 1.4.5 RELEASE and moving it up to 2.x runs into others issues and would be ideal if I can get a basic graphql schema wiring done without updating version to 2.x. I see from documentation that minimal Spring boot version needed is 2.2.x in articles like this:
https://www.graphql-java.com/tutorials/getting-started-with-spring-boot/
According to the gradle build file for the graphql-java-spring library (https://github.com/graphql-java/graphql-java-spring/blob/master/build.gradle) the oldest supported Spring versions are:
springVersion = "5.1.2.RELEASE"
springBootVersion = "2.1.0.RELEASE"
You can try to compile it with an earlier spring boot version, but there is probably a lot of work to do.

Get errors when using certain versions of spring boot cloud and spring boot. How can I know which versions go together?

Is there something in Maven that will tell me that if I'm using version 1.5.4 of spring-boot then I need at least version Camden.SRX for spring-cloud-starter-parent?
I was getting non-helpful errors that a class was not found as I was using Spring 1.5.4 and Brixton for cloud.
Is there a way to use Maven to find matching/compatible versions?

Spring framework version with Spring Data Neo4j

Is there a version matrix for Spring framework core with Spring Data Neo4j?
I am looking for the (least) version of Spring framework core that is compatible (should be used) with Spring Data Neo4j 2.0.0.
If you use maven, and add just spring-data-neo4j, it will fetch all dependencies automatically. Even if you don't use maven, you can check the declared dependencies. From what I see in the pom file, it doesn't declare a specific version, which means it should be compatible with the latest version.

Resources