-
Notifications
You must be signed in to change notification settings - Fork 138
Citrus 4.x
Welcome to Citrus 4.0!
This summary is here to share our strategy, ideas and all major changes that are part of Citrus 4.0!
Citrus 4.0 is a major release mainly driven by the migration form javax.*
to jakarta.*
. The new version brings many major updates of dependency projects (e.g. Spring, Apache Camel, Cucumber, Selenium) because of that move.
Of course the new major version also addresses many improvements and fixes. That being said we try to keep breaking changes on a low-level in order to provide a smooth migration from former versions. Due to the breaking changes in the many javax
APIs this might not always be possible though. People coming from Citrus 3.x should have a look at the 3.x migration guide.
Here are the main objectives we have with Citrus 4.0
- Update to Java 17
- Move to groupId
org.citrusframework
- Update dependencies to latest major versions
- Move from
javax.*
tojakarta.*
- Polyglot test runner support (XML, Groovy and YAML)
- Remove deprecated modules and code
--
The Citrus 4.0 bits are compiled with Java 17. This means you need to at least use Java 17 to run Citrus in your project. We recommend to use the following setup:
- Java 17+
- Maven 3.9+
- Runtime, one of
- JUnit Jupiter 5.10+
- TestNG 7.8+
- Cucumber 7.14+
- JUnit 4.13+
- Quarkus Test 3.4+
Citrus 4.0 uses a new Maven groupId org.citrusframework
. Before Citrus has been using com.consol.citrus
because the company ConSol Software GmbH in Munich has been the driving force behind Citrus. ConSol still is an important part of Citrus and it will always be.
With the move to org.citrusframework
we decided to happily comply with the OpenSource nature of the project. So please update the groupId in your Maven pom.xml accordingly when updating to Citrus 4.0. The packages of all Citrus Java classes have also changed from com.consol.citrus
to org.citrusframework
so please replace all occurrences and imports accordingly as you update.
The new versions used in Citrus 4.0 are:
- JUnit Jupiter 5.10.0
- TestNG 7.8.0
- Cucumber 7.14.0
- Quarkus Test 3.4.2
- Apache Camel 4.1.0
- ActiveMQ Artemis 2.31.0
- ActiveMQ 5.18.2
- Cucumber 7.14.0
- Knative Client 6.9.0
- Kubernetes Client 6.9.0
- Netty 4.1.100.Final
- SLF4J 2.0.9
- SnakeYAML 2.2
- Spring Framework 6.0.13
- Testcontainers 1.19.1
- PostrgeSQL 42.6.0
Sometimes it is the time to say goodbye. Some Citrus modules are discontinued and have been removed from the project. The removed modules are:
- citrus-java-dsl
- citrus-arquillian
- citrus-db
- citrus-remote