V 14
This release focus on improving the security and longevity of Jems by updating the core framework of the system: SpringBoot 3.5.7.
Since there were critical changes in the system, it’s suggested to give a try in the test environment (with real data) before deployment in production.
Minor releases (inc. hotfixes):
< Minor releases on V14 with bug fixes are expected soon>
New features:
SpringBoot 3.5.7
Jems is now compatible up to Java 25. Nevertheless, we recommend Java 21.
Fixed bugs:
< V14 major release does not bring bug fixes, nevertheless future v14 minor releases will>
Plugins:
<No changes in plugins other than retro-compatibility with SpringBoot 3.5.7 (See Migration below))>
Migration:
⚠️ Plugins
Due to Sprinboot update existing plugins developed by programmes might not be compatible!
Interact official plugins were updated accordingly (can be found in v14 release package)
In case your plugin is no longer compatible with Jems V14, please take as reference the follow guide that was used for Interact official plugins adaptation:
1. Update dependencies versions in the libs.versions.toml file:
clf-platform-spring-version = "2.5.1-rc.2"
clf-autoconfigure-gradle-version = "1.1.2"
kotlin-reflect = "2.2.0"
kotlinx-coroutines = "1.8.1"
# Align JUnit Platform with Jupiter used by Spring Boot/Cloudflight BOM
junit-platform = "1.11.4"
#Also before the [plugins] (after kotlinx-coroutines) you need to add
junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher", version.ref = "junit-platform" }
2. build.gradle at the end of the dependencies block:
testRuntimeOnly libs.junit.platform.launcher
3. In the buildSrc/build.gradle we need to increase all 3 versions so that we have
dependencies {
implementation "org.jetbrains.kotlin:kotlin-gradle-plugin:2.2.0"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1"
implementation "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.23.6"
}
4. If TemplateEngineConfig is used, remove: it.addDialect(Java8TimeDialect())
5. Update the SpringTemplateEngine import to use spring6 instread:
import org.thymeleaf.spring6.SpringTemplateEngine