RESTEasy 5.0.0 Released

By James R. Perkins | November 4, 2021

I’m pleased to announce the release of RESTEasy 5. This is the first major release in some time now. Along with this comes some big changes in RESTEasy. Some details were announced in a previous post. More details on the release below.

Jakarta RESTful Web Services

RESTEasy 5 is a Jakarta RESTful Web Services 2.1 implementation. This version has been tested on WildFly and fully passes the Jakarta RESTful Web Services TCK.

Galleon Feature Pack

The previous resteasy-jboss-modules.zip has been removed and replaced with a Galleon Feature Pack. You can now simply install the Galleon Feature Pack over a pre-existing configured WildFly container or install it from scratch.

install org.jboss.resteasy:galleon-feature-pack:5.0.0.Final

Moved Components

There are some components that have moved out of RESTEasy and into their own projects. These moves happened for two reasons. One was they just seemed to be a better fit outside the core RESTEasy. The other is to help move forward with Jakarta RESTful Web Services 3.0.

RESTEasy Cache

RESTEasy cache was removed from the core RESTEasy project to resteasy-extensions. The Maven group ID and artifact ID have changed from org.jboss.resteasy and resteasy-cache-core to org.jboss.resteasy.cache and cache-core respectively.

RESTEasy MicroProfile

RESTEasy previously had integrated MicroProfile Config sources, a MicroProfile REST Client and MicroProfile Context Propagation integration. These have now been moved to their own repository. With this comes new Maven group ID’s, artifact ID’s and versions.

The MicroProfile Config Sources were moved out of org.jboss.resteasy:resteasy-core into their own project, org.jboss.resteasy.microprofile:microprofile-config.

The MicroProfile REST Client and MicroProfile Context Propagation have new Maven GAV’s.

Old New
org.jboss.resteasy:resteasy-client-microprofile org.jboss.resteasy.microprofile:microprofile-rest-client
org.jboss.resteasy:resteasy-context-propagation org.jboss.resteasy.microprofile:microprofile-context-propagation

The simplest way to use these dependencies is to import the BOM:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.jboss.resteasy.microprofile</groupId>
            <artifactId>resteasy-microprofile-bom</artifactId>
            <version>${version.org.jboss.resteasy.microprofile}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

RESTEasy Spring

RESTEasy Spring integration has also moved to its own project. Only the group ID has changed on these from org.jboss.resteasy to org.jboss.resteasy.spring. Like the MicroProfile the simplest way to get these dependencies is with the BOM import.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.jboss.resteasy.spring</groupId>
            <artifactId>resteasy-spring-bom</artifactId>
            <version>${version.org.jboss.resteasy.spring}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Removed Components

RESTEasy Guice has been completely removed from RESTEasy. As far as we could tell this was not a popular module and was getting rather stale. There is currently no replacement for this component.

Java SE 17 Support

RESTEasy 5 is now tested and working with Java SE 17.

Upcoming Changes

RESTEasy is going to migrate to Jakarta RESTful Web Services 3.0. The only change in this release will be migrating from the javax namespace to jakarta. The plan is to make this change immediately and move the version to RESTEasy 6.