Skip to content

Feign 11 Proposed Roadmap

Kevin Davis edited this page Aug 29, 2019 · 5 revisions

Roadmap

Feign 11 and beyond

Making API clients easier

Short Term - What we're working on now. ⏰

  • Response Caching
    • Support caching of api responses. Allow for user's to define under what conditions a response is eligible for caching and what type of caching mechanism should be used.
    • Support in-memory caching and external cache implementations (EhCache, Google, Spring, etc...)
  • Complete URI Template expression support
  • Logger API refactor
    • Refactor the Logger API to adhere closer to frameworks like SLF4J providing a common mental model for logging within Feign. This model will be used by Feign itself throughout and provide clearer direction on how the Logger will be used.
  • Retry API refactor
    • Refactor the Retry API to support user-supplied conditions and better control over back-off policies.

Medium Term - What's up next. ⏲

  • Metric API
    • Provide a first-class Metrics API that user's can tap into to gain insight into the request/response lifecycle. Possibly provide better OpenTracing support.
  • Async execution support via CompletableFuture
    • Allow for Future chaining and executor management for the request/response lifecycle. Implementation will likely require non-backward-compatible breaking changes. However this feature is required before Reactive execution can be considered.
  • Reactive execution support via Reactive Streams
    • For JDK 9+, consider a native implementation that uses java.util.concurrent.Flow.
    • Support for Project Reactor and RxJava 2+ implementations on JDK 8.

Long Term - The future ☁️

  • Additional Circuit Breaker Support.
    • Support additional Circuit Breaker implementations like Resilience4J and Spring Circuit Breaker