Jersey is a REST framework that provides JAX-RS Reference Implementation and more.

Overview

Build Status  EPL-2.0  GPL+CPE-2.0

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 toolkit with additional features and utilities to further simplify RESTful service and client development. Jersey also exposes numerous extension SPIs so that developers may extend Jersey to best suit their needs.

Goals of Jersey project can be summarized in the following points:

  • Track the JAX-RS API and provide regular releases of production quality Reference Implementations that ships with GlassFish;
  • Provide APIs to extend Jersey & Build a community of users and developers; and finally
  • Make it easy to build RESTful Web services utilising Java and the Java Virtual Machine.

Licensing and Governance

Jersey is licensed under a dual license - EPL 2.0 and GPL 2.0 with Class-path Exception. That means you can choose which one of the two suits your needs better and use it under those terms.

We use contribution policy, which means we can only accept contributions under the terms of ECA.

More Information on Jersey

See the Jersey website to access Jersey documentation. If you run into any issues or have questions, ask at [email protected] (need to subscribe first), StackOverflow or file an issue on Jersey GitHub Project. You can follow us on Twitter, too.

Comments
  • Jersey doesn't allow to override a built-in ValidationExceptionMapper

    Jersey doesn't allow to override a built-in ValidationExceptionMapper

    In attachments you can see a project which uses: Jersey, Weld, Jetty and jersey bean validation module.

    The problem is, when I've upgraded Jersey from 2.14 to 2.23.1 my custom exception mapper:

    @Provider
    public class ValidationExceptionMapper implements
            ExceptionMapper<ValidationException> {
    
        @Override
        public Response toResponse(ValidationException exception) {
            final ResponseEntity resp = ResponseEntity.builder()
    .message("Hurray, my custom ValidationExceptionMapper was called!")
    .build();
    
            return Response.status(Status.BAD_REQUEST).entity(resp).build();
        }
    }
    

    is no longer called - Jersey uses the built-in exception mapper for this exception: org.glassfish.jersey.server.validation.internal.ValidationExceptionMapper and unfortunately I cannot override it.

    The problem is strictly related to the Weld integration. Because without dependency to Weld, my custom exception mapper has a higher priority than the one provided by jersey-bean-validation module.

    Environment

    Windows 7/ Ubuntu 16.04 Oracle JDK 1.7.0_75 Jetty 9.2.13.v20150730 Any Jersey version above 2.14

    Affected Versions

    [2.23.1]

    Priority: Major Type: Bug Component: extensions jersey-bean-validation exceptions-handling weld-integration 
    opened by jerseyrobot 41
  • Add HTTP server connector and tests for Simple

    Add HTTP server connector and tests for Simple

    Simple is a high performance HTTP server for the Java platform. A container has been implemented for Jersey similar to the existing Grizzly container. Simple offers the following benefits as a Jersey contribution.

    1. Currently benchamarks at about twice as fast as Grizzly, Jetty, and AsyncWeb

    http://www.simpleframework.org/performance/grizzly/run1/ScalabilityApacheBench.png http://www.simpleframework.org/performance/grizzly/run2/ScalabilityApacheBench.png

    1. Supports the full set of HTTP capabilities, including integrated multipart uploads, 100 continue, cookies, sessions, HTTP/1.0, HTTP/1.1, HTTPS

    2. Build around NIO so has very low latencies

    http://www.simpleframework.org/performance/grizzly/run1/LatencyApacheBench.png http://www.simpleframework.org/performance/grizzly/run2/LatencyApacheBench.png

    A full test suite for the connector is also required.

    Environment

    Operating System: All Platform: All URL: http://www.simpleframework.org

    Component: core ERR: Assignee Priority: Major Type: Bug 
    opened by jerseyrobot 31
  • Jersey(2.10.4) Entity provider selection algorithm gives less priority to custom providers(MessageBodyWriter) making it not to be invoked

    Jersey(2.10.4) Entity provider selection algorithm gives less priority to custom providers(MessageBodyWriter) making it not to be invoked

    We have a custom MessageBodyWriter in our application for serializing DTO objects to XML in output stream

    We have a custom MessageBodyWriter in our application that produces data of Media type application/xml.As we know Jersey 2.x has an algorithm(https://jersey.java.net/documentation/latest/message-body-workers.html#mbw.writer.selection.algorithm) that chooses a suitable MBR from a list of internal and custom MessageBodyWriters to persist entity into output buffer.The algorithm sorts MBR is based upon Object type distance and media type distance.So our Custom MBR is not getting invoked as we saw in the Jersey common code (MessageBodyFactory.getMessageBodyWriter())that our Custom Writer is at the below in the list and some other provider whose isWriteable() method returns true getting invoked.Further based on media type sorting our writers gets priority as we have mentioned media type as "application/xml" ,but in terms of Object type distance the priority gets lower as the DTO objects to be persist has long distance from Object super class .Eventually our Custom writer sits below in the list of writer providers and other JAXB providers like (specifically XmlRootElementJaxbProvider) gets priority and as its isWriteable() returns true so this provider (XmlRootElementJaxbProvider) gets called

    The question is how can we force Jersey to invoke custom MessageBodyWriters ??Should we try adding a custom media type(like application/vnd.xml) to force it to call our Custom MessageBodyWriters ??

    Environment

    Glassfish 4.1

    Affected Versions

    [2.10]

    Component: core Priority: Major Type: Bug Component: media Incomplete 
    opened by jerseyrobot 30
  • Port support for test framework application descriptors from Jersey 1.x

    Port support for test framework application descriptors from Jersey 1.x

    There doesn't seem to be a way to pass information into the Application that unit tests launch. I looked at https://jersey.java.net/documentation/latest/user-guide.html#test-framework and this use-case was not covered.

    For example, I am trying to pass a ServletContext attribute to the JAX-RS application in order to indicate which HK2 dynamic configuration should be bound at runtime. Unit tests bind to mock implementations whereas in production I bind to real implementations.

    Affected Versions

    [2.4.1]

    Priority: Major Type: Improvement Component: test-framework 
    opened by jerseyrobot 28
  • VfsSchemeScanner cannot be run in Jboss-7 environment

    VfsSchemeScanner cannot be run in Jboss-7 environment

    Name of "vfsfile" protocol has been changed to "vfs" in Jboss-7 but VfsSchemeScanner is mapped to vfsfile and vfszip protocols.

    So because of this I'm getting error when jersey tries to scan my rest resources during jboss startup:

    01:01:25,195 ERROR (MSC service thr) [             [/ScoreCard]] StandardWrapper.Throwable: com.sun.jersey.core.spi.scanning.ScannerException: The URI scheme vfs of the URI vfs:/D:/views/third-party/jboss/jboss-as-7.0.1.Final/standalone/deployments/ScoreCard.ear/ScoreCard.war/WEB-INF/classes/com/lex
    /scoreCard/web/rest/ is not supported. Package scanning deployment is not supported for such URIs.
    Try using a different deployment mechanism such as explicitly declaring root resource and provider classes using an extension of javax.ws.rs.core.Application
            at com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:225)
            at com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:139)
            at com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:78)
            at com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:116)
            at com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:81)
            at com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:92)
            at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:677)
            at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:655)
            at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:206)
            at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:342)
            at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:516)
            at javax.servlet.GenericServlet.init(GenericServlet.java:242)
            at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202)
            at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102)
            at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3631)
            at org.apache.catalina.core.StandardContext.start(StandardContext.java:3844)
            at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70)
            at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1765)
            at org.jboss.msc.service.ServiceControllerImpl$ClearTCCLTask.run(ServiceControllerImpl.java:2291)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
            at java.lang.Thread.run(Thread.java:662)
    

    Can we add additional "vfs" protocol to VfsSchemeScanner?

    Affected Versions

    [1.4]

    Priority: Major Type: Bug 
    opened by jerseyrobot 27
  • File upload is broken with IE 6 and IE 7: Backslashes in Content-Disposition filename

    File upload is broken with IE 6 and IE 7: Backslashes in Content-Disposition filename

    The closest existing report that I could find was on nabble: http://jersey.576304.n2.nabble.com/Jersey-truncating-the-slashes-from-the-uploaded-file-name-td5984041.html

    IE sends non-standard conforming (bug surrise, eh?) filename: -----------------------------7db13314200d0 Content-Disposition: form-data; name="file"; filename="C:\tmp\Ext.js" Content-Type: application/octet-stream

    What my application gets when reading the filename is "C:tmpExt.js"

    Apparently (from reading the forum thread mentioned above) this bug has been around since Jersey 1.3 at least.

    Affected Versions

    [1.8]

    ERR: Assignee Priority: Major Type: Bug ie upload 
    opened by jerseyrobot 27
  • url-pattern *.xxx no longer works

    url-pattern *.xxx no longer works

    In version 1.0.3.1 when I configured the com.sun.jersey.spi.container.servlet.ServletContainer in the web.xml with a url-pattern of *.ui I was able to access that service; however in the latest version 1.1.5, that functionality appears broken.

    The following code replicates the problem.

        1. web.xml

    SimpleMVNREST

    ServletAdaptor

    com.sun.jersey.spi.container.servlet.ServletContainer 1 ServletAdaptor *.ui

        1. Test.java package net.example.simplemvnrest;

    import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response;

    /** * */ @Path("/test.ui") public class Test {

    @GET @Produces("text/plain") public String getClichedMessage()

    { return "Hello World"; }

    }

        1. pom.xml

    4.0.0 net.example SimpleMvnREST 1.0-SNAPSHOT war

    SimpleMvnREST

    javax.servlet servlet-api 2.5 provided com.sun.jersey jersey-server 1.1.5.1 javax.ws.rs jsr311-api 1.1 org.apache.maven.plugins maven-compiler-plugin 1.6 1.6 #### Environment Operating System: All Platform: All #### Affected Versions [1.1.5] Component: core ERR: Assignee Priority: Major Type: Bug 
    opened by jerseyrobot 26
  • com.sun.jersey.api.client.WebResource should be extensible [PATCH AVAILABLE]

    com.sun.jersey.api.client.WebResource should be extensible [PATCH AVAILABLE]

    We have desirable behavior that we want to implement, such as returning location headers on creation of entities. Currently, the only way I see to do this is to customize the WebResource. This requires making the current package level constructor public. For now, I have to cheat and have a com.sun.jersey.api.client in our project, that can then trick the compiler into allowing access.

    Environment

    Operating System: All Platform: Macintosh

    Component: core Priority: Major Type: Improvement 
    opened by jerseyrobot 26
  • Default Overview of a JAX-RS Bean [Jersey]

    Default Overview of a JAX-RS Bean [Jersey]

    I submitted this feature request to the JAX-RS API repository and Mr. Karg suggested that it should first be implemented by one of the vendors before it can be taken into consideration as a Specification standard.

    What do you think of it? Would you see potential in such a feature?

    opened by amihaiemil 25
  • Memory leak of response.readEntity when using JAX-RS Client API

    Memory leak of response.readEntity when using JAX-RS Client API

    We detected memory leak in response.readEntity.

    When we use "response.readEntity(String.class)", there were not memory leak. But when we use "MediaType.TEXT_XML" and "response.readEntity(ErrorBean.class);", then memory leak was occurred.

    The following table is the result of 'jstat -gcutil' when memory full is occurred.

    | S0 | S1 | E | O | P | YGC | YGCT | FGC | ... | | 0.00 | 0.00 | 98.78 | 99.96 | 99.36 | 10975 | 176.220 | 2665 | ... | | 0.00 | 0.00 | 100.00 | 99.96 | 99.36 | 10975 | 176.220 | 2666 | ... | | 0.00 | 0.00 | 100.00 | 99.96 | 99.36 | 10975 | 176.220 | 2666 | ... |

    And the following is the problematic codes. They are called in JAX-RS Resource deployed on tomcat7.

    Client client = ClientBuilder.newClient();
    WebTarget target = client.target("http://xxxx.xxx"); Invocation.Builder invocationBuilder = target.request(MediaType.TEXT_XML);
    try {
      response = invocationBuilder.post(Entity.entity("<test><id>1234</id></test>", MediaType.TEXT_XML));
      ErrorBean err = response.readEntity(ErrorBean.class);
    } catch(Exception e) {
      // handle Exception } finally {
      if (response != null) {
        response.close();
      }
    }
    
    @XmlRootElement(name = "error")
    public class ErrorBean {	
    	private String code;
    	private String message;
    	private String resource;
    
    	public ErrorBean() {}
    
    	public String getCode() {
    		return code;
    	}
    
    	public void setCode(String code) {
    		this.code = code;
    	}
    
    	public String getMessage() {
    		return message;
    	}
    
    	public void setMessage(String message) {
    		this.message = message;
    	}
    
    	public String getResource() {
    		return resource;
    	}
    
    	public void setResource(String resource) {
    		this.resource = resource;
    	}
    }
    

    Environment

    OS : Ubuntu 13.10 64bit WAS : apache-tomcat-7.x JDK : jdk1.7.0_45

    Affected Versions

    [2.7]

    Component: core Type: Bug Priority: Critical Incomplete unplanned memory-leak 
    opened by jerseyrobot 25
  • jersey-spring3 doesn't support Spring Java config properly

    jersey-spring3 doesn't support Spring Java config properly

    The new jersey-spring3 module expects an XML based spring configuration. I'm able to work around the issue when running the application by having the following WebApplicationInitializer:

    public class MyServiceWebAppInitializer implements WebApplicationInitializer {
    
        @Override
        public void onStartup(ServletContext container) {
            AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
            rootContext.register(MyServiceSpringConfig.class);
            container.addListener(new ContextLoaderListener(rootContext));
            container.addListener(new RequestContextListener());
    
            // The following line is required to avoid having jersey-spring3 registering it's own Spring root context.
            container.setInitParameter("contextConfigLocation", "");
        }
    }
    

    The last line makes jersey-spring3 skip initializing a new spring context in SpringWebApplicationInitializer (GitHub).

    When writing integration tests that extends from JerseyTest, however, this doesn't work. Using @RunWith(SpringJUnit4ClassRunner.class) and supplying my config class to @ContextConfiguration, jersey-spring3 still tries to initialize a ClassPathXmlApplicationContext in SpringComponentProvider (GitHub), and fails because the default applicationContext.xml file isn't found.

    Example code:

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = MyServiceSpringConfig.class)
    public class MyIntegrationTest extends JerseyTest {
    
        @Override
        protected Application configure() {
            return new MyServiceJerseyConfig();
        }
    
        @Test
        public void someTest() throws Exception {
            // Very useful test
        }
    }
    

    The MyServiceJerseyConfig class:

    @ApplicationPath("webapi")
    public class MyServiceJerseyConfig extends ResourceConfig {
        public MyServiceJerseyConfig() {
            packages("com.acme.myservice");
        }
    }
    

    Environment

    Spring 3.2.3, Jersey 2.2-SNAPSHOT

    Affected Versions

    [2.2]

    ERR: Assignee Type: Bug Priority: Minor Component: extensions spring 
    opened by jerseyrobot 25
  • jersey-media-multipart depends on JUnit - regression

    jersey-media-multipart depends on JUnit - regression

    After upgrading from Jersey 2.37 to 2.38, my project's main sources started building against JUnit Jupiter which is now getting pulled in as a transitive dependency of jersey-media-multipart. The JUnit dependency in the pom for jersey-media-multipart is missing <scope>test</scope>.

    The pom for jersey-media-multipart 2.38 has this:

            <dependency>
                <groupId>org.junit.jupiter</groupId>
                <artifactId>junit-jupiter</artifactId>
            </dependency>
    

    The pom for jersey-media-multipart 2.37 is also missing test scope:

            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
            </dependency>
    

    Even though "test" scope is missing in 2.37, this problem was not visible in 2.37 because dependencyManagement for org.glassfish.jersey:project forced test scope:

    
                <dependency>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                    <version>4.13.1</version>
                    <scope>test</scope>
                </dependency>
    

    In 2.38, dependencyManagement for org.glassfish.jersey:project now imports the JUnit BOM (which is good):

                <dependency>
                    <groupId>org.junit</groupId>
                    <artifactId>junit-bom</artifactId>
                    <version>${junit5.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
    

    So, now that the JUnit BOM is imported, any projects missing "test" scope for junit-jupiter need to be corrected. I noticed this for jersey-media-multipart but didn't check if any other Jersey modules also have the same issue.

    As a workaround, I have to force an exclusion in my project's pom:

            <dependency>
                <groupId>org.glassfish.jersey.media</groupId>
                <artifactId>jersey-media-multipart</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.jupiter</groupId>
                        <artifactId>junit-jupiter</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
    opened by benken-parasoft 1
  • CVE for dependency jackson-databind

    CVE for dependency jackson-databind

    It looks like the current release has a dependency on a version of jackson-databind that's reporting a CVE:

    https://mvnrepository.com/artifact/org.glassfish.jersey.media/jersey-media-json-jackson/3.1.0

    We've worked around it via a Maven exclusion and import of the latest jackson-databind but want to report it. (A search didn't turn up any open issues, apologies if this is already known/reported.)

    opened by twh270 0
  • Typo in documentation

    Typo in documentation

    https://github.com/eclipse-ee4j/jersey/blob/86ea75573f8bd007a6f28d961a920fee751fbfd7/docs/src/main/docbook/rx-client.xml#L806 %gt; is wrong. Unfortunately I cannot provide a solution due to licensing issues.

    opened by maffe 0
  • A switch to not ignore trailing slash in URLs

    A switch to not ignore trailing slash in URLs

    The JAX-RS URL matching is broken by design, because it treats URL with and without trailing slash as equivalent, as evidenced in https://github.com/jakartaee/rest/issues/468. The JAX-RS contributors seem to be unwilling to address this elephant in the room.

    Could Jersey implement a config property to toggle this behavior off?

    opened by namedgraph 1
Releases(3.0.9)
  • 3.0.9(Dec 23, 2022)

  • 2.38(Dec 22, 2022)

  • [Issue 3383] - jersey-container-jdk-http ignores host and always binds to wildcard address
  • [Issue 5156] - Question: how to change the configuration of ResourceConfig at runtime?
  • [Issue 5189] - Exception in Jersey Jetty handler's Host header parsing bubbles up to the top
  • [Pull 5115] - Dependencies versions update (master)
  • [Pull 5123] - JUnit bump 4 -> 5
  • [Pull 5129] - verify license via GitHub actions
  • [Pull 5136] - Release test: check the staged artifacts are valid
  • [Pull 5161] - Fix Container#reload
  • [Pull 5163] - Update JdkHttpServerFactory.java
  • [Pull 5165] - warn less (just once for all clients) about missing providers
  • [Pull 5174] - Adopt ASM 9.4
  • [Pull 5175] - Remove Guava under version 24
  • [Pull 5178] - Better @Inject support. For servlet classes, a qualifier is used.
  • [Pull 5185] - add dependencyConvergence rule to the maven-enforcer-plugin
  • [Pull 5186] - Timeout extended to 30 HOURS
  • [Pull 5191] - Exception in Jersey Jetty handler's Host header parsing bubbles up to the top
  • [Pull 5194] - Fix optionals when empty
  • [Pull 5195] - Call tearDown to prevent Address already in use
  • [Pull 5198] - SSLHandshake No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
  • [Pull 5201] - bump Eclipse's parent pom to 1.0.8
  • [Pull 5205] - Add caching and improve performance
  • [Pull 5206] - Use Java 11 InputStream::readAllBytes to read String entities
  • [Pull 5207] - Fix alignment in the doc
  • [Pull 5208] - Fix FORM_PARAM_CONSUMED warning
  • [Pull 5211] - Store InvocationBuilderListenerStage into Runtime not to look up
  • [Pull 5212] - faster RuntimeType.toLowerCase in PropertiesHelper
  • Source code(tar.gz)
    Source code(zip)
  • 3.1.0(Nov 4, 2022)

  • [Issue 4819] - Adopt 3.1 API
  • [Issue 4834] - Application/octet-stream is set as mediaType when uploading json file payload using form parameters instead of application/json
  • [Issue 4870] - Documentation: Default Exception Mapper
  • [Issue 4871] - Documentation: Update CompletionCallback example
  • [Issue 4875] - Documentation: Document JAX-RS Feature JDK service
  • [Issue 4941] - Release 3.1.0-M2
  • [Issue 5103] - Can not serialize CompletionStage
  • [Pull 4855] - Impl of the SameSite enum for NewCookie
  • [Pull 4859] - Implementation of EntityPart API
  • [Pull 4861] - Support for @ApplicationPath in SE
  • [Pull 4863] - DefaultExceptionMapper
  • [Pull 4866] - Remove JDK 8 related maven configuration
  • [Pull 4868] - Added implementation of RuntimeDelegate#bootstrap(Class, Configuration)
  • [Pull 4877] - Add Application/JSON media type for FileDataBodyPart json files.
  • [Pull 4879] - enabling some examples for Jakarta EE 9
  • [Pull 4880] - DefaultExceptionMapper documentation
  • [Pull 4884] - Documentation for Feature and Dynamic Feature enchansments
  • [Pull 4885] - Change of default behaviour of UNWRAP_COMPLETION_STAGE_IN_WRITER_ENABLE
  • [Pull 4892] - Enable MP RestClient
  • [Pull 4893] - Adjust getRequestHeader method
  • [Pull 4895] - documentation for CompletionCallback implementation change since Jersey 3.1.0
  • [Pull 4896] - Split MP REST Client integration test module to support javax.servlet…
  • [Pull 4908] - Default Exception Mapper re-worked
  • [Pull 4911] - Missing Content-Type header should be application/octet-stream optionally
  • [Pull 4919] - Issue #3493 - Add BeanParam support to WebResourceFactory
  • [Pull 4922] - merge actual master into 3.1
  • [Pull 4923] - Documentation for the default Exception mapper
  • [Pull 4925] - merge actual master into 3.1
  • [Pull 4926] - Updated dependency versions
  • [Pull 4927] - Adopt parsson
  • [Pull 4929] - Updated dependency versions
  • [Pull 4931] - Added a documentation for Jakarta REST EntityPart
  • [Pull 4932] - merge actual master into 3.1
  • [Pull 4934] - Replace usage of deprecated beanManager.createInjectionTarget
  • [Pull 4936] - merge actual master into 3.1
  • [Pull 4937] - Updated dependency versions
  • [Pull 4938] - DefaultExceptionMapper made available for compliance check
  • [Pull 4940] - Issue #4881 - Java client connector
  • [Pull 4942] - Updating CI/CD JDK for 3.x build
  • [Pull 4945] - OSGi version requirements for jakarta.enterprise explicitly added
  • [Pull 4947] - Update to MP Rest Client 3.0 final
  • [Pull 4956] - Support for hasProperty method
  • [Pull 4958] - merge actual master into 3.1
  • [Pull 4963] - Let Jackson use JAXB3
  • [Pull 4973] - Added a test for a serverless resource testing
  • [Pull 4976] - update 3.1 branch with actual master
  • [Pull 4983] - Backwards merge of 3.x into 3.1
  • [Pull 4990] - Temporarily exclude java-connector for M3
  • [Pull 4991] - Update legal information for 3.1
  • [Pull 4992] - Do not use privileged ports with WebServer by default
  • [Pull 5008] - Update versions of JAX-B, Moxy, JSON-B, JSON-P
  • [Pull 5009] - Dependency on servlet-api updated to version 6, grizzly to 4
  • [Pull 5016] - Updated CDI, BV, and EL.
  • [Pull 5019] - maven-bundle-plugin version update
  • [Pull 5029] - Add MP RestClient module to BOM
  • [Pull 5037] - Make sure the default exception mapper is processed
  • [Pull 5040] - Move jersey-tck module to a tests folder & make it run with -Pjersey-tck
  • [Pull 5047] - Use Jsonb more effectively
  • [Pull 5066] - Rename Java Connector to JavaNetHttp Connector
  • [Pull 5075] - Possibly use jersey WebServer with SeBootstrap.Configurator
  • [Pull 5077] - Call CompletionCallback just once with DefaultExceptionMapper
  • [Pull 5081] - Updated dependencies for 3.0.5
  • [Pull 5086] - Updated EE10 dependency versions
  • [Pull 5098] - Fix Multipart media type override by Jersey defaults.
  • [Pull 5104] - Extensions for JNH connector
  • [Pull 5120] - EE10 versions update
  • [Pull 5152] - OSGi for JNH connector
  • Source code(tar.gz)
    Source code(zip)
  • 2.37(Sep 6, 2022)

  • [Pull 5090] - Support GSON media
  • [Pull 5091] - Support ClientProperties.PROXY_URI & al in HttpUrlConnector
  • [Pull 5095] - Move Proxy parsing logic from connectors to a common class
  • [Pull 5101] - [grizzly] Expose `start` argument while providing `parentContext`
  • [Pull 5105] - Support CompletionStage
  • [Pull 5109] - Abort JettyRequest when the response Future is completed exceptionally
  • [Pull 5111] - FISH-5723 Fixes WebappClassloader memory-leak issue by removing JAXRS…
  • [Pull 5114] - Change JettyConnector 'readTimeout' behavior to match socket read tim…
  • [Pull 5122] - Fix OSGi headers for CDI & MP Jersey modules to be compatible with EE8
  • [Pull 5124] - Support JDK19
  • [Pull 5127] - Eclipse Dash license check profile
  • [Pull 5132] - Mark jaxrs-ri bundle as multi-release
  • [Pull 5137] - Fix test issues
  • [Pull 5139] - Additional OSGi headers
  • [Pull 5145] - Updated JettyClientProperties#TOTAL_TIMEOUT related documentation.
  • Source code(tar.gz)
    Source code(zip)
  • 3.0.8(Sep 2, 2022)

  • 3.0.7(Sep 1, 2022)

  • 3.0.6(Aug 5, 2022)

  • [Issue 5087] - Dependency convergence in 3.0.5
  • [Issue 5093] - SpringComponentProvider in jersey-spring6 never binds components
  • [Pull 5092] - extend maven-enforcer-plugin rules set with dependencyConvergence rule
  • [Pull 5102] - FISH-5723 Fixes WebappClassloader memory-leak issue by removing JAXRSResources classes from cache on shutdown event
  • Source code(tar.gz)
    Source code(zip)
  • 3.0.5(Jun 15, 2022)

  • 2.36(Jun 14, 2022)

  • [Issue 4781] - Bug Report: CDI tries to instantiate interface (Jersey 2.30)
  • [Issue 4851] - NettyConnectorProvider (jersey-netty-connector) is throwing an exception with inactive_pooled_connection_handler error
  • [Issue 4897] - Add support for Apache HTTP Client 5.x
  • [Issue 4978] - Netty Connector proxy handler to support JDK's options
  • [Issue 5014] - Redact HTTP headers on LoggingFeature
  • [Issue 5036] - ClassCastException if loaded by different class loaders in OSGi runtime
  • [Issue 5052] - Make JacksonFeature configurable
  • [Pull 4812] - Remove com.sun.org.apache.xml.internal
  • [Pull 4847] - Bug Report: CDI tries to instantiate interface (Jersey 2.30)
  • [Pull 4854] - NettyConnectorProvider (jersey-netty-connector) is throwing an except…
  • [Pull 4886] - Update Directory Maven Plugin to work with maven 3.8.x
  • [Pull 4887] - modulelist maven plugin refactoring
  • [Pull 4918] - Better handling of MicroProfile Rest Client Proxies
  • [Pull 4924] - Refactor processResponseError in ServerRuntime
  • [Pull 4928] - Adopt Jackson 2.13
  • [Pull 4933] - Replace usage of deprecated beanManager.createInjectionTarget
  • [Pull 4939] - Prevent loading Feature/DynamicFeature services multiple times.
  • [Pull 4948] - Add OSGi headers to MP Config module
  • [Pull 4950] - Apache httpclient 5
  • [Pull 4954] - Cache a lazy reference to OSGi registry instance
  • [Pull 4957] - Fix OSGi tests on JDK 17
  • [Pull 4962] - convert Long,long,Integer,int values to Long/Integer types
  • [Pull 4967] - extended condition not to add the content-length header negative
  • [Pull 4968] - Enable percent encoding servlet context path and servlet path
  • [Pull 4969] - Exclude unix protocols from request processing in closing strategy
  • [Pull 4972] - fix broken license url for asm objectweb
  • [Pull 4975] - Fix broken license url for asm objectweb for core-server
  • [Pull 4980] - Remove innate packages from javadoc documentation
  • [Pull 4982] - Allow for passing in additional property files to configure additional configs
  • [Pull 5003] - Fix logging delimiter parameterization
  • [Pull 5007] - Fix regression on LoggingFeature's max entity size
  • [Pull 5010] - honor @Vetoed on a bean
  • [Pull 5018] - Update Xerces to prevent CVEs
  • [Pull 5024] - Fixed NullpointerException when getting methodtree
  • [Pull 5025] - Redact HTTP headers on LoggingFeature
  • [Pull 5028] - Enhancement for docprocessor
  • [Pull 5032] - Adopt spring 5.3.18
  • [Pull 5034] - Update Netty to 4.1.75
  • [Pull 5035] - Blocked thread if WebApplicationException is reused. #4097
  • [Pull 5038] - reduce usage of Guava
  • [Pull 5039] - Release MessageBodyWorkers when Response gets closed.
  • [Pull 5041] - Adopt ASM 9.3
  • [Pull 5044] - Do not trim stacktrace in case of an exception
  • [Pull 5046] - Support null PROXY_USERNAME
  • [Pull 5048] - Netty Connector doesn't support Followredirects
  • [Pull 5051] - For OSGi services lookup use only classes assignable from service class
  • [Pull 5055] - Updated documentation and javadoc for Connectors
  • [Pull 5059] - Add Apache 5 connector to client tests
  • [Pull 5060] - Update hamcrest to the latest
  • [Pull 5068] - Prevent LoggingFeature timeout on context#hasEntity for HEADERS_ONLY
  • [Pull 5070] - Remove Spring 4 from Bom pom
  • [Pull 5071] - Update Netty proxy settings
  • [Pull 5074] - Make JacksonFeature configurable
  • [Pull 5076] - Update Jackson to 2.13.3
  • [Pull 5078] - Dependencies versions update
  • Source code(tar.gz)
    Source code(zip)
  • 3.0.4(Feb 9, 2022)

  • 3.0.3(Sep 22, 2021)

  • 2.35(Sep 6, 2021)

  • [Issue 4742] - Connection timeout the double of what is configured
  • [Issue 4748] - Exception in Jersey Jetty handler's URL parsing bubbles up to the top
  • [Issue 4773] - NullPointerException in HeaderUtils.getPreferredCookie
  • [Pull 4779] - Enable to use @Context in constructors of classes instantiated by CDI
  • [Pull 4783] - Support more optionals
  • [Pull 4784] - Bump commons-io from 2.2 to 2.7 in /test-framework/maven/custom-enforcer-rules
  • [Pull 4785] - JDK16 Support
  • [Pull 4789] - Make @Singleton to be singleton with CDI integration
  • [Pull 4792] - Update groovy to work with jdk17
  • [Pull 4795] - Fix issue NullPointerException in HeaderUtils.getPreferredCookie #4773
  • [Pull 4799] - Support custom parameter types with `Optional`
  • [Pull 4800] - Helloworld example extendned by GraalVM native-image generation
  • [Pull 4802] - User Guide: GraalVM/native-image chapter
  • [Pull 4803] - GraalVM native-image jersey-client module
  • [Pull 4809] - handle URISyntaxException in JettyHttpContainer
  • [Pull 4811] - Connection timeout the double of what is configured
  • [Pull 4816] - CI env for Jenkins
  • [Pull 4820] - CI env for Jenkins
  • [Pull 4821] - Jdk connector dead lock
  • [Pull 4822] - New CDI based EE injection manager incubating implementation.
  • [Pull 4823] - Issue4810
  • [Pull 4824] - JerseyTest is not compatible with JUnit 5
  • [Pull 4829] - ParamConverters cleanup
  • [Pull 4832] - Bump ant from 1.10.9 to 1.10.11
  • [Pull 4833] - Allow Feature and Dynamic feature as a JDK services
  • [Pull 4835] - Prevent NoSuchMethodError when used MP Rest Client 1.4 API & CDI
  • [Pull 4836] - Updated ASM to 9.2
  • [Pull 4837] - add possibility to use entity with http method Options in requests according to the RFC 7231
  • [Pull 4845] - Cache Application#getSingletons not be called twice
  • [Pull 4846] - Updated versions in 2.x
  • [Pull 4848] - System properties config for TimeWindowStatisticsImplTest
  • Source code(tar.gz)
    Source code(zip)
  • 3.0.2(Apr 29, 2021)

  • 2.34(Apr 20, 2021)

  • [Issue 4646] - Jetty connector client response buffer is hard limited to 2MB
  • [Issue 4649] - SseEventSource cannot see the JAXRS_DEFAULT_SSE_BUILDER in OSGI
  • [Issue 4651] - Add a ParamConverterProvider for java.util.Optional parameters
  • [Issue 4654] - MicroProfile Rest Client 2.0 support
  • [Issue 4665] - Hk2RequestScope.Instance logger is not static
  • [Issue 4678] - JdkConnectorProvider cannot parse Set-cookie header value when expires attribute is present
  • [Issue 4683] - Setting ExecutorService causes connection leak
  • [Issue 4694] - NettyConnector fixups
  • [Issue 4717] - Add tests for newly updated Jersey classes by RestClient
  • [Issue 4722] - Jersey 3.0.1 no longer defaults to */* consumes
  • [Issue 4723] - Jackson module auto-discovery sets Jaxb Annotation Introspector as primary
  • [Issue 4734] - Print request/response logs in a single line
  • [Pull 4618] - Groovy jdk 16
  • [Pull 4639] - Chapter for Expect:100-continue header (client)
  • [Pull 4647] - Add support RFC 5987 for attribute filename* in HTTP header Content-Disposition
  • [Pull 4662] - #4658 Apache HttpComponents upgrade
  • [Pull 4675] - Make logger static into Hk2RequestScope.Instance class
  • [Pull 4677] - Jetty synchronous max buffer size property
  • [Pull 4680] - 2.x apidocs bundle generation fixes
  • [Pull 4681] - JdkConnectorProvider cannot parse Set-cookie header value when expires
  • [Pull 4682] - Public SseEventSourceBuilder implementation
  • [Pull 4684] - Add a ParamConverterProvider for array support
  • [Pull 4690] - Add a ParamConverterProvider for java.util.Optional parameters
  • [Pull 4695] - Allow for having CDI on pure Jersey Client without Jersey Server
  • [Pull 4697] - Stop filling monitoring queues when processor fails
  • [Pull 4699] - MicroProfile Rest Client 2.0 support
  • [Pull 4704] - Updated javadoc maven plugin API link
  • [Pull 4705] - Do not create a connector multiple times for each rx() call
  • [Pull 4707] - Configurable COLLISION_BUFFER_POWER
  • [Pull 4710] - Adjusting Jersey archetypes
  • [Pull 4712] - switching to NIO tmp file creation approach
  • [Pull 4714] - update maven-antrun-plugin to 3.0.0
  • [Pull 4716] - Custom schedulers to execute @PreDestroy methods
  • [Pull 4720] - Updating ant to 1.10.9 for antrun plugin
  • [Pull 4724] - Rest client 2.0 updates
  • [Pull 4728] - Add a wildcard @Produces and @Consumes...
  • [Pull 4729] - Empty/NULL properties handling
  • [Pull 4731] - processing order for Jackson/Jaxb annotations
  • [Pull 4732] - adjusting examples to be run with optional JAXB
  • [Pull 4745] - Logging delimiter parametrized
  • [Pull 4749] - Allow to use @Inject instead of @Context with CDI
  • [Pull 4753] - Proper handling of chunked input streams in LoggingInterceptor
  • [Pull 4754] - Adopt ASM 9.1 to support JDK 17
  • [Pull 4758] - Adopted Jackson 2.12.2. No change in repackaged Jackson.
  • [Pull 4762] - Replace null Configuration in ContainerRequest with an empty instance
  • [Pull 4764] - Lazy synchronized SSL Context initialization in the HttpUrlConnector
  • [Pull 4766] - Add a default Enum MB provider.
  • [Pull 4769] - Updated properties for netty connection pooling
  • [Pull 4770] - Javadoc for non-public classes (cdi-rs-inject)
  • Source code(tar.gz)
    Source code(zip)
  • 3.0.1(Jan 27, 2021)

  • [Issue 4655] - org.glassfish.jersey.containers:jersey-container-jetty-http:3.0.0 Unusable on JDK11+
  • [Pull 4633] - Documentation and example fixes related to jakartification
  • [Pull 4635] - Jakartified OSGi tests
  • [Pull 4653] - Jakartified User Guide - first 10 chapters
  • [Pull 4656] - Jakartified User Guide - second 10 chapters
  • [Pull 4657] - Jakartified User Guide - final 10 chapters with appendix-properties adjusted
  • [Pull 4667] - JakartaEE 9.0 namespaces applied to examples
  • [Pull 4668] - Jakartified heroku archetype
  • [Pull 4674] - Merge of the current master into jakartified branch
  • [Pull 4676] - jakartified modules.xml from User Guide
  • [Pull 4679] - Updated dependecies
  • [Pull 4691] - merge of current master into 3.x
  • [Pull 4696] - merge of actual master into 3.x
  • [Pull 4698] - merge of actual master into 3.x
  • [Pull 4700] - Jetty servlet container multirelease-jar fix
  • [Pull 4702] - Updated notice files
  • Source code(tar.gz)
    Source code(zip)
  • 2.33(Dec 18, 2020)

  • [Pull 4566] - Fix custom SSLSocketFactory not being set because of an unsafe lazy-initialization in JDK
  • [Pull 4573] - Support for SSL Configuration within JerseyTest
  • [Pull 4593] - Rest client inbound headers provider added
  • [Pull 4605] - Bump junit from 4.12 to 4.13.1
  • [Pull 4611] - Create PropertiesClass for external properties (http.proxyHost, http.proxyPort, http.nonProxyHosts)
  • [Pull 4612] - Adopt Jackson 2.11.3
  • [Pull 4613] - HttpUrlConnector extension
  • [Pull 4614] - NettyConnector connection close
  • [Pull 4615] - Allow for org.glassfish.jersey.servlet.ServletContainer in web.xml
  • [Pull 4623] - full clear of NettyInputStream
  • [Pull 4634] - Make JAX-B API optional
  • [Pull 4641] - Support for new property to ignore responses in exceptions thrown by the Client API
  • [Pull 4643] - Enable CompletionStage unwrap in MBW
  • [Pull 4648] - Keep ordering of classes and instances retrieved from ComponentBag
  • [Pull 4663] - Modify OSGi Jackson requirement to be compatible with GF 5.1
  • Source code(tar.gz)
    Source code(zip)
  • 3.0.0(Dec 3, 2020)

  • [Pull 4389] - Transition Jakarta REST API from javax to jakarta package
  • [Pull 4413] - Sync 3.x with master
  • [Pull 4417] - Remove Jackson1
  • [Pull 4427] - Update the RESTful Web Services API
  • [Pull 4428] - JAXB api/ri, parent pom versions update
  • [Pull 4444] - Additional JAX-RS & JAX-B jakartification for 3.0.0-M1
  • [Pull 4464] - Fix Jersey META-INF/services provider configuration file
  • [Pull 4488] - Prepared branch for Jersey 3.0.0-M3 release
  • [Pull 4494] - Jakartified.m4 master merge
  • [Pull 4495] - jakartification: servlet-api, grizzly
  • [Pull 4496] - Technical merge of released branch 3.0.0-M4-BRANCH
  • [Pull 4497] - Jakartification: arrange properties in the main pom
  • [Pull 4504] - Updated dependencies for M5
  • [Pull 4505] - Technical merge of released branch 3.0.0-M5-BRANCH
  • [Pull 4513] - version bump for JSONP
  • [Pull 4586] - Remove Jersey 3.x incompatible extension modules
  • [Pull 4589] - merge of master (2.32) into 3.x
  • [Pull 4591] - Enable tests after jakartified media
  • [Pull 4594] - Jakartified jetty (11.0.0.beta2)
  • [Pull 4595] - Use just the latest Weld and fix CDI-BV module
  • [Pull 4596] - Updated JTA and Yasson dependency
  • [Pull 4597] - Fix Jackson module
  • [Pull 4599] - Enable integration tests using new jetty plugin
  • [Pull 4609] - Jetty modules handled for JDK 1.8
  • [Pull 4616] - Weld integration
  • [Pull 4619] - Enable tests on JDK 8
  • [Pull 4620] - Enable jetty servlet/web container factory
  • [Pull 4621] - Make more integration tests working
  • [Pull 4622] - Fix CDI-SE module
  • [Pull 4626] - Make more tests and examples working
  • Source code(tar.gz)
    Source code(zip)
  • 3.0.0-RC2(Dec 3, 2020)

  • 3.0.0-RC1(Dec 18, 2020)

  • 2.32(Sep 25, 2020)

  • [Issue 4462] - InvocationInterceptors only used once when registered on a Client.
  • [Issue 4493] - ChunkedOutput race condition
  • [Issue 4500] - JerseyEventSink shouln't throw exceptions in Flow.Subscriber methods
  • [Issue 4501] - SSE Endpoint should be able to inject Flow.Subscriber
  • [Issue 4507] - Intermittent HK2 ServiceLocatorImpl has been shut down
  • [Issue 4522] - org.glassfish.jersey.logging.LoggingInterceptor.LoggingStream does not override write(byte[] b, int off, int len)
  • [Issue 4533] - “NoSuchMethodErrors” due to multiple versions of org.apache.maven:maven-artifact:jar
  • [Issue 4536] - Missing Expect header and 100-continue handling in Jersey Client
  • [Issue 4538] - Features are executed in random order
  • [Issue 4542] - Loose dependency in CompositeInjectingConstraintValidatorFactory
  • [Issue 4548] - Netty connector timeouts are not heeded
  • [Pull 4485] - Note the subscription to email list and Twitter link in Readme
  • [Pull 4498] - Fix resources in containers
  • [Pull 4502] - Added Documentation for JSON-B support
  • [Pull 4503] - SSE Flow.Subscriber injectable as event sink
  • [Pull 4506] - Clean unused dependencies
  • [Pull 4508] - Fix intermittent premature ClientRuntime finalization
  • [Pull 4511] - Fixed HK2 AbstractActiveDescriptor Test
  • [Pull 4512] - project-info plugin configuration
  • [Pull 4514] - Implemented ClientBuilderListener
  • [Pull 4520] - Test Gzip + JSP
  • [Pull 4523] - Response.hasEntity to return true if buffered after readEntity
  • [Pull 4525] - Allow concurrent Exception to be unwrapped for the ExceptionMapper
  • [Pull 4526] - Regexp on MP RestClient @Path
  • [Pull 4528] - Support TLSv1.3
  • [Pull 4531] - Fix #4522 - override write method in LoggingStream
  • [Pull 4540] - Allow for specifying Feature processing order
  • [Pull 4541] - Make Kryo use setRegistrationRequired(true) by default
  • [Pull 4543] - Rest client update to version 1.4.1
  • [Pull 4559] - Updating maven-javadoc-pugin to 3.2.0
  • [Pull 4561] - JAX-RS link fixes (new apidocs location)
  • [Pull 4567] - updateing dependencies for jersey-doc-modulelist-maven-plugin
  • [Pull 4569] - Use Helidon Connector from Helidon
  • [Pull 4571] - Prevent race condition in ChunkedOutput
  • [Pull 4574] - Fix issue with optional CDI in BV module
  • [Pull 4576] - Expect:100-Continue header handling
  • [Pull 4577] - RestClientListener call switched
  • [Pull 4578] - TimeOut property for Netty Connector
  • [Pull 4579] - attributeValue NPE handling
  • [Pull 4580] - Put Helidon Properties file back
  • [Pull 4581] - Support Apache HttpEntity as an entity type when using Apache Connector
  • [Pull 4582] - Add Helidon module to bom pom and remove Jackson 1
  • Source code(tar.gz)
    Source code(zip)
  • 3.0.0-M6(Jun 22, 2020)

  • 3.0.0-M5(Jun 22, 2020)

    Brought in the latest Jakarta EE 9 dependencies (compared to 3.0.0-M4):

    • CDI API:jakarta.enterprise:jakarta.enterprise.cdi-api:3.0.0-M4
    • EJB API, jakarta.ejb:jakarta.ejb-api:4.0.0-RC2
    • HK2 API: org.glassfish.hk2:hk2-api:3.0.0-M2
    • Inject: jakarta.inject:jakarta.inject-api:2.0.0-RC4
    • JAX-B API: jakarta.xml.bind:jakarta.xml.bind-api:2.0.0-RC4
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-M4(Jun 22, 2020)

    Bringing more APIs from Jakarta EE 9 effort (compared to 3.0.0-M3):

    • Grizzly 3: org.glassfish.grizzly::3.0.0-M1
    • JAX-B API: jakarta.xml.bind:jakarta.xml.bind-api:2.0.0-RC3
    • Servlet API: jakarta.servlet:jakarta.servlet-api:5.0.0-M1
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-M3(Jun 22, 2020)

    Compared to 3.0.0-M2, new dependencies from Jakarta EE 9 effort were added:

    • EJB API, jakarta.ejb:jakarta.ejb-api:4.0.0-RC1
    • EL. jakarta.el:jakarta.el-api:4.0.0-RC1
    • Istack commons, com.sun.istack:istack-commons-runtime:4.0.0-M3
    • Interceptor, jakarta.interceptor:jakarta.interceptor-api:2.0.0-RC2
    • JPA API, jakarta.persistence:jakarta.persistence-api:3.0.0-RC2
    • JSON-B API, jakarta.json.bind:jakarta.json.bind-api:2.0.0-RC1
    • JSON-P API, org.glassfish:jakarta.json:2.0.0-RC2
    • JSP API, jakarta.servlet.jsp:jakarta.servlet.jsp-api:3.0.0-M1
    • JSTL API, jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:2.0.0-RC1
    • JTA API, jakarta.transaction:jakarta.transaction-api:2.0.0-RC1
    Source code(tar.gz)
    Source code(zip)
  • 2.31(May 25, 2020)

  • [Issue 4362] - Upgrade Hibernate Validator to 6.1.0.Final
  • [Issue 4458] - ApacheConnector force the useSystemProperties flag to false
  • [Pull 4375] - Fixed #3801 - inject cdi into custom validator
  • [Pull 4414] - Use standard pom.xml structure in tests/integration/microprofile
  • [Pull 4415] - Use request scope ClientProperties.READ_TIMEOUT in Jetty && Netty
  • [Pull 4419] - Allow to use HeaderDelegateProvider to parse the response MediaType
  • [Pull 4425] - Updated GF, Jetty, Mimepull, Moxy, Yasson dependencies
  • [Pull 4426] - Support jdk15
  • [Pull 4429] - Make sure the RX invoker gets ExecutorService from Provider
  • [Pull 4431] - Adopt ASM 8.0
  • [Pull 4432] - Upgraded bean validation to 6.1.2.Final
  • [Pull 4438] - Fix jersey examples
  • [Pull 4441] - Fix some build warnings and a multithread warning, when building with…
  • [Pull 4442] - JerseyInvocation should override toString()
  • [Pull 4447] - feat: allow json-jackson to auto-discover modules
  • [Pull 4450] - When no JAX-B RI on CP warn and disable WADL
  • [Pull 4453] - jersey-2031
  • [Pull 4459] - Activate useSystemProperties into ApacheConnector (#4458)
  • [Pull 4460] - Offer the Client (partial) response in ProcessingException.
  • [Pull 4461] - Allow the user for overriding the default Viewable MediaType
  • [Pull 4466] - Updated NOTICE files and regarding legal information
  • [Pull 4467] - Be able to use invocation interceptor for multiple requests
  • [Pull 4469] - ClientDestroyTest fix
  • [Pull 4471] - Run tests with JDK11 in servlet-2.5-mvc-1
  • [Pull 4472] - Set additional security features on SecureSaxParserFactory.
  • [Pull 4473] - Execute tests in servlet-2.5-mvc-3
  • [Pull 4475] - Set Bundle-ActivationPolicy on core-common module
  • [Pull 4477] - Connector to Helidon 2 Web Client
  • [Pull 4482] - javadoc fix for helidon connector
  • [Pull 4483] - Moved localization messages to a proper folder
  • Source code(tar.gz)
    Source code(zip)
  • 3.0.0-M2(Jun 19, 2020)

    Another step towards Jakarta EE 9 release. Used additional Jakarta EE9 APIs (compared to 3.0.0-M1):

    • jakarta.inject:jakarta.inject-api:2.0.0-RC3
    • jakarta.validation:jakarta.validation-api:3.0.0-M1
    • jakarta.enterprise:jakarta.enterprise.cdi-api:3.0.0-M2
    • org.glassfish.hk2:hk2-api:3.0.0-M1
    Source code(tar.gz)
    Source code(zip)
  • 3.0.0-M1(Jun 19, 2020)

    First effort towards Jakarta EE 9 release. We have updated Jakarta EE 9 version of the following APIs:

    • jakarta.activation:jakarta.activation-api:2.0.0-RC3
    • jakarta.annotation:jakarta.annotation-api:2.0.0-RC1
    • jakarta.xml.bind:jakarta.xml.bind-api:2.0.0-RC2
    • jakarta.ws.rs:jakarta.ws.rs-api:3.0.0-M1
    Source code(tar.gz)
    Source code(zip)
  • 2.30.1(Mar 2, 2020)

  • [Issue 4369] - NettyConnectorProvider (jersey-netty-connector) doesn't send query parameters in the Get Request
  • [Issue 4380] - Jersey 2.30 does not work on JDK 11
  • [Issue 4388] - Jerey 2.30 breaks HK2 AbstractBinder injection in Features
  • [Pull 4339] - Adopt Jackson 2.10.1
  • [Pull 4364] - Updated checkstyle plugin to latest 3.1.0
  • [Pull 4366] - Multi release sources
  • [Pull 4371] - Jersey Configuration documentation
  • [Pull 4373] - Fixed stacktraces caused by incorrect JNDI lookup
  • [Pull 4376] - [#3651] Broken links in examples README files
  • [Pull 4377] - [#3726] Typo in preface
  • [Pull 4378] - [#3720] Incorrect method in the documentation
  • [Pull 4386] - Fix #4380 - Jersey 2.30 does not work on JDK 11
  • [Pull 4387] - netty connector/container modifications
  • [Pull 4390] - Fix #3433 - Multiple cookies with same name are not supported
  • [Pull 4393] - Query parameters were not included in netty URI
  • [Pull 4394] - Allow HK2 AbstractBinder class to bind before the Feature is called
  • [Pull 4396] - Preparation for GF 6
  • Source code(tar.gz)
    Source code(zip)
  • 2.30(Jan 14, 2020)

  • [Issue 4245] - Java 11 java.desktop module dependency
  • [Issue 4256] - HK2 AbstractBinders are configured twice
  • [Issue 4266] - Fix HeaderDelageProvider functionality
  • [Issue 4294] - Inefficient access of LinkedList in Resource$Builder.mergeResources
  • [Issue 4302] - Jetty 9.4.22 QueuedThreadPool compatibility
  • [Issue 4304] - ResourceConfig not properly using specified ClassLoader
  • [Issue 4325] - Build Jersey on JDK13
  • [Issue 4336] - Allow to use a connector with RESTClient
  • [Issue 4344] - Jersey 2.29 AbstractBinder.configure() called twice
  • [Pull 4254] - Wiremock does not run now when skipTests property is set as true
  • [Pull 4258] - Loading keystore resource if location starts with /
  • [Pull 4260] - Jersey documentation scripts
  • [Pull 4268] - Use locale insensitive case changes to ensure user code doesn't break…
  • [Pull 4271] - Do not handle already handled requests on Jetty
  • [Pull 4272] - AsyncInvocationinverceptors not properly created for each request
  • [Pull 4273] - DocBook fixes
  • [Pull 4274] - JsonBindingProvider provides JSON-B (not Jackson)
  • [Pull 4275] - Throwing NoContentException when InputStream is empty
  • [Pull 4276] - Allow for using HeaderDelegateProvider service
  • [Pull 4277] - HK2 to skip fields injected by CDI in non bean-defining-annotated beans
  • [Pull 4279] - Update ASM to 7.2
  • [Pull 4280] - Move CDI integration tests to a common CDI-Integration module
  • [Pull 4283] - Enable to use AsyncInvoker in Rx client
  • [Pull 4290] - release notes maven plugin (for Jersey)
  • [Pull 4291] - Ignore tests of container-runner-maven-plugin on Windows
  • [Pull 4292] - Assure that exception in async interceptor doesn't prevent completion
  • [Pull 4296] - exclude javax.validation-api from bean validation dependency
  • [Pull 4298] - Take Hk2CustomBoundTypesProvider into an account
  • [Pull 4300] - Performance improvement in Resource.Builder#mergeResources
  • [Pull 4301] - New client PreInvocationInterceptor and PostInvocationInterceptor SPI
  • [Pull 4303] - Make JettyConnectorThreadPool#newThread public to comply with latest Jetty
  • [Pull 4306] - Fixes #4304: ResourceConfig not properly using specified ClassLoader
  • [Pull 4307] - Use Spring Context 4 in the Spring integration test
  • [Pull 4309] - Spring 5 integration tests
  • [Pull 4312] - Rewritten Netty Jersey implementation using direct ByteBuf consumption
  • [Pull 4313] - new InvocationBuilderListener SPI
  • [Pull 4314] - Override HK2 dependency versions with versions used in Jersey
  • [Pull 4317] - Added deprecated methods back to retain backwards compatibility
  • [Pull 4318] - Close SseEventSink at the end of the example
  • [Pull 4327] - Allow to use additional properties with security manager/4323
  • [Pull 4338] - Fix issues with ChunkedInputStream when using Apache Connector
  • [Pull 4341] - Build Jersey on JDK13
  • [Pull 4342] - Allow to disable certain default providers
  • [Pull 4347] - ConnectorProvider support added to mp rest client
  • [Pull 4349] - Prevent HK2 AbstractBinder from being configured twice.
  • [Pull 4350] - Updated versions of 3rd party content
  • [Pull 4352] - Replace an Exception thrown with BAD_REQUEST
  • [Pull 4353] - OSGI groupId fix
  • [Pull 4358] - initialize legal.source.folder property by plugin
  • [Pull 4359] - Fix check style
  • [Pull 4360] - Legal files for common
  • [Pull 4361] - Properties and plugin change of examples module for legal files
  • Source code(tar.gz)
    Source code(zip)
  • 2.29.1(Sep 13, 2019)

    Issues and Pull Requests

    • [Pull 4243] - Fixes #4239 MediaType in method parameter not overridden by annotation
    • [Pull 4240] - Jakarta api integration
    • [Pull 4238] - Provide an Apache HttpClientBuilder configuration callback
    • [Pull 4236] - Issue 4208 - Fails to inject SecurityContext into Helloworld-CDI2-SE example
    • [Pull 4235] - Fix issue with OSGi when having package name starting with "class"
    • [Pull 4234] - Updated HK2 version
    • [Pull 4233] - Enable Spring4 integration test again
    • [Pull 4227] - Using configured executor service for client.
    • [Pull 4225] - Add an option to not register the Jackson's ExceptionMappers by JacksonFeature
    • [Pull 4224] - Upgrade of MP Rest client to 1.3.3.
    • [Pull 4222] - Fix NettyInputStream ByteBuf leak
    • [Pull 4221] - Better specify HK2 and Spring dependencies
    • [Issue 4214] - Jersey with Jackson exposes that fact to a potential attacker sending misformed JSON data
    • [Pull 4212] - Update Apache HTTP Client to 4.5.9
    • [Pull 4206] - Fixed: Various bugs in Helloworld CDI SE Example
    • [Pull 4204] - Prevent race condition in entity filtering
    • [Pull 4203] - Removed invalid email addresses
    • [Pull 4202] - Added support for Apache HTTP Client ConnectionKeepAliveStrategy and ConnectionReuseStrategy
    • [Pull 4201] - Upgrade jetty to version 9.4.17.v20190418
    • [Issue 4200] - JacksonFeature ExceptionMappers leaks implementation details
    • [Issue 4189] - Jersey Entity Filter Threads Racing issue leads to Corrupted Entity Graph and Object Graph
    • [Issue 4187] - Race condition in EntityFiltering
    • [Issue 4184] - Spring5 missing in BOM
    • [Pull 4178] - Fixes #3997 : Make SupplierFactoryBridge thread-safe.
    • [Issue 4177] - OsgiRegistry classToBundleMapping does not store classes for packages containing .class correctly
    Source code(tar.gz)
    Source code(zip)
Owner
Eclipse EE4J
The Eclipse EE4J Project
Eclipse EE4J
RESTEasy is a JBoss project that provides various frameworks to help you build RESTful Web Services and RESTful Java applications

RESTEasy RESTEasy is a JBoss.org project aimed at providing productivity frameworks for developing client and server RESTful applications and services

RESTEasy 1k Dec 23, 2022
Java implementation of our paper: Efficient Private Set Intersection Cardinality inthe Reverse Unbalanced Setting Utilizing Hash-Prefix Filter

PSI-CA-Framework This is the Java implementation of our paper: Efficient Private Set Intersection Cardinality inthe Reverse Unbalanced Setting Utilizi

IamGroot 4 Dec 30, 2022
:rocket: Lightning fast and elegant mvc framework for Java8

Based on Java8 + Netty4 to create a lightweight, high-performance, simple and elegant Web framework ?? Spend 1 hour to learn it to do something intere

Blade Framework 5.7k Dec 28, 2022
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
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
:rocket: Lightning fast and elegant mvc framework for Java8

Based on Java8 + Netty4 to create a lightweight, high-performance, simple and elegant Web framework ?? Spend 1 hour to learn it to do something intere

Blade Framework 5.7k Jan 5, 2023
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
☄️ LiteCommands - Command framework for Velocity and your other implementations.

☄️ LiteCommands Command framework for Velocity and your other implementations. Helpful links: Support Discord GitHub issues Panda Repository (Maven or

Norbert Dejlich 38 Dec 1, 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
Spring Framework

Spring Framework This is the home of the Spring Framework: the foundation for all Spring projects. Collectively the Spring Framework and the family of

Spring 50.4k Jan 9, 2023
Play Framework

Play Framework - The High Velocity Web Framework The Play Framework combines productivity and performance making it easy to build scalable web applica

Play Framework 12.3k Dec 29, 2022
The Grails Web Application Framework

Build Status Slack Signup Slack Signup Grails Grails is a framework used to build web applications with the Groovy programming language. The core fram

grails 2.7k Jan 5, 2023
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
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
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