Skip to content

Road Map

jansupol edited this page Nov 11, 2022 · 41 revisions

Both Jersey 2 (javax compatible) & Jersey 3 (jakarta compatible) branches are being developed at a time:

Released 2.x (EE8 - javax compatible):

  • Jersey 2.37 Sep 2022
    • Support GSON JSON media (jersey-media-json-gson)
    • Support CompletionStage<Response>
    • Additional Jetty client properties
    • OSGi support for Jetty & Netty client, cdi-rs-inject, jersey-media-kryo, and jersey-declaratove-linking modules.
    • Proxy support for the default HttpUrlConnector.
  • Jersey 2.36 Jun 2022
    • Apache HTTP Client 5.x support
    • Ability to redact HTTP headers on LoggingFeature
    • JacksonFeature configurable to enable and disable certain Jackson modules
    • Jackson Adopt Jackson 2.13.3 support
    • JDK 19 support
    • Netty Connector follow-redirects support
    • Netty Connector HTTP proxy support
    • Netty Connector proxy handler to support JDK's options
  • Jersey 2.35 September 2021
    • JDK 17 support
    • Native image support for core Jersey modules
    • Jersey Test JUnit 5 support
    • Optional support in Path/Query/.../Param
    • First Beta incubating module for supporting CDI InjectionManager without HK2 in EE environment
    • Support for Feature & Dynamic feature as a JDK service (requirement for Jakarta REST 3.1)
  • Jersey 2.34 April 2021
    • CDI injection works on a client
    • @Inject can be used instead of @Context for JAX-RS interfaces in conjunction with jersey-cdi-rs-inject module
    • Microprofile REST Client 2.0
    • Smaller Jersey monitoring fixes
    • Adopted ASM 9.1, partial JDK 17 support
    • Multipart supports RFC 5987 filename attributes
    • ParamConverter support for Arrays, Optional
    • Fixes CVE-2021-28168
  • Jersey 2.33 - The release using the old javax.ws.rs API, December 2020
    • Adopted ASM 9.0.
    • Adopted Jackson 2.11.
    • Made JAX-B API dependency optional.
    • Minor fixes and improvements.
  • Jersey 2.32 - The release using the old javax.ws.rs API, September 2020
    • new ClientBuilderListener SPI that allows for setting properties as a first thing before the Client is created.
    • MP RestClient allows regexps on @Path of REST interfaces
    • Update MP Rest Client support to 1.4.1
    • It is possible to define priority on Features, to guarantee the order of Feature processing
    • Kryo uses setRegistrationRequired(true) by default
    • Updated support for Helidon 2.0.2 Connector
    • Allows using Apache HttpEntity as an Entity type for the request
    • Feature that allows for Http 100 usage using the new Expect100ContinueFeature using the default HttpUrlConnector
    • Better settings of READ_TIMEOUT and connection pool constraint for NettyConnector
  • Jersey 2.31 - The release using the old javax.ws.rs API, May 2020
    • JDK 14, JDK 15 support.
    • Connector for Helidon Web Client.
    • Tighten Security on JAXB SaxParserFactory.
    • Automatically Disable WADL when JAXB not on the classpath.
    • READ_TIMEOUT settable per request for Jetty & Netty connectors.
    • Apache connectors able to use System properties
    • Improved documentation
    • Updated dependencies.
  • Jersey 2.30.1 - February 2020. The main changes include:
    • Fix Jersey with JDK 11 (JDK 8, JDK12, and JDK13) worked fine with 2.29
    • Fix HK2 AbstractBinder injection in Features
    • Netty Connector allows for reusing Netty Channels
    • When multiple Cookies with the same name are used, the one that is not expired is used.
  • Jersey 2.30 - January 2020. The improvements include:
    • HeaderDelegateProvider functional (again)
    • HK2 skips @Inject fields (with CDI extension module) unless declared by HK2CustomBoundsTypeProvider
    • HK2 AbstractBinder fix not to be invoked twice
    • Update to Jetty, Netty and Apache Connectors
    • added PreInvocationInterceptor and PostInvocationInterceptor SPI
    • added InvocationBuilderListener SPI
    • Jersey works with JDK 13
  • Jersey 2.29.1 - Jakarta RESTful Web Services 2.1.6 compliant, September 2019 The changes include:
    • Microprofile Rest Client 1.3.1 support
    • Update to Apache connectors - allows for richer configuration
  • Jersey 2.29 - Release of fixes provided by the community as well as new features, June 2019. The features include:
    • Possibility to pass Configuration properties from the environment variables or a config file
    • Microprofile Rest Client 1.2 support
    • Update to Jetty connectors - based on feedback in the issue tracker, connectors should allow for richer configuration
    • JDK 11 support
    • Possibility to use HK2 AbstractBinder again
    • Spring 5 module
  • Jersey 2.28 - The initial release, contains updated dependencies and new licenses, January 2019.

Released 3.1.x (Jakarta EE10):

  • Jersey 3.1.0
    • Jakarta EE 10 compatible final release
    • Better @Inject support of Jakarta REST classes
    • Fixed Container#reload not to log an exception regarding HK2 restart
    • Updated dependencies to EE 10 APIs and related implementations
    • Updated ASM to 9.4 for JDK 20 support
  • Jersey 3.1.0-M8:
    • OSGi header updates
  • Jersey 3.1.0-M7:
    • Updated dependencies
    • Apache HTTP Client 5.x Connector
    • JDK 11 (java.net.http aka jnh) HTTP Client Connector (jersey-jnh-connector)
    • Ability to redact HTTP headers on LoggingFeature
    • JacksonFeature configurable to enable and disable certain Jackson modules
    • Jackson Adopt Jackson 2.13.3 support
    • JDK 19 support
    • Netty Connector follow-redirects support
    • Netty Connector HTTP proxy support
    • Netty Connector proxy handler to support JDK's options
    • Helidon Connector support is back
    • MP Config support is updated to 3.0
    • MP Rest Client support is back
    • Spring 6 support
  • Jersey 3.1.0-M3:
    • Compliant version compatible with Jakarta REST 3.1
    • Changes in default ports of SeBootstrap - 80 & 443 changed for 8080 & 8443
  • Jersey 3.1.0-M2:
    • Support Jakarta EE 10 dependencies (Servlet 6, CDI 4)
  • Jersey 3.1.0-M1:
    • MP REST Client 3.0 support
    • Jackson 2.13 support & Jackson JAX-B/3 Annotations
    • Optionally disallow HTTP requests without a media type (/) to match any @Consumes
    • @ApplicationPath support in the non-servlet deployments
    • Add BeanParam support to WebResourceFactory of Jersey proxy-client
    • Jakarta REST bootstrap API included.
    • EntityPart implementation
    • Microprofile REST Client implementation is back
    • A mandatory default ExceptionMapper provided
    • JSON-B impl replaced with Parsson dependency

Released 3.x (Jakarta EE9):

  • Jersey 3.0.8 - Sep 2022
    • OSGi support for cdi-rs-inject module.
  • Jersey 3.0.7 - Aug 2022
    • Service release
  • Jersey 3.0.6 - Aug 2022
    • Support GSON JSON media (jersey-media-json-gson)
    • Proxy support for the default HttpUrlConnector.
    • Support CompletionStage<Response>
  • Jersey 3.0.5 - Jun 2022
    • The notable features inherited from 2.36:
      • Apache HTTP Client 5.x support
      • Ability to redact HTTP headers on LoggingFeature
      • JacksonFeature configurable to enable and disable certain Jackson modules
      • Jackson Adopt Jackson 2.13.3 support
      • JDK 19 support
      • Netty Connector follow-redirects support
      • Netty Connector HTTP proxy support
      • Netty Connector proxy handler to support JDK's options
    • The notable features in 3.0.5:
      • Helidon Connector support is back
      • MP Config support is updated to 3.0
      • MP Rest Client support is back
      • Spring 6 support
  • Jersey 3.0.4 - February 2022
    • MP REST Client 3.0 support
    • Jackson 2.13 support & Jackson JAX-B/3 Annotations
    • Optionally disallow HTTP requests without a media type (/) to match any @Consumes
    • @ApplicationPath support in the non-servlet deployments (SE environment)
    • Add BeanParam support to WebResourceFactory of Jersey proxy-client
  • Jersey 3.0.3 - September 2021
    • A release in alignment with Jersey 2.35
  • Jersey 3.0.2 - April 2021
    • A release in alignment with Jersey 2.34
    • Better Jetty 11 support
    • CDI injection works on a client
    • @Inject can be used instead of @Context for JAX-RS interfaces in conjunction with jersey-cdi-rs-inject module
    • Smaller Jersey monitoring fixes
    • Adopted ASM 9.1, partial JDK 17 support
    • Multipart supports RFC 5987 filename attributes
    • ParamConverter support for Arrays, Optional
    • Fixes CVE-2021-28168
  • Jersey 3.0.1, January 2021
  • Jersey 3.0.0 Jakarta Restful Web Services 3.0.0 compliant release, November 2020.
    • jakarta.* package APIs supported
    • Jakarta EE 9 compatible implementation
    • All Jakarta EE 9 APIs dependencies are final
    • Fixed examples
  • Jersey 3.0.0-RC2
    • More updated dependencies,
    • Jackson module working,
    • Fixed Jetty 11 container support
  • Jersey 3.0.0-RC1
    • Updated dependencies,
    • Removed Jackson 1 module
    • Removed other non-supported modules using 3rd party code depending on old javax based API, such as Jackson, Spring, or Microprofile REST Client,
    • Made BV module working
  • Jersey 3.0.0-M6 - Another public milestone release, June 2020. Uses APIs based on the jakarta package that are part of the Jakarta EE 9 effort:
    • Bean Validation, CDI, HK2, JAX-B, JSON-B, JSON-P, JPA, JTA, JSP, Servlet,...
    • Jakarta EE 9 RESTful Web Services TCK passed
  • Jersey 3.0.0-{M2, M3, M4, M5} - Not considered public releases, since there are used non-publicly available milestone dependencies.
  • Jersey 3.0.0-M1 - The first milestone release, uses the new jakarta package based JAX-RS 3.0.0-M1 API, April 2020.
    • Also depends on jakarta annotation 2.0.0-RC1, and jakarta JAX-B 3.0.0-RC2 APIs. All other APIs are still javax package based.
    • JSON support does not work, Jackson, Yasson, and Moxy still depend on the old javax based JAX-RS API
    • Microprofile REST Client support does not work, it depends on javax based JAX-RS API.
    • Dropped Jackson1 support

Planned:

  • Jersey 2.38 - December 2022
    • Performance related
  • Jersey 3.2.0 - December 2022
    • JPMS for 3.1.x
  • Jersey 3.1.1

  • Jersey 4.0 - Jakarta REST 4.0 compliant release
    • Incompatible with Jakarta REST 3.x