CoreMedia Content Cloud v12 Upgrade Guide / Version 2404
Table Of ContentsOnly Changes Necessary when Libraries were Used
Removals
The following libraries were removed, because the corresponding projects are not updated or supported anymore. Therefore, you cannot use their APIs anymore.
com.graphql-java:graphql-java-spring-webmvc
com.graphql-java-kickstart:graphql-spring-boot-starter
If you have used some of the classes provided by these libraries in your custom code, this code will not compile anymore. Depending on what your code was doing, it might be necessary to reimplement it, using the API and principles of the newly introduced Spring-GraphQL library.
Together with the removal of the mentioned libraries, the following classes were removed and reimplemented for the new Spring-GraphQL library as private API.
com.coremedia.caas.web.wiring.GraphQLInvocationImpl
com.coremedia.caas.web.view.ViewValidator
com.coremedia.caas.web.persistedqueries.PersistedQueryExecutor
com.coremedia.caas.web.persistedqueries.DefaultPersistedQueriesLoader
com.coremedia.caas.web.persistedqueries.DefaultQueryNormalizer
com.coremedia.caas.web.persistedqueries.Hash
Note, that some private API classes,for example, the controller for the /graphql endpoint, were also removed.
Additions
As a replacement for the removed libraries, Headless Server now uses the new Spring-GraphQL library
org.springframework.graphql:spring-graphql:1.2.5
.
Some of the mentioned removed classes were reimplemented based on the new Spring-GraphQL library. For further reference see the official documentation of Spring-GraphQL at https://docs.spring.io/spring-graphql/reference/index.html.
Updates
The following libraries were updated:
com.graphql-java:graphql-java:20.7
com.graphql-java:java-dataloader:3.2.2
If you have based custom code on some of the classes provided by these libraries, they might not compile anymore as there were some breaking changes introduced. For details please see the original release note at https://github.com/graphql-java/graphql-java/release and https://github.com/graphql-java/java-dataloader/releases .
Also note, that Headless Server is currently not using the latest version of GraphQL-Java. The version used is the required version of the Spring-GraphQL library.