- Support binary request and response bodies.
- Add
BasicAuthRequestInterceptor
- Add Jackson integration
- Split
GsonCodec
intoGsonEncoder
andGsonDecoder
, which are easy to use withFeign.Builder
- Deprecate
GsonCodec
- Update to Ribbon 0.2.3
- Support usage of
GsonCodec
viaFeign.Builder
- Correctly handle IOExceptions wrapped by Ribbon.
- Miscellaneous findbugs fixes.
Decoder.decode()
is no longer called forResponse
orvoid
types.
- Remove support for Observable methods.
- Use single non-generic Decoder/Encoder instead of sets of type-specific Decoders/Encoders.
- Decoders/Encoders are now more flexible, having access to the Response/RequestTemplate respectively.
- Moved SaxDecoder into
feign-sax
dependency.- SaxDecoder now decodes multiple types.
- Remove pattern decoders in favor of SaxDecoder.
- Added Feign.Builder to simplify client customizations without using Dagger.
- Gson type adapters can be registered as Dagger set bindings.
Feign.create(...)
now requires specifying an encoder and decoder.
- Fix NullPointerException on calling equals and hashCode.
- Support overriding default HostnameVerifier.
- Support GZIP content encoding for request bodies.
- Support Iterable args for query parameters.
- Support urls which have query parameters.
- Add ability to configure zero or more RequestInterceptors.
- Remove
overrides = true
on codec modules.
- Document and enforce JAX-RS annotation processing from server POV
- Skip query template parameters when corresponding java arg is null
- update to dagger 1.1
- Add wikipedia search example
- Allow
@Path
on types in feign-jaxrs
- Support RxJava-style Observers.
- Return type can be
Observable<T>
for an async equiv ofIterable<T>
. Observer<T>
replacesIncrementalCallback<T>
and is passed toObservable.subscribe()
.- On
Subscription.unsubscribe()
,Observer.onNext()
will stop being called.
- Return type can be
- Log when an http request is retried or a response fails due to an IOException.
- Added support for asynchronous callbacks via
IncrementalCallback<T>
andIncrementalDecoder.TextStream<T>
. - Wire is now Logger, with configurable Logger.Level.
- Added
feign-gson
codec, used vianew GsonModule()
- changed codec to be similar to WebSocket JSR 356
- Decoder is now
Decoder.TextStream<T>
- BodyEncoder is now
Encoder.Text<T>
- FormEncoder is now
Encoder.Text<Map<String, ?>>
- Decoder is now
- Encoder and Decoders are specified via
Provides.Type.SET
binding. - Default Encoder and Form Encoder is
Encoder.Text<Object>
- Default Decoder is
Decoder.TextStream<Object>
- ErrorDecoder now returns Exception, not fallback.
- There can only be one
ErrorDecoder
andRequest.Options
binding now.
- removes guava and jax-rs dependencies
- adds JAX-RS integration
- adds Ribbon integration
- adds cli example
- exponential backoff customizable via Retryer.Default ctor
- Initial open source release