Skip to content

chore: update feign monorepo to v13.17 - #140

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/feign-monorepo
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/feign-monorepo

Conversation

@renovate

@renovate renovate Bot commented Aug 19, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
io.github.openfeign:feign-java11 13.13 → 13.17 age confidence
io.github.openfeign:feign-slf4j 13.13 → 13.17 age confidence
io.github.openfeign:feign-jackson3 13.13 → 13.17 age confidence
io.github.openfeign:feign-core 13.13 → 13.17 age confidence

Release Notes

openfeign/feign (io.github.openfeign:feign-java11)

v13.17

Compare Source

  • Request now accepts a null Request.Body and treats it as "no body", instead of throwing a
    NullPointerException from body(), charset(), isBinary() and length(). A request with no
    body reports a null body and charset, is binary, and has length 0. Its toString() prints the
    request line and headers without a body (#​1210).
  • Form encoders can process primitive array fields without failing on an Object[] cast.
    URL-encoded fields use the request's CollectionFormat. In multipart requests, numeric and
    boolean arrays create repeated parts, and byte[] values stay as one binary part. Multipart
    char[] values are still passed to the delegate encoder (#​3607).

v13.16

Compare Source

  • Path-style expansion repeats the entry name for each collection or array value inside a map,
    instead of encoding Object.toString(). A list value expands as ;colours=red;colours=blue
    rather than a bracketed list, and an array no longer puts its identity hash in the URL (#​3584).
  • Simple and path-style expansion skip map entries where the value is null. This works the same
    way as skipping a null element in an iterable. It no longer throws a NullPointerException.
  • New experimental decodeErrorResponses() builder option decodes a 4xx/5xx response body into the
    method's return type instead of throwing, for APIs that report failures in a response envelope
    (#​3559). 404, void methods, bodies that are missing, empty or over 8 KiB, and retryable errors
    still throw.

v13.15

Compare Source

  • GsonEncoder serializes request bodies using the runtime type when the declared body type is a
    raw Class, so subclass fields on an abstract @RequestBody type are included. Parameterized
    types (TypeToken / generics) still use the declared type (#​2485).

v13.14

Compare Source

  • Add @Experimental MultiEncoder, PredicatedEncoder and EncoderPredicate, letting a single
    client route each request to the right encoder. Encoders declare what they can handle by
    implementing PredicatedEncoder; anything else is paired with a predicate via
    PredicatedEncoder.of(predicate, encoder) or MultiEncoder.builder(). Encoders are consulted in
    the order given and a request nothing accepts fails with an EncodeException naming what was
    tried, so a default is an encoder guarded by EncoderPredicate.any() listed last. FormEncoder
    and SpringFormEncoder gain createPredicatedFormEncoder(), a delegate-free flavour that can
    take part. The first-party JSON encoders (Gson, Jackson, Jackson 3, Jackson Jr, Jackson JAXB,
    Moshi, Fastjson2, JSON-java) and XML encoders (JAXB, JAXB Jakarta, SOAP, SOAP Jakarta) now declare
    themselves, and the metrics modules' MeteredEncoder forwards canEncode to the encoder it
    wraps. The Encoder interface is unchanged, so existing encoders keep working (#​3485).
  • Add @Experimental MultiDecoder, PredicatedDecoder and DecoderPredicate, the decode-side
    counterpart, letting a single client route each response to the right decoder. Decoders declare
    what they can handle by implementing PredicatedDecoder; anything else is paired with a predicate
    via PredicatedDecoder.of(predicate, decoder) or MultiDecoder.builder(). Decoders are consulted
    in the order given and a response nothing accepts fails with a DecodeException naming what was
    tried, so a default is a decoder guarded by DecoderPredicate.any() listed last. The first-party
    JSON decoders (Gson, Jackson, Jackson 3, Jackson Jr, Jackson JAXB, Moshi, Fastjson2, JSON-java)
    and XML decoders (JAXB, JAXB Jakarta, SAX, SOAP, SOAP Jakarta) now declare themselves, and
    OptionalDecoder and the metrics modules' MeteredDecoder forward canDecode to the decoder
    they wrap. The Decoder interface is unchanged, so existing decoders keep working.
  • JAXBContextFactory.withProperty is now applied when creating Unmarshallers, not only
    Marshallers. Marshaller-only properties are skipped on unmarshal (#​3056).
  • Add support for the HTTP QUERY method (RFC 10008) — safe, idempotent, and cacheable with a
    request body. HttpCacheInterceptor includes QUERY in its default cacheable set and
    incorporates a body hash into the cache key to reduce cross-body collisions.
  • Flatten feign-bom on install/deploy so importing the BOM does not pull feign-parent
    dependency management (for example Jackson) into consumer projects such as Spring Boot.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from derklaro August 19, 2026 18:37
@github-actions

github-actions Bot commented Aug 19, 2026 •

Copy link
Copy Markdown

Test Results

93 tests  ±0   84 ✅ +1   47s ⏱️ -1s
18 suites ±0    3 💤  - 1 
18 files   ±0    6 ❌ ±0 

For more details on these failures, see this check.

Results for commit 1e007da. ± Comparison against base commit 2305ae0.

♻️ This comment has been updated with latest results.

@renovate
renovate Bot force-pushed the renovate/feign-monorepo branch from e3dd0a3 to 7e2ab1a Compare August 26, 2026 20:34
@renovate
renovate Bot force-pushed the renovate/feign-monorepo branch from 7e2ab1a to 2a944ce Compare September 9, 2026 23:32
@renovate renovate Bot changed the title chore: update feign monorepo to v13.14 chore: update feign monorepo to v13.15 Sep 9, 2026
@renovate
renovate Bot force-pushed the renovate/feign-monorepo branch from 2a944ce to 4c6c7db Compare October 5, 2026 20:36
@renovate renovate Bot changed the title chore: update feign monorepo to v13.15 chore: update feign monorepo Oct 5, 2026
@renovate renovate Bot changed the title chore: update feign monorepo chore: update feign monorepo to v13.16 Oct 6, 2026
@renovate renovate Bot changed the title chore: update feign monorepo to v13.16 chore: update feign monorepo to v13.17 Oct 8, 2026
@renovate
renovate Bot force-pushed the renovate/feign-monorepo branch from 4c6c7db to 1e007da Compare October 8, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants