Release Notes - Jersey 2.11
Release date: 23-Jul-2014
Highlights
Promoted Public Beta APIs
Several experimental Jersey APIs have matured enough and as such we have decided to promote them from
Beta status, namely:
These APIs are now part of the official public Jersey 2.x API.
Not closing provided streams in message body providers
Jersey is now preventing message body providers (MBR, MBW) from closing given input/output stream. With this change Jersey is enforcing the JavaDoc statements present in message body providers.
Jackson 1
We have reintroduced support for JSON processing via Jackson 1.x JSON provider (1.9.11). In order to use Jackson 1 in your application you need to add jersey-media-json-jackson1
module (+ its dependencies) to your class-path and register Jackson1Feature
in your application (server or client).
ClientLifecycleListener
Client-side providers (such asClientRequestFilter
s) implementing the new org.glassfish.jersey.client.ClientLifecycleListener
interface will be notified when
various lifecycle events occur. Currently client runtime initialization triggers the onInit()
method and client closing triggers onClose()
method.
Such providers implementing the ClientLifecycleListener
can be registered in a common way, e.g. into a JerseyClient
or JerseyWebTarget
instance, or into a (potentially) auto discoverable feature context.
Pull Requests
- [Pull 91] - Integrate Grizzly 2.3.16
- [Pull 90] - Make the method really search for the @Path annotation in the ancestor hierarchy
- [Pull 89] - Fix and test for JERSEY-2556
- [Pull 87] - Integrate Grizzly 2.3.14 and grizzly-http-client 1.8
- [Pull 84] - JERSEY-2495 and JERSEY-2059
- [Pull 78] - Fixed some documentation errors
- [Pull 77] - JERSEY-2471 Fix some javac type cast warnings
Bug
- [JERSEY-2059] - Spring Integration @Service, @Controller and @Repository support yields incorrect behavior
- [JERSEY-2421] - MultiPartFeature requires jersey-server to be on the class-path
- [JERSEY-2495] - jersey-spring3 fails to recognize Spring components with @Controller
- [JERSEY-2497] - No source injected for custom type in FormDataParam
- [JERSEY-2533] - Jersey 2.8 and JSONP with missing closing parenthese for JsonStructure
- [JERSEY-2548] - Authorization failed when url contains query
- [JERSEY-2549] - Singleton scoped Factory.dispose is not called
- [JERSEY-2553] - Jersey 2 does not accept java.util.Date as query param
- [JERSEY-2556] - JerseyUriBuilder.path should ignore synthetic methods
- [JERSEY-2557] - [FishCat] Documentation error in Jersey
- [JERSEY-2560] - NullPointerException on IOException in FormDataParamValueFactoryProvider
- [JERSEY-2562] - Invocation.Builder#header(name, null) violates specification
- [JERSEY-2564] - Multiple media types produced from one method precedence is not honored
- [JERSEY-2571] - StringValueReader class bundled with latest jersey-common library
- [JERSEY-2574] - @PreDestroy method is not invoked on Providers
- [JERSEY-2577] - Jersey client EncodingFilter should not set Content-Encoding header in GET requests
- [JERSEY-2579] - CDI transactional interceptor does not support passivation scope
- [JERSEY-2581] - Injection into Feature does not work
- [JERSEY-2584] - Proxy-based client example uses non-existent method
Improvement
- [JERSEY-2471] - Eliminate some javac type cast warnings
- [JERSEY-2551] - Injections#generator field is hard coded to ServiceLocatorGeneratorImpl
Previous releases