Upgrade Notes for Dropwizard 4.0.x
Transition to Jakarta EE
For now, all previously released Dropwizard versions used Java/Jakarta EE dependencies under the
Dropwizard 4.0.x will now transition to Jakarta EE 9 components and therefore utilize the new
jakarta namespace for many components.
That basically means that most of the imports of existing applications using Dropwizard 3.0.x will have to be changed from the
javax to the
However, other components still use the
javax namespace, so a simple search and replace could break other imports.
Jakarta EE compatibility
As stated above, Dropwizard 4.0.x will transition to Jakarta EE 9 components. This means, Dropwizard will now try to be consistent with one specific EE version. Therefore Dropwizard 4.0.x will stay on components of Jakarta EE 9 and the transition to components of Jakarta EE 10 will be postponed to an other release series. Since the EE version bump will probably introduce breaking changes, the Jakarta EE 10 components will be most likely integrated in Dropwizard 5.0.x and not in a 4.1.x release.
Features of Dropwizard 4.0.x
Dropwizard 4.0.x will include all features of Dropwizard 3.0.x as we plan to keep the versions (mostly) in sync.
But since the Jakarta EE library development now continues on the
jakarta namespace, new features may be available only for Dropwizard 4.0.x.
Dropwizard 4.0.x may therefore include additional features that are not included in Dropwizard 3.0.x.
One such example is the upgrade to Hibernate 6.
Hibernate 5.6 provides compatible implementations for JPA 2.2 and for Jakarta Persistence 3.0. But Hibernate 6.0 and 6.1 still provide compatible implementations for Jakarta Persistence 3.0, so we upgraded to Hibernate 6.1 in Dropwizard 4.0.x.
This introduces the following changes:
Criteria: all methods taking
Criteriainstances as parameters are removed since it isn’t supported by Hibernate 6 any more
removal of the restriction for
Serializablekeys: Hibernate reworked its type system and now every
Objectcan be a key. Therefore parameters are changed from
AvailableSettings.USE_NEW_ID_GENERATOR_MAPPINGS: Dropwizard already used the default value and now this property isn’t set any more
If any other aspects from Hibernate are used in an application rather than those provided by Dropwizard, there might be an additional migration cost. Please follow the Hibernate 6 migration guide, if you encounter any problems.
Hibernate 6.0 has already reached its end-of-life, so Dropwizard 4.0.x includes Hibernate 6.1. You may need to follow the Hibernate 6.1 migration guide as well.