RESTEasy is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications

Overview

RESTEasy

Github CI

RESTEasy is a JBoss.org project aimed at providing productivity frameworks for developing client and server RESTful applications and services in Java. It is mainly a Jakarta RESTful Web Services implementation but you'll find some other experimental code in the repository.

The project page can be found at https://resteasy.github.io.

Jakarta RESTful Web Services

RESTEasy is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications. It is a portable implementation of the Jakarta RESTful Web Services specification. The Jakarta RESTful Web Services provides a Java API for RESTful Web Services over the HTTP protocol. Please note that the specification is now under the Eclipse EE4J Project. You can read the entire specification at Jakarta RESTful Web Services.

Getting started with RESTEasy

Documentation

To read the documentation you can read it online.

Issues

Issues are kept in JIRA.

Build

Currently RESTEasy can be built with JDK 11+.

If you want to purely build the project without running the tests, you need to pull down a clone of the RESTEasy repository and run:

$ mvn install -Dmaven.test.skip=true

If you want to build the project with testings run, you may need to specify a profile to use, and may need to configure the Wildfly version you want to run the tests with. Here is an example:

$ export SERVER_VERSION=17.0.0.Final
$ mvn -fae -Dserver.version=$SERVER_VERSION install

Contribute

You are most welcome to contribute to RESTEasy!

Read the Contribution guidelines

Comments
  • [RESTEASY-2943] Support reactive publishers at the engine level.

    [RESTEASY-2943] Support reactive publishers at the engine level.

    Addresses RESTEASY-2943. Includes refactoring the reactor-netty-based HttpClientEngine to support the new interface.

    This is a PoC that aims to support a more 'direct' line from rx(Class) to a reactive 'provider'. Some reactive implementations have features that can be better leveraged with this. In our case, we really need to leverage the end user's project-reactor 'context' when we build the client. This use case is exercised in the ReactorTest#testSubscriberContext test.

    Some things like code reuse and test coverage have been postponed until I get some feedback on the concept.

    Apologies for not writing up an issue. We already had this code written so I'm hoping it better explains what we need than trying to write it up in an issue. Just let me know what you'd like me to do that in that regard.

    main 
    opened by crankydillo 61
  • Async stream provider

    Async stream provider

    This adds support for async stream providers, via the Reactive Streams API, as discussed in https://issues.jboss.org/browse/RESTEASY-1701.

    • Added dep to reactive-streams 1.0.1 (tiny jar)
    • Added AsyncStreamProvider to convert async streams to a common type
    • By default collect every element of the stream into a List and serialise that at the end in one go
    • If using the new @Stream annotation, stream every element of the stream to the output (hopefully in chunks)
    • If using @Produces(SSE) on the method, stream every element of the stream into an SSE event
    • Added tests for that, with rx2, and for converting an rx2 Single via AsyncResponseProvider
    • Fix SSE deserialising to not append a LF at the end (and test)
    • Fix SSE serialising to split data on any accepted line terminator (and test)

    I'll add further remarks to the JIRA issue.

    main 
    opened by FroMage 44
  • [RESTEASY-2506] Async io

    [RESTEASY-2506] Async io

    DO NOT MERGE YET

    This introduces the AsyncMessageBodyWriter interface, to support writing the response as async IO, and AsyncOutputStream that the implementors of HttpResponse.getOutputStream can return, to support writing async IO.

    Json-b and text/* now supports async IO, as well as servlet, netty and vertx servers.

    I still have to try this out in Quarkus.

    All tests pass, but I had to adapt a few tests, due to the fact that:

    • For some reason, some sequences of SseEventSink.send calls end up with the objects sent in the wrong order
    • Calling SseEventSink.close does not currently block waiting for pending IO. It could just call rxFlush().toCompletableFuture().get() to block, but I wonder if that's the right thing to do.

    I guess if I fix those two issues I could pass the tests with no adaptation.

    main 
    opened by FroMage 34
  • [RESTEASY-2581] Add profile to enable testing using Wildfly

    [RESTEASY-2581] Add profile to enable testing using Wildfly "standalone-microprofile.xml" configuration file

    Fixes https://issues.redhat.com/browse/RESTEASY-2581

    Still WIP because some test cases still need for a little investigation. Basically, this PR introduces a new profile which - like for what happens in Wildfly TS - would use the standalone-microprofile.xml config file to start the server up. Then, when running tests by passing a new property - namely -Dts.standalone.microprofile to activate the above mentioned profile, some tests in integration-tests and integration-tests-spring/inmodule TS modules will fail. Hence, two new JUint Category interfaces have been added:

    • ExpectedFailingBecauseOfSmallRyeMicroprofileOpenApi11: skips tests that seem to fail because of the SmallRye MP OpenAPI implementation used in Wildfly 19 (further investigation to confirm this is needed)
    • ExpectedFailingWithStandaloneMicroprofileConfiguration: skips tests that fail because of missing subsystems in Wildfly when standalone-microprofile.xml is used.

    This PR also bumps server.version to 19.0.0.Final.

    Commands to verify that TS is running fine with the new profile:

    $ export SERVER_VERSION=19.0.0.Final
    $ mvn -B -am -pl integration-tests -fae -Dserver.version=$SERVER_VERSION install -Dts.standalone.microprofile
    
    3.11 
    opened by fabiobrz 30
  • Use Reactive Contexts instead of doing our own context propagation for rxjava

    Use Reactive Contexts instead of doing our own context propagation for rxjava

    As discussed on mailing list:

    At the moment, the resteasy-rxjava and resteasy-rxjava2 modules register hooks into the rxjava and rxjava2 plugin/hook system, in order to propagate the RESTEasy context (thread-local) into all phases of rxjava single/flowable/etc, which can otherwise be scheduled on any scheduler/thread and so would lose the RESTEasy context.

    RxJava being what it is, you can only register a single plugin/hook globally, so if RESTEasy defines it, nobody else can. That's problematic, because CDI also requires context propagation, and so does Redpipe (to name just the two examples I am using ATM), so I created a library called Reactive Contexts which decouples libraries that have a context to propagate (RESTEasy, CDI, Redpipe, etc…) and libraries that provide context propagation (RxJava1, 2, etc…).

    https://reactiverse.io/reactive-contexts

    That library is super small (4k core, 13k propagator for rxjava). I'd like to remove the custom context propagation in the resteasy-rxjava/rxjava2 and make those modules depend on a new resteasy-reactive-context which would depend on reactive-contexts-core to provide a context provider for RESTEasy.

    This way, I can also make CDI and Redpipe provide such a module and all those contexts will be propagated for rxjava for all users :)

    WDYT? Do you agree on that extra dependency ? It's only for the rxjava modules, not the core.

    main 
    opened by FroMage 28
  • [RESTEASY-2542] ignore any IOException in SSEOutputStream.close()

    [RESTEASY-2542] ignore any IOException in SSEOutputStream.close()

    This PR contains the change made in resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/sse/SseEventOutputImpl.java by FroMage in a special test branch , see PR https://github.com/resteasy/Resteasy/pull/2347

    ... In the PR 2347 FroMage wrote .... So this bug is that we're calling SSEOutputStream.close() whose docs say "we close and if it's already closed then it's fine, you can keep closing it forever you will not get an exception", which is the right thing to do IMO.

    But the implementation calls ResteasyAsynchronousResponse.complete(), which then forwards to a vertxFlush() which throws because it's already closed (by the client).

    Now, perhaps the right thing to do is to ignore any IOException in SSEOutputStream.close() but I do wonder what the behaviour of ResteasyAsynchronousResponse.complete() should be. Should it consider that complete() should throw if already closed or not?

    main 
    opened by rsearls 21
  • Resteasy 1793: SseBroadcasterImpl does not follow the javadoc requirements

    Resteasy 1793: SseBroadcasterImpl does not follow the javadoc requirements

    The current SseBroadcasterImpl break following java doc requirements:

    Requirement from javax.ws.rs.sse.SseBroadcaster.close() doc:

    Once the SseBroadcaster is closed, subsequent calls have no effect and are ignored.
    Once the SseBroadcaster is closed, invoking any other method on the
    broadcaster instance would result in an IllegalStateException being thrown
    

    Requirement from javax.ws.rs.sse.SseBroadcaster.onClose(Consumer onClose) doc:

    We have to notify close listeners if the SSE event output has been
    closed (either by client closing the connection (IOException) or
    by calling SseEventSink.close() (IllegalStateException)
    on the server side.
    

    Potential resource leak due to SseEventSink not closed when SseBroadCaster.close() is invoked:

    Actually most of the time when a SseEventSink is registered to a SseBroadcaster, user is expected its termination to be handled by the SseBroadcaster itself. So user will never call SseEventSink.close() on each SseEventSink he registered but instead he will just call SseBroadcaster.close(). So SseBroadcasterImpl must be safe enough to ensure that calling SseBroadcasterImpl.close() will actually close all regsitered SseEventSink and to prevent any concurrent access to SseBroadcasterImpl.register() that will add any new SseEventSink which will never be closed by the SseBroadcasterImpl.

    main 
    opened by NicoNes 21
  • [RESTEASY-2366] Introduce RESTEasy integration with WildFly Elytr…

    [RESTEASY-2366] Introduce RESTEasy integration with WildFly Elytr…

    …on - AuthenticationClient for Authentication / SSL

    issue link: RESTEASY-2366

    RFE Proposal : https://github.com/wildfly/wildfly-proposals/pull/189

    These are proposed changes for the use of new client SPI that wildfly-elytron will implement.

    3.13 
    opened by Skyllarr 20
  • [Resteasy-2700] reactor netty server adapter

    [Resteasy-2700] reactor netty server adapter

    We have an investment in RestEasy and Reactor-Netty. As such, we'd like to leverage reactor-netty as the server behind RestEasy's JAX-RS-server implementation. Once this is merged, we will create a resteasy-springboot contribution that leverages this work.

    Our hope is that you will not squash-merge if that's possible as this work was done by all the people you see in the commit history.

    main 
    opened by crankydillo 19
  • Async request filters

    Async request filters

    Hi,

    This is a proto for supporting async request filters, which I need in another project.

    This is not done by far, but given as a PR for discussion (do not merge it).

    I only support post-match requests going async, and for backwards compat the default behaviour is to be synchronous in post-match filters. To go async from within a filter, you need to cast the context argument and invoke suspend() on it. After that you can resume the filtering with abortWith (existing method) or resume() to move on to the next filter or the resource method itself.

    It's possible to have a filter that goes async, and a non-async filter or a non-async resource method after it, and we do handle this case. In the case of non-async resource methods, I assume that if the method is not declared as returning void, it's a non-async method and we should use its return value. Perhaps this is wrong and we can make it better.

    I'm not too happy with how I implemented this in the context because the implementation is confusing by requiring a mix of async/sync filters, but I'm not sure how to make this easier to maintain, short of having a context instance per filter.

    The biggest question I have is: what sort of API can we have that is backwards compatible. The current approach to keep the existing filter and context API and require the filter to typecast the passed context into a more capable subclass is not ideal, but perhaps you have other ideas?

    If we can find ways to fix those issues and we can agree to add this, I'll go ahead and add async support for pre-match request and response filters too.

    WDYT?

    main 
    opened by FroMage 19
  • RESTEASY-1566 (2): Provide support for multi valued query param

    RESTEASY-1566 (2): Provide support for multi valued query param

    This pull request is about providing support for multivalued query param in addition to existant behaviour (singlevalued query param) using javax.ws.rs.ext.ParamConverter mechanism. End of https://github.com/resteasy/Resteasy/pull/1023

    main 
    opened by NicoNes 19
  • Bump version.io.vertx from 4.3.4 to 4.3.7

    Bump version.io.vertx from 4.3.4 to 4.3.7

    Bumps version.io.vertx from 4.3.4 to 4.3.7. Updates vertx-core from 4.3.4 to 4.3.7

    Commits
    • 2095bf9 Set version to 4.3.7-SNAPSHOT
    • 024927f Releasing 4.3.6
    • 6ea04c9 UpgradeRejectedException only provide the status code of the HTTP response, o...
    • 7bc9305 We should use an SniCompletionEvent when a timeout happens instead of an SslH...
    • 71b94e8 Start handshake timeout only if the timeout is > 0
    • e9a49bc Support SSL handshake timeout for server name indication (sni) on the server.
    • e0d35d7 Response#end should throw ISE if used inside headers end handler (#4549) (#4556)
    • 23f6071 Set version to 4.3.6-SNAPSHOT
    • a32f70b Releasing 4.3.5
    • 0f6f1eb Do not close ClusteredEventBus client and server before parent closing (#4544)
    • Additional commits viewable in compare view

    Updates vertx-core from 4.3.4 to 4.3.7

    Commits
    • 2095bf9 Set version to 4.3.7-SNAPSHOT
    • 024927f Releasing 4.3.6
    • 6ea04c9 UpgradeRejectedException only provide the status code of the HTTP response, o...
    • 7bc9305 We should use an SniCompletionEvent when a timeout happens instead of an SslH...
    • 71b94e8 Start handshake timeout only if the timeout is > 0
    • e9a49bc Support SSL handshake timeout for server name indication (sni) on the server.
    • e0d35d7 Response#end should throw ISE if used inside headers end handler (#4549) (#4556)
    • 23f6071 Set version to 4.3.6-SNAPSHOT
    • a32f70b Releasing 4.3.5
    • 0f6f1eb Do not close ClusteredEventBus client and server before parent closing (#4544)
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • Bump reactor-bom from 2020.0.8 to 2022.0.1

    Bump reactor-bom from 2020.0.8 to 2022.0.1

    Bumps reactor-bom from 2020.0.8 to 2022.0.1.

    Release notes

    Sourced from reactor-bom's releases.

    2022.0.1

    2022.0.1 release train is made of:

    2022.0.0

    2022.0.0 release train is made of:

    2022.0.0-RC1

    These artifacts didn't have any changes but were nonetheless re-aligned on the -RC1

    2022.0.0-M6

    These artifacts didn't have any changes but were nonetheless re-aligned on the -M6

    2022.0.0-M5

    These artifacts didn't have any changes but were nonetheless re-aligned on the -M5

    2022.0.0-M4

    ... (truncated)

    Commits
    • 7f06439 [release] Prepare and release BOM 2022.0.1
    • 0dcd012 Merge-ignore release 2020.0.26 into 2022.0.1
    • dc0942a [release] Back to snapshots, next BOM will be SR 27
    • b5a20c7 [release] Prepare and release BOM 2020.0.26
    • 9b6e6fa Merge-ignore release 2020.0.25 into 2022.0.1
    • a336020 [release] Back to snapshots, next BOM will be SR 26
    • f8dba5f [release] Prepare and release BOM 2020.0.25
    • f76e9cb [release] Back to snapshots, next BOM will be SR 1
    • 2544c8e [release] Prepare and release BOM 2022.0.0
    • 4bf5606 Exclude Reactor Netty 2.x artifacts from the BOM
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies java 
    opened by dependabot[bot] 0
  • [RESTEASY-2656]

    [RESTEASY-2656]

    This is the initial pull request for the gRPC<->JAX-RS material.

    1. It needs additional functionality in HttpServletRequestImpl and HttpServletResponseImpl and related testing.
    2. It needs more documentation.
    3. The integrated-tests/GrpcToJaxrsTest test depends on the availability of a jar built from the RESTEasy project https://github.com/resteasy/gRPCtoJAXRS-archetype
    opened by ronsigal 2
  • [DON'T MERGE] Quarkus changes to RestClientBuilderImpl

    [DON'T MERGE] Quarkus changes to RestClientBuilderImpl

    @jamezp this is to show you the changes we made in Quarkus. I tried to reduce the number of changes to the minimum.

    Obviously, this is just some material for our discussions and not a proper PR.

    opened by gsmet 0
Releases(6.2.2.Final)
  • 6.2.2.Final(Dec 13, 2022)

    What's Changed

    • Remove the shibboleth.net maven repository. by @jamezp in https://github.com/resteasy/resteasy/pull/3301
    • [RESTEASY-3242] Upgrade Jackson databind to 2.13.4.1. by @jamezp in https://github.com/resteasy/resteasy/pull/3309
    • RESTEASY-3240 - minor fixes related with reactor support by @liweinan in https://github.com/resteasy/resteasy/pull/3306
    • [RESTEASY-3246] Do not use the default executor for supplied async op… by @jamezp in https://github.com/resteasy/resteasy/pull/3311
    • Bump jackson-databind from 2.13.4.1 to 2.13.4.2 by @dependabot in https://github.com/resteasy/resteasy/pull/3313
    • Bump arquillian-bom from 1.7.0.Alpha12 to 1.7.0.Alpha13 by @dependabot in https://github.com/resteasy/resteasy/pull/3312
    • Bump mockito-core from 4.8.0 to 4.8.1 by @dependabot in https://github.com/resteasy/resteasy/pull/3318
    • Remove the jboss-jakarta-transform-artifacts option as it's no longer… by @jamezp in https://github.com/resteasy/resteasy/pull/3319
    • Bump wildfly-cli from 18.1.2.Final to 19.0.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3317
    • [RESTEASY-3109] close SseEventSinkInterceptor on exception; Test case… by @rsearls in https://github.com/resteasy/resteasy/pull/3320
    • RESTEASY-3252 - fix typos in the document by @liweinan in https://github.com/resteasy/resteasy/pull/3324
    • Bump version.org.apache.james.apache-mime4j from 0.8.7 to 0.8.8 by @dependabot in https://github.com/resteasy/resteasy/pull/3327
    • Upgrade WildFly to 27.0.0.Final. by @jamezp in https://github.com/resteasy/resteasy/pull/3329
    • Bump wildfly-maven-plugin from 3.0.2.Final to 4.0.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3330
    • Bump version.io.netty.netty4 from 4.1.82.Final to 4.1.85.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3332
    • Bump version.org.wildfly.arquillian.wildfly-arquillian from 5.0.0.Alpha5 to 5.0.0.Alpha6 by @dependabot in https://github.com/resteasy/resteasy/pull/3333
    • Bump mockito-core from 4.8.1 to 4.9.0 by @dependabot in https://github.com/resteasy/resteasy/pull/3335
    • RESTEASY-3254 / RESTEASY-3255 by @liweinan in https://github.com/resteasy/resteasy/pull/3336
    • Bump galleon-maven-plugin from 5.0.5.Final to 5.0.6.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3337
    • [3258] Add default mediaType for EntityParts by @jim-krueger in https://github.com/resteasy/resteasy/pull/3339
    • [RESTEASY-3241] expose jakarta.inject-api in resteasy-undertow-cdi by @rsearls in https://github.com/resteasy/resteasy/pull/3310
    • Removed obsolete sections. Minor edits by @rsearls in https://github.com/resteasy/resteasy/pull/3305
    • [RESTEASY-2989] revision of text by @rsearls in https://github.com/resteasy/resteasy/pull/3283
    • [RESTEASY-567] add support for POST of FormParam by @rsearls in https://github.com/resteasy/resteasy/pull/3325
    • [RESTEASY-3247] Use a singleton ConfigurationFactory to avoid too man… by @jamezp in https://github.com/resteasy/resteasy/pull/3344
    • Bump httpcore from 4.4.15 to 4.4.16 by @dependabot in https://github.com/resteasy/resteasy/pull/3343
    • [RESTEASY-2845] ResteasyWebTarget.proxy(Class) problem with questionmark in Path with Regex by @petrberan in https://github.com/resteasy/resteasy/pull/2754
    • Bump version.org.eclipse.jetty from 11.0.12 to 11.0.13 by @dependabot in https://github.com/resteasy/resteasy/pull/3353
    • [RESTEASY-3256] Add check for known interfaces to ensure they are con… by @jamezp in https://github.com/resteasy/resteasy/pull/3350
    • [RESTEASY-2874] Web Target Proxy not overriding content type header by @petrberan in https://github.com/resteasy/resteasy/pull/2794
    • [RESTEASY-2982] Safely get the ClientConfigProvider in the client bui… by @jamezp in https://github.com/resteasy/resteasy/pull/3359
    • RESTEASY-3259 Proxy Framework fails to Produce Mono at runtime whe… by @soft4rchitecture in https://github.com/resteasy/resteasy/pull/3348
    • Bump netty-codec-http from 4.1.85.Final to 4.1.86.Final in /resteasy-dependencies-bom by @dependabot in https://github.com/resteasy/resteasy/pull/3357
    • Use the request's Host header when setting RE's URI object. by @jamezp in https://github.com/resteasy/resteasy/pull/3360
    • Bump httpclient from 4.5.13 to 4.5.14 by @dependabot in https://github.com/resteasy/resteasy/pull/3347

    New Contributors

    • @jim-krueger made their first contribution in https://github.com/resteasy/resteasy/pull/3339
    • @soft4rchitecture made their first contribution in https://github.com/resteasy/resteasy/pull/3348

    Full Changelog: https://github.com/resteasy/resteasy/compare/6.2.1.Final...6.2.2.Final

    Source code(tar.gz)
    Source code(zip)
    resteasy-6.2.2.Final-all.zip(42.51 MB)
    resteasy-6.2.2.Final-src.zip(8.43 MB)
  • 5.0.5.Final(Dec 13, 2022)

    What's Changed

    • [RESTEASY-3174] Fix the Jackson deserialization property documentatio… by @jamezp in https://github.com/resteasy/resteasy/pull/3170
    • [RESTEASY-3177] Ensure that all async ClientInvocation's happen async… by @jamezp in https://github.com/resteasy/resteasy/pull/3175
    • [RESTEASY-3217] Use a LinkedHashMap for the formDataMap to ensure use… by @jamezp in https://github.com/resteasy/resteasy/pull/3271
    • [RESTEASY-2693] remove use of a thread group from NettyJaxrsServer by @jamezp in https://github.com/resteasy/resteasy/pull/3274
    • [RESTEASY-3247] Use a singleton ConfigurationFactory to avoid too man… by @jamezp in https://github.com/resteasy/resteasy/pull/3345
    • [RESTEASY-2845] ResteasyWebTarget.proxy(Class) problem with questionmark in Path with Regex by @jamezp in https://github.com/resteasy/resteasy/pull/3354
    • [RESTEASY-3256] Add check for known interfaces to ensure they are con… by @jamezp in https://github.com/resteasy/resteasy/pull/3355
    • [RESTEASY-2874] Web Target Proxy not overriding content type headerh by @jamezp in https://github.com/resteasy/resteasy/pull/3358
    • Use the request's Host header when setting RE's URI object. by @jamezp in https://github.com/resteasy/resteasy/pull/3361

    Full Changelog: https://github.com/resteasy/resteasy/compare/5.0.4.Final...5.0.5.Final

    Source code(tar.gz)
    Source code(zip)
    resteasy-jaxrs-5.0.5.Final-all.zip(22.35 MB)
    resteasy-jaxrs-5.0.5.Final-src.zip(8.25 MB)
  • 6.2.1.Final(Oct 10, 2022)

    What's Changed

    • Bump version.org.jboss.resteasy.extensions from 1.1.0.Final to 2.0.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3282
    • [RESTEASY-3228] Enable a CI job for testing with the security manager enabled and fix issues by @jamezp in https://github.com/resteasy/resteasy/pull/3286
    • Bump version.org.wildfly.galleon-plugins from 6.1.0.Final to 6.2.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3288
    • Bump version.io.vertx from 4.3.3 to 4.3.4 by @dependabot in https://github.com/resteasy/resteasy/pull/3287
    • [RESTEASY-3234] Add a RESTEasy Preview Feature Pack. by @jamezp in https://github.com/resteasy/resteasy/pull/3289
    • Bump version.org.bouncycastle from 1.71.1 to 1.72 by @dependabot in https://github.com/resteasy/resteasy/pull/3284
    • [RESTEASY-3235] Remove the org.eclipse.yasson dependency form the org… by @jamezp in https://github.com/resteasy/resteasy/pull/3291
    • Bump version.weld from 5.0.1.Final to 5.1.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3290
    • [RESTEASY-3228] Re-enable previously ignored test by mistake and add additional runs to the WildFly build and test by @jamezp in https://github.com/resteasy/resteasy/pull/3292
    • [RESTEASY-3225] Minor follow-ups from review. by @jamezp in https://github.com/resteasy/resteasy/pull/3294
    • Bump jboss-logmanager from 2.1.18.Final to 2.1.19.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3295
    • Bump version.io.undertow from 2.2.19.Final to 2.2.20.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3297
    • [RESTEASY-3238] Use privileged actions for shutting down the Contextu… by @jamezp in https://github.com/resteasy/resteasy/pull/3298

    Full Changelog: https://github.com/resteasy/resteasy/compare/6.2.0.Final...6.2.1.Final

    Source code(tar.gz)
    Source code(zip)
    resteasy-6.2.1.Final-all.zip(42.56 MB)
    resteasy-6.2.1.Final-src.zip(8.40 MB)
  • 6.2.0.Final(Sep 23, 2022)

    What's Changed

    • Bump version.org.wildfly.galleon-plugins from 6.0.0.Final to 6.1.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3265
    • Bump version.org.eclipse.jetty from 11.0.11 to 11.0.12 by @dependabot in https://github.com/resteasy/resteasy/pull/3263
    • Bump version.io.netty.netty4 from 4.1.79.Final to 4.1.82.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3258
    • Bump wildfly-elytron-ssl from 1.20.1.Final to 2.0.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3260
    • Bump hibernate-validator from 7.0.5.Final to 8.0.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3251
    • Bump yasson from 3.0.1 to 3.0.2 by @dependabot in https://github.com/resteasy/resteasy/pull/3256
    • [RESTEASY-3219] Upgrade testing to use WildFly 27.0.0.Alpha5. by @jamezp in https://github.com/resteasy/resteasy/pull/3266
    • [RESTEASY-3221] Do not use values less than 1 when parsing random val… by @jamezp in https://github.com/resteasy/resteasy/pull/3267
    • [RESTEASY-3221] Do not use values less than 1 when parsing random val… by @jamezp in https://github.com/resteasy/resteasy/pull/3269
    • [RESTEASY-3217] Use a LinkedHashMap for the formDataMap to ensure use… by @jamezp in https://github.com/resteasy/resteasy/pull/3270
    • [RESTEASY-3224] Allow the ResourceInfo to be injected via CDI. by @jamezp in https://github.com/resteasy/resteasy/pull/3272
    • [RESTEASY-2693] remove use of a thread group from NettyJaxrsServer by @rsearls in https://github.com/resteasy/resteasy/pull/3236
    • Bump junit-bom from 5.9.0 to 5.9.1 by @dependabot in https://github.com/resteasy/resteasy/pull/3276
    • [RESTEASY-2851] Use a privileged action to shut down the executor if … by @jamezp in https://github.com/resteasy/resteasy/pull/3273
    • Revert "[RESTEASY-2693] remove use of a thread group from NettyJaxrsServer" by @jamezp in https://github.com/resteasy/resteasy/pull/3277
    • Revert "Improve WebApplicaionException handling on client side in ser… by @jamezp in https://github.com/resteasy/resteasy/pull/3279
    • [RESTEASY-3225] Allow the default exception mapper to be disabled. Wh… by @jamezp in https://github.com/resteasy/resteasy/pull/3278
    • [RESTEASY-3223] Remove the automatic registration of the JakartaXmlBi… by @jamezp in https://github.com/resteasy/resteasy/pull/3280
    • Bump version.org.glassfish.jaxb from 4.0.0 to 4.0.1 by @dependabot in https://github.com/resteasy/resteasy/pull/3275

    Full Changelog: https://github.com/resteasy/resteasy/compare/6.2.0.Beta1...6.2.0.Final Full Release Notes: https://issues.redhat.com/secure/ReleaseNote.jspa?projectId=12310560&version=12396142

    Source code(tar.gz)
    Source code(zip)
    resteasy-6.2.0.Final-all.zip(37.87 MB)
    resteasy-6.2.0.Final-src.zip(8.38 MB)
  • 6.2.0.Beta1(Sep 8, 2022)

    What's Changed

    • [RESTEASY-3176] Upgrade WildFly to 27.0.0.Alpha4. Migrate away from W… by @jamezp in https://github.com/resteasy/resteasy/pull/3173
    • [RESTEASY-3177] Ensure that all async ClientInvocation's happen async… by @jamezp in https://github.com/resteasy/resteasy/pull/3174
    • Bump actions/upload-artifact from 2 to 3 by @dependabot in https://github.com/resteasy/resteasy/pull/3179
    • Bump actions/checkout from 2 to 3 by @dependabot in https://github.com/resteasy/resteasy/pull/3180
    • Bump actions/setup-java from 2 to 3 by @dependabot in https://github.com/resteasy/resteasy/pull/3181
    • Bump actions/download-artifact from 2 to 3 by @dependabot in https://github.com/resteasy/resteasy/pull/3182
    • Remove the maven-help-plugin from the testsuite POM. by @jamezp in https://github.com/resteasy/resteasy/pull/3193
    • Bump version.org.jacoco from 0.8.7 to 0.8.8 by @dependabot in https://github.com/resteasy/resteasy/pull/3190
    • Bump jandex from 2.4.2.Final to 2.4.3.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3184
    • Bump version.weld from 5.0.0.SP2 to 5.0.1.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3185
    • Bump version.io.netty.netty4 from 4.1.78.Final to 4.1.79.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3186
    • Bump version.com.fasterxml.jackson from 2.12.6 to 2.12.7 by @dependabot in https://github.com/resteasy/resteasy/pull/3187
    • Bump mockito-core from 3.11.0 to 4.7.0 by @dependabot in https://github.com/resteasy/resteasy/pull/3192
    • [RESTEASY-3179] Remove wiremock which is no longer used. by @jamezp in https://github.com/resteasy/resteasy/pull/3194
    • Bump junit from 4.13.1 to 4.13.2 by @dependabot in https://github.com/resteasy/resteasy/pull/3196
    • Bump jakarta.enterprise.cdi-api from 4.0.0 to 4.0.1 by @dependabot in https://github.com/resteasy/resteasy/pull/3189
    • Bump wildfly-cli from 15.0.1.Final to 18.1.1.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3198
    • Bump jakarta.jms-api from 3.0.0 to 3.1.0 by @dependabot in https://github.com/resteasy/resteasy/pull/3199
    • [RESTEASY-3185 & RESTEASY-3186] Remove dependencies by @jamezp in https://github.com/resteasy/resteasy/pull/3205
    • Several Component Upgrades by @jamezp in https://github.com/resteasy/resteasy/pull/3207
    • Bump arquillian-jetty-embedded-9 from 1.0.0.CR3 to 1.0.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3217
    • Bump jacoco-maven-plugin from 0.7.9 to 0.8.8 by @dependabot in https://github.com/resteasy/resteasy/pull/3215
    • Bump resteasy-tracing-api from 1.0.0.Final to 1.1.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3212
    • Bump wildfly-common from 1.5.4.Final to 1.6.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3209
    • [RESTEASY-3202] Remove dependency on rest assured. by @jamezp in https://github.com/resteasy/resteasy/pull/3218
    • [RESTEASY-3203] Upgrade Arquillian to 1.7.0.Alpha12 and WildFly Arquillian to 5.0.0.Alpha5. by @jamezp in https://github.com/resteasy/resteasy/pull/3219
    • Bump wildfly-maven-plugin from 2.1.0.Final to 3.0.2.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3221
    • Bump junit-bom from 5.8.2 to 5.9.0 by @dependabot in https://github.com/resteasy/resteasy/pull/3227
    • Bump shrinkwrap-resolver-depchain from 2.2.7 to 3.1.4 by @dependabot in https://github.com/resteasy/resteasy/pull/3226
    • Bump wildfly-elytron-ssl from 1.18.3.Final to 1.20.1.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3228
    • Bump wildfly-cli from 18.1.1.Final to 18.1.2.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3229
    • Bump version.org.bouncycastle from 1.71 to 1.71.1 by @dependabot in https://github.com/resteasy/resteasy/pull/3230
    • [RESTEASY-3178] Throw an exception instead of returning null if the c… by @jamezp in https://github.com/resteasy/resteasy/pull/3176
    • RESTEASY-3207 - Write the document about ON_DEMAND tracing mode usage by @liweinan in https://github.com/resteasy/resteasy/pull/3235
    • [RESTEASY-3208] Upgrade Galleon Plugins to 6.0.0.Beta1. by @jamezp in https://github.com/resteasy/resteasy/pull/3237
    • Add SCM info to the resteasy-bom by @aloubyansky in https://github.com/resteasy/resteasy/pull/3238
    • [RESTEASY-3075] Added support for the EntityPart.Builder. This also a… by @jamezp in https://github.com/resteasy/resteasy/pull/3233
    • [RESTEASY-3085] Upgrade Jackson to 2.13. by @jamezp in https://github.com/resteasy/resteasy/pull/3241
    • Bump version.org.wildfly.galleon-plugins from 6.0.0.Beta1 to 6.0.0.Final by @dependabot in https://github.com/resteasy/resteasy/pull/3242
    • Bump mockito-core from 4.7.0 to 4.8.0 by @dependabot in https://github.com/resteasy/resteasy/pull/3245

    Full Changelog: https://github.com/resteasy/resteasy/compare/6.1.0.Final...6.2.0.Beta1

    Source code(tar.gz)
    Source code(zip)
    resteasy-6.2.0.Beta1-all.zip(37.83 MB)
    resteasy-6.2.0.Beta1-src.zip(8.37 MB)
  • 6.1.0.Final(Aug 2, 2022)

    Release Notes

    Full release notes can be found on JIRA. For information about the release see the RESTEasy Blog

    Sub-task

    Feature Request

    • [RESTEASY-2326] - Support more authentication types for resteasy-vertx
    • [RESTEASY-2856] - Add support for some general authentication mechanisms
    • [RESTEASY-3146] - Add ability to use CDI with the SeBootstrap Undertow layer

    Bug

    • [RESTEASY-3024] - Missing dependencies from the resteasy-bom
    • [RESTEASY-3071] - Concurrent calls causes the server to hang during async response write
    • [RESTEASY-3089] - ContainerResponseFilter will not allow null entities to be set
    • [RESTEASY-3096] - Resteasy new WebApplicationExceptions behavior
    • [RESTEASY-3121] - VertxClientHttpEngine may not complete the future if an error occurs
    • [RESTEASY-3131] - Fix JSON Binding test for new version of Yasson
    • [RESTEASY-3142] - POST with OR WITHOUT a request payload
    • [RESTEASY-3149] - Fix inject method in InjectorFactoryImpl
    • [RESTEASY-3155] - Concurrency issues in ResteasyViolationException
    • [RESTEASY-3166] - Digest authentication tests may get the wrong nc value from the header
    • [RESTEASY-3173] - Invalid reporting of the client closing via the cleaner
    • [RESTEASY-3174] - Wrong resteasy.jackson.deserialization.whitelist keys definition in the documentation

    Task

    • [RESTEASY-1925] - Jakarta RESTful Web Services 3.1 Development
    • [RESTEASY-2073] - JAXRS 2.2 SseBroadcaster close all registered SseEventSink
    • [RESTEASY-3137] - Remove dependency of ProxyInputStream
    • [RESTEASY-3138] - Remove dependency on commons-io
    • [RESTEASY-3148] - Clean up the resteasy-cdi module and extension
    • [RESTEASY-3162] - Do not inherit configurations for the galleon-feature-pack
    • [RESTEASY-3168] - Add tests for the Jakarta JSON Binding Provider

    Component Upgrade

    Enhancement

    • [RESTEASY-3054] - Replace usages of getParameterTypes().length with getParameterCount()
    • [RESTEASY-3090] - Add a ServiceLoader which can order order the results by priority
    • [RESTEASY-3094] - Extend support for the internal PriorityServiceLoader
    • [RESTEASY-3127] - Async IO for GZIPEncodingInterceptor
    • [RESTEASY-3135] - Remove usage of finalize() from RESTEasy client
    • [RESTEASY-3154] - performance improvement for ResteasyHttpHeaders
    Source code(tar.gz)
    Source code(zip)
    resteasy-6.1.0.Final-all.zip(37.69 MB)
    resteasy-6.1.0.Final-src.zip(8.33 MB)
  • 6.1.0.Beta3(Jul 21, 2022)

    Release Notes

    Sub-task

    Feature Request

    • [RESTEASY-2326] - Support more authentication types for resteasy-vertx
    • [RESTEASY-3137] - Remove dependency of ProxyInputStream
    • [RESTEASY-3146] - Add ability to use CDI with the SeBootstrap Undertow layer

    Bug

    • [RESTEASY-3024] - Missing dependencies from the resteasy-bom
    • [RESTEASY-3089] - ContainerResponseFilter will not allow null entities to be set
    • [RESTEASY-3096] - Resteasy new WebApplicationExceptions behavior
    • [RESTEASY-3142] - POST with OR WITHOUT a request payload
    • [RESTEASY-3149] - Fix inject method in InjectorFactoryImpl
    • [RESTEASY-3155] - Concurrency issues in ResteasyViolationException
    • [RESTEASY-3166] - Digest authentication tests may get the wrong nc value from the header

    Task

    • [RESTEASY-1925] - Jakarta RESTful Web Services 3.1 Development
    • [RESTEASY-2959] - Remove the hack in AtomFeedProvider to work with both new Jakarta RI and transformed RI
    • [RESTEASY-3138] - Remove dependency on commons-io
    • [RESTEASY-3141] - Spelling mistake in ReverseInjectionTest.testMDB
    • [RESTEASY-3148] - Clean up the resteasy-cdi module and extension
    • [RESTEASY-3153] - Remove the Jakarta Transformer option for the galleon-feature-pack
    • [RESTEASY-3161] - Change license header
    • [RESTEASY-3162] - Do not inherit configurations for the galleon-feature-pack
    • [RESTEASY-3168] - Add tests for the Jakarta JSON Binding Provider
    • [RESTEASY-3170] - Remove usage of weld-se-shaded in favor of the required dependencies

    Component Upgrade

    Enhancement

    Source code(tar.gz)
    Source code(zip)
    resteasy-6.1.0.Beta3-all.zip(37.70 MB)
    resteasy-6.1.0.Beta3-src.zip(8.33 MB)
  • 6.0.3.Final(Jul 21, 2022)

  • 5.0.4.Final(Jul 21, 2022)

  • 4.7.7.Final(Jul 21, 2022)

    Release Notes

    Bug

    • [RESTEASY-3089] - ContainerResponseFilter will not allow null entities to be set
    • [RESTEASY-3123] - ParamConverterProvider NullPointerException on methods with no params
    • [RESTEASY-3134] - NPE when using MP Config with RESTEasy Client on the class path
    • [RESTEASY-3144] - Ensure the client is closed when the bean is out of scope
    • [RESTEASY-3155] - Concurrency issues in ResteasyViolationException

    Task

    • [RESTEASY-3143] - Removing the unnecessary warning when default exception mapper is disabled
    • [RESTEASY-3161] - Change license header

    Component Upgrade

    Source code(tar.gz)
    Source code(zip)
    resteasy-jaxrs-4.7.7.Final-all.zip(58.42 MB)
    resteasy-jaxrs-4.7.7.Final-src.zip(8.67 MB)
  • 6.1.0.Beta2(Apr 27, 2022)

    Release Notes

    Sub-task

    Bug

    • [RESTEASY-3128] - Remove left over Spring dependencies in the reasteay-dependency-bom
    • [RESTEASY-3131] - Fix JSON Binding test for new version of Yasson

    Component Upgrade

    Source code(tar.gz)
    Source code(zip)
    resteasy-6.1.0.Beta2-all.zip(33.91 MB)
    resteasy-6.1.0.Beta2-src.zip(8.30 MB)
  • 6.1.0.Beta1(Apr 19, 2022)

    Release Notes

    Sub-task

    Bug

    • [RESTEASY-3071] - Concurrent calls causes the server to hang during async response write
    • [RESTEASY-3120] - VertxClientEngineTest hangs occasionally on CI
    • [RESTEASY-3121] - VertxClientHttpEngine may not complete the future if an error occurs

    Component Upgrade

    Source code(tar.gz)
    Source code(zip)
    resteasy-6.1.0.Beta1-all.zip(33.56 MB)
    resteasy-6.1.0.Beta1-src.zip(9.77 MB)
  • 6.0.1.Final(Apr 19, 2022)

  • 5.0.3.Final(Apr 19, 2022)

  • 4.7.6.Final(Apr 19, 2022)

    Release Notes

    Bug

    • [RESTEASY-3071] - Concurrent calls causes the server to hang during async response write
    • [RESTEASY-3120] - VertxClientEngineTest hangs occasionally on CI
    • [RESTEASY-3121] - VertxClientHttpEngine may not complete the future if an error occurs

    Task

    • [RESTEASY-3082] - Updated CI for RESTEasy to test with Java SE 17

    Component Upgrade

    Source code(tar.gz)
    Source code(zip)
    resteasy-jaxrs-4.7.6.Final-all.zip(58.92 MB)
    resteasy-jaxrs-4.7.6.Final-src.zip(8.66 MB)
  • 6.1.0.Alpha1(Mar 31, 2022)

    Release Notes

    Sub-task

    • [RESTEASY-1926] - Jakarta REST SE Bootstrap API
    • [RESTEASY-3074] - Require a minimum of Java 11 for the runtime
    • [RESTEASY-3075] - Add support for EntityPart
    • [RESTEASY-3076] - Ensure the expected services are loaded by default
    • [RESTEASY-3077] - Allow arrays to be injected for specific fields
    • [RESTEASY-3078] - Support the new hasProperty(String) method
    • [RESTEASY-3079] - Add support for inject some context types
    • [RESTEASY-3080] - Ensure RESTEasy supports the correct resolution for media type
    • [RESTEASY-3081] - Constructors for Cookie and NewCookie have been deprecated, migrate to using the builders
    • [RESTEASY-3084] - Upgrade Jakarta RESTful Web Services Specification to 3.1
    • [RESTEASY-3095] - Add TCK tests to the testsuite
    • [RESTEASY-3097] - Add the newly required default ExceptionMapper

    Feature Request

    • [RESTEASY-2856] - Add support for some general authentication mechanisms

    Task

    • [RESTEASY-3099] - Fix test suite to work with CDI 4.0
    • [RESTEASY-3112] - Migrate to temporarily using the 3.1.0.RC1-jbossorg-1 fork of the Jakarta REST API

    Component Upgrade

    Enhancement

    • [RESTEASY-3054] - Replace usages of getParameterTypes().length with getParameterCount()
    • [RESTEASY-3090] - Add a ServiceLoader which can order order the results by priority
    • [RESTEASY-3094] - Extend support for the internal PriorityServiceLoader
    Source code(tar.gz)
    Source code(zip)
    resteasy-6.1.0.Alpha1-all.zip(33.46 MB)
    resteasy-6.1.0.Alpha1-src.zip(8.31 MB)
  • 6.0.0.Final(Jan 14, 2022)

    Release Notes

    Bug

    • [RESTEASY-2891] - The resteasy-json-binding-provider requires Yasson at runtime
    • [RESTEASY-3033] - Deadlock while sending sse events when first event is not yet send
    • [RESTEASY-3043] - Resteasy SseEventSink can't guarantee the event ordering
    • [RESTEASY-3044] - SSE first message comes in second
    • [RESTEASY-3045] - SSE loses last message when sink is closed after message delivery
    • [RESTEASY-3046] - ProviderHelper's writeTo stalls due to DeferredOutstream flush (on Tomcat)
    • [RESTEASY-3049] - The StreamingOutputTest seems to periodically hang on CI runs
    • [RESTEASY-3051] - SseEventSource should respect alwaysConnect after the SseEventSink is closed
    • [RESTEASY-3052] - StreamingOutputTest hangs on CI intermittently
    • [RESTEASY-3053] - The new SseEventSinkTest.deadlockAtInitialization fails intermittently
    • [RESTEASY-3069] - MultipartRelatedOutput with StreamingOutput parts throws java.lang.ClassCastException: class org.jboss.resteasy.plugins.providers.StreamingOutputProvider cannot be cast to class org.jboss.resteasy.spi.AsyncMessageBodyWriter
    • [RESTEASY-3072] - UT010005: Cannot call getOutputStream(), getWriter() already called
    • [RESTEASY-3073] - RESTEasy service loader file parser doesn't account for comments

    Task

    • [RESTEASY-3007] - Migrate to Jakarta REST 3.0
    • [RESTEASY-3057] - Add a module dependency to Xerces
    • [RESTEASY-3060] - Some documentation still shows javax based examples
    • [RESTEASY-3061] - Update "JSON Support via Jackson" documentation section
    • [RESTEASY-3063] - Fix misleading and inaccurate stmt in "3.2. Deploying a RESTEasy application to WildFly"
    • [RESTEASY-3065] - Remove dependency on log4j from tests

    Component Upgrade

    Source code(tar.gz)
    Source code(zip)
    resteasy-6.0.0.Final-all.zip(32.95 MB)
    resteasy-6.0.0.Final-src.zip(8.19 MB)
  • 5.0.2.Final(Jan 13, 2022)

    Release Notes

    Bug

    • [RESTEASY-3069] - MultipartRelatedOutput with StreamingOutput parts throws java.lang.ClassCastException: class org.jboss.resteasy.plugins.providers.StreamingOutputProvider cannot be cast to class org.jboss.resteasy.spi.AsyncMessageBodyWriter
    • [RESTEASY-3072] - UT010005: Cannot call getOutputStream(), getWriter() already called
    • [RESTEASY-3073] - RESTEasy service loader file parser doesn't account for comments
    Source code(tar.gz)
    Source code(zip)
    resteasy-jaxrs-5.0.2.Final-all.zip(32.24 MB)
    resteasy-jaxrs-5.0.2.Final-src.zip(8.23 MB)
  • 4.7.5.Final(Jan 13, 2022)

    Release Notes

    Bug

    • [RESTEASY-3069] - MultipartRelatedOutput with StreamingOutput parts throws java.lang.ClassCastException: class org.jboss.resteasy.plugins.providers.StreamingOutputProvider cannot be cast to class org.jboss.resteasy.spi.AsyncMessageBodyWriter
    • [RESTEASY-3072] - UT010005: Cannot call getOutputStream(), getWriter() already called
    • [RESTEASY-3073] - RESTEasy service loader file parser doesn't account for comments
    Source code(tar.gz)
    Source code(zip)
    resteasy-jaxrs-4.7.5.Final-all.zip(58.91 MB)
    resteasy-jaxrs-4.7.5.Final-src.zip(8.67 MB)
  • 6.0.0.Beta1(Dec 3, 2021)

    Release Notes

    Bug

    • [RESTEASY-2891] - The resteasy-json-binding-provider requires Yasson at runtime
    • [RESTEASY-3033] - Deadlock while sending sse events when first event is not yet send
    • [RESTEASY-3043] - Resteasy SseEventSink can't guarantee the event ordering
    • [RESTEASY-3044] - SSE first message comes in second
    • [RESTEASY-3045] - SSE loses last message when sink is closed after message delivery
    • [RESTEASY-3046] - ProviderHelper's writeTo stalls due to DeferredOutstream flush (on Tomcat)
    • [RESTEASY-3049] - The StreamingOutputTest seems to periodically hang on CI runs
    • [RESTEASY-3051] - SseEventSource should respect alwaysConnect after the SseEventSink is closed
    • [RESTEASY-3053] - The new SseEventSinkTest.deadlockAtInitialization fails intermittently

    Task

    Source code(tar.gz)
    Source code(zip)
    resteasy-6.0.0.Beta1-all.zip(32.63 MB)
    resteasy-6.0.0.Beta1-src.zip(8.18 MB)
  • 5.0.1.Final(Dec 3, 2021)

    Release Notes

    Bug

    • [RESTEASY-2891] - The resteasy-json-binding-provider requires Yasson at runtime
    • [RESTEASY-3033] - Deadlock while sending sse events when first event is not yet send
    • [RESTEASY-3043] - Resteasy SseEventSink can't guarantee the event ordering
    • [RESTEASY-3044] - SSE first message comes in second
    • [RESTEASY-3045] - SSE loses last message when sink is closed after message delivery
    • [RESTEASY-3046] - ProviderHelper's writeTo stalls due to DeferredOutstream flush (on Tomcat)
    • [RESTEASY-3049] - The StreamingOutputTest seems to periodically hang on CI runs
    • [RESTEASY-3051] - SseEventSource should respect alwaysConnect after the SseEventSink is closed
    • [RESTEASY-3053] - The new SseEventSinkTest.deadlockAtInitialization fails intermittently

    Task

    Source code(tar.gz)
    Source code(zip)
    resteasy-jaxrs-5.0.1.Final-all.zip(32.24 MB)
    resteasy-jaxrs-5.0.1.Final-src.zip(8.23 MB)
  • 4.7.4.Final(Dec 3, 2021)

    Release Notes

    Bug

    • [RESTEASY-3033] - Deadlock while sending sse events when first event is not yet send
    • [RESTEASY-3043] - Resteasy SseEventSink can't guarantee the event ordering
    • [RESTEASY-3044] - SSE first message comes in second
    • [RESTEASY-3045] - SSE loses last message when sink is closed after message delivery
    • [RESTEASY-3046] - ProviderHelper's writeTo stalls due to DeferredOutstream flush (on Tomcat)
    • [RESTEASY-3049] - The StreamingOutputTest seems to periodically hang on CI runs
    • [RESTEASY-3051] - SseEventSource should respect alwaysConnect after the SseEventSink is closed
    • [RESTEASY-3053] - The new SseEventSinkTest.deadlockAtInitialization fails intermittently

    Task

    Source code(tar.gz)
    Source code(zip)
    resteasy-jaxrs-4.7.4.Final-all.zip(58.90 MB)
    resteasy-jaxrs-4.7.4.Final-src.zip(8.66 MB)
  • 5.0.0.Final(Nov 4, 2021)

    Release Notes

    Sub-task

    • [RESTEASY-2979] - remove spring components from resteasy main project
    • [RESTEASY-2987] - Remove resteasy-undertow-spring server adapter

    Feature Request

    • [RESTEASY-2887] - JDK17 support
    • [RESTEASY-3031] - allow http client inject through registration / HTTP2 support via vertx engine

    Bug

    • [RESTEASY-2837] - Improve TS for WF 22.0.1.Final
    • [RESTEASY-2914] - ResteasyViolationException#toString concurrency generate a java.util.ConcurrentModificationException
    • [RESTEASY-2953] - testsuite no longer runs successfully using -Dserver.home
    • [RESTEASY-2966] - resteasy-core is missing from the RESTEasy BOM
    • [RESTEASY-2994] - Fix the search on the generated JavaDoc
    • [RESTEASY-2996] - Reactor netty server adapter mix up response bytes for AsyncOutputStream write
    • [RESTEASY-2997] - RESTEASY003210 is appeared in response body when request resource is not found
    • [RESTEASY-3000] - Testsuite: Assert.equal should compare actual with expected
    • [RESTEASY-3013] - The Netty 4 Server Adapter test JaxrsAsyncTest is flaky
    • [RESTEASY-3019] - Content-Length header value with leading whitespaces causes Exception
    • [RESTEASY-3022] - Use the correct indicator on whether or not a ContextualExecutor is managed

    Task

    • [RESTEASY-2967] - Remove the Guice module
    • [RESTEASY-2975] - Move the MicroProfile modules to a new project
    • [RESTEASY-2976] - move resteasy-spring components to separate sub-project
    • [RESTEASY-2988] - Migrate the resteasy-jboss-modules to a Galleon Feature Pack
    • [RESTEASY-2993] - Migrate to prefer the Jakarta API dependencies over the JBoss forks
    • [RESTEASY-2999] - Move the Server Cache Maven module to the resteasy-extensions project
    • [RESTEASY-3001] - Remove unneccesary boolean object boxing
    • [RESTEASY-3009] - Create a CI job to test RESTEasy against the latest WildFly release
    • [RESTEASY-3010] - Fix tests that require legacy security
    • [RESTEASY-3014] - Switch CI to use Eclipse Adoptium and update testing to Java 17
    • [RESTEASY-3030] - Replace Java EE references with Jakarta EE references
    • [RESTEASY-3035] - Add documentation for match_cache parameters
    • [RESTEASY-3036] - Add documentation for resteasy.patchfilter.legacy
    • [RESTEASY-3037] - Ignore tests that require modules not provided by WildFly by default

    Component Upgrade

    Enhancement

    • [RESTEASY-2880] - Threshold before writing to disk should be configurable
    • [RESTEASY-3004] - Add HTTPS and HTTP2 tests to the resteasy-client-vertx
    • [RESTEASY-3005] - default http port should be set based on http scheme
    • [RESTEASY-3015] - Avoid a payload byte[] copy when using reactor-netty HTTP client engine
    • [RESTEASY-3021] - Create a way to propagate the RESTEasy context for new threads
    • [RESTEASY-3026] - The ThreadContext.reset() should pass the type parameter for resetting
    • [RESTEASY-3027] - Allow ThreadContext's to be enabled via provider
    Source code(tar.gz)
    Source code(zip)
    resteasy-jaxrs-5.0.0.Final-all.zip(32.23 MB)
    resteasy-jaxrs-5.0.0.Final-src.zip(8.22 MB)
  • 4.7.3.Final(Nov 3, 2021)

  • 5.0.0.Beta3(Oct 28, 2021)

  • 5.0.0.Beta2(Oct 15, 2021)

  • 5.0.0.Beta1(Oct 1, 2021)

    RESTEasy 5.0.0.Beta1

    Feature Request

    Bug

    • [RESTEASY-2914] - ResteasyViolationException#toString concurrency generate a java.util.ConcurrentModificationException
    • [RESTEASY-2953] - testsuite no longer runs successfully using -Dserver.home
    • [RESTEASY-2996] - Reactor netty server adapter mix up response bytes for AsyncOutputStream write
    • [RESTEASY-3022] - Use the correct indicator on whether or not a ContextualExecutor is managed

    Task

    • [RESTEASY-2999] - Move the Server Cache Maven module to the resteasy-extensions project
    • [RESTEASY-3009] - Create a CI job to test RESTEasy against the latest WildFly release
    • [RESTEASY-3010] - Fix tests that require legacy security
    • [RESTEASY-3014] - Switch CI to use Eclipse Adoptium and update testing to Java 17

    Component Upgrade

    Enhancement

    • [RESTEASY-3004] - Add HTTPS and HTTP2 tests to the resteasy-client-vertx
    • [RESTEASY-3005] - default http port should be set based on http scheme
    • [RESTEASY-3015] - Avoid a payload byte[] copy when using reactor-netty HTTP client engine
    Source code(tar.gz)
    Source code(zip)
  • 4.7.2.Final(Sep 24, 2021)

    Release Notes

    Bug

    • [RESTEASY-2914] - ResteasyViolationException#toString concurrency generate a java.util.ConcurrentModificationException
    • [RESTEASY-2953] - testsuite no longer runs successfully using -Dserver.home
    • [RESTEASY-2994] - Fix the search on the generated JavaDoc
    • [RESTEASY-2996] - Reactor netty server adapter mix up response bytes for AsyncOutputStream write

    Task

    Enhancement

    • [RESTEASY-2880] - Threshold before writing to disk should be configurable
    • [RESTEASY-3015] - Avoid a payload byte[] copy when using reactor-netty HTTP client engine
    Source code(tar.gz)
    Source code(zip)
  • 3.15.2.Final(Sep 23, 2021)

    Bug

    • [RESTEASY-2837] - Improve TS for WF 22.0.1.Final
    • [RESTEASY-2912] - Incorrect naming of JsonpMPtest class
    • [RESTEASY-2913] - Remove JacksonDataTypeTest#testDatatypeNotSupportedDuration
    • [RESTEASY-2914] - ResteasyViolationException#toString concurrency generate a java.util.ConcurrentModificationException
    • [RESTEASY-2915] - Disable some MicroProfile tests with prepared MicroProfileDependent category
    • [RESTEASY-2968] - Fix rxjava2 related testing for bootable jar
    • [RESTEASY-2971] - FollowRedirectsTest should be annotated with MicroProfileDependent category
    • [RESTEASY-3016] - PriorityTest fails on CI as it uses a target which may not be resolvable

    Task

    • [RESTEASY-2864] - Fix code bug in Chapter 52 of User Guide
    • [RESTEASY-2876] - Move Arquillian related resources out of the resteasy-dependencies BOM

    Enhancement

    • [RESTEASY-2843] - RESTEasy responds with a stack trace for NotFoundException
    Source code(tar.gz)
    Source code(zip)
  • 5.0.0.Alpha1(Aug 27, 2021)

    RESTEasy - Version 5.0.0.Alpha1

    Sub-task

    • [RESTEASY-2979] - remove spring components from resteasy main project
    • [RESTEASY-2987] - Remove resteasy-undertow-spring server adapter

    Bug

    Task

    • [RESTEASY-2967] - Remove the Guice module
    • [RESTEASY-2975] - Move the MicroProfile modules to a new project
    • [RESTEASY-2988] - Migrate the resteasy-jboss-modules to a Galleon Feature Pack
    • [RESTEASY-2993] - Migrate to prefer the Jakarta API dependencies over the JBoss forks

    Component Upgrade

    Enhancement

    • [RESTEASY-2880] - Threshold before writing to disk should be configurable
    Source code(tar.gz)
    Source code(zip)
RESTKit is a powerful toolkit for restful services development

RESTKit is a powerful toolkit for restful services development. This plugin is committed to enhancing development efficiency with useful

Mr.Hu 25 Dec 22, 2022
The Battle of Java Microservice Frameworks

X is better than Y! Or is it? The Battle of Java Microservice Frameworks Demo repository for the Codineers Meetup #1 on modern microservice frameworks

M.-Leander Reimer 4 Apr 5, 2022
crnk.io - Crank up the development of RESTful applications

crnk.io - Crank up the development of RESTful applications! release on jcenter latest in private repository What is Crnk? Crnk is an implementation of

null 272 Nov 28, 2022
ZK is a highly productive Java framework for building amazing enterprise web and mobile applications

ZK ZK is a highly productive Java framework for building amazing enterprise web and mobile applications. Resources Documentation Tutorial ZK Essential

ZK 375 Dec 23, 2022
Vaadin 6, 7, 8 is a Java framework for modern Java web applications.

Vaadin Framework Vaadin allows you to build modern web apps efficiently in plain Java, without touching low level web technologies. This repository co

Vaadin 1.7k Jan 5, 2023
Firefly is an asynchronous web framework for rapid development of high-performance web application.

What is Firefly? Firefly framework is an asynchronous Java web framework. It helps you create a web application Easy and Quickly. It provides asynchro

Alvin Qiu 289 Dec 18, 2022
Jersey is a REST framework that provides JAX-RS Reference Implementation and more.

About Jersey Jersey is a REST framework that provides JAX-RS Reference Implementation and more. Jersey provides its own APIs that extend the JAX-RS to

Eclipse EE4J 621 Jan 5, 2023
Ninja is a full stack web framework for Java. Rock solid, fast and super productive.

_______ .___ _______ ____. _____ \ \ | |\ \ | | / _ \ / | \| |/ | \ | |/ /_\ \ / | \

Ninja Web Framework 1.9k Jan 5, 2023
The modular web framework for Java and Kotlin

∞ do more, more easily Jooby is a modern, performant and easy to use web framework for Java and Kotlin built on top of your favorite web server. Java:

jooby 1.5k Dec 16, 2022
A web MVC action-based framework, on top of CDI, for fast and maintainable Java development.

A web MVC action-based framework, on top of CDI, for fast and maintainable Java development. Downloading For a quick start, you can use this snippet i

Caelum 347 Nov 15, 2022
A server-state reactive Java web framework for building real-time user interfaces and UI components.

RSP About Maven Code examples HTTP requests routing HTML markup Java DSL Page state model Single-page application Navigation bar URL path UI Component

Vadim Vashkevich 33 Jul 13, 2022
Javalin - A simple web framework for Java and Kotlin

Javalin is a very lightweight web framework for Kotlin and Java which supports WebSockets, HTTP2 and async requests. Javalin’s main goals are simplicity, a great developer experience, and first class interoperability between Kotlin and Java.

David (javalin.io) 6.2k Jan 6, 2023
Apache Wicket - Component-based Java web framework

What is Apache Wicket? Apache Wicket is an open source, java, component based, web application framework. With proper mark-up/logic separation, a POJO

The Apache Software Foundation 657 Dec 31, 2022
Micro Java Web Framework

Micro Java Web Framework It's an open source (Apache License) micro web framework in Java, with minimal dependencies and a quick learning curve. The g

Pippo 769 Dec 19, 2022
True Object-Oriented Java Web Framework

Project architect: @paulodamaso Takes is a true object-oriented and immutable Java8 web development framework. Its key benefits, comparing to all othe

Yegor Bugayenko 748 Dec 23, 2022
An Intuitive, Lightweight, High Performance Full Stack Java Web Framework.

mangoo I/O mangoo I/O is a Modern, Intuitive, Lightweight, High Performance Full Stack Java Web Framework. It is a classic MVC-Framework. The foundati

Sven Kubiak 52 Oct 31, 2022
Java Web Toolkit

What is JWt ? JWt is a Java library for developing web applications. It provides a pure Java component-driven approach to building web applications, a

null 48 Jul 16, 2022
A simple expressive web framework for java. Spark has a kotlin DSL https://github.com/perwendel/spark-kotlin

Spark - a tiny web framework for Java 8 Spark 2.9.3 is out!! Changeset <dependency> <groupId>com.sparkjava</groupId> <artifactId>spark-core</a

Per Wendel 9.4k Dec 29, 2022
CUBA Platform is a high level framework for enterprise applications development

Java RAD framework for enterprise web applications Website | Online Demo | Documentation | Guides | Forum CUBA Platform is a high level framework for

CUBA Platform 1.3k Jan 1, 2023