Skip to content

Migrate to Jakarta package names

Compare
Choose a tag to compare
@arucard21 arucard21 released this 14 Jan 08:47
· 56 commits to master since this release

This release updates the framework to Java 17 and the latest Jakarta EE dependencies that use the jakarta.* package name. This means that this update is a breaking change and entirely incompatible with previous versions.

In addition, the support for HAL+JSON is now removed. The reason for this is that JAX-RS currently does not differentiate media types based on their media type parameters, unlike with HTTP Content Negotiation. What this means, is that different HAL+JSON resources would not be seen as different by JAX-RS as their media type would only have a different value in the profile parameter. I have reported this to the Jakarta specification maintainers but they do not seem inclined to change this behavior. This framework contained several workaround to make this work anyway but this was never an optimal solution. The dependencies used for this workaround have also not been updated to the Jakarta package names so this is why support for HAL+JSON had to be removed now.

Migrating to this release is a breaking change but it should mostly only require trivial changes. The Jakarta packages need to be renamed from javax.* to jakarta.*. And any references to HALResource and HALCollection should be renamed to APIResource and APICollection, including when this is used in method names.