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 javax
namespace.
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 jakarta
namespace.
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 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:
- removal of
Criteria
: all methods takingCriteria
instances as parameters are removed since it isn’t supported by Hibernate 6 any more- removal of the restriction for
Serializable
keys: Hibernate reworked its type system and now everyObject
can be a key. Therefore parameters are changed fromSerializable
toObject
- removal of
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.